diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml deleted file mode 100644 index 72728ba..0000000 --- a/.github/workflows/c-cpp.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: x86-64 CI - -on: - push: - branches: [ "master" ] - pull_request: - branches: [ "master" ] - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - name: make - run: make COPTS="-DDEBUG" - - name: regressions - run: python scripts/run_regressions.py ./ucc ./tests/ diff --git a/.gitignore b/.gitignore deleted file mode 100755 index d9eab17..0000000 --- a/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -build/* -.venv/* -.cache/* -.ccls-cache/* -a.out -t.c -lexer.out diff --git a/LICENSE b/LICENSE deleted file mode 100644 index d159169..0000000 --- a/LICENSE +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. diff --git a/Makefile b/Makefile index 51f9c5b..ff1cb8e 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,20 @@ CC := gcc -CFLAGS := -Wall -O0 -fcf-protection=none -ggdb -fcompare-debug-second \ - -std=gnu17 -Wno-strict-prototypes -Wno-format -Wno-attributes -LIBS = -lm +CFLAGS := -Wall -Werror -Wextra -Wpedantic -std=gnu17 \ + -Wformat=2 -Wformat-security -Wconversion -Wshadow -Wcast-qual \ + -Wcast-align -Wlogical-op -Wmissing-declarations -Wmissing-include-dirs \ + -Wredundant-decls -Wswitch-default -Wswitch-enum -Wundef -Wno-unused \ + -Wuninitialized -Wfloat-equal -Wdouble-promotion -Wpointer-arith \ + -Wnull-dereference -Wvla -Wduplicated-cond -Wduplicated-branches \ + -Wjump-misses-init -Wstrict-prototypes -Wstringop-truncation \ + -Wmissing-prototypes -Wmissing-field-initializers -Wwrite-strings \ + -Wunreachable-code -Wstrict-overflow=5 -Wno-incompatible-pointer-types -Os +CFLAGS_DEBUG := -ggdb -fanalyzer -fsanitize=address,undefined,leak -save-temps \ + -D_FORTIFY_SOURCE=3 -fstack-protector-strong \ + -fstack-clash-protection -fstrict-aliasing -ftrivial-auto-var-init=zero \ + -fno-omit-frame-pointer -fno-common -Og -pg +COPTS := -D"_DEBUG_LOGLEVEL=3" + +LIBS := CEXT := c OBJEXT := o DEPEXT := d @@ -21,6 +34,9 @@ DEPENDS := $(patsubst $(SRCDIR)/%.$(CEXT),$(OBJDIR)/%.$(DEPEXT),$(SOURCES)) all: $(OBJDIR) $(TARGET) +debug: CFLAGS += $(CFLAGS_DEBUG) +debug: $(OBJDIR) $(TARGET) + clean: rm -rf $(OBJDIR) $(TARGET) diff --git a/README.md b/README.md deleted file mode 100644 index a62e27a..0000000 --- a/README.md +++ /dev/null @@ -1,42 +0,0 @@ -## Rationale - -[![C CI](https://github.com/unazed/ucc/actions/workflows/c-cpp.yml/badge.svg)](https://github.com/unazed/ucc/actions/workflows/c-cpp.yml) - -UCC is a hand-written implementation aiming to support the full C11 grammar -specification. -This is a hobby project with the goal to dive in head-first into compiler -theory without any solid foundation, and see where I come out by the end. - -## Building & usage - -The target is built with the Makefile build system: -``` -git clone --depth=1 https://github.com/unazed/ucc && cd ucc/ -make -``` -Then the target binary is named `ucc`, argument usage is provided by `ucc -?`. -Multiple compilation units are supported. - -## Milestones - -1. Tokenization - - Lexing - - Raw strings ([commit](https://github.com/unazed/ucc/commit/d6d57bae96cb86b295fa2e16a4465b8c5e579dc9)) - - Strings w/ encodings (UTF8, UTF16, UTF32 and wide encodings) ([commit](https://github.com/unazed/ucc/commit/d6d57bae96cb86b295fa2e16a4465b8c5e579dc9)) - - Octal/hexadecimal sequences ([commit](https://github.com/unazed/ucc/commit/6717ad5cf35923ebe64ae2685e2295794c82406d)) - - **TODO:** Universal escape sequences (unlikely to do, snorefest) - - Floating point numbers (and hexadecimal floats) ([commit](https://github.com/unazed/ucc/commit/0aee55fb8943b1dce75f41c8d99465af4fa114d6)) - - Decimal numbers ([commit](https://github.com/unazed/ucc/commit/38d2ea53cfedbc53300dbcc8fabea5aa06744cad)), - octal numbers ([commit](https://github.com/unazed/ucc/commit/92e9c9f5b7652e3e9799bc5a96b5f738bc924675)), - hexadecimal numbers ([commit](https://github.com/unazed/ucc/commit/94b3d7dc643f19171edf51309917c7ad3cd78f09)), - with suffixes supported - - Identifiers ([commit](https://github.com/unazed/ucc/commit/38d2ea53cfedbc53300dbcc8fabea5aa06744cad)) - - Unary/binary operators ([commit](https://github.com/unazed/ucc/commit/38d2ea53cfedbc53300dbcc8fabea5aa06744cad)) - - Include directives/multiline macros ([commit](https://github.com/unazed/ucc/commit/cb69a4418ba1717739580dc1678ee7337cd04f09)) - - Dumping lexer output to file ([commit](https://github.com/unazed/ucc/commit/cb69a4418ba1717739580dc1678ee7337cd04f09)) - - Rich diagnostics ([commit](https://github.com/unazed/ucc/commit/49426ceda3c1ae9c3ca8d0b2b5ec684fef77e64e)) - - Multiple translation units ([commit](https://github.com/unazed/ucc/commit/50ce08cf9e574ed28b8fe6115d52b4a630e0b62b)) - - Regression testing ([commit](https://github.com/unazed/ucc/commit/405a7089a328e0755a67f8cc0fe6967f4a8478a9)) -2. Preprocessing -3. Parsing -4. Code generation (LLVM backend) diff --git a/build/ansi-colors.d b/build/ansi-colors.d new file mode 100644 index 0000000..2c71d4a --- /dev/null +++ b/build/ansi-colors.d @@ -0,0 +1,3 @@ +build/ansi-colors.o: src/ansi-colors.c include/ansi-colors.h include/io.h +include/ansi-colors.h: +include/io.h: diff --git a/build/ansi-colors.i b/build/ansi-colors.i new file mode 100644 index 0000000..8427c30 --- /dev/null +++ b/build/ansi-colors.i @@ -0,0 +1,1345 @@ +# 0 "src/ansi-colors.c" +# 1 "/home/unazed/Programming/c/ucc-0.2.0//" +# 0 "" +# 0 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 0 "" 2 +# 1 "src/ansi-colors.c" +# 1 "include/ansi-colors.h" 1 + + +# 1 "include/io.h" 1 + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 1 3 4 +# 9 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 3 4 +# 1 "/usr/include/stdint.h" 1 3 4 +# 26 "/usr/include/stdint.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 33 "/usr/include/bits/libc-header-start.h" 3 4 +# 1 "/usr/include/features.h" 1 3 4 +# 394 "/usr/include/features.h" 3 4 +# 1 "/usr/include/features-time64.h" 1 3 4 +# 20 "/usr/include/features-time64.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 21 "/usr/include/features-time64.h" 2 3 4 +# 1 "/usr/include/bits/timesize.h" 1 3 4 +# 19 "/usr/include/bits/timesize.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/bits/timesize.h" 2 3 4 +# 22 "/usr/include/features-time64.h" 2 3 4 +# 395 "/usr/include/features.h" 2 3 4 +# 503 "/usr/include/features.h" 3 4 +# 1 "/usr/include/sys/cdefs.h" 1 3 4 +# 576 "/usr/include/sys/cdefs.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 577 "/usr/include/sys/cdefs.h" 2 3 4 +# 1 "/usr/include/bits/long-double.h" 1 3 4 +# 578 "/usr/include/sys/cdefs.h" 2 3 4 +# 504 "/usr/include/features.h" 2 3 4 +# 527 "/usr/include/features.h" 3 4 +# 1 "/usr/include/gnu/stubs.h" 1 3 4 +# 10 "/usr/include/gnu/stubs.h" 3 4 +# 1 "/usr/include/gnu/stubs-64.h" 1 3 4 +# 11 "/usr/include/gnu/stubs.h" 2 3 4 +# 528 "/usr/include/features.h" 2 3 4 +# 34 "/usr/include/bits/libc-header-start.h" 2 3 4 +# 27 "/usr/include/stdint.h" 2 3 4 +# 1 "/usr/include/bits/types.h" 1 3 4 +# 27 "/usr/include/bits/types.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 28 "/usr/include/bits/types.h" 2 3 4 +# 1 "/usr/include/bits/timesize.h" 1 3 4 +# 19 "/usr/include/bits/timesize.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/bits/timesize.h" 2 3 4 +# 29 "/usr/include/bits/types.h" 2 3 4 + + + +# 31 "/usr/include/bits/types.h" 3 4 +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; + + +typedef signed char __int8_t; +typedef unsigned char __uint8_t; +typedef signed short int __int16_t; +typedef unsigned short int __uint16_t; +typedef signed int __int32_t; +typedef unsigned int __uint32_t; + +typedef signed long int __int64_t; +typedef unsigned long int __uint64_t; + + + + + + +typedef __int8_t __int_least8_t; +typedef __uint8_t __uint_least8_t; +typedef __int16_t __int_least16_t; +typedef __uint16_t __uint_least16_t; +typedef __int32_t __int_least32_t; +typedef __uint32_t __uint_least32_t; +typedef __int64_t __int_least64_t; +typedef __uint64_t __uint_least64_t; + + + +typedef long int __quad_t; +typedef unsigned long int __u_quad_t; + + + + + + + +typedef long int __intmax_t; +typedef unsigned long int __uintmax_t; +# 141 "/usr/include/bits/types.h" 3 4 +# 1 "/usr/include/bits/typesizes.h" 1 3 4 +# 142 "/usr/include/bits/types.h" 2 3 4 +# 1 "/usr/include/bits/time64.h" 1 3 4 +# 143 "/usr/include/bits/types.h" 2 3 4 + + +typedef unsigned long int __dev_t; +typedef unsigned int __uid_t; +typedef unsigned int __gid_t; +typedef unsigned long int __ino_t; +typedef unsigned long int __ino64_t; +typedef unsigned int __mode_t; +typedef unsigned long int __nlink_t; +typedef long int __off_t; +typedef long int __off64_t; +typedef int __pid_t; +typedef struct { int __val[2]; } __fsid_t; +typedef long int __clock_t; +typedef unsigned long int __rlim_t; +typedef unsigned long int __rlim64_t; +typedef unsigned int __id_t; +typedef long int __time_t; +typedef unsigned int __useconds_t; +typedef long int __suseconds_t; +typedef long int __suseconds64_t; + +typedef int __daddr_t; +typedef int __key_t; + + +typedef int __clockid_t; + + +typedef void * __timer_t; + + +typedef long int __blksize_t; + + + + +typedef long int __blkcnt_t; +typedef long int __blkcnt64_t; + + +typedef unsigned long int __fsblkcnt_t; +typedef unsigned long int __fsblkcnt64_t; + + +typedef unsigned long int __fsfilcnt_t; +typedef unsigned long int __fsfilcnt64_t; + + +typedef long int __fsword_t; + +typedef long int __ssize_t; + + +typedef long int __syscall_slong_t; + +typedef unsigned long int __syscall_ulong_t; + + + +typedef __off64_t __loff_t; +typedef char *__caddr_t; + + +typedef long int __intptr_t; + + +typedef unsigned int __socklen_t; + + + + +typedef int __sig_atomic_t; +# 28 "/usr/include/stdint.h" 2 3 4 +# 1 "/usr/include/bits/wchar.h" 1 3 4 +# 29 "/usr/include/stdint.h" 2 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 30 "/usr/include/stdint.h" 2 3 4 + + + + +# 1 "/usr/include/bits/stdint-intn.h" 1 3 4 +# 24 "/usr/include/bits/stdint-intn.h" 3 4 +typedef __int8_t int8_t; +typedef __int16_t int16_t; +typedef __int32_t int32_t; +typedef __int64_t int64_t; +# 35 "/usr/include/stdint.h" 2 3 4 + + +# 1 "/usr/include/bits/stdint-uintn.h" 1 3 4 +# 24 "/usr/include/bits/stdint-uintn.h" 3 4 +typedef __uint8_t uint8_t; +typedef __uint16_t uint16_t; +typedef __uint32_t uint32_t; +typedef __uint64_t uint64_t; +# 38 "/usr/include/stdint.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdint-least.h" 1 3 4 +# 25 "/usr/include/bits/stdint-least.h" 3 4 +typedef __int_least8_t int_least8_t; +typedef __int_least16_t int_least16_t; +typedef __int_least32_t int_least32_t; +typedef __int_least64_t int_least64_t; + + +typedef __uint_least8_t uint_least8_t; +typedef __uint_least16_t uint_least16_t; +typedef __uint_least32_t uint_least32_t; +typedef __uint_least64_t uint_least64_t; +# 42 "/usr/include/stdint.h" 2 3 4 + + + + + +typedef signed char int_fast8_t; + +typedef long int int_fast16_t; +typedef long int int_fast32_t; +typedef long int int_fast64_t; +# 60 "/usr/include/stdint.h" 3 4 +typedef unsigned char uint_fast8_t; + +typedef unsigned long int uint_fast16_t; +typedef unsigned long int uint_fast32_t; +typedef unsigned long int uint_fast64_t; +# 76 "/usr/include/stdint.h" 3 4 +typedef long int intptr_t; + + +typedef unsigned long int uintptr_t; +# 90 "/usr/include/stdint.h" 3 4 +typedef __intmax_t intmax_t; +typedef __uintmax_t uintmax_t; +# 10 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 2 3 4 +# 4 "include/io.h" 2 +# 1 "/usr/include/stdio.h" 1 3 4 +# 28 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 29 "/usr/include/stdio.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 214 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 +typedef long unsigned int size_t; +# 35 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdarg.h" 1 3 4 +# 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdarg.h" 3 4 +typedef __builtin_va_list __gnuc_va_list; +# 38 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/include/bits/types/__fpos_t.h" 1 3 4 + + + + +# 1 "/usr/include/bits/types/__mbstate_t.h" 1 3 4 +# 13 "/usr/include/bits/types/__mbstate_t.h" 3 4 +typedef struct +{ + int __count; + union + { + unsigned int __wch; + char __wchb[4]; + } __value; +} __mbstate_t; +# 6 "/usr/include/bits/types/__fpos_t.h" 2 3 4 + + + + +typedef struct _G_fpos_t +{ + __off_t __pos; + __mbstate_t __state; +} __fpos_t; +# 41 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/__fpos64_t.h" 1 3 4 +# 10 "/usr/include/bits/types/__fpos64_t.h" 3 4 +typedef struct _G_fpos64_t +{ + __off64_t __pos; + __mbstate_t __state; +} __fpos64_t; +# 42 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/__FILE.h" 1 3 4 + + + +struct _IO_FILE; +typedef struct _IO_FILE __FILE; +# 43 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/FILE.h" 1 3 4 + + + +struct _IO_FILE; + + +typedef struct _IO_FILE FILE; +# 44 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/struct_FILE.h" 1 3 4 +# 35 "/usr/include/bits/types/struct_FILE.h" 3 4 +struct _IO_FILE; +struct _IO_marker; +struct _IO_codecvt; +struct _IO_wide_data; + + + + +typedef void _IO_lock_t; + + + + + +struct _IO_FILE +{ + int _flags; + + + char *_IO_read_ptr; + char *_IO_read_end; + char *_IO_read_base; + char *_IO_write_base; + char *_IO_write_ptr; + char *_IO_write_end; + char *_IO_buf_base; + char *_IO_buf_end; + + + char *_IO_save_base; + char *_IO_backup_base; + char *_IO_save_end; + + struct _IO_marker *_markers; + + struct _IO_FILE *_chain; + + int _fileno; + int _flags2; + __off_t _old_offset; + + + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + + _IO_lock_t *_lock; + + + + + + + + __off64_t _offset; + + struct _IO_codecvt *_codecvt; + struct _IO_wide_data *_wide_data; + struct _IO_FILE *_freeres_list; + void *_freeres_buf; + size_t __pad5; + int _mode; + + char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; +}; +# 45 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/include/bits/types/cookie_io_functions_t.h" 1 3 4 +# 27 "/usr/include/bits/types/cookie_io_functions_t.h" 3 4 +typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf, + size_t __nbytes); + + + + + + + +typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf, + size_t __nbytes); + + + + + + + +typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w); + + +typedef int cookie_close_function_t (void *__cookie); + + + + + + +typedef struct _IO_cookie_io_functions_t +{ + cookie_read_function_t *read; + cookie_write_function_t *write; + cookie_seek_function_t *seek; + cookie_close_function_t *close; +} cookie_io_functions_t; +# 48 "/usr/include/stdio.h" 2 3 4 + + + + + +typedef __gnuc_va_list va_list; +# 64 "/usr/include/stdio.h" 3 4 +typedef __off_t off_t; +# 78 "/usr/include/stdio.h" 3 4 +typedef __ssize_t ssize_t; + + + + + + +typedef __fpos_t fpos_t; +# 129 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/stdio_lim.h" 1 3 4 +# 130 "/usr/include/stdio.h" 2 3 4 +# 149 "/usr/include/stdio.h" 3 4 +extern FILE *stdin; +extern FILE *stdout; +extern FILE *stderr; + + + + + + +extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); + +extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int renameat (int __oldfd, const char *__old, int __newfd, + const char *__new) __attribute__ ((__nothrow__ , __leaf__)); +# 184 "/usr/include/stdio.h" 3 4 +extern int fclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 194 "/usr/include/stdio.h" 3 4 +extern FILE *tmpfile (void) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); +# 211 "/usr/include/stdio.h" 3 4 +extern char *tmpnam (char[20]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + +extern char *tmpnam_r (char __s[20]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +# 228 "/usr/include/stdio.h" 3 4 +extern char *tempnam (const char *__dir, const char *__pfx) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__malloc__ (__builtin_free, 1))); + + + + + + +extern int fflush (FILE *__stream); +# 245 "/usr/include/stdio.h" 3 4 +extern int fflush_unlocked (FILE *__stream); +# 264 "/usr/include/stdio.h" 3 4 +extern FILE *fopen (const char *__restrict __filename, + const char *__restrict __modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *freopen (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (3))); +# 299 "/usr/include/stdio.h" 3 4 +extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + + +extern FILE *fopencookie (void *__restrict __magic_cookie, + const char *__restrict __modes, + cookie_io_functions_t __io_funcs) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); +# 334 "/usr/include/stdio.h" 3 4 +extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__nonnull__ (1))); + + + +extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, + size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int fprintf (FILE *__restrict __stream, + const char *__restrict __format, ...) __attribute__ ((__nonnull__ (1))); + + + + +extern int printf (const char *__restrict __format, ...); + +extern int sprintf (char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__)); + + + + + +extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nonnull__ (1))); + + + + +extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); + +extern int vsprintf (char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nothrow__)); + + + +extern int snprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); + +extern int vsnprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); + + + + + +extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, + __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__)); +extern int __asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); +extern int asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); + + + + +extern int vdprintf (int __fd, const char *__restrict __fmt, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 2, 0))); +extern int dprintf (int __fd, const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); + + + + + + + +extern int fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); + +extern int sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +# 1 "/usr/include/bits/floatn.h" 1 3 4 +# 119 "/usr/include/bits/floatn.h" 3 4 +# 1 "/usr/include/bits/floatn-common.h" 1 3 4 +# 24 "/usr/include/bits/floatn-common.h" 3 4 +# 1 "/usr/include/bits/long-double.h" 1 3 4 +# 25 "/usr/include/bits/floatn-common.h" 2 3 4 +# 120 "/usr/include/bits/floatn.h" 2 3 4 +# 438 "/usr/include/stdio.h" 2 3 4 +# 463 "/usr/include/stdio.h" 3 4 +extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") + + __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") + __attribute__ ((__warn_unused_result__)); +extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__)) + + ; +# 490 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); + + +extern int vsscanf (const char *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); +# 540 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") + + + + __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") + + __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); +extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__format__ (__scanf__, 2, 0))); +# 575 "/usr/include/stdio.h" 3 4 +extern int fgetc (FILE *__stream) __attribute__ ((__nonnull__ (1))); +extern int getc (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + + + + +extern int getchar (void); + + + + + + +extern int getc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); +extern int getchar_unlocked (void); +# 600 "/usr/include/stdio.h" 3 4 +extern int fgetc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 611 "/usr/include/stdio.h" 3 4 +extern int fputc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); +extern int putc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + +extern int putchar (int __c); +# 627 "/usr/include/stdio.h" 3 4 +extern int fputc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + + +extern int putc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); +extern int putchar_unlocked (int __c); + + + + + + +extern int getw (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + +extern int putw (int __w, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + + +extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1))) __attribute__ ((__nonnull__ (3))); +# 694 "/usr/include/stdio.h" 3 4 +extern __ssize_t __getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))); +extern __ssize_t getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))); + + + + + + + +extern __ssize_t getline (char **__restrict __lineptr, + size_t *__restrict __n, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (3))); + + + + + + + +extern int fputs (const char *__restrict __s, FILE *__restrict __stream) + __attribute__ ((__nonnull__ (2))); + + + + + +extern int puts (const char *__s); + + + + + + +extern int ungetc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + +extern size_t fread (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__nonnull__ (4))); + + + + +extern size_t fwrite (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __s) __attribute__ ((__nonnull__ (4))); +# 766 "/usr/include/stdio.h" 3 4 +extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__nonnull__ (4))); +extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) + __attribute__ ((__nonnull__ (4))); + + + + + + + +extern int fseek (FILE *__stream, long int __off, int __whence) + __attribute__ ((__nonnull__ (1))); + + + + +extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern void rewind (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 803 "/usr/include/stdio.h" 3 4 +extern int fseeko (FILE *__stream, __off_t __off, int __whence) + __attribute__ ((__nonnull__ (1))); + + + + +extern __off_t ftello (FILE *__stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +# 829 "/usr/include/stdio.h" 3 4 +extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) + __attribute__ ((__nonnull__ (1))); + + + + +extern int fsetpos (FILE *__stream, const fpos_t *__pos) __attribute__ ((__nonnull__ (1))); +# 860 "/usr/include/stdio.h" 3 4 +extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + +extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + +extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern void perror (const char *__s) __attribute__ ((__cold__)); + + + + +extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +# 897 "/usr/include/stdio.h" 3 4 +extern int pclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + + + + +extern FILE *popen (const char *__command, const char *__modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + + + +extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))); +# 941 "/usr/include/stdio.h" 3 4 +extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + +extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 959 "/usr/include/stdio.h" 3 4 +extern int __uflow (FILE *); +extern int __overflow (FILE *, int); + + + +# 1 "/usr/include/bits/stdio2-decl.h" 1 3 4 +# 26 "/usr/include/bits/stdio2-decl.h" 3 4 +extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))); +extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + ...) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 2))); +extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 2))); + + + + + +extern int __fprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, ...) + __attribute__ ((__nonnull__ (1))); +extern int __printf_chk (int __flag, const char *__restrict __format, ...); +extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nonnull__ (1))); +extern int __vprintf_chk (int __flag, const char *__restrict __format, + __gnuc_va_list __ap); + + +extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt, + ...) __attribute__ ((__format__ (__printf__, 3, 4))); +extern int __vdprintf_chk (int __fd, int __flag, + const char *__restrict __fmt, __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 3, 0))); +# 96 "/usr/include/bits/stdio2-decl.h" 3 4 +extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets") + + + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2))); +extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk") + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer"))) + ; + +extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, + FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__nonnull__ (4))); + +extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread") + + + __attribute__ ((__warn_unused_result__)); +extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk") + + + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer"))) + ; + +extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (5))); +# 145 "/usr/include/bits/stdio2-decl.h" 3 4 +extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked") + + + __attribute__ ((__warn_unused_result__)); +extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk") + + + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer"))) + ; + +extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (5))); +# 965 "/usr/include/stdio.h" 2 3 4 +# 976 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/stdio.h" 1 3 4 +# 46 "/usr/include/bits/stdio.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +getchar (void) +{ + return getc (stdin); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +fgetc_unlocked (FILE *__fp) +{ + return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +} + + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +getc_unlocked (FILE *__fp) +{ + return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +getchar_unlocked (void) +{ + return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +putchar (int __c) +{ + return putc (__c, stdout); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +fputc_unlocked (int __c, FILE *__stream) +{ + return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); +} + + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +putc_unlocked (int __c, FILE *__stream) +{ + return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +putchar_unlocked (int __c) +{ + return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); +} +# 127 "/usr/include/bits/stdio.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) feof_unlocked (FILE *__stream) +{ + return (((__stream)->_flags & 0x0010) != 0); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) ferror_unlocked (FILE *__stream) +{ + return (((__stream)->_flags & 0x0020) != 0); +} +# 977 "/usr/include/stdio.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdio2.h" 1 3 4 +# 27 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) +{ + return __builtin___sprintf_chk (__s, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, + __builtin_va_arg_pack ()); +} + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) + +{ + return __builtin___vsprintf_chk (__s, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, __ap); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) + +{ + return __builtin___snprintf_chk (__s, __n, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, + __builtin_va_arg_pack ()); +} + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) + +{ + return __builtin___vsnprintf_chk (__s, __n, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, __ap); +} + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) int +fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...) +{ + return __fprintf_chk (__stream, 3 - 1, __fmt, + __builtin_va_arg_pack ()); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +printf (const char *__restrict __fmt, ...) +{ + return __printf_chk (3 - 1, __fmt, __builtin_va_arg_pack ()); +} + + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +vprintf (const char *__restrict __fmt, __gnuc_va_list __ap) +{ + + return __vfprintf_chk (stdout, 3 - 1, __fmt, __ap); + + + +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) int +vfprintf (FILE *__restrict __stream, + const char *__restrict __fmt, __gnuc_va_list __ap) +{ + return __vfprintf_chk (__stream, 3 - 1, __fmt, __ap); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +dprintf (int __fd, const char *__restrict __fmt, ...) +{ + return __dprintf_chk (__fd, 3 - 1, __fmt, + __builtin_va_arg_pack ()); +} + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap) +{ + return __vdprintf_chk (__fd, 3 - 1, __fmt, __ap); +} +# 194 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1))) +__attribute__ ((__nonnull__ (3))) char * +fgets (char *__restrict __s, int __n, FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__s, 1); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))) && (((long unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))))) + return __fgets_alias (__s, __n, __stream); + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (sizeof (char)))) && !(((long unsigned int) (__n)) <= (sz) / (sizeof (char))))) + return __fgets_chk_warn (__s, sz, __n, __stream); + return __fgets_chk (__s, sz, __n, __stream); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))) size_t +fread (void *__restrict __ptr, size_t __size, size_t __n, + FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__ptr, 0); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((long unsigned int) (__n)) <= ((sz)) / ((__size)))))) + return __fread_alias (__ptr, __size, __n, __stream); + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (__size))) && !(((long unsigned int) (__n)) <= (sz) / (__size)))) + return __fread_chk_warn (__ptr, sz, __size, __n, __stream); + return __fread_chk (__ptr, sz, __size, __n, __stream); +} +# 234 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))) size_t +fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, + FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__ptr, 0); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((long unsigned int) (__n)) <= ((sz)) / ((__size)))))) + { + + if (__builtin_constant_p (__size) + && __builtin_constant_p (__n) + && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2)) + && __size * __n <= 8) + { + size_t __cnt = __size * __n; + char *__cptr = (char *) __ptr; + if (__cnt == 0) + return 0; + + for (; __cnt > 0; --__cnt) + { + int __c = getc_unlocked (__stream); + if (__c == (-1)) + break; + *__cptr++ = __c; + } + return (__cptr - (char *) __ptr) / __size; + } + + return __fread_unlocked_alias (__ptr, __size, __n, __stream); + } + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (__size))) && !(((long unsigned int) (__n)) <= (sz) / (__size)))) + return __fread_unlocked_chk_warn (__ptr, sz, __size, __n, __stream); + return __fread_unlocked_chk (__ptr, sz, __size, __n, __stream); + +} +# 981 "/usr/include/stdio.h" 2 3 4 + + + +# 5 "include/io.h" 2 + + +# 6 "include/io.h" +typedef FILE* fptr_t; + +typedef struct +{ + fptr_t ptr; + uint8_t* buffer; + const char* path; + size_t size; +} *memstream_t; + +__attribute__((warn_unused_result, nonnull)) +fptr_t io_open_file (const char* filename, const char* mode); + +__attribute__((warn_unused_result, nonnull)) +uint8_t* io_alloc_file_buffer (fptr_t file); + +__attribute__((nonnull (1, 2))) +size_t io_read_file_into_buffer (fptr_t file, uint8_t* const buffer, uint64_t buffer_size); + +__attribute__((nonnull (1), warn_unused_result)) +memstream_t io_read_file_into_memstream (fptr_t file, const char* const path); + +__attribute__((nonnull)) +void io_free_memstream (memstream_t stream); + +__attribute__((nonnull)) +void io_close_file (fptr_t file); +# 4 "include/ansi-colors.h" 2 +# 34 "include/ansi-colors.h" +void cprintf (const char* ccode, const char* fmt, ...); + +__attribute__((nonnull (1))) +void cfprintf (fptr_t file, const char* ccode, const char* fmt, ...); +# 2 "src/ansi-colors.c" 2 + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdarg.h" 1 3 4 +# 5 "src/ansi-colors.c" 2 + +void +cfprintf (fptr_t file, const char* ccode, const char* fmt, ...) +{ + fprintf (file, "%s", ccode); + va_list args; + +# 11 "src/ansi-colors.c" 3 4 + __builtin_va_start( +# 11 "src/ansi-colors.c" + args +# 11 "src/ansi-colors.c" 3 4 + , +# 11 "src/ansi-colors.c" + fmt +# 11 "src/ansi-colors.c" 3 4 + ) +# 11 "src/ansi-colors.c" + ; +#pragma GCC diagnostic ignored "-Wformat-nonliteral" +#pragma GCC diagnostic push + vfprintf (file, fmt, args); +#pragma GCC diagnostic pop + +# 16 "src/ansi-colors.c" 3 4 + __builtin_va_end( +# 16 "src/ansi-colors.c" + args +# 16 "src/ansi-colors.c" 3 4 + ) +# 16 "src/ansi-colors.c" + ; + fprintf (file, "\033[0m"); +} + +void +cprintf (const char* ccode, const char* fmt, ...) +{ + va_list args; + +# 24 "src/ansi-colors.c" 3 4 + __builtin_va_start( +# 24 "src/ansi-colors.c" + args +# 24 "src/ansi-colors.c" 3 4 + , +# 24 "src/ansi-colors.c" + fmt +# 24 "src/ansi-colors.c" 3 4 + ) +# 24 "src/ansi-colors.c" + ; + cfprintf ( +# 25 "src/ansi-colors.c" 3 4 + stdout +# 25 "src/ansi-colors.c" + , ccode, fmt, args); + +# 26 "src/ansi-colors.c" 3 4 + __builtin_va_end( +# 26 "src/ansi-colors.c" + args +# 26 "src/ansi-colors.c" 3 4 + ) +# 26 "src/ansi-colors.c" + ; +} diff --git a/build/ansi-colors.o b/build/ansi-colors.o new file mode 100644 index 0000000..3708e1f Binary files /dev/null and b/build/ansi-colors.o differ diff --git a/build/ansi-colors.s b/build/ansi-colors.s new file mode 100644 index 0000000..7e2cb5b --- /dev/null +++ b/build/ansi-colors.s @@ -0,0 +1,2345 @@ + .file "ansi-colors.c" + .text +.Ltext0: + .file 0 "/home/unazed/Programming/c/ucc-0.2.0" "src/ansi-colors.c" + .globl __asan_stack_malloc_1 + .section .rodata.str1.1,"aMS",@progbits,1 +.LC0: + .string "1 32 24 7 args:10" + .section .rodata + .align 32 +.LC1: + .string "\033[0m" + .zero 59 + .text + .globl cfprintf + .type cfprintf, @function +cfprintf: +.LASANPC23: +.LVL0: +.LFB23: + .file 1 "src/ansi-colors.c" + .loc 1 8 1 view -0 + .cfi_startproc + .loc 1 8 1 is_stmt 0 view .LVU1 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $328, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %r14 + movq %rsi, -368(%rbp) + movq %rdx, %r15 + movq %rcx, -200(%rbp) + movq %r8, -192(%rbp) + movq %r9, -184(%rbp) + testb %al, %al + je .L5 + movaps %xmm0, -176(%rbp) + movaps %xmm1, -160(%rbp) + movaps %xmm2, -144(%rbp) + movaps %xmm3, -128(%rbp) + movaps %xmm4, -112(%rbp) + movaps %xmm5, -96(%rbp) + movaps %xmm6, -80(%rbp) + movaps %xmm7, -64(%rbp) +.L5: + leaq -352(%rbp), %rbx + movq %rbx, -360(%rbp) + cmpl $0, __asan_option_detect_stack_use_after_return(%rip) + jne .L11 +.LVL1: +.L1: + .loc 1 8 1 view .LVU2 + leaq 128(%rbx), %r12 + movq $1102416563, (%rbx) +.LVL2: + .loc 1 8 1 view .LVU3 + leaq .LC0(%rip), %rax + movq %rax, 8(%rbx) + leaq .LASANPC23(%rip), %rax + movq %rax, 16(%rbx) + movq %rbx, %r13 + shrq $3, %r13 + movl $-235802127, 2147450880(%r13) + movl $-218103808, 2147450884(%r13) + movl $-202116109, 2147450888(%r13) + .loc 1 8 1 view .LVU4 + movq %fs:40, %rax + movq %rax, -232(%rbp) + xorl %eax, %eax + .loc 1 9 3 is_stmt 1 view .LVU5 +.LVL3: +.LBB8: +.LBI8: + .file 2 "/usr/include/bits/stdio2.h" + .loc 2 77 1 view .LVU6 +.LBB9: + .loc 2 79 3 view .LVU7 + .loc 2 79 10 is_stmt 0 view .LVU8 + movq %r14, %rsi + movq -368(%rbp), %rdi + call fputs@PLT +.LVL4: + .loc 2 79 10 view .LVU9 +.LBE9: +.LBE8: + .loc 1 10 3 is_stmt 1 view .LVU10 + .loc 1 10 11 is_stmt 0 discriminator 1 view .LVU11 + leaq 32(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %ecx + leaq 55(%rbx), %rax + movq %rax, %rdx + shrq $3, %rdx + movzbl 2147450880(%rdx), %edx + andl $7, %eax + cmpb %al, %dl + setle %sil + testb %dl, %dl + setne %al + testb %al, %sil + jne .L10 + testb %cl, %cl + setne %dl + setle %al + testb %al, %dl + jne .L10 + pxor %xmm0, %xmm0 + movups %xmm0, -96(%r12) + movq $0, -80(%r12) + .loc 1 11 2 is_stmt 1 view .LVU12 + movl $24, -96(%r12) + movl $48, -92(%r12) + leaq 16(%rbp), %rax + movq %rax, -88(%r12) + leaq -224(%rbp), %rax + movq %rax, -80(%r12) + .loc 1 14 3 view .LVU13 + testq %r15, %r15 + je .L12 +.L8: +.LVL5: +.LBB10: +.LBI10: + .loc 2 106 1 view .LVU14 +.LBB11: + .loc 2 109 3 view .LVU15 + .loc 2 109 10 is_stmt 0 view .LVU16 + leaq -96(%r12), %rcx +.LVL6: + .loc 2 109 10 view .LVU17 + movq %r15, %rdx + movl $2, %esi + movq %r14, %rdi + call __vfprintf_chk@PLT +.LVL7: + .loc 2 109 10 view .LVU18 +.LBE11: +.LBE10: + .loc 1 16 2 is_stmt 1 view .LVU19 + .loc 1 17 3 view .LVU20 +.LBB12: +.LBI12: + .loc 2 77 1 view .LVU21 +.LBB13: + .loc 2 79 3 view .LVU22 + .loc 2 79 10 is_stmt 0 view .LVU23 + movq %r14, %rcx + movl $4, %edx + movl $1, %esi + leaq .LC1(%rip), %rdi + call fwrite@PLT +.LVL8: + .loc 2 79 10 view .LVU24 +.LBE13: +.LBE12: + .loc 1 8 1 view .LVU25 + cmpq %rbx, -360(%rbp) + jne .L13 + movq $0, 2147450880(%r13) + movl $0, 2147450888(%r13) +.L3: + .loc 1 18 1 view .LVU26 + movq -232(%rbp), %rax + subq %fs:40, %rax + jne .L14 + addq $328, %rsp + popq %rbx + popq %r12 + popq %r13 + popq %r14 +.LVL9: + .loc 1 18 1 view .LVU27 + popq %r15 +.LVL10: + .loc 1 18 1 view .LVU28 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL11: +.L11: + .cfi_restore_state + .loc 1 8 1 view .LVU29 + movl $96, %edi +.LVL12: + .loc 1 8 1 view .LVU30 + call __asan_stack_malloc_1@PLT +.LVL13: + .loc 1 8 1 view .LVU31 + testq %rax, %rax + je .L1 + movq %rax, %rbx + jmp .L1 +.LVL14: +.L10: + .loc 1 10 11 discriminator 1 view .LVU32 + movl $24, %esi + call __asan_report_store_n@PLT +.LVL15: +.L12: + .loc 1 14 3 view .LVU33 + leaq .Lubsan_data16(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL16: + jmp .L8 +.L13: + .loc 1 8 1 view .LVU34 + movq $1172321806, (%rbx) + movabsq $-723401728380766731, %rax + movq %rax, 2147450880(%r13) + movl $-168430091, 2147450888(%r13) + movq 120(%rbx), %rax + movb $0, (%rax) + jmp .L3 +.L14: + .loc 1 18 1 view .LVU35 + call __stack_chk_fail@PLT +.LVL17: + .cfi_endproc +.LFE23: + .size cfprintf, .-cfprintf + .section .rodata.str1.1 +.LC2: + .string "1 32 24 7 args:23" + .text + .globl cprintf + .type cprintf, @function +cprintf: +.LASANPC24: +.LVL18: +.LFB24: + .loc 1 22 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 22 1 is_stmt 0 view .LVU37 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $328, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, -360(%rbp) + movq %rsi, -368(%rbp) + movq %rdx, -208(%rbp) + movq %rcx, -200(%rbp) + movq %r8, -192(%rbp) + movq %r9, -184(%rbp) + testb %al, %al + je .L19 + movaps %xmm0, -176(%rbp) + movaps %xmm1, -160(%rbp) + movaps %xmm2, -144(%rbp) + movaps %xmm3, -128(%rbp) + movaps %xmm4, -112(%rbp) + movaps %xmm5, -96(%rbp) + movaps %xmm6, -80(%rbp) + movaps %xmm7, -64(%rbp) +.L19: + leaq -352(%rbp), %rbx + movq %rbx, %r15 + cmpl $0, __asan_option_detect_stack_use_after_return(%rip) + jne .L26 +.LVL19: +.L15: + .loc 1 22 1 view .LVU38 + leaq 128(%rbx), %r12 + movq $1102416563, (%rbx) +.LVL20: + .loc 1 22 1 view .LVU39 + leaq .LC2(%rip), %rax + movq %rax, 8(%rbx) + leaq .LASANPC24(%rip), %rax + movq %rax, 16(%rbx) + movq %rbx, %r13 + shrq $3, %r13 + movl $-235802127, 2147450880(%r13) + movl $-218103808, 2147450884(%r13) + movl $-202116109, 2147450888(%r13) + .loc 1 22 1 view .LVU40 + movq %fs:40, %rax + movq %rax, -232(%rbp) + xorl %eax, %eax + .loc 1 23 3 is_stmt 1 view .LVU41 + .loc 1 23 11 is_stmt 0 discriminator 1 view .LVU42 + leaq 32(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %ecx + leaq 55(%rbx), %rax + movq %rax, %rdx + shrq $3, %rdx + movzbl 2147450880(%rdx), %edx + andl $7, %eax + cmpb %al, %dl + setle %sil + testb %dl, %dl + setne %al + testb %al, %sil + jne .L25 + testb %cl, %cl + setne %dl + setle %al + testb %al, %dl + jne .L25 + pxor %xmm0, %xmm0 + movups %xmm0, -96(%r12) + movq $0, -80(%r12) + .loc 1 24 2 is_stmt 1 view .LVU43 + movl $16, -96(%r12) + movl $48, -92(%r12) + leaq 16(%rbp), %rax + movq %rax, -88(%r12) + leaq -224(%rbp), %rax + movq %rax, -80(%r12) + .loc 1 25 3 view .LVU44 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L27 + movq stdout(%rip), %r14 + testq %r14, %r14 + je .L28 +.L23: + leaq -96(%r12), %rcx + movq -368(%rbp), %rdx + movq -360(%rbp), %rsi + movq %r14, %rdi + movl $0, %eax + call cfprintf +.LVL21: + .loc 1 26 2 view .LVU45 + .loc 1 22 1 is_stmt 0 view .LVU46 + cmpq %rbx, %r15 + jne .L29 + movq $0, 2147450880(%r13) + movl $0, 2147450888(%r13) +.L17: + .loc 1 27 1 view .LVU47 + movq -232(%rbp), %rax + subq %fs:40, %rax + jne .L30 + addq $328, %rsp + popq %rbx + popq %r12 + popq %r13 + popq %r14 + popq %r15 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL22: +.L26: + .cfi_restore_state + .loc 1 22 1 view .LVU48 + movl $96, %edi +.LVL23: + .loc 1 22 1 view .LVU49 + call __asan_stack_malloc_1@PLT +.LVL24: + .loc 1 22 1 view .LVU50 + testq %rax, %rax + je .L15 + movq %rax, %rbx + jmp .L15 +.LVL25: +.L25: + .loc 1 23 11 discriminator 1 view .LVU51 + movl $24, %esi + call __asan_report_store_n@PLT +.LVL26: +.L27: + .loc 1 25 3 view .LVU52 + call __asan_report_load8@PLT +.LVL27: +.L28: + leaq .Lubsan_data19(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL28: + jmp .L23 +.L29: + .loc 1 22 1 view .LVU53 + movq $1172321806, (%rbx) + movabsq $-723401728380766731, %rax + movq %rax, 2147450880(%r13) + movl $-168430091, 2147450888(%r13) + movq 120(%rbx), %rax + movb $0, (%rax) + jmp .L17 +.L30: + .loc 1 27 1 view .LVU54 + call __stack_chk_fail@PLT +.LVL29: + .cfi_endproc +.LFE24: + .size cprintf, .-cprintf + .section .rodata + .align 32 +.LC3: + .string "src/ansi-colors.c" + .zero 46 + .section .data.rel.local,"aw" + .align 32 + .type .Lubsan_data19, @object + .size .Lubsan_data19, 40 +.Lubsan_data19: + .quad .LC3 + .long 25 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data16, @object + .size .Lubsan_data16, 40 +.Lubsan_data16: + .quad .LC3 + .long 14 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 2 + .zero 4 + .zero 56 + .section .rodata.str1.1 +.LC4: + .string "*.Lubsan_data19" +.LC5: + .string "*.Lubsan_data16" +.LC6: + .string "*.LC3" +.LC7: + .string "*.LC1" + .section .data.rel.local + .align 32 + .type .LASAN0, @object + .size .LASAN0, 256 +.LASAN0: + .quad .Lubsan_data19 + .quad 40 + .quad 96 + .quad .LC4 + .quad .LC3 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data16 + .quad 40 + .quad 96 + .quad .LC5 + .quad .LC3 + .quad 0 + .quad 0 + .quad 0 + .quad .LC3 + .quad 18 + .quad 64 + .quad .LC6 + .quad .LC3 + .quad 0 + .quad 0 + .quad 0 + .quad .LC1 + .quad 5 + .quad 64 + .quad .LC7 + .quad .LC3 + .quad 0 + .quad 0 + .quad 0 + .text + .type _sub_D_00099_0, @function +_sub_D_00099_0: +.LFB25: + .cfi_startproc + .loc 1 27 1 is_stmt 1 view .LVU55 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl $4, %esi + leaq .LASAN0(%rip), %rdi + call __asan_unregister_globals@PLT + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE25: + .size _sub_D_00099_0, .-_sub_D_00099_0 + .section .fini_array.00099,"aw" + .align 8 + .quad _sub_D_00099_0 + .text + .type _sub_I_00099_1, @function +_sub_I_00099_1: +.LFB26: + .cfi_startproc + .loc 1 27 1 view .LVU56 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + call __asan_init@PLT + call __asan_version_mismatch_check_v8@PLT + movl $4, %esi + leaq .LASAN0(%rip), %rdi + call __asan_register_globals@PLT + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE26: + .size _sub_I_00099_1, .-_sub_I_00099_1 + .section .init_array.00099,"aw" + .align 8 + .quad _sub_I_00099_1 + .text +.Letext0: + .file 3 "/usr/include/bits/types.h" + .file 4 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" + .file 5 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdarg.h" + .file 6 "" + .file 7 "/usr/include/bits/types/struct_FILE.h" + .file 8 "/usr/include/bits/types/FILE.h" + .file 9 "/usr/include/stdio.h" + .file 10 "include/io.h" + .file 11 "/usr/include/bits/stdio2-decl.h" + .section .debug_info,"",@progbits +.Ldebug_info0: + .long 0x694 + .value 0x5 + .byte 0x1 + .byte 0x8 + .long .Ldebug_abbrev0 + .uleb128 0x1b + .long .LASF77 + .byte 0x1d + .long .LASF0 + .long .LASF1 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .long .Ldebug_line0 + .uleb128 0x4 + .byte 0x1 + .byte 0x8 + .long .LASF2 + .uleb128 0x4 + .byte 0x2 + .byte 0x7 + .long .LASF3 + .uleb128 0x4 + .byte 0x4 + .byte 0x7 + .long .LASF4 + .uleb128 0x4 + .byte 0x8 + .byte 0x7 + .long .LASF5 + .uleb128 0x4 + .byte 0x1 + .byte 0x6 + .long .LASF6 + .uleb128 0x4 + .byte 0x2 + .byte 0x5 + .long .LASF7 + .uleb128 0x1c + .byte 0x4 + .byte 0x5 + .string "int" + .uleb128 0x4 + .byte 0x8 + .byte 0x5 + .long .LASF8 + .uleb128 0x5 + .long .LASF9 + .byte 0x3 + .byte 0x98 + .byte 0x12 + .long 0x5f + .uleb128 0x5 + .long .LASF10 + .byte 0x3 + .byte 0x99 + .byte 0x12 + .long 0x5f + .uleb128 0x1d + .byte 0x8 + .uleb128 0x3 + .long 0x85 + .uleb128 0x4 + .byte 0x1 + .byte 0x6 + .long .LASF11 + .uleb128 0x1e + .long 0x85 + .uleb128 0x5 + .long .LASF12 + .byte 0x4 + .byte 0xd6 + .byte 0x1b + .long 0x43 + .uleb128 0x5 + .long .LASF13 + .byte 0x5 + .byte 0x28 + .byte 0x1b + .long 0xa9 + .uleb128 0x1f + .long .LASF78 + .long 0xb2 + .uleb128 0xe + .long 0xc2 + .long 0xc2 + .uleb128 0xf + .long 0x43 + .byte 0 + .byte 0 + .uleb128 0x20 + .long .LASF79 + .byte 0x18 + .byte 0x6 + .byte 0 + .long 0xf7 + .uleb128 0xc + .long .LASF14 + .long 0x3c + .byte 0 + .uleb128 0xc + .long .LASF15 + .long 0x3c + .byte 0x4 + .uleb128 0xc + .long .LASF16 + .long 0x7e + .byte 0x8 + .uleb128 0xc + .long .LASF17 + .long 0x7e + .byte 0x10 + .byte 0 + .uleb128 0x21 + .long .LASF80 + .byte 0xd8 + .byte 0x7 + .byte 0x31 + .byte 0x8 + .long 0x261 + .uleb128 0x1 + .long .LASF18 + .byte 0x33 + .byte 0x7 + .long 0x58 + .byte 0 + .uleb128 0x1 + .long .LASF19 + .byte 0x36 + .byte 0x9 + .long 0x80 + .byte 0x8 + .uleb128 0x1 + .long .LASF20 + .byte 0x37 + .byte 0x9 + .long 0x80 + .byte 0x10 + .uleb128 0x1 + .long .LASF21 + .byte 0x38 + .byte 0x9 + .long 0x80 + .byte 0x18 + .uleb128 0x1 + .long .LASF22 + .byte 0x39 + .byte 0x9 + .long 0x80 + .byte 0x20 + .uleb128 0x1 + .long .LASF23 + .byte 0x3a + .byte 0x9 + .long 0x80 + .byte 0x28 + .uleb128 0x1 + .long .LASF24 + .byte 0x3b + .byte 0x9 + .long 0x80 + .byte 0x30 + .uleb128 0x1 + .long .LASF25 + .byte 0x3c + .byte 0x9 + .long 0x80 + .byte 0x38 + .uleb128 0x1 + .long .LASF26 + .byte 0x3d + .byte 0x9 + .long 0x80 + .byte 0x40 + .uleb128 0x1 + .long .LASF27 + .byte 0x40 + .byte 0x9 + .long 0x80 + .byte 0x48 + .uleb128 0x1 + .long .LASF28 + .byte 0x41 + .byte 0x9 + .long 0x80 + .byte 0x50 + .uleb128 0x1 + .long .LASF29 + .byte 0x42 + .byte 0x9 + .long 0x80 + .byte 0x58 + .uleb128 0x1 + .long .LASF30 + .byte 0x44 + .byte 0x16 + .long 0x27a + .byte 0x60 + .uleb128 0x1 + .long .LASF31 + .byte 0x46 + .byte 0x14 + .long 0x27f + .byte 0x68 + .uleb128 0x1 + .long .LASF32 + .byte 0x48 + .byte 0x7 + .long 0x58 + .byte 0x70 + .uleb128 0x1 + .long .LASF33 + .byte 0x49 + .byte 0x7 + .long 0x58 + .byte 0x74 + .uleb128 0x1 + .long .LASF34 + .byte 0x4a + .byte 0xb + .long 0x66 + .byte 0x78 + .uleb128 0x1 + .long .LASF35 + .byte 0x4d + .byte 0x12 + .long 0x35 + .byte 0x80 + .uleb128 0x1 + .long .LASF36 + .byte 0x4e + .byte 0xf + .long 0x4a + .byte 0x82 + .uleb128 0x1 + .long .LASF37 + .byte 0x4f + .byte 0x8 + .long 0x284 + .byte 0x83 + .uleb128 0x1 + .long .LASF38 + .byte 0x51 + .byte 0xf + .long 0x294 + .byte 0x88 + .uleb128 0x1 + .long .LASF39 + .byte 0x59 + .byte 0xd + .long 0x72 + .byte 0x90 + .uleb128 0x1 + .long .LASF40 + .byte 0x5b + .byte 0x17 + .long 0x29e + .byte 0x98 + .uleb128 0x1 + .long .LASF41 + .byte 0x5c + .byte 0x19 + .long 0x2a8 + .byte 0xa0 + .uleb128 0x1 + .long .LASF42 + .byte 0x5d + .byte 0x14 + .long 0x27f + .byte 0xa8 + .uleb128 0x1 + .long .LASF43 + .byte 0x5e + .byte 0x9 + .long 0x7e + .byte 0xb0 + .uleb128 0x1 + .long .LASF44 + .byte 0x5f + .byte 0xa + .long 0x91 + .byte 0xb8 + .uleb128 0x1 + .long .LASF45 + .byte 0x60 + .byte 0x7 + .long 0x58 + .byte 0xc0 + .uleb128 0x1 + .long .LASF46 + .byte 0x62 + .byte 0x8 + .long 0x2ad + .byte 0xc4 + .byte 0 + .uleb128 0x5 + .long .LASF47 + .byte 0x8 + .byte 0x7 + .byte 0x19 + .long 0xf7 + .uleb128 0x22 + .long .LASF81 + .byte 0x7 + .byte 0x2b + .byte 0xe + .uleb128 0x10 + .long .LASF48 + .uleb128 0x3 + .long 0x275 + .uleb128 0x3 + .long 0xf7 + .uleb128 0xe + .long 0x85 + .long 0x294 + .uleb128 0xf + .long 0x43 + .byte 0 + .byte 0 + .uleb128 0x3 + .long 0x26d + .uleb128 0x10 + .long .LASF49 + .uleb128 0x3 + .long 0x299 + .uleb128 0x10 + .long .LASF50 + .uleb128 0x3 + .long 0x2a3 + .uleb128 0xe + .long 0x85 + .long 0x2bd + .uleb128 0xf + .long 0x43 + .byte 0x13 + .byte 0 + .uleb128 0x3 + .long 0x8c + .uleb128 0x14 + .long 0x2bd + .uleb128 0x5 + .long .LASF51 + .byte 0x9 + .byte 0x35 + .byte 0x18 + .long 0x9d + .uleb128 0x3 + .long 0x261 + .uleb128 0x14 + .long 0x2d3 + .uleb128 0x23 + .long .LASF82 + .byte 0x9 + .byte 0x96 + .byte 0xe + .long 0x2d3 + .uleb128 0x5 + .long .LASF52 + .byte 0xa + .byte 0x6 + .byte 0xf + .long 0x2d3 + .uleb128 0x15 + .long .LASF53 + .byte 0x31 + .long 0x58 + .long 0x314 + .uleb128 0x6 + .long 0x2d8 + .uleb128 0x6 + .long 0x58 + .uleb128 0x6 + .long 0x2c2 + .uleb128 0xd + .byte 0 + .uleb128 0x15 + .long .LASF54 + .byte 0x35 + .long 0x58 + .long 0x337 + .uleb128 0x6 + .long 0x2d8 + .uleb128 0x6 + .long 0x58 + .uleb128 0x6 + .long 0x2c2 + .uleb128 0x6 + .long 0x337 + .byte 0 + .uleb128 0x3 + .long 0xc2 + .uleb128 0x16 + .long .LASF56 + .byte 0x15 + .quad .LFB24 + .quad .LFE24-.LFB24 + .uleb128 0x1 + .byte 0x9c + .long 0x416 + .uleb128 0x11 + .long .LASF55 + .byte 0x15 + .byte 0x16 + .long 0x2bd + .long .LLST10 + .long .LVUS10 + .uleb128 0x17 + .string "fmt" + .byte 0x15 + .byte 0x29 + .long 0x2bd + .long .LLST11 + .long .LVUS11 + .uleb128 0xd + .uleb128 0x18 + .long .LASF59 + .byte 0x17 + .long 0x2c7 + .uleb128 0x8 + .quad .LVL21 + .long 0x416 + .long 0x3b8 + .uleb128 0x2 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .uleb128 0x2 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x4 + .byte 0x91 + .sleb128 -376 + .byte 0x6 + .uleb128 0x2 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x4 + .byte 0x91 + .sleb128 -384 + .byte 0x6 + .uleb128 0x2 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x3 + .byte 0x7c + .sleb128 -96 + .byte 0 + .uleb128 0x9 + .quad .LVL24 + .long 0x651 + .uleb128 0x8 + .quad .LVL26 + .long 0x65a + .long 0x3dc + .uleb128 0x2 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x48 + .byte 0 + .uleb128 0x9 + .quad .LVL27 + .long 0x663 + .uleb128 0x8 + .quad .LVL28 + .long 0x66c + .long 0x408 + .uleb128 0x2 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data19 + .byte 0 + .uleb128 0x9 + .quad .LVL29 + .long 0x675 + .byte 0 + .uleb128 0x16 + .long .LASF57 + .byte 0x7 + .quad .LFB23 + .quad .LFE23-.LFB23 + .uleb128 0x1 + .byte 0x9c + .long 0x5fb + .uleb128 0x11 + .long .LASF58 + .byte 0x7 + .byte 0x12 + .long 0x2e9 + .long .LLST0 + .long .LVUS0 + .uleb128 0x11 + .long .LASF55 + .byte 0x7 + .byte 0x24 + .long 0x2bd + .long .LLST1 + .long .LVUS1 + .uleb128 0x17 + .string "fmt" + .byte 0x7 + .byte 0x37 + .long 0x2bd + .long .LLST2 + .long .LVUS2 + .uleb128 0xd + .uleb128 0x18 + .long .LASF59 + .byte 0xa + .long 0x2c7 + .uleb128 0x12 + .long 0x62b + .quad .LBI8 + .byte .LVU6 + .quad .LBB8 + .quad .LBE8-.LBB8 + .byte 0x9 + .long 0x4d0 + .uleb128 0x7 + .long 0x644 + .long .LLST3 + .long .LVUS3 + .uleb128 0x7 + .long 0x639 + .long .LLST4 + .long .LVUS4 + .uleb128 0x13 + .quad .LVL4 + .long 0x685 + .uleb128 0x2 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -384 + .byte 0x6 + .uleb128 0x2 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x12 + .long 0x5fb + .quad .LBI10 + .byte .LVU14 + .quad .LBB10 + .quad .LBE10-.LBB10 + .byte 0xe + .long 0x541 + .uleb128 0x7 + .long 0x61f + .long .LLST5 + .long .LVUS5 + .uleb128 0x7 + .long 0x614 + .long .LLST6 + .long .LVUS6 + .uleb128 0x7 + .long 0x609 + .long .LLST7 + .long .LVUS7 + .uleb128 0x13 + .quad .LVL7 + .long 0x314 + .uleb128 0x2 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .uleb128 0x2 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x2 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .uleb128 0x2 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x3 + .byte 0x7c + .sleb128 -96 + .byte 0 + .byte 0 + .uleb128 0x12 + .long 0x62b + .quad .LBI12 + .byte .LVU21 + .quad .LBB12 + .quad .LBE12-.LBB12 + .byte 0x11 + .long 0x5aa + .uleb128 0x7 + .long 0x644 + .long .LLST8 + .long .LVUS8 + .uleb128 0x7 + .long 0x639 + .long .LLST9 + .long .LVUS9 + .uleb128 0x13 + .quad .LVL8 + .long 0x68e + .uleb128 0x2 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x2 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x31 + .uleb128 0x2 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x34 + .uleb128 0x2 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x9 + .quad .LVL13 + .long 0x651 + .uleb128 0x8 + .quad .LVL15 + .long 0x65a + .long 0x5ce + .uleb128 0x2 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x48 + .byte 0 + .uleb128 0x8 + .quad .LVL16 + .long 0x66c + .long 0x5ed + .uleb128 0x2 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data16 + .byte 0 + .uleb128 0x9 + .quad .LVL17 + .long 0x675 + .byte 0 + .uleb128 0x19 + .long .LASF63 + .byte 0x6a + .long 0x58 + .long 0x62b + .uleb128 0xa + .long .LASF60 + .byte 0x6a + .byte 0x1c + .long 0x2d8 + .uleb128 0xa + .long .LASF61 + .byte 0x6b + .byte 0x1b + .long 0x2c2 + .uleb128 0xa + .long .LASF62 + .byte 0x6b + .byte 0x31 + .long 0x337 + .byte 0 + .uleb128 0x19 + .long .LASF64 + .byte 0x4d + .long 0x58 + .long 0x651 + .uleb128 0xa + .long .LASF60 + .byte 0x4d + .byte 0x1b + .long 0x2d8 + .uleb128 0xa + .long .LASF61 + .byte 0x4d + .byte 0x3c + .long 0x2c2 + .uleb128 0xd + .byte 0 + .uleb128 0x1a + .long .LASF71 + .long .LASF71 + .uleb128 0xb + .long .LASF65 + .long .LASF67 + .uleb128 0xb + .long .LASF66 + .long .LASF68 + .uleb128 0xb + .long .LASF69 + .long .LASF70 + .uleb128 0x1a + .long .LASF72 + .long .LASF72 + .uleb128 0x24 + .uleb128 0x5 + .byte 0x9e + .uleb128 0x3 + .byte 0x25 + .byte 0x73 + .byte 0 + .uleb128 0xb + .long .LASF73 + .long .LASF74 + .uleb128 0xb + .long .LASF75 + .long .LASF76 + .byte 0 + .section .debug_abbrev,"",@progbits +.Ldebug_abbrev0: + .uleb128 0x1 + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 7 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x2 + .uleb128 0x49 + .byte 0 + .uleb128 0x2 + .uleb128 0x18 + .uleb128 0x7e + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x3 + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0x21 + .sleb128 8 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x4 + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .byte 0 + .byte 0 + .uleb128 0x5 + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x6 + .uleb128 0x5 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x7 + .uleb128 0x5 + .byte 0 + .uleb128 0x31 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x8 + .uleb128 0x48 + .byte 0x1 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x9 + .uleb128 0x48 + .byte 0 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xa + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 2 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xb + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x6e + .uleb128 0xe + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 6 + .uleb128 0x3b + .uleb128 0x21 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0xc + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 6 + .uleb128 0x3b + .uleb128 0x21 + .sleb128 0 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0xd + .uleb128 0x18 + .byte 0 + .byte 0 + .byte 0 + .uleb128 0xe + .uleb128 0x1 + .byte 0x1 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xf + .uleb128 0x21 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2f + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x10 + .uleb128 0x13 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x11 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x12 + .uleb128 0x1d + .byte 0x1 + .uleb128 0x31 + .uleb128 0x13 + .uleb128 0x52 + .uleb128 0x1 + .uleb128 0x2138 + .uleb128 0xb + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x58 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x59 + .uleb128 0xb + .uleb128 0x57 + .uleb128 0x21 + .sleb128 3 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x13 + .uleb128 0x48 + .byte 0x1 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x14 + .uleb128 0x37 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x15 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 11 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 12 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x16 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x17 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x18 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 11 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x19 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 2 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x20 + .uleb128 0x21 + .sleb128 3 + .uleb128 0x34 + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x1a + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x6e + .uleb128 0xe + .uleb128 0x3 + .uleb128 0xe + .byte 0 + .byte 0 + .uleb128 0x1b + .uleb128 0x11 + .byte 0x1 + .uleb128 0x25 + .uleb128 0xe + .uleb128 0x13 + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x1f + .uleb128 0x1b + .uleb128 0x1f + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x10 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x1c + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x8 + .byte 0 + .byte 0 + .uleb128 0x1d + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x1e + .uleb128 0x26 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x1f + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x20 + .uleb128 0x13 + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x21 + .uleb128 0x13 + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x22 + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x23 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x24 + .uleb128 0x36 + .byte 0 + .uleb128 0x2 + .uleb128 0x18 + .byte 0 + .byte 0 + .byte 0 + .section .debug_loclists,"",@progbits + .long .Ldebug_loc3-.Ldebug_loc2 +.Ldebug_loc2: + .value 0x5 + .byte 0x8 + .byte 0 + .long 0 +.Ldebug_loc0: +.LVUS10: + .uleb128 0 + .uleb128 .LVU38 + .uleb128 .LVU38 + .uleb128 .LVU39 + .uleb128 .LVU39 + .uleb128 .LVU48 + .uleb128 .LVU48 + .uleb128 .LVU49 + .uleb128 .LVU49 + .uleb128 .LVU51 + .uleb128 .LVU51 + .uleb128 0 +.LLST10: + .byte 0x4 + .uleb128 .LVL18-.Ltext0 + .uleb128 .LVL19-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL19-.Ltext0 + .uleb128 .LVL20-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -376 + .byte 0x4 + .uleb128 .LVL20-.Ltext0 + .uleb128 .LVL22-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL22-.Ltext0 + .uleb128 .LVL23-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL23-.Ltext0 + .uleb128 .LVL25-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -376 + .byte 0x4 + .uleb128 .LVL25-.Ltext0 + .uleb128 .LFE24-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS11: + .uleb128 0 + .uleb128 .LVU38 + .uleb128 .LVU38 + .uleb128 .LVU39 + .uleb128 .LVU39 + .uleb128 .LVU48 + .uleb128 .LVU48 + .uleb128 .LVU50 + .uleb128 .LVU50 + .uleb128 .LVU51 + .uleb128 .LVU51 + .uleb128 0 +.LLST11: + .byte 0x4 + .uleb128 .LVL18-.Ltext0 + .uleb128 .LVL19-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL19-.Ltext0 + .uleb128 .LVL20-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -384 + .byte 0x4 + .uleb128 .LVL20-.Ltext0 + .uleb128 .LVL22-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL22-.Ltext0 + .uleb128 .LVL24-1-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL24-1-.Ltext0 + .uleb128 .LVL25-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -384 + .byte 0x4 + .uleb128 .LVL25-.Ltext0 + .uleb128 .LFE24-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0 +.LVUS0: + .uleb128 0 + .uleb128 .LVU2 + .uleb128 .LVU2 + .uleb128 .LVU27 + .uleb128 .LVU27 + .uleb128 .LVU29 + .uleb128 .LVU29 + .uleb128 .LVU30 + .uleb128 .LVU30 + .uleb128 0 +.LLST0: + .byte 0x4 + .uleb128 .LVL0-.Ltext0 + .uleb128 .LVL1-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL1-.Ltext0 + .uleb128 .LVL9-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL9-.Ltext0 + .uleb128 .LVL11-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL11-.Ltext0 + .uleb128 .LVL12-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL12-.Ltext0 + .uleb128 .LFE23-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0 +.LVUS1: + .uleb128 0 + .uleb128 .LVU2 + .uleb128 .LVU2 + .uleb128 .LVU3 + .uleb128 .LVU3 + .uleb128 .LVU29 + .uleb128 .LVU29 + .uleb128 .LVU31 + .uleb128 .LVU31 + .uleb128 .LVU32 + .uleb128 .LVU32 + .uleb128 0 +.LLST1: + .byte 0x4 + .uleb128 .LVL0-.Ltext0 + .uleb128 .LVL1-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL1-.Ltext0 + .uleb128 .LVL2-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -384 + .byte 0x4 + .uleb128 .LVL2-.Ltext0 + .uleb128 .LVL11-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL11-.Ltext0 + .uleb128 .LVL13-1-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL13-1-.Ltext0 + .uleb128 .LVL14-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -384 + .byte 0x4 + .uleb128 .LVL14-.Ltext0 + .uleb128 .LFE23-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0 +.LVUS2: + .uleb128 0 + .uleb128 .LVU2 + .uleb128 .LVU2 + .uleb128 .LVU28 + .uleb128 .LVU28 + .uleb128 .LVU29 + .uleb128 .LVU29 + .uleb128 .LVU31 + .uleb128 .LVU31 + .uleb128 0 +.LLST2: + .byte 0x4 + .uleb128 .LVL0-.Ltext0 + .uleb128 .LVL1-.Ltext0 + .uleb128 0x1 + .byte 0x51 + .byte 0x4 + .uleb128 .LVL1-.Ltext0 + .uleb128 .LVL10-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0x4 + .uleb128 .LVL10-.Ltext0 + .uleb128 .LVL11-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x51 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL11-.Ltext0 + .uleb128 .LVL13-1-.Ltext0 + .uleb128 0x1 + .byte 0x51 + .byte 0x4 + .uleb128 .LVL13-1-.Ltext0 + .uleb128 .LFE23-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0 +.LVUS3: + .uleb128 .LVU6 + .uleb128 .LVU9 +.LLST3: + .byte 0x4 + .uleb128 .LVL3-.Ltext0 + .uleb128 .LVL4-.Ltext0 + .uleb128 0x6 + .byte 0xa0 + .long .Ldebug_info0+1662 + .sleb128 0 + .byte 0 +.LVUS4: + .uleb128 .LVU6 + .uleb128 .LVU9 +.LLST4: + .byte 0x4 + .uleb128 .LVL3-.Ltext0 + .uleb128 .LVL4-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0 +.LVUS5: + .uleb128 .LVU14 + .uleb128 .LVU17 + .uleb128 .LVU17 + .uleb128 .LVU18 + .uleb128 .LVU18 + .uleb128 .LVU18 +.LLST5: + .byte 0x4 + .uleb128 .LVL5-.Ltext0 + .uleb128 .LVL6-.Ltext0 + .uleb128 0x4 + .byte 0x7c + .sleb128 -96 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL6-.Ltext0 + .uleb128 .LVL7-1-.Ltext0 + .uleb128 0x1 + .byte 0x52 + .byte 0x4 + .uleb128 .LVL7-1-.Ltext0 + .uleb128 .LVL7-.Ltext0 + .uleb128 0x4 + .byte 0x7c + .sleb128 -96 + .byte 0x9f + .byte 0 +.LVUS6: + .uleb128 .LVU14 + .uleb128 .LVU18 +.LLST6: + .byte 0x4 + .uleb128 .LVL5-.Ltext0 + .uleb128 .LVL7-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0 +.LVUS7: + .uleb128 .LVU14 + .uleb128 .LVU18 +.LLST7: + .byte 0x4 + .uleb128 .LVL5-.Ltext0 + .uleb128 .LVL7-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0 +.LVUS8: + .uleb128 .LVU21 + .uleb128 .LVU24 +.LLST8: + .byte 0x4 + .uleb128 .LVL7-.Ltext0 + .uleb128 .LVL8-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC1 + .byte 0x9f + .byte 0 +.LVUS9: + .uleb128 .LVU21 + .uleb128 .LVU24 +.LLST9: + .byte 0x4 + .uleb128 .LVL7-.Ltext0 + .uleb128 .LVL8-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0 +.Ldebug_loc3: + .section .debug_aranges,"",@progbits + .long 0x2c + .value 0x2 + .long .Ldebug_info0 + .byte 0x8 + .byte 0 + .value 0 + .value 0 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .quad 0 + .quad 0 + .section .debug_line,"",@progbits +.Ldebug_line0: + .section .debug_str,"MS",@progbits,1 +.LASF9: + .string "__off_t" +.LASF19: + .string "_IO_read_ptr" +.LASF31: + .string "_chain" +.LASF12: + .string "size_t" +.LASF37: + .string "_shortbuf" +.LASF14: + .string "gp_offset" +.LASF51: + .string "va_list" +.LASF55: + .string "ccode" +.LASF25: + .string "_IO_buf_base" +.LASF40: + .string "_codecvt" +.LASF67: + .string "__builtin___asan_report_store_n" +.LASF6: + .string "signed char" +.LASF76: + .string "__builtin_fwrite" +.LASF32: + .string "_fileno" +.LASF20: + .string "_IO_read_end" +.LASF8: + .string "long int" +.LASF18: + .string "_flags" +.LASF78: + .string "__builtin_va_list" +.LASF26: + .string "_IO_buf_end" +.LASF35: + .string "_cur_column" +.LASF49: + .string "_IO_codecvt" +.LASF34: + .string "_old_offset" +.LASF39: + .string "_offset" +.LASF48: + .string "_IO_marker" +.LASF4: + .string "unsigned int" +.LASF43: + .string "_freeres_buf" +.LASF64: + .string "fprintf" +.LASF71: + .string "__asan_stack_malloc_1" +.LASF16: + .string "overflow_arg_area" +.LASF5: + .string "long unsigned int" +.LASF23: + .string "_IO_write_ptr" +.LASF74: + .string "__builtin_fputs" +.LASF69: + .string "__ubsan_handle_nonnull_arg" +.LASF3: + .string "short unsigned int" +.LASF27: + .string "_IO_save_base" +.LASF38: + .string "_lock" +.LASF33: + .string "_flags2" +.LASF45: + .string "_mode" +.LASF82: + .string "stdout" +.LASF56: + .string "cprintf" +.LASF13: + .string "__gnuc_va_list" +.LASF24: + .string "_IO_write_end" +.LASF81: + .string "_IO_lock_t" +.LASF80: + .string "_IO_FILE" +.LASF54: + .string "__vfprintf_chk" +.LASF68: + .string "__builtin___asan_report_load8" +.LASF30: + .string "_markers" +.LASF58: + .string "file" +.LASF2: + .string "unsigned char" +.LASF7: + .string "short int" +.LASF77: + .ascii "GNU C17 13.3.1 202" + .string "40614 -mtune=generic -march=x86-64 -ggdb -Os -Og -std=gnu17 -p -fanalyzer -fsanitize=address,undefined,leak -fstack-protector-strong -fstack-clash-protection -fstrict-aliasing -ftrivial-auto-var-init=zero -fno-omit-frame-pointer -fno-common -fcf-protection" +.LASF50: + .string "_IO_wide_data" +.LASF65: + .string "__asan_report_store_n" +.LASF36: + .string "_vtable_offset" +.LASF47: + .string "FILE" +.LASF17: + .string "reg_save_area" +.LASF53: + .string "__fprintf_chk" +.LASF72: + .string "__stack_chk_fail" +.LASF11: + .string "char" +.LASF60: + .string "__stream" +.LASF70: + .string "__builtin___ubsan_handle_nonnull_arg" +.LASF10: + .string "__off64_t" +.LASF21: + .string "_IO_read_base" +.LASF29: + .string "_IO_save_end" +.LASF62: + .string "__ap" +.LASF63: + .string "vfprintf" +.LASF61: + .string "__fmt" +.LASF44: + .string "__pad5" +.LASF46: + .string "_unused2" +.LASF28: + .string "_IO_backup_base" +.LASF15: + .string "fp_offset" +.LASF73: + .string "fputs" +.LASF75: + .string "fwrite" +.LASF42: + .string "_freeres_list" +.LASF52: + .string "fptr_t" +.LASF41: + .string "_wide_data" +.LASF59: + .string "args" +.LASF57: + .string "cfprintf" +.LASF22: + .string "_IO_write_base" +.LASF79: + .string "__va_list_tag" +.LASF66: + .string "__asan_report_load8" + .section .debug_line_str,"MS",@progbits,1 +.LASF1: + .string "/home/unazed/Programming/c/ucc-0.2.0" +.LASF0: + .string "src/ansi-colors.c" + .ident "GCC: (Gentoo 13.3.1_p20240614 p17) 13.3.1 20240614" + .section .note.GNU-stack,"",@progbits + .section .note.gnu.property,"a" + .align 8 + .long 1f - 0f + .long 4f - 1f + .long 5 +0: + .string "GNU" +1: + .align 8 + .long 0xc0000002 + .long 3f - 2f +2: + .long 0x3 +3: + .align 8 +4: diff --git a/build/array.d b/build/array.d new file mode 100644 index 0000000..e2236c2 --- /dev/null +++ b/build/array.d @@ -0,0 +1,6 @@ +build/array.o: src/array.c include/array.h include/generic.h \ + include/ansi-colors.h include/io.h +include/array.h: +include/generic.h: +include/ansi-colors.h: +include/io.h: diff --git a/build/array.i b/build/array.i new file mode 100644 index 0000000..82994d7 --- /dev/null +++ b/build/array.i @@ -0,0 +1,3512 @@ +# 0 "src/array.c" +# 1 "/home/unazed/Programming/c/ucc-0.2.0//" +# 0 "" +# 0 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 0 "" 2 +# 1 "src/array.c" +# 1 "include/array.h" 1 + + +# 1 "/usr/include/stdlib.h" 1 3 4 +# 26 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 33 "/usr/include/bits/libc-header-start.h" 3 4 +# 1 "/usr/include/features.h" 1 3 4 +# 394 "/usr/include/features.h" 3 4 +# 1 "/usr/include/features-time64.h" 1 3 4 +# 20 "/usr/include/features-time64.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 21 "/usr/include/features-time64.h" 2 3 4 +# 1 "/usr/include/bits/timesize.h" 1 3 4 +# 19 "/usr/include/bits/timesize.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/bits/timesize.h" 2 3 4 +# 22 "/usr/include/features-time64.h" 2 3 4 +# 395 "/usr/include/features.h" 2 3 4 +# 503 "/usr/include/features.h" 3 4 +# 1 "/usr/include/sys/cdefs.h" 1 3 4 +# 576 "/usr/include/sys/cdefs.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 577 "/usr/include/sys/cdefs.h" 2 3 4 +# 1 "/usr/include/bits/long-double.h" 1 3 4 +# 578 "/usr/include/sys/cdefs.h" 2 3 4 +# 504 "/usr/include/features.h" 2 3 4 +# 527 "/usr/include/features.h" 3 4 +# 1 "/usr/include/gnu/stubs.h" 1 3 4 +# 10 "/usr/include/gnu/stubs.h" 3 4 +# 1 "/usr/include/gnu/stubs-64.h" 1 3 4 +# 11 "/usr/include/gnu/stubs.h" 2 3 4 +# 528 "/usr/include/features.h" 2 3 4 +# 34 "/usr/include/bits/libc-header-start.h" 2 3 4 +# 27 "/usr/include/stdlib.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 214 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 + +# 214 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 +typedef long unsigned int size_t; +# 329 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 +typedef int wchar_t; +# 33 "/usr/include/stdlib.h" 2 3 4 + + + + + + + +# 1 "/usr/include/bits/waitflags.h" 1 3 4 +# 41 "/usr/include/stdlib.h" 2 3 4 +# 1 "/usr/include/bits/waitstatus.h" 1 3 4 +# 42 "/usr/include/stdlib.h" 2 3 4 +# 56 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/bits/floatn.h" 1 3 4 +# 119 "/usr/include/bits/floatn.h" 3 4 +# 1 "/usr/include/bits/floatn-common.h" 1 3 4 +# 24 "/usr/include/bits/floatn-common.h" 3 4 +# 1 "/usr/include/bits/long-double.h" 1 3 4 +# 25 "/usr/include/bits/floatn-common.h" 2 3 4 +# 120 "/usr/include/bits/floatn.h" 2 3 4 +# 57 "/usr/include/stdlib.h" 2 3 4 + + +typedef struct + { + int quot; + int rem; + } div_t; + + + +typedef struct + { + long int quot; + long int rem; + } ldiv_t; + + + + + +__extension__ typedef struct + { + long long int quot; + long long int rem; + } lldiv_t; +# 98 "/usr/include/stdlib.h" 3 4 +extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + +extern double atof (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + +extern int atoi (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + +extern long int atol (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + +__extension__ extern long long int atoll (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + +extern double strtod (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern float strtof (const char *__restrict __nptr, + char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern long double strtold (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 177 "/usr/include/stdlib.h" 3 4 +extern long int strtol (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern unsigned long int strtoul (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +__extension__ +extern long long int strtoq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtouq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +__extension__ +extern long long int strtoll (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtoull (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 480 "/usr/include/stdlib.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) atoi (const char *__nptr) +{ + return (int) strtol (__nptr, (char **) ((void *)0), 10); +} +extern __inline __attribute__ ((__gnu_inline__)) long int +__attribute__ ((__nothrow__ , __leaf__)) atol (const char *__nptr) +{ + return strtol (__nptr, (char **) ((void *)0), 10); +} + + +__extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int +__attribute__ ((__nothrow__ , __leaf__)) atoll (const char *__nptr) +{ + return strtoll (__nptr, (char **) ((void *)0), 10); +} +# 505 "/usr/include/stdlib.h" 3 4 +extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + +extern long int a64l (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + + +# 1 "/usr/include/sys/types.h" 1 3 4 +# 27 "/usr/include/sys/types.h" 3 4 + + +# 1 "/usr/include/bits/types.h" 1 3 4 +# 27 "/usr/include/bits/types.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 28 "/usr/include/bits/types.h" 2 3 4 +# 1 "/usr/include/bits/timesize.h" 1 3 4 +# 19 "/usr/include/bits/timesize.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/bits/timesize.h" 2 3 4 +# 29 "/usr/include/bits/types.h" 2 3 4 + + +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; + + +typedef signed char __int8_t; +typedef unsigned char __uint8_t; +typedef signed short int __int16_t; +typedef unsigned short int __uint16_t; +typedef signed int __int32_t; +typedef unsigned int __uint32_t; + +typedef signed long int __int64_t; +typedef unsigned long int __uint64_t; + + + + + + +typedef __int8_t __int_least8_t; +typedef __uint8_t __uint_least8_t; +typedef __int16_t __int_least16_t; +typedef __uint16_t __uint_least16_t; +typedef __int32_t __int_least32_t; +typedef __uint32_t __uint_least32_t; +typedef __int64_t __int_least64_t; +typedef __uint64_t __uint_least64_t; + + + +typedef long int __quad_t; +typedef unsigned long int __u_quad_t; + + + + + + + +typedef long int __intmax_t; +typedef unsigned long int __uintmax_t; +# 141 "/usr/include/bits/types.h" 3 4 +# 1 "/usr/include/bits/typesizes.h" 1 3 4 +# 142 "/usr/include/bits/types.h" 2 3 4 +# 1 "/usr/include/bits/time64.h" 1 3 4 +# 143 "/usr/include/bits/types.h" 2 3 4 + + +typedef unsigned long int __dev_t; +typedef unsigned int __uid_t; +typedef unsigned int __gid_t; +typedef unsigned long int __ino_t; +typedef unsigned long int __ino64_t; +typedef unsigned int __mode_t; +typedef unsigned long int __nlink_t; +typedef long int __off_t; +typedef long int __off64_t; +typedef int __pid_t; +typedef struct { int __val[2]; } __fsid_t; +typedef long int __clock_t; +typedef unsigned long int __rlim_t; +typedef unsigned long int __rlim64_t; +typedef unsigned int __id_t; +typedef long int __time_t; +typedef unsigned int __useconds_t; +typedef long int __suseconds_t; +typedef long int __suseconds64_t; + +typedef int __daddr_t; +typedef int __key_t; + + +typedef int __clockid_t; + + +typedef void * __timer_t; + + +typedef long int __blksize_t; + + + + +typedef long int __blkcnt_t; +typedef long int __blkcnt64_t; + + +typedef unsigned long int __fsblkcnt_t; +typedef unsigned long int __fsblkcnt64_t; + + +typedef unsigned long int __fsfilcnt_t; +typedef unsigned long int __fsfilcnt64_t; + + +typedef long int __fsword_t; + +typedef long int __ssize_t; + + +typedef long int __syscall_slong_t; + +typedef unsigned long int __syscall_ulong_t; + + + +typedef __off64_t __loff_t; +typedef char *__caddr_t; + + +typedef long int __intptr_t; + + +typedef unsigned int __socklen_t; + + + + +typedef int __sig_atomic_t; +# 30 "/usr/include/sys/types.h" 2 3 4 + + + +typedef __u_char u_char; +typedef __u_short u_short; +typedef __u_int u_int; +typedef __u_long u_long; +typedef __quad_t quad_t; +typedef __u_quad_t u_quad_t; +typedef __fsid_t fsid_t; + + +typedef __loff_t loff_t; + + + + +typedef __ino_t ino_t; +# 59 "/usr/include/sys/types.h" 3 4 +typedef __dev_t dev_t; + + + + +typedef __gid_t gid_t; + + + + +typedef __mode_t mode_t; + + + + +typedef __nlink_t nlink_t; + + + + +typedef __uid_t uid_t; + + + + + +typedef __off_t off_t; +# 97 "/usr/include/sys/types.h" 3 4 +typedef __pid_t pid_t; + + + + + +typedef __id_t id_t; + + + + +typedef __ssize_t ssize_t; + + + + + +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; + + + + + +typedef __key_t key_t; + + + + +# 1 "/usr/include/bits/types/clock_t.h" 1 3 4 + + + + + + +typedef __clock_t clock_t; +# 127 "/usr/include/sys/types.h" 2 3 4 + +# 1 "/usr/include/bits/types/clockid_t.h" 1 3 4 + + + + + + +typedef __clockid_t clockid_t; +# 129 "/usr/include/sys/types.h" 2 3 4 +# 1 "/usr/include/bits/types/time_t.h" 1 3 4 +# 10 "/usr/include/bits/types/time_t.h" 3 4 +typedef __time_t time_t; +# 130 "/usr/include/sys/types.h" 2 3 4 +# 1 "/usr/include/bits/types/timer_t.h" 1 3 4 + + + + + + +typedef __timer_t timer_t; +# 131 "/usr/include/sys/types.h" 2 3 4 +# 144 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 145 "/usr/include/sys/types.h" 2 3 4 + + + +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; + + + + +# 1 "/usr/include/bits/stdint-intn.h" 1 3 4 +# 24 "/usr/include/bits/stdint-intn.h" 3 4 +typedef __int8_t int8_t; +typedef __int16_t int16_t; +typedef __int32_t int32_t; +typedef __int64_t int64_t; +# 156 "/usr/include/sys/types.h" 2 3 4 + + +typedef __uint8_t u_int8_t; +typedef __uint16_t u_int16_t; +typedef __uint32_t u_int32_t; +typedef __uint64_t u_int64_t; + + +typedef int register_t __attribute__ ((__mode__ (__word__))); +# 176 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/include/endian.h" 1 3 4 +# 24 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/bits/endian.h" 1 3 4 +# 35 "/usr/include/bits/endian.h" 3 4 +# 1 "/usr/include/bits/endianness.h" 1 3 4 +# 36 "/usr/include/bits/endian.h" 2 3 4 +# 25 "/usr/include/endian.h" 2 3 4 +# 35 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/bits/byteswap.h" 1 3 4 +# 33 "/usr/include/bits/byteswap.h" 3 4 +static __inline __uint16_t +__bswap_16 (__uint16_t __bsx) +{ + + return __builtin_bswap16 (__bsx); + + + +} + + + + + + +static __inline __uint32_t +__bswap_32 (__uint32_t __bsx) +{ + + return __builtin_bswap32 (__bsx); + + + +} +# 69 "/usr/include/bits/byteswap.h" 3 4 +__extension__ static __inline __uint64_t +__bswap_64 (__uint64_t __bsx) +{ + + return __builtin_bswap64 (__bsx); + + + +} +# 36 "/usr/include/endian.h" 2 3 4 +# 1 "/usr/include/bits/uintn-identity.h" 1 3 4 +# 32 "/usr/include/bits/uintn-identity.h" 3 4 +static __inline __uint16_t +__uint16_identity (__uint16_t __x) +{ + return __x; +} + +static __inline __uint32_t +__uint32_identity (__uint32_t __x) +{ + return __x; +} + +static __inline __uint64_t +__uint64_identity (__uint64_t __x) +{ + return __x; +} +# 37 "/usr/include/endian.h" 2 3 4 +# 177 "/usr/include/sys/types.h" 2 3 4 + + +# 1 "/usr/include/sys/select.h" 1 3 4 +# 30 "/usr/include/sys/select.h" 3 4 +# 1 "/usr/include/bits/select.h" 1 3 4 +# 31 "/usr/include/sys/select.h" 2 3 4 + + +# 1 "/usr/include/bits/types/sigset_t.h" 1 3 4 + + + +# 1 "/usr/include/bits/types/__sigset_t.h" 1 3 4 + + + + +typedef struct +{ + unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; +} __sigset_t; +# 5 "/usr/include/bits/types/sigset_t.h" 2 3 4 + + +typedef __sigset_t sigset_t; +# 34 "/usr/include/sys/select.h" 2 3 4 + + + +# 1 "/usr/include/bits/types/struct_timeval.h" 1 3 4 + + + + + + + +struct timeval +{ + + + + + __time_t tv_sec; + __suseconds_t tv_usec; + +}; +# 38 "/usr/include/sys/select.h" 2 3 4 + +# 1 "/usr/include/bits/types/struct_timespec.h" 1 3 4 +# 11 "/usr/include/bits/types/struct_timespec.h" 3 4 +struct timespec +{ + + + + __time_t tv_sec; + + + + + __syscall_slong_t tv_nsec; +# 31 "/usr/include/bits/types/struct_timespec.h" 3 4 +}; +# 40 "/usr/include/sys/select.h" 2 3 4 + + + +typedef __suseconds_t suseconds_t; + + + + + +typedef long int __fd_mask; +# 59 "/usr/include/sys/select.h" 3 4 +typedef struct + { + + + + + + + __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; + + + } fd_set; + + + + + + +typedef __fd_mask fd_mask; +# 91 "/usr/include/sys/select.h" 3 4 + +# 102 "/usr/include/sys/select.h" 3 4 +extern int select (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout); +# 127 "/usr/include/sys/select.h" 3 4 +extern int pselect (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + const struct timespec *__restrict __timeout, + const __sigset_t *__restrict __sigmask); +# 150 "/usr/include/sys/select.h" 3 4 +# 1 "/usr/include/bits/select2.h" 1 3 4 +# 23 "/usr/include/bits/select2.h" 3 4 +# 1 "/usr/include/bits/select-decl.h" 1 3 4 +# 27 "/usr/include/bits/select-decl.h" 3 4 +extern long int __fdelt_chk (long int __d); +extern long int __fdelt_warn (long int __d) + __attribute__((__warning__ ("bit outside of fd_set selected"))); +# 24 "/usr/include/bits/select2.h" 2 3 4 +# 151 "/usr/include/sys/select.h" 2 3 4 + + + +# 180 "/usr/include/sys/types.h" 2 3 4 + + + + + +typedef __blksize_t blksize_t; + + + + + + +typedef __blkcnt_t blkcnt_t; + + + +typedef __fsblkcnt_t fsblkcnt_t; + + + +typedef __fsfilcnt_t fsfilcnt_t; +# 227 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 +# 23 "/usr/include/bits/pthreadtypes.h" 3 4 +# 1 "/usr/include/bits/thread-shared-types.h" 1 3 4 +# 44 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/pthreadtypes-arch.h" 1 3 4 +# 21 "/usr/include/bits/pthreadtypes-arch.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 22 "/usr/include/bits/pthreadtypes-arch.h" 2 3 4 +# 45 "/usr/include/bits/thread-shared-types.h" 2 3 4 + +# 1 "/usr/include/bits/atomic_wide_counter.h" 1 3 4 +# 25 "/usr/include/bits/atomic_wide_counter.h" 3 4 +typedef union +{ + __extension__ unsigned long long int __value64; + struct + { + unsigned int __low; + unsigned int __high; + } __value32; +} __atomic_wide_counter; +# 47 "/usr/include/bits/thread-shared-types.h" 2 3 4 + + + + +typedef struct __pthread_internal_list +{ + struct __pthread_internal_list *__prev; + struct __pthread_internal_list *__next; +} __pthread_list_t; + +typedef struct __pthread_internal_slist +{ + struct __pthread_internal_slist *__next; +} __pthread_slist_t; +# 76 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/struct_mutex.h" 1 3 4 +# 22 "/usr/include/bits/struct_mutex.h" 3 4 +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; + + unsigned int __nusers; + + + + int __kind; + + short __spins; + short __elision; + __pthread_list_t __list; +# 53 "/usr/include/bits/struct_mutex.h" 3 4 +}; +# 77 "/usr/include/bits/thread-shared-types.h" 2 3 4 +# 89 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/struct_rwlock.h" 1 3 4 +# 23 "/usr/include/bits/struct_rwlock.h" 3 4 +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; + + int __cur_writer; + int __shared; + signed char __rwelision; + + + + + unsigned char __pad1[7]; + + + unsigned long int __pad2; + + + unsigned int __flags; +# 55 "/usr/include/bits/struct_rwlock.h" 3 4 +}; +# 90 "/usr/include/bits/thread-shared-types.h" 2 3 4 + + + + +struct __pthread_cond_s +{ + __atomic_wide_counter __wseq; + __atomic_wide_counter __g1_start; + unsigned int __g_refs[2] ; + unsigned int __g_size[2]; + unsigned int __g1_orig_size; + unsigned int __wrefs; + unsigned int __g_signals[2]; +}; + +typedef unsigned int __tss_t; +typedef unsigned long int __thrd_t; + +typedef struct +{ + int __data ; +} __once_flag; +# 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 + + + +typedef unsigned long int pthread_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_mutexattr_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_condattr_t; + + + +typedef unsigned int pthread_key_t; + + + +typedef int pthread_once_t; + + +union pthread_attr_t +{ + char __size[56]; + long int __align; +}; + +typedef union pthread_attr_t pthread_attr_t; + + + + +typedef union +{ + struct __pthread_mutex_s __data; + char __size[40]; + long int __align; +} pthread_mutex_t; + + +typedef union +{ + struct __pthread_cond_s __data; + char __size[48]; + __extension__ long long int __align; +} pthread_cond_t; + + + + + +typedef union +{ + struct __pthread_rwlock_arch_t __data; + char __size[56]; + long int __align; +} pthread_rwlock_t; + +typedef union +{ + char __size[8]; + long int __align; +} pthread_rwlockattr_t; + + + + + +typedef volatile int pthread_spinlock_t; + + + + +typedef union +{ + char __size[32]; + long int __align; +} pthread_barrier_t; + +typedef union +{ + char __size[4]; + int __align; +} pthread_barrierattr_t; +# 228 "/usr/include/sys/types.h" 2 3 4 + + + +# 515 "/usr/include/stdlib.h" 2 3 4 + + + + + + +extern long int random (void) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +extern char *initstate (unsigned int __seed, char *__statebuf, + size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +struct random_data + { + int32_t *fptr; + int32_t *rptr; + int32_t *state; + int rand_type; + int rand_deg; + int rand_sep; + int32_t *end_ptr; + }; + +extern int random_r (struct random_data *__restrict __buf, + int32_t *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int srandom_r (unsigned int __seed, struct random_data *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, + size_t __statelen, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); + +extern int setstate_r (char *__restrict __statebuf, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern int rand (void) __attribute__ ((__nothrow__ , __leaf__)); + +extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int nrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int jrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__)); +extern unsigned short int *seed48 (unsigned short int __seed16v[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +struct drand48_data + { + unsigned short int __x[3]; + unsigned short int __old_x[3]; + unsigned short int __c; + unsigned short int __init; + __extension__ unsigned long long int __a; + + }; + + +extern int drand48_r (struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int erand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int lrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int nrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int mrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int jrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int srand48_r (long int __seedval, struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int seed48_r (unsigned short int __seed16v[3], + struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int lcong48_r (unsigned short int __param[7], + struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern __uint32_t arc4random (void) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + +extern void arc4random_buf (void *__buf, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern __uint32_t arc4random_uniform (__uint32_t __upper_bound) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + +extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__)); + +extern void *calloc (size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) __attribute__ ((__warn_unused_result__)); + + + + + + +extern void *realloc (void *__ptr, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); + + +extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__alloc_size__ (2, 3))) + __attribute__ ((__malloc__ (__builtin_free, 1))); + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__ (reallocarray, 1))); + + + +# 1 "/usr/include/alloca.h" 1 3 4 +# 24 "/usr/include/alloca.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 25 "/usr/include/alloca.h" 2 3 4 + + + + + + + +extern void *alloca (size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + +# 707 "/usr/include/stdlib.h" 2 3 4 + + + + + +extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__)); + + + + +extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + + +extern void *aligned_alloc (size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) + __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__)); + + + +extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + +extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void quick_exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + +extern char *getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 786 "/usr/include/stdlib.h" 3 4 +extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int setenv (const char *__name, const char *__value, int __replace) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + +extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int clearenv (void) __attribute__ ((__nothrow__ , __leaf__)); +# 814 "/usr/include/stdlib.h" 3 4 +extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 827 "/usr/include/stdlib.h" 3 4 +extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 849 "/usr/include/stdlib.h" 3 4 +extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 870 "/usr/include/stdlib.h" 3 4 +extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 923 "/usr/include/stdlib.h" 3 4 +extern int system (const char *__command) __attribute__ ((__warn_unused_result__)); +# 940 "/usr/include/stdlib.h" 3 4 +extern char *realpath (const char *__restrict __name, + char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + + + +typedef int (*__compar_fn_t) (const void *, const void *); +# 960 "/usr/include/stdlib.h" 3 4 +extern void *bsearch (const void *__key, const void *__base, + size_t __nmemb, size_t __size, __compar_fn_t __compar) + __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__)); + + +# 1 "/usr/include/bits/stdlib-bsearch.h" 1 3 4 +# 19 "/usr/include/bits/stdlib-bsearch.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) void * +bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) +{ + size_t __l, __u, __idx; + const void *__p; + int __comparison; + + __l = 0; + __u = __nmemb; + while (__l < __u) + { + __idx = (__l + __u) / 2; + __p = (const void *) (((const char *) __base) + (__idx * __size)); + __comparison = (*__compar) (__key, __p); + if (__comparison < 0) + __u = __idx; + else if (__comparison > 0) + __l = __idx + 1; + else + { + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wcast-qual" + + return (void *) __p; + +#pragma GCC diagnostic pop + + } + } + + return ((void *)0); +} +# 966 "/usr/include/stdlib.h" 2 3 4 + + + + +extern void qsort (void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); +# 980 "/usr/include/stdlib.h" 3 4 +extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); +extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); + + +__extension__ extern long long int llabs (long long int __x) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); + + + + + + +extern div_t div (int __numer, int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); +extern ldiv_t ldiv (long int __numer, long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); + + +__extension__ extern lldiv_t lldiv (long long int __numer, + long long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); +# 1012 "/usr/include/stdlib.h" 3 4 +extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); + + + + +extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); + + + + +extern char *gcvt (double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); + + + + +extern char *qecvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); +extern char *qfcvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); +extern char *qgcvt (long double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); + + + + +extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + +extern int qecvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int qfcvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + + + + + +extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int mbtowc (wchar_t *__restrict __pwc, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern size_t mbstowcs (wchar_t *__restrict __pwcs, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__read_only__, 2))); + +extern size_t wcstombs (char *__restrict __s, + const wchar_t *__restrict __pwcs, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))) + __attribute__ ((__access__ (__read_only__, 2))); + + + + + + +extern int rpmatch (const char *__response) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 1099 "/usr/include/stdlib.h" 3 4 +extern int getsubopt (char **__restrict __optionp, + char *const *__restrict __tokens, + char **__restrict __valuep) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__)); +# 1145 "/usr/include/stdlib.h" 3 4 +extern int getloadavg (double __loadavg[], int __nelem) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 1155 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/bits/stdlib-float.h" 1 3 4 +# 24 "/usr/include/bits/stdlib-float.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) double +__attribute__ ((__nothrow__ , __leaf__)) atof (const char *__nptr) +{ + return strtod (__nptr, (char **) ((void *)0)); +} +# 1156 "/usr/include/stdlib.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdlib.h" 1 3 4 +# 23 "/usr/include/bits/stdlib.h" 3 4 +extern char *__realpath_chk (const char *__restrict __name, + char *__restrict __resolved, + size_t __resolvedlen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +extern char *__realpath_alias (const char *__restrict __name, char *__restrict __resolved) __asm__ ("" "realpath") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__warn_unused_result__)); +extern char *__realpath_chk_warn (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) __asm__ ("" "__realpath_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + __attribute__ ((__warn_unused_result__)) + __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer"))) + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * +__attribute__ ((__nothrow__ , __leaf__)) realpath (const char *__restrict __name, char *__restrict __resolved) +{ + size_t sz = __builtin_dynamic_object_size (__resolved, 1); + + if (sz == (size_t) -1) + return __realpath_alias (__name, __resolved); + + + + + + return __realpath_chk (__name, __resolved, sz); +} + + +extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen, + size_t __nreal) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) + __attribute__ ((__access__ (__write_only__, 2, 3))); +extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) __asm__ ("" "ptsname_r") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3))); +extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__ptsname_r_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf"))) + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) ptsname_r (int __fd, char *__buf, size_t __buflen) +{ + return (((__builtin_constant_p (__builtin_dynamic_object_size (__buf, 1)) && (__builtin_dynamic_object_size (__buf, 1)) == (long unsigned int) -1) || (((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((long unsigned int) (__buflen)) <= ((__builtin_dynamic_object_size (__buf, 1))) / ((sizeof (char))))) && (((long unsigned int) (__buflen)) <= ((__builtin_dynamic_object_size (__buf, 1))) / ((sizeof (char)))))) ? __ptsname_r_alias (__fd, __buf, __buflen) : ((((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((long unsigned int) (__buflen)) <= (__builtin_dynamic_object_size (__buf, 1)) / (sizeof (char)))) && !(((long unsigned int) (__buflen)) <= (__builtin_dynamic_object_size (__buf, 1)) / (sizeof (char)))) ? __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_dynamic_object_size (__buf, 1)) : __ptsname_r_chk (__fd, __buf, __buflen, __builtin_dynamic_object_size (__buf, 1)))) + + ; +} + + +extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +extern int __wctomb_alias (char *__s, wchar_t __wchar) __asm__ ("" "wctomb") __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__warn_unused_result__)); + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int +__attribute__ ((__nothrow__ , __leaf__)) wctomb (char *__s, wchar_t __wchar) +{ + + + + + + + + if (__builtin_dynamic_object_size (__s, 1) != (size_t) -1 + && 16 > __builtin_dynamic_object_size (__s, 1)) + return __wctomb_chk (__s, __wchar, __builtin_dynamic_object_size (__s, 1)); + return __wctomb_alias (__s, __wchar); +} + + +extern size_t __mbstowcs_chk (wchar_t *__restrict __dst, + const char *__restrict __src, + size_t __len, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __mbstowcs_nulldst (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) __asm__ ("" "mbstowcs") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) __asm__ ("" "mbstowcs") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__mbstowcs_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) + +{ + if (__builtin_constant_p (__dst == ((void *)0)) && __dst == ((void *)0)) + return __mbstowcs_nulldst (__dst, __src, __len); + else + return (((__builtin_constant_p (__builtin_dynamic_object_size (__dst, 1)) && (__builtin_dynamic_object_size (__dst, 1)) == (long unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (wchar_t))))) && (((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (wchar_t)))))) ? __mbstowcs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t)))) && !(((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t)))) ? __mbstowcs_chk_warn (__dst, __src, __len, (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t))) : __mbstowcs_chk (__dst, __src, __len, (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t))))) + ; +} + +extern size_t __wcstombs_chk (char *__restrict __dst, + const wchar_t *__restrict __src, + size_t __len, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __wcstombs_alias (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) __asm__ ("" "wcstombs") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __wcstombs_chk_warn (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__wcstombs_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len"))); + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) + +{ + return (((__builtin_constant_p (__builtin_dynamic_object_size (__dst, 1)) && (__builtin_dynamic_object_size (__dst, 1)) == (long unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (char))))) && (((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (char)))))) ? __wcstombs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (char)))) && !(((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (char)))) ? __wcstombs_chk_warn (__dst, __src, __len, __builtin_dynamic_object_size (__dst, 1)) : __wcstombs_chk (__dst, __src, __len, __builtin_dynamic_object_size (__dst, 1)))) + + ; +} +# 1160 "/usr/include/stdlib.h" 2 3 4 + + + + + + + + +# 4 "include/array.h" 2 + + + + + + + + +# 11 "include/array.h" +typedef struct array_impl *array_t; +typedef void (*array_free_callback_t)(void* item); + +__attribute__((warn_unused_result)) +array_t array_new (void); + +__attribute__((warn_unused_result)) +array_t array_new_sized (size_t size); + +__attribute__((nonnull (1))) +void* array_insert (array_t, size_t idx, void* item); + +__attribute__((nonnull (1))) +void* array_remove (array_t, size_t idx); + +__attribute__((nonnull (1), warn_unused_result)) +void* array_pop (array_t); + +__attribute__((nonnull (1))) +void* array_append (array_t, void* item); + +__attribute__((nonnull)) +void* array_get (array_t, size_t idx); + +__attribute__((nonnull)) +size_t array_length (array_t); + +__attribute__((nonnull (1))) +void array_free_cb (array_t, array_free_callback_t); + +__attribute__((nonnull (1))) +void array_free (array_t); +# 2 "src/array.c" 2 +# 1 "include/generic.h" 1 + + +# 1 "include/ansi-colors.h" 1 + + +# 1 "include/io.h" 1 + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 1 3 4 +# 9 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 3 4 +# 1 "/usr/include/stdint.h" 1 3 4 +# 26 "/usr/include/stdint.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/stdint.h" 2 3 4 + +# 1 "/usr/include/bits/wchar.h" 1 3 4 +# 29 "/usr/include/stdint.h" 2 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 30 "/usr/include/stdint.h" 2 3 4 + + + + + + + +# 1 "/usr/include/bits/stdint-uintn.h" 1 3 4 +# 24 "/usr/include/bits/stdint-uintn.h" 3 4 + +# 24 "/usr/include/bits/stdint-uintn.h" 3 4 +typedef __uint8_t uint8_t; +typedef __uint16_t uint16_t; +typedef __uint32_t uint32_t; +typedef __uint64_t uint64_t; +# 38 "/usr/include/stdint.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdint-least.h" 1 3 4 +# 25 "/usr/include/bits/stdint-least.h" 3 4 +typedef __int_least8_t int_least8_t; +typedef __int_least16_t int_least16_t; +typedef __int_least32_t int_least32_t; +typedef __int_least64_t int_least64_t; + + +typedef __uint_least8_t uint_least8_t; +typedef __uint_least16_t uint_least16_t; +typedef __uint_least32_t uint_least32_t; +typedef __uint_least64_t uint_least64_t; +# 42 "/usr/include/stdint.h" 2 3 4 + + + + + +typedef signed char int_fast8_t; + +typedef long int int_fast16_t; +typedef long int int_fast32_t; +typedef long int int_fast64_t; +# 60 "/usr/include/stdint.h" 3 4 +typedef unsigned char uint_fast8_t; + +typedef unsigned long int uint_fast16_t; +typedef unsigned long int uint_fast32_t; +typedef unsigned long int uint_fast64_t; +# 76 "/usr/include/stdint.h" 3 4 +typedef long int intptr_t; + + +typedef unsigned long int uintptr_t; +# 90 "/usr/include/stdint.h" 3 4 +typedef __intmax_t intmax_t; +typedef __uintmax_t uintmax_t; +# 10 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 2 3 4 +# 4 "include/io.h" 2 +# 1 "/usr/include/stdio.h" 1 3 4 +# 28 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 29 "/usr/include/stdio.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 35 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdarg.h" 1 3 4 +# 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdarg.h" 3 4 +typedef __builtin_va_list __gnuc_va_list; +# 38 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/include/bits/types/__fpos_t.h" 1 3 4 + + + + +# 1 "/usr/include/bits/types/__mbstate_t.h" 1 3 4 +# 13 "/usr/include/bits/types/__mbstate_t.h" 3 4 +typedef struct +{ + int __count; + union + { + unsigned int __wch; + char __wchb[4]; + } __value; +} __mbstate_t; +# 6 "/usr/include/bits/types/__fpos_t.h" 2 3 4 + + + + +typedef struct _G_fpos_t +{ + __off_t __pos; + __mbstate_t __state; +} __fpos_t; +# 41 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/__fpos64_t.h" 1 3 4 +# 10 "/usr/include/bits/types/__fpos64_t.h" 3 4 +typedef struct _G_fpos64_t +{ + __off64_t __pos; + __mbstate_t __state; +} __fpos64_t; +# 42 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/__FILE.h" 1 3 4 + + + +struct _IO_FILE; +typedef struct _IO_FILE __FILE; +# 43 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/FILE.h" 1 3 4 + + + +struct _IO_FILE; + + +typedef struct _IO_FILE FILE; +# 44 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/struct_FILE.h" 1 3 4 +# 35 "/usr/include/bits/types/struct_FILE.h" 3 4 +struct _IO_FILE; +struct _IO_marker; +struct _IO_codecvt; +struct _IO_wide_data; + + + + +typedef void _IO_lock_t; + + + + + +struct _IO_FILE +{ + int _flags; + + + char *_IO_read_ptr; + char *_IO_read_end; + char *_IO_read_base; + char *_IO_write_base; + char *_IO_write_ptr; + char *_IO_write_end; + char *_IO_buf_base; + char *_IO_buf_end; + + + char *_IO_save_base; + char *_IO_backup_base; + char *_IO_save_end; + + struct _IO_marker *_markers; + + struct _IO_FILE *_chain; + + int _fileno; + int _flags2; + __off_t _old_offset; + + + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + + _IO_lock_t *_lock; + + + + + + + + __off64_t _offset; + + struct _IO_codecvt *_codecvt; + struct _IO_wide_data *_wide_data; + struct _IO_FILE *_freeres_list; + void *_freeres_buf; + size_t __pad5; + int _mode; + + char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; +}; +# 45 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/include/bits/types/cookie_io_functions_t.h" 1 3 4 +# 27 "/usr/include/bits/types/cookie_io_functions_t.h" 3 4 +typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf, + size_t __nbytes); + + + + + + + +typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf, + size_t __nbytes); + + + + + + + +typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w); + + +typedef int cookie_close_function_t (void *__cookie); + + + + + + +typedef struct _IO_cookie_io_functions_t +{ + cookie_read_function_t *read; + cookie_write_function_t *write; + cookie_seek_function_t *seek; + cookie_close_function_t *close; +} cookie_io_functions_t; +# 48 "/usr/include/stdio.h" 2 3 4 + + + + + +typedef __gnuc_va_list va_list; +# 85 "/usr/include/stdio.h" 3 4 +typedef __fpos_t fpos_t; +# 129 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/stdio_lim.h" 1 3 4 +# 130 "/usr/include/stdio.h" 2 3 4 +# 149 "/usr/include/stdio.h" 3 4 +extern FILE *stdin; +extern FILE *stdout; +extern FILE *stderr; + + + + + + +extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); + +extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int renameat (int __oldfd, const char *__old, int __newfd, + const char *__new) __attribute__ ((__nothrow__ , __leaf__)); +# 184 "/usr/include/stdio.h" 3 4 +extern int fclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 194 "/usr/include/stdio.h" 3 4 +extern FILE *tmpfile (void) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); +# 211 "/usr/include/stdio.h" 3 4 +extern char *tmpnam (char[20]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + +extern char *tmpnam_r (char __s[20]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +# 228 "/usr/include/stdio.h" 3 4 +extern char *tempnam (const char *__dir, const char *__pfx) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__malloc__ (__builtin_free, 1))); + + + + + + +extern int fflush (FILE *__stream); +# 245 "/usr/include/stdio.h" 3 4 +extern int fflush_unlocked (FILE *__stream); +# 264 "/usr/include/stdio.h" 3 4 +extern FILE *fopen (const char *__restrict __filename, + const char *__restrict __modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *freopen (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (3))); +# 299 "/usr/include/stdio.h" 3 4 +extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + + +extern FILE *fopencookie (void *__restrict __magic_cookie, + const char *__restrict __modes, + cookie_io_functions_t __io_funcs) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); +# 334 "/usr/include/stdio.h" 3 4 +extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__nonnull__ (1))); + + + +extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, + size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int fprintf (FILE *__restrict __stream, + const char *__restrict __format, ...) __attribute__ ((__nonnull__ (1))); + + + + +extern int printf (const char *__restrict __format, ...); + +extern int sprintf (char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__)); + + + + + +extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nonnull__ (1))); + + + + +extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); + +extern int vsprintf (char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nothrow__)); + + + +extern int snprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); + +extern int vsnprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); + + + + + +extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, + __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__)); +extern int __asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); +extern int asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); + + + + +extern int vdprintf (int __fd, const char *__restrict __fmt, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 2, 0))); +extern int dprintf (int __fd, const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); + + + + + + + +extern int fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); + +extern int sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); +# 463 "/usr/include/stdio.h" 3 4 +extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") + + __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") + __attribute__ ((__warn_unused_result__)); +extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__)) + + ; +# 490 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); + + +extern int vsscanf (const char *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); +# 540 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") + + + + __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") + + __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); +extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__format__ (__scanf__, 2, 0))); +# 575 "/usr/include/stdio.h" 3 4 +extern int fgetc (FILE *__stream) __attribute__ ((__nonnull__ (1))); +extern int getc (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + + + + +extern int getchar (void); + + + + + + +extern int getc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); +extern int getchar_unlocked (void); +# 600 "/usr/include/stdio.h" 3 4 +extern int fgetc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 611 "/usr/include/stdio.h" 3 4 +extern int fputc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); +extern int putc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + +extern int putchar (int __c); +# 627 "/usr/include/stdio.h" 3 4 +extern int fputc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + + +extern int putc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); +extern int putchar_unlocked (int __c); + + + + + + +extern int getw (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + +extern int putw (int __w, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + + +extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1))) __attribute__ ((__nonnull__ (3))); +# 694 "/usr/include/stdio.h" 3 4 +extern __ssize_t __getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))); +extern __ssize_t getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))); + + + + + + + +extern __ssize_t getline (char **__restrict __lineptr, + size_t *__restrict __n, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (3))); + + + + + + + +extern int fputs (const char *__restrict __s, FILE *__restrict __stream) + __attribute__ ((__nonnull__ (2))); + + + + + +extern int puts (const char *__s); + + + + + + +extern int ungetc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + +extern size_t fread (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__nonnull__ (4))); + + + + +extern size_t fwrite (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __s) __attribute__ ((__nonnull__ (4))); +# 766 "/usr/include/stdio.h" 3 4 +extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__nonnull__ (4))); +extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) + __attribute__ ((__nonnull__ (4))); + + + + + + + +extern int fseek (FILE *__stream, long int __off, int __whence) + __attribute__ ((__nonnull__ (1))); + + + + +extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern void rewind (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 803 "/usr/include/stdio.h" 3 4 +extern int fseeko (FILE *__stream, __off_t __off, int __whence) + __attribute__ ((__nonnull__ (1))); + + + + +extern __off_t ftello (FILE *__stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +# 829 "/usr/include/stdio.h" 3 4 +extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) + __attribute__ ((__nonnull__ (1))); + + + + +extern int fsetpos (FILE *__stream, const fpos_t *__pos) __attribute__ ((__nonnull__ (1))); +# 860 "/usr/include/stdio.h" 3 4 +extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + +extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + +extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern void perror (const char *__s) __attribute__ ((__cold__)); + + + + +extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +# 897 "/usr/include/stdio.h" 3 4 +extern int pclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + + + + +extern FILE *popen (const char *__command, const char *__modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + + + +extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))); +# 941 "/usr/include/stdio.h" 3 4 +extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + +extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 959 "/usr/include/stdio.h" 3 4 +extern int __uflow (FILE *); +extern int __overflow (FILE *, int); + + + +# 1 "/usr/include/bits/stdio2-decl.h" 1 3 4 +# 26 "/usr/include/bits/stdio2-decl.h" 3 4 +extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))); +extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + ...) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 2))); +extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 2))); + + + + + +extern int __fprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, ...) + __attribute__ ((__nonnull__ (1))); +extern int __printf_chk (int __flag, const char *__restrict __format, ...); +extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nonnull__ (1))); +extern int __vprintf_chk (int __flag, const char *__restrict __format, + __gnuc_va_list __ap); + + +extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt, + ...) __attribute__ ((__format__ (__printf__, 3, 4))); +extern int __vdprintf_chk (int __fd, int __flag, + const char *__restrict __fmt, __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 3, 0))); +# 96 "/usr/include/bits/stdio2-decl.h" 3 4 +extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets") + + + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2))); +extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk") + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer"))) + ; + +extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, + FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__nonnull__ (4))); + +extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread") + + + __attribute__ ((__warn_unused_result__)); +extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk") + + + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer"))) + ; + +extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (5))); +# 145 "/usr/include/bits/stdio2-decl.h" 3 4 +extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked") + + + __attribute__ ((__warn_unused_result__)); +extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk") + + + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer"))) + ; + +extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (5))); +# 965 "/usr/include/stdio.h" 2 3 4 +# 976 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/stdio.h" 1 3 4 +# 46 "/usr/include/bits/stdio.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +getchar (void) +{ + return getc (stdin); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +fgetc_unlocked (FILE *__fp) +{ + return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +} + + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +getc_unlocked (FILE *__fp) +{ + return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +getchar_unlocked (void) +{ + return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +putchar (int __c) +{ + return putc (__c, stdout); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +fputc_unlocked (int __c, FILE *__stream) +{ + return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); +} + + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +putc_unlocked (int __c, FILE *__stream) +{ + return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +putchar_unlocked (int __c) +{ + return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); +} +# 127 "/usr/include/bits/stdio.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) feof_unlocked (FILE *__stream) +{ + return (((__stream)->_flags & 0x0010) != 0); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) ferror_unlocked (FILE *__stream) +{ + return (((__stream)->_flags & 0x0020) != 0); +} +# 977 "/usr/include/stdio.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdio2.h" 1 3 4 +# 27 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) +{ + return __builtin___sprintf_chk (__s, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, + __builtin_va_arg_pack ()); +} + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) + +{ + return __builtin___vsprintf_chk (__s, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, __ap); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) + +{ + return __builtin___snprintf_chk (__s, __n, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, + __builtin_va_arg_pack ()); +} + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) + +{ + return __builtin___vsnprintf_chk (__s, __n, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, __ap); +} + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) int +fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...) +{ + return __fprintf_chk (__stream, 3 - 1, __fmt, + __builtin_va_arg_pack ()); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +printf (const char *__restrict __fmt, ...) +{ + return __printf_chk (3 - 1, __fmt, __builtin_va_arg_pack ()); +} + + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +vprintf (const char *__restrict __fmt, __gnuc_va_list __ap) +{ + + return __vfprintf_chk (stdout, 3 - 1, __fmt, __ap); + + + +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) int +vfprintf (FILE *__restrict __stream, + const char *__restrict __fmt, __gnuc_va_list __ap) +{ + return __vfprintf_chk (__stream, 3 - 1, __fmt, __ap); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +dprintf (int __fd, const char *__restrict __fmt, ...) +{ + return __dprintf_chk (__fd, 3 - 1, __fmt, + __builtin_va_arg_pack ()); +} + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap) +{ + return __vdprintf_chk (__fd, 3 - 1, __fmt, __ap); +} +# 194 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1))) +__attribute__ ((__nonnull__ (3))) char * +fgets (char *__restrict __s, int __n, FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__s, 1); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))) && (((long unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))))) + return __fgets_alias (__s, __n, __stream); + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (sizeof (char)))) && !(((long unsigned int) (__n)) <= (sz) / (sizeof (char))))) + return __fgets_chk_warn (__s, sz, __n, __stream); + return __fgets_chk (__s, sz, __n, __stream); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))) size_t +fread (void *__restrict __ptr, size_t __size, size_t __n, + FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__ptr, 0); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((long unsigned int) (__n)) <= ((sz)) / ((__size)))))) + return __fread_alias (__ptr, __size, __n, __stream); + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (__size))) && !(((long unsigned int) (__n)) <= (sz) / (__size)))) + return __fread_chk_warn (__ptr, sz, __size, __n, __stream); + return __fread_chk (__ptr, sz, __size, __n, __stream); +} +# 234 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))) size_t +fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, + FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__ptr, 0); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((long unsigned int) (__n)) <= ((sz)) / ((__size)))))) + { + + if (__builtin_constant_p (__size) + && __builtin_constant_p (__n) + && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2)) + && __size * __n <= 8) + { + size_t __cnt = __size * __n; + char *__cptr = (char *) __ptr; + if (__cnt == 0) + return 0; + + for (; __cnt > 0; --__cnt) + { + int __c = getc_unlocked (__stream); + if (__c == (-1)) + break; + *__cptr++ = __c; + } + return (__cptr - (char *) __ptr) / __size; + } + + return __fread_unlocked_alias (__ptr, __size, __n, __stream); + } + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (__size))) && !(((long unsigned int) (__n)) <= (sz) / (__size)))) + return __fread_unlocked_chk_warn (__ptr, sz, __size, __n, __stream); + return __fread_unlocked_chk (__ptr, sz, __size, __n, __stream); + +} +# 981 "/usr/include/stdio.h" 2 3 4 + + + +# 5 "include/io.h" 2 + + +# 6 "include/io.h" +typedef FILE* fptr_t; + +typedef struct +{ + fptr_t ptr; + uint8_t* buffer; + const char* path; + size_t size; +} *memstream_t; + +__attribute__((warn_unused_result, nonnull)) +fptr_t io_open_file (const char* filename, const char* mode); + +__attribute__((warn_unused_result, nonnull)) +uint8_t* io_alloc_file_buffer (fptr_t file); + +__attribute__((nonnull (1, 2))) +size_t io_read_file_into_buffer (fptr_t file, uint8_t* const buffer, uint64_t buffer_size); + +__attribute__((nonnull (1), warn_unused_result)) +memstream_t io_read_file_into_memstream (fptr_t file, const char* const path); + +__attribute__((nonnull)) +void io_free_memstream (memstream_t stream); + +__attribute__((nonnull)) +void io_close_file (fptr_t file); +# 4 "include/ansi-colors.h" 2 +# 34 "include/ansi-colors.h" +void cprintf (const char* ccode, const char* fmt, ...); + +__attribute__((nonnull (1))) +void cfprintf (fptr_t file, const char* ccode, const char* fmt, ...); +# 4 "include/generic.h" 2 + +# 1 "/usr/include/errno.h" 1 3 4 +# 28 "/usr/include/errno.h" 3 4 +# 1 "/usr/include/bits/errno.h" 1 3 4 +# 26 "/usr/include/bits/errno.h" 3 4 +# 1 "/usr/include/linux/errno.h" 1 3 4 +# 1 "/usr/include/asm/errno.h" 1 3 4 +# 1 "/usr/include/asm-generic/errno.h" 1 3 4 + + + + +# 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 +# 6 "/usr/include/asm-generic/errno.h" 2 3 4 +# 2 "/usr/include/asm/errno.h" 2 3 4 +# 2 "/usr/include/linux/errno.h" 2 3 4 +# 27 "/usr/include/bits/errno.h" 2 3 4 +# 29 "/usr/include/errno.h" 2 3 4 + + + + + + + + + +# 37 "/usr/include/errno.h" 3 4 +extern int *__errno_location (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +# 52 "/usr/include/errno.h" 3 4 + +# 6 "include/generic.h" 2 + + +# 1 "/usr/include/string.h" 1 3 4 +# 26 "/usr/include/string.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/string.h" 2 3 4 + + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 34 "/usr/include/string.h" 2 3 4 +# 43 "/usr/include/string.h" 3 4 +extern void *memcpy (void *__restrict __dest, const void *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void *memmove (void *__dest, const void *__src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern void *memccpy (void *__restrict __dest, const void *__restrict __src, + int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 4))); + + + + +extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern int memcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 80 "/usr/include/string.h" 3 4 +extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 107 "/usr/include/string.h" 3 4 +extern void *memchr (const void *__s, int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 141 "/usr/include/string.h" 3 4 +extern char *strcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern char *strcat (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncat (char *__restrict __dest, const char *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int strncmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcoll (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern size_t strxfrm (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +# 1 "/usr/include/bits/types/locale_t.h" 1 3 4 +# 22 "/usr/include/bits/types/locale_t.h" 3 4 +# 1 "/usr/include/bits/types/__locale_t.h" 1 3 4 +# 27 "/usr/include/bits/types/__locale_t.h" 3 4 +struct __locale_struct +{ + + struct __locale_data *__locales[13]; + + + const unsigned short int *__ctype_b; + const int *__ctype_tolower; + const int *__ctype_toupper; + + + const char *__names[13]; +}; + +typedef struct __locale_struct *__locale_t; +# 23 "/usr/include/bits/types/locale_t.h" 2 3 4 + +typedef __locale_t locale_t; +# 173 "/usr/include/string.h" 2 3 4 + + +extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + +extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, + locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + + + +extern char *strdup (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern char *strndup (const char *__string, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); +# 246 "/usr/include/string.h" 3 4 +extern char *strchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 273 "/usr/include/string.h" 3 4 +extern char *strrchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 286 "/usr/include/string.h" 3 4 +extern char *strchrnul (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern size_t strcspn (const char *__s, const char *__reject) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern size_t strspn (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 323 "/usr/include/string.h" 3 4 +extern char *strpbrk (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 350 "/usr/include/string.h" 3 4 +extern char *strstr (const char *__haystack, const char *__needle) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strtok (char *__restrict __s, const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *__strtok_r (char *__restrict __s, + const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); + +extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); +# 380 "/usr/include/string.h" 3 4 +extern char *strcasestr (const char *__haystack, const char *__needle) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + + +extern void *memmem (const void *__haystack, size_t __haystacklen, + const void *__needle, size_t __needlelen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))) + __attribute__ ((__access__ (__read_only__, 1, 2))) + __attribute__ ((__access__ (__read_only__, 3, 4))); + + + +extern void *__mempcpy (void *__restrict __dest, + const void *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern void *mempcpy (void *__restrict __dest, + const void *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern size_t strlen (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern size_t strnlen (const char *__string, size_t __maxlen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern char *strerror (int __errnum) __attribute__ ((__nothrow__ , __leaf__)); +# 432 "/usr/include/string.h" 3 4 +extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__nonnull__ (2))) + __attribute__ ((__access__ (__write_only__, 2, 3))); +# 458 "/usr/include/string.h" 3 4 +extern char *strerror_l (int __errnum, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); + + + +# 1 "/usr/include/strings.h" 1 3 4 +# 23 "/usr/include/strings.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 24 "/usr/include/strings.h" 2 3 4 + + + + + + + + + + +extern int bcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bcopy (const void *__src, void *__dest, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 68 "/usr/include/strings.h" 3 4 +extern char *index (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 96 "/usr/include/strings.h" 3 4 +extern char *rindex (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int ffs (int __i) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + + + +extern int ffsl (long int __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +__extension__ extern int ffsll (long long int __ll) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + +extern int strcasecmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + +extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + + +extern int strncasecmp_l (const char *__s1, const char *__s2, + size_t __n, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); + + + + + + + + +# 1 "/usr/include/bits/strings_fortified.h" 1 3 4 +# 22 "/usr/include/bits/strings_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void +__attribute__ ((__nothrow__ , __leaf__)) bcopy (const void *__src, void *__dest, size_t __len) +{ + (void) __builtin___memmove_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 0)); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void +__attribute__ ((__nothrow__ , __leaf__)) bzero (void *__dest, size_t __len) +{ + (void) __builtin___memset_chk (__dest, '\0', __len, + __builtin_dynamic_object_size (__dest, 0)); +} +# 145 "/usr/include/strings.h" 2 3 4 +# 463 "/usr/include/string.h" 2 3 4 + + + +extern void explicit_bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) + __attribute__ ((__access__ (__write_only__, 1))); + + + +extern char *strsep (char **__restrict __stringp, + const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__)); +# 489 "/usr/include/string.h" 3 4 +extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + +extern char *__stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern size_t strlcpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +extern size_t strlcat (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__read_write__, 1, 3))); +# 548 "/usr/include/string.h" 3 4 +# 1 "/usr/include/bits/string_fortified.h" 1 3 4 +# 25 "/usr/include/bits/string_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * +__attribute__ ((__nothrow__ , __leaf__)) memcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) + +{ + return __builtin___memcpy_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 0)); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * +__attribute__ ((__nothrow__ , __leaf__)) memmove (void *__dest, const void *__src, size_t __len) +{ + return __builtin___memmove_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 0)); +} +# 56 "/usr/include/bits/string_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * +__attribute__ ((__nothrow__ , __leaf__)) memset (void *__dest, int __ch, size_t __len) +{ + return __builtin___memset_chk (__dest, __ch, __len, + __builtin_dynamic_object_size (__dest, 0)); +} + + + + +void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1))); + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void +__attribute__ ((__nothrow__ , __leaf__)) explicit_bzero (void *__dest, size_t __len) +{ + __explicit_bzero_chk (__dest, __len, __builtin_dynamic_object_size (__dest, 0)); +} + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strcpy (char *__restrict __dest, const char *__restrict __src) +{ + return __builtin___strcpy_chk (__dest, __src, __builtin_dynamic_object_size (__dest, 1)); +} + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) stpcpy (char *__restrict __dest, const char *__restrict __src) +{ + return __builtin___stpcpy_chk (__dest, __src, __builtin_dynamic_object_size (__dest, 1)); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strncpy (char *__restrict __dest, const char *__restrict __src, size_t __len) + +{ + return __builtin___strncpy_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 1)); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) stpncpy (char *__dest, const char *__src, size_t __n) +{ + return __builtin___stpncpy_chk (__dest, __src, __n, + __builtin_dynamic_object_size (__dest, 1)); +} +# 127 "/usr/include/bits/string_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strcat (char *__restrict __dest, const char *__restrict __src) +{ + return __builtin___strcat_chk (__dest, __src, __builtin_dynamic_object_size (__dest, 1)); +} + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strncat (char *__restrict __dest, const char *__restrict __src, size_t __len) + +{ + return __builtin___strncat_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 1)); +} + + +extern size_t __strlcpy_chk (char *__dest, const char *__src, size_t __n, + size_t __destlen) __attribute__ ((__nothrow__ , __leaf__)); +extern size_t __strlcpy_alias (char *__dest, const char *__src, size_t __n) __asm__ ("" "strlcpy") __attribute__ ((__nothrow__ , __leaf__)) + + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) strlcpy (char *__restrict __dest, const char *__restrict __src, size_t __n) + +{ + if (__builtin_dynamic_object_size (__dest, 1) != (size_t) -1 + && (!__builtin_constant_p (__n > __builtin_dynamic_object_size (__dest, 1)) + || __n > __builtin_dynamic_object_size (__dest, 1))) + return __strlcpy_chk (__dest, __src, __n, __builtin_dynamic_object_size (__dest, 1)); + return __strlcpy_alias (__dest, __src, __n); +} + +extern size_t __strlcat_chk (char *__dest, const char *__src, size_t __n, + size_t __destlen) __attribute__ ((__nothrow__ , __leaf__)); +extern size_t __strlcat_alias (char *__dest, const char *__src, size_t __n) __asm__ ("" "strlcat") __attribute__ ((__nothrow__ , __leaf__)) + + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) strlcat (char *__restrict __dest, const char *__restrict __src, size_t __n) + +{ + if (__builtin_dynamic_object_size (__dest, 1) != (size_t) -1 + && (!__builtin_constant_p (__n > __builtin_dynamic_object_size (__dest, 1)) + || __n > __builtin_dynamic_object_size (__dest, 1))) + return __strlcat_chk (__dest, __src, __n, __builtin_dynamic_object_size (__dest, 1)); + return __strlcat_alias (__dest, __src, __n); +} +# 549 "/usr/include/string.h" 2 3 4 + + + + +# 9 "include/generic.h" 2 +# 1 "/usr/include/inttypes.h" 1 3 4 +# 34 "/usr/include/inttypes.h" 3 4 +typedef int __gwchar_t; +# 327 "/usr/include/inttypes.h" 3 4 + + + + + +typedef struct + { + long int quot; + long int rem; + } imaxdiv_t; +# 351 "/usr/include/inttypes.h" 3 4 +extern intmax_t imaxabs (intmax_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + +extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + +extern intmax_t strtoimax (const char *__restrict __nptr, + char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); + + +extern uintmax_t strtoumax (const char *__restrict __nptr, + char ** __restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); + + +extern intmax_t wcstoimax (const __gwchar_t *__restrict __nptr, + __gwchar_t **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)); + + +extern uintmax_t wcstoumax (const __gwchar_t *__restrict __nptr, + __gwchar_t ** __restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)); +# 415 "/usr/include/inttypes.h" 3 4 + +# 10 "include/generic.h" 2 +# 80 "include/generic.h" + +# 80 "include/generic.h" +void __chk_free_impl (const char* fn, void* ptr); +void __chk_free_impl_nofn (void* ptr); +void* __chk_calloc_impl (const char* fn, size_t nmemb, size_t size); +void* __chk_realloc_impl (const char* fn, void* ptr, size_t size); + + +void dbg_mem_dump_stats (void); +# 3 "src/array.c" 2 +# 14 "src/array.c" +struct array_impl +{ + void** data; + size_t length, capacity; +}; + +void array_impl_resize (array_t self); +void array_impl_downsize (array_t self); + +void +array_impl_resize (array_t self) +{ + if (!(self->length == self->capacity)) { fprintf (( +# 26 "src/array.c" 3 4 + stderr +# 26 "src/array.c" + ), "\033[1;" "37m" "%s:%" +# 26 "src/array.c" 3 4 + "u" +# 26 "src/array.c" + "\033[0m" ": " "\033[1;" "31m" "error: " "\033[0m" "\033[1;" "37m" "Assertion failed: " "\033[0m" "%s" "\n", "src/array.c", 26, "self->length == self->capacity"); { fprintf (( +# 26 "src/array.c" 3 4 + stderr +# 26 "src/array.c" + ), "\033[1;" "37m" "%s:%" +# 26 "src/array.c" 3 4 + "u" +# 26 "src/array.c" + "\033[0m" ": " "\033[1;" "31m" "error: " "\033[0m" "Expected array length to be at capacity" "\n", "src/array.c", 26); exit ( +# 26 "src/array.c" 3 4 + 1 +# 26 "src/array.c" + ); }; }; + self->data = __chk_realloc_impl (__func__, (self->data), (2 * self->capacity * (sizeof (void*)))); + fprintf (( +# 28 "src/array.c" 3 4 + stdout +# 28 "src/array.c" + ), "\033[1;" "37m" "%s:%" +# 28 "src/array.c" 3 4 + "u" +# 28 "src/array.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "resized array %p from %zu bytes to %zu bytes" "\n", "src/array.c", 28, ((void *)((uintptr_t)self & 0xFFFFFFFF)), (sizeof (void*)) * self->capacity, 2 * (sizeof (void*)) * self->capacity) + ; + self->capacity *= 2; +} + + + void + array_impl_downsize (array_t self) + { + if (!(self->length <= self->capacity / 2)) { fprintf (( +# 37 "src/array.c" 3 4 + stderr +# 37 "src/array.c" + ), "\033[1;" "37m" "%s:%" +# 37 "src/array.c" 3 4 + "u" +# 37 "src/array.c" + "\033[0m" ": " "\033[1;" "31m" "error: " "\033[0m" "\033[1;" "37m" "Assertion failed: " "\033[0m" "%s" "\n", "src/array.c", 37, "self->length <= self->capacity / 2"); { fprintf (( +# 37 "src/array.c" 3 4 + stderr +# 37 "src/array.c" + ), "\033[1;" "37m" "%s:%" +# 37 "src/array.c" 3 4 + "u" +# 37 "src/array.c" + "\033[0m" ": " "\033[1;" "31m" "error: " "\033[0m" "Expected array length to be less than half its capacity" "\n", "src/array.c", 37); exit ( +# 37 "src/array.c" 3 4 + 1 +# 37 "src/array.c" + ); }; } + ; + self->data = __chk_realloc_impl (__func__, (self->data), (self->capacity * (sizeof (void*)) / 2)); + fprintf (( +# 40 "src/array.c" 3 4 + stdout +# 40 "src/array.c" + ), "\033[1;" "37m" "%s:%" +# 40 "src/array.c" 3 4 + "u" +# 40 "src/array.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "downsized array %p from %zu bytes to %zu bytes" "\n", "src/array.c", 40, ((void *)((uintptr_t)self & 0xFFFFFFFF)), (sizeof (void*)) * self->capacity, (sizeof (void*)) * self->capacity / 2) + + ; + self->capacity /= 2; + } + + + + +array_t +array_new (void) +{ + fprintf (( +# 52 "src/array.c" 3 4 + stdout +# 52 "src/array.c" + ), "\033[1;" "37m" "%s:%" +# 52 "src/array.c" 3 4 + "u" +# 52 "src/array.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "creating unsized array" "\n", "src/array.c", 52); + return array_new_sized ((32)); +} + +array_t +array_new_sized (size_t size) +{ + array_t array = __chk_calloc_impl (__func__, (1), (sizeof (*(array_t) +# 59 "src/array.c" 3 4 + ((void *)0) +# 59 "src/array.c" + ))); + array->data = __chk_calloc_impl (__func__, (size), ((sizeof (void*)))); + fprintf (( +# 61 "src/array.c" 3 4 + stdout +# 61 "src/array.c" + ), "\033[1;" "37m" "%s:%" +# 61 "src/array.c" 3 4 + "u" +# 61 "src/array.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "new array %p, member capacity: %zu bytes" "\n", "src/array.c", 61, ((void *)((uintptr_t)array & 0xFFFFFFFF)), size * (sizeof (void*))) + ; + array->capacity = size; + return array; +} + +void* +array_insert (array_t self, size_t idx, void* item) +{ + if (self->length == self->capacity) + array_impl_resize (self); + if (idx >= self->length) + { + self->data[self->length++] = item; + return item; + } + memmove (&self->data[1 + idx], &self->data[idx], (sizeof (void*)) * (self->length - idx)); + self->data[idx] = item; + self->length++; + fprintf (( +# 80 "src/array.c" 3 4 + stdout +# 80 "src/array.c" + ), "\033[1;" "37m" "%s:%" +# 80 "src/array.c" 3 4 + "u" +# 80 "src/array.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "inserted to array %p at index %zu: element %p" "\n", "src/array.c", 80, ((void *)((uintptr_t)self & 0xFFFFFFFF)), idx, item) + ; + return item; +} + +void* +array_remove (array_t self, size_t idx) +{ + if (!(self->length > 0)) { fprintf (( +# 88 "src/array.c" 3 4 + stderr +# 88 "src/array.c" + ), "\033[1;" "37m" "%s:%" +# 88 "src/array.c" 3 4 + "u" +# 88 "src/array.c" + "\033[0m" ": " "\033[1;" "31m" "error: " "\033[0m" "\033[1;" "37m" "Assertion failed: " "\033[0m" "%s" "\n", "src/array.c", 88, "self->length > 0"); { fprintf (( +# 88 "src/array.c" 3 4 + stderr +# 88 "src/array.c" + ), "\033[1;" "37m" "%s:%" +# 88 "src/array.c" 3 4 + "u" +# 88 "src/array.c" + "\033[0m" ": " "\033[1;" "31m" "error: " "\033[0m" "Array must be non-empty" "\n", "src/array.c", 88); exit ( +# 88 "src/array.c" 3 4 + 1 +# 88 "src/array.c" + ); }; }; + if (idx >= self->length - 1) + { + __extension__ __auto_type ret = self->data[--self->length]; + array_impl_downsize (self); + return ret; + } + __extension__ __auto_type ret = self->data[idx]; + memmove (&self->data[idx], &self->data[1 + idx], (sizeof (void*)) * (self->length - idx - 1)); + fprintf (( +# 97 "src/array.c" 3 4 + stdout +# 97 "src/array.c" + ), "\033[1;" "37m" "%s:%" +# 97 "src/array.c" 3 4 + "u" +# 97 "src/array.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "removed from array %p at index %zu: element %p" "\n", "src/array.c", 97, ((void *)((uintptr_t)self & 0xFFFFFFFF)), idx, ret) + ; + self->length--; + array_impl_downsize (self); + return ret; +} + +void* +array_pop (array_t self) +{ + fprintf (( +# 107 "src/array.c" 3 4 + stdout +# 107 "src/array.c" + ), "\033[1;" "37m" "%s:%" +# 107 "src/array.c" 3 4 + "u" +# 107 "src/array.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "popping from array %p" "\n", "src/array.c", 107, ((void *)((uintptr_t)self & 0xFFFFFFFF))); + return array_remove (self, self->length); +} + +void* +array_append (array_t self, void* item) +{ + array_insert (self, self->length, item); + fprintf (( +# 115 "src/array.c" 3 4 + stdout +# 115 "src/array.c" + ), "\033[1;" "37m" "%s:%" +# 115 "src/array.c" 3 4 + "u" +# 115 "src/array.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "appended to array %p: element at %p" "\n", "src/array.c", 115, ((void *)((uintptr_t)self & 0xFFFFFFFF)), item); + return item; +} + +void* +array_get (array_t self, size_t idx) +{ + if (!(idx < self->length)) { fprintf (( +# 122 "src/array.c" 3 4 + stderr +# 122 "src/array.c" + ), "\033[1;" "37m" "%s:%" +# 122 "src/array.c" 3 4 + "u" +# 122 "src/array.c" + "\033[0m" ": " "\033[1;" "31m" "error: " "\033[0m" "\033[1;" "37m" "Assertion failed: " "\033[0m" "%s" "\n", "src/array.c", 122, "idx < self->length"); { fprintf (( +# 122 "src/array.c" 3 4 + stderr +# 122 "src/array.c" + ), "\033[1;" "37m" "%s:%" +# 122 "src/array.c" 3 4 + "u" +# 122 "src/array.c" + "\033[0m" ": " "\033[1;" "31m" "error: " "\033[0m" "Tried to read index %zu of array with length %zu" "\n", "src/array.c", 122, idx, self->length); exit ( +# 122 "src/array.c" 3 4 + 1 +# 122 "src/array.c" + ); }; } + ; + fprintf (( +# 124 "src/array.c" 3 4 + stdout +# 124 "src/array.c" + ), "\033[1;" "37m" "%s:%" +# 124 "src/array.c" 3 4 + "u" +# 124 "src/array.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "getting element of array %p at index %zu" "\n", "src/array.c", 124, ((void *)((uintptr_t)self & 0xFFFFFFFF)), idx); + return self->data[idx]; +} + +size_t +array_length (array_t self) +{ + return self->length; +} + +void +array_free_cb (array_t self, array_free_callback_t cb_free) +{ + fprintf (( +# 137 "src/array.c" 3 4 + stdout +# 137 "src/array.c" + ), "\033[1;" "37m" "%s:%" +# 137 "src/array.c" 3 4 + "u" +# 137 "src/array.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "freeing array %p, user provided callback: %p" "\n", "src/array.c", 137, ((void *)((uintptr_t)self & 0xFFFFFFFF)), (void*)&cb_free) + ; + if (cb_free == +# 139 "src/array.c" 3 4 + ((void *)0) +# 139 "src/array.c" + ) + goto no_callback; + void* item; for (size_t i = 0; i < array_length (self) && (item = array_get (self, i)); ++i) + cb_free (item); +no_callback: + array_free (self); +} + +void +array_free (array_t self) +{ + fprintf (( +# 150 "src/array.c" 3 4 + stdout +# 150 "src/array.c" + ), "\033[1;" "37m" "%s:%" +# 150 "src/array.c" 3 4 + "u" +# 150 "src/array.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "freeing array %p" "\n", "src/array.c", 150, ((void *)((uintptr_t)self & 0xFFFFFFFF))); + __chk_free_impl (__func__, self->data); + __chk_free_impl (__func__, self); +} diff --git a/build/array.o b/build/array.o new file mode 100644 index 0000000..3124576 Binary files /dev/null and b/build/array.o differ diff --git a/build/array.s b/build/array.s new file mode 100644 index 0000000..baf093f --- /dev/null +++ b/build/array.s @@ -0,0 +1,12364 @@ + .file "array.c" + .text +.Ltext0: + .file 0 "/home/unazed/Programming/c/ucc-0.2.0" "src/array.c" + .section .rodata + .align 32 +.LC0: + .string "self->length == self->capacity" + .zero 33 + .align 32 +.LC1: + .string "src/array.c" + .zero 52 + .align 32 +.LC2: + .string "\033[1;37m%s:%u\033[0m: \033[1;31merror: \033[0m\033[1;37mAssertion failed: \033[0m%s\n" + .zero 59 + .align 32 +.LC3: + .string "\033[1;37m%s:%u\033[0m: \033[1;31merror: \033[0mExpected array length to be at capacity\n" + .zero 51 + .align 32 +.LC4: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0mresized array %p from %zu bytes to %zu bytes\n" + .zero 43 + .text + .globl array_impl_resize + .type array_impl_resize, @function +array_impl_resize: +.LASANPC53: +.LVL0: +.LFB53: + .file 1 "src/array.c" + .loc 1 25 1 view -0 + .cfi_startproc + .loc 1 25 1 is_stmt 0 view .LVU1 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + .loc 1 26 3 is_stmt 1 view .LVU2 + .loc 1 26 13 is_stmt 0 view .LVU3 + testq %rdi, %rdi + je .L2 + testb $7, %dil + jne .L2 +.LVL1: +.L3: + .loc 1 26 13 view .LVU4 + leaq 8(%rbx), %rdx + cmpq $-8, %rbx + jnb .L35 +.L4: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L36 + movq 8(%rbx), %r13 + .loc 1 26 29 view .LVU5 + testq %rbx, %rbx + je .L6 + testb $7, %bl + jne .L6 +.L7: + leaq 16(%rbx), %rdx + cmpq $-16, %rbx + jnb .L37 +.L8: + leaq 16(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L38 + movq 16(%rbx), %r12 + .loc 1 26 6 view .LVU6 + cmpq %r12, %r13 + jne .L39 + .loc 1 26 6 is_stmt 1 discriminator 2 view .LVU7 + .loc 1 26 9 discriminator 2 view .LVU8 + .loc 1 27 3 view .LVU9 + .loc 1 27 69 is_stmt 0 view .LVU10 + testq %rbx, %rbx + je .L15 + testb $7, %bl + jne .L15 +.L16: + .loc 1 27 16 view .LVU11 + salq $4, %r12 + .loc 1 27 51 view .LVU12 + testq %rbx, %rbx + je .L17 + testb $7, %bl + jne .L17 +.L18: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L40 + movq (%rbx), %rsi + .loc 1 27 16 view .LVU13 + movq %r12, %rdx + leaq __func__.3(%rip), %rdi + call __chk_realloc_impl@PLT +.LVL2: + movq %rax, %r12 + .loc 1 27 14 discriminator 1 view .LVU14 + testq %rbx, %rbx + je .L20 + testb $7, %bl + jne .L20 +.L21: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L41 + movq %r12, (%rbx) + .loc 1 28 3 is_stmt 1 view .LVU15 + .loc 1 28 232 is_stmt 0 view .LVU16 + testq %rbx, %rbx + je .L23 + testb $7, %bl + jne .L23 +.L24: + leaq 16(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L42 + movq 16(%rbx), %r13 + .loc 1 28 3 view .LVU17 + movq %r13, %r14 + salq $4, %r14 + .loc 1 28 193 view .LVU18 + testq %rbx, %rbx + je .L26 + testb $7, %bl + jne .L26 +.L27: + .loc 1 28 3 view .LVU19 + salq $3, %r13 + .loc 1 28 154 view .LVU20 + movl %ebx, %r15d + .loc 1 28 3 view .LVU21 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L43 + movq stdout(%rip), %r12 + testq %r12, %r12 + je .L44 +.L29: +.LVL3: +.LBB46: +.LBI46: + .file 2 "/usr/include/bits/stdio2.h" + .loc 2 77 1 is_stmt 1 view .LVU22 +.LBB47: + .loc 2 79 3 view .LVU23 + .loc 2 79 10 is_stmt 0 view .LVU24 + pushq %r14 + pushq %r13 + movq %r15, %r9 + movl $28, %r8d + leaq .LC1(%rip), %rcx + leaq .LC4(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL4: + .loc 2 79 10 view .LVU25 +.LBE47: +.LBE46: + .loc 1 30 3 is_stmt 1 view .LVU26 + .loc 1 30 7 is_stmt 0 view .LVU27 + addq $16, %rsp + testq %rbx, %rbx + je .L30 + testb $7, %bl + jne .L30 +.L31: + leaq 16(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L45 + .loc 1 30 18 view .LVU28 + movq 16(%rbx), %rax + leaq (%rax,%rax), %r12 + testq %rbx, %rbx + je .L33 + testb $7, %bl + jne .L33 +.L34: + movq %r12, 16(%rbx) + .loc 1 31 1 view .LVU29 + leaq -40(%rbp), %rsp + popq %rbx +.LVL5: + .loc 1 31 1 view .LVU30 + popq %r12 + popq %r13 + popq %r14 + popq %r15 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL6: +.L2: + .cfi_restore_state + .loc 1 26 13 view .LVU31 + movq %rbx, %rsi + leaq .Lubsan_data60(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL7: + jmp .L3 +.L35: + .loc 1 26 13 view .LVU32 + movq %rbx, %rsi + leaq .Lubsan_data61(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL8: + jmp .L4 +.L36: + .loc 1 26 13 view .LVU33 + call __asan_report_load8@PLT +.LVL9: +.L6: + .loc 1 26 29 view .LVU34 + movq %rbx, %rsi + leaq .Lubsan_data62(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL10: + jmp .L7 +.L37: + .loc 1 26 29 view .LVU35 + movq %rbx, %rsi + leaq .Lubsan_data63(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL11: + jmp .L8 +.L38: + .loc 1 26 29 view .LVU36 + call __asan_report_load8@PLT +.LVL12: +.L39: + .loc 1 26 44 is_stmt 1 discriminator 1 view .LVU37 + leaq stderr(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L46 + movq stderr(%rip), %rbx +.LVL13: + .loc 1 26 44 is_stmt 0 discriminator 1 view .LVU38 + testq %rbx, %rbx + je .L47 +.L12: +.LVL14: +.LBB48: +.LBI48: + .loc 2 77 1 is_stmt 1 view .LVU39 +.LBB49: + .loc 2 79 3 view .LVU40 + .loc 2 79 10 is_stmt 0 view .LVU41 + leaq .LC0(%rip), %r9 + movl $26, %r8d + leaq .LC1(%rip), %rcx + leaq .LC2(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL15: + .loc 2 79 10 view .LVU42 +.LBE49: +.LBE48: + .loc 1 26 167 is_stmt 1 discriminator 1 view .LVU43 + leaq stderr(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L48 + movq stderr(%rip), %rbx + testq %rbx, %rbx + je .L49 +.L14: +.LVL16: +.LBB50: +.LBI50: + .loc 2 77 1 view .LVU44 +.LBB51: + .loc 2 79 3 view .LVU45 + .loc 2 79 10 is_stmt 0 view .LVU46 + movl $26, %r8d + leaq .LC1(%rip), %rcx + leaq .LC3(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL17: + .loc 2 79 10 view .LVU47 +.LBE51: +.LBE50: + .loc 1 26 121 is_stmt 1 discriminator 2 view .LVU48 + call __asan_handle_no_return@PLT +.LVL18: + movl $1, %edi + call exit@PLT +.LVL19: +.L46: + .loc 1 26 44 is_stmt 0 discriminator 1 view .LVU49 + call __asan_report_load8@PLT +.LVL20: +.L47: + .loc 1 26 44 discriminator 1 view .LVU50 + leaq .Lubsan_data13(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL21: + jmp .L12 +.L48: + .loc 1 26 167 discriminator 1 view .LVU51 + call __asan_report_load8@PLT +.LVL22: +.L49: + leaq .Lubsan_data15(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL23: + jmp .L14 +.LVL24: +.L15: + .loc 1 27 69 view .LVU52 + movq %rbx, %rsi + leaq .Lubsan_data64(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL25: + jmp .L16 +.L17: + .loc 1 27 51 view .LVU53 + movq %rbx, %rsi + leaq .Lubsan_data65(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL26: + jmp .L18 +.L40: + .loc 1 27 51 view .LVU54 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL27: +.L20: + .loc 1 27 14 discriminator 1 view .LVU55 + movq %rbx, %rsi + leaq .Lubsan_data66(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL28: + jmp .L21 +.L41: + .loc 1 27 14 discriminator 1 view .LVU56 + movq %rbx, %rdi + call __asan_report_store8@PLT +.LVL29: +.L23: + .loc 1 28 232 view .LVU57 + movq %rbx, %rsi + leaq .Lubsan_data67(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL30: + jmp .L24 +.L42: + .loc 1 28 232 view .LVU58 + call __asan_report_load8@PLT +.LVL31: +.L26: + .loc 1 28 193 view .LVU59 + movq %rbx, %rsi + leaq .Lubsan_data68(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL32: + jmp .L27 +.L43: + .loc 1 28 3 view .LVU60 + call __asan_report_load8@PLT +.LVL33: +.L44: + leaq .Lubsan_data17(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL34: + jmp .L29 +.L30: + .loc 1 30 7 view .LVU61 + movq %rbx, %rsi + leaq .Lubsan_data69(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL35: + jmp .L31 +.L45: + .loc 1 30 7 view .LVU62 + call __asan_report_load8@PLT +.LVL36: +.L33: + .loc 1 30 18 view .LVU63 + movq %rbx, %rsi + leaq .Lubsan_data70(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL37: + jmp .L34 + .cfi_endproc +.LFE53: + .size array_impl_resize, .-array_impl_resize + .section .rodata + .align 32 +.LC5: + .string "self->length <= self->capacity / 2" + .zero 61 + .align 32 +.LC6: + .string "\033[1;37m%s:%u\033[0m: \033[1;31merror: \033[0mExpected array length to be less than half its capacity\n" + .zero 35 + .align 32 +.LC7: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0mdownsized array %p from %zu bytes to %zu bytes\n" + .zero 41 + .text + .globl array_impl_downsize + .type array_impl_downsize, @function +array_impl_downsize: +.LASANPC54: +.LVL38: +.LFB54: + .loc 1 36 3 is_stmt 1 view -0 + .cfi_startproc + .loc 1 36 3 is_stmt 0 view .LVU65 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + .loc 1 37 5 is_stmt 1 view .LVU66 + .loc 1 37 15 is_stmt 0 view .LVU67 + testq %rdi, %rdi + je .L51 + testb $7, %dil + jne .L51 +.LVL39: +.L52: + .loc 1 37 15 view .LVU68 + leaq 8(%rbx), %rdx + cmpq $-8, %rbx + jnb .L84 +.L53: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L85 + movq 8(%rbx), %r13 + .loc 1 37 31 view .LVU69 + testq %rbx, %rbx + je .L55 + testb $7, %bl + jne .L55 +.L56: + leaq 16(%rbx), %rdx + cmpq $-16, %rbx + jnb .L86 +.L57: + leaq 16(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L87 + movq 16(%rbx), %r12 + .loc 1 37 42 view .LVU70 + movq %r12, %rax + shrq %rax + .loc 1 37 8 view .LVU71 + cmpq %r13, %rax + jb .L88 + .loc 1 37 8 is_stmt 1 discriminator 2 view .LVU72 + .loc 1 38 75 view .LVU73 + .loc 1 39 5 view .LVU74 + .loc 1 39 67 is_stmt 0 view .LVU75 + testq %rbx, %rbx + je .L64 + testb $7, %bl + jne .L64 +.L65: + .loc 1 39 78 view .LVU76 + salq $3, %r12 + .loc 1 39 18 view .LVU77 + shrq %r12 + .loc 1 39 53 view .LVU78 + testq %rbx, %rbx + je .L66 + testb $7, %bl + jne .L66 +.L67: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L89 + movq (%rbx), %rsi + .loc 1 39 18 view .LVU79 + movq %r12, %rdx + leaq __func__.2(%rip), %rdi + call __chk_realloc_impl@PLT +.LVL40: + movq %rax, %r12 + .loc 1 39 16 discriminator 1 view .LVU80 + testq %rbx, %rbx + je .L69 + testb $7, %bl + jne .L69 +.L70: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L90 + movq %r12, (%rbx) + .loc 1 40 5 is_stmt 1 view .LVU81 + .loc 1 40 232 is_stmt 0 view .LVU82 + testq %rbx, %rbx + je .L72 + testb $7, %bl + jne .L72 +.L73: + leaq 16(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L91 + .loc 1 40 226 view .LVU83 + movq 16(%rbx), %rax + leaq 0(,%rax,8), %r12 + .loc 1 40 5 view .LVU84 + movq %r12, %r15 + shrq %r15 + .loc 1 40 197 view .LVU85 + testq %rbx, %rbx + je .L75 + testb $7, %bl + jne .L75 +.L76: + .loc 1 40 158 view .LVU86 + movl %ebx, %r14d + .loc 1 40 5 view .LVU87 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L92 + movq stdout(%rip), %r13 + testq %r13, %r13 + je .L93 +.L78: +.LVL41: +.LBB52: +.LBI52: + .loc 2 77 1 is_stmt 1 view .LVU88 +.LBB53: + .loc 2 79 3 view .LVU89 + .loc 2 79 10 is_stmt 0 view .LVU90 + pushq %r15 + pushq %r12 + movq %r14, %r9 + movl $40, %r8d + leaq .LC1(%rip), %rcx + leaq .LC7(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL42: + .loc 2 79 10 view .LVU91 +.LBE53: +.LBE52: + .loc 1 43 5 is_stmt 1 view .LVU92 + .loc 1 43 9 is_stmt 0 view .LVU93 + addq $16, %rsp + testq %rbx, %rbx + je .L79 + testb $7, %bl + jne .L79 +.L80: + leaq 16(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L94 + .loc 1 43 20 view .LVU94 + movq 16(%rbx), %r12 + shrq %r12 + testq %rbx, %rbx + je .L82 + testb $7, %bl + jne .L82 +.L83: + movq %r12, 16(%rbx) + .loc 1 44 3 view .LVU95 + leaq -40(%rbp), %rsp + popq %rbx +.LVL43: + .loc 1 44 3 view .LVU96 + popq %r12 + popq %r13 + popq %r14 + popq %r15 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL44: +.L51: + .cfi_restore_state + .loc 1 37 15 view .LVU97 + movq %rbx, %rsi + leaq .Lubsan_data71(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL45: + jmp .L52 +.L84: + .loc 1 37 15 view .LVU98 + movq %rbx, %rsi + leaq .Lubsan_data72(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL46: + jmp .L53 +.L85: + .loc 1 37 15 view .LVU99 + call __asan_report_load8@PLT +.LVL47: +.L55: + .loc 1 37 31 view .LVU100 + movq %rbx, %rsi + leaq .Lubsan_data73(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL48: + jmp .L56 +.L86: + .loc 1 37 31 view .LVU101 + movq %rbx, %rsi + leaq .Lubsan_data74(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL49: + jmp .L57 +.L87: + .loc 1 37 31 view .LVU102 + call __asan_report_load8@PLT +.LVL50: +.L88: + .loc 1 37 50 is_stmt 1 discriminator 1 view .LVU103 + leaq stderr(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L95 + movq stderr(%rip), %rbx +.LVL51: + .loc 1 37 50 is_stmt 0 discriminator 1 view .LVU104 + testq %rbx, %rbx + je .L96 +.L61: +.LVL52: +.LBB54: +.LBI54: + .loc 2 77 1 is_stmt 1 view .LVU105 +.LBB55: + .loc 2 79 3 view .LVU106 + .loc 2 79 10 is_stmt 0 view .LVU107 + leaq .LC5(%rip), %r9 + movl $37, %r8d + leaq .LC1(%rip), %rcx + leaq .LC2(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL53: + .loc 2 79 10 view .LVU108 +.LBE55: +.LBE54: + .loc 1 37 173 is_stmt 1 discriminator 1 view .LVU109 + leaq stderr(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L97 + movq stderr(%rip), %rbx + testq %rbx, %rbx + je .L98 +.L63: +.LVL54: +.LBB56: +.LBI56: + .loc 2 77 1 view .LVU110 +.LBB57: + .loc 2 79 3 view .LVU111 + .loc 2 79 10 is_stmt 0 view .LVU112 + movl $37, %r8d + leaq .LC1(%rip), %rcx + leaq .LC6(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL55: + .loc 2 79 10 view .LVU113 +.LBE57: +.LBE56: + .loc 1 37 139 is_stmt 1 discriminator 2 view .LVU114 + call __asan_handle_no_return@PLT +.LVL56: + movl $1, %edi + call exit@PLT +.LVL57: +.L95: + .loc 1 37 50 is_stmt 0 discriminator 1 view .LVU115 + call __asan_report_load8@PLT +.LVL58: +.L96: + .loc 1 37 50 discriminator 1 view .LVU116 + leaq .Lubsan_data19(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL59: + jmp .L61 +.L97: + .loc 1 37 173 discriminator 1 view .LVU117 + call __asan_report_load8@PLT +.LVL60: +.L98: + leaq .Lubsan_data21(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL61: + jmp .L63 +.LVL62: +.L64: + .loc 1 39 67 view .LVU118 + movq %rbx, %rsi + leaq .Lubsan_data75(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL63: + jmp .L65 +.L66: + .loc 1 39 53 view .LVU119 + movq %rbx, %rsi + leaq .Lubsan_data76(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL64: + jmp .L67 +.L89: + .loc 1 39 53 view .LVU120 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL65: +.L69: + .loc 1 39 16 discriminator 1 view .LVU121 + movq %rbx, %rsi + leaq .Lubsan_data77(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL66: + jmp .L70 +.L90: + .loc 1 39 16 discriminator 1 view .LVU122 + movq %rbx, %rdi + call __asan_report_store8@PLT +.LVL67: +.L72: + .loc 1 40 232 view .LVU123 + movq %rbx, %rsi + leaq .Lubsan_data78(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL68: + jmp .L73 +.L91: + .loc 1 40 232 view .LVU124 + call __asan_report_load8@PLT +.LVL69: +.L75: + .loc 1 40 197 view .LVU125 + movq %rbx, %rsi + leaq .Lubsan_data79(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL70: + jmp .L76 +.L92: + .loc 1 40 5 view .LVU126 + call __asan_report_load8@PLT +.LVL71: +.L93: + leaq .Lubsan_data23(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL72: + jmp .L78 +.L79: + .loc 1 43 9 view .LVU127 + movq %rbx, %rsi + leaq .Lubsan_data80(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL73: + jmp .L80 +.L94: + .loc 1 43 9 view .LVU128 + call __asan_report_load8@PLT +.LVL74: +.L82: + .loc 1 43 20 view .LVU129 + movq %rbx, %rsi + leaq .Lubsan_data81(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL75: + jmp .L83 + .cfi_endproc +.LFE54: + .size array_impl_downsize, .-array_impl_downsize + .section .rodata + .align 32 +.LC8: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0mnew array %p, member capacity: %zu bytes\n" + .zero 47 + .text + .globl array_new_sized + .type array_new_sized, @function +array_new_sized: +.LASANPC56: +.LVL76: +.LFB56: + .loc 1 58 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 58 1 is_stmt 0 view .LVU131 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %r12 + .loc 1 59 3 is_stmt 1 view .LVU132 + .loc 1 59 19 is_stmt 0 view .LVU133 + movl $24, %edx + movl $1, %esi + leaq __func__.1(%rip), %r13 + movq %r13, %rdi +.LVL77: + .loc 1 59 19 view .LVU134 + call __chk_calloc_impl@PLT +.LVL78: + movq %rax, %rbx +.LVL79: + .loc 1 60 3 is_stmt 1 view .LVU135 + .loc 1 60 17 is_stmt 0 view .LVU136 + movl $8, %edx + movq %r12, %rsi + movq %r13, %rdi + call __chk_calloc_impl@PLT +.LVL80: + .loc 1 60 17 view .LVU137 + movq %rax, %r13 + .loc 1 60 15 discriminator 1 view .LVU138 + testq %rbx, %rbx + je .L100 + testb $7, %bl + jne .L100 +.L101: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L109 + movq %r13, (%rbx) + .loc 1 61 3 is_stmt 1 view .LVU139 + leaq 0(,%r12,8), %r15 + .loc 1 61 151 is_stmt 0 view .LVU140 + movl %ebx, %r14d + .loc 1 61 3 view .LVU141 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L110 + movq stdout(%rip), %r13 + testq %r13, %r13 + je .L111 +.L104: +.LVL81: +.LBB58: +.LBI58: + .loc 2 77 1 is_stmt 1 view .LVU142 +.LBB59: + .loc 2 79 3 view .LVU143 + .loc 2 79 10 is_stmt 0 view .LVU144 + subq $8, %rsp + pushq %r15 + movq %r14, %r9 + movl $61, %r8d + leaq .LC1(%rip), %rcx + leaq .LC8(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL82: + .loc 2 79 10 view .LVU145 +.LBE59: +.LBE58: + .loc 1 63 3 is_stmt 1 view .LVU146 + .loc 1 63 19 is_stmt 0 view .LVU147 + addq $16, %rsp + testq %rbx, %rbx + je .L105 + testb $7, %bl + jne .L105 +.L106: + leaq 16(%rbx), %rdx + cmpq $-16, %rbx + jnb .L112 +.L107: + leaq 16(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L113 + movq %r12, 16(%rbx) + .loc 1 64 3 is_stmt 1 view .LVU148 + .loc 1 65 1 is_stmt 0 view .LVU149 + movq %rbx, %rax + leaq -40(%rbp), %rsp + popq %rbx +.LVL83: + .loc 1 65 1 view .LVU150 + popq %r12 +.LVL84: + .loc 1 65 1 view .LVU151 + popq %r13 + popq %r14 + popq %r15 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL85: +.L100: + .cfi_restore_state + .loc 1 60 15 discriminator 1 view .LVU152 + movq %rbx, %rsi + leaq .Lubsan_data82(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL86: + jmp .L101 +.L109: + .loc 1 60 15 discriminator 1 view .LVU153 + movq %rbx, %rdi + call __asan_report_store8@PLT +.LVL87: +.L110: + .loc 1 61 3 view .LVU154 + call __asan_report_load8@PLT +.LVL88: +.L111: + leaq .Lubsan_data25(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL89: + jmp .L104 +.L105: + .loc 1 63 19 view .LVU155 + movq %rbx, %rsi + leaq .Lubsan_data83(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL90: + jmp .L106 +.L112: + .loc 1 63 19 view .LVU156 + movq %rbx, %rsi + leaq .Lubsan_data84(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL91: + jmp .L107 +.L113: + .loc 1 63 19 view .LVU157 + call __asan_report_store8@PLT +.LVL92: + .cfi_endproc +.LFE56: + .size array_new_sized, .-array_new_sized + .section .rodata + .align 32 +.LC9: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0mcreating unsized array\n" + .zero 33 + .text + .globl array_new + .type array_new, @function +array_new: +.LASANPC55: +.LFB55: + .loc 1 51 1 is_stmt 1 view -0 + .cfi_startproc + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %rbx + subq $8, %rsp + .cfi_offset 3, -24 +1: call *mcount@GOTPCREL(%rip) + .loc 1 52 3 view .LVU159 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L117 + movq stdout(%rip), %rbx + testq %rbx, %rbx + je .L118 +.L116: +.LVL93: +.LBB60: +.LBI60: + .loc 2 77 1 view .LVU160 +.LBB61: + .loc 2 79 3 view .LVU161 + .loc 2 79 10 is_stmt 0 view .LVU162 + movl $52, %r8d + leaq .LC1(%rip), %rcx + leaq .LC9(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL94: + .loc 2 79 10 view .LVU163 +.LBE61: +.LBE60: + .loc 1 53 3 is_stmt 1 view .LVU164 + .loc 1 53 10 is_stmt 0 view .LVU165 + movl $32, %edi + call array_new_sized +.LVL95: + .loc 1 54 1 view .LVU166 + movq -8(%rbp), %rbx + leave + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.L117: + .cfi_restore_state + .loc 1 52 3 view .LVU167 + call __asan_report_load8@PLT +.LVL96: +.L118: + leaq .Lubsan_data27(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL97: + jmp .L116 + .cfi_endproc +.LFE55: + .size array_new, .-array_new + .section .rodata + .align 32 +.LC10: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0minserted to array %p at index %zu: element %p\n" + .zero 42 + .text + .globl array_insert + .type array_insert, @function +array_insert: +.LASANPC57: +.LVL98: +.LFB57: + .loc 1 69 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 69 1 is_stmt 0 view .LVU169 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $40, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + movq %rsi, %r12 + movq %rdx, -56(%rbp) + .loc 1 70 3 is_stmt 1 view .LVU170 + .loc 1 70 11 is_stmt 0 view .LVU171 + testq %rdi, %rdi + je .L120 + testb $7, %dil + jne .L120 +.LVL99: +.L121: + .loc 1 70 11 view .LVU172 + leaq 8(%rbx), %rdx + cmpq $-8, %rbx + jnb .L176 +.L122: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L177 + movq 8(%rbx), %r13 + .loc 1 70 27 view .LVU173 + testq %rbx, %rbx + je .L124 + testb $7, %bl + jne .L124 +.L125: + leaq 16(%rbx), %rdx + cmpq $-16, %rbx + jnb .L178 +.L126: + leaq 16(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L179 + .loc 1 70 6 view .LVU174 + cmpq 16(%rbx), %r13 + je .L180 +.L128: + .loc 1 72 3 is_stmt 1 view .LVU175 + .loc 1 72 18 is_stmt 0 view .LVU176 + testq %rbx, %rbx + je .L129 + testb $7, %bl + jne .L129 +.L130: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L181 + movq 8(%rbx), %r13 + .loc 1 72 6 view .LVU177 + cmpq %r13, %r12 + jnb .L182 + .loc 1 77 3 is_stmt 1 view .LVU178 + .loc 1 77 76 is_stmt 0 view .LVU179 + testq %rbx, %rbx + je .L147 + testb $7, %bl + jne .L147 +.L148: + .loc 1 77 85 view .LVU180 + subq %r12, %r13 + .loc 1 77 3 view .LVU181 + leaq 0(,%r13,8), %rax + movq %rax, -72(%rbp) + .loc 1 77 39 view .LVU182 + testq %rbx, %rbx + je .L149 + testb $7, %bl + jne .L149 +.L150: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L183 + movq (%rbx), %r13 + .loc 1 77 45 view .LVU183 + leaq 0(,%r12,8), %r14 + .loc 1 77 34 view .LVU184 + leaq 0(%r13,%r14), %rdx + testq %r14, %r14 + js .L152 + cmpq %r13, %rdx + jnb .L153 +.L154: + movq %r13, %rsi + leaq .Lubsan_data97(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL100: + jmp .L153 +.LVL101: +.L120: + .loc 1 70 11 view .LVU185 + movq %rbx, %rsi +.LVL102: + .loc 1 70 11 view .LVU186 + leaq .Lubsan_data85(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL103: + .loc 1 70 11 view .LVU187 + jmp .L121 +.L176: + .loc 1 70 11 view .LVU188 + movq %rbx, %rsi + leaq .Lubsan_data86(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL104: + jmp .L122 +.L177: + .loc 1 70 11 view .LVU189 + call __asan_report_load8@PLT +.LVL105: +.L124: + .loc 1 70 27 view .LVU190 + movq %rbx, %rsi + leaq .Lubsan_data87(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL106: + jmp .L125 +.L178: + .loc 1 70 27 view .LVU191 + movq %rbx, %rsi + leaq .Lubsan_data88(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL107: + jmp .L126 +.L179: + .loc 1 70 27 view .LVU192 + call __asan_report_load8@PLT +.LVL108: +.L180: + .loc 1 71 5 is_stmt 1 view .LVU193 + movq %rbx, %rdi + call array_impl_resize +.LVL109: + jmp .L128 +.L129: + .loc 1 72 18 is_stmt 0 view .LVU194 + movq %rbx, %rsi + leaq .Lubsan_data89(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL110: + jmp .L130 +.L181: + .loc 1 72 18 view .LVU195 + call __asan_report_load8@PLT +.LVL111: +.L182: + .loc 1 74 7 is_stmt 1 view .LVU196 + .loc 1 74 11 is_stmt 0 view .LVU197 + testq %rbx, %rbx + je .L133 + testb $7, %bl + jne .L133 +.L134: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L184 + movq (%rbx), %r12 +.LVL112: + .loc 1 74 22 view .LVU198 + testq %rbx, %rbx + je .L136 + testb $7, %bl + jne .L136 +.L137: + .loc 1 74 30 view .LVU199 + leaq 1(%r13), %r14 + testq %rbx, %rbx + je .L138 + testb $7, %bl + jne .L138 +.L139: + movq %r14, 8(%rbx) + .loc 1 74 17 view .LVU200 + salq $3, %r13 + leaq (%r12,%r13), %rdx + js .L140 + cmpq %r12, %rdx + jnb .L141 +.L142: + movq %r12, %rsi + leaq .Lubsan_data93(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL113: + jmp .L141 +.LVL114: +.L133: + .loc 1 74 11 view .LVU201 + movq %rbx, %rsi + leaq .Lubsan_data90(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL115: + jmp .L134 +.L184: + .loc 1 74 11 view .LVU202 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL116: +.L136: + .loc 1 74 22 view .LVU203 + movq %rbx, %rsi + leaq .Lubsan_data91(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL117: + jmp .L137 +.L138: + .loc 1 74 30 view .LVU204 + movq %rbx, %rsi + leaq .Lubsan_data92(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL118: + jmp .L139 +.L140: + .loc 1 74 17 view .LVU205 + cmpq %rdx, %r12 + jb .L142 +.L141: + .loc 1 74 34 view .LVU206 + addq %r13, %r12 + je .L143 + testb $7, %r12b + jne .L143 +.L144: + movq %r12, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L185 + movq -56(%rbp), %rax + movq %rax, (%r12) + .loc 1 75 7 is_stmt 1 view .LVU207 + .loc 1 75 14 is_stmt 0 view .LVU208 + jmp .L146 +.L143: + .loc 1 74 34 view .LVU209 + movq %r12, %rsi + leaq .Lubsan_data94(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL119: + jmp .L144 +.L185: + movq %r12, %rdi + call __asan_report_store8@PLT +.LVL120: +.L147: + .loc 1 77 76 view .LVU210 + movq %rbx, %rsi + leaq .Lubsan_data95(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL121: + jmp .L148 +.L149: + .loc 1 77 39 view .LVU211 + movq %rbx, %rsi + leaq .Lubsan_data96(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL122: + jmp .L150 +.L183: + .loc 1 77 39 view .LVU212 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL123: +.L152: + .loc 1 77 34 view .LVU213 + cmpq %rdx, %r13 + jb .L154 +.L153: + leaq 0(%r13,%r14), %rax + movq %rax, -64(%rbp) + .loc 1 77 17 view .LVU214 + testq %rbx, %rbx + je .L155 + testb $7, %bl + jne .L155 +.L156: + .loc 1 77 23 view .LVU215 + leaq 8(,%r12,8), %r15 + .loc 1 77 12 view .LVU216 + leaq 0(%r13,%r15), %rdx + testq %r15, %r15 + js .L157 + cmpq %r13, %rdx + jnb .L158 +.L159: + movq %r13, %rsi + leaq .Lubsan_data99(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL124: + jmp .L158 +.L155: + .loc 1 77 17 view .LVU217 + movq %rbx, %rsi + leaq .Lubsan_data98(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL125: + jmp .L156 +.L157: + .loc 1 77 12 view .LVU218 + cmpq %rdx, %r13 + jb .L159 +.L158: + .loc 1 77 3 view .LVU219 + addq %r15, %r13 + je .L186 +.L160: + cmpq $0, -64(%rbp) + je .L187 +.L161: +.LVL126: +.LBB62: +.LBI62: + .file 3 "/usr/include/bits/string_fortified.h" + .loc 3 34 42 is_stmt 1 view .LVU220 +.LBB63: + .loc 3 36 3 view .LVU221 + .loc 3 36 10 is_stmt 0 discriminator 1 view .LVU222 + movq -72(%rbp), %rdx + movq -64(%rbp), %rsi + movq %r13, %rdi + call memmove@PLT +.LVL127: + .loc 3 36 10 discriminator 1 view .LVU223 +.LBE63: +.LBE62: + .loc 1 78 3 is_stmt 1 view .LVU224 + .loc 1 78 7 is_stmt 0 view .LVU225 + testq %rbx, %rbx + je .L162 + testb $7, %bl + jne .L162 +.L163: + movq (%rbx), %r13 + .loc 1 78 13 view .LVU226 + leaq 0(%r13,%r14), %rdx + testq %r14, %r14 + js .L164 + cmpq %r13, %rdx + jnb .L165 +.L166: + movq %r13, %rsi + leaq .Lubsan_data101(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL128: + jmp .L165 +.L186: + .loc 1 77 3 view .LVU227 + leaq .Lubsan_data29(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL129: + jmp .L160 +.L187: + leaq .Lubsan_data30(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL130: + jmp .L161 +.L162: + .loc 1 78 7 view .LVU228 + movq %rbx, %rsi + leaq .Lubsan_data100(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL131: + jmp .L163 +.L164: + .loc 1 78 13 view .LVU229 + cmpq %rdx, %r13 + jb .L166 +.L165: + .loc 1 78 19 view .LVU230 + addq %r14, %r13 + je .L167 + testb $7, %r13b + jne .L167 +.L168: + movq %r13, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L188 + movq -56(%rbp), %rax + movq %rax, 0(%r13) + .loc 1 79 3 is_stmt 1 view .LVU231 + .loc 1 79 7 is_stmt 0 view .LVU232 + testq %rbx, %rbx + je .L170 + testb $7, %bl + jne .L170 +.L171: + .loc 1 79 15 view .LVU233 + movq 8(%rbx), %rax + leaq 1(%rax), %r13 + testq %rbx, %rbx + je .L172 + testb $7, %bl + jne .L172 +.L173: + movq %r13, 8(%rbx) + .loc 1 80 3 is_stmt 1 view .LVU234 + .loc 1 80 155 is_stmt 0 view .LVU235 + movl %ebx, %ebx +.LVL132: + .loc 1 80 3 view .LVU236 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L189 + movq stdout(%rip), %r13 + testq %r13, %r13 + je .L190 +.L175: +.LVL133: +.LBB64: +.LBI64: + .loc 2 77 1 is_stmt 1 view .LVU237 +.LBB65: + .loc 2 79 3 view .LVU238 + .loc 2 79 10 is_stmt 0 view .LVU239 + pushq -56(%rbp) + pushq %r12 + movq %rbx, %r9 + movl $80, %r8d + leaq .LC1(%rip), %rcx + leaq .LC10(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL134: + .loc 2 79 10 view .LVU240 +.LBE65: +.LBE64: + .loc 1 82 3 is_stmt 1 view .LVU241 + .loc 1 82 10 is_stmt 0 view .LVU242 + addq $16, %rsp +.LVL135: +.L146: + .loc 1 83 1 view .LVU243 + movq -56(%rbp), %rax + leaq -40(%rbp), %rsp + popq %rbx + popq %r12 + popq %r13 + popq %r14 + popq %r15 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 +.LVL136: + .loc 1 83 1 view .LVU244 + ret +.LVL137: +.L167: + .cfi_restore_state + .loc 1 78 19 view .LVU245 + movq %r13, %rsi + leaq .Lubsan_data102(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL138: + jmp .L168 +.L188: + movq %r13, %rdi + call __asan_report_store8@PLT +.LVL139: +.L170: + .loc 1 79 7 view .LVU246 + movq %rbx, %rsi + leaq .Lubsan_data103(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL140: + jmp .L171 +.L172: + .loc 1 79 15 view .LVU247 + movq %rbx, %rsi + leaq .Lubsan_data104(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL141: + jmp .L173 +.LVL142: +.L189: + .loc 1 80 3 view .LVU248 + call __asan_report_load8@PLT +.LVL143: +.L190: + leaq .Lubsan_data31(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL144: + jmp .L175 + .cfi_endproc +.LFE57: + .size array_insert, .-array_insert + .section .rodata + .align 32 +.LC11: + .string "self->length > 0" + .zero 47 + .align 32 +.LC12: + .string "\033[1;37m%s:%u\033[0m: \033[1;31merror: \033[0mArray must be non-empty\n" + .zero 35 + .align 32 +.LC13: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0mremoved from array %p at index %zu: element %p\n" + .zero 41 + .text + .globl array_remove + .type array_remove, @function +array_remove: +.LASANPC58: +.LVL145: +.LFB58: + .loc 1 87 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 87 1 is_stmt 0 view .LVU250 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $40, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + movq %rsi, %r13 + .loc 1 88 3 is_stmt 1 view .LVU251 + .loc 1 88 13 is_stmt 0 view .LVU252 + testq %rdi, %rdi + je .L192 + testb $7, %dil + jne .L192 +.LVL146: +.L193: + .loc 1 88 13 view .LVU253 + leaq 8(%rbx), %rdx + cmpq $-8, %rbx + jnb .L250 +.L194: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L251 + movq 8(%rbx), %rax + movq %rax, -56(%rbp) + .loc 1 88 6 view .LVU254 + testq %rax, %rax + je .L252 + .loc 1 88 6 is_stmt 1 discriminator 2 view .LVU255 + .loc 1 88 9 discriminator 2 view .LVU256 + .loc 1 89 3 view .LVU257 + .loc 1 89 18 is_stmt 0 view .LVU258 + testq %rbx, %rbx + je .L201 + testb $7, %bl + jne .L201 +.L202: + .loc 1 89 27 view .LVU259 + movq -56(%rbp), %rax + leaq -1(%rax), %r12 + .loc 1 89 6 view .LVU260 + cmpq %r12, %r13 + jnb .L253 + .loc 1 95 17 is_stmt 1 view .LVU261 + .loc 1 95 39 is_stmt 0 view .LVU262 + testq %rbx, %rbx + je .L220 + testb $7, %bl + jne .L220 +.L221: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L254 + movq (%rbx), %r12 + .loc 1 95 45 view .LVU263 + leaq 0(,%r13,8), %r14 + leaq (%r12,%r14), %rdx + testq %r14, %r14 + js .L223 + cmpq %r12, %rdx + jnb .L224 +.L225: + movq %r12, %rsi + leaq .Lubsan_data115(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL147: + jmp .L224 +.LVL148: +.L192: + .loc 1 88 13 view .LVU264 + movq %rbx, %rsi +.LVL149: + .loc 1 88 13 view .LVU265 + leaq .Lubsan_data105(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL150: + jmp .L193 +.L250: + .loc 1 88 13 view .LVU266 + movq %rbx, %rsi + leaq .Lubsan_data106(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL151: + jmp .L194 +.L251: + .loc 1 88 13 view .LVU267 + call __asan_report_load8@PLT +.LVL152: +.L252: + .loc 1 88 30 is_stmt 1 discriminator 1 view .LVU268 + leaq stderr(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L255 + movq stderr(%rip), %rbx +.LVL153: + .loc 1 88 30 is_stmt 0 discriminator 1 view .LVU269 + testq %rbx, %rbx + je .L256 +.L198: +.LVL154: +.LBB66: +.LBI66: + .loc 2 77 1 is_stmt 1 view .LVU270 +.LBB67: + .loc 2 79 3 view .LVU271 + .loc 2 79 10 is_stmt 0 view .LVU272 + leaq .LC11(%rip), %r9 + movl $88, %r8d + leaq .LC1(%rip), %rcx + leaq .LC2(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL155: + .loc 2 79 10 view .LVU273 +.LBE67: +.LBE66: + .loc 1 88 153 is_stmt 1 discriminator 1 view .LVU274 + leaq stderr(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L257 + movq stderr(%rip), %rbx + testq %rbx, %rbx + je .L258 +.L200: +.LVL156: +.LBB68: +.LBI68: + .loc 2 77 1 view .LVU275 +.LBB69: + .loc 2 79 3 view .LVU276 + .loc 2 79 10 is_stmt 0 view .LVU277 + movl $88, %r8d + leaq .LC1(%rip), %rcx + leaq .LC12(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL157: + .loc 2 79 10 view .LVU278 +.LBE69: +.LBE68: + .loc 1 88 105 is_stmt 1 discriminator 2 view .LVU279 + call __asan_handle_no_return@PLT +.LVL158: + movl $1, %edi + call exit@PLT +.LVL159: +.L255: + .loc 1 88 30 is_stmt 0 discriminator 1 view .LVU280 + call __asan_report_load8@PLT +.LVL160: +.L256: + .loc 1 88 30 discriminator 1 view .LVU281 + leaq .Lubsan_data33(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL161: + jmp .L198 +.L257: + .loc 1 88 153 discriminator 1 view .LVU282 + call __asan_report_load8@PLT +.LVL162: +.L258: + leaq .Lubsan_data35(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL163: + jmp .L200 +.LVL164: +.L201: + .loc 1 89 18 view .LVU283 + movq %rbx, %rsi + leaq .Lubsan_data107(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL165: + jmp .L202 +.L253: +.LBB70: + .loc 1 91 21 is_stmt 1 view .LVU284 + .loc 1 91 43 is_stmt 0 view .LVU285 + testq %rbx, %rbx + je .L204 + testb $7, %bl + jne .L204 +.L205: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L259 + movq (%rbx), %r13 +.LVL166: + .loc 1 91 56 view .LVU286 + testq %rbx, %rbx + je .L207 + testb $7, %bl + jne .L207 +.L208: + .loc 1 91 33 view .LVU287 + testq %rbx, %rbx + je .L209 + testb $7, %bl + jne .L209 +.L210: + movq %r12, 8(%rbx) + .loc 1 91 56 view .LVU288 + testq %rbx, %rbx + je .L211 + testb $7, %bl + jne .L211 +.L212: + .loc 1 91 49 view .LVU289 + salq $3, %r12 + leaq 0(%r13,%r12), %rdx + js .L213 + cmpq %r13, %rdx + jnb .L214 +.L215: + movq %r13, %rsi + leaq .Lubsan_data112(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL167: + jmp .L214 +.LVL168: +.L204: + .loc 1 91 43 view .LVU290 + movq %rbx, %rsi + leaq .Lubsan_data108(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL169: + jmp .L205 +.L259: + .loc 1 91 43 view .LVU291 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL170: +.L207: + .loc 1 91 56 view .LVU292 + movq %rbx, %rsi + leaq .Lubsan_data109(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL171: + jmp .L208 +.L209: + .loc 1 91 33 view .LVU293 + movq %rbx, %rsi + leaq .Lubsan_data110(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL172: + jmp .L210 +.L211: + .loc 1 91 56 view .LVU294 + movq %rbx, %rsi + leaq .Lubsan_data111(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL173: + jmp .L212 +.L213: + .loc 1 91 49 view .LVU295 + cmpq %rdx, %r13 + jb .L215 +.L214: + .loc 1 91 33 view .LVU296 + addq %r12, %r13 + je .L216 + testb $7, %r13b + jne .L216 +.L217: + movq %r13, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L260 + movq 0(%r13), %rax + movq %rax, -64(%rbp) +.LVL174: + .loc 1 92 7 is_stmt 1 view .LVU297 + movq %rbx, %rdi + call array_impl_downsize +.LVL175: + .loc 1 93 7 view .LVU298 + .loc 1 93 14 is_stmt 0 view .LVU299 + jmp .L191 +.LVL176: +.L216: + .loc 1 91 33 view .LVU300 + movq %r13, %rsi + leaq .Lubsan_data113(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL177: + jmp .L217 +.L260: + movq %r13, %rdi + call __asan_report_load8@PLT +.LVL178: +.L220: + .loc 1 91 33 view .LVU301 +.LBE70: + .loc 1 95 39 view .LVU302 + movq %rbx, %rsi + leaq .Lubsan_data114(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL179: + jmp .L221 +.L254: + .loc 1 95 39 view .LVU303 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL180: +.L223: + .loc 1 95 45 view .LVU304 + cmpq %rdx, %r12 + jb .L225 +.L224: + .loc 1 95 29 view .LVU305 + movq %r12, %r15 + addq %r14, %r15 + je .L226 + testb $7, %r15b + jne .L226 +.L227: + movq %r15, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L261 + movq (%r15), %rax + movq %rax, -64(%rbp) +.LVL181: + .loc 1 96 3 is_stmt 1 view .LVU306 + .loc 1 96 76 is_stmt 0 view .LVU307 + testq %rbx, %rbx + je .L229 + testb $7, %bl + jne .L229 +.LVL182: +.L230: + .loc 1 96 85 view .LVU308 + movq -56(%rbp), %rax + subq %r13, %rax + .loc 1 96 3 view .LVU309 + leaq -8(,%rax,8), %rax + movq %rax, -72(%rbp) + .loc 1 96 35 view .LVU310 + testq %rbx, %rbx + je .L231 + testb $7, %bl + jne .L231 +.L232: + .loc 1 96 41 view .LVU311 + leaq 8(,%r13,8), %rax + movq %rax, -56(%rbp) + .loc 1 96 30 view .LVU312 + leaq (%r12,%rax), %rdx + testq %rax, %rax + js .L233 + cmpq %r12, %rdx + jnb .L234 +.L235: + movq %r12, %rsi + leaq .Lubsan_data119(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL183: + jmp .L234 +.LVL184: +.L226: + .loc 1 95 29 view .LVU313 + movq %r15, %rsi + leaq .Lubsan_data116(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL185: + jmp .L227 +.L261: + movq %r15, %rdi + call __asan_report_load8@PLT +.LVL186: +.L229: + .loc 1 96 76 view .LVU314 + movq %rbx, %rsi + leaq .Lubsan_data117(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL187: + .loc 1 96 76 view .LVU315 + jmp .L230 +.L231: + .loc 1 96 35 view .LVU316 + movq %rbx, %rsi + leaq .Lubsan_data118(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL188: + jmp .L232 +.L233: + .loc 1 96 30 view .LVU317 + cmpq %rdx, %r12 + jb .L235 +.L234: + movq -56(%rbp), %rax + addq %r12, %rax + movq %rax, -56(%rbp) + .loc 1 96 17 view .LVU318 + testq %rbx, %rbx + je .L236 + testb $7, %bl + jne .L236 +.L237: + .loc 1 96 12 view .LVU319 + leaq (%r12,%r14), %rdx + testq %r14, %r14 + js .L238 + cmpq %r12, %rdx + jnb .L239 +.L240: + movq %r12, %rsi + leaq .Lubsan_data121(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL189: + jmp .L239 +.L236: + .loc 1 96 17 view .LVU320 + movq %rbx, %rsi + leaq .Lubsan_data120(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL190: + jmp .L237 +.L238: + .loc 1 96 12 view .LVU321 + cmpq %rdx, %r12 + jb .L240 +.L239: + .loc 1 96 3 view .LVU322 + testq %r15, %r15 + je .L262 +.L241: + cmpq $0, -56(%rbp) + je .L263 +.L242: +.LVL191: +.LBB71: +.LBI71: + .loc 3 34 42 is_stmt 1 view .LVU323 +.LBB72: + .loc 3 36 3 view .LVU324 + .loc 3 36 10 is_stmt 0 discriminator 1 view .LVU325 + movq -72(%rbp), %rdx + movq -56(%rbp), %rsi + movq %r15, %rdi + call memmove@PLT +.LVL192: + .loc 3 36 10 discriminator 1 view .LVU326 +.LBE72: +.LBE71: + .loc 1 97 3 is_stmt 1 view .LVU327 + .loc 1 97 156 is_stmt 0 view .LVU328 + movl %ebx, %r14d + .loc 1 97 3 view .LVU329 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L264 + movq stdout(%rip), %r12 + testq %r12, %r12 + je .L265 +.L244: +.LVL193: +.LBB73: +.LBI73: + .loc 2 77 1 is_stmt 1 view .LVU330 +.LBB74: + .loc 2 79 3 view .LVU331 + .loc 2 79 10 is_stmt 0 view .LVU332 + pushq -64(%rbp) + pushq %r13 + movq %r14, %r9 + movl $97, %r8d + leaq .LC1(%rip), %rcx + leaq .LC13(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL194: + .loc 2 79 10 view .LVU333 +.LBE74: +.LBE73: + .loc 1 99 3 is_stmt 1 view .LVU334 + .loc 1 99 7 is_stmt 0 view .LVU335 + addq $16, %rsp + testq %rbx, %rbx + je .L245 + testb $7, %bl + jne .L245 +.L246: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L266 + .loc 1 99 15 view .LVU336 + movq 8(%rbx), %rax + leaq -1(%rax), %r12 + testq %rbx, %rbx + je .L248 + testb $7, %bl + jne .L248 +.L249: + movq %r12, 8(%rbx) + .loc 1 100 3 is_stmt 1 view .LVU337 + movq %rbx, %rdi + call array_impl_downsize +.LVL195: + .loc 1 101 3 view .LVU338 +.L191: + .loc 1 102 1 is_stmt 0 view .LVU339 + movq -64(%rbp), %rax + leaq -40(%rbp), %rsp + popq %rbx +.LVL196: + .loc 1 102 1 view .LVU340 + popq %r12 + popq %r13 + popq %r14 + popq %r15 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL197: +.L262: + .cfi_restore_state + .loc 1 96 3 view .LVU341 + leaq .Lubsan_data37(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL198: + jmp .L241 +.L263: + leaq .Lubsan_data38(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL199: + jmp .L242 +.L264: + .loc 1 97 3 view .LVU342 + call __asan_report_load8@PLT +.LVL200: +.L265: + leaq .Lubsan_data39(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL201: + jmp .L244 +.L245: + .loc 1 99 7 view .LVU343 + movq %rbx, %rsi + leaq .Lubsan_data122(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL202: + jmp .L246 +.L266: + .loc 1 99 7 view .LVU344 + call __asan_report_load8@PLT +.LVL203: +.L248: + .loc 1 99 15 view .LVU345 + movq %rbx, %rsi + leaq .Lubsan_data123(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL204: + jmp .L249 + .cfi_endproc +.LFE58: + .size array_remove, .-array_remove + .section .rodata + .align 32 +.LC14: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0mpopping from array %p\n" + .zero 34 + .text + .globl array_pop + .type array_pop, @function +array_pop: +.LASANPC59: +.LVL205: +.LFB59: + .loc 1 106 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 106 1 is_stmt 0 view .LVU347 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 13, -24 + .cfi_offset 12, -32 + .cfi_offset 3, -40 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + .loc 1 107 3 is_stmt 1 view .LVU348 + .loc 1 107 132 is_stmt 0 view .LVU349 + movl %edi, %r13d + .loc 1 107 3 view .LVU350 + leaq stdout(%rip), %rdi +.LVL206: + .loc 1 107 3 view .LVU351 + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L274 + movq stdout(%rip), %r12 + testq %r12, %r12 + je .L275 +.L269: +.LVL207: +.LBB75: +.LBI75: + .loc 2 77 1 is_stmt 1 view .LVU352 +.LBB76: + .loc 2 79 3 view .LVU353 + .loc 2 79 10 is_stmt 0 view .LVU354 + movq %r13, %r9 + movl $107, %r8d + leaq .LC1(%rip), %rcx + leaq .LC14(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL208: + .loc 2 79 10 view .LVU355 +.LBE76: +.LBE75: + .loc 1 108 3 is_stmt 1 view .LVU356 + .loc 1 108 10 is_stmt 0 view .LVU357 + testq %rbx, %rbx + je .L270 + testb $7, %bl + jne .L270 +.L271: + leaq 8(%rbx), %rdx + cmpq $-8, %rbx + jnb .L276 +.L272: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L277 + movq 8(%rbx), %rsi + movq %rbx, %rdi + call array_remove +.LVL209: + .loc 1 109 1 view .LVU358 + addq $8, %rsp + popq %rbx +.LVL210: + .loc 1 109 1 view .LVU359 + popq %r12 + popq %r13 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL211: +.L274: + .cfi_restore_state + .loc 1 107 3 view .LVU360 + call __asan_report_load8@PLT +.LVL212: +.L275: + leaq .Lubsan_data41(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL213: + jmp .L269 +.L270: + .loc 1 108 10 view .LVU361 + movq %rbx, %rsi + leaq .Lubsan_data124(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL214: + jmp .L271 +.L276: + .loc 1 108 10 view .LVU362 + movq %rbx, %rsi + leaq .Lubsan_data125(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL215: + jmp .L272 +.L277: + .loc 1 108 10 view .LVU363 + call __asan_report_load8@PLT +.LVL216: + .cfi_endproc +.LFE59: + .size array_pop, .-array_pop + .section .rodata + .align 32 +.LC15: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0mappended to array %p: element at %p\n" + .zero 52 + .text + .globl array_append + .type array_append, @function +array_append: +.LASANPC60: +.LVL217: +.LFB60: + .loc 1 113 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 113 1 is_stmt 0 view .LVU365 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 13, -24 + .cfi_offset 12, -32 + .cfi_offset 3, -40 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + movq %rsi, %r12 + .loc 1 114 3 is_stmt 1 view .LVU366 + testq %rdi, %rdi + je .L279 + testb $7, %dil + jne .L279 +.LVL218: +.L280: + .loc 1 114 3 is_stmt 0 view .LVU367 + leaq 8(%rbx), %rdx + cmpq $-8, %rbx + jnb .L285 +.L281: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L286 + movq 8(%rbx), %rsi + movq %r12, %rdx + movq %rbx, %rdi + call array_insert +.LVL219: + .loc 1 115 3 is_stmt 1 view .LVU368 + .loc 1 115 146 is_stmt 0 view .LVU369 + movl %ebx, %ebx +.LVL220: + .loc 1 115 3 view .LVU370 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L287 + movq stdout(%rip), %r13 + testq %r13, %r13 + je .L288 +.L284: +.LVL221: +.LBB77: +.LBI77: + .loc 2 77 1 is_stmt 1 view .LVU371 +.LBB78: + .loc 2 79 3 view .LVU372 + .loc 2 79 10 is_stmt 0 view .LVU373 + subq $8, %rsp + pushq %r12 + movq %rbx, %r9 + movl $115, %r8d + leaq .LC1(%rip), %rcx + leaq .LC15(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL222: + .loc 2 79 10 view .LVU374 +.LBE78: +.LBE77: + .loc 1 116 3 is_stmt 1 view .LVU375 + .loc 1 117 1 is_stmt 0 view .LVU376 + movq %r12, %rax + leaq -24(%rbp), %rsp + popq %rbx + popq %r12 +.LVL223: + .loc 1 117 1 view .LVU377 + popq %r13 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL224: +.L279: + .cfi_restore_state + .loc 1 114 3 view .LVU378 + movq %rbx, %rsi +.LVL225: + .loc 1 114 3 view .LVU379 + leaq .Lubsan_data126(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL226: + jmp .L280 +.L285: + .loc 1 114 3 view .LVU380 + movq %rbx, %rsi + leaq .Lubsan_data127(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL227: + jmp .L281 +.L286: + .loc 1 114 3 view .LVU381 + call __asan_report_load8@PLT +.LVL228: +.L287: + .loc 1 115 3 view .LVU382 + call __asan_report_load8@PLT +.LVL229: +.L288: + leaq .Lubsan_data45(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL230: + jmp .L284 + .cfi_endproc +.LFE60: + .size array_append, .-array_append + .section .rodata + .align 32 +.LC16: + .string "idx < self->length" + .zero 45 + .align 32 +.LC17: + .string "\033[1;37m%s:%u\033[0m: \033[1;31merror: \033[0mTried to read index %zu of array with length %zu\n" + .zero 42 + .align 32 +.LC18: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0mgetting element of array %p at index %zu\n" + .zero 47 + .text + .globl array_get + .type array_get, @function +array_get: +.LASANPC61: +.LVL231: +.LFB61: + .loc 1 121 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 121 1 is_stmt 0 view .LVU384 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + .cfi_offset 14, -24 + .cfi_offset 13, -32 + .cfi_offset 12, -40 + .cfi_offset 3, -48 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + movq %rsi, %r12 + .loc 1 122 3 is_stmt 1 view .LVU385 + .loc 1 122 19 is_stmt 0 view .LVU386 + testq %rdi, %rdi + je .L290 + testb $7, %dil + jne .L290 +.LVL232: +.L291: + .loc 1 122 19 view .LVU387 + leaq 8(%rbx), %rdx + cmpq $-8, %rbx + jnb .L313 +.L292: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L314 + .loc 1 122 6 view .LVU388 + cmpq 8(%rbx), %r12 + jnb .L315 + .loc 1 122 6 is_stmt 1 discriminator 2 view .LVU389 + .loc 1 123 85 view .LVU390 + .loc 1 124 3 view .LVU391 + .loc 1 124 151 is_stmt 0 view .LVU392 + movl %ebx, %r14d + .loc 1 124 3 view .LVU393 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L316 + movq stdout(%rip), %r13 + testq %r13, %r13 + je .L317 +.L303: +.LVL233: +.LBB79: +.LBI79: + .loc 2 77 1 is_stmt 1 view .LVU394 +.LBB80: + .loc 2 79 3 view .LVU395 + .loc 2 79 10 is_stmt 0 view .LVU396 + subq $8, %rsp + pushq %r12 + movq %r14, %r9 + movl $124, %r8d + leaq .LC1(%rip), %rcx + leaq .LC18(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL234: + .loc 2 79 10 view .LVU397 +.LBE80: +.LBE79: + .loc 1 125 3 is_stmt 1 view .LVU398 + .loc 1 125 14 is_stmt 0 view .LVU399 + addq $16, %rsp + testq %rbx, %rbx + je .L304 + testb $7, %bl + jne .L304 +.L305: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L318 + movq (%rbx), %rbx +.LVL235: + .loc 1 125 20 view .LVU400 + salq $3, %r12 +.LVL236: + .loc 1 125 20 view .LVU401 + leaq (%rbx,%r12), %rdx + js .L307 + cmpq %rbx, %rdx + jnb .L308 +.L309: + movq %rbx, %rsi + leaq .Lubsan_data132(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL237: + jmp .L308 +.LVL238: +.L290: + .loc 1 122 19 view .LVU402 + movq %rbx, %rsi +.LVL239: + .loc 1 122 19 view .LVU403 + leaq .Lubsan_data128(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL240: + jmp .L291 +.L313: + .loc 1 122 19 view .LVU404 + movq %rbx, %rsi + leaq .Lubsan_data129(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL241: + jmp .L292 +.L314: + .loc 1 122 19 view .LVU405 + call __asan_report_load8@PLT +.LVL242: +.L315: + .loc 1 122 32 is_stmt 1 discriminator 1 view .LVU406 + leaq stderr(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L319 + movq stderr(%rip), %r13 + testq %r13, %r13 + je .L320 +.L296: +.LVL243: +.LBB81: +.LBI81: + .loc 2 77 1 view .LVU407 +.LBB82: + .loc 2 79 3 view .LVU408 + .loc 2 79 10 is_stmt 0 view .LVU409 + leaq .LC16(%rip), %r9 + movl $122, %r8d + leaq .LC1(%rip), %rcx + leaq .LC2(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL244: + .loc 2 79 10 view .LVU410 +.LBE82: +.LBE81: + .loc 1 122 156 is_stmt 1 discriminator 1 view .LVU411 + testq %rbx, %rbx + je .L297 + testb $7, %bl + jne .L297 +.L298: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L321 + movq 8(%rbx), %r13 + leaq stderr(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L322 + movq stderr(%rip), %rbx +.LVL245: + .loc 1 122 156 is_stmt 0 discriminator 1 view .LVU412 + testq %rbx, %rbx + je .L323 +.L301: +.LVL246: +.LBB83: +.LBI83: + .loc 2 77 1 is_stmt 1 view .LVU413 +.LBB84: + .loc 2 79 3 view .LVU414 + .loc 2 79 10 is_stmt 0 view .LVU415 + subq $8, %rsp + pushq %r13 + movq %r12, %r9 + movl $122, %r8d + leaq .LC1(%rip), %rcx + leaq .LC17(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL247: + .loc 2 79 10 view .LVU416 +.LBE84: +.LBE83: + .loc 1 122 150 is_stmt 1 discriminator 2 view .LVU417 + call __asan_handle_no_return@PLT +.LVL248: + movl $1, %edi + call exit@PLT +.LVL249: +.L319: + .loc 1 122 32 is_stmt 0 discriminator 1 view .LVU418 + call __asan_report_load8@PLT +.LVL250: +.L320: + leaq .Lubsan_data47(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL251: + jmp .L296 +.L297: + .loc 1 122 156 discriminator 1 view .LVU419 + movq %rbx, %rsi + leaq .Lubsan_data130(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL252: + jmp .L298 +.L321: + .loc 1 122 156 discriminator 1 view .LVU420 + call __asan_report_load8@PLT +.LVL253: +.L322: + call __asan_report_load8@PLT +.LVL254: +.L323: + .loc 1 122 156 discriminator 1 view .LVU421 + leaq .Lubsan_data49(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL255: + jmp .L301 +.LVL256: +.L316: + .loc 1 124 3 view .LVU422 + call __asan_report_load8@PLT +.LVL257: +.L317: + leaq .Lubsan_data51(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL258: + jmp .L303 +.L304: + .loc 1 125 14 view .LVU423 + movq %rbx, %rsi + leaq .Lubsan_data131(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL259: + jmp .L305 +.L318: + .loc 1 125 14 view .LVU424 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL260: +.L307: + .loc 1 125 20 view .LVU425 + cmpq %rdx, %rbx + jb .L309 +.L308: + addq %r12, %rbx + je .L310 + testb $7, %bl + jne .L310 +.L311: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L324 + .loc 1 125 20 discriminator 1 view .LVU426 + movq (%rbx), %rax + .loc 1 126 1 view .LVU427 + leaq -32(%rbp), %rsp + popq %rbx + popq %r12 + popq %r13 + popq %r14 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.L310: + .cfi_restore_state + .loc 1 125 20 view .LVU428 + movq %rbx, %rsi + leaq .Lubsan_data133(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL261: + jmp .L311 +.L324: + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL262: + .cfi_endproc +.LFE61: + .size array_get, .-array_get + .globl array_length + .type array_length, @function +array_length: +.LASANPC62: +.LVL263: +.LFB62: + .loc 1 130 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 130 1 is_stmt 0 view .LVU430 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %rbx + subq $8, %rsp + .cfi_offset 3, -24 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + .loc 1 131 3 is_stmt 1 view .LVU431 + .loc 1 131 14 is_stmt 0 view .LVU432 + testq %rdi, %rdi + je .L326 + testb $7, %dil + jne .L326 +.LVL264: +.L327: + .loc 1 131 14 view .LVU433 + leaq 8(%rbx), %rdx + cmpq $-8, %rbx + jnb .L330 +.L328: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L331 + .loc 1 131 14 discriminator 1 view .LVU434 + movq 8(%rbx), %rax + .loc 1 132 1 view .LVU435 + movq -8(%rbp), %rbx +.LVL265: + .loc 1 132 1 view .LVU436 + leave + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL266: +.L326: + .cfi_restore_state + .loc 1 131 14 view .LVU437 + movq %rbx, %rsi + leaq .Lubsan_data134(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL267: + jmp .L327 +.L330: + .loc 1 131 14 view .LVU438 + movq %rbx, %rsi + leaq .Lubsan_data135(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL268: + jmp .L328 +.L331: + .loc 1 131 14 view .LVU439 + call __asan_report_load8@PLT +.LVL269: + .cfi_endproc +.LFE62: + .size array_length, .-array_length + .section .rodata + .align 32 +.LC19: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0mfreeing array %p\n" + .zero 39 + .text + .globl array_free + .type array_free, @function +array_free: +.LASANPC64: +.LVL270: +.LFB64: + .loc 1 149 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 149 1 is_stmt 0 view .LVU441 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 13, -24 + .cfi_offset 12, -32 + .cfi_offset 3, -40 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + .loc 1 150 3 is_stmt 1 view .LVU442 + .loc 1 150 127 is_stmt 0 view .LVU443 + movl %edi, %r13d + .loc 1 150 3 view .LVU444 + leaq stdout(%rip), %rdi +.LVL271: + .loc 1 150 3 view .LVU445 + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L338 + movq stdout(%rip), %r12 + testq %r12, %r12 + je .L339 +.L334: +.LVL272: +.LBB85: +.LBI85: + .loc 2 77 1 is_stmt 1 view .LVU446 +.LBB86: + .loc 2 79 3 view .LVU447 + .loc 2 79 10 is_stmt 0 view .LVU448 + movq %r13, %r9 + movl $150, %r8d + leaq .LC1(%rip), %rcx + leaq .LC19(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL273: + .loc 2 79 10 view .LVU449 +.LBE86: +.LBE85: + .loc 1 151 3 is_stmt 1 view .LVU450 + .loc 1 151 34 is_stmt 0 view .LVU451 + testq %rbx, %rbx + je .L335 + testb $7, %bl + jne .L335 +.L336: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L340 + movq (%rbx), %rsi + .loc 1 151 3 view .LVU452 + leaq __func__.0(%rip), %r12 + movq %r12, %rdi + call __chk_free_impl@PLT +.LVL274: + .loc 1 152 3 is_stmt 1 view .LVU453 + movq %rbx, %rsi + movq %r12, %rdi + call __chk_free_impl@PLT +.LVL275: + .loc 1 153 1 is_stmt 0 view .LVU454 + addq $8, %rsp + popq %rbx +.LVL276: + .loc 1 153 1 view .LVU455 + popq %r12 + popq %r13 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL277: +.L338: + .cfi_restore_state + .loc 1 150 3 view .LVU456 + call __asan_report_load8@PLT +.LVL278: +.L339: + leaq .Lubsan_data53(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL279: + jmp .L334 +.L335: + .loc 1 151 34 view .LVU457 + movq %rbx, %rsi + leaq .Lubsan_data136(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL280: + jmp .L336 +.L340: + .loc 1 151 34 view .LVU458 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL281: + .cfi_endproc +.LFE64: + .size array_free, .-array_free + .globl __asan_stack_malloc_0 + .section .rodata.str1.1,"aMS",@progbits,1 +.LC20: + .string "1 32 8 11 cb_free:135" + .section .rodata + .align 32 +.LC21: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0mfreeing array %p, user provided callback: %p\n" + .zero 43 + .text + .globl array_free_cb + .type array_free_cb, @function +array_free_cb: +.LASANPC63: +.LVL282: +.LFB63: + .loc 1 136 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 136 1 is_stmt 0 view .LVU460 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $120, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + movq %rsi, %r15 + leaq -144(%rbp), %r13 + movq %r13, -160(%rbp) + cmpl $0, __asan_option_detect_stack_use_after_return(%rip) + jne .L351 +.LVL283: +.L341: + .loc 1 136 1 view .LVU461 + leaq 96(%r13), %r12 + movq $1102416563, 0(%r13) + leaq .LC20(%rip), %rax + movq %rax, 8(%r13) + leaq .LASANPC63(%rip), %rax + movq %rax, 16(%r13) + movq %r13, %r14 + shrq $3, %r14 + movl $-235802127, 2147450880(%r14) + movl $-202116352, 2147450884(%r14) + .loc 1 136 1 view .LVU462 + movq %fs:40, %rax + movq %rax, -56(%rbp) + xorl %eax, %eax + .loc 1 135 52 view .LVU463 + movq %r15, -64(%r12) +.LVL284: + .loc 1 137 3 is_stmt 1 view .LVU464 + .loc 1 137 155 is_stmt 0 view .LVU465 + movl %ebx, %eax + movq %rax, -152(%rbp) + .loc 1 137 3 view .LVU466 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L352 +.LVL285: + .loc 1 137 3 view .LVU467 + movq stdout(%rip), %r15 +.LVL286: + .loc 1 137 3 view .LVU468 + testq %r15, %r15 + je .L353 +.LVL287: +.L346: +.LBB87: +.LBI87: + .loc 2 77 1 is_stmt 1 view .LVU469 +.LBB88: + .loc 2 79 3 view .LVU470 + .loc 2 79 10 is_stmt 0 view .LVU471 + subq $8, %rsp + leaq -64(%r12), %rax + pushq %rax + movq -152(%rbp), %r9 + movl $137, %r8d + leaq .LC1(%rip), %rcx + leaq .LC21(%rip), %rdx + movl $2, %esi + movq %r15, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL288: + .loc 2 79 10 view .LVU472 +.LBE88: +.LBE87: + .loc 1 139 3 is_stmt 1 view .LVU473 + .loc 1 139 6 is_stmt 0 view .LVU474 + addq $16, %rsp + cmpq $0, -64(%r12) + je .L347 +.LBB89: + .loc 1 141 27 discriminator 1 view .LVU475 + movl $0, %r15d + jmp .L348 +.LVL289: +.L351: + .loc 1 141 27 discriminator 1 view .LVU476 +.LBE89: + .loc 1 136 1 view .LVU477 + movl $64, %edi + call __asan_stack_malloc_0@PLT +.LVL290: + .loc 1 136 1 view .LVU478 + testq %rax, %rax + je .L341 + movq %rax, %r13 + jmp .L341 +.L352: + .loc 1 137 3 view .LVU479 + call __asan_report_load8@PLT +.LVL291: +.L353: + .loc 1 137 3 view .LVU480 + leaq .Lubsan_data55(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL292: + .loc 1 137 3 view .LVU481 + jmp .L346 +.LVL293: +.L349: +.LBB90: + .loc 1 142 5 is_stmt 1 view .LVU482 + call *-64(%r12) +.LVL294: + .loc 1 141 91 discriminator 4 view .LVU483 + addq $1, %r15 +.LVL295: +.L348: + .loc 1 141 58 discriminator 1 view .LVU484 + .loc 1 141 38 is_stmt 0 discriminator 1 view .LVU485 + movq %rbx, %rdi + call array_length +.LVL296: + .loc 1 141 58 discriminator 1 view .LVU486 + cmpq %rax, %r15 + jnb .L347 + .loc 1 141 69 discriminator 3 view .LVU487 + movq %r15, %rsi + movq %rbx, %rdi + call array_get +.LVL297: + movq %rax, %rdi +.LVL298: + .loc 1 141 58 discriminator 1 view .LVU488 + testq %rax, %rax + jne .L349 +.LVL299: +.L347: + .loc 1 141 58 discriminator 1 view .LVU489 +.LBE90: + .loc 1 144 3 view .LVU490 + movq %rbx, %rdi + call array_free +.LVL300: + .loc 1 136 1 view .LVU491 + cmpq %r13, -160(%rbp) + jne .L354 + movq $0, 2147450880(%r14) +.L343: + .loc 1 145 1 view .LVU492 + movq -56(%rbp), %rax + subq %fs:40, %rax + jne .L355 + leaq -40(%rbp), %rsp + popq %rbx +.LVL301: + .loc 1 145 1 view .LVU493 + popq %r12 + popq %r13 + popq %r14 + popq %r15 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL302: +.L354: + .cfi_restore_state + .loc 1 136 1 view .LVU494 + movq $1172321806, 0(%r13) + movabsq $-723401728380766731, %rax + movq %rax, 2147450880(%r14) + movq 56(%r13), %rax + movb $0, (%rax) + jmp .L343 +.L355: + .loc 1 145 1 view .LVU495 + call __stack_chk_fail@PLT +.LVL303: + .cfi_endproc +.LFE63: + .size array_free_cb, .-array_free_cb + .section .data.rel.local,"aw" + .align 32 + .type .Lubsan_data136, @object + .size .Lubsan_data136, 32 +.Lubsan_data136: + .quad .LC1 + .long 151 + .long 34 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data135, @object + .size .Lubsan_data135, 16 +.Lubsan_data135: + .quad .LC1 + .long 131 + .long 14 + .zero 48 + .align 32 + .type .Lubsan_data134, @object + .size .Lubsan_data134, 32 +.Lubsan_data134: + .quad .LC1 + .long 131 + .long 14 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data133, @object + .size .Lubsan_data133, 32 +.Lubsan_data133: + .quad .LC1 + .long 125 + .long 20 + .quad .Lubsan_type2 + .byte 3 + .byte 0 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data132, @object + .size .Lubsan_data132, 16 +.Lubsan_data132: + .quad .LC1 + .long 125 + .long 20 + .zero 48 + .align 32 + .type .Lubsan_data131, @object + .size .Lubsan_data131, 32 +.Lubsan_data131: + .quad .LC1 + .long 125 + .long 14 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data130, @object + .size .Lubsan_data130, 32 +.Lubsan_data130: + .quad .LC1 + .long 122 + .long 156 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data129, @object + .size .Lubsan_data129, 16 +.Lubsan_data129: + .quad .LC1 + .long 122 + .long 19 + .zero 48 + .align 32 + .type .Lubsan_data128, @object + .size .Lubsan_data128, 32 +.Lubsan_data128: + .quad .LC1 + .long 122 + .long 19 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data127, @object + .size .Lubsan_data127, 16 +.Lubsan_data127: + .quad .LC1 + .long 114 + .long 3 + .zero 48 + .align 32 + .type .Lubsan_data126, @object + .size .Lubsan_data126, 32 +.Lubsan_data126: + .quad .LC1 + .long 114 + .long 3 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data125, @object + .size .Lubsan_data125, 16 +.Lubsan_data125: + .quad .LC1 + .long 108 + .long 10 + .zero 48 + .align 32 + .type .Lubsan_data124, @object + .size .Lubsan_data124, 32 +.Lubsan_data124: + .quad .LC1 + .long 108 + .long 10 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data123, @object + .size .Lubsan_data123, 32 +.Lubsan_data123: + .quad .LC1 + .long 99 + .long 15 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data122, @object + .size .Lubsan_data122, 32 +.Lubsan_data122: + .quad .LC1 + .long 99 + .long 7 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data121, @object + .size .Lubsan_data121, 16 +.Lubsan_data121: + .quad .LC1 + .long 96 + .long 12 + .zero 48 + .align 32 + .type .Lubsan_data120, @object + .size .Lubsan_data120, 32 +.Lubsan_data120: + .quad .LC1 + .long 96 + .long 17 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data119, @object + .size .Lubsan_data119, 16 +.Lubsan_data119: + .quad .LC1 + .long 96 + .long 30 + .zero 48 + .align 32 + .type .Lubsan_data118, @object + .size .Lubsan_data118, 32 +.Lubsan_data118: + .quad .LC1 + .long 96 + .long 35 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data117, @object + .size .Lubsan_data117, 32 +.Lubsan_data117: + .quad .LC1 + .long 96 + .long 76 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data116, @object + .size .Lubsan_data116, 32 +.Lubsan_data116: + .quad .LC1 + .long 95 + .long 29 + .quad .Lubsan_type2 + .byte 3 + .byte 0 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data115, @object + .size .Lubsan_data115, 16 +.Lubsan_data115: + .quad .LC1 + .long 95 + .long 45 + .zero 48 + .align 32 + .type .Lubsan_data114, @object + .size .Lubsan_data114, 32 +.Lubsan_data114: + .quad .LC1 + .long 95 + .long 39 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data113, @object + .size .Lubsan_data113, 32 +.Lubsan_data113: + .quad .LC1 + .long 91 + .long 33 + .quad .Lubsan_type2 + .byte 3 + .byte 0 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data112, @object + .size .Lubsan_data112, 16 +.Lubsan_data112: + .quad .LC1 + .long 91 + .long 49 + .zero 48 + .align 32 + .type .Lubsan_data111, @object + .size .Lubsan_data111, 32 +.Lubsan_data111: + .quad .LC1 + .long 91 + .long 56 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data110, @object + .size .Lubsan_data110, 32 +.Lubsan_data110: + .quad .LC1 + .long 91 + .long 33 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data109, @object + .size .Lubsan_data109, 32 +.Lubsan_data109: + .quad .LC1 + .long 91 + .long 56 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data108, @object + .size .Lubsan_data108, 32 +.Lubsan_data108: + .quad .LC1 + .long 91 + .long 43 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data107, @object + .size .Lubsan_data107, 32 +.Lubsan_data107: + .quad .LC1 + .long 89 + .long 18 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data106, @object + .size .Lubsan_data106, 16 +.Lubsan_data106: + .quad .LC1 + .long 88 + .long 13 + .zero 48 + .align 32 + .type .Lubsan_data105, @object + .size .Lubsan_data105, 32 +.Lubsan_data105: + .quad .LC1 + .long 88 + .long 13 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data104, @object + .size .Lubsan_data104, 32 +.Lubsan_data104: + .quad .LC1 + .long 79 + .long 15 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data103, @object + .size .Lubsan_data103, 32 +.Lubsan_data103: + .quad .LC1 + .long 79 + .long 7 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data102, @object + .size .Lubsan_data102, 32 +.Lubsan_data102: + .quad .LC1 + .long 78 + .long 19 + .quad .Lubsan_type2 + .byte 3 + .byte 1 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data101, @object + .size .Lubsan_data101, 16 +.Lubsan_data101: + .quad .LC1 + .long 78 + .long 13 + .zero 48 + .align 32 + .type .Lubsan_data100, @object + .size .Lubsan_data100, 32 +.Lubsan_data100: + .quad .LC1 + .long 78 + .long 7 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data99, @object + .size .Lubsan_data99, 16 +.Lubsan_data99: + .quad .LC1 + .long 77 + .long 12 + .zero 48 + .align 32 + .type .Lubsan_data98, @object + .size .Lubsan_data98, 32 +.Lubsan_data98: + .quad .LC1 + .long 77 + .long 17 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data97, @object + .size .Lubsan_data97, 16 +.Lubsan_data97: + .quad .LC1 + .long 77 + .long 34 + .zero 48 + .align 32 + .type .Lubsan_data96, @object + .size .Lubsan_data96, 32 +.Lubsan_data96: + .quad .LC1 + .long 77 + .long 39 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data95, @object + .size .Lubsan_data95, 32 +.Lubsan_data95: + .quad .LC1 + .long 77 + .long 76 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data94, @object + .size .Lubsan_data94, 32 +.Lubsan_data94: + .quad .LC1 + .long 74 + .long 34 + .quad .Lubsan_type2 + .byte 3 + .byte 1 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type2, @object + .size .Lubsan_type2, 13 +.Lubsan_type2: + .value -1 + .value 0 + .string "'void *'" + .zero 51 + .section .data.rel.local + .align 32 + .type .Lubsan_data93, @object + .size .Lubsan_data93, 16 +.Lubsan_data93: + .quad .LC1 + .long 74 + .long 17 + .zero 48 + .align 32 + .type .Lubsan_data92, @object + .size .Lubsan_data92, 32 +.Lubsan_data92: + .quad .LC1 + .long 74 + .long 30 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data91, @object + .size .Lubsan_data91, 32 +.Lubsan_data91: + .quad .LC1 + .long 74 + .long 22 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data90, @object + .size .Lubsan_data90, 32 +.Lubsan_data90: + .quad .LC1 + .long 74 + .long 11 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data89, @object + .size .Lubsan_data89, 32 +.Lubsan_data89: + .quad .LC1 + .long 72 + .long 18 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data88, @object + .size .Lubsan_data88, 16 +.Lubsan_data88: + .quad .LC1 + .long 70 + .long 27 + .zero 48 + .align 32 + .type .Lubsan_data87, @object + .size .Lubsan_data87, 32 +.Lubsan_data87: + .quad .LC1 + .long 70 + .long 27 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data86, @object + .size .Lubsan_data86, 16 +.Lubsan_data86: + .quad .LC1 + .long 70 + .long 11 + .zero 48 + .align 32 + .type .Lubsan_data85, @object + .size .Lubsan_data85, 32 +.Lubsan_data85: + .quad .LC1 + .long 70 + .long 11 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data84, @object + .size .Lubsan_data84, 16 +.Lubsan_data84: + .quad .LC1 + .long 63 + .long 19 + .zero 48 + .align 32 + .type .Lubsan_data83, @object + .size .Lubsan_data83, 32 +.Lubsan_data83: + .quad .LC1 + .long 63 + .long 19 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data82, @object + .size .Lubsan_data82, 32 +.Lubsan_data82: + .quad .LC1 + .long 60 + .long 15 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data81, @object + .size .Lubsan_data81, 32 +.Lubsan_data81: + .quad .LC1 + .long 43 + .long 20 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data80, @object + .size .Lubsan_data80, 32 +.Lubsan_data80: + .quad .LC1 + .long 43 + .long 9 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data79, @object + .size .Lubsan_data79, 32 +.Lubsan_data79: + .quad .LC1 + .long 40 + .long 197 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data78, @object + .size .Lubsan_data78, 32 +.Lubsan_data78: + .quad .LC1 + .long 40 + .long 232 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data77, @object + .size .Lubsan_data77, 32 +.Lubsan_data77: + .quad .LC1 + .long 39 + .long 16 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data76, @object + .size .Lubsan_data76, 32 +.Lubsan_data76: + .quad .LC1 + .long 39 + .long 53 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data75, @object + .size .Lubsan_data75, 32 +.Lubsan_data75: + .quad .LC1 + .long 39 + .long 67 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data74, @object + .size .Lubsan_data74, 16 +.Lubsan_data74: + .quad .LC1 + .long 37 + .long 31 + .zero 48 + .align 32 + .type .Lubsan_data73, @object + .size .Lubsan_data73, 32 +.Lubsan_data73: + .quad .LC1 + .long 37 + .long 31 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data72, @object + .size .Lubsan_data72, 16 +.Lubsan_data72: + .quad .LC1 + .long 37 + .long 15 + .zero 48 + .align 32 + .type .Lubsan_data71, @object + .size .Lubsan_data71, 32 +.Lubsan_data71: + .quad .LC1 + .long 37 + .long 15 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data70, @object + .size .Lubsan_data70, 32 +.Lubsan_data70: + .quad .LC1 + .long 30 + .long 18 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data69, @object + .size .Lubsan_data69, 32 +.Lubsan_data69: + .quad .LC1 + .long 30 + .long 7 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data68, @object + .size .Lubsan_data68, 32 +.Lubsan_data68: + .quad .LC1 + .long 28 + .long 193 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data67, @object + .size .Lubsan_data67, 32 +.Lubsan_data67: + .quad .LC1 + .long 28 + .long 232 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data66, @object + .size .Lubsan_data66, 32 +.Lubsan_data66: + .quad .LC1 + .long 27 + .long 14 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data65, @object + .size .Lubsan_data65, 32 +.Lubsan_data65: + .quad .LC1 + .long 27 + .long 51 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data64, @object + .size .Lubsan_data64, 32 +.Lubsan_data64: + .quad .LC1 + .long 27 + .long 69 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data63, @object + .size .Lubsan_data63, 16 +.Lubsan_data63: + .quad .LC1 + .long 26 + .long 29 + .zero 48 + .align 32 + .type .Lubsan_data62, @object + .size .Lubsan_data62, 32 +.Lubsan_data62: + .quad .LC1 + .long 26 + .long 29 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data61, @object + .size .Lubsan_data61, 16 +.Lubsan_data61: + .quad .LC1 + .long 26 + .long 13 + .zero 48 + .align 32 + .type .Lubsan_data60, @object + .size .Lubsan_data60, 32 +.Lubsan_data60: + .quad .LC1 + .long 26 + .long 13 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type1, @object + .size .Lubsan_type1, 24 +.Lubsan_type1: + .value -1 + .value 0 + .string "'struct array_impl'" + .zero 40 + .section .data.rel.local + .align 32 + .type .Lubsan_data55, @object + .size .Lubsan_data55, 40 +.Lubsan_data55: + .quad .LC1 + .long 137 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data53, @object + .size .Lubsan_data53, 40 +.Lubsan_data53: + .quad .LC1 + .long 150 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data51, @object + .size .Lubsan_data51, 40 +.Lubsan_data51: + .quad .LC1 + .long 124 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data49, @object + .size .Lubsan_data49, 40 +.Lubsan_data49: + .quad .LC1 + .long 122 + .long 156 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data47, @object + .size .Lubsan_data47, 40 +.Lubsan_data47: + .quad .LC1 + .long 122 + .long 32 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data45, @object + .size .Lubsan_data45, 40 +.Lubsan_data45: + .quad .LC1 + .long 115 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data41, @object + .size .Lubsan_data41, 40 +.Lubsan_data41: + .quad .LC1 + .long 107 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data39, @object + .size .Lubsan_data39, 40 +.Lubsan_data39: + .quad .LC1 + .long 97 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data38, @object + .size .Lubsan_data38, 40 +.Lubsan_data38: + .quad .LC1 + .long 96 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 2 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data37, @object + .size .Lubsan_data37, 40 +.Lubsan_data37: + .quad .LC1 + .long 96 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data35, @object + .size .Lubsan_data35, 40 +.Lubsan_data35: + .quad .LC1 + .long 88 + .long 153 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data33, @object + .size .Lubsan_data33, 40 +.Lubsan_data33: + .quad .LC1 + .long 88 + .long 30 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data31, @object + .size .Lubsan_data31, 40 +.Lubsan_data31: + .quad .LC1 + .long 80 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data30, @object + .size .Lubsan_data30, 40 +.Lubsan_data30: + .quad .LC1 + .long 77 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 2 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data29, @object + .size .Lubsan_data29, 40 +.Lubsan_data29: + .quad .LC1 + .long 77 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data27, @object + .size .Lubsan_data27, 40 +.Lubsan_data27: + .quad .LC1 + .long 52 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data25, @object + .size .Lubsan_data25, 40 +.Lubsan_data25: + .quad .LC1 + .long 61 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data23, @object + .size .Lubsan_data23, 40 +.Lubsan_data23: + .quad .LC1 + .long 40 + .long 5 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data21, @object + .size .Lubsan_data21, 40 +.Lubsan_data21: + .quad .LC1 + .long 37 + .long 173 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data19, @object + .size .Lubsan_data19, 40 +.Lubsan_data19: + .quad .LC1 + .long 37 + .long 50 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data17, @object + .size .Lubsan_data17, 40 +.Lubsan_data17: + .quad .LC1 + .long 28 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data15, @object + .size .Lubsan_data15, 40 +.Lubsan_data15: + .quad .LC1 + .long 26 + .long 167 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data13, @object + .size .Lubsan_data13, 40 +.Lubsan_data13: + .quad .LC1 + .long 26 + .long 44 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .section .rodata + .align 32 + .type __func__.0, @object + .size __func__.0, 11 +__func__.0: + .string "array_free" + .zero 53 + .align 32 + .type __func__.1, @object + .size __func__.1, 16 +__func__.1: + .string "array_new_sized" + .zero 48 + .align 32 + .type __func__.2, @object + .size __func__.2, 20 +__func__.2: + .string "array_impl_downsize" + .zero 44 + .align 32 + .type __func__.3, @object + .size __func__.3, 18 +__func__.3: + .string "array_impl_resize" + .zero 46 + .section .data.rel.local + .align 16 + .type .LASANLOC1, @object + .size .LASANLOC1, 16 +.LASANLOC1: + .quad .LC1 + .long 151 + .long 20 + .align 16 + .type .LASANLOC2, @object + .size .LASANLOC2, 16 +.LASANLOC2: + .quad .LC1 + .long 59 + .long 38 + .align 16 + .type .LASANLOC3, @object + .size .LASANLOC3, 16 +.LASANLOC3: + .quad .LC1 + .long 39 + .long 38 + .align 16 + .type .LASANLOC4, @object + .size .LASANLOC4, 16 +.LASANLOC4: + .quad .LC1 + .long 27 + .long 36 + .section .rodata.str1.1 +.LC22: + .string "*.Lubsan_data136" +.LC23: + .string "*.Lubsan_data135" +.LC24: + .string "*.Lubsan_data134" +.LC25: + .string "*.Lubsan_data133" +.LC26: + .string "*.Lubsan_data132" +.LC27: + .string "*.Lubsan_data131" +.LC28: + .string "*.Lubsan_data130" +.LC29: + .string "*.Lubsan_data129" +.LC30: + .string "*.Lubsan_data128" +.LC31: + .string "*.Lubsan_data127" +.LC32: + .string "*.Lubsan_data126" +.LC33: + .string "*.Lubsan_data125" +.LC34: + .string "*.Lubsan_data124" +.LC35: + .string "*.Lubsan_data123" +.LC36: + .string "*.Lubsan_data122" +.LC37: + .string "*.Lubsan_data121" +.LC38: + .string "*.Lubsan_data120" +.LC39: + .string "*.Lubsan_data119" +.LC40: + .string "*.Lubsan_data118" +.LC41: + .string "*.Lubsan_data117" +.LC42: + .string "*.Lubsan_data116" +.LC43: + .string "*.Lubsan_data115" +.LC44: + .string "*.Lubsan_data114" +.LC45: + .string "*.Lubsan_data113" +.LC46: + .string "*.Lubsan_data112" +.LC47: + .string "*.Lubsan_data111" +.LC48: + .string "*.Lubsan_data110" +.LC49: + .string "*.Lubsan_data109" +.LC50: + .string "*.Lubsan_data108" +.LC51: + .string "*.Lubsan_data107" +.LC52: + .string "*.Lubsan_data106" +.LC53: + .string "*.Lubsan_data105" +.LC54: + .string "*.Lubsan_data104" +.LC55: + .string "*.Lubsan_data103" +.LC56: + .string "*.Lubsan_data102" +.LC57: + .string "*.Lubsan_data101" +.LC58: + .string "*.Lubsan_data100" +.LC59: + .string "*.Lubsan_data99" +.LC60: + .string "*.Lubsan_data98" +.LC61: + .string "*.Lubsan_data97" +.LC62: + .string "*.Lubsan_data96" +.LC63: + .string "*.Lubsan_data95" +.LC64: + .string "*.Lubsan_data94" +.LC65: + .string "*.Lubsan_type2" +.LC66: + .string "*.Lubsan_data93" +.LC67: + .string "*.Lubsan_data92" +.LC68: + .string "*.Lubsan_data91" +.LC69: + .string "*.Lubsan_data90" +.LC70: + .string "*.Lubsan_data89" +.LC71: + .string "*.Lubsan_data88" +.LC72: + .string "*.Lubsan_data87" +.LC73: + .string "*.Lubsan_data86" +.LC74: + .string "*.Lubsan_data85" +.LC75: + .string "*.Lubsan_data84" +.LC76: + .string "*.Lubsan_data83" +.LC77: + .string "*.Lubsan_data82" +.LC78: + .string "*.Lubsan_data81" +.LC79: + .string "*.Lubsan_data80" +.LC80: + .string "*.Lubsan_data79" +.LC81: + .string "*.Lubsan_data78" +.LC82: + .string "*.Lubsan_data77" +.LC83: + .string "*.Lubsan_data76" +.LC84: + .string "*.Lubsan_data75" +.LC85: + .string "*.Lubsan_data74" +.LC86: + .string "*.Lubsan_data73" +.LC87: + .string "*.Lubsan_data72" +.LC88: + .string "*.Lubsan_data71" +.LC89: + .string "*.Lubsan_data70" +.LC90: + .string "*.Lubsan_data69" +.LC91: + .string "*.Lubsan_data68" +.LC92: + .string "*.Lubsan_data67" +.LC93: + .string "*.Lubsan_data66" +.LC94: + .string "*.Lubsan_data65" +.LC95: + .string "*.Lubsan_data64" +.LC96: + .string "*.Lubsan_data63" +.LC97: + .string "*.Lubsan_data62" +.LC98: + .string "*.Lubsan_data61" +.LC99: + .string "*.Lubsan_data60" +.LC100: + .string "*.Lubsan_type1" +.LC101: + .string "*.Lubsan_data55" +.LC102: + .string "*.Lubsan_data53" +.LC103: + .string "*.Lubsan_data51" +.LC104: + .string "*.Lubsan_data49" +.LC105: + .string "*.Lubsan_data47" +.LC106: + .string "*.Lubsan_data45" +.LC107: + .string "*.Lubsan_data41" +.LC108: + .string "*.Lubsan_data39" +.LC109: + .string "*.Lubsan_data38" +.LC110: + .string "*.Lubsan_data37" +.LC111: + .string "*.Lubsan_data35" +.LC112: + .string "*.Lubsan_data33" +.LC113: + .string "*.Lubsan_data31" +.LC114: + .string "*.Lubsan_data30" +.LC115: + .string "*.Lubsan_data29" +.LC116: + .string "*.Lubsan_data27" +.LC117: + .string "*.Lubsan_data25" +.LC118: + .string "*.Lubsan_data23" +.LC119: + .string "*.Lubsan_data21" +.LC120: + .string "*.Lubsan_data19" +.LC121: + .string "*.Lubsan_data17" +.LC122: + .string "*.Lubsan_data15" +.LC123: + .string "*.Lubsan_data13" +.LC124: + .string "__func__" +.LC125: + .string "*.LC3" +.LC126: + .string "*.LC18" +.LC127: + .string "*.LC8" +.LC128: + .string "*.LC2" +.LC129: + .string "*.LC17" +.LC130: + .string "*.LC13" +.LC131: + .string "*.LC7" +.LC132: + .string "*.LC16" +.LC133: + .string "*.LC9" +.LC134: + .string "*.LC1" +.LC135: + .string "*.LC15" +.LC136: + .string "*.LC19" +.LC137: + .string "*.LC10" +.LC138: + .string "*.LC12" +.LC139: + .string "*.LC11" +.LC140: + .string "*.LC0" +.LC141: + .string "*.LC4" +.LC142: + .string "*.LC6" +.LC143: + .string "*.LC14" +.LC144: + .string "*.LC5" +.LC145: + .string "*.LC21" + .section .data.rel.local + .align 32 + .type .LASAN0, @object + .size .LASAN0, 8128 +.LASAN0: + .quad .Lubsan_data136 + .quad 32 + .quad 64 + .quad .LC22 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data135 + .quad 16 + .quad 64 + .quad .LC23 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data134 + .quad 32 + .quad 64 + .quad .LC24 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data133 + .quad 32 + .quad 64 + .quad .LC25 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data132 + .quad 16 + .quad 64 + .quad .LC26 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data131 + .quad 32 + .quad 64 + .quad .LC27 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data130 + .quad 32 + .quad 64 + .quad .LC28 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data129 + .quad 16 + .quad 64 + .quad .LC29 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data128 + .quad 32 + .quad 64 + .quad .LC30 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data127 + .quad 16 + .quad 64 + .quad .LC31 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data126 + .quad 32 + .quad 64 + .quad .LC32 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data125 + .quad 16 + .quad 64 + .quad .LC33 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data124 + .quad 32 + .quad 64 + .quad .LC34 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data123 + .quad 32 + .quad 64 + .quad .LC35 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data122 + .quad 32 + .quad 64 + .quad .LC36 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data121 + .quad 16 + .quad 64 + .quad .LC37 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data120 + .quad 32 + .quad 64 + .quad .LC38 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data119 + .quad 16 + .quad 64 + .quad .LC39 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data118 + .quad 32 + .quad 64 + .quad .LC40 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data117 + .quad 32 + .quad 64 + .quad .LC41 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data116 + .quad 32 + .quad 64 + .quad .LC42 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data115 + .quad 16 + .quad 64 + .quad .LC43 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data114 + .quad 32 + .quad 64 + .quad .LC44 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data113 + .quad 32 + .quad 64 + .quad .LC45 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data112 + .quad 16 + .quad 64 + .quad .LC46 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data111 + .quad 32 + .quad 64 + .quad .LC47 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data110 + .quad 32 + .quad 64 + .quad .LC48 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data109 + .quad 32 + .quad 64 + .quad .LC49 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data108 + .quad 32 + .quad 64 + .quad .LC50 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data107 + .quad 32 + .quad 64 + .quad .LC51 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data106 + .quad 16 + .quad 64 + .quad .LC52 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data105 + .quad 32 + .quad 64 + .quad .LC53 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data104 + .quad 32 + .quad 64 + .quad .LC54 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data103 + .quad 32 + .quad 64 + .quad .LC55 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data102 + .quad 32 + .quad 64 + .quad .LC56 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data101 + .quad 16 + .quad 64 + .quad .LC57 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data100 + .quad 32 + .quad 64 + .quad .LC58 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data99 + .quad 16 + .quad 64 + .quad .LC59 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data98 + .quad 32 + .quad 64 + .quad .LC60 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data97 + .quad 16 + .quad 64 + .quad .LC61 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data96 + .quad 32 + .quad 64 + .quad .LC62 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data95 + .quad 32 + .quad 64 + .quad .LC63 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data94 + .quad 32 + .quad 64 + .quad .LC64 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type2 + .quad 13 + .quad 64 + .quad .LC65 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data93 + .quad 16 + .quad 64 + .quad .LC66 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data92 + .quad 32 + .quad 64 + .quad .LC67 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data91 + .quad 32 + .quad 64 + .quad .LC68 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data90 + .quad 32 + .quad 64 + .quad .LC69 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data89 + .quad 32 + .quad 64 + .quad .LC70 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data88 + .quad 16 + .quad 64 + .quad .LC71 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data87 + .quad 32 + .quad 64 + .quad .LC72 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data86 + .quad 16 + .quad 64 + .quad .LC73 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data85 + .quad 32 + .quad 64 + .quad .LC74 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data84 + .quad 16 + .quad 64 + .quad .LC75 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data83 + .quad 32 + .quad 64 + .quad .LC76 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data82 + .quad 32 + .quad 64 + .quad .LC77 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data81 + .quad 32 + .quad 64 + .quad .LC78 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data80 + .quad 32 + .quad 64 + .quad .LC79 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data79 + .quad 32 + .quad 64 + .quad .LC80 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data78 + .quad 32 + .quad 64 + .quad .LC81 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data77 + .quad 32 + .quad 64 + .quad .LC82 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data76 + .quad 32 + .quad 64 + .quad .LC83 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data75 + .quad 32 + .quad 64 + .quad .LC84 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data74 + .quad 16 + .quad 64 + .quad .LC85 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data73 + .quad 32 + .quad 64 + .quad .LC86 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data72 + .quad 16 + .quad 64 + .quad .LC87 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data71 + .quad 32 + .quad 64 + .quad .LC88 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data70 + .quad 32 + .quad 64 + .quad .LC89 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data69 + .quad 32 + .quad 64 + .quad .LC90 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data68 + .quad 32 + .quad 64 + .quad .LC91 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data67 + .quad 32 + .quad 64 + .quad .LC92 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data66 + .quad 32 + .quad 64 + .quad .LC93 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data65 + .quad 32 + .quad 64 + .quad .LC94 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data64 + .quad 32 + .quad 64 + .quad .LC95 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data63 + .quad 16 + .quad 64 + .quad .LC96 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data62 + .quad 32 + .quad 64 + .quad .LC97 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data61 + .quad 16 + .quad 64 + .quad .LC98 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data60 + .quad 32 + .quad 64 + .quad .LC99 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type1 + .quad 24 + .quad 64 + .quad .LC100 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data55 + .quad 40 + .quad 96 + .quad .LC101 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data53 + .quad 40 + .quad 96 + .quad .LC102 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data51 + .quad 40 + .quad 96 + .quad .LC103 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data49 + .quad 40 + .quad 96 + .quad .LC104 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data47 + .quad 40 + .quad 96 + .quad .LC105 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data45 + .quad 40 + .quad 96 + .quad .LC106 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data41 + .quad 40 + .quad 96 + .quad .LC107 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data39 + .quad 40 + .quad 96 + .quad .LC108 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data38 + .quad 40 + .quad 96 + .quad .LC109 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data37 + .quad 40 + .quad 96 + .quad .LC110 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data35 + .quad 40 + .quad 96 + .quad .LC111 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data33 + .quad 40 + .quad 96 + .quad .LC112 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data31 + .quad 40 + .quad 96 + .quad .LC113 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data30 + .quad 40 + .quad 96 + .quad .LC114 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data29 + .quad 40 + .quad 96 + .quad .LC115 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data27 + .quad 40 + .quad 96 + .quad .LC116 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data25 + .quad 40 + .quad 96 + .quad .LC117 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data23 + .quad 40 + .quad 96 + .quad .LC118 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data21 + .quad 40 + .quad 96 + .quad .LC119 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data19 + .quad 40 + .quad 96 + .quad .LC120 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data17 + .quad 40 + .quad 96 + .quad .LC121 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data15 + .quad 40 + .quad 96 + .quad .LC122 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data13 + .quad 40 + .quad 96 + .quad .LC123 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad __func__.0 + .quad 11 + .quad 64 + .quad .LC124 + .quad .LC1 + .quad 0 + .quad .LASANLOC1 + .quad 0 + .quad __func__.1 + .quad 16 + .quad 64 + .quad .LC124 + .quad .LC1 + .quad 0 + .quad .LASANLOC2 + .quad 0 + .quad __func__.2 + .quad 20 + .quad 64 + .quad .LC124 + .quad .LC1 + .quad 0 + .quad .LASANLOC3 + .quad 0 + .quad __func__.3 + .quad 18 + .quad 64 + .quad .LC124 + .quad .LC1 + .quad 0 + .quad .LASANLOC4 + .quad 0 + .quad .LC3 + .quad 77 + .quad 128 + .quad .LC125 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .LC18 + .quad 81 + .quad 128 + .quad .LC126 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .LC8 + .quad 81 + .quad 128 + .quad .LC127 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .LC2 + .quad 69 + .quad 128 + .quad .LC128 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .LC17 + .quad 86 + .quad 128 + .quad .LC129 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .LC13 + .quad 87 + .quad 128 + .quad .LC130 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .LC7 + .quad 87 + .quad 128 + .quad .LC131 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .LC16 + .quad 19 + .quad 64 + .quad .LC132 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .LC9 + .quad 63 + .quad 96 + .quad .LC133 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .LC1 + .quad 12 + .quad 64 + .quad .LC134 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .LC15 + .quad 76 + .quad 128 + .quad .LC135 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .LC19 + .quad 57 + .quad 96 + .quad .LC136 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .LC10 + .quad 86 + .quad 128 + .quad .LC137 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .LC12 + .quad 61 + .quad 96 + .quad .LC138 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .LC11 + .quad 17 + .quad 64 + .quad .LC139 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .LC0 + .quad 31 + .quad 64 + .quad .LC140 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .LC4 + .quad 85 + .quad 128 + .quad .LC141 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .LC6 + .quad 93 + .quad 128 + .quad .LC142 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .LC14 + .quad 62 + .quad 96 + .quad .LC143 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .LC5 + .quad 35 + .quad 96 + .quad .LC144 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .quad .LC21 + .quad 85 + .quad 128 + .quad .LC145 + .quad .LC1 + .quad 0 + .quad 0 + .quad 0 + .text + .type _sub_D_00099_0, @function +_sub_D_00099_0: +.LFB65: + .cfi_startproc + .loc 1 153 1 is_stmt 1 view .LVU496 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl $127, %esi + leaq .LASAN0(%rip), %rdi + call __asan_unregister_globals@PLT + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE65: + .size _sub_D_00099_0, .-_sub_D_00099_0 + .section .fini_array.00099,"aw" + .align 8 + .quad _sub_D_00099_0 + .text + .type _sub_I_00099_1, @function +_sub_I_00099_1: +.LFB66: + .cfi_startproc + .loc 1 153 1 view .LVU497 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + call __asan_init@PLT + call __asan_version_mismatch_check_v8@PLT + movl $127, %esi + leaq .LASAN0(%rip), %rdi + call __asan_register_globals@PLT + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE66: + .size _sub_I_00099_1, .-_sub_I_00099_1 + .section .init_array.00099,"aw" + .align 8 + .quad _sub_I_00099_1 + .text +.Letext0: + .file 4 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" + .file 5 "/usr/include/bits/types.h" + .file 6 "include/array.h" + .file 7 "/usr/include/stdint.h" + .file 8 "/usr/include/bits/types/struct_FILE.h" + .file 9 "/usr/include/bits/types/FILE.h" + .file 10 "/usr/include/stdio.h" + .file 11 "include/generic.h" + .file 12 "/usr/include/bits/stdio2-decl.h" + .file 13 "/usr/include/stdlib.h" + .file 14 "" + .section .debug_info,"",@progbits +.Ldebug_info0: + .long 0x260e + .value 0x5 + .byte 0x1 + .byte 0x8 + .long .Ldebug_abbrev0 + .uleb128 0x20 + .long .LASF102 + .byte 0x1d + .long .LASF0 + .long .LASF1 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .long .Ldebug_line0 + .uleb128 0xd + .long .LASF10 + .byte 0x4 + .byte 0xd6 + .byte 0x1b + .long 0x3a + .uleb128 0xb + .byte 0x8 + .byte 0x7 + .long .LASF2 + .uleb128 0x21 + .byte 0x4 + .byte 0x5 + .string "int" + .uleb128 0xb + .byte 0x8 + .byte 0x5 + .long .LASF3 + .uleb128 0xb + .byte 0x8 + .byte 0x5 + .long .LASF4 + .uleb128 0xb + .byte 0x1 + .byte 0x8 + .long .LASF5 + .uleb128 0xb + .byte 0x2 + .byte 0x7 + .long .LASF6 + .uleb128 0xb + .byte 0x4 + .byte 0x7 + .long .LASF7 + .uleb128 0xb + .byte 0x1 + .byte 0x6 + .long .LASF8 + .uleb128 0xb + .byte 0x2 + .byte 0x5 + .long .LASF9 + .uleb128 0xd + .long .LASF11 + .byte 0x5 + .byte 0x98 + .byte 0x12 + .long 0x48 + .uleb128 0xd + .long .LASF12 + .byte 0x5 + .byte 0x99 + .byte 0x12 + .long 0x48 + .uleb128 0x22 + .byte 0x8 + .uleb128 0xa + .long 0x98 + .uleb128 0xb + .byte 0x1 + .byte 0x6 + .long .LASF13 + .uleb128 0x11 + .long 0x98 + .uleb128 0xb + .byte 0x8 + .byte 0x7 + .long .LASF14 + .uleb128 0xa + .long 0xb0 + .uleb128 0x23 + .uleb128 0xd + .long .LASF15 + .byte 0x6 + .byte 0xb + .byte 0x1c + .long 0xbd + .uleb128 0xa + .long 0xc2 + .uleb128 0x19 + .long .LASF21 + .byte 0x18 + .byte 0x1 + .byte 0xe + .long 0xf6 + .uleb128 0x5 + .long .LASF16 + .byte 0x1 + .byte 0x10 + .byte 0xa + .long 0x328 + .byte 0 + .uleb128 0x5 + .long .LASF17 + .byte 0x1 + .byte 0x11 + .byte 0xa + .long 0x2e + .byte 0x8 + .uleb128 0x5 + .long .LASF18 + .byte 0x1 + .byte 0x11 + .byte 0x12 + .long 0x2e + .byte 0x10 + .byte 0 + .uleb128 0xd + .long .LASF19 + .byte 0x6 + .byte 0xc + .byte 0x10 + .long 0x102 + .uleb128 0xa + .long 0x107 + .uleb128 0x24 + .long 0x112 + .uleb128 0x9 + .long 0x91 + .byte 0 + .uleb128 0xd + .long .LASF20 + .byte 0x7 + .byte 0x4f + .byte 0x1b + .long 0x3a + .uleb128 0x19 + .long .LASF22 + .byte 0xd8 + .byte 0x8 + .byte 0x31 + .long 0x2a4 + .uleb128 0x5 + .long .LASF23 + .byte 0x8 + .byte 0x33 + .byte 0x7 + .long 0x41 + .byte 0 + .uleb128 0x5 + .long .LASF24 + .byte 0x8 + .byte 0x36 + .byte 0x9 + .long 0x93 + .byte 0x8 + .uleb128 0x5 + .long .LASF25 + .byte 0x8 + .byte 0x37 + .byte 0x9 + .long 0x93 + .byte 0x10 + .uleb128 0x5 + .long .LASF26 + .byte 0x8 + .byte 0x38 + .byte 0x9 + .long 0x93 + .byte 0x18 + .uleb128 0x5 + .long .LASF27 + .byte 0x8 + .byte 0x39 + .byte 0x9 + .long 0x93 + .byte 0x20 + .uleb128 0x5 + .long .LASF28 + .byte 0x8 + .byte 0x3a + .byte 0x9 + .long 0x93 + .byte 0x28 + .uleb128 0x5 + .long .LASF29 + .byte 0x8 + .byte 0x3b + .byte 0x9 + .long 0x93 + .byte 0x30 + .uleb128 0x5 + .long .LASF30 + .byte 0x8 + .byte 0x3c + .byte 0x9 + .long 0x93 + .byte 0x38 + .uleb128 0x5 + .long .LASF31 + .byte 0x8 + .byte 0x3d + .byte 0x9 + .long 0x93 + .byte 0x40 + .uleb128 0x5 + .long .LASF32 + .byte 0x8 + .byte 0x40 + .byte 0x9 + .long 0x93 + .byte 0x48 + .uleb128 0x5 + .long .LASF33 + .byte 0x8 + .byte 0x41 + .byte 0x9 + .long 0x93 + .byte 0x50 + .uleb128 0x5 + .long .LASF34 + .byte 0x8 + .byte 0x42 + .byte 0x9 + .long 0x93 + .byte 0x58 + .uleb128 0x5 + .long .LASF35 + .byte 0x8 + .byte 0x44 + .byte 0x16 + .long 0x2bd + .byte 0x60 + .uleb128 0x5 + .long .LASF36 + .byte 0x8 + .byte 0x46 + .byte 0x14 + .long 0x2c2 + .byte 0x68 + .uleb128 0x5 + .long .LASF37 + .byte 0x8 + .byte 0x48 + .byte 0x7 + .long 0x41 + .byte 0x70 + .uleb128 0x5 + .long .LASF38 + .byte 0x8 + .byte 0x49 + .byte 0x7 + .long 0x41 + .byte 0x74 + .uleb128 0x5 + .long .LASF39 + .byte 0x8 + .byte 0x4a + .byte 0xb + .long 0x79 + .byte 0x78 + .uleb128 0x5 + .long .LASF40 + .byte 0x8 + .byte 0x4d + .byte 0x12 + .long 0x5d + .byte 0x80 + .uleb128 0x5 + .long .LASF41 + .byte 0x8 + .byte 0x4e + .byte 0xf + .long 0x6b + .byte 0x82 + .uleb128 0x5 + .long .LASF42 + .byte 0x8 + .byte 0x4f + .byte 0x8 + .long 0x2c7 + .byte 0x83 + .uleb128 0x5 + .long .LASF43 + .byte 0x8 + .byte 0x51 + .byte 0xf + .long 0x2d7 + .byte 0x88 + .uleb128 0x5 + .long .LASF44 + .byte 0x8 + .byte 0x59 + .byte 0xd + .long 0x85 + .byte 0x90 + .uleb128 0x5 + .long .LASF45 + .byte 0x8 + .byte 0x5b + .byte 0x17 + .long 0x2e1 + .byte 0x98 + .uleb128 0x5 + .long .LASF46 + .byte 0x8 + .byte 0x5c + .byte 0x19 + .long 0x2eb + .byte 0xa0 + .uleb128 0x5 + .long .LASF47 + .byte 0x8 + .byte 0x5d + .byte 0x14 + .long 0x2c2 + .byte 0xa8 + .uleb128 0x5 + .long .LASF48 + .byte 0x8 + .byte 0x5e + .byte 0x9 + .long 0x91 + .byte 0xb0 + .uleb128 0x5 + .long .LASF49 + .byte 0x8 + .byte 0x5f + .byte 0xa + .long 0x2e + .byte 0xb8 + .uleb128 0x5 + .long .LASF50 + .byte 0x8 + .byte 0x60 + .byte 0x7 + .long 0x41 + .byte 0xc0 + .uleb128 0x5 + .long .LASF51 + .byte 0x8 + .byte 0x62 + .byte 0x8 + .long 0x2f0 + .byte 0xc4 + .byte 0 + .uleb128 0xd + .long .LASF52 + .byte 0x9 + .byte 0x7 + .byte 0x19 + .long 0x11e + .uleb128 0x25 + .long .LASF103 + .byte 0x8 + .byte 0x2b + .byte 0xe + .uleb128 0x14 + .long .LASF53 + .uleb128 0xa + .long 0x2b8 + .uleb128 0xa + .long 0x11e + .uleb128 0xf + .long 0x98 + .long 0x2d7 + .uleb128 0x10 + .long 0x3a + .byte 0 + .byte 0 + .uleb128 0xa + .long 0x2b0 + .uleb128 0x14 + .long .LASF54 + .uleb128 0xa + .long 0x2dc + .uleb128 0x14 + .long .LASF55 + .uleb128 0xa + .long 0x2e6 + .uleb128 0xf + .long 0x98 + .long 0x300 + .uleb128 0x10 + .long 0x3a + .byte 0x13 + .byte 0 + .uleb128 0xa + .long 0x9f + .uleb128 0x1a + .long 0x300 + .uleb128 0xa + .long 0x2a4 + .uleb128 0x1a + .long 0x30a + .uleb128 0x1b + .long .LASF56 + .byte 0x96 + .long 0x30a + .uleb128 0x1b + .long .LASF57 + .byte 0x97 + .long 0x30a + .uleb128 0xa + .long 0x91 + .uleb128 0x26 + .long .LASF104 + .byte 0xb + .byte 0x50 + .byte 0x6 + .long 0x344 + .uleb128 0x9 + .long 0x300 + .uleb128 0x9 + .long 0x91 + .byte 0 + .uleb128 0x15 + .long .LASF58 + .byte 0xb + .byte 0x52 + .byte 0x7 + .long 0x91 + .long 0x364 + .uleb128 0x9 + .long 0x300 + .uleb128 0x9 + .long 0x2e + .uleb128 0x9 + .long 0x2e + .byte 0 + .uleb128 0x15 + .long .LASF59 + .byte 0xc + .byte 0x31 + .byte 0xc + .long 0x41 + .long 0x385 + .uleb128 0x9 + .long 0x30f + .uleb128 0x9 + .long 0x41 + .uleb128 0x9 + .long 0x305 + .uleb128 0x1c + .byte 0 + .uleb128 0x15 + .long .LASF60 + .byte 0xb + .byte 0x53 + .byte 0x7 + .long 0x91 + .long 0x3a5 + .uleb128 0x9 + .long 0x300 + .uleb128 0x9 + .long 0x91 + .uleb128 0x9 + .long 0x2e + .byte 0 + .uleb128 0x27 + .long .LASF61 + .byte 0xd + .value 0x2f4 + .byte 0xd + .long 0x3b8 + .uleb128 0x9 + .long 0x41 + .byte 0 + .uleb128 0x16 + .long .LASF62 + .byte 0x94 + .byte 0x1 + .quad .LFB64 + .quad .LFE64-.LFB64 + .uleb128 0x1 + .byte 0x9c + .long 0x515 + .uleb128 0x8 + .long .LASF64 + .byte 0x94 + .byte 0x15 + .long 0xb1 + .long .LLST57 + .long .LVUS57 + .uleb128 0x13 + .long .LASF76 + .long 0x525 + .uleb128 0x9 + .byte 0x3 + .quad __func__.0 + .uleb128 0x7 + .long 0x2596 + .quad .LBI85 + .byte .LVU446 + .quad .LBB85 + .quad .LBE85-.LBB85 + .byte 0x96 + .byte 0x3 + .long 0x479 + .uleb128 0x3 + .long 0x25b2 + .long .LLST58 + .long .LVUS58 + .uleb128 0x3 + .long 0x25a6 + .long .LLST59 + .long .LVUS59 + .uleb128 0x6 + .quad .LVL273 + .long 0x364 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC19 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x96 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL274 + .long 0x32d + .long 0x491 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL275 + .long 0x32d + .long 0x4af + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL278 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL279 + .long 0x25c9 + .long 0x4db + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data53 + .byte 0 + .uleb128 0x2 + .quad .LVL280 + .long 0x25d2 + .long 0x500 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data136 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x6 + .quad .LVL281 + .long 0x25c0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0xf + .long 0x9f + .long 0x525 + .uleb128 0x10 + .long 0x3a + .byte 0xa + .byte 0 + .uleb128 0x11 + .long 0x515 + .uleb128 0x28 + .long .LASF63 + .byte 0x1 + .byte 0x87 + .byte 0x1 + .quad .LFB63 + .quad .LFE63-.LFB63 + .uleb128 0x1 + .byte 0x9c + .long 0x6b5 + .uleb128 0x8 + .long .LASF64 + .byte 0x87 + .byte 0x18 + .long 0xb1 + .long .LLST60 + .long .LVUS60 + .uleb128 0x8 + .long .LASF65 + .byte 0x87 + .byte 0x34 + .long 0xf6 + .long .LLST61 + .long .LVUS61 + .uleb128 0x29 + .long .LASF105 + .byte 0x1 + .byte 0x8f + .byte 0x1 + .uleb128 0x1d + .long .LASF66 + .byte 0x8d + .byte 0x9 + .long 0x91 + .long .LLST62 + .long .LVUS62 + .uleb128 0x2a + .long .LLRL65 + .long 0x5d6 + .uleb128 0x17 + .string "i" + .byte 0x8d + .byte 0x1b + .long 0x2e + .long .LLST66 + .long .LVUS66 + .uleb128 0x2 + .quad .LVL296 + .long 0x6b5 + .long 0x5bb + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x6 + .quad .LVL297 + .long 0x740 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x7 + .long 0x2596 + .quad .LBI87 + .byte .LVU469 + .quad .LBB87 + .quad .LBE87-.LBB87 + .byte 0x89 + .byte 0x3 + .long 0x656 + .uleb128 0x3 + .long 0x25b2 + .long .LLST63 + .long .LVUS63 + .uleb128 0x3 + .long 0x25a6 + .long .LLST64 + .long .LVUS64 + .uleb128 0x6 + .quad .LVL288 + .long 0x364 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC21 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x89 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x4 + .byte 0x91 + .sleb128 -168 + .byte 0x6 + .byte 0 + .byte 0 + .uleb128 0x4 + .quad .LVL290 + .long 0x25db + .uleb128 0x4 + .quad .LVL291 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL292 + .long 0x25c9 + .long 0x68f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data55 + .byte 0 + .uleb128 0x2 + .quad .LVL300 + .long 0x3b8 + .long 0x6a7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL303 + .long 0x25e4 + .byte 0 + .uleb128 0xc + .long .LASF67 + .byte 0x81 + .long 0x2e + .quad .LFB62 + .quad .LFE62-.LFB62 + .uleb128 0x1 + .byte 0x9c + .long 0x740 + .uleb128 0x8 + .long .LASF64 + .byte 0x81 + .byte 0x17 + .long 0xb1 + .long .LLST56 + .long .LVUS56 + .uleb128 0x2 + .quad .LVL267 + .long 0x25d2 + .long 0x70d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data134 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL268 + .long 0x25ed + .long 0x732 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data135 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL269 + .long 0x25c0 + .byte 0 + .uleb128 0xc + .long .LASF68 + .byte 0x78 + .long 0x91 + .quad .LFB61 + .quad .LFE61-.LFB61 + .uleb128 0x1 + .byte 0x9c + .long 0xad4 + .uleb128 0x8 + .long .LASF64 + .byte 0x78 + .byte 0x14 + .long 0xb1 + .long .LLST48 + .long .LVUS48 + .uleb128 0x18 + .string "idx" + .byte 0x78 + .byte 0x21 + .long 0x2e + .long .LLST49 + .long .LVUS49 + .uleb128 0x7 + .long 0x2596 + .quad .LBI79 + .byte .LVU394 + .quad .LBB79 + .quad .LBE79-.LBB79 + .byte 0x7c + .byte 0x3 + .long 0x804 + .uleb128 0x3 + .long 0x25b2 + .long .LLST50 + .long .LVUS50 + .uleb128 0x3 + .long 0x25a6 + .long .LLST51 + .long .LVUS51 + .uleb128 0x6 + .quad .LVL234 + .long 0x364 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC18 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x7c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x7 + .long 0x2596 + .quad .LBI81 + .byte .LVU407 + .quad .LBB81 + .quad .LBE81-.LBB81 + .byte 0x7a + .byte 0x20 + .long 0x889 + .uleb128 0x3 + .long 0x25b2 + .long .LLST52 + .long .LVUS52 + .uleb128 0x3 + .long 0x25a6 + .long .LLST53 + .long .LVUS53 + .uleb128 0x6 + .quad .LVL244 + .long 0x364 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x7a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x9 + .byte 0x3 + .quad .LC16 + .byte 0 + .byte 0 + .uleb128 0x7 + .long 0x2596 + .quad .LBI83 + .byte .LVU413 + .quad .LBB83 + .quad .LBE83-.LBB83 + .byte 0x7a + .byte 0x9c + .long 0x907 + .uleb128 0x3 + .long 0x25b2 + .long .LLST54 + .long .LVUS54 + .uleb128 0x3 + .long 0x25a6 + .long .LLST55 + .long .LVUS55 + .uleb128 0x6 + .quad .LVL247 + .long 0x364 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC17 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x7a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL237 + .long 0x25ed + .long 0x92c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data132 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL240 + .long 0x25d2 + .long 0x951 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data128 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL241 + .long 0x25ed + .long 0x976 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data129 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL242 + .long 0x25c0 + .uleb128 0x4 + .quad .LVL248 + .long 0x25f6 + .uleb128 0x2 + .quad .LVL249 + .long 0x3a5 + .long 0x9a7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .uleb128 0x4 + .quad .LVL250 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL251 + .long 0x25c9 + .long 0x9d3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data47 + .byte 0 + .uleb128 0x2 + .quad .LVL252 + .long 0x25d2 + .long 0x9f8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data130 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL253 + .long 0x25c0 + .uleb128 0x4 + .quad .LVL254 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL255 + .long 0x25c9 + .long 0xa31 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data49 + .byte 0 + .uleb128 0x4 + .quad .LVL257 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL258 + .long 0x25c9 + .long 0xa5d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data51 + .byte 0 + .uleb128 0x2 + .quad .LVL259 + .long 0x25d2 + .long 0xa82 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data131 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL260 + .long 0x25c0 + .long 0xa9a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL261 + .long 0x25d2 + .long 0xabf + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data133 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x6 + .quad .LVL262 + .long 0x25c0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0xc + .long .LASF69 + .byte 0x70 + .long 0x91 + .quad .LFB60 + .quad .LFE60-.LFB60 + .uleb128 0x1 + .byte 0x9c + .long 0xc36 + .uleb128 0x8 + .long .LASF64 + .byte 0x70 + .byte 0x17 + .long 0xb1 + .long .LLST44 + .long .LVUS44 + .uleb128 0x8 + .long .LASF66 + .byte 0x70 + .byte 0x23 + .long 0x91 + .long .LLST45 + .long .LVUS45 + .uleb128 0x7 + .long 0x2596 + .quad .LBI77 + .byte .LVU371 + .quad .LBB77 + .quad .LBE77-.LBB77 + .byte 0x73 + .byte 0x3 + .long 0xb98 + .uleb128 0x3 + .long 0x25b2 + .long .LLST46 + .long .LVUS46 + .uleb128 0x3 + .long 0x25a6 + .long .LLST47 + .long .LVUS47 + .uleb128 0x6 + .quad .LVL222 + .long 0x364 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC15 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x73 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL219 + .long 0x1438 + .long 0xbb6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL226 + .long 0x25d2 + .long 0xbdb + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data126 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL227 + .long 0x25ed + .long 0xc00 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data127 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL228 + .long 0x25c0 + .uleb128 0x4 + .quad .LVL229 + .long 0x25c0 + .uleb128 0x6 + .quad .LVL230 + .long 0x25c9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data45 + .byte 0 + .byte 0 + .uleb128 0xc + .long .LASF70 + .byte 0x69 + .long 0x91 + .quad .LFB59 + .quad .LFE59-.LFB59 + .uleb128 0x1 + .byte 0x9c + .long 0xd83 + .uleb128 0x8 + .long .LASF64 + .byte 0x69 + .byte 0x14 + .long 0xb1 + .long .LLST41 + .long .LVUS41 + .uleb128 0x7 + .long 0x2596 + .quad .LBI75 + .byte .LVU352 + .quad .LBB75 + .quad .LBE75-.LBB75 + .byte 0x6b + .byte 0x3 + .long 0xce7 + .uleb128 0x3 + .long 0x25b2 + .long .LLST42 + .long .LVUS42 + .uleb128 0x3 + .long 0x25a6 + .long .LLST43 + .long .LVUS43 + .uleb128 0x6 + .quad .LVL208 + .long 0x364 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC14 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x6b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL209 + .long 0xd83 + .long 0xcff + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL212 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL213 + .long 0x25c9 + .long 0xd2b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data41 + .byte 0 + .uleb128 0x2 + .quad .LVL214 + .long 0x25d2 + .long 0xd50 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data124 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL215 + .long 0x25ed + .long 0xd75 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data125 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL216 + .long 0x25c0 + .byte 0 + .uleb128 0xc + .long .LASF71 + .byte 0x56 + .long 0x91 + .quad .LFB58 + .quad .LFE58-.LFB58 + .uleb128 0x1 + .byte 0x9c + .long 0x1438 + .uleb128 0x8 + .long .LASF64 + .byte 0x56 + .byte 0x17 + .long 0xb1 + .long .LLST28 + .long .LVUS28 + .uleb128 0x18 + .string "idx" + .byte 0x56 + .byte 0x24 + .long 0x2e + .long .LLST29 + .long .LVUS29 + .uleb128 0x17 + .string "ret" + .byte 0x5f + .byte 0x1d + .long 0x91 + .long .LLST30 + .long .LVUS30 + .uleb128 0x2b + .quad .LBB70 + .quad .LBE70-.LBB70 + .long 0xf27 + .uleb128 0x17 + .string "ret" + .byte 0x5b + .byte 0x21 + .long 0x91 + .long .LLST35 + .long .LVUS35 + .uleb128 0x2 + .quad .LVL167 + .long 0x25ed + .long 0xe29 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data112 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL169 + .long 0x25d2 + .long 0xe4e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data108 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL170 + .long 0x25c0 + .long 0xe66 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL171 + .long 0x25d2 + .long 0xe8b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data109 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL172 + .long 0x25d2 + .long 0xeb0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data110 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL173 + .long 0x25d2 + .long 0xed5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data111 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL175 + .long 0x1c34 + .long 0xeed + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL177 + .long 0x25d2 + .long 0xf12 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data113 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x6 + .quad .LVL178 + .long 0x25c0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x7 + .long 0x2596 + .quad .LBI66 + .byte .LVU270 + .quad .LBB66 + .quad .LBE66-.LBB66 + .byte 0x58 + .byte 0x1e + .long 0xfac + .uleb128 0x3 + .long 0x25b2 + .long .LLST31 + .long .LVUS31 + .uleb128 0x3 + .long 0x25a6 + .long .LLST32 + .long .LVUS32 + .uleb128 0x6 + .quad .LVL155 + .long 0x364 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x58 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x9 + .byte 0x3 + .quad .LC11 + .byte 0 + .byte 0 + .uleb128 0x7 + .long 0x2596 + .quad .LBI68 + .byte .LVU275 + .quad .LBB68 + .quad .LBE68-.LBB68 + .byte 0x58 + .byte 0x99 + .long 0x1024 + .uleb128 0x3 + .long 0x25b2 + .long .LLST33 + .long .LVUS33 + .uleb128 0x3 + .long 0x25a6 + .long .LLST34 + .long .LVUS34 + .uleb128 0x6 + .quad .LVL157 + .long 0x364 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC12 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x58 + .byte 0 + .byte 0 + .uleb128 0x7 + .long 0x2561 + .quad .LBI71 + .byte .LVU323 + .quad .LBB71 + .quad .LBE71-.LBB71 + .byte 0x60 + .byte 0x3 + .long 0x1094 + .uleb128 0x3 + .long 0x2589 + .long .LLST36 + .long .LVUS36 + .uleb128 0x3 + .long 0x257d + .long .LLST37 + .long .LVUS37 + .uleb128 0x3 + .long 0x2571 + .long .LLST38 + .long .LVUS38 + .uleb128 0x6 + .quad .LVL192 + .long 0x25ff + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x4 + .byte 0x91 + .sleb128 -88 + .byte 0x6 + .byte 0 + .byte 0 + .uleb128 0x7 + .long 0x2596 + .quad .LBI73 + .byte .LVU330 + .quad .LBB73 + .quad .LBE73-.LBB73 + .byte 0x61 + .byte 0x3 + .long 0x1112 + .uleb128 0x3 + .long 0x25b2 + .long .LLST39 + .long .LVUS39 + .uleb128 0x3 + .long 0x25a6 + .long .LLST40 + .long .LVUS40 + .uleb128 0x6 + .quad .LVL194 + .long 0x364 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC13 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x61 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL147 + .long 0x25ed + .long 0x1137 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data115 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL150 + .long 0x25d2 + .long 0x115c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data105 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL151 + .long 0x25ed + .long 0x1181 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data106 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL152 + .long 0x25c0 + .uleb128 0x4 + .quad .LVL158 + .long 0x25f6 + .uleb128 0x2 + .quad .LVL159 + .long 0x3a5 + .long 0x11b2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .uleb128 0x4 + .quad .LVL160 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL161 + .long 0x25c9 + .long 0x11de + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data33 + .byte 0 + .uleb128 0x4 + .quad .LVL162 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL163 + .long 0x25c9 + .long 0x120a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data35 + .byte 0 + .uleb128 0x2 + .quad .LVL165 + .long 0x25d2 + .long 0x122f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data107 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL179 + .long 0x25d2 + .long 0x1254 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data114 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL180 + .long 0x25c0 + .long 0x126c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL183 + .long 0x25ed + .long 0x1291 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data119 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL185 + .long 0x25d2 + .long 0x12b6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data116 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL186 + .long 0x25c0 + .long 0x12ce + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL187 + .long 0x25d2 + .long 0x12f3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data117 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL188 + .long 0x25d2 + .long 0x1318 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data118 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL189 + .long 0x25ed + .long 0x133d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data121 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL190 + .long 0x25d2 + .long 0x1362 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data120 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL195 + .long 0x1c34 + .long 0x137a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL198 + .long 0x25c9 + .long 0x1399 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data37 + .byte 0 + .uleb128 0x2 + .quad .LVL199 + .long 0x25c9 + .long 0x13b8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data38 + .byte 0 + .uleb128 0x4 + .quad .LVL200 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL201 + .long 0x25c9 + .long 0x13e4 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data39 + .byte 0 + .uleb128 0x2 + .quad .LVL202 + .long 0x25d2 + .long 0x1409 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data122 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL203 + .long 0x25c0 + .uleb128 0x6 + .quad .LVL204 + .long 0x25d2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data123 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0xc + .long .LASF72 + .byte 0x44 + .long 0x91 + .quad .LFB57 + .quad .LFE57-.LFB57 + .uleb128 0x1 + .byte 0x9c + .long 0x1969 + .uleb128 0x8 + .long .LASF64 + .byte 0x44 + .byte 0x17 + .long 0xb1 + .long .LLST20 + .long .LVUS20 + .uleb128 0x18 + .string "idx" + .byte 0x44 + .byte 0x24 + .long 0x2e + .long .LLST21 + .long .LVUS21 + .uleb128 0x8 + .long .LASF66 + .byte 0x44 + .byte 0x2f + .long 0x91 + .long .LLST22 + .long .LVUS22 + .uleb128 0x7 + .long 0x2561 + .quad .LBI62 + .byte .LVU220 + .quad .LBB62 + .quad .LBE62-.LBB62 + .byte 0x4d + .byte 0x3 + .long 0x1501 + .uleb128 0x3 + .long 0x2589 + .long .LLST23 + .long .LVUS23 + .uleb128 0x3 + .long 0x257d + .long .LLST24 + .long .LVUS24 + .uleb128 0x3 + .long 0x2571 + .long .LLST25 + .long .LVUS25 + .uleb128 0x6 + .quad .LVL127 + .long 0x25ff + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x4 + .byte 0x91 + .sleb128 -80 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x4 + .byte 0x91 + .sleb128 -88 + .byte 0x6 + .byte 0 + .byte 0 + .uleb128 0x7 + .long 0x2596 + .quad .LBI64 + .byte .LVU237 + .quad .LBB64 + .quad .LBE64-.LBB64 + .byte 0x50 + .byte 0x3 + .long 0x157f + .uleb128 0x3 + .long 0x25b2 + .long .LLST26 + .long .LVUS26 + .uleb128 0x3 + .long 0x25a6 + .long .LLST27 + .long .LVUS27 + .uleb128 0x6 + .quad .LVL134 + .long 0x364 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC10 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x50 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL100 + .long 0x25ed + .long 0x15a4 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data97 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL103 + .long 0x25d2 + .long 0x15c9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data85 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL104 + .long 0x25ed + .long 0x15ee + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data86 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL105 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL106 + .long 0x25d2 + .long 0x1620 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data87 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL107 + .long 0x25ed + .long 0x1645 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data88 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL108 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL109 + .long 0x20cc + .long 0x166a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL110 + .long 0x25d2 + .long 0x168f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data89 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL111 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL113 + .long 0x25ed + .long 0x16c1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data93 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL115 + .long 0x25d2 + .long 0x16e6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data90 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL116 + .long 0x25c0 + .long 0x16fe + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL117 + .long 0x25d2 + .long 0x1723 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data91 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL118 + .long 0x25d2 + .long 0x1748 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data92 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL119 + .long 0x25d2 + .long 0x176d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data94 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL120 + .long 0x2608 + .long 0x1785 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL121 + .long 0x25d2 + .long 0x17aa + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data95 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL122 + .long 0x25d2 + .long 0x17cf + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data96 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL123 + .long 0x25c0 + .long 0x17e7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL124 + .long 0x25ed + .long 0x180c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data99 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL125 + .long 0x25d2 + .long 0x1831 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data98 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL128 + .long 0x25ed + .long 0x1856 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data101 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL129 + .long 0x25c9 + .long 0x1875 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data29 + .byte 0 + .uleb128 0x2 + .quad .LVL130 + .long 0x25c9 + .long 0x1894 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data30 + .byte 0 + .uleb128 0x2 + .quad .LVL131 + .long 0x25d2 + .long 0x18b9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data100 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL138 + .long 0x25d2 + .long 0x18de + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data102 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL139 + .long 0x2608 + .long 0x18f6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL140 + .long 0x25d2 + .long 0x191b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data103 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL141 + .long 0x25d2 + .long 0x1940 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data104 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL143 + .long 0x25c0 + .uleb128 0x6 + .quad .LVL144 + .long 0x25c9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data31 + .byte 0 + .byte 0 + .uleb128 0xc + .long .LASF73 + .byte 0x39 + .long 0xb1 + .quad .LFB56 + .quad .LFE56-.LFB56 + .uleb128 0x1 + .byte 0x9c + .long 0x1b46 + .uleb128 0x8 + .long .LASF74 + .byte 0x39 + .byte 0x19 + .long 0x2e + .long .LLST14 + .long .LVUS14 + .uleb128 0x1d + .long .LASF75 + .byte 0x3b + .byte 0xb + .long 0xb1 + .long .LLST15 + .long .LVUS15 + .uleb128 0x13 + .long .LASF76 + .long 0x1b56 + .uleb128 0x9 + .byte 0x3 + .quad __func__.1 + .uleb128 0x7 + .long 0x2596 + .quad .LBI58 + .byte .LVU142 + .quad .LBB58 + .quad .LBE58-.LBB58 + .byte 0x3d + .byte 0x3 + .long 0x1a40 + .uleb128 0x3 + .long 0x25b2 + .long .LLST16 + .long .LVUS16 + .uleb128 0x3 + .long 0x25a6 + .long .LLST17 + .long .LVUS17 + .uleb128 0x6 + .quad .LVL82 + .long 0x364 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x3d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL78 + .long 0x344 + .long 0x1a62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x31 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x48 + .byte 0 + .uleb128 0x2 + .quad .LVL80 + .long 0x344 + .long 0x1a85 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x38 + .byte 0 + .uleb128 0x2 + .quad .LVL86 + .long 0x25d2 + .long 0x1aaa + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data82 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL87 + .long 0x2608 + .long 0x1ac2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL88 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL89 + .long 0x25c9 + .long 0x1aee + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data25 + .byte 0 + .uleb128 0x2 + .quad .LVL90 + .long 0x25d2 + .long 0x1b13 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data83 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL91 + .long 0x25ed + .long 0x1b38 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data84 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL92 + .long 0x2608 + .byte 0 + .uleb128 0xf + .long 0x9f + .long 0x1b56 + .uleb128 0x10 + .long 0x3a + .byte 0xf + .byte 0 + .uleb128 0x11 + .long 0x1b46 + .uleb128 0xc + .long .LASF77 + .byte 0x32 + .long 0xb1 + .quad .LFB55 + .quad .LFE55-.LFB55 + .uleb128 0x1 + .byte 0x9c + .long 0x1c34 + .uleb128 0x7 + .long 0x2596 + .quad .LBI60 + .byte .LVU160 + .quad .LBB60 + .quad .LBE60-.LBB60 + .byte 0x34 + .byte 0x3 + .long 0x1bf3 + .uleb128 0x3 + .long 0x25b2 + .long .LLST18 + .long .LVUS18 + .uleb128 0x3 + .long 0x25a6 + .long .LLST19 + .long .LVUS19 + .uleb128 0x6 + .quad .LVL94 + .long 0x364 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x34 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL95 + .long 0x1969 + .long 0x1c0b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x8 + .byte 0x20 + .byte 0 + .uleb128 0x4 + .quad .LVL96 + .long 0x25c0 + .uleb128 0x6 + .quad .LVL97 + .long 0x25c9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data27 + .byte 0 + .byte 0 + .uleb128 0x16 + .long .LASF78 + .byte 0x23 + .byte 0x3 + .quad .LFB54 + .quad .LFE54-.LFB54 + .uleb128 0x1 + .byte 0x9c + .long 0x20b7 + .uleb128 0x8 + .long .LASF64 + .byte 0x23 + .byte 0x20 + .long 0xb1 + .long .LLST7 + .long .LVUS7 + .uleb128 0x13 + .long .LASF76 + .long 0x20c7 + .uleb128 0x9 + .byte 0x3 + .quad __func__.2 + .uleb128 0x7 + .long 0x2596 + .quad .LBI52 + .byte .LVU88 + .quad .LBB52 + .quad .LBE52-.LBB52 + .byte 0x28 + .byte 0x5 + .long 0x1cf5 + .uleb128 0x3 + .long 0x25b2 + .long .LLST8 + .long .LVUS8 + .uleb128 0x3 + .long 0x25a6 + .long .LLST9 + .long .LVUS9 + .uleb128 0x6 + .quad .LVL42 + .long 0x364 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x28 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x7 + .long 0x2596 + .quad .LBI54 + .byte .LVU105 + .quad .LBB54 + .quad .LBE54-.LBB54 + .byte 0x25 + .byte 0x32 + .long 0x1d7a + .uleb128 0x3 + .long 0x25b2 + .long .LLST10 + .long .LVUS10 + .uleb128 0x3 + .long 0x25a6 + .long .LLST11 + .long .LVUS11 + .uleb128 0x6 + .quad .LVL53 + .long 0x364 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x25 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x9 + .byte 0x3 + .quad .LC5 + .byte 0 + .byte 0 + .uleb128 0x7 + .long 0x2596 + .quad .LBI56 + .byte .LVU110 + .quad .LBB56 + .quad .LBE56-.LBB56 + .byte 0x25 + .byte 0xad + .long 0x1df2 + .uleb128 0x3 + .long 0x25b2 + .long .LLST12 + .long .LVUS12 + .uleb128 0x3 + .long 0x25a6 + .long .LLST13 + .long .LVUS13 + .uleb128 0x6 + .quad .LVL55 + .long 0x364 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x25 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL40 + .long 0x385 + .long 0x1e17 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad __func__.2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL45 + .long 0x25d2 + .long 0x1e3c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data71 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL46 + .long 0x25ed + .long 0x1e61 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data72 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL47 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL48 + .long 0x25d2 + .long 0x1e93 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data73 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL49 + .long 0x25ed + .long 0x1eb8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data74 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL50 + .long 0x25c0 + .uleb128 0x4 + .quad .LVL56 + .long 0x25f6 + .uleb128 0x2 + .quad .LVL57 + .long 0x3a5 + .long 0x1ee9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .uleb128 0x4 + .quad .LVL58 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL59 + .long 0x25c9 + .long 0x1f15 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data19 + .byte 0 + .uleb128 0x4 + .quad .LVL60 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL61 + .long 0x25c9 + .long 0x1f41 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data21 + .byte 0 + .uleb128 0x2 + .quad .LVL63 + .long 0x25d2 + .long 0x1f66 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data75 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL64 + .long 0x25d2 + .long 0x1f8b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data76 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL65 + .long 0x25c0 + .long 0x1fa3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL66 + .long 0x25d2 + .long 0x1fc8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data77 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL67 + .long 0x2608 + .long 0x1fe0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL68 + .long 0x25d2 + .long 0x2005 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data78 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL69 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL70 + .long 0x25d2 + .long 0x2037 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data79 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL71 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL72 + .long 0x25c9 + .long 0x2063 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data23 + .byte 0 + .uleb128 0x2 + .quad .LVL73 + .long 0x25d2 + .long 0x2088 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data80 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL74 + .long 0x25c0 + .uleb128 0x6 + .quad .LVL75 + .long 0x25d2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data81 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0xf + .long 0x9f + .long 0x20c7 + .uleb128 0x10 + .long 0x3a + .byte 0x13 + .byte 0 + .uleb128 0x11 + .long 0x20b7 + .uleb128 0x16 + .long .LASF79 + .byte 0x18 + .byte 0x1 + .quad .LFB53 + .quad .LFE53-.LFB53 + .uleb128 0x1 + .byte 0x9c + .long 0x254c + .uleb128 0x8 + .long .LASF64 + .byte 0x18 + .byte 0x1c + .long 0xb1 + .long .LLST0 + .long .LVUS0 + .uleb128 0x13 + .long .LASF76 + .long 0x255c + .uleb128 0x9 + .byte 0x3 + .quad __func__.3 + .uleb128 0x7 + .long 0x2596 + .quad .LBI46 + .byte .LVU22 + .quad .LBB46 + .quad .LBE46-.LBB46 + .byte 0x1c + .byte 0x3 + .long 0x218c + .uleb128 0x3 + .long 0x25b2 + .long .LLST1 + .long .LVUS1 + .uleb128 0x3 + .long 0x25a6 + .long .LLST2 + .long .LVUS2 + .uleb128 0x6 + .quad .LVL4 + .long 0x364 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC4 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x1 + .byte 0x4c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x7 + .long 0x2596 + .quad .LBI48 + .byte .LVU39 + .quad .LBB48 + .quad .LBE48-.LBB48 + .byte 0x1a + .byte 0x2c + .long 0x2210 + .uleb128 0x3 + .long 0x25b2 + .long .LLST3 + .long .LVUS3 + .uleb128 0x3 + .long 0x25a6 + .long .LLST4 + .long .LVUS4 + .uleb128 0x6 + .quad .LVL15 + .long 0x364 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x1 + .byte 0x4a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .byte 0 + .byte 0 + .uleb128 0x7 + .long 0x2596 + .quad .LBI50 + .byte .LVU44 + .quad .LBB50 + .quad .LBE50-.LBB50 + .byte 0x1a + .byte 0xa7 + .long 0x2287 + .uleb128 0x3 + .long 0x25b2 + .long .LLST5 + .long .LVUS5 + .uleb128 0x3 + .long 0x25a6 + .long .LLST6 + .long .LVUS6 + .uleb128 0x6 + .quad .LVL17 + .long 0x364 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x1 + .byte 0x4a + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL2 + .long 0x385 + .long 0x22ac + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad __func__.3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL7 + .long 0x25d2 + .long 0x22d1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data60 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL8 + .long 0x25ed + .long 0x22f6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data61 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL9 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL10 + .long 0x25d2 + .long 0x2328 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL11 + .long 0x25ed + .long 0x234d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data63 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL12 + .long 0x25c0 + .uleb128 0x4 + .quad .LVL18 + .long 0x25f6 + .uleb128 0x2 + .quad .LVL19 + .long 0x3a5 + .long 0x237e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .uleb128 0x4 + .quad .LVL20 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL21 + .long 0x25c9 + .long 0x23aa + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data13 + .byte 0 + .uleb128 0x4 + .quad .LVL22 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL23 + .long 0x25c9 + .long 0x23d6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data15 + .byte 0 + .uleb128 0x2 + .quad .LVL25 + .long 0x25d2 + .long 0x23fb + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data64 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL26 + .long 0x25d2 + .long 0x2420 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data65 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL27 + .long 0x25c0 + .long 0x2438 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL28 + .long 0x25d2 + .long 0x245d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data66 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL29 + .long 0x2608 + .long 0x2475 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL30 + .long 0x25d2 + .long 0x249a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data67 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL31 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL32 + .long 0x25d2 + .long 0x24cc + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data68 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL33 + .long 0x25c0 + .uleb128 0x2 + .quad .LVL34 + .long 0x25c9 + .long 0x24f8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data17 + .byte 0 + .uleb128 0x2 + .quad .LVL35 + .long 0x25d2 + .long 0x251d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data69 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL36 + .long 0x25c0 + .uleb128 0x6 + .quad .LVL37 + .long 0x25d2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data70 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0xf + .long 0x9f + .long 0x255c + .uleb128 0x10 + .long 0x3a + .byte 0x11 + .byte 0 + .uleb128 0x11 + .long 0x254c + .uleb128 0x1e + .long .LASF83 + .byte 0x3 + .byte 0x22 + .byte 0x2a + .long 0x91 + .long 0x2596 + .uleb128 0x12 + .long .LASF80 + .byte 0x3 + .byte 0x22 + .byte 0x39 + .long 0x91 + .uleb128 0x12 + .long .LASF81 + .byte 0x3 + .byte 0x22 + .byte 0x4d + .long 0xab + .uleb128 0x12 + .long .LASF82 + .byte 0x3 + .byte 0x22 + .byte 0x5b + .long 0x2e + .byte 0 + .uleb128 0x1e + .long .LASF84 + .byte 0x2 + .byte 0x4d + .byte 0x1 + .long 0x41 + .long 0x25c0 + .uleb128 0x12 + .long .LASF85 + .byte 0x2 + .byte 0x4d + .byte 0x1b + .long 0x30f + .uleb128 0x12 + .long .LASF86 + .byte 0x2 + .byte 0x4d + .byte 0x3c + .long 0x305 + .uleb128 0x1c + .byte 0 + .uleb128 0xe + .long .LASF87 + .long .LASF89 + .uleb128 0xe + .long .LASF88 + .long .LASF90 + .uleb128 0xe + .long .LASF91 + .long .LASF92 + .uleb128 0x1f + .long .LASF93 + .long .LASF93 + .uleb128 0x1f + .long .LASF94 + .long .LASF94 + .uleb128 0xe + .long .LASF95 + .long .LASF96 + .uleb128 0xe + .long .LASF97 + .long .LASF98 + .uleb128 0xe + .long .LASF83 + .long .LASF99 + .uleb128 0xe + .long .LASF100 + .long .LASF101 + .byte 0 + .section .debug_abbrev,"",@progbits +.Ldebug_abbrev0: + .uleb128 0x1 + .uleb128 0x49 + .byte 0 + .uleb128 0x2 + .uleb128 0x18 + .uleb128 0x7e + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x2 + .uleb128 0x48 + .byte 0x1 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x3 + .uleb128 0x5 + .byte 0 + .uleb128 0x31 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x4 + .uleb128 0x48 + .byte 0 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x5 + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x6 + .uleb128 0x48 + .byte 0x1 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x7 + .uleb128 0x1d + .byte 0x1 + .uleb128 0x31 + .uleb128 0x13 + .uleb128 0x52 + .uleb128 0x1 + .uleb128 0x2138 + .uleb128 0xb + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x58 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x59 + .uleb128 0xb + .uleb128 0x57 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x8 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x9 + .uleb128 0x5 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xa + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0x21 + .sleb128 8 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xb + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .byte 0 + .byte 0 + .uleb128 0xc + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xd + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xe + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x6e + .uleb128 0xe + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 14 + .uleb128 0x3b + .uleb128 0x21 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0xf + .uleb128 0x1 + .byte 0x1 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x10 + .uleb128 0x21 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2f + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x11 + .uleb128 0x26 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x12 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x13 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x34 + .uleb128 0x19 + .uleb128 0x2 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x14 + .uleb128 0x13 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x15 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x16 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x17 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x18 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x19 + .uleb128 0x13 + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 8 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x1a + .uleb128 0x37 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x1b + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 10 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 14 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x1c + .uleb128 0x18 + .byte 0 + .byte 0 + .byte 0 + .uleb128 0x1d + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x1e + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x20 + .uleb128 0x21 + .sleb128 3 + .uleb128 0x34 + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x1f + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x6e + .uleb128 0xe + .uleb128 0x3 + .uleb128 0xe + .byte 0 + .byte 0 + .uleb128 0x20 + .uleb128 0x11 + .byte 0x1 + .uleb128 0x25 + .uleb128 0xe + .uleb128 0x13 + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x1f + .uleb128 0x1b + .uleb128 0x1f + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x10 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x21 + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x8 + .byte 0 + .byte 0 + .uleb128 0x22 + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x23 + .uleb128 0x26 + .byte 0 + .byte 0 + .byte 0 + .uleb128 0x24 + .uleb128 0x15 + .byte 0x1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x25 + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x26 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x27 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x87 + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x28 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x29 + .uleb128 0xa + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x2a + .uleb128 0xb + .byte 0x1 + .uleb128 0x55 + .uleb128 0x17 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x2b + .uleb128 0xb + .byte 0x1 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .byte 0 + .section .debug_loclists,"",@progbits + .long .Ldebug_loc3-.Ldebug_loc2 +.Ldebug_loc2: + .value 0x5 + .byte 0x8 + .byte 0 + .long 0 +.Ldebug_loc0: +.LVUS57: + .uleb128 0 + .uleb128 .LVU445 + .uleb128 .LVU445 + .uleb128 .LVU455 + .uleb128 .LVU455 + .uleb128 .LVU456 + .uleb128 .LVU456 + .uleb128 0 +.LLST57: + .byte 0x4 + .uleb128 .LVL270-.Ltext0 + .uleb128 .LVL271-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL271-.Ltext0 + .uleb128 .LVL276-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL276-.Ltext0 + .uleb128 .LVL277-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL277-.Ltext0 + .uleb128 .LFE64-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS58: + .uleb128 .LVU446 + .uleb128 .LVU449 +.LLST58: + .byte 0x4 + .uleb128 .LVL272-.Ltext0 + .uleb128 .LVL273-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC19 + .byte 0x9f + .byte 0 +.LVUS59: + .uleb128 .LVU446 + .uleb128 .LVU449 +.LLST59: + .byte 0x4 + .uleb128 .LVL272-.Ltext0 + .uleb128 .LVL273-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS60: + .uleb128 0 + .uleb128 .LVU461 + .uleb128 .LVU461 + .uleb128 .LVU493 + .uleb128 .LVU493 + .uleb128 .LVU494 + .uleb128 .LVU494 + .uleb128 0 +.LLST60: + .byte 0x4 + .uleb128 .LVL282-.Ltext0 + .uleb128 .LVL283-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL283-.Ltext0 + .uleb128 .LVL301-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL301-.Ltext0 + .uleb128 .LVL302-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL302-.Ltext0 + .uleb128 .LFE63-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS61: + .uleb128 0 + .uleb128 .LVU461 + .uleb128 .LVU461 + .uleb128 .LVU464 + .uleb128 .LVU464 + .uleb128 .LVU467 + .uleb128 .LVU467 + .uleb128 .LVU468 + .uleb128 .LVU468 + .uleb128 .LVU469 + .uleb128 .LVU469 + .uleb128 .LVU476 + .uleb128 .LVU476 + .uleb128 .LVU478 + .uleb128 .LVU478 + .uleb128 .LVU480 + .uleb128 .LVU480 + .uleb128 .LVU481 + .uleb128 .LVU481 + .uleb128 0 +.LLST61: + .byte 0x4 + .uleb128 .LVL282-.Ltext0 + .uleb128 .LVL283-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL283-.Ltext0 + .uleb128 .LVL284-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0x4 + .uleb128 .LVL284-.Ltext0 + .uleb128 .LVL285-.Ltext0 + .uleb128 0x2 + .byte 0x7c + .sleb128 -64 + .byte 0x4 + .uleb128 .LVL285-.Ltext0 + .uleb128 .LVL286-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0x4 + .uleb128 .LVL286-.Ltext0 + .uleb128 .LVL287-.Ltext0 + .uleb128 0x2 + .byte 0x7c + .sleb128 -64 + .byte 0x4 + .uleb128 .LVL287-.Ltext0 + .uleb128 .LVL289-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL289-.Ltext0 + .uleb128 .LVL290-1-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL290-1-.Ltext0 + .uleb128 .LVL291-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0x4 + .uleb128 .LVL291-.Ltext0 + .uleb128 .LVL292-1-.Ltext0 + .uleb128 0x2 + .byte 0x7c + .sleb128 -64 + .byte 0x4 + .uleb128 .LVL292-1-.Ltext0 + .uleb128 .LFE63-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0 +.LVUS62: + .uleb128 .LVU482 + .uleb128 .LVU483 + .uleb128 .LVU488 + .uleb128 .LVU489 +.LLST62: + .byte 0x4 + .uleb128 .LVL293-.Ltext0 + .uleb128 .LVL294-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL298-.Ltext0 + .uleb128 .LVL299-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0 +.LVUS66: + .uleb128 .LVU482 + .uleb128 .LVU489 +.LLST66: + .byte 0x4 + .uleb128 .LVL293-.Ltext0 + .uleb128 .LVL299-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0 +.LVUS63: + .uleb128 .LVU469 + .uleb128 .LVU472 +.LLST63: + .byte 0x4 + .uleb128 .LVL287-.Ltext0 + .uleb128 .LVL288-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC21 + .byte 0x9f + .byte 0 +.LVUS64: + .uleb128 .LVU469 + .uleb128 .LVU472 +.LLST64: + .byte 0x4 + .uleb128 .LVL287-.Ltext0 + .uleb128 .LVL288-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0 +.LVUS56: + .uleb128 0 + .uleb128 .LVU433 + .uleb128 .LVU433 + .uleb128 .LVU436 + .uleb128 .LVU436 + .uleb128 .LVU437 + .uleb128 .LVU437 + .uleb128 0 +.LLST56: + .byte 0x4 + .uleb128 .LVL263-.Ltext0 + .uleb128 .LVL264-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL264-.Ltext0 + .uleb128 .LVL265-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL265-.Ltext0 + .uleb128 .LVL266-.Ltext0 + .uleb128 0x3 + .byte 0x75 + .sleb128 -8 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL266-.Ltext0 + .uleb128 .LFE62-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS48: + .uleb128 0 + .uleb128 .LVU387 + .uleb128 .LVU387 + .uleb128 .LVU400 + .uleb128 .LVU400 + .uleb128 .LVU402 + .uleb128 .LVU402 + .uleb128 .LVU412 + .uleb128 .LVU412 + .uleb128 .LVU418 + .uleb128 .LVU418 + .uleb128 .LVU421 + .uleb128 .LVU421 + .uleb128 .LVU422 + .uleb128 .LVU422 + .uleb128 .LVU425 + .uleb128 .LVU425 + .uleb128 0 +.LLST48: + .byte 0x4 + .uleb128 .LVL231-.Ltext0 + .uleb128 .LVL232-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL232-.Ltext0 + .uleb128 .LVL235-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL235-.Ltext0 + .uleb128 .LVL238-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL238-.Ltext0 + .uleb128 .LVL245-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL245-.Ltext0 + .uleb128 .LVL249-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL249-.Ltext0 + .uleb128 .LVL254-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL254-.Ltext0 + .uleb128 .LVL256-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL256-.Ltext0 + .uleb128 .LVL260-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL260-.Ltext0 + .uleb128 .LFE61-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS49: + .uleb128 0 + .uleb128 .LVU387 + .uleb128 .LVU387 + .uleb128 .LVU401 + .uleb128 .LVU401 + .uleb128 .LVU402 + .uleb128 .LVU402 + .uleb128 .LVU403 + .uleb128 .LVU403 + .uleb128 .LVU425 + .uleb128 .LVU425 + .uleb128 0 +.LLST49: + .byte 0x4 + .uleb128 .LVL231-.Ltext0 + .uleb128 .LVL232-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL232-.Ltext0 + .uleb128 .LVL236-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL236-.Ltext0 + .uleb128 .LVL238-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL238-.Ltext0 + .uleb128 .LVL239-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL239-.Ltext0 + .uleb128 .LVL260-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL260-.Ltext0 + .uleb128 .LFE61-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0 +.LVUS50: + .uleb128 .LVU394 + .uleb128 .LVU397 +.LLST50: + .byte 0x4 + .uleb128 .LVL233-.Ltext0 + .uleb128 .LVL234-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC18 + .byte 0x9f + .byte 0 +.LVUS51: + .uleb128 .LVU394 + .uleb128 .LVU397 +.LLST51: + .byte 0x4 + .uleb128 .LVL233-.Ltext0 + .uleb128 .LVL234-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS52: + .uleb128 .LVU407 + .uleb128 .LVU410 +.LLST52: + .byte 0x4 + .uleb128 .LVL243-.Ltext0 + .uleb128 .LVL244-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC2 + .byte 0x9f + .byte 0 +.LVUS53: + .uleb128 .LVU407 + .uleb128 .LVU410 +.LLST53: + .byte 0x4 + .uleb128 .LVL243-.Ltext0 + .uleb128 .LVL244-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS54: + .uleb128 .LVU413 + .uleb128 .LVU416 +.LLST54: + .byte 0x4 + .uleb128 .LVL246-.Ltext0 + .uleb128 .LVL247-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC17 + .byte 0x9f + .byte 0 +.LVUS55: + .uleb128 .LVU413 + .uleb128 .LVU416 +.LLST55: + .byte 0x4 + .uleb128 .LVL246-.Ltext0 + .uleb128 .LVL247-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS44: + .uleb128 0 + .uleb128 .LVU367 + .uleb128 .LVU367 + .uleb128 .LVU370 + .uleb128 .LVU370 + .uleb128 .LVU378 + .uleb128 .LVU378 + .uleb128 .LVU382 + .uleb128 .LVU382 + .uleb128 0 +.LLST44: + .byte 0x4 + .uleb128 .LVL217-.Ltext0 + .uleb128 .LVL218-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL218-.Ltext0 + .uleb128 .LVL220-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL220-.Ltext0 + .uleb128 .LVL224-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL224-.Ltext0 + .uleb128 .LVL228-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL228-.Ltext0 + .uleb128 .LFE60-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS45: + .uleb128 0 + .uleb128 .LVU367 + .uleb128 .LVU367 + .uleb128 .LVU377 + .uleb128 .LVU377 + .uleb128 .LVU378 + .uleb128 .LVU378 + .uleb128 .LVU379 + .uleb128 .LVU379 + .uleb128 0 +.LLST45: + .byte 0x4 + .uleb128 .LVL217-.Ltext0 + .uleb128 .LVL218-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL218-.Ltext0 + .uleb128 .LVL223-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL223-.Ltext0 + .uleb128 .LVL224-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL224-.Ltext0 + .uleb128 .LVL225-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL225-.Ltext0 + .uleb128 .LFE60-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS46: + .uleb128 .LVU371 + .uleb128 .LVU374 +.LLST46: + .byte 0x4 + .uleb128 .LVL221-.Ltext0 + .uleb128 .LVL222-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC15 + .byte 0x9f + .byte 0 +.LVUS47: + .uleb128 .LVU371 + .uleb128 .LVU374 +.LLST47: + .byte 0x4 + .uleb128 .LVL221-.Ltext0 + .uleb128 .LVL222-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS41: + .uleb128 0 + .uleb128 .LVU351 + .uleb128 .LVU351 + .uleb128 .LVU359 + .uleb128 .LVU359 + .uleb128 .LVU360 + .uleb128 .LVU360 + .uleb128 0 +.LLST41: + .byte 0x4 + .uleb128 .LVL205-.Ltext0 + .uleb128 .LVL206-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL206-.Ltext0 + .uleb128 .LVL210-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL210-.Ltext0 + .uleb128 .LVL211-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL211-.Ltext0 + .uleb128 .LFE59-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS42: + .uleb128 .LVU352 + .uleb128 .LVU355 +.LLST42: + .byte 0x4 + .uleb128 .LVL207-.Ltext0 + .uleb128 .LVL208-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC14 + .byte 0x9f + .byte 0 +.LVUS43: + .uleb128 .LVU352 + .uleb128 .LVU355 +.LLST43: + .byte 0x4 + .uleb128 .LVL207-.Ltext0 + .uleb128 .LVL208-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS28: + .uleb128 0 + .uleb128 .LVU253 + .uleb128 .LVU253 + .uleb128 .LVU269 + .uleb128 .LVU269 + .uleb128 .LVU280 + .uleb128 .LVU280 + .uleb128 .LVU281 + .uleb128 .LVU281 + .uleb128 .LVU283 + .uleb128 .LVU283 + .uleb128 .LVU340 + .uleb128 .LVU340 + .uleb128 .LVU341 + .uleb128 .LVU341 + .uleb128 0 +.LLST28: + .byte 0x4 + .uleb128 .LVL145-.Ltext0 + .uleb128 .LVL146-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL146-.Ltext0 + .uleb128 .LVL153-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL153-.Ltext0 + .uleb128 .LVL159-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL159-.Ltext0 + .uleb128 .LVL160-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL160-.Ltext0 + .uleb128 .LVL164-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL164-.Ltext0 + .uleb128 .LVL196-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL196-.Ltext0 + .uleb128 .LVL197-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL197-.Ltext0 + .uleb128 .LFE58-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS29: + .uleb128 0 + .uleb128 .LVU253 + .uleb128 .LVU253 + .uleb128 .LVU264 + .uleb128 .LVU264 + .uleb128 .LVU265 + .uleb128 .LVU265 + .uleb128 .LVU286 + .uleb128 .LVU286 + .uleb128 .LVU290 + .uleb128 .LVU290 + .uleb128 .LVU292 + .uleb128 .LVU292 + .uleb128 .LVU301 + .uleb128 .LVU301 + .uleb128 .LVU339 + .uleb128 .LVU339 + .uleb128 .LVU341 + .uleb128 .LVU341 + .uleb128 0 +.LLST29: + .byte 0x4 + .uleb128 .LVL145-.Ltext0 + .uleb128 .LVL146-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL146-.Ltext0 + .uleb128 .LVL148-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL148-.Ltext0 + .uleb128 .LVL149-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL149-.Ltext0 + .uleb128 .LVL166-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL166-.Ltext0 + .uleb128 .LVL168-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL168-.Ltext0 + .uleb128 .LVL170-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL170-.Ltext0 + .uleb128 .LVL178-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL178-.Ltext0 + .uleb128 .LVL195-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL195-.Ltext0 + .uleb128 .LVL197-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL197-.Ltext0 + .uleb128 .LFE58-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS30: + .uleb128 .LVU306 + .uleb128 .LVU308 + .uleb128 .LVU308 + .uleb128 .LVU313 + .uleb128 .LVU314 + .uleb128 .LVU315 + .uleb128 .LVU315 + .uleb128 .LVU339 + .uleb128 .LVU341 + .uleb128 0 +.LLST30: + .byte 0x4 + .uleb128 .LVL181-.Ltext0 + .uleb128 .LVL182-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL182-.Ltext0 + .uleb128 .LVL184-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0x4 + .uleb128 .LVL186-.Ltext0 + .uleb128 .LVL187-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL187-1-.Ltext0 + .uleb128 .LVL195-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0x4 + .uleb128 .LVL197-.Ltext0 + .uleb128 .LFE58-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0 +.LVUS35: + .uleb128 .LVU297 + .uleb128 .LVU298 + .uleb128 .LVU298 + .uleb128 .LVU300 +.LLST35: + .byte 0x4 + .uleb128 .LVL174-.Ltext0 + .uleb128 .LVL175-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL175-1-.Ltext0 + .uleb128 .LVL176-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0 +.LVUS31: + .uleb128 .LVU270 + .uleb128 .LVU273 +.LLST31: + .byte 0x4 + .uleb128 .LVL154-.Ltext0 + .uleb128 .LVL155-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC2 + .byte 0x9f + .byte 0 +.LVUS32: + .uleb128 .LVU270 + .uleb128 .LVU273 +.LLST32: + .byte 0x4 + .uleb128 .LVL154-.Ltext0 + .uleb128 .LVL155-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS33: + .uleb128 .LVU275 + .uleb128 .LVU278 +.LLST33: + .byte 0x4 + .uleb128 .LVL156-.Ltext0 + .uleb128 .LVL157-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC12 + .byte 0x9f + .byte 0 +.LVUS34: + .uleb128 .LVU275 + .uleb128 .LVU278 +.LLST34: + .byte 0x4 + .uleb128 .LVL156-.Ltext0 + .uleb128 .LVL157-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS36: + .uleb128 .LVU323 + .uleb128 .LVU326 +.LLST36: + .byte 0x4 + .uleb128 .LVL191-.Ltext0 + .uleb128 .LVL192-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -88 + .byte 0 +.LVUS37: + .uleb128 .LVU323 + .uleb128 .LVU326 +.LLST37: + .byte 0x4 + .uleb128 .LVL191-.Ltext0 + .uleb128 .LVL192-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0 +.LVUS38: + .uleb128 .LVU323 + .uleb128 .LVU326 +.LLST38: + .byte 0x4 + .uleb128 .LVL191-.Ltext0 + .uleb128 .LVL192-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0 +.LVUS39: + .uleb128 .LVU330 + .uleb128 .LVU333 +.LLST39: + .byte 0x4 + .uleb128 .LVL193-.Ltext0 + .uleb128 .LVL194-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC13 + .byte 0x9f + .byte 0 +.LVUS40: + .uleb128 .LVU330 + .uleb128 .LVU333 +.LLST40: + .byte 0x4 + .uleb128 .LVL193-.Ltext0 + .uleb128 .LVL194-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS20: + .uleb128 0 + .uleb128 .LVU172 + .uleb128 .LVU172 + .uleb128 .LVU236 + .uleb128 .LVU236 + .uleb128 .LVU245 + .uleb128 .LVU245 + .uleb128 .LVU248 + .uleb128 .LVU248 + .uleb128 0 +.LLST20: + .byte 0x4 + .uleb128 .LVL98-.Ltext0 + .uleb128 .LVL99-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL99-.Ltext0 + .uleb128 .LVL132-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL132-.Ltext0 + .uleb128 .LVL137-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL137-.Ltext0 + .uleb128 .LVL142-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL142-.Ltext0 + .uleb128 .LFE57-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS21: + .uleb128 0 + .uleb128 .LVU172 + .uleb128 .LVU172 + .uleb128 .LVU185 + .uleb128 .LVU185 + .uleb128 .LVU186 + .uleb128 .LVU186 + .uleb128 .LVU198 + .uleb128 .LVU198 + .uleb128 .LVU201 + .uleb128 .LVU201 + .uleb128 .LVU203 + .uleb128 .LVU203 + .uleb128 .LVU210 + .uleb128 .LVU210 + .uleb128 .LVU243 + .uleb128 .LVU243 + .uleb128 .LVU245 + .uleb128 .LVU245 + .uleb128 0 +.LLST21: + .byte 0x4 + .uleb128 .LVL98-.Ltext0 + .uleb128 .LVL99-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL99-.Ltext0 + .uleb128 .LVL101-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL101-.Ltext0 + .uleb128 .LVL102-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL102-.Ltext0 + .uleb128 .LVL112-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL112-.Ltext0 + .uleb128 .LVL114-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL114-.Ltext0 + .uleb128 .LVL116-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL116-.Ltext0 + .uleb128 .LVL120-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL120-.Ltext0 + .uleb128 .LVL135-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL135-.Ltext0 + .uleb128 .LVL137-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL137-.Ltext0 + .uleb128 .LFE57-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS22: + .uleb128 0 + .uleb128 .LVU172 + .uleb128 .LVU172 + .uleb128 .LVU185 + .uleb128 .LVU185 + .uleb128 .LVU187 + .uleb128 .LVU187 + .uleb128 .LVU244 + .uleb128 .LVU244 + .uleb128 .LVU245 + .uleb128 .LVU245 + .uleb128 0 +.LLST22: + .byte 0x4 + .uleb128 .LVL98-.Ltext0 + .uleb128 .LVL99-.Ltext0 + .uleb128 0x1 + .byte 0x51 + .byte 0x4 + .uleb128 .LVL99-.Ltext0 + .uleb128 .LVL101-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL101-.Ltext0 + .uleb128 .LVL103-1-.Ltext0 + .uleb128 0x1 + .byte 0x51 + .byte 0x4 + .uleb128 .LVL103-1-.Ltext0 + .uleb128 .LVL136-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL136-.Ltext0 + .uleb128 .LVL137-.Ltext0 + .uleb128 0x2 + .byte 0x77 + .sleb128 -64 + .byte 0x4 + .uleb128 .LVL137-.Ltext0 + .uleb128 .LFE57-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0 +.LVUS23: + .uleb128 .LVU220 + .uleb128 .LVU223 +.LLST23: + .byte 0x4 + .uleb128 .LVL126-.Ltext0 + .uleb128 .LVL127-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -88 + .byte 0 +.LVUS24: + .uleb128 .LVU220 + .uleb128 .LVU223 +.LLST24: + .byte 0x4 + .uleb128 .LVL126-.Ltext0 + .uleb128 .LVL127-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0 +.LVUS25: + .uleb128 .LVU220 + .uleb128 .LVU223 +.LLST25: + .byte 0x4 + .uleb128 .LVL126-.Ltext0 + .uleb128 .LVL127-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS26: + .uleb128 .LVU237 + .uleb128 .LVU240 +.LLST26: + .byte 0x4 + .uleb128 .LVL133-.Ltext0 + .uleb128 .LVL134-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC10 + .byte 0x9f + .byte 0 +.LVUS27: + .uleb128 .LVU237 + .uleb128 .LVU240 +.LLST27: + .byte 0x4 + .uleb128 .LVL133-.Ltext0 + .uleb128 .LVL134-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS14: + .uleb128 0 + .uleb128 .LVU134 + .uleb128 .LVU134 + .uleb128 .LVU151 + .uleb128 .LVU151 + .uleb128 .LVU152 + .uleb128 .LVU152 + .uleb128 0 +.LLST14: + .byte 0x4 + .uleb128 .LVL76-.Ltext0 + .uleb128 .LVL77-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL77-.Ltext0 + .uleb128 .LVL84-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL84-.Ltext0 + .uleb128 .LVL85-.Ltext0 + .uleb128 0x2 + .byte 0x75 + .sleb128 0 + .byte 0x4 + .uleb128 .LVL85-.Ltext0 + .uleb128 .LFE56-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS15: + .uleb128 .LVU135 + .uleb128 .LVU137 + .uleb128 .LVU137 + .uleb128 .LVU150 + .uleb128 .LVU150 + .uleb128 .LVU152 + .uleb128 .LVU152 + .uleb128 0 +.LLST15: + .byte 0x4 + .uleb128 .LVL79-.Ltext0 + .uleb128 .LVL80-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL80-1-.Ltext0 + .uleb128 .LVL83-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL83-.Ltext0 + .uleb128 .LVL85-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL85-.Ltext0 + .uleb128 .LFE56-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS16: + .uleb128 .LVU142 + .uleb128 .LVU145 +.LLST16: + .byte 0x4 + .uleb128 .LVL81-.Ltext0 + .uleb128 .LVL82-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC8 + .byte 0x9f + .byte 0 +.LVUS17: + .uleb128 .LVU142 + .uleb128 .LVU145 +.LLST17: + .byte 0x4 + .uleb128 .LVL81-.Ltext0 + .uleb128 .LVL82-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS18: + .uleb128 .LVU160 + .uleb128 .LVU163 +.LLST18: + .byte 0x4 + .uleb128 .LVL93-.Ltext0 + .uleb128 .LVL94-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC9 + .byte 0x9f + .byte 0 +.LVUS19: + .uleb128 .LVU160 + .uleb128 .LVU163 +.LLST19: + .byte 0x4 + .uleb128 .LVL93-.Ltext0 + .uleb128 .LVL94-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS7: + .uleb128 0 + .uleb128 .LVU68 + .uleb128 .LVU68 + .uleb128 .LVU96 + .uleb128 .LVU96 + .uleb128 .LVU97 + .uleb128 .LVU97 + .uleb128 .LVU104 + .uleb128 .LVU104 + .uleb128 .LVU115 + .uleb128 .LVU115 + .uleb128 .LVU116 + .uleb128 .LVU116 + .uleb128 .LVU118 + .uleb128 .LVU118 + .uleb128 0 +.LLST7: + .byte 0x4 + .uleb128 .LVL38-.Ltext0 + .uleb128 .LVL39-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL39-.Ltext0 + .uleb128 .LVL43-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL43-.Ltext0 + .uleb128 .LVL44-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL44-.Ltext0 + .uleb128 .LVL51-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL51-.Ltext0 + .uleb128 .LVL57-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL57-.Ltext0 + .uleb128 .LVL58-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL58-.Ltext0 + .uleb128 .LVL62-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL62-.Ltext0 + .uleb128 .LFE54-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS8: + .uleb128 .LVU88 + .uleb128 .LVU91 +.LLST8: + .byte 0x4 + .uleb128 .LVL41-.Ltext0 + .uleb128 .LVL42-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC7 + .byte 0x9f + .byte 0 +.LVUS9: + .uleb128 .LVU88 + .uleb128 .LVU91 +.LLST9: + .byte 0x4 + .uleb128 .LVL41-.Ltext0 + .uleb128 .LVL42-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS10: + .uleb128 .LVU105 + .uleb128 .LVU108 +.LLST10: + .byte 0x4 + .uleb128 .LVL52-.Ltext0 + .uleb128 .LVL53-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC2 + .byte 0x9f + .byte 0 +.LVUS11: + .uleb128 .LVU105 + .uleb128 .LVU108 +.LLST11: + .byte 0x4 + .uleb128 .LVL52-.Ltext0 + .uleb128 .LVL53-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS12: + .uleb128 .LVU110 + .uleb128 .LVU113 +.LLST12: + .byte 0x4 + .uleb128 .LVL54-.Ltext0 + .uleb128 .LVL55-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC6 + .byte 0x9f + .byte 0 +.LVUS13: + .uleb128 .LVU110 + .uleb128 .LVU113 +.LLST13: + .byte 0x4 + .uleb128 .LVL54-.Ltext0 + .uleb128 .LVL55-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS0: + .uleb128 0 + .uleb128 .LVU4 + .uleb128 .LVU4 + .uleb128 .LVU30 + .uleb128 .LVU30 + .uleb128 .LVU31 + .uleb128 .LVU31 + .uleb128 .LVU38 + .uleb128 .LVU38 + .uleb128 .LVU49 + .uleb128 .LVU49 + .uleb128 .LVU50 + .uleb128 .LVU50 + .uleb128 .LVU52 + .uleb128 .LVU52 + .uleb128 0 +.LLST0: + .byte 0x4 + .uleb128 .LVL0-.Ltext0 + .uleb128 .LVL1-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL1-.Ltext0 + .uleb128 .LVL5-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL5-.Ltext0 + .uleb128 .LVL6-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL6-.Ltext0 + .uleb128 .LVL13-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL13-.Ltext0 + .uleb128 .LVL19-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL19-.Ltext0 + .uleb128 .LVL20-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL20-.Ltext0 + .uleb128 .LVL24-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL24-.Ltext0 + .uleb128 .LFE53-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS1: + .uleb128 .LVU22 + .uleb128 .LVU25 +.LLST1: + .byte 0x4 + .uleb128 .LVL3-.Ltext0 + .uleb128 .LVL4-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC4 + .byte 0x9f + .byte 0 +.LVUS2: + .uleb128 .LVU22 + .uleb128 .LVU25 +.LLST2: + .byte 0x4 + .uleb128 .LVL3-.Ltext0 + .uleb128 .LVL4-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS3: + .uleb128 .LVU39 + .uleb128 .LVU42 +.LLST3: + .byte 0x4 + .uleb128 .LVL14-.Ltext0 + .uleb128 .LVL15-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC2 + .byte 0x9f + .byte 0 +.LVUS4: + .uleb128 .LVU39 + .uleb128 .LVU42 +.LLST4: + .byte 0x4 + .uleb128 .LVL14-.Ltext0 + .uleb128 .LVL15-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS5: + .uleb128 .LVU44 + .uleb128 .LVU47 +.LLST5: + .byte 0x4 + .uleb128 .LVL16-.Ltext0 + .uleb128 .LVL17-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC3 + .byte 0x9f + .byte 0 +.LVUS6: + .uleb128 .LVU44 + .uleb128 .LVU47 +.LLST6: + .byte 0x4 + .uleb128 .LVL16-.Ltext0 + .uleb128 .LVL17-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.Ldebug_loc3: + .section .debug_aranges,"",@progbits + .long 0x2c + .value 0x2 + .long .Ldebug_info0 + .byte 0x8 + .byte 0 + .value 0 + .value 0 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .quad 0 + .quad 0 + .section .debug_rnglists,"",@progbits +.Ldebug_ranges0: + .long .Ldebug_ranges3-.Ldebug_ranges2 +.Ldebug_ranges2: + .value 0x5 + .byte 0x8 + .byte 0 + .long 0 +.LLRL65: + .byte 0x4 + .uleb128 .LBB89-.Ltext0 + .uleb128 .LBE89-.Ltext0 + .byte 0x4 + .uleb128 .LBB90-.Ltext0 + .uleb128 .LBE90-.Ltext0 + .byte 0 +.Ldebug_ranges3: + .section .debug_line,"",@progbits +.Ldebug_line0: + .section .debug_str,"MS",@progbits,1 +.LASF11: + .string "__off_t" +.LASF18: + .string "capacity" +.LASF24: + .string "_IO_read_ptr" +.LASF36: + .string "_chain" +.LASF10: + .string "size_t" +.LASF20: + .string "uintptr_t" +.LASF42: + .string "_shortbuf" +.LASF93: + .string "__asan_stack_malloc_0" +.LASF67: + .string "array_length" +.LASF100: + .string "__asan_report_store8" +.LASF30: + .string "_IO_buf_base" +.LASF14: + .string "long long unsigned int" +.LASF81: + .string "__src" +.LASF76: + .string "__func__" +.LASF45: + .string "_codecvt" +.LASF4: + .string "long long int" +.LASF8: + .string "signed char" +.LASF15: + .string "array_t" +.LASF98: + .string "__builtin___asan_handle_no_return" +.LASF37: + .string "_fileno" +.LASF25: + .string "_IO_read_end" +.LASF3: + .string "long int" +.LASF23: + .string "_flags" +.LASF31: + .string "_IO_buf_end" +.LASF40: + .string "_cur_column" +.LASF54: + .string "_IO_codecvt" +.LASF104: + .string "__chk_free_impl" +.LASF62: + .string "array_free" +.LASF39: + .string "_old_offset" +.LASF44: + .string "_offset" +.LASF75: + .string "array" +.LASF65: + .string "cb_free" +.LASF64: + .string "self" +.LASF21: + .string "array_impl" +.LASF70: + .string "array_pop" +.LASF60: + .string "__chk_realloc_impl" +.LASF53: + .string "_IO_marker" +.LASF7: + .string "unsigned int" +.LASF48: + .string "_freeres_buf" +.LASF84: + .string "fprintf" +.LASF99: + .string "__builtin_memmove" +.LASF77: + .string "array_new" +.LASF85: + .string "__stream" +.LASF2: + .string "long unsigned int" +.LASF97: + .string "__asan_handle_no_return" +.LASF28: + .string "_IO_write_ptr" +.LASF16: + .string "data" +.LASF74: + .string "size" +.LASF6: + .string "short unsigned int" +.LASF32: + .string "_IO_save_base" +.LASF69: + .string "array_append" +.LASF105: + .string "no_callback" +.LASF43: + .string "_lock" +.LASF38: + .string "_flags2" +.LASF50: + .string "_mode" +.LASF71: + .string "array_remove" +.LASF56: + .string "stdout" +.LASF78: + .string "array_impl_downsize" +.LASF29: + .string "_IO_write_end" +.LASF66: + .string "item" +.LASF80: + .string "__dest" +.LASF103: + .string "_IO_lock_t" +.LASF22: + .string "_IO_FILE" +.LASF89: + .string "__builtin___asan_report_load8" +.LASF68: + .string "array_get" +.LASF35: + .string "_markers" +.LASF58: + .string "__chk_calloc_impl" +.LASF5: + .string "unsigned char" +.LASF9: + .string "short int" +.LASF102: + .ascii "GNU C17 13.3.1 202" + .string "40614 -mtune=generic -march=x86-64 -ggdb -Os -Og -std=gnu17 -p -fanalyzer -fsanitize=address,undefined,leak -fstack-protector-strong -fstack-clash-protection -fstrict-aliasing -ftrivial-auto-var-init=zero -fno-omit-frame-pointer -fno-common -fcf-protection" +.LASF55: + .string "_IO_wide_data" +.LASF82: + .string "__len" +.LASF79: + .string "array_impl_resize" +.LASF41: + .string "_vtable_offset" +.LASF52: + .string "FILE" +.LASF61: + .string "exit" +.LASF59: + .string "__fprintf_chk" +.LASF94: + .string "__stack_chk_fail" +.LASF17: + .string "length" +.LASF13: + .string "char" +.LASF88: + .string "__ubsan_handle_nonnull_arg" +.LASF96: + .string "__builtin___ubsan_handle_pointer_overflow" +.LASF90: + .string "__builtin___ubsan_handle_nonnull_arg" +.LASF101: + .string "__builtin___asan_report_store8" +.LASF12: + .string "__off64_t" +.LASF26: + .string "_IO_read_base" +.LASF34: + .string "_IO_save_end" +.LASF86: + .string "__fmt" +.LASF95: + .string "__ubsan_handle_pointer_overflow" +.LASF49: + .string "__pad5" +.LASF51: + .string "_unused2" +.LASF57: + .string "stderr" +.LASF83: + .string "memmove" +.LASF19: + .string "array_free_callback_t" +.LASF33: + .string "_IO_backup_base" +.LASF92: + .string "__builtin___ubsan_handle_type_mismatch_v1" +.LASF63: + .string "array_free_cb" +.LASF72: + .string "array_insert" +.LASF47: + .string "_freeres_list" +.LASF46: + .string "_wide_data" +.LASF27: + .string "_IO_write_base" +.LASF73: + .string "array_new_sized" +.LASF91: + .string "__ubsan_handle_type_mismatch_v1" +.LASF87: + .string "__asan_report_load8" + .section .debug_line_str,"MS",@progbits,1 +.LASF1: + .string "/home/unazed/Programming/c/ucc-0.2.0" +.LASF0: + .string "src/array.c" + .ident "GCC: (Gentoo 13.3.1_p20240614 p17) 13.3.1 20240614" + .section .note.GNU-stack,"",@progbits + .section .note.gnu.property,"a" + .align 8 + .long 1f - 0f + .long 4f - 1f + .long 5 +0: + .string "GNU" +1: + .align 8 + .long 0xc0000002 + .long 3f - 2f +2: + .long 0x3 +3: + .align 8 +4: diff --git a/build/diagnostics.d b/build/diagnostics.d new file mode 100644 index 0000000..c5e1490 --- /dev/null +++ b/build/diagnostics.d @@ -0,0 +1,8 @@ +build/diagnostics.o: src/diagnostics.c include/array.h include/generic.h \ + include/ansi-colors.h include/io.h include/diagnostics.h include/lexer.h +include/array.h: +include/generic.h: +include/ansi-colors.h: +include/io.h: +include/diagnostics.h: +include/lexer.h: diff --git a/build/diagnostics.i b/build/diagnostics.i new file mode 100644 index 0000000..1693e25 --- /dev/null +++ b/build/diagnostics.i @@ -0,0 +1,3766 @@ +# 0 "src/diagnostics.c" +# 1 "/home/unazed/Programming/c/ucc-0.2.0//" +# 0 "" +# 0 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 0 "" 2 +# 1 "src/diagnostics.c" +# 1 "include/array.h" 1 + + +# 1 "/usr/include/stdlib.h" 1 3 4 +# 26 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 33 "/usr/include/bits/libc-header-start.h" 3 4 +# 1 "/usr/include/features.h" 1 3 4 +# 394 "/usr/include/features.h" 3 4 +# 1 "/usr/include/features-time64.h" 1 3 4 +# 20 "/usr/include/features-time64.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 21 "/usr/include/features-time64.h" 2 3 4 +# 1 "/usr/include/bits/timesize.h" 1 3 4 +# 19 "/usr/include/bits/timesize.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/bits/timesize.h" 2 3 4 +# 22 "/usr/include/features-time64.h" 2 3 4 +# 395 "/usr/include/features.h" 2 3 4 +# 503 "/usr/include/features.h" 3 4 +# 1 "/usr/include/sys/cdefs.h" 1 3 4 +# 576 "/usr/include/sys/cdefs.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 577 "/usr/include/sys/cdefs.h" 2 3 4 +# 1 "/usr/include/bits/long-double.h" 1 3 4 +# 578 "/usr/include/sys/cdefs.h" 2 3 4 +# 504 "/usr/include/features.h" 2 3 4 +# 527 "/usr/include/features.h" 3 4 +# 1 "/usr/include/gnu/stubs.h" 1 3 4 +# 10 "/usr/include/gnu/stubs.h" 3 4 +# 1 "/usr/include/gnu/stubs-64.h" 1 3 4 +# 11 "/usr/include/gnu/stubs.h" 2 3 4 +# 528 "/usr/include/features.h" 2 3 4 +# 34 "/usr/include/bits/libc-header-start.h" 2 3 4 +# 27 "/usr/include/stdlib.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 214 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 + +# 214 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 +typedef long unsigned int size_t; +# 329 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 +typedef int wchar_t; +# 33 "/usr/include/stdlib.h" 2 3 4 + + + + + + + +# 1 "/usr/include/bits/waitflags.h" 1 3 4 +# 41 "/usr/include/stdlib.h" 2 3 4 +# 1 "/usr/include/bits/waitstatus.h" 1 3 4 +# 42 "/usr/include/stdlib.h" 2 3 4 +# 56 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/bits/floatn.h" 1 3 4 +# 119 "/usr/include/bits/floatn.h" 3 4 +# 1 "/usr/include/bits/floatn-common.h" 1 3 4 +# 24 "/usr/include/bits/floatn-common.h" 3 4 +# 1 "/usr/include/bits/long-double.h" 1 3 4 +# 25 "/usr/include/bits/floatn-common.h" 2 3 4 +# 120 "/usr/include/bits/floatn.h" 2 3 4 +# 57 "/usr/include/stdlib.h" 2 3 4 + + +typedef struct + { + int quot; + int rem; + } div_t; + + + +typedef struct + { + long int quot; + long int rem; + } ldiv_t; + + + + + +__extension__ typedef struct + { + long long int quot; + long long int rem; + } lldiv_t; +# 98 "/usr/include/stdlib.h" 3 4 +extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + +extern double atof (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + +extern int atoi (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + +extern long int atol (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + +__extension__ extern long long int atoll (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + +extern double strtod (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern float strtof (const char *__restrict __nptr, + char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern long double strtold (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 177 "/usr/include/stdlib.h" 3 4 +extern long int strtol (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern unsigned long int strtoul (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +__extension__ +extern long long int strtoq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtouq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +__extension__ +extern long long int strtoll (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtoull (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 480 "/usr/include/stdlib.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) atoi (const char *__nptr) +{ + return (int) strtol (__nptr, (char **) ((void *)0), 10); +} +extern __inline __attribute__ ((__gnu_inline__)) long int +__attribute__ ((__nothrow__ , __leaf__)) atol (const char *__nptr) +{ + return strtol (__nptr, (char **) ((void *)0), 10); +} + + +__extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int +__attribute__ ((__nothrow__ , __leaf__)) atoll (const char *__nptr) +{ + return strtoll (__nptr, (char **) ((void *)0), 10); +} +# 505 "/usr/include/stdlib.h" 3 4 +extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + +extern long int a64l (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + + +# 1 "/usr/include/sys/types.h" 1 3 4 +# 27 "/usr/include/sys/types.h" 3 4 + + +# 1 "/usr/include/bits/types.h" 1 3 4 +# 27 "/usr/include/bits/types.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 28 "/usr/include/bits/types.h" 2 3 4 +# 1 "/usr/include/bits/timesize.h" 1 3 4 +# 19 "/usr/include/bits/timesize.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/bits/timesize.h" 2 3 4 +# 29 "/usr/include/bits/types.h" 2 3 4 + + +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; + + +typedef signed char __int8_t; +typedef unsigned char __uint8_t; +typedef signed short int __int16_t; +typedef unsigned short int __uint16_t; +typedef signed int __int32_t; +typedef unsigned int __uint32_t; + +typedef signed long int __int64_t; +typedef unsigned long int __uint64_t; + + + + + + +typedef __int8_t __int_least8_t; +typedef __uint8_t __uint_least8_t; +typedef __int16_t __int_least16_t; +typedef __uint16_t __uint_least16_t; +typedef __int32_t __int_least32_t; +typedef __uint32_t __uint_least32_t; +typedef __int64_t __int_least64_t; +typedef __uint64_t __uint_least64_t; + + + +typedef long int __quad_t; +typedef unsigned long int __u_quad_t; + + + + + + + +typedef long int __intmax_t; +typedef unsigned long int __uintmax_t; +# 141 "/usr/include/bits/types.h" 3 4 +# 1 "/usr/include/bits/typesizes.h" 1 3 4 +# 142 "/usr/include/bits/types.h" 2 3 4 +# 1 "/usr/include/bits/time64.h" 1 3 4 +# 143 "/usr/include/bits/types.h" 2 3 4 + + +typedef unsigned long int __dev_t; +typedef unsigned int __uid_t; +typedef unsigned int __gid_t; +typedef unsigned long int __ino_t; +typedef unsigned long int __ino64_t; +typedef unsigned int __mode_t; +typedef unsigned long int __nlink_t; +typedef long int __off_t; +typedef long int __off64_t; +typedef int __pid_t; +typedef struct { int __val[2]; } __fsid_t; +typedef long int __clock_t; +typedef unsigned long int __rlim_t; +typedef unsigned long int __rlim64_t; +typedef unsigned int __id_t; +typedef long int __time_t; +typedef unsigned int __useconds_t; +typedef long int __suseconds_t; +typedef long int __suseconds64_t; + +typedef int __daddr_t; +typedef int __key_t; + + +typedef int __clockid_t; + + +typedef void * __timer_t; + + +typedef long int __blksize_t; + + + + +typedef long int __blkcnt_t; +typedef long int __blkcnt64_t; + + +typedef unsigned long int __fsblkcnt_t; +typedef unsigned long int __fsblkcnt64_t; + + +typedef unsigned long int __fsfilcnt_t; +typedef unsigned long int __fsfilcnt64_t; + + +typedef long int __fsword_t; + +typedef long int __ssize_t; + + +typedef long int __syscall_slong_t; + +typedef unsigned long int __syscall_ulong_t; + + + +typedef __off64_t __loff_t; +typedef char *__caddr_t; + + +typedef long int __intptr_t; + + +typedef unsigned int __socklen_t; + + + + +typedef int __sig_atomic_t; +# 30 "/usr/include/sys/types.h" 2 3 4 + + + +typedef __u_char u_char; +typedef __u_short u_short; +typedef __u_int u_int; +typedef __u_long u_long; +typedef __quad_t quad_t; +typedef __u_quad_t u_quad_t; +typedef __fsid_t fsid_t; + + +typedef __loff_t loff_t; + + + + +typedef __ino_t ino_t; +# 59 "/usr/include/sys/types.h" 3 4 +typedef __dev_t dev_t; + + + + +typedef __gid_t gid_t; + + + + +typedef __mode_t mode_t; + + + + +typedef __nlink_t nlink_t; + + + + +typedef __uid_t uid_t; + + + + + +typedef __off_t off_t; +# 97 "/usr/include/sys/types.h" 3 4 +typedef __pid_t pid_t; + + + + + +typedef __id_t id_t; + + + + +typedef __ssize_t ssize_t; + + + + + +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; + + + + + +typedef __key_t key_t; + + + + +# 1 "/usr/include/bits/types/clock_t.h" 1 3 4 + + + + + + +typedef __clock_t clock_t; +# 127 "/usr/include/sys/types.h" 2 3 4 + +# 1 "/usr/include/bits/types/clockid_t.h" 1 3 4 + + + + + + +typedef __clockid_t clockid_t; +# 129 "/usr/include/sys/types.h" 2 3 4 +# 1 "/usr/include/bits/types/time_t.h" 1 3 4 +# 10 "/usr/include/bits/types/time_t.h" 3 4 +typedef __time_t time_t; +# 130 "/usr/include/sys/types.h" 2 3 4 +# 1 "/usr/include/bits/types/timer_t.h" 1 3 4 + + + + + + +typedef __timer_t timer_t; +# 131 "/usr/include/sys/types.h" 2 3 4 +# 144 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 145 "/usr/include/sys/types.h" 2 3 4 + + + +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; + + + + +# 1 "/usr/include/bits/stdint-intn.h" 1 3 4 +# 24 "/usr/include/bits/stdint-intn.h" 3 4 +typedef __int8_t int8_t; +typedef __int16_t int16_t; +typedef __int32_t int32_t; +typedef __int64_t int64_t; +# 156 "/usr/include/sys/types.h" 2 3 4 + + +typedef __uint8_t u_int8_t; +typedef __uint16_t u_int16_t; +typedef __uint32_t u_int32_t; +typedef __uint64_t u_int64_t; + + +typedef int register_t __attribute__ ((__mode__ (__word__))); +# 176 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/include/endian.h" 1 3 4 +# 24 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/bits/endian.h" 1 3 4 +# 35 "/usr/include/bits/endian.h" 3 4 +# 1 "/usr/include/bits/endianness.h" 1 3 4 +# 36 "/usr/include/bits/endian.h" 2 3 4 +# 25 "/usr/include/endian.h" 2 3 4 +# 35 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/bits/byteswap.h" 1 3 4 +# 33 "/usr/include/bits/byteswap.h" 3 4 +static __inline __uint16_t +__bswap_16 (__uint16_t __bsx) +{ + + return __builtin_bswap16 (__bsx); + + + +} + + + + + + +static __inline __uint32_t +__bswap_32 (__uint32_t __bsx) +{ + + return __builtin_bswap32 (__bsx); + + + +} +# 69 "/usr/include/bits/byteswap.h" 3 4 +__extension__ static __inline __uint64_t +__bswap_64 (__uint64_t __bsx) +{ + + return __builtin_bswap64 (__bsx); + + + +} +# 36 "/usr/include/endian.h" 2 3 4 +# 1 "/usr/include/bits/uintn-identity.h" 1 3 4 +# 32 "/usr/include/bits/uintn-identity.h" 3 4 +static __inline __uint16_t +__uint16_identity (__uint16_t __x) +{ + return __x; +} + +static __inline __uint32_t +__uint32_identity (__uint32_t __x) +{ + return __x; +} + +static __inline __uint64_t +__uint64_identity (__uint64_t __x) +{ + return __x; +} +# 37 "/usr/include/endian.h" 2 3 4 +# 177 "/usr/include/sys/types.h" 2 3 4 + + +# 1 "/usr/include/sys/select.h" 1 3 4 +# 30 "/usr/include/sys/select.h" 3 4 +# 1 "/usr/include/bits/select.h" 1 3 4 +# 31 "/usr/include/sys/select.h" 2 3 4 + + +# 1 "/usr/include/bits/types/sigset_t.h" 1 3 4 + + + +# 1 "/usr/include/bits/types/__sigset_t.h" 1 3 4 + + + + +typedef struct +{ + unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; +} __sigset_t; +# 5 "/usr/include/bits/types/sigset_t.h" 2 3 4 + + +typedef __sigset_t sigset_t; +# 34 "/usr/include/sys/select.h" 2 3 4 + + + +# 1 "/usr/include/bits/types/struct_timeval.h" 1 3 4 + + + + + + + +struct timeval +{ + + + + + __time_t tv_sec; + __suseconds_t tv_usec; + +}; +# 38 "/usr/include/sys/select.h" 2 3 4 + +# 1 "/usr/include/bits/types/struct_timespec.h" 1 3 4 +# 11 "/usr/include/bits/types/struct_timespec.h" 3 4 +struct timespec +{ + + + + __time_t tv_sec; + + + + + __syscall_slong_t tv_nsec; +# 31 "/usr/include/bits/types/struct_timespec.h" 3 4 +}; +# 40 "/usr/include/sys/select.h" 2 3 4 + + + +typedef __suseconds_t suseconds_t; + + + + + +typedef long int __fd_mask; +# 59 "/usr/include/sys/select.h" 3 4 +typedef struct + { + + + + + + + __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; + + + } fd_set; + + + + + + +typedef __fd_mask fd_mask; +# 91 "/usr/include/sys/select.h" 3 4 + +# 102 "/usr/include/sys/select.h" 3 4 +extern int select (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout); +# 127 "/usr/include/sys/select.h" 3 4 +extern int pselect (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + const struct timespec *__restrict __timeout, + const __sigset_t *__restrict __sigmask); +# 150 "/usr/include/sys/select.h" 3 4 +# 1 "/usr/include/bits/select2.h" 1 3 4 +# 23 "/usr/include/bits/select2.h" 3 4 +# 1 "/usr/include/bits/select-decl.h" 1 3 4 +# 27 "/usr/include/bits/select-decl.h" 3 4 +extern long int __fdelt_chk (long int __d); +extern long int __fdelt_warn (long int __d) + __attribute__((__warning__ ("bit outside of fd_set selected"))); +# 24 "/usr/include/bits/select2.h" 2 3 4 +# 151 "/usr/include/sys/select.h" 2 3 4 + + + +# 180 "/usr/include/sys/types.h" 2 3 4 + + + + + +typedef __blksize_t blksize_t; + + + + + + +typedef __blkcnt_t blkcnt_t; + + + +typedef __fsblkcnt_t fsblkcnt_t; + + + +typedef __fsfilcnt_t fsfilcnt_t; +# 227 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 +# 23 "/usr/include/bits/pthreadtypes.h" 3 4 +# 1 "/usr/include/bits/thread-shared-types.h" 1 3 4 +# 44 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/pthreadtypes-arch.h" 1 3 4 +# 21 "/usr/include/bits/pthreadtypes-arch.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 22 "/usr/include/bits/pthreadtypes-arch.h" 2 3 4 +# 45 "/usr/include/bits/thread-shared-types.h" 2 3 4 + +# 1 "/usr/include/bits/atomic_wide_counter.h" 1 3 4 +# 25 "/usr/include/bits/atomic_wide_counter.h" 3 4 +typedef union +{ + __extension__ unsigned long long int __value64; + struct + { + unsigned int __low; + unsigned int __high; + } __value32; +} __atomic_wide_counter; +# 47 "/usr/include/bits/thread-shared-types.h" 2 3 4 + + + + +typedef struct __pthread_internal_list +{ + struct __pthread_internal_list *__prev; + struct __pthread_internal_list *__next; +} __pthread_list_t; + +typedef struct __pthread_internal_slist +{ + struct __pthread_internal_slist *__next; +} __pthread_slist_t; +# 76 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/struct_mutex.h" 1 3 4 +# 22 "/usr/include/bits/struct_mutex.h" 3 4 +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; + + unsigned int __nusers; + + + + int __kind; + + short __spins; + short __elision; + __pthread_list_t __list; +# 53 "/usr/include/bits/struct_mutex.h" 3 4 +}; +# 77 "/usr/include/bits/thread-shared-types.h" 2 3 4 +# 89 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/struct_rwlock.h" 1 3 4 +# 23 "/usr/include/bits/struct_rwlock.h" 3 4 +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; + + int __cur_writer; + int __shared; + signed char __rwelision; + + + + + unsigned char __pad1[7]; + + + unsigned long int __pad2; + + + unsigned int __flags; +# 55 "/usr/include/bits/struct_rwlock.h" 3 4 +}; +# 90 "/usr/include/bits/thread-shared-types.h" 2 3 4 + + + + +struct __pthread_cond_s +{ + __atomic_wide_counter __wseq; + __atomic_wide_counter __g1_start; + unsigned int __g_refs[2] ; + unsigned int __g_size[2]; + unsigned int __g1_orig_size; + unsigned int __wrefs; + unsigned int __g_signals[2]; +}; + +typedef unsigned int __tss_t; +typedef unsigned long int __thrd_t; + +typedef struct +{ + int __data ; +} __once_flag; +# 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 + + + +typedef unsigned long int pthread_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_mutexattr_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_condattr_t; + + + +typedef unsigned int pthread_key_t; + + + +typedef int pthread_once_t; + + +union pthread_attr_t +{ + char __size[56]; + long int __align; +}; + +typedef union pthread_attr_t pthread_attr_t; + + + + +typedef union +{ + struct __pthread_mutex_s __data; + char __size[40]; + long int __align; +} pthread_mutex_t; + + +typedef union +{ + struct __pthread_cond_s __data; + char __size[48]; + __extension__ long long int __align; +} pthread_cond_t; + + + + + +typedef union +{ + struct __pthread_rwlock_arch_t __data; + char __size[56]; + long int __align; +} pthread_rwlock_t; + +typedef union +{ + char __size[8]; + long int __align; +} pthread_rwlockattr_t; + + + + + +typedef volatile int pthread_spinlock_t; + + + + +typedef union +{ + char __size[32]; + long int __align; +} pthread_barrier_t; + +typedef union +{ + char __size[4]; + int __align; +} pthread_barrierattr_t; +# 228 "/usr/include/sys/types.h" 2 3 4 + + + +# 515 "/usr/include/stdlib.h" 2 3 4 + + + + + + +extern long int random (void) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +extern char *initstate (unsigned int __seed, char *__statebuf, + size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +struct random_data + { + int32_t *fptr; + int32_t *rptr; + int32_t *state; + int rand_type; + int rand_deg; + int rand_sep; + int32_t *end_ptr; + }; + +extern int random_r (struct random_data *__restrict __buf, + int32_t *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int srandom_r (unsigned int __seed, struct random_data *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, + size_t __statelen, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); + +extern int setstate_r (char *__restrict __statebuf, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern int rand (void) __attribute__ ((__nothrow__ , __leaf__)); + +extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int nrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int jrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__)); +extern unsigned short int *seed48 (unsigned short int __seed16v[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +struct drand48_data + { + unsigned short int __x[3]; + unsigned short int __old_x[3]; + unsigned short int __c; + unsigned short int __init; + __extension__ unsigned long long int __a; + + }; + + +extern int drand48_r (struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int erand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int lrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int nrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int mrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int jrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int srand48_r (long int __seedval, struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int seed48_r (unsigned short int __seed16v[3], + struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int lcong48_r (unsigned short int __param[7], + struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern __uint32_t arc4random (void) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + +extern void arc4random_buf (void *__buf, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern __uint32_t arc4random_uniform (__uint32_t __upper_bound) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + +extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__)); + +extern void *calloc (size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) __attribute__ ((__warn_unused_result__)); + + + + + + +extern void *realloc (void *__ptr, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); + + +extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__alloc_size__ (2, 3))) + __attribute__ ((__malloc__ (__builtin_free, 1))); + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__ (reallocarray, 1))); + + + +# 1 "/usr/include/alloca.h" 1 3 4 +# 24 "/usr/include/alloca.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 25 "/usr/include/alloca.h" 2 3 4 + + + + + + + +extern void *alloca (size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + +# 707 "/usr/include/stdlib.h" 2 3 4 + + + + + +extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__)); + + + + +extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + + +extern void *aligned_alloc (size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) + __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__)); + + + +extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + +extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void quick_exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + +extern char *getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 786 "/usr/include/stdlib.h" 3 4 +extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int setenv (const char *__name, const char *__value, int __replace) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + +extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int clearenv (void) __attribute__ ((__nothrow__ , __leaf__)); +# 814 "/usr/include/stdlib.h" 3 4 +extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 827 "/usr/include/stdlib.h" 3 4 +extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 849 "/usr/include/stdlib.h" 3 4 +extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 870 "/usr/include/stdlib.h" 3 4 +extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 923 "/usr/include/stdlib.h" 3 4 +extern int system (const char *__command) __attribute__ ((__warn_unused_result__)); +# 940 "/usr/include/stdlib.h" 3 4 +extern char *realpath (const char *__restrict __name, + char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + + + +typedef int (*__compar_fn_t) (const void *, const void *); +# 960 "/usr/include/stdlib.h" 3 4 +extern void *bsearch (const void *__key, const void *__base, + size_t __nmemb, size_t __size, __compar_fn_t __compar) + __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__)); + + +# 1 "/usr/include/bits/stdlib-bsearch.h" 1 3 4 +# 19 "/usr/include/bits/stdlib-bsearch.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) void * +bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) +{ + size_t __l, __u, __idx; + const void *__p; + int __comparison; + + __l = 0; + __u = __nmemb; + while (__l < __u) + { + __idx = (__l + __u) / 2; + __p = (const void *) (((const char *) __base) + (__idx * __size)); + __comparison = (*__compar) (__key, __p); + if (__comparison < 0) + __u = __idx; + else if (__comparison > 0) + __l = __idx + 1; + else + { + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wcast-qual" + + return (void *) __p; + +#pragma GCC diagnostic pop + + } + } + + return ((void *)0); +} +# 966 "/usr/include/stdlib.h" 2 3 4 + + + + +extern void qsort (void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); +# 980 "/usr/include/stdlib.h" 3 4 +extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); +extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); + + +__extension__ extern long long int llabs (long long int __x) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); + + + + + + +extern div_t div (int __numer, int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); +extern ldiv_t ldiv (long int __numer, long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); + + +__extension__ extern lldiv_t lldiv (long long int __numer, + long long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); +# 1012 "/usr/include/stdlib.h" 3 4 +extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); + + + + +extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); + + + + +extern char *gcvt (double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); + + + + +extern char *qecvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); +extern char *qfcvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); +extern char *qgcvt (long double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); + + + + +extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + +extern int qecvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int qfcvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + + + + + +extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int mbtowc (wchar_t *__restrict __pwc, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern size_t mbstowcs (wchar_t *__restrict __pwcs, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__read_only__, 2))); + +extern size_t wcstombs (char *__restrict __s, + const wchar_t *__restrict __pwcs, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))) + __attribute__ ((__access__ (__read_only__, 2))); + + + + + + +extern int rpmatch (const char *__response) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 1099 "/usr/include/stdlib.h" 3 4 +extern int getsubopt (char **__restrict __optionp, + char *const *__restrict __tokens, + char **__restrict __valuep) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__)); +# 1145 "/usr/include/stdlib.h" 3 4 +extern int getloadavg (double __loadavg[], int __nelem) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 1155 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/bits/stdlib-float.h" 1 3 4 +# 24 "/usr/include/bits/stdlib-float.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) double +__attribute__ ((__nothrow__ , __leaf__)) atof (const char *__nptr) +{ + return strtod (__nptr, (char **) ((void *)0)); +} +# 1156 "/usr/include/stdlib.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdlib.h" 1 3 4 +# 23 "/usr/include/bits/stdlib.h" 3 4 +extern char *__realpath_chk (const char *__restrict __name, + char *__restrict __resolved, + size_t __resolvedlen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +extern char *__realpath_alias (const char *__restrict __name, char *__restrict __resolved) __asm__ ("" "realpath") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__warn_unused_result__)); +extern char *__realpath_chk_warn (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) __asm__ ("" "__realpath_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + __attribute__ ((__warn_unused_result__)) + __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer"))) + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * +__attribute__ ((__nothrow__ , __leaf__)) realpath (const char *__restrict __name, char *__restrict __resolved) +{ + size_t sz = __builtin_dynamic_object_size (__resolved, 1); + + if (sz == (size_t) -1) + return __realpath_alias (__name, __resolved); + + + + + + return __realpath_chk (__name, __resolved, sz); +} + + +extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen, + size_t __nreal) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) + __attribute__ ((__access__ (__write_only__, 2, 3))); +extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) __asm__ ("" "ptsname_r") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3))); +extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__ptsname_r_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf"))) + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) ptsname_r (int __fd, char *__buf, size_t __buflen) +{ + return (((__builtin_constant_p (__builtin_dynamic_object_size (__buf, 1)) && (__builtin_dynamic_object_size (__buf, 1)) == (long unsigned int) -1) || (((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((long unsigned int) (__buflen)) <= ((__builtin_dynamic_object_size (__buf, 1))) / ((sizeof (char))))) && (((long unsigned int) (__buflen)) <= ((__builtin_dynamic_object_size (__buf, 1))) / ((sizeof (char)))))) ? __ptsname_r_alias (__fd, __buf, __buflen) : ((((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((long unsigned int) (__buflen)) <= (__builtin_dynamic_object_size (__buf, 1)) / (sizeof (char)))) && !(((long unsigned int) (__buflen)) <= (__builtin_dynamic_object_size (__buf, 1)) / (sizeof (char)))) ? __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_dynamic_object_size (__buf, 1)) : __ptsname_r_chk (__fd, __buf, __buflen, __builtin_dynamic_object_size (__buf, 1)))) + + ; +} + + +extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +extern int __wctomb_alias (char *__s, wchar_t __wchar) __asm__ ("" "wctomb") __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__warn_unused_result__)); + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int +__attribute__ ((__nothrow__ , __leaf__)) wctomb (char *__s, wchar_t __wchar) +{ + + + + + + + + if (__builtin_dynamic_object_size (__s, 1) != (size_t) -1 + && 16 > __builtin_dynamic_object_size (__s, 1)) + return __wctomb_chk (__s, __wchar, __builtin_dynamic_object_size (__s, 1)); + return __wctomb_alias (__s, __wchar); +} + + +extern size_t __mbstowcs_chk (wchar_t *__restrict __dst, + const char *__restrict __src, + size_t __len, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __mbstowcs_nulldst (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) __asm__ ("" "mbstowcs") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) __asm__ ("" "mbstowcs") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__mbstowcs_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) + +{ + if (__builtin_constant_p (__dst == ((void *)0)) && __dst == ((void *)0)) + return __mbstowcs_nulldst (__dst, __src, __len); + else + return (((__builtin_constant_p (__builtin_dynamic_object_size (__dst, 1)) && (__builtin_dynamic_object_size (__dst, 1)) == (long unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (wchar_t))))) && (((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (wchar_t)))))) ? __mbstowcs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t)))) && !(((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t)))) ? __mbstowcs_chk_warn (__dst, __src, __len, (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t))) : __mbstowcs_chk (__dst, __src, __len, (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t))))) + ; +} + +extern size_t __wcstombs_chk (char *__restrict __dst, + const wchar_t *__restrict __src, + size_t __len, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __wcstombs_alias (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) __asm__ ("" "wcstombs") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __wcstombs_chk_warn (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__wcstombs_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len"))); + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) + +{ + return (((__builtin_constant_p (__builtin_dynamic_object_size (__dst, 1)) && (__builtin_dynamic_object_size (__dst, 1)) == (long unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (char))))) && (((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (char)))))) ? __wcstombs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (char)))) && !(((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (char)))) ? __wcstombs_chk_warn (__dst, __src, __len, __builtin_dynamic_object_size (__dst, 1)) : __wcstombs_chk (__dst, __src, __len, __builtin_dynamic_object_size (__dst, 1)))) + + ; +} +# 1160 "/usr/include/stdlib.h" 2 3 4 + + + + + + + + +# 4 "include/array.h" 2 + + + + + + + + +# 11 "include/array.h" +typedef struct array_impl *array_t; +typedef void (*array_free_callback_t)(void* item); + +__attribute__((warn_unused_result)) +array_t array_new (void); + +__attribute__((warn_unused_result)) +array_t array_new_sized (size_t size); + +__attribute__((nonnull (1))) +void* array_insert (array_t, size_t idx, void* item); + +__attribute__((nonnull (1))) +void* array_remove (array_t, size_t idx); + +__attribute__((nonnull (1), warn_unused_result)) +void* array_pop (array_t); + +__attribute__((nonnull (1))) +void* array_append (array_t, void* item); + +__attribute__((nonnull)) +void* array_get (array_t, size_t idx); + +__attribute__((nonnull)) +size_t array_length (array_t); + +__attribute__((nonnull (1))) +void array_free_cb (array_t, array_free_callback_t); + +__attribute__((nonnull (1))) +void array_free (array_t); +# 2 "src/diagnostics.c" 2 +# 1 "include/generic.h" 1 + + +# 1 "include/ansi-colors.h" 1 + + +# 1 "include/io.h" 1 + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 1 3 4 +# 9 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 3 4 +# 1 "/usr/include/stdint.h" 1 3 4 +# 26 "/usr/include/stdint.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/stdint.h" 2 3 4 + +# 1 "/usr/include/bits/wchar.h" 1 3 4 +# 29 "/usr/include/stdint.h" 2 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 30 "/usr/include/stdint.h" 2 3 4 + + + + + + + +# 1 "/usr/include/bits/stdint-uintn.h" 1 3 4 +# 24 "/usr/include/bits/stdint-uintn.h" 3 4 + +# 24 "/usr/include/bits/stdint-uintn.h" 3 4 +typedef __uint8_t uint8_t; +typedef __uint16_t uint16_t; +typedef __uint32_t uint32_t; +typedef __uint64_t uint64_t; +# 38 "/usr/include/stdint.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdint-least.h" 1 3 4 +# 25 "/usr/include/bits/stdint-least.h" 3 4 +typedef __int_least8_t int_least8_t; +typedef __int_least16_t int_least16_t; +typedef __int_least32_t int_least32_t; +typedef __int_least64_t int_least64_t; + + +typedef __uint_least8_t uint_least8_t; +typedef __uint_least16_t uint_least16_t; +typedef __uint_least32_t uint_least32_t; +typedef __uint_least64_t uint_least64_t; +# 42 "/usr/include/stdint.h" 2 3 4 + + + + + +typedef signed char int_fast8_t; + +typedef long int int_fast16_t; +typedef long int int_fast32_t; +typedef long int int_fast64_t; +# 60 "/usr/include/stdint.h" 3 4 +typedef unsigned char uint_fast8_t; + +typedef unsigned long int uint_fast16_t; +typedef unsigned long int uint_fast32_t; +typedef unsigned long int uint_fast64_t; +# 76 "/usr/include/stdint.h" 3 4 +typedef long int intptr_t; + + +typedef unsigned long int uintptr_t; +# 90 "/usr/include/stdint.h" 3 4 +typedef __intmax_t intmax_t; +typedef __uintmax_t uintmax_t; +# 10 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 2 3 4 +# 4 "include/io.h" 2 +# 1 "/usr/include/stdio.h" 1 3 4 +# 28 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 29 "/usr/include/stdio.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 35 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdarg.h" 1 3 4 +# 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdarg.h" 3 4 +typedef __builtin_va_list __gnuc_va_list; +# 38 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/include/bits/types/__fpos_t.h" 1 3 4 + + + + +# 1 "/usr/include/bits/types/__mbstate_t.h" 1 3 4 +# 13 "/usr/include/bits/types/__mbstate_t.h" 3 4 +typedef struct +{ + int __count; + union + { + unsigned int __wch; + char __wchb[4]; + } __value; +} __mbstate_t; +# 6 "/usr/include/bits/types/__fpos_t.h" 2 3 4 + + + + +typedef struct _G_fpos_t +{ + __off_t __pos; + __mbstate_t __state; +} __fpos_t; +# 41 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/__fpos64_t.h" 1 3 4 +# 10 "/usr/include/bits/types/__fpos64_t.h" 3 4 +typedef struct _G_fpos64_t +{ + __off64_t __pos; + __mbstate_t __state; +} __fpos64_t; +# 42 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/__FILE.h" 1 3 4 + + + +struct _IO_FILE; +typedef struct _IO_FILE __FILE; +# 43 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/FILE.h" 1 3 4 + + + +struct _IO_FILE; + + +typedef struct _IO_FILE FILE; +# 44 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/struct_FILE.h" 1 3 4 +# 35 "/usr/include/bits/types/struct_FILE.h" 3 4 +struct _IO_FILE; +struct _IO_marker; +struct _IO_codecvt; +struct _IO_wide_data; + + + + +typedef void _IO_lock_t; + + + + + +struct _IO_FILE +{ + int _flags; + + + char *_IO_read_ptr; + char *_IO_read_end; + char *_IO_read_base; + char *_IO_write_base; + char *_IO_write_ptr; + char *_IO_write_end; + char *_IO_buf_base; + char *_IO_buf_end; + + + char *_IO_save_base; + char *_IO_backup_base; + char *_IO_save_end; + + struct _IO_marker *_markers; + + struct _IO_FILE *_chain; + + int _fileno; + int _flags2; + __off_t _old_offset; + + + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + + _IO_lock_t *_lock; + + + + + + + + __off64_t _offset; + + struct _IO_codecvt *_codecvt; + struct _IO_wide_data *_wide_data; + struct _IO_FILE *_freeres_list; + void *_freeres_buf; + size_t __pad5; + int _mode; + + char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; +}; +# 45 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/include/bits/types/cookie_io_functions_t.h" 1 3 4 +# 27 "/usr/include/bits/types/cookie_io_functions_t.h" 3 4 +typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf, + size_t __nbytes); + + + + + + + +typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf, + size_t __nbytes); + + + + + + + +typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w); + + +typedef int cookie_close_function_t (void *__cookie); + + + + + + +typedef struct _IO_cookie_io_functions_t +{ + cookie_read_function_t *read; + cookie_write_function_t *write; + cookie_seek_function_t *seek; + cookie_close_function_t *close; +} cookie_io_functions_t; +# 48 "/usr/include/stdio.h" 2 3 4 + + + + + +typedef __gnuc_va_list va_list; +# 85 "/usr/include/stdio.h" 3 4 +typedef __fpos_t fpos_t; +# 129 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/stdio_lim.h" 1 3 4 +# 130 "/usr/include/stdio.h" 2 3 4 +# 149 "/usr/include/stdio.h" 3 4 +extern FILE *stdin; +extern FILE *stdout; +extern FILE *stderr; + + + + + + +extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); + +extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int renameat (int __oldfd, const char *__old, int __newfd, + const char *__new) __attribute__ ((__nothrow__ , __leaf__)); +# 184 "/usr/include/stdio.h" 3 4 +extern int fclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 194 "/usr/include/stdio.h" 3 4 +extern FILE *tmpfile (void) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); +# 211 "/usr/include/stdio.h" 3 4 +extern char *tmpnam (char[20]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + +extern char *tmpnam_r (char __s[20]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +# 228 "/usr/include/stdio.h" 3 4 +extern char *tempnam (const char *__dir, const char *__pfx) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__malloc__ (__builtin_free, 1))); + + + + + + +extern int fflush (FILE *__stream); +# 245 "/usr/include/stdio.h" 3 4 +extern int fflush_unlocked (FILE *__stream); +# 264 "/usr/include/stdio.h" 3 4 +extern FILE *fopen (const char *__restrict __filename, + const char *__restrict __modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *freopen (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (3))); +# 299 "/usr/include/stdio.h" 3 4 +extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + + +extern FILE *fopencookie (void *__restrict __magic_cookie, + const char *__restrict __modes, + cookie_io_functions_t __io_funcs) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); +# 334 "/usr/include/stdio.h" 3 4 +extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__nonnull__ (1))); + + + +extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, + size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int fprintf (FILE *__restrict __stream, + const char *__restrict __format, ...) __attribute__ ((__nonnull__ (1))); + + + + +extern int printf (const char *__restrict __format, ...); + +extern int sprintf (char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__)); + + + + + +extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nonnull__ (1))); + + + + +extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); + +extern int vsprintf (char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nothrow__)); + + + +extern int snprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); + +extern int vsnprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); + + + + + +extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, + __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__)); +extern int __asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); +extern int asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); + + + + +extern int vdprintf (int __fd, const char *__restrict __fmt, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 2, 0))); +extern int dprintf (int __fd, const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); + + + + + + + +extern int fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); + +extern int sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); +# 463 "/usr/include/stdio.h" 3 4 +extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") + + __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") + __attribute__ ((__warn_unused_result__)); +extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__)) + + ; +# 490 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); + + +extern int vsscanf (const char *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); +# 540 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") + + + + __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") + + __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); +extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__format__ (__scanf__, 2, 0))); +# 575 "/usr/include/stdio.h" 3 4 +extern int fgetc (FILE *__stream) __attribute__ ((__nonnull__ (1))); +extern int getc (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + + + + +extern int getchar (void); + + + + + + +extern int getc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); +extern int getchar_unlocked (void); +# 600 "/usr/include/stdio.h" 3 4 +extern int fgetc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 611 "/usr/include/stdio.h" 3 4 +extern int fputc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); +extern int putc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + +extern int putchar (int __c); +# 627 "/usr/include/stdio.h" 3 4 +extern int fputc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + + +extern int putc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); +extern int putchar_unlocked (int __c); + + + + + + +extern int getw (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + +extern int putw (int __w, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + + +extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1))) __attribute__ ((__nonnull__ (3))); +# 694 "/usr/include/stdio.h" 3 4 +extern __ssize_t __getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))); +extern __ssize_t getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))); + + + + + + + +extern __ssize_t getline (char **__restrict __lineptr, + size_t *__restrict __n, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (3))); + + + + + + + +extern int fputs (const char *__restrict __s, FILE *__restrict __stream) + __attribute__ ((__nonnull__ (2))); + + + + + +extern int puts (const char *__s); + + + + + + +extern int ungetc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + +extern size_t fread (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__nonnull__ (4))); + + + + +extern size_t fwrite (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __s) __attribute__ ((__nonnull__ (4))); +# 766 "/usr/include/stdio.h" 3 4 +extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__nonnull__ (4))); +extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) + __attribute__ ((__nonnull__ (4))); + + + + + + + +extern int fseek (FILE *__stream, long int __off, int __whence) + __attribute__ ((__nonnull__ (1))); + + + + +extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern void rewind (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 803 "/usr/include/stdio.h" 3 4 +extern int fseeko (FILE *__stream, __off_t __off, int __whence) + __attribute__ ((__nonnull__ (1))); + + + + +extern __off_t ftello (FILE *__stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +# 829 "/usr/include/stdio.h" 3 4 +extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) + __attribute__ ((__nonnull__ (1))); + + + + +extern int fsetpos (FILE *__stream, const fpos_t *__pos) __attribute__ ((__nonnull__ (1))); +# 860 "/usr/include/stdio.h" 3 4 +extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + +extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + +extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern void perror (const char *__s) __attribute__ ((__cold__)); + + + + +extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +# 897 "/usr/include/stdio.h" 3 4 +extern int pclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + + + + +extern FILE *popen (const char *__command, const char *__modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + + + +extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))); +# 941 "/usr/include/stdio.h" 3 4 +extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + +extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 959 "/usr/include/stdio.h" 3 4 +extern int __uflow (FILE *); +extern int __overflow (FILE *, int); + + + +# 1 "/usr/include/bits/stdio2-decl.h" 1 3 4 +# 26 "/usr/include/bits/stdio2-decl.h" 3 4 +extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))); +extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + ...) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 2))); +extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 2))); + + + + + +extern int __fprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, ...) + __attribute__ ((__nonnull__ (1))); +extern int __printf_chk (int __flag, const char *__restrict __format, ...); +extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nonnull__ (1))); +extern int __vprintf_chk (int __flag, const char *__restrict __format, + __gnuc_va_list __ap); + + +extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt, + ...) __attribute__ ((__format__ (__printf__, 3, 4))); +extern int __vdprintf_chk (int __fd, int __flag, + const char *__restrict __fmt, __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 3, 0))); +# 96 "/usr/include/bits/stdio2-decl.h" 3 4 +extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets") + + + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2))); +extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk") + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer"))) + ; + +extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, + FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__nonnull__ (4))); + +extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread") + + + __attribute__ ((__warn_unused_result__)); +extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk") + + + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer"))) + ; + +extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (5))); +# 145 "/usr/include/bits/stdio2-decl.h" 3 4 +extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked") + + + __attribute__ ((__warn_unused_result__)); +extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk") + + + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer"))) + ; + +extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (5))); +# 965 "/usr/include/stdio.h" 2 3 4 +# 976 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/stdio.h" 1 3 4 +# 46 "/usr/include/bits/stdio.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +getchar (void) +{ + return getc (stdin); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +fgetc_unlocked (FILE *__fp) +{ + return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +} + + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +getc_unlocked (FILE *__fp) +{ + return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +getchar_unlocked (void) +{ + return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +putchar (int __c) +{ + return putc (__c, stdout); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +fputc_unlocked (int __c, FILE *__stream) +{ + return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); +} + + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +putc_unlocked (int __c, FILE *__stream) +{ + return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +putchar_unlocked (int __c) +{ + return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); +} +# 127 "/usr/include/bits/stdio.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) feof_unlocked (FILE *__stream) +{ + return (((__stream)->_flags & 0x0010) != 0); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) ferror_unlocked (FILE *__stream) +{ + return (((__stream)->_flags & 0x0020) != 0); +} +# 977 "/usr/include/stdio.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdio2.h" 1 3 4 +# 27 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) +{ + return __builtin___sprintf_chk (__s, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, + __builtin_va_arg_pack ()); +} + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) + +{ + return __builtin___vsprintf_chk (__s, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, __ap); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) + +{ + return __builtin___snprintf_chk (__s, __n, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, + __builtin_va_arg_pack ()); +} + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) + +{ + return __builtin___vsnprintf_chk (__s, __n, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, __ap); +} + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) int +fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...) +{ + return __fprintf_chk (__stream, 3 - 1, __fmt, + __builtin_va_arg_pack ()); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +printf (const char *__restrict __fmt, ...) +{ + return __printf_chk (3 - 1, __fmt, __builtin_va_arg_pack ()); +} + + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +vprintf (const char *__restrict __fmt, __gnuc_va_list __ap) +{ + + return __vfprintf_chk (stdout, 3 - 1, __fmt, __ap); + + + +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) int +vfprintf (FILE *__restrict __stream, + const char *__restrict __fmt, __gnuc_va_list __ap) +{ + return __vfprintf_chk (__stream, 3 - 1, __fmt, __ap); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +dprintf (int __fd, const char *__restrict __fmt, ...) +{ + return __dprintf_chk (__fd, 3 - 1, __fmt, + __builtin_va_arg_pack ()); +} + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap) +{ + return __vdprintf_chk (__fd, 3 - 1, __fmt, __ap); +} +# 194 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1))) +__attribute__ ((__nonnull__ (3))) char * +fgets (char *__restrict __s, int __n, FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__s, 1); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))) && (((long unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))))) + return __fgets_alias (__s, __n, __stream); + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (sizeof (char)))) && !(((long unsigned int) (__n)) <= (sz) / (sizeof (char))))) + return __fgets_chk_warn (__s, sz, __n, __stream); + return __fgets_chk (__s, sz, __n, __stream); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))) size_t +fread (void *__restrict __ptr, size_t __size, size_t __n, + FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__ptr, 0); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((long unsigned int) (__n)) <= ((sz)) / ((__size)))))) + return __fread_alias (__ptr, __size, __n, __stream); + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (__size))) && !(((long unsigned int) (__n)) <= (sz) / (__size)))) + return __fread_chk_warn (__ptr, sz, __size, __n, __stream); + return __fread_chk (__ptr, sz, __size, __n, __stream); +} +# 234 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))) size_t +fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, + FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__ptr, 0); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((long unsigned int) (__n)) <= ((sz)) / ((__size)))))) + { + + if (__builtin_constant_p (__size) + && __builtin_constant_p (__n) + && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2)) + && __size * __n <= 8) + { + size_t __cnt = __size * __n; + char *__cptr = (char *) __ptr; + if (__cnt == 0) + return 0; + + for (; __cnt > 0; --__cnt) + { + int __c = getc_unlocked (__stream); + if (__c == (-1)) + break; + *__cptr++ = __c; + } + return (__cptr - (char *) __ptr) / __size; + } + + return __fread_unlocked_alias (__ptr, __size, __n, __stream); + } + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (__size))) && !(((long unsigned int) (__n)) <= (sz) / (__size)))) + return __fread_unlocked_chk_warn (__ptr, sz, __size, __n, __stream); + return __fread_unlocked_chk (__ptr, sz, __size, __n, __stream); + +} +# 981 "/usr/include/stdio.h" 2 3 4 + + + +# 5 "include/io.h" 2 + + +# 6 "include/io.h" +typedef FILE* fptr_t; + +typedef struct +{ + fptr_t ptr; + uint8_t* buffer; + const char* path; + size_t size; +} *memstream_t; + +__attribute__((warn_unused_result, nonnull)) +fptr_t io_open_file (const char* filename, const char* mode); + +__attribute__((warn_unused_result, nonnull)) +uint8_t* io_alloc_file_buffer (fptr_t file); + +__attribute__((nonnull (1, 2))) +size_t io_read_file_into_buffer (fptr_t file, uint8_t* const buffer, uint64_t buffer_size); + +__attribute__((nonnull (1), warn_unused_result)) +memstream_t io_read_file_into_memstream (fptr_t file, const char* const path); + +__attribute__((nonnull)) +void io_free_memstream (memstream_t stream); + +__attribute__((nonnull)) +void io_close_file (fptr_t file); +# 4 "include/ansi-colors.h" 2 +# 34 "include/ansi-colors.h" +void cprintf (const char* ccode, const char* fmt, ...); + +__attribute__((nonnull (1))) +void cfprintf (fptr_t file, const char* ccode, const char* fmt, ...); +# 4 "include/generic.h" 2 + +# 1 "/usr/include/errno.h" 1 3 4 +# 28 "/usr/include/errno.h" 3 4 +# 1 "/usr/include/bits/errno.h" 1 3 4 +# 26 "/usr/include/bits/errno.h" 3 4 +# 1 "/usr/include/linux/errno.h" 1 3 4 +# 1 "/usr/include/asm/errno.h" 1 3 4 +# 1 "/usr/include/asm-generic/errno.h" 1 3 4 + + + + +# 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 +# 6 "/usr/include/asm-generic/errno.h" 2 3 4 +# 2 "/usr/include/asm/errno.h" 2 3 4 +# 2 "/usr/include/linux/errno.h" 2 3 4 +# 27 "/usr/include/bits/errno.h" 2 3 4 +# 29 "/usr/include/errno.h" 2 3 4 + + + + + + + + + +# 37 "/usr/include/errno.h" 3 4 +extern int *__errno_location (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +# 52 "/usr/include/errno.h" 3 4 + +# 6 "include/generic.h" 2 + + +# 1 "/usr/include/string.h" 1 3 4 +# 26 "/usr/include/string.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/string.h" 2 3 4 + + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 34 "/usr/include/string.h" 2 3 4 +# 43 "/usr/include/string.h" 3 4 +extern void *memcpy (void *__restrict __dest, const void *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void *memmove (void *__dest, const void *__src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern void *memccpy (void *__restrict __dest, const void *__restrict __src, + int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 4))); + + + + +extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern int memcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 80 "/usr/include/string.h" 3 4 +extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 107 "/usr/include/string.h" 3 4 +extern void *memchr (const void *__s, int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 141 "/usr/include/string.h" 3 4 +extern char *strcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern char *strcat (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncat (char *__restrict __dest, const char *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int strncmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcoll (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern size_t strxfrm (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +# 1 "/usr/include/bits/types/locale_t.h" 1 3 4 +# 22 "/usr/include/bits/types/locale_t.h" 3 4 +# 1 "/usr/include/bits/types/__locale_t.h" 1 3 4 +# 27 "/usr/include/bits/types/__locale_t.h" 3 4 +struct __locale_struct +{ + + struct __locale_data *__locales[13]; + + + const unsigned short int *__ctype_b; + const int *__ctype_tolower; + const int *__ctype_toupper; + + + const char *__names[13]; +}; + +typedef struct __locale_struct *__locale_t; +# 23 "/usr/include/bits/types/locale_t.h" 2 3 4 + +typedef __locale_t locale_t; +# 173 "/usr/include/string.h" 2 3 4 + + +extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + +extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, + locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + + + +extern char *strdup (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern char *strndup (const char *__string, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); +# 246 "/usr/include/string.h" 3 4 +extern char *strchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 273 "/usr/include/string.h" 3 4 +extern char *strrchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 286 "/usr/include/string.h" 3 4 +extern char *strchrnul (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern size_t strcspn (const char *__s, const char *__reject) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern size_t strspn (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 323 "/usr/include/string.h" 3 4 +extern char *strpbrk (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 350 "/usr/include/string.h" 3 4 +extern char *strstr (const char *__haystack, const char *__needle) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strtok (char *__restrict __s, const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *__strtok_r (char *__restrict __s, + const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); + +extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); +# 380 "/usr/include/string.h" 3 4 +extern char *strcasestr (const char *__haystack, const char *__needle) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + + +extern void *memmem (const void *__haystack, size_t __haystacklen, + const void *__needle, size_t __needlelen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))) + __attribute__ ((__access__ (__read_only__, 1, 2))) + __attribute__ ((__access__ (__read_only__, 3, 4))); + + + +extern void *__mempcpy (void *__restrict __dest, + const void *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern void *mempcpy (void *__restrict __dest, + const void *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern size_t strlen (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern size_t strnlen (const char *__string, size_t __maxlen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern char *strerror (int __errnum) __attribute__ ((__nothrow__ , __leaf__)); +# 432 "/usr/include/string.h" 3 4 +extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__nonnull__ (2))) + __attribute__ ((__access__ (__write_only__, 2, 3))); +# 458 "/usr/include/string.h" 3 4 +extern char *strerror_l (int __errnum, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); + + + +# 1 "/usr/include/strings.h" 1 3 4 +# 23 "/usr/include/strings.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 24 "/usr/include/strings.h" 2 3 4 + + + + + + + + + + +extern int bcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bcopy (const void *__src, void *__dest, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 68 "/usr/include/strings.h" 3 4 +extern char *index (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 96 "/usr/include/strings.h" 3 4 +extern char *rindex (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int ffs (int __i) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + + + +extern int ffsl (long int __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +__extension__ extern int ffsll (long long int __ll) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + +extern int strcasecmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + +extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + + +extern int strncasecmp_l (const char *__s1, const char *__s2, + size_t __n, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); + + + + + + + + +# 1 "/usr/include/bits/strings_fortified.h" 1 3 4 +# 22 "/usr/include/bits/strings_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void +__attribute__ ((__nothrow__ , __leaf__)) bcopy (const void *__src, void *__dest, size_t __len) +{ + (void) __builtin___memmove_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 0)); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void +__attribute__ ((__nothrow__ , __leaf__)) bzero (void *__dest, size_t __len) +{ + (void) __builtin___memset_chk (__dest, '\0', __len, + __builtin_dynamic_object_size (__dest, 0)); +} +# 145 "/usr/include/strings.h" 2 3 4 +# 463 "/usr/include/string.h" 2 3 4 + + + +extern void explicit_bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) + __attribute__ ((__access__ (__write_only__, 1))); + + + +extern char *strsep (char **__restrict __stringp, + const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__)); +# 489 "/usr/include/string.h" 3 4 +extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + +extern char *__stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern size_t strlcpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +extern size_t strlcat (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__read_write__, 1, 3))); +# 548 "/usr/include/string.h" 3 4 +# 1 "/usr/include/bits/string_fortified.h" 1 3 4 +# 25 "/usr/include/bits/string_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * +__attribute__ ((__nothrow__ , __leaf__)) memcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) + +{ + return __builtin___memcpy_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 0)); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * +__attribute__ ((__nothrow__ , __leaf__)) memmove (void *__dest, const void *__src, size_t __len) +{ + return __builtin___memmove_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 0)); +} +# 56 "/usr/include/bits/string_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * +__attribute__ ((__nothrow__ , __leaf__)) memset (void *__dest, int __ch, size_t __len) +{ + return __builtin___memset_chk (__dest, __ch, __len, + __builtin_dynamic_object_size (__dest, 0)); +} + + + + +void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1))); + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void +__attribute__ ((__nothrow__ , __leaf__)) explicit_bzero (void *__dest, size_t __len) +{ + __explicit_bzero_chk (__dest, __len, __builtin_dynamic_object_size (__dest, 0)); +} + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strcpy (char *__restrict __dest, const char *__restrict __src) +{ + return __builtin___strcpy_chk (__dest, __src, __builtin_dynamic_object_size (__dest, 1)); +} + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) stpcpy (char *__restrict __dest, const char *__restrict __src) +{ + return __builtin___stpcpy_chk (__dest, __src, __builtin_dynamic_object_size (__dest, 1)); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strncpy (char *__restrict __dest, const char *__restrict __src, size_t __len) + +{ + return __builtin___strncpy_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 1)); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) stpncpy (char *__dest, const char *__src, size_t __n) +{ + return __builtin___stpncpy_chk (__dest, __src, __n, + __builtin_dynamic_object_size (__dest, 1)); +} +# 127 "/usr/include/bits/string_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strcat (char *__restrict __dest, const char *__restrict __src) +{ + return __builtin___strcat_chk (__dest, __src, __builtin_dynamic_object_size (__dest, 1)); +} + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strncat (char *__restrict __dest, const char *__restrict __src, size_t __len) + +{ + return __builtin___strncat_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 1)); +} + + +extern size_t __strlcpy_chk (char *__dest, const char *__src, size_t __n, + size_t __destlen) __attribute__ ((__nothrow__ , __leaf__)); +extern size_t __strlcpy_alias (char *__dest, const char *__src, size_t __n) __asm__ ("" "strlcpy") __attribute__ ((__nothrow__ , __leaf__)) + + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) strlcpy (char *__restrict __dest, const char *__restrict __src, size_t __n) + +{ + if (__builtin_dynamic_object_size (__dest, 1) != (size_t) -1 + && (!__builtin_constant_p (__n > __builtin_dynamic_object_size (__dest, 1)) + || __n > __builtin_dynamic_object_size (__dest, 1))) + return __strlcpy_chk (__dest, __src, __n, __builtin_dynamic_object_size (__dest, 1)); + return __strlcpy_alias (__dest, __src, __n); +} + +extern size_t __strlcat_chk (char *__dest, const char *__src, size_t __n, + size_t __destlen) __attribute__ ((__nothrow__ , __leaf__)); +extern size_t __strlcat_alias (char *__dest, const char *__src, size_t __n) __asm__ ("" "strlcat") __attribute__ ((__nothrow__ , __leaf__)) + + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) strlcat (char *__restrict __dest, const char *__restrict __src, size_t __n) + +{ + if (__builtin_dynamic_object_size (__dest, 1) != (size_t) -1 + && (!__builtin_constant_p (__n > __builtin_dynamic_object_size (__dest, 1)) + || __n > __builtin_dynamic_object_size (__dest, 1))) + return __strlcat_chk (__dest, __src, __n, __builtin_dynamic_object_size (__dest, 1)); + return __strlcat_alias (__dest, __src, __n); +} +# 549 "/usr/include/string.h" 2 3 4 + + + + +# 9 "include/generic.h" 2 +# 1 "/usr/include/inttypes.h" 1 3 4 +# 34 "/usr/include/inttypes.h" 3 4 +typedef int __gwchar_t; +# 327 "/usr/include/inttypes.h" 3 4 + + + + + +typedef struct + { + long int quot; + long int rem; + } imaxdiv_t; +# 351 "/usr/include/inttypes.h" 3 4 +extern intmax_t imaxabs (intmax_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + +extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + +extern intmax_t strtoimax (const char *__restrict __nptr, + char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); + + +extern uintmax_t strtoumax (const char *__restrict __nptr, + char ** __restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); + + +extern intmax_t wcstoimax (const __gwchar_t *__restrict __nptr, + __gwchar_t **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)); + + +extern uintmax_t wcstoumax (const __gwchar_t *__restrict __nptr, + __gwchar_t ** __restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)); +# 415 "/usr/include/inttypes.h" 3 4 + +# 10 "include/generic.h" 2 +# 80 "include/generic.h" + +# 80 "include/generic.h" +void __chk_free_impl (const char* fn, void* ptr); +void __chk_free_impl_nofn (void* ptr); +void* __chk_calloc_impl (const char* fn, size_t nmemb, size_t size); +void* __chk_realloc_impl (const char* fn, void* ptr, size_t size); + + +void dbg_mem_dump_stats (void); +# 3 "src/diagnostics.c" 2 +# 1 "include/diagnostics.h" 1 + + + +# 1 "include/lexer.h" 1 + + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdbool.h" 1 3 4 +# 8 "include/lexer.h" 2 + +typedef struct lexer_impl +{ + array_t memstreams; + array_t lexeme_arrays; +} *lexer_t; + +struct compilation_args; + +__attribute__((warn_unused_result)) +lexer_t lex_ctx_new (struct compilation_args* comp_args); + +__attribute__((nonnull)) +void lex_ctx_load_file (lexer_t, fptr_t file, const char* const path); + +__attribute__((nonnull)) +uint64_t lex_ctx_process (lexer_t lexer); + +__attribute__((nonnull)) +void lex_ctx_free (lexer_t lexer); + +enum lexeme_type +{ + NumericLiteral, + FloatingLiteral, + StringLiteral, + CharacterLiteral, + Identifier, + LeftParen, RightParen, + LeftBrace, RightBrace, + Dot, + Add, Minus, Div, Star, Modulus, + AddAssign, MinusAssign, DivAssign, StarAssign, ModulusAssign, + Increment, Decrement, + LogicalOr, LogicalAnd, + Assign, AssignAssign, + Not, NotAssign, + BitwiseOr, BitwiseAnd, BitwiseXor, + BitwiseOrAssign, BitwiseAndAssign, BitwiseXorAssign, + BitwiseNegate, + BwdSlash, Newline, Semi, EndOfFile, + Comment, MultiComment +}; + +typedef struct +{ + uint64_t length; + uint64_t stream_offs; + enum lexeme_type type; +} *lexeme_t; +# 5 "include/diagnostics.h" 2 + + + +struct compilation_args +{ + struct + { + +# 12 "include/diagnostics.h" 3 4 + _Bool +# 12 "include/diagnostics.h" + warn_multichar: 1; + } warn_flags; + struct + { + +# 16 "include/diagnostics.h" 3 4 + _Bool +# 16 "include/diagnostics.h" + tokenize_comments: 1; + } parse_flags; + char** filenames; + size_t nr_filenames; +}; + +enum diagn_type +{ + DiagnosticWarning, + DiagnosticError, + DiagnosticNote +}; + +struct diagnostic; +typedef struct diagnostic_impl* diagn_t; + +__attribute__((nonnull)) +void diagn_free (diagn_t); + +__attribute__((warn_unused_result, malloc (diagn_free))) +diagn_t diagn_new (struct compilation_args* comp_args, uint8_t* src_stream, + const char* const path); + +__attribute__((nonnull (1, 4), format (printf, 5, 6))) +void diagn_push (diagn_t, const char* warn_name_opt, enum diagn_type type, + lexeme_t lexeme, const char* fmt, ...); + +__attribute__((nonnull)) +uint64_t diagn_flush (diagn_t, fptr_t file); +# 4 "src/diagnostics.c" 2 + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdarg.h" 1 3 4 +# 6 "src/diagnostics.c" 2 + + +# 1 "/usr/include/ctype.h" 1 3 4 +# 28 "/usr/include/ctype.h" 3 4 + +# 46 "/usr/include/ctype.h" 3 4 + +# 46 "/usr/include/ctype.h" 3 4 +enum +{ + _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), + _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), + _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), + _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), + _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), + _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), + _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), + _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), + _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), + _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), + _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), + _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) +}; +# 79 "/usr/include/ctype.h" 3 4 +extern const unsigned short int **__ctype_b_loc (void) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +extern const __int32_t **__ctype_tolower_loc (void) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +extern const __int32_t **__ctype_toupper_loc (void) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +# 108 "/usr/include/ctype.h" 3 4 +extern int isalnum (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isalpha (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int iscntrl (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isdigit (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int islower (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isgraph (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isprint (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int ispunct (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isspace (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isupper (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isxdigit (int) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int tolower (int __c) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int toupper (int __c) __attribute__ ((__nothrow__ , __leaf__)); + + + + +extern int isblank (int) __attribute__ ((__nothrow__ , __leaf__)); +# 142 "/usr/include/ctype.h" 3 4 +extern int isascii (int __c) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int toascii (int __c) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int _toupper (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int _tolower (int) __attribute__ ((__nothrow__ , __leaf__)); +# 206 "/usr/include/ctype.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) tolower (int __c) +{ + return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c; +} + +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) toupper (int __c) +{ + return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c; +} +# 251 "/usr/include/ctype.h" 3 4 +extern int isalnum_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isalpha_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int iscntrl_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isdigit_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int islower_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isgraph_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isprint_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int ispunct_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isspace_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isupper_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isxdigit_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); + +extern int isblank_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int __tolower_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); +extern int tolower_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int __toupper_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); +extern int toupper_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); +# 327 "/usr/include/ctype.h" 3 4 + +# 9 "src/diagnostics.c" 2 + + + + +# 12 "src/diagnostics.c" +static void diagn_free_impl (struct diagnostic*); +static const char* diagn_enum_to_string (enum diagn_type type) __attribute__((const)); +static const char* diagn_enum_ansi_code (enum diagn_type type) __attribute__((const)); + +struct diagnostic_impl +{ + uint8_t* src_stream; + array_t diagns; + struct compilation_args* comp_args; + const char* path; +}; + +struct diagnostic +{ + lexeme_t lexeme; + enum diagn_type type; + char* msg; +}; + +diagn_t +diagn_new (struct compilation_args* comp_args, + uint8_t* src_stream, + const char* const path) +{ + diagn_t diagn = __chk_calloc_impl (__func__, (1), (sizeof (*(diagn_t) +# 36 "src/diagnostics.c" 3 4 + ((void *)0) +# 36 "src/diagnostics.c" + ))); + diagn->comp_args = comp_args; + diagn->diagns = array_new (); + diagn->src_stream = src_stream; + diagn->path = path; + return diagn; +} + +static +# 44 "src/diagnostics.c" 3 4 + _Bool + +# 45 "src/diagnostics.c" +diagn_is_warn_enabled (diagn_t self, const char* warn_name) +{ + if (!strcmp (warn_name, "multichar")) + return self->comp_args->warn_flags.warn_multichar; + if (!(0)) { fprintf (( +# 49 "src/diagnostics.c" 3 4 + stderr +# 49 "src/diagnostics.c" + ), "\033[1;" "37m" "%s:%" +# 49 "src/diagnostics.c" 3 4 + "u" +# 49 "src/diagnostics.c" + "\033[0m" ": " "\033[1;" "31m" "error: " "\033[0m" "\033[1;" "37m" "Assertion failed: " "\033[0m" "%s" "\n", "src/diagnostics.c", 49, "0"); { fprintf (( +# 49 "src/diagnostics.c" 3 4 + stderr +# 49 "src/diagnostics.c" + ), "\033[1;" "37m" "%s:%" +# 49 "src/diagnostics.c" 3 4 + "u" +# 49 "src/diagnostics.c" + "\033[0m" ": " "\033[1;" "31m" "error: " "\033[0m" "Unknown warning name \"%s\", maybe you spelled it wrong?" "\n", "src/diagnostics.c", 49, warn_name); exit ( +# 49 "src/diagnostics.c" 3 4 + 1 +# 49 "src/diagnostics.c" + ); }; } + ; +} + +void +diagn_push (diagn_t self, + const char* warn_name_opt, + enum diagn_type type, + lexeme_t lexeme, + const char* fmt, ...) +{ + if (warn_name_opt != +# 60 "src/diagnostics.c" 3 4 + ((void *)0) +# 60 "src/diagnostics.c" + && !diagn_is_warn_enabled (self, warn_name_opt)) + { + fprintf (( +# 62 "src/diagnostics.c" 3 4 + stdout +# 62 "src/diagnostics.c" + ), "\033[1;" "37m" "%s:%" +# 62 "src/diagnostics.c" 3 4 + "u" +# 62 "src/diagnostics.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "ignoring warning \"%s\" because it is disabled" "\n", "src/diagnostics.c", 62, warn_name_opt); + return; + } + struct diagnostic* diagn = __chk_calloc_impl (__func__, (1), (sizeof (*diagn))); + diagn->lexeme = lexeme; + diagn->type = type; + + va_list args; + +# 70 "src/diagnostics.c" 3 4 + __builtin_va_start( +# 70 "src/diagnostics.c" + args +# 70 "src/diagnostics.c" 3 4 + , +# 70 "src/diagnostics.c" + fmt +# 70 "src/diagnostics.c" 3 4 + ) +# 70 "src/diagnostics.c" + ; + if (!((vasprintf (&diagn->msg, fmt, args) > 0))) { fprintf (( +# 71 "src/diagnostics.c" 3 4 + stderr +# 71 "src/diagnostics.c" + ), "\033[1;" "37m" "%s:%" +# 71 "src/diagnostics.c" 3 4 + "u" +# 71 "src/diagnostics.c" + "\033[0m" ": " "\033[1;" "31m" "error: " "\033[0m" "\033[1;" "37m" "Assertion failed: " "\033[0m" "%s" "\n", "src/diagnostics.c", 71, "(vasprintf (&diagn->msg, fmt, args) > 0)"); { fprintf (( +# 71 "src/diagnostics.c" 3 4 + stderr +# 71 "src/diagnostics.c" + ), "\033[1;" "37m" "%s:%" +# 71 "src/diagnostics.c" 3 4 + "u" +# 71 "src/diagnostics.c" + "\033[0m" ": " "\033[1;" "31m" "error: " "\033[0m" "vasprintf() failed" "\n", "src/diagnostics.c", 71); exit ( +# 71 "src/diagnostics.c" 3 4 + 1 +# 71 "src/diagnostics.c" + ); }; }; + +# 72 "src/diagnostics.c" 3 4 + __builtin_va_end( +# 72 "src/diagnostics.c" + args +# 72 "src/diagnostics.c" 3 4 + ) +# 72 "src/diagnostics.c" + ; + + array_append (self->diagns, diagn); +} + +static const char* +diagn_enum_ansi_code (enum diagn_type type) +{ + switch (type) + { + case DiagnosticNote: + return "\033[1;" "36m"; + case DiagnosticWarning: + return "\033[1;" "36m"; + case DiagnosticError: + return "\033[1;" "31m"; + default: + __builtin_unreachable (); + } +} + +static const char* +diagn_enum_to_string (enum diagn_type type) +{ + switch (type) + { + case DiagnosticNote: + return "\033[1;" "36m" "note:" "\033[0m"; + case DiagnosticWarning: + return "\033[1;" "36m" "warning:" "\033[0m"; + case DiagnosticError: + return "\033[1;" "31m" "error:" "\033[0m"; + default: + __builtin_unreachable (); + } +} + +static uint64_t +diagn_line_start_offset (const uint8_t* start, uint64_t stream_offs) +{ + uint64_t length = 0; + for (size_t i = 0; i < stream_offs; ++i) + { + uint8_t curr = *(start - i); + if (curr == '\n') + break; + length++; + } + + + while ( +# 122 "src/diagnostics.c" 3 4 + ((*__ctype_b_loc ())[(int) (( +# 122 "src/diagnostics.c" + *(start - length) +# 122 "src/diagnostics.c" 3 4 + ))] & (unsigned short int) _ISspace) +# 122 "src/diagnostics.c" + ) + length--; + + return length; +} + +static uint64_t +diagn_lineno (const uint8_t* start, uint64_t stream_offs) +{ + uint64_t line_no = 1; + for (size_t i = 0; i < stream_offs; ++i) + if (start[i] == '\n') + line_no++; + return line_no; +} + +static void +diagn_flush_single (diagn_t self, fptr_t file, struct diagnostic* diagn) +{ + uint8_t* lexeme_raw = &self->src_stream[diagn->lexeme->stream_offs]; + __extension__ __auto_type line_start_offset = diagn_line_start_offset ( + lexeme_raw, diagn->lexeme->stream_offs); + __extension__ __auto_type line_no = diagn_lineno (self->src_stream, diagn->lexeme->stream_offs); + + fprintf (file, "%s:%" +# 146 "src/diagnostics.c" 3 4 + "l" "u" +# 146 "src/diagnostics.c" + ":%" +# 146 "src/diagnostics.c" 3 4 + "l" "u" +# 146 "src/diagnostics.c" + ": %s %s\n", + self->path, line_no, line_start_offset, + diagn_enum_to_string (diagn->type), diagn->msg); + __extension__ __auto_type length = diagn->lexeme->length; + fprintf (file, "%*" +# 150 "src/diagnostics.c" 3 4 + "l" "u" +# 150 "src/diagnostics.c" + " | %.*s", + 4, line_no, + (int)line_start_offset, + lexeme_raw - line_start_offset); + uint64_t rel_line = 1; + for (size_t i = 0; i < diagn->lexeme->length; ++i) + { + uint8_t current = lexeme_raw[i]; + if (current == '\n') + { + if (++rel_line > (3)) + { + __extension__ __auto_type lines_left = diagn_lineno (lexeme_raw, diagn->lexeme->stream_offs + diagn->lexeme->length) + - rel_line; + if (!lines_left) + break; + fprintf (file, "\n%*c | ", 4, ' '); + fprintf (file, "(... %" +# 167 "src/diagnostics.c" 3 4 + "l" "u" +# 167 "src/diagnostics.c" + " lines)", + lines_left); + break; + } + fprintf (file, "\n%*" +# 171 "src/diagnostics.c" 3 4 + "l" "u" +# 171 "src/diagnostics.c" + " | ", 4, ++line_no); + continue; + } + cfprintf (file, diagn_enum_ansi_code (diagn->type), + "%c", current); + } + fprintf (file, "\n"); +} + +uint64_t +diagn_flush (diagn_t self, + fptr_t file) +{ + uint64_t nr_errors = 0, + nr_warnings = 0, + nr_notes = 0; + struct diagnostic* diagn; for (size_t i = 0; i < array_length (self->diagns) && (diagn = array_get (self->diagns, i)); ++i) + { + nr_errors += diagn->type == DiagnosticError; + nr_warnings += diagn->type == DiagnosticWarning; + nr_notes += diagn->type == DiagnosticNote; + diagn_flush_single (self, file, diagn); + } + fprintf (( +# 194 "src/diagnostics.c" 3 4 + stdout +# 194 "src/diagnostics.c" + ), "\033[1;" "37m" "%s:%" +# 194 "src/diagnostics.c" 3 4 + "u" +# 194 "src/diagnostics.c" + "\033[0m" ": " "\033[0;" "34m" "log: " "\033[0m" "Dumped %" +# 194 "src/diagnostics.c" 3 4 + "l" "u" +# 194 "src/diagnostics.c" + " error(s), %" +# 194 "src/diagnostics.c" 3 4 + "l" "u" +# 194 "src/diagnostics.c" + " warning(s), and %" +# 194 "src/diagnostics.c" 3 4 + "l" "u" +# 194 "src/diagnostics.c" + " note(s)" "\n", "src/diagnostics.c", 194, nr_errors, nr_warnings, nr_notes) + ; + return nr_errors; +} + +static void +diagn_free_impl (struct diagnostic* diagn) +{ + fprintf (( +# 202 "src/diagnostics.c" 3 4 + stdout +# 202 "src/diagnostics.c" + ), "\033[1;" "37m" "%s:%" +# 202 "src/diagnostics.c" 3 4 + "u" +# 202 "src/diagnostics.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "\tfreeing diagnostic: %p" "\n", "src/diagnostics.c", 202, ((void *)((uintptr_t)diagn & 0xFFFFFFFF))); + __chk_free_impl (__func__, diagn->msg); + __chk_free_impl (__func__, diagn); +} + +void +diagn_free (diagn_t self) +{ + fprintf (( +# 210 "src/diagnostics.c" 3 4 + stdout +# 210 "src/diagnostics.c" + ), "\033[1;" "37m" "%s:%" +# 210 "src/diagnostics.c" 3 4 + "u" +# 210 "src/diagnostics.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "freeing %zu diagnostics: %p" "\n", "src/diagnostics.c", 210, array_length (self->diagns), ((void *)((uintptr_t)self & 0xFFFFFFFF))) + ; + array_free_cb (self->diagns, diagn_free_impl); + __chk_free_impl (__func__, self); +} diff --git a/build/diagnostics.o b/build/diagnostics.o new file mode 100644 index 0000000..7d28c5d Binary files /dev/null and b/build/diagnostics.o differ diff --git a/build/diagnostics.s b/build/diagnostics.s new file mode 100644 index 0000000..59c791f --- /dev/null +++ b/build/diagnostics.s @@ -0,0 +1,13078 @@ + .file "diagnostics.c" + .text +.Ltext0: + .file 0 "/home/unazed/Programming/c/ucc-0.2.0" "src/diagnostics.c" + .section .rodata + .align 32 +.LC0: + .string "\033[1;36mnote:\033[0m" + .zero 47 + .align 32 +.LC1: + .string "\033[1;36mwarning:\033[0m" + .zero 44 + .align 32 +.LC2: + .string "\033[1;31merror:\033[0m" + .zero 46 + .text + .type diagn_enum_to_string, @function +diagn_enum_to_string: +.LASANPC59: +.LVL0: +.LFB59: + .file 1 "src/diagnostics.c" + .loc 1 95 1 view -0 + .cfi_startproc + .loc 1 95 1 is_stmt 0 view .LVU1 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 +1: call *mcount@GOTPCREL(%rip) + .loc 1 96 3 is_stmt 1 view .LVU2 + cmpl $1, %edi + je .L3 + cmpl $2, %edi + jne .L6 + leaq .LC0(%rip), %rax +.L1: + .loc 1 107 1 is_stmt 0 view .LVU3 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.L6: + .cfi_restore_state + .loc 1 96 3 view .LVU4 + testl %edi, %edi + jne .L7 + .loc 1 101 14 view .LVU5 + leaq .LC1(%rip), %rax + jmp .L1 +.L7: + .loc 1 105 7 is_stmt 1 view .LVU6 + call __asan_handle_no_return@PLT +.LVL1: + .loc 1 105 7 is_stmt 0 view .LVU7 + leaq .Lubsan_data10(%rip), %rdi + call __ubsan_handle_builtin_unreachable@PLT +.LVL2: +.L3: + .loc 1 103 14 view .LVU8 + leaq .LC2(%rip), %rax + jmp .L1 + .cfi_endproc +.LFE59: + .size diagn_enum_to_string, .-diagn_enum_to_string + .section .rodata + .align 32 +.LC3: + .string "\033[1;36m" + .zero 56 + .align 32 +.LC4: + .string "\033[1;31m" + .zero 56 + .text + .type diagn_enum_ansi_code, @function +diagn_enum_ansi_code: +.LASANPC58: +.LVL3: +.LFB58: + .loc 1 79 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 79 1 is_stmt 0 view .LVU10 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 +1: call *mcount@GOTPCREL(%rip) + .loc 1 80 3 is_stmt 1 view .LVU11 + cmpl $1, %edi + je .L10 + cmpl $2, %edi + je .L11 + testl %edi, %edi + jne .L13 + leaq .LC3(%rip), %rax + jmp .L8 +.L13: + .loc 1 89 7 view .LVU12 + call __asan_handle_no_return@PLT +.LVL4: + .loc 1 89 7 is_stmt 0 view .LVU13 + leaq .Lubsan_data9(%rip), %rdi + call __ubsan_handle_builtin_unreachable@PLT +.LVL5: +.L10: + .loc 1 87 14 view .LVU14 + leaq .LC4(%rip), %rax + jmp .L8 +.L11: + .loc 1 80 3 view .LVU15 + leaq .LC3(%rip), %rax +.L8: + .loc 1 91 1 view .LVU16 + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE58: + .size diagn_enum_ansi_code, .-diagn_enum_ansi_code + .type diagn_lineno, @function +diagn_lineno: +.LASANPC61: +.LVL6: +.LFB61: + .loc 1 130 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 130 1 is_stmt 0 view .LVU18 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %r12 + movq %rsi, %r14 + .loc 1 131 3 is_stmt 1 view .LVU19 +.LVL7: + .loc 1 132 3 view .LVU20 +.LBB34: + .loc 1 132 8 view .LVU21 + .loc 1 132 15 is_stmt 0 view .LVU22 + movl $0, %ebx +.LBE34: + .loc 1 131 12 view .LVU23 + movl $1, %r15d +.LBB35: + .loc 1 132 3 view .LVU24 + jmp .L15 +.LVL8: +.L16: + .loc 1 133 14 view .LVU25 + cmpq %rdx, %r12 + jb .L18 +.L17: + .loc 1 133 14 view .LVU26 + movq %r12, %r13 + addq %rbx, %r13 + je .L23 +.L19: + .loc 1 133 14 view .LVU27 + addq $1, %rbx +.LVL9: + .loc 1 133 14 view .LVU28 + movq %r13, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %eax + movq %r13, %rdx + andl $7, %edx + cmpb %dl, %al + jg .L20 + testb %al, %al + jne .L24 +.L20: + .loc 1 133 8 view .LVU29 + cmpb $10, 0(%r13) + je .L25 +.LVL10: +.L15: + .loc 1 132 24 is_stmt 1 discriminator 1 view .LVU30 + cmpq %r14, %rbx + jnb .L26 + .loc 1 133 5 view .LVU31 + .loc 1 133 14 is_stmt 0 view .LVU32 + leaq (%r12,%rbx), %rdx + testq %rbx, %rbx + js .L16 + cmpq %r12, %rdx + jnb .L17 +.L18: + movq %r12, %rsi + leaq .Lubsan_data49(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL11: + jmp .L17 +.L23: + .loc 1 133 14 view .LVU33 + movl $0, %esi + leaq .Lubsan_data50(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL12: + jmp .L19 +.LVL13: +.L24: + .loc 1 133 14 view .LVU34 + movq %r13, %rdi + call __asan_report_load1@PLT +.LVL14: +.L25: + .loc 1 134 7 is_stmt 1 view .LVU35 + .loc 1 134 14 is_stmt 0 view .LVU36 + addq $1, %r15 +.LVL15: + .loc 1 134 14 view .LVU37 + jmp .L15 +.LVL16: +.L26: + .loc 1 134 14 view .LVU38 +.LBE35: + .loc 1 135 3 is_stmt 1 view .LVU39 + .loc 1 136 1 is_stmt 0 view .LVU40 + movq %r15, %rax + addq $8, %rsp + popq %rbx +.LVL17: + .loc 1 136 1 view .LVU41 + popq %r12 +.LVL18: + .loc 1 136 1 view .LVU42 + popq %r13 + popq %r14 +.LVL19: + .loc 1 136 1 view .LVU43 + popq %r15 +.LVL20: + .loc 1 136 1 view .LVU44 + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE61: + .size diagn_lineno, .-diagn_lineno + .section .rodata + .align 32 +.LC5: + .string "multichar" + .zero 54 + .align 32 +.LC6: + .string "0" + .zero 62 + .align 32 +.LC7: + .string "src/diagnostics.c" + .zero 46 + .align 32 +.LC8: + .string "\033[1;37m%s:%u\033[0m: \033[1;31merror: \033[0m\033[1;37mAssertion failed: \033[0m%s\n" + .zero 59 + .align 32 +.LC9: + .string "\033[1;37m%s:%u\033[0m: \033[1;31merror: \033[0mUnknown warning name \"%s\", maybe you spelled it wrong?\n" + .zero 36 + .text + .type diagn_is_warn_enabled, @function +diagn_is_warn_enabled: +.LASANPC56: +.LVL21: +.LFB56: + .loc 1 46 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 46 1 is_stmt 0 view .LVU46 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r12 + pushq %rbx + .cfi_offset 12, -24 + .cfi_offset 3, -32 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + movq %rsi, %r12 + .loc 1 47 3 is_stmt 1 view .LVU47 + .loc 1 47 8 is_stmt 0 view .LVU48 + testq %rsi, %rsi + je .L42 +.LVL22: +.L28: + .loc 1 47 8 view .LVU49 + leaq .LC5(%rip), %rsi + movq %r12, %rdi + call strcmp@PLT +.LVL23: + .loc 1 47 6 discriminator 1 view .LVU50 + testl %eax, %eax + jne .L29 + .loc 1 48 5 is_stmt 1 view .LVU51 + .loc 1 48 16 is_stmt 0 view .LVU52 + testq %rbx, %rbx + je .L30 + testb $7, %bl + jne .L30 +.L31: + leaq 16(%rbx), %rdx + cmpq $-16, %rbx + jnb .L43 +.L32: + leaq 16(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L44 + movq 16(%rbx), %rbx +.LVL24: + .loc 1 48 39 view .LVU53 + testq %rbx, %rbx + je .L34 + testb $7, %bl + jne .L34 +.LVL25: +.L35: + .loc 1 48 39 view .LVU54 + movq %rbx, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %eax + testb %al, %al + je .L36 + jle .L45 +.L36: + movzbl (%rbx), %eax + andl $1, %eax + .loc 1 51 1 view .LVU55 + popq %rbx + popq %r12 +.LVL26: + .loc 1 51 1 view .LVU56 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL27: +.L42: + .cfi_restore_state + .loc 1 47 8 view .LVU57 + leaq .Lubsan_data13(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL28: + .loc 1 47 8 view .LVU58 + jmp .L28 +.L30: + .loc 1 48 16 view .LVU59 + movq %rbx, %rsi + leaq .Lubsan_data51(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL29: + jmp .L31 +.L43: + .loc 1 48 16 view .LVU60 + movq %rbx, %rsi + leaq .Lubsan_data52(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL30: + jmp .L32 +.L44: + .loc 1 48 16 view .LVU61 + call __asan_report_load8@PLT +.LVL31: +.L34: + .loc 1 48 39 view .LVU62 + movq %rbx, %rsi + leaq .Lubsan_data53(%rip), %rdi +.LVL32: + .loc 1 48 39 view .LVU63 + call __ubsan_handle_type_mismatch_v1@PLT +.LVL33: + jmp .L35 +.L45: + movq %rbx, %rdi + call __asan_report_load1@PLT +.LVL34: +.L29: + .loc 1 49 3 is_stmt 1 view .LVU64 + .loc 1 49 15 discriminator 1 view .LVU65 + leaq stderr(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L46 + movq stderr(%rip), %rbx +.LVL35: + .loc 1 49 15 is_stmt 0 discriminator 1 view .LVU66 + testq %rbx, %rbx + je .L47 +.L38: +.LVL36: +.LBB36: +.LBI36: + .file 2 "/usr/include/bits/stdio2.h" + .loc 2 77 1 is_stmt 1 view .LVU67 +.LBB37: + .loc 2 79 3 view .LVU68 + .loc 2 79 10 is_stmt 0 view .LVU69 + leaq .LC6(%rip), %r9 + movl $49, %r8d + leaq .LC7(%rip), %rcx + leaq .LC8(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL37: + .loc 2 79 10 view .LVU70 +.LBE37: +.LBE36: + .loc 1 49 144 is_stmt 1 discriminator 1 view .LVU71 + leaq stderr(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L48 + movq stderr(%rip), %rbx + testq %rbx, %rbx + je .L49 +.L40: +.LVL38: +.LBB38: +.LBI38: + .loc 2 77 1 view .LVU72 +.LBB39: + .loc 2 79 3 view .LVU73 + .loc 2 79 10 is_stmt 0 view .LVU74 + movq %r12, %r9 + movl $49, %r8d + leaq .LC7(%rip), %rcx + leaq .LC9(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL39: + .loc 2 79 10 view .LVU75 +.LBE39: +.LBE38: + .loc 1 49 155 is_stmt 1 discriminator 2 view .LVU76 + call __asan_handle_no_return@PLT +.LVL40: + movl $1, %edi + call exit@PLT +.LVL41: +.L46: + .loc 1 49 15 is_stmt 0 discriminator 1 view .LVU77 + call __asan_report_load8@PLT +.LVL42: +.L47: + .loc 1 49 15 discriminator 1 view .LVU78 + leaq .Lubsan_data15(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL43: + jmp .L38 +.L48: + .loc 1 49 144 discriminator 1 view .LVU79 + call __asan_report_load8@PLT +.LVL44: +.L49: + leaq .Lubsan_data17(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL45: + jmp .L40 + .cfi_endproc +.LFE56: + .size diagn_is_warn_enabled, .-diagn_is_warn_enabled + .type diagn_line_start_offset, @function +diagn_line_start_offset: +.LASANPC60: +.LVL46: +.LFB60: + .loc 1 111 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 111 1 is_stmt 0 view .LVU81 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %r12 + movq %rsi, %r15 + .loc 1 112 3 is_stmt 1 view .LVU82 +.LVL47: + .loc 1 113 3 view .LVU83 +.LBB40: + .loc 1 113 8 view .LVU84 + .loc 1 113 15 is_stmt 0 view .LVU85 + movl $0, %r14d +.LBE40: + .loc 1 112 12 view .LVU86 + movl $0, %r13d +.LBB43: + .loc 1 113 3 view .LVU87 + jmp .L51 +.LVL48: +.L52: +.LBB41: + .loc 1 115 28 view .LVU88 + cmpq %rdx, %r12 + jb .L54 +.L53: + .loc 1 115 13 view .LVU89 + addq %r12, %rbx + je .L75 +.L55: + movq %rbx, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %eax + movq %rbx, %rdx + andl $7, %edx + cmpb %dl, %al + jg .L56 + testb %al, %al + jne .L76 +.L56: +.LVL49: + .loc 1 116 5 is_stmt 1 view .LVU90 + .loc 1 116 8 is_stmt 0 view .LVU91 + cmpb $10, (%rbx) + je .L59 + .loc 1 118 5 is_stmt 1 view .LVU92 + .loc 1 118 11 is_stmt 0 view .LVU93 + addq $1, %r13 +.LVL50: + .loc 1 118 11 view .LVU94 +.LBE41: + .loc 1 113 39 is_stmt 1 discriminator 2 view .LVU95 + addq $1, %r14 +.LVL51: +.L51: + .loc 1 113 24 discriminator 1 view .LVU96 + cmpq %r15, %r14 + jnb .L59 +.LBB42: + .loc 1 115 5 view .LVU97 + .loc 1 115 28 is_stmt 0 view .LVU98 + movq %r12, %rdx + subq %r14, %rdx + movq %r14, %rbx + negq %rbx + js .L52 + cmpq %r12, %rdx + jnb .L53 +.L54: + movq %r12, %rsi + leaq .Lubsan_data54(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL52: + jmp .L53 +.L75: + .loc 1 115 13 view .LVU99 + movl $0, %esi + leaq .Lubsan_data55(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL53: + jmp .L55 +.L76: + movq %rbx, %rdi + call __asan_report_load1@PLT +.LVL54: +.L60: + .loc 1 115 13 view .LVU100 +.LBE42: +.LBE43: + .loc 1 122 11 discriminator 1 view .LVU101 + movq %rbx, %rsi + leaq .Lubsan_data56(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL55: + jmp .L61 +.L82: + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL56: +.L63: + .loc 1 122 17 discriminator 1 view .LVU102 + cmpq %rdx, %r12 + jb .L65 +.L64: + .loc 1 122 9 discriminator 1 view .LVU103 + addq %r12, %rbx + je .L77 +.L66: + movq %rbx, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %eax + movq %rbx, %rdx + andl $7, %edx + cmpb %dl, %al + jg .L67 + testb %al, %al + jne .L78 +.L67: + .loc 1 122 30 discriminator 1 view .LVU104 + movzbl (%rbx), %ebx + .loc 1 122 29 discriminator 1 view .LVU105 + addq %rbx, %rbx + leaq (%r14,%rbx), %rdx + cmpq %r14, %rdx + jb .L79 +.L69: + addq %r14, %rbx + je .L71 + testb $1, %bl + jne .L71 +.L72: + movq %rbx, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %edx + movq %rbx, %rax + andl $7, %eax + addl $1, %eax + cmpb %dl, %al + jl .L73 + testb %dl, %dl + jne .L80 +.L73: + movzwl (%rbx), %eax + .loc 1 122 9 discriminator 1 view .LVU106 + testb $32, %ah + je .L81 + .loc 1 123 5 is_stmt 1 view .LVU107 + .loc 1 123 11 is_stmt 0 view .LVU108 + subq $1, %r13 +.LVL57: +.L59: + .loc 1 122 9 is_stmt 1 view .LVU109 + .loc 1 122 12 is_stmt 0 view .LVU110 + call __ctype_b_loc@PLT +.LVL58: + movq %rax, %rbx + .loc 1 122 11 discriminator 1 view .LVU111 + testq %rax, %rax + je .L60 + .loc 1 122 11 discriminator 1 view .LVU112 + testb $7, %al + jne .L60 +.L61: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L82 + movq (%rbx), %r14 + .loc 1 122 17 discriminator 1 view .LVU113 + movq %r12, %rdx + subq %r13, %rdx + movq %r13, %rbx + negq %rbx + js .L63 + cmpq %r12, %rdx + jnb .L64 +.L65: + movq %r12, %rsi + leaq .Lubsan_data57(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL59: + jmp .L64 +.L77: + .loc 1 122 9 discriminator 1 view .LVU114 + movl $0, %esi + leaq .Lubsan_data58(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL60: + jmp .L66 +.L78: + movq %rbx, %rdi + call __asan_report_load1@PLT +.LVL61: +.L79: + .loc 1 122 29 discriminator 1 view .LVU115 + movq %r14, %rsi + leaq .Lubsan_data59(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL62: + jmp .L69 +.L71: + movq %rbx, %rsi + leaq .Lubsan_data60(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL63: + jmp .L72 +.L80: + movq %rbx, %rdi + call __asan_report_load2@PLT +.LVL64: +.L81: + .loc 1 125 3 is_stmt 1 view .LVU116 + .loc 1 126 1 is_stmt 0 view .LVU117 + movq %r13, %rax + addq $8, %rsp + popq %rbx + popq %r12 +.LVL65: + .loc 1 126 1 view .LVU118 + popq %r13 +.LVL66: + .loc 1 126 1 view .LVU119 + popq %r14 + popq %r15 +.LVL67: + .loc 1 126 1 view .LVU120 + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE60: + .size diagn_line_start_offset, .-diagn_line_start_offset + .section .rodata + .align 32 +.LC10: + .string "%s:%lu:%lu: %s %s\n" + .zero 45 + .align 32 +.LC11: + .string "%*lu | %.*s" + .zero 51 + .align 32 +.LC12: + .string "\n%*c | " + .zero 55 + .align 32 +.LC13: + .string "(... %lu lines)" + .zero 48 + .align 32 +.LC14: + .string "\n%*lu | " + .zero 54 + .align 32 +.LC15: + .string "%c" + .zero 61 + .text + .type diagn_flush_single, @function +diagn_flush_single: +.LASANPC62: +.LVL68: +.LFB62: + .loc 1 140 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 140 1 is_stmt 0 view .LVU122 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $40, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %r13 + movq %rsi, -56(%rbp) + movq %rdx, %rbx + .loc 1 141 3 is_stmt 1 view .LVU123 + .loc 1 141 30 is_stmt 0 view .LVU124 + testq %rdi, %rdi + je .L84 + testb $7, %dil + jne .L84 +.LVL69: +.L85: + .loc 1 141 30 view .LVU125 + movq %r13, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L165 + movq 0(%r13), %r12 + .loc 1 141 48 view .LVU126 + testq %rbx, %rbx + je .L87 + testb $7, %bl + jne .L87 +.L88: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L166 + movq (%rbx), %r14 + .loc 1 141 56 view .LVU127 + testq %r14, %r14 + je .L90 + testb $7, %r14b + jne .L90 +.L91: + leaq 8(%r14), %rdx + cmpq $-8, %r14 + jnb .L167 +.L92: + leaq 8(%r14), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L168 + movq 8(%r14), %r15 + .loc 1 141 12 view .LVU128 + leaq (%r12,%r15), %rdx + testq %r15, %r15 + js .L94 + cmpq %r12, %rdx + jnb .L95 +.L96: + movq %r12, %rsi + leaq .Lubsan_data65(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL70: + jmp .L95 +.LVL71: +.L84: + .loc 1 141 30 view .LVU129 + movq %r13, %rsi +.LVL72: + .loc 1 141 30 view .LVU130 + leaq .Lubsan_data61(%rip), %rdi +.LVL73: + .loc 1 141 30 view .LVU131 + call __ubsan_handle_type_mismatch_v1@PLT +.LVL74: + .loc 1 141 30 view .LVU132 + jmp .L85 +.L165: + .loc 1 141 30 view .LVU133 + movq %r13, %rdi + call __asan_report_load8@PLT +.LVL75: +.L87: + .loc 1 141 48 view .LVU134 + movq %rbx, %rsi + leaq .Lubsan_data62(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL76: + jmp .L88 +.L166: + .loc 1 141 48 view .LVU135 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL77: +.L90: + .loc 1 141 56 view .LVU136 + movq %r14, %rsi + leaq .Lubsan_data63(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL78: + jmp .L91 +.L167: + movq %r14, %rsi + leaq .Lubsan_data64(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL79: + jmp .L92 +.L168: + call __asan_report_load8@PLT +.LVL80: +.L94: + .loc 1 141 12 view .LVU137 + cmpq %rdx, %r12 + jb .L96 +.L95: + addq %r15, %r12 +.LVL81: + .loc 1 142 17 is_stmt 1 view .LVU138 + .loc 1 143 22 is_stmt 0 view .LVU139 + testq %rbx, %rbx + je .L97 + testb $7, %bl + jne .L97 +.L98: + .loc 1 142 49 view .LVU140 + testq %r14, %r14 + je .L99 + testb $7, %r14b + jne .L99 +.L100: + movq %r15, %rsi + movq %r12, %rdi + call diagn_line_start_offset +.LVL82: + movq %rax, %r15 +.LVL83: + .loc 1 144 17 is_stmt 1 view .LVU141 + .loc 1 144 76 is_stmt 0 view .LVU142 + testq %rbx, %rbx + je .L101 + testb $7, %bl + jne .L101 +.LVL84: +.L102: + .loc 1 144 76 view .LVU143 + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L169 + movq (%rbx), %r14 + .loc 1 144 39 view .LVU144 + testq %r14, %r14 + je .L104 + testb $7, %r14b + jne .L104 +.L105: + leaq 8(%r14), %rdx + cmpq $-8, %r14 + jnb .L170 +.L106: + leaq 8(%r14), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L171 + movq 8(%r14), %r14 + .loc 1 144 57 view .LVU145 + testq %r13, %r13 + je .L108 + testb $7, %r13b + jne .L108 +.L109: + movq %r13, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L172 + movq 0(%r13), %rdi + .loc 1 144 39 view .LVU146 + movq %r14, %rsi + call diagn_lineno +.LVL85: + movq %rax, -80(%rbp) +.LVL86: + .loc 1 146 3 is_stmt 1 view .LVU147 + testq %rbx, %rbx + je .L111 + testb $7, %bl + jne .L111 +.LVL87: +.L112: + .loc 1 146 3 is_stmt 0 view .LVU148 + leaq 16(%rbx), %rdx + cmpq $-16, %rbx + jnb .L173 +.L113: + leaq 16(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L174 + movq 16(%rbx), %r14 + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %eax + testb %al, %al + je .L115 + cmpb $3, %al + jle .L175 +.L115: + movl 8(%rbx), %edi + call diagn_enum_to_string +.LVL88: + movq %rax, -64(%rbp) + .loc 1 146 3 discriminator 1 view .LVU149 + testq %r13, %r13 + je .L116 + testb $7, %r13b + jne .L116 +.L117: + leaq 24(%r13), %rdx + cmpq $-24, %r13 + jnb .L176 +.L118: + leaq 24(%r13), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L177 + movq 24(%r13), %r13 +.LVL89: + .loc 1 146 3 discriminator 1 view .LVU150 + cmpq $0, -56(%rbp) + je .L178 +.LVL90: +.L120: +.LBB44: +.LBI44: + .loc 2 77 1 is_stmt 1 view .LVU151 +.LBB45: + .loc 2 79 3 view .LVU152 + .loc 2 79 10 is_stmt 0 view .LVU153 + pushq %r14 + pushq -64(%rbp) + movq %r15, %r9 + movq -80(%rbp), %r8 + movq %r13, %rcx + leaq .LC10(%rip), %rdx + movl $2, %esi + movq -56(%rbp), %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL91: + .loc 2 79 10 view .LVU154 +.LBE45: +.LBE44: + .loc 1 149 17 is_stmt 1 view .LVU155 + .loc 1 149 43 is_stmt 0 view .LVU156 + addq $16, %rsp + testq %rbx, %rbx + je .L121 + testb $7, %bl + jne .L121 +.L122: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L179 + movq (%rbx), %rsi + .loc 1 149 29 view .LVU157 + testq %rsi, %rsi + je .L124 + testb $7, %sil + jne .L124 +.L125: +.LVL92: + .loc 1 150 3 is_stmt 1 view .LVU158 + movq %r12, %rdx + subq %r15, %rdx + movq %r15, %r13 + negq %r13 + js .L126 + cmpq %r12, %rdx + jnb .L127 +.L128: + movq %r12, %rsi + leaq .Lubsan_data78(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL93: + .loc 1 150 3 is_stmt 0 view .LVU159 + jmp .L127 +.LVL94: +.L97: + .loc 1 143 22 view .LVU160 + movq %rbx, %rsi + leaq .Lubsan_data66(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL95: + jmp .L98 +.L99: + .loc 1 142 49 view .LVU161 + movq %r14, %rsi + leaq .Lubsan_data67(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL96: + jmp .L100 +.LVL97: +.L101: + .loc 1 144 76 view .LVU162 + movq %rbx, %rsi + leaq .Lubsan_data68(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL98: + .loc 1 144 76 view .LVU163 + jmp .L102 +.L169: + .loc 1 144 76 view .LVU164 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL99: +.L104: + .loc 1 144 39 view .LVU165 + movq %r14, %rsi + leaq .Lubsan_data69(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL100: + jmp .L105 +.L170: + movq %r14, %rsi + leaq .Lubsan_data70(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL101: + jmp .L106 +.L171: + call __asan_report_load8@PLT +.LVL102: +.L108: + .loc 1 144 57 view .LVU166 + movq %r13, %rsi + leaq .Lubsan_data71(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL103: + jmp .L109 +.L172: + .loc 1 144 57 view .LVU167 + movq %r13, %rdi + call __asan_report_load8@PLT +.LVL104: +.L111: + .loc 1 146 3 view .LVU168 + movq %rbx, %rsi + leaq .Lubsan_data72(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL105: + .loc 1 146 3 view .LVU169 + jmp .L112 +.L173: + .loc 1 146 3 view .LVU170 + movq %rbx, %rsi + leaq .Lubsan_data73(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL106: + jmp .L113 +.L174: + .loc 1 146 3 view .LVU171 + call __asan_report_load8@PLT +.LVL107: +.L175: + call __asan_report_load4@PLT +.LVL108: +.L116: + .loc 1 146 3 discriminator 1 view .LVU172 + movq %r13, %rsi + leaq .Lubsan_data74(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL109: + jmp .L117 +.L176: + .loc 1 146 3 discriminator 1 view .LVU173 + movq %r13, %rsi + leaq .Lubsan_data75(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL110: + jmp .L118 +.L177: + .loc 1 146 3 discriminator 1 view .LVU174 + call __asan_report_load8@PLT +.LVL111: +.L178: + .loc 1 146 3 discriminator 1 view .LVU175 + leaq .Lubsan_data19(%rip), %rdi +.LVL112: + .loc 1 146 3 discriminator 1 view .LVU176 + call __ubsan_handle_nonnull_arg@PLT +.LVL113: + jmp .L120 +.L121: + .loc 1 149 43 view .LVU177 + movq %rbx, %rsi + leaq .Lubsan_data76(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL114: + jmp .L122 +.L179: + .loc 1 149 43 view .LVU178 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL115: +.L124: + .loc 1 149 29 view .LVU179 + leaq .Lubsan_data77(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL116: + jmp .L125 +.LVL117: +.L126: + .loc 1 150 3 view .LVU180 + cmpq %rdx, %r12 + jb .L128 +.L127: + .loc 1 150 3 view .LVU181 + addq %r12, %r13 + cmpq $0, -56(%rbp) + je .L180 +.L129: +.LVL118: +.LBB46: +.LBI46: + .loc 2 77 1 is_stmt 1 view .LVU182 +.LBB47: + .loc 2 79 3 view .LVU183 + .loc 2 79 10 is_stmt 0 view .LVU184 + subq $8, %rsp + pushq %r13 + movl %r15d, %r9d + movq -80(%rbp), %r8 + movl $4, %ecx + leaq .LC11(%rip), %rdx + movl $2, %esi + movq -56(%rbp), %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL119: + .loc 2 79 10 view .LVU185 +.LBE47: +.LBE46: + .loc 1 154 3 is_stmt 1 view .LVU186 + .loc 1 155 3 view .LVU187 +.LBB48: + .loc 1 155 8 view .LVU188 + .loc 1 155 3 is_stmt 0 view .LVU189 + addq $16, %rsp + .loc 1 155 15 view .LVU190 + movl $0, %r13d +.LBE48: + .loc 1 154 12 view .LVU191 + movq $1, -64(%rbp) +.LBB60: + .loc 1 155 3 view .LVU192 + jmp .L130 +.LVL120: +.L180: + .loc 1 155 3 view .LVU193 +.LBE60: + .loc 1 150 3 view .LVU194 + leaq .Lubsan_data21(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL121: + jmp .L129 +.LVL122: +.L131: +.LBB61: +.LBB49: + .loc 1 157 33 view .LVU195 + cmpq %rdx, %r12 + jb .L133 +.L132: + .loc 1 157 13 view .LVU196 + movq %r12, %r15 + addq %r13, %r15 + je .L181 +.L134: + .loc 1 157 13 view .LVU197 + movq %r15, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %eax + movq %r15, %rdx + andl $7, %edx + cmpb %dl, %al + jg .L135 + testb %al, %al + jne .L182 +.L135: + movzbl (%r15), %eax +.LVL123: + .loc 1 158 5 is_stmt 1 view .LVU198 + .loc 1 158 8 is_stmt 0 view .LVU199 + cmpb $10, %al + je .L183 + .loc 1 174 5 is_stmt 1 view .LVU200 + movzbl %al, %r14d + testq %rbx, %rbx + je .L153 + testb $7, %bl + jne .L153 +.LVL124: +.L154: + .loc 1 174 5 is_stmt 0 view .LVU201 + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %eax + testb %al, %al + je .L155 + cmpb $3, %al + jle .L184 +.L155: + movl 8(%rbx), %edi + call diagn_enum_ansi_code +.LVL125: + movq %rax, %r15 + .loc 1 174 5 discriminator 1 view .LVU202 + cmpq $0, -56(%rbp) + je .L185 +.L156: + movl %r14d, %ecx + leaq .LC15(%rip), %rdx + movq %r15, %rsi + movq -56(%rbp), %rdi + movl $0, %eax + call cfprintf@PLT +.LVL126: +.L152: + .loc 1 174 5 discriminator 1 view .LVU203 +.LBE49: + .loc 1 155 49 is_stmt 1 discriminator 2 view .LVU204 + addq $1, %r13 +.LVL127: +.L130: + .loc 1 155 24 discriminator 1 view .LVU205 + .loc 1 155 31 is_stmt 0 discriminator 1 view .LVU206 + testq %rbx, %rbx + je .L157 + testb $7, %bl + jne .L157 +.L158: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L186 + movq (%rbx), %r14 + .loc 1 155 39 discriminator 1 view .LVU207 + testq %r14, %r14 + je .L160 + testb $7, %r14b + jne .L160 +.L161: + movq %r14, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L187 + movq (%r14), %rax + movq %rax, -72(%rbp) + .loc 1 155 24 discriminator 1 view .LVU208 + cmpq %rax, %r13 + jnb .L148 +.LBB58: + .loc 1 157 5 is_stmt 1 view .LVU209 + .loc 1 157 33 is_stmt 0 view .LVU210 + leaq (%r12,%r13), %rdx + testq %r13, %r13 + js .L131 + cmpq %r12, %rdx + jnb .L132 +.L133: + movq %r12, %rsi + leaq .Lubsan_data79(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL128: + jmp .L132 +.L181: + .loc 1 157 13 view .LVU211 + movl $0, %esi + leaq .Lubsan_data80(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL129: + jmp .L134 +.L182: + .loc 1 157 13 view .LVU212 + movq %r15, %rdi + call __asan_report_load1@PLT +.LVL130: +.L183: + .loc 1 160 7 is_stmt 1 view .LVU213 + .loc 1 160 10 is_stmt 0 view .LVU214 + addq $1, -64(%rbp) +.LVL131: + .loc 1 160 10 view .LVU215 + movq -64(%rbp), %rax +.LVL132: + .loc 1 160 10 view .LVU216 + cmpq $3, %rax + jbe .L137 +.LBB50: + .loc 1 162 23 is_stmt 1 view .LVU217 + .loc 1 162 79 is_stmt 0 view .LVU218 + testq %rbx, %rbx + je .L138 + testb $7, %bl + jne .L138 +.LVL133: +.L139: + .loc 1 162 87 view .LVU219 + testq %r14, %r14 + je .L140 + testb $7, %r14b + jne .L140 +.L141: + leaq 8(%r14), %rdx + cmpq $-8, %r14 + jnb .L188 +.L142: + leaq 8(%r14), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L189 + movq 8(%r14), %r13 +.LVL134: + .loc 1 162 108 view .LVU220 + testq %rbx, %rbx + je .L144 + testb $7, %bl + jne .L144 +.L145: + .loc 1 162 116 view .LVU221 + testq %r14, %r14 + je .L146 + testb $7, %r14b + jne .L146 +.L147: + .loc 1 162 48 view .LVU222 + movq -72(%rbp), %rsi + addq %r13, %rsi + movq %r12, %rdi + call diagn_lineno +.LVL135: + .loc 1 164 9 is_stmt 1 view .LVU223 + .loc 1 164 12 is_stmt 0 view .LVU224 + movq -64(%rbp), %rcx + subq %rcx, %rax +.LVL136: + .loc 1 164 12 view .LVU225 + movq %rax, %rbx +.LVL137: + .loc 1 164 12 view .LVU226 + je .L148 + .loc 1 166 9 is_stmt 1 view .LVU227 + cmpq $0, -56(%rbp) + je .L190 +.LVL138: +.L149: +.LBB51: +.LBI51: + .loc 2 77 1 view .LVU228 +.LBB52: + .loc 2 79 3 view .LVU229 + .loc 2 79 10 is_stmt 0 view .LVU230 + movl $32, %r8d + movl $4, %ecx + leaq .LC12(%rip), %rdx + movl $2, %esi + movq -56(%rbp), %r15 + movq %r15, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL139: + .loc 2 79 10 view .LVU231 +.LBE52: +.LBE51: + .loc 1 167 9 is_stmt 1 view .LVU232 + testq %r15, %r15 + je .L191 +.L150: +.LVL140: +.LBB53: +.LBI53: + .loc 2 77 1 view .LVU233 +.LBB54: + .loc 2 79 3 view .LVU234 + .loc 2 79 10 is_stmt 0 view .LVU235 + movq %rbx, %rcx + leaq .LC13(%rip), %rdx + movl $2, %esi + movq -56(%rbp), %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL141: + .loc 2 79 10 view .LVU236 +.LBE54: +.LBE53: + .loc 1 169 9 is_stmt 1 view .LVU237 +.L148: + .loc 1 169 9 is_stmt 0 view .LVU238 +.LBE50: +.LBE58: +.LBE61: + .loc 1 177 3 is_stmt 1 view .LVU239 + cmpq $0, -56(%rbp) + je .L192 +.L164: +.LVL142: +.LBB62: +.LBI62: + .loc 2 77 1 view .LVU240 +.LBB63: + .loc 2 79 3 view .LVU241 + .loc 2 79 10 is_stmt 0 view .LVU242 + movq -56(%rbp), %rsi + movl $10, %edi + call fputc@PLT +.LVL143: + .loc 2 79 10 view .LVU243 +.LBE63: +.LBE62: + .loc 1 178 1 view .LVU244 + leaq -40(%rbp), %rsp + popq %rbx + popq %r12 +.LVL144: + .loc 1 178 1 view .LVU245 + popq %r13 + popq %r14 + popq %r15 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 +.LVL145: + .loc 1 178 1 view .LVU246 + ret +.LVL146: +.L138: + .cfi_restore_state +.LBB64: +.LBB59: +.LBB55: + .loc 1 162 79 view .LVU247 + movq %rbx, %rsi + leaq .Lubsan_data81(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL147: + .loc 1 162 79 view .LVU248 + jmp .L139 +.L140: + .loc 1 162 87 view .LVU249 + movq %r14, %rsi + leaq .Lubsan_data82(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL148: + jmp .L141 +.L188: + movq %r14, %rsi + leaq .Lubsan_data83(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL149: + jmp .L142 +.L189: + call __asan_report_load8@PLT +.LVL150: +.L144: + .loc 1 162 108 view .LVU250 + movq %rbx, %rsi + leaq .Lubsan_data84(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL151: + jmp .L145 +.L146: + .loc 1 162 116 view .LVU251 + movq %r14, %rsi + leaq .Lubsan_data85(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL152: + jmp .L147 +.LVL153: +.L190: + .loc 1 166 9 view .LVU252 + leaq .Lubsan_data23(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL154: + .loc 1 166 9 view .LVU253 + jmp .L149 +.L191: + .loc 1 167 9 view .LVU254 + leaq .Lubsan_data25(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL155: + jmp .L150 +.LVL156: +.L137: + .loc 1 167 9 view .LVU255 +.LBE55: + .loc 1 171 7 is_stmt 1 view .LVU256 + addq $1, -80(%rbp) +.LVL157: + .loc 1 171 7 is_stmt 0 view .LVU257 + cmpq $0, -56(%rbp) + je .L193 +.LVL158: +.L151: +.LBB56: +.LBI56: + .loc 2 77 1 is_stmt 1 view .LVU258 +.LBB57: + .loc 2 79 3 view .LVU259 + .loc 2 79 10 is_stmt 0 view .LVU260 + movq -80(%rbp), %r8 + movl $4, %ecx + leaq .LC14(%rip), %rdx + movl $2, %esi + movq -56(%rbp), %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL159: + .loc 2 79 10 view .LVU261 +.LBE57: +.LBE56: + .loc 1 172 7 is_stmt 1 view .LVU262 + jmp .L152 +.LVL160: +.L193: + .loc 1 171 7 is_stmt 0 view .LVU263 + leaq .Lubsan_data27(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL161: + .loc 1 171 7 view .LVU264 + jmp .L151 +.LVL162: +.L153: + .loc 1 174 5 view .LVU265 + movq %rbx, %rsi + leaq .Lubsan_data86(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL163: + .loc 1 174 5 view .LVU266 + jmp .L154 +.L184: + .loc 1 174 5 view .LVU267 + call __asan_report_load4@PLT +.LVL164: +.L185: + .loc 1 174 5 discriminator 1 view .LVU268 + leaq .Lubsan_data29(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL165: + jmp .L156 +.LVL166: +.L157: + .loc 1 174 5 discriminator 1 view .LVU269 +.LBE59: + .loc 1 155 31 discriminator 1 view .LVU270 + movq %rbx, %rsi + leaq .Lubsan_data87(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL167: + jmp .L158 +.L186: + .loc 1 155 31 discriminator 1 view .LVU271 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL168: +.L160: + .loc 1 155 39 discriminator 1 view .LVU272 + movq %r14, %rsi + leaq .Lubsan_data88(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL169: + jmp .L161 +.L187: + movq %r14, %rdi + call __asan_report_load8@PLT +.LVL170: +.L192: + .loc 1 155 39 discriminator 1 view .LVU273 +.LBE64: + .loc 1 177 3 view .LVU274 + leaq .Lubsan_data30(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL171: + jmp .L164 + .cfi_endproc +.LFE62: + .size diagn_flush_single, .-diagn_flush_single + .section .rodata + .align 32 +.LC16: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0m\tfreeing diagnostic: %p\n" + .zero 32 + .text + .type diagn_free_impl, @function +diagn_free_impl: +.LASANPC64: +.LVL172: +.LFB64: + .loc 1 201 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 201 1 is_stmt 0 view .LVU276 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 13, -24 + .cfi_offset 12, -32 + .cfi_offset 3, -40 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + .loc 1 202 3 is_stmt 1 view .LVU277 + .loc 1 202 142 is_stmt 0 view .LVU278 + movl %edi, %r13d + .loc 1 202 3 view .LVU279 + leaq stdout(%rip), %rdi +.LVL173: + .loc 1 202 3 view .LVU280 + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L201 + movq stdout(%rip), %r12 + testq %r12, %r12 + je .L202 +.L196: +.LVL174: +.LBB65: +.LBI65: + .loc 2 77 1 is_stmt 1 view .LVU281 +.LBB66: + .loc 2 79 3 view .LVU282 + .loc 2 79 10 is_stmt 0 view .LVU283 + movq %r13, %r9 + movl $202, %r8d + leaq .LC7(%rip), %rcx + leaq .LC16(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL175: + .loc 2 79 10 view .LVU284 +.LBE66: +.LBE65: + .loc 1 203 3 is_stmt 1 view .LVU285 + .loc 1 203 35 is_stmt 0 view .LVU286 + testq %rbx, %rbx + je .L197 + testb $7, %bl + jne .L197 +.L198: + leaq 16(%rbx), %rdx + cmpq $-16, %rbx + jnb .L203 +.L199: + leaq 16(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L204 + movq 16(%rbx), %rsi + .loc 1 203 3 view .LVU287 + leaq __func__.0(%rip), %r12 + movq %r12, %rdi + call __chk_free_impl@PLT +.LVL176: + .loc 1 204 3 is_stmt 1 view .LVU288 + movq %rbx, %rsi + movq %r12, %rdi + call __chk_free_impl@PLT +.LVL177: + .loc 1 205 1 is_stmt 0 view .LVU289 + addq $8, %rsp + popq %rbx +.LVL178: + .loc 1 205 1 view .LVU290 + popq %r12 + popq %r13 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL179: +.L201: + .cfi_restore_state + .loc 1 202 3 view .LVU291 + call __asan_report_load8@PLT +.LVL180: +.L202: + leaq .Lubsan_data32(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL181: + jmp .L196 +.L197: + .loc 1 203 35 view .LVU292 + movq %rbx, %rsi + leaq .Lubsan_data89(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL182: + jmp .L198 +.L203: + .loc 1 203 35 view .LVU293 + movq %rbx, %rsi + leaq .Lubsan_data90(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL183: + jmp .L199 +.L204: + .loc 1 203 35 view .LVU294 + call __asan_report_load8@PLT +.LVL184: + .cfi_endproc +.LFE64: + .size diagn_free_impl, .-diagn_free_impl + .globl diagn_new + .type diagn_new, @function +diagn_new: +.LASANPC55: +.LVL185: +.LFB55: + .loc 1 35 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 35 1 is_stmt 0 view .LVU296 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + .cfi_offset 14, -24 + .cfi_offset 13, -32 + .cfi_offset 12, -40 + .cfi_offset 3, -48 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %r14 + movq %rsi, %r13 + movq %rdx, %r12 + .loc 1 36 3 is_stmt 1 view .LVU297 + .loc 1 36 19 is_stmt 0 view .LVU298 + movl $32, %edx +.LVL186: + .loc 1 36 19 view .LVU299 + movl $1, %esi +.LVL187: + .loc 1 36 19 view .LVU300 + leaq __func__.3(%rip), %rdi +.LVL188: + .loc 1 36 19 view .LVU301 + call __chk_calloc_impl@PLT +.LVL189: + movq %rax, %rbx +.LVL190: + .loc 1 37 3 is_stmt 1 view .LVU302 + .loc 1 37 20 is_stmt 0 view .LVU303 + testq %rax, %rax + je .L206 + testb $7, %al + jne .L206 +.LVL191: +.L207: + .loc 1 37 20 view .LVU304 + leaq 16(%rbx), %rdx + cmpq $-16, %rbx + jnb .L220 +.L208: + leaq 16(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L221 + movq %r14, 16(%rbx) + .loc 1 38 3 is_stmt 1 view .LVU305 + .loc 1 38 19 is_stmt 0 view .LVU306 + call array_new@PLT +.LVL192: + movq %rax, %r14 +.LVL193: + .loc 1 38 17 discriminator 1 view .LVU307 + testq %rbx, %rbx + je .L210 + testb $7, %bl + jne .L210 +.L211: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L222 + movq %r14, 8(%rbx) + .loc 1 39 3 is_stmt 1 view .LVU308 + .loc 1 39 21 is_stmt 0 view .LVU309 + testq %rbx, %rbx + je .L213 + testb $7, %bl + jne .L213 +.L214: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L223 + movq %r13, (%rbx) + .loc 1 40 3 is_stmt 1 view .LVU310 + .loc 1 40 15 is_stmt 0 view .LVU311 + testq %rbx, %rbx + je .L216 + .loc 1 40 15 view .LVU312 + testb $7, %bl + jne .L216 +.L217: + .loc 1 40 15 view .LVU313 + leaq 24(%rbx), %rdx + cmpq $-24, %rbx + jnb .L224 +.L218: + leaq 24(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L225 + movq %r12, 24(%rbx) + .loc 1 41 3 is_stmt 1 view .LVU314 + .loc 1 42 1 is_stmt 0 view .LVU315 + movq %rbx, %rax + popq %rbx +.LVL194: + .loc 1 42 1 view .LVU316 + popq %r12 +.LVL195: + .loc 1 42 1 view .LVU317 + popq %r13 +.LVL196: + .loc 1 42 1 view .LVU318 + popq %r14 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL197: +.L206: + .cfi_restore_state + .loc 1 37 20 view .LVU319 + movq %rbx, %rsi + leaq .Lubsan_data91(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL198: + .loc 1 37 20 view .LVU320 + jmp .L207 +.L220: + .loc 1 37 20 view .LVU321 + movq %rbx, %rsi + leaq .Lubsan_data92(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL199: + jmp .L208 +.L221: + .loc 1 37 20 view .LVU322 + call __asan_report_store8@PLT +.LVL200: +.L210: + .loc 1 38 17 discriminator 1 view .LVU323 + movq %rbx, %rsi + leaq .Lubsan_data93(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL201: + jmp .L211 +.L222: + .loc 1 38 17 discriminator 1 view .LVU324 + call __asan_report_store8@PLT +.LVL202: +.L213: + .loc 1 39 21 view .LVU325 + movq %rbx, %rsi + leaq .Lubsan_data94(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL203: + jmp .L214 +.L223: + .loc 1 39 21 view .LVU326 + movq %rbx, %rdi + call __asan_report_store8@PLT +.LVL204: +.L216: + .loc 1 40 15 view .LVU327 + movq %rbx, %rsi + leaq .Lubsan_data95(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL205: + jmp .L217 +.L224: + .loc 1 40 15 view .LVU328 + movq %rbx, %rsi + leaq .Lubsan_data96(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL206: + jmp .L218 +.L225: + .loc 1 40 15 view .LVU329 + call __asan_report_store8@PLT +.LVL207: + .cfi_endproc +.LFE55: + .size diagn_new, .-diagn_new + .globl __asan_stack_malloc_1 + .section .rodata.str1.1,"aMS",@progbits,1 +.LC17: + .string "1 32 24 4 args" + .section .rodata + .align 32 +.LC18: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mignoring warning \"%s\" because it is disabled\n" + .zero 44 + .align 32 +.LC19: + .string "(vasprintf (&diagn->msg, fmt, args) > 0)" + .zero 55 + .align 32 +.LC20: + .string "\033[1;37m%s:%u\033[0m: \033[1;31merror: \033[0mvasprintf() failed\n" + .zero 40 + .text + .globl diagn_push + .type diagn_push, @function +diagn_push: +.LASANPC57: +.LVL208: +.LFB57: + .loc 1 59 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 59 1 is_stmt 0 view .LVU331 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $344, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %r13 + movq %rsi, %rbx + movl %edx, -364(%rbp) + movq %rcx, -376(%rbp) + movq %r8, -384(%rbp) + movq %r9, -184(%rbp) + testb %al, %al + je .L230 + movaps %xmm0, -176(%rbp) + movaps %xmm1, -160(%rbp) + movaps %xmm2, -144(%rbp) + movaps %xmm3, -128(%rbp) + movaps %xmm4, -112(%rbp) + movaps %xmm5, -96(%rbp) + movaps %xmm6, -80(%rbp) + movaps %xmm7, -64(%rbp) +.L230: + leaq -352(%rbp), %r14 + movq %r14, -360(%rbp) + cmpl $0, __asan_option_detect_stack_use_after_return(%rip) + jne .L259 +.LVL209: +.L226: + .loc 1 59 1 view .LVU332 + leaq 128(%r14), %r12 + movq $1102416563, (%r14) +.LVL210: + .loc 1 59 1 view .LVU333 + leaq .LC17(%rip), %rax + movq %rax, 8(%r14) + leaq .LASANPC57(%rip), %rax + movq %rax, 16(%r14) + movq %r14, %r15 + shrq $3, %r15 + movl $-235802127, 2147450880(%r15) + movl $-218103808, 2147450884(%r15) + movl $-202116109, 2147450888(%r15) + .loc 1 59 1 view .LVU334 + movq %fs:40, %rax + movq %rax, -232(%rbp) + xorl %eax, %eax + .loc 1 60 3 is_stmt 1 view .LVU335 + .loc 1 60 6 is_stmt 0 view .LVU336 + testq %rbx, %rbx + je .L231 + .loc 1 60 32 discriminator 1 view .LVU337 + movq %rbx, %rsi + movq %r13, %rdi + call diagn_is_warn_enabled +.LVL211: + .loc 1 60 28 discriminator 1 view .LVU338 + testb %al, %al + je .L260 +.L231: + .loc 1 65 3 is_stmt 1 view .LVU339 + .loc 1 65 30 is_stmt 0 view .LVU340 + movl $24, %edx + movl $1, %esi + leaq __func__.2(%rip), %rdi + call __chk_calloc_impl@PLT +.LVL212: + movq %rax, %rbx +.LVL213: + .loc 1 66 3 is_stmt 1 view .LVU341 + .loc 1 66 17 is_stmt 0 view .LVU342 + testq %rax, %rax + je .L235 + testb $7, %al + jne .L235 +.LVL214: +.L236: + .loc 1 66 17 view .LVU343 + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L261 + movq -376(%rbp), %rax + movq %rax, (%rbx) + .loc 1 67 3 is_stmt 1 view .LVU344 + .loc 1 67 15 is_stmt 0 view .LVU345 + testq %rbx, %rbx + je .L238 + testb $7, %bl + jne .L238 +.L239: + leaq 8(%rbx), %rdx + cmpq $-8, %rbx + jnb .L262 +.L240: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %eax + testb %al, %al + je .L241 + cmpb $3, %al + jle .L263 +.L241: + movl -364(%rbp), %eax + movl %eax, 8(%rbx) + .loc 1 69 3 is_stmt 1 view .LVU346 + .loc 1 69 11 is_stmt 0 discriminator 1 view .LVU347 + leaq -96(%r12), %rdi + movq %rdi, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %ecx + leaq -73(%r12), %rax + movq %rax, %rdx + shrq $3, %rdx + movzbl 2147450880(%rdx), %edx + andl $7, %eax + cmpb %al, %dl + setle %sil + testb %dl, %dl + setne %al + testb %al, %sil + jne .L258 + testb %cl, %cl + setne %dl + setle %al + testb %al, %dl + jne .L258 + pxor %xmm0, %xmm0 + movups %xmm0, -96(%r12) + movq $0, -80(%r12) + .loc 1 70 2 is_stmt 1 view .LVU348 + movl $40, -96(%r12) + movl $48, -92(%r12) + leaq 16(%rbp), %rax + movq %rax, -88(%r12) + leaq -224(%rbp), %rax + movq %rax, -80(%r12) + .loc 1 71 3 view .LVU349 + .loc 1 71 10 is_stmt 0 view .LVU350 + testq %rbx, %rbx + je .L244 + testb $7, %bl + jne .L244 +.L245: + leaq 16(%rbx), %rdx + cmpq $-16, %rbx + jnb .L264 +.L246: + leaq -96(%r12), %rdx + leaq 16(%rbx), %rdi + movq -384(%rbp), %rsi + call vasprintf@PLT +.LVL215: + .loc 1 71 6 discriminator 1 view .LVU351 + testl %eax, %eax + jle .L265 + .loc 1 71 6 is_stmt 1 discriminator 2 view .LVU352 + .loc 1 71 9 discriminator 2 view .LVU353 + .loc 1 72 2 view .LVU354 + .loc 1 74 3 view .LVU355 + testq %r13, %r13 + je .L252 + testb $7, %r13b + jne .L252 +.L253: + leaq 8(%r13), %rdx + cmpq $-8, %r13 + jnb .L266 +.L254: + leaq 8(%r13), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L267 + movq 8(%r13), %r12 + testq %r12, %r12 + je .L268 +.L256: + movq %rbx, %rsi + movq %r12, %rdi + call array_append@PLT +.LVL216: +.L229: + .loc 1 59 1 is_stmt 0 view .LVU356 + cmpq %r14, -360(%rbp) + jne .L269 + movq $0, 2147450880(%r15) + movl $0, 2147450888(%r15) +.L228: + .loc 1 75 1 view .LVU357 + movq -232(%rbp), %rax + subq %fs:40, %rax + jne .L270 + addq $344, %rsp + popq %rbx + popq %r12 + popq %r13 +.LVL217: + .loc 1 75 1 view .LVU358 + popq %r14 + popq %r15 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL218: +.L259: + .cfi_restore_state + .loc 1 59 1 view .LVU359 + movl $96, %edi +.LVL219: + .loc 1 59 1 view .LVU360 + call __asan_stack_malloc_1@PLT +.LVL220: + .loc 1 59 1 view .LVU361 + testq %rax, %rax + je .L226 + movq %rax, %r14 + jmp .L226 +.LVL221: +.L260: + .loc 1 62 7 is_stmt 1 view .LVU362 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L271 + movq stdout(%rip), %r12 + testq %r12, %r12 + je .L272 +.L233: +.LVL222: +.LBB67: +.LBI67: + .loc 2 77 1 view .LVU363 +.LBB68: + .loc 2 79 3 view .LVU364 + .loc 2 79 10 is_stmt 0 view .LVU365 + movq %rbx, %r9 + movl $62, %r8d + leaq .LC7(%rip), %rcx + leaq .LC18(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL223: + .loc 2 79 10 view .LVU366 +.LBE68: +.LBE67: + .loc 1 63 7 is_stmt 1 view .LVU367 + jmp .L229 +.L271: + .loc 1 62 7 is_stmt 0 view .LVU368 + call __asan_report_load8@PLT +.LVL224: +.L272: + leaq .Lubsan_data34(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL225: + jmp .L233 +.LVL226: +.L235: + .loc 1 66 17 view .LVU369 + movq %rbx, %rsi + leaq .Lubsan_data97(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL227: + .loc 1 66 17 view .LVU370 + jmp .L236 +.L261: + .loc 1 66 17 view .LVU371 + movq %rbx, %rdi + call __asan_report_store8@PLT +.LVL228: +.L238: + .loc 1 67 15 view .LVU372 + movq %rbx, %rsi + leaq .Lubsan_data98(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL229: + jmp .L239 +.L262: + .loc 1 67 15 view .LVU373 + movq %rbx, %rsi + leaq .Lubsan_data99(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL230: + jmp .L240 +.L263: + .loc 1 67 15 view .LVU374 + call __asan_report_store4@PLT +.LVL231: +.L258: + .loc 1 69 11 discriminator 1 view .LVU375 + movl $24, %esi + call __asan_report_store_n@PLT +.LVL232: +.L244: + .loc 1 71 10 view .LVU376 + movq %rbx, %rsi + leaq .Lubsan_data100(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL233: + jmp .L245 +.L264: + .loc 1 71 10 view .LVU377 + movq %rbx, %rsi + leaq .Lubsan_data101(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL234: + jmp .L246 +.L265: + .loc 1 71 54 is_stmt 1 discriminator 1 view .LVU378 + leaq stderr(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L273 + movq stderr(%rip), %rbx +.LVL235: + .loc 1 71 54 is_stmt 0 discriminator 1 view .LVU379 + testq %rbx, %rbx + je .L274 +.L249: +.LVL236: +.LBB69: +.LBI69: + .loc 2 77 1 is_stmt 1 view .LVU380 +.LBB70: + .loc 2 79 3 view .LVU381 + .loc 2 79 10 is_stmt 0 view .LVU382 + leaq .LC19(%rip), %r9 + movl $71, %r8d + leaq .LC7(%rip), %rcx + leaq .LC8(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL237: + .loc 2 79 10 view .LVU383 +.LBE70: +.LBE69: + .loc 1 71 183 is_stmt 1 discriminator 1 view .LVU384 + leaq stderr(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L275 + movq stderr(%rip), %rbx + testq %rbx, %rbx + je .L276 +.L251: +.LVL238: +.LBB71: +.LBI71: + .loc 2 77 1 view .LVU385 +.LBB72: + .loc 2 79 3 view .LVU386 + .loc 2 79 10 is_stmt 0 view .LVU387 + movl $71, %r8d + leaq .LC7(%rip), %rcx + leaq .LC20(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL239: + .loc 2 79 10 view .LVU388 +.LBE72: +.LBE71: + .loc 1 71 106 is_stmt 1 discriminator 2 view .LVU389 + call __asan_handle_no_return@PLT +.LVL240: + movl $1, %edi + call exit@PLT +.LVL241: +.L273: + .loc 1 71 54 is_stmt 0 discriminator 1 view .LVU390 + call __asan_report_load8@PLT +.LVL242: +.L274: + .loc 1 71 54 discriminator 1 view .LVU391 + leaq .Lubsan_data36(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL243: + jmp .L249 +.L275: + .loc 1 71 183 discriminator 1 view .LVU392 + call __asan_report_load8@PLT +.LVL244: +.L276: + leaq .Lubsan_data38(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL245: + jmp .L251 +.LVL246: +.L252: + .loc 1 74 3 view .LVU393 + movq %r13, %rsi + leaq .Lubsan_data102(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL247: + jmp .L253 +.L266: + .loc 1 74 3 view .LVU394 + movq %r13, %rsi + leaq .Lubsan_data103(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL248: + jmp .L254 +.L267: + .loc 1 74 3 view .LVU395 + call __asan_report_load8@PLT +.LVL249: +.L268: + leaq .Lubsan_data40(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL250: + jmp .L256 +.LVL251: +.L269: + .loc 1 59 1 view .LVU396 + movq $1172321806, (%r14) + movabsq $-723401728380766731, %rax + movq %rax, 2147450880(%r15) + movl $-168430091, 2147450888(%r15) + movq 120(%r14), %rax + movb $0, (%rax) + jmp .L228 +.L270: + .loc 1 75 1 view .LVU397 + call __stack_chk_fail@PLT +.LVL252: + .cfi_endproc +.LFE57: + .size diagn_push, .-diagn_push + .section .rodata + .align 32 +.LC21: + .string "\033[1;37m%s:%u\033[0m: \033[0;34mlog: \033[0mDumped %lu error(s), %lu warning(s), and %lu note(s)\n" + .zero 40 + .text + .globl diagn_flush + .type diagn_flush, @function +diagn_flush: +.LASANPC63: +.LVL253: +.LFB63: + .loc 1 183 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 183 1 is_stmt 0 view .LVU399 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $40, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %r12 + movq %rsi, -72(%rbp) + .loc 1 184 3 is_stmt 1 view .LVU400 +.LVL254: + .loc 1 187 3 view .LVU401 + .loc 1 187 29 discriminator 1 view .LVU402 +.LBB73: + .loc 1 187 34 discriminator 1 view .LVU403 + .loc 1 187 41 is_stmt 0 discriminator 1 view .LVU404 + movl $0, %r13d +.LBE73: + .loc 1 186 12 view .LVU405 + movq $0, -64(%rbp) + .loc 1 185 12 view .LVU406 + movq $0, -56(%rbp) + .loc 1 184 12 view .LVU407 + movl $0, %r15d +.LBB74: + .loc 1 187 29 view .LVU408 + jmp .L278 +.LVL255: +.L279: + .loc 1 189 25 view .LVU409 + movq %rbx, %rsi + leaq .Lubsan_data104(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL256: + .loc 1 189 25 view .LVU410 + jmp .L280 +.L305: + .loc 1 189 25 view .LVU411 + movq %rbx, %rsi + leaq .Lubsan_data105(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL257: + jmp .L281 +.L282: + .loc 1 189 25 view .LVU412 + movl 8(%rbx), %r14d + .loc 1 189 32 view .LVU413 + cmpl $1, %r14d + sete %al + movzbl %al, %eax + .loc 1 189 17 view .LVU414 + addq %rax, %r15 +.LVL258: + .loc 1 190 7 is_stmt 1 view .LVU415 + .loc 1 190 27 is_stmt 0 view .LVU416 + testq %rbx, %rbx + je .L283 + .loc 1 190 27 view .LVU417 + testb $7, %bl + jne .L283 +.L284: + .loc 1 190 34 view .LVU418 + testl %r14d, %r14d + sete %al + movzbl %al, %eax + .loc 1 190 19 view .LVU419 + addq %rax, -56(%rbp) +.LVL259: + .loc 1 191 7 is_stmt 1 view .LVU420 + .loc 1 191 24 is_stmt 0 view .LVU421 + testq %rbx, %rbx + je .L285 + testb $7, %bl + jne .L285 +.L286: + .loc 1 191 31 view .LVU422 + cmpl $2, %r14d + sete %al + movzbl %al, %eax + .loc 1 191 16 view .LVU423 + addq %rax, -64(%rbp) +.LVL260: + .loc 1 192 7 is_stmt 1 view .LVU424 + movq %rbx, %rdx + movq -72(%rbp), %rsi + movq %r12, %rdi + call diagn_flush_single +.LVL261: + .loc 1 187 122 discriminator 4 view .LVU425 + addq $1, %r13 +.LVL262: +.L278: + .loc 1 187 80 discriminator 1 view .LVU426 + .loc 1 187 52 is_stmt 0 discriminator 1 view .LVU427 + testq %r12, %r12 + je .L287 + testb $7, %r12b + jne .L287 +.L288: + leaq 8(%r12), %rdx + cmpq $-8, %r12 + jnb .L300 +.L289: + leaq 8(%r12), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L301 + movq 8(%r12), %rbx + testq %rbx, %rbx + je .L302 +.L291: + movq %rbx, %rdi + call array_length@PLT +.LVL263: + .loc 1 187 80 discriminator 1 view .LVU428 + cmpq %rax, %r13 + jnb .L292 + .loc 1 187 92 discriminator 3 view .LVU429 + testq %r12, %r12 + je .L293 + testb $7, %r12b + jne .L293 +.L294: + leaq 8(%r12), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L303 + movq 8(%r12), %rbx + testq %rbx, %rbx + je .L304 +.L296: + movq %r13, %rsi + movq %rbx, %rdi + call array_get@PLT +.LVL264: + movq %rax, %rbx +.LVL265: + .loc 1 187 80 discriminator 1 view .LVU430 + testq %rax, %rax + je .L292 + .loc 1 189 7 is_stmt 1 view .LVU431 + .loc 1 189 25 is_stmt 0 view .LVU432 + je .L279 + testb $7, %bl + jne .L279 +.LVL266: +.L280: + .loc 1 189 25 view .LVU433 + leaq 8(%rbx), %rdx + cmpq $-8, %rbx + jnb .L305 +.L281: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %eax + testb %al, %al + je .L282 + cmpb $3, %al + jg .L282 + call __asan_report_load4@PLT +.LVL267: +.L283: + .loc 1 190 27 view .LVU434 + movq %rbx, %rsi + leaq .Lubsan_data106(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL268: + jmp .L284 +.L285: + .loc 1 191 24 view .LVU435 + movq %rbx, %rsi + leaq .Lubsan_data107(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL269: + jmp .L286 +.LVL270: +.L287: + .loc 1 187 52 discriminator 1 view .LVU436 + movq %r12, %rsi + leaq .Lubsan_data108(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL271: + jmp .L288 +.L300: + .loc 1 187 52 discriminator 1 view .LVU437 + movq %r12, %rsi + leaq .Lubsan_data109(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL272: + jmp .L289 +.L301: + .loc 1 187 52 discriminator 1 view .LVU438 + call __asan_report_load8@PLT +.LVL273: +.L302: + leaq .Lubsan_data41(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL274: + jmp .L291 +.L293: + .loc 1 187 92 discriminator 3 view .LVU439 + movq %r12, %rsi + leaq .Lubsan_data110(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL275: + jmp .L294 +.L303: + .loc 1 187 92 discriminator 3 view .LVU440 + call __asan_report_load8@PLT +.LVL276: +.L304: + leaq .Lubsan_data42(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL277: + jmp .L296 +.L292: + .loc 1 187 92 discriminator 3 view .LVU441 +.LBE74: + .loc 1 194 3 is_stmt 1 view .LVU442 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L306 + movq stdout(%rip), %rbx + testq %rbx, %rbx + je .L307 +.L299: +.LVL278: +.LBB75: +.LBI75: + .loc 2 77 1 view .LVU443 +.LBB76: + .loc 2 79 3 view .LVU444 + .loc 2 79 10 is_stmt 0 view .LVU445 + pushq -64(%rbp) + pushq -56(%rbp) + movq %r15, %r9 + movl $194, %r8d + leaq .LC7(%rip), %rcx + leaq .LC21(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL279: + .loc 2 79 10 view .LVU446 +.LBE76: +.LBE75: + .loc 1 196 3 is_stmt 1 view .LVU447 + .loc 1 197 1 is_stmt 0 view .LVU448 + movq %r15, %rax + leaq -40(%rbp), %rsp + popq %rbx + popq %r12 +.LVL280: + .loc 1 197 1 view .LVU449 + popq %r13 +.LVL281: + .loc 1 197 1 view .LVU450 + popq %r14 + popq %r15 +.LVL282: + .loc 1 197 1 view .LVU451 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 +.LVL283: + .loc 1 197 1 view .LVU452 + ret +.LVL284: +.L306: + .cfi_restore_state + .loc 1 194 3 view .LVU453 + call __asan_report_load8@PLT +.LVL285: +.L307: + leaq .Lubsan_data43(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL286: + jmp .L299 + .cfi_endproc +.LFE63: + .size diagn_flush, .-diagn_flush + .section .rodata + .align 32 +.LC22: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0mfreeing %zu diagnostics: %p\n" + .zero 60 + .text + .globl diagn_free + .type diagn_free, @function +diagn_free: +.LASANPC65: +.LVL287: +.LFB65: + .loc 1 209 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 209 1 is_stmt 0 view .LVU455 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + .cfi_offset 14, -24 + .cfi_offset 13, -32 + .cfi_offset 12, -40 + .cfi_offset 3, -48 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + .loc 1 210 3 is_stmt 1 view .LVU456 + .loc 1 210 173 is_stmt 0 view .LVU457 + movl %edi, %r14d + .loc 1 210 3 view .LVU458 + testq %rdi, %rdi + je .L309 + testb $7, %dil + jne .L309 +.LVL288: +.L310: + .loc 1 210 3 view .LVU459 + leaq 8(%rbx), %rdx + cmpq $-8, %rbx + jnb .L320 +.L311: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L321 + movq 8(%rbx), %r12 + testq %r12, %r12 + je .L322 +.L313: + movq %r12, %rdi + call array_length@PLT +.LVL289: + movq %rax, %r12 + .loc 1 210 3 discriminator 1 view .LVU460 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L323 + movq stdout(%rip), %r13 + testq %r13, %r13 + je .L324 +.L315: +.LVL290: +.LBB77: +.LBI77: + .loc 2 77 1 is_stmt 1 view .LVU461 +.LBB78: + .loc 2 79 3 view .LVU462 + .loc 2 79 10 is_stmt 0 view .LVU463 + subq $8, %rsp + pushq %r14 + movq %r12, %r9 + movl $210, %r8d + leaq .LC7(%rip), %rcx + leaq .LC22(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL291: + .loc 2 79 10 view .LVU464 +.LBE78: +.LBE77: + .loc 1 212 3 is_stmt 1 view .LVU465 + addq $16, %rsp + testq %rbx, %rbx + je .L316 + testb $7, %bl + jne .L316 +.L317: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L325 + movq 8(%rbx), %r12 + testq %r12, %r12 + je .L326 +.L319: + leaq diagn_free_impl(%rip), %rsi + movq %r12, %rdi + call array_free_cb@PLT +.LVL292: + .loc 1 213 3 view .LVU466 + movq %rbx, %rsi + leaq __func__.1(%rip), %rdi + call __chk_free_impl@PLT +.LVL293: + .loc 1 214 1 is_stmt 0 view .LVU467 + leaq -32(%rbp), %rsp + popq %rbx +.LVL294: + .loc 1 214 1 view .LVU468 + popq %r12 + popq %r13 + popq %r14 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL295: +.L309: + .cfi_restore_state + .loc 1 210 3 view .LVU469 + movq %rbx, %rsi + leaq .Lubsan_data111(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL296: + jmp .L310 +.L320: + .loc 1 210 3 view .LVU470 + movq %rbx, %rsi + leaq .Lubsan_data112(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL297: + jmp .L311 +.L321: + .loc 1 210 3 view .LVU471 + call __asan_report_load8@PLT +.LVL298: +.L322: + leaq .Lubsan_data45(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL299: + jmp .L313 +.L323: + .loc 1 210 3 discriminator 1 view .LVU472 + call __asan_report_load8@PLT +.LVL300: +.L324: + leaq .Lubsan_data46(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL301: + jmp .L315 +.L316: + .loc 1 212 3 view .LVU473 + movq %rbx, %rsi + leaq .Lubsan_data113(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL302: + jmp .L317 +.L325: + .loc 1 212 3 view .LVU474 + call __asan_report_load8@PLT +.LVL303: +.L326: + leaq .Lubsan_data48(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL304: + jmp .L319 + .cfi_endproc +.LFE65: + .size diagn_free, .-diagn_free + .section .data.rel.local,"aw" + .align 32 + .type .Lubsan_data113, @object + .size .Lubsan_data113, 32 +.Lubsan_data113: + .quad .LC7 + .long 212 + .long 3 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data112, @object + .size .Lubsan_data112, 16 +.Lubsan_data112: + .quad .LC7 + .long 210 + .long 3 + .zero 48 + .align 32 + .type .Lubsan_data111, @object + .size .Lubsan_data111, 32 +.Lubsan_data111: + .quad .LC7 + .long 210 + .long 3 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data110, @object + .size .Lubsan_data110, 32 +.Lubsan_data110: + .quad .LC7 + .long 187 + .long 92 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data109, @object + .size .Lubsan_data109, 16 +.Lubsan_data109: + .quad .LC7 + .long 187 + .long 52 + .zero 48 + .align 32 + .type .Lubsan_data108, @object + .size .Lubsan_data108, 32 +.Lubsan_data108: + .quad .LC7 + .long 187 + .long 52 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data107, @object + .size .Lubsan_data107, 32 +.Lubsan_data107: + .quad .LC7 + .long 191 + .long 24 + .quad .Lubsan_type6 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data106, @object + .size .Lubsan_data106, 32 +.Lubsan_data106: + .quad .LC7 + .long 190 + .long 27 + .quad .Lubsan_type6 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data105, @object + .size .Lubsan_data105, 16 +.Lubsan_data105: + .quad .LC7 + .long 189 + .long 25 + .zero 48 + .align 32 + .type .Lubsan_data104, @object + .size .Lubsan_data104, 32 +.Lubsan_data104: + .quad .LC7 + .long 189 + .long 25 + .quad .Lubsan_type6 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data103, @object + .size .Lubsan_data103, 16 +.Lubsan_data103: + .quad .LC7 + .long 74 + .long 3 + .zero 48 + .align 32 + .type .Lubsan_data102, @object + .size .Lubsan_data102, 32 +.Lubsan_data102: + .quad .LC7 + .long 74 + .long 3 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data101, @object + .size .Lubsan_data101, 16 +.Lubsan_data101: + .quad .LC7 + .long 71 + .long 10 + .zero 48 + .align 32 + .type .Lubsan_data100, @object + .size .Lubsan_data100, 32 +.Lubsan_data100: + .quad .LC7 + .long 71 + .long 10 + .quad .Lubsan_type6 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data99, @object + .size .Lubsan_data99, 16 +.Lubsan_data99: + .quad .LC7 + .long 67 + .long 15 + .zero 48 + .align 32 + .type .Lubsan_data98, @object + .size .Lubsan_data98, 32 +.Lubsan_data98: + .quad .LC7 + .long 67 + .long 15 + .quad .Lubsan_type6 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data97, @object + .size .Lubsan_data97, 32 +.Lubsan_data97: + .quad .LC7 + .long 66 + .long 17 + .quad .Lubsan_type6 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data96, @object + .size .Lubsan_data96, 16 +.Lubsan_data96: + .quad .LC7 + .long 40 + .long 15 + .zero 48 + .align 32 + .type .Lubsan_data95, @object + .size .Lubsan_data95, 32 +.Lubsan_data95: + .quad .LC7 + .long 40 + .long 15 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data94, @object + .size .Lubsan_data94, 32 +.Lubsan_data94: + .quad .LC7 + .long 39 + .long 21 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data93, @object + .size .Lubsan_data93, 32 +.Lubsan_data93: + .quad .LC7 + .long 38 + .long 17 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data92, @object + .size .Lubsan_data92, 16 +.Lubsan_data92: + .quad .LC7 + .long 37 + .long 20 + .zero 48 + .align 32 + .type .Lubsan_data91, @object + .size .Lubsan_data91, 32 +.Lubsan_data91: + .quad .LC7 + .long 37 + .long 20 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data90, @object + .size .Lubsan_data90, 16 +.Lubsan_data90: + .quad .LC7 + .long 203 + .long 35 + .zero 48 + .align 32 + .type .Lubsan_data89, @object + .size .Lubsan_data89, 32 +.Lubsan_data89: + .quad .LC7 + .long 203 + .long 35 + .quad .Lubsan_type6 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data88, @object + .size .Lubsan_data88, 32 +.Lubsan_data88: + .quad .LC7 + .long 155 + .long 39 + .quad .Lubsan_type7 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data87, @object + .size .Lubsan_data87, 32 +.Lubsan_data87: + .quad .LC7 + .long 155 + .long 31 + .quad .Lubsan_type6 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data86, @object + .size .Lubsan_data86, 32 +.Lubsan_data86: + .quad .LC7 + .long 174 + .long 5 + .quad .Lubsan_type6 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data85, @object + .size .Lubsan_data85, 32 +.Lubsan_data85: + .quad .LC7 + .long 162 + .long 116 + .quad .Lubsan_type7 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data84, @object + .size .Lubsan_data84, 32 +.Lubsan_data84: + .quad .LC7 + .long 162 + .long 108 + .quad .Lubsan_type6 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data83, @object + .size .Lubsan_data83, 16 +.Lubsan_data83: + .quad .LC7 + .long 162 + .long 87 + .zero 48 + .align 32 + .type .Lubsan_data82, @object + .size .Lubsan_data82, 32 +.Lubsan_data82: + .quad .LC7 + .long 162 + .long 87 + .quad .Lubsan_type7 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data81, @object + .size .Lubsan_data81, 32 +.Lubsan_data81: + .quad .LC7 + .long 162 + .long 79 + .quad .Lubsan_type6 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data80, @object + .size .Lubsan_data80, 32 +.Lubsan_data80: + .quad .LC7 + .long 157 + .long 13 + .quad .Lubsan_type8 + .byte 0 + .byte 0 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type8, @object + .size .Lubsan_type8, 14 +.Lubsan_type8: + .value -1 + .value 0 + .string "'uint8_t'" + .zero 50 + .section .data.rel.local + .align 32 + .type .Lubsan_data79, @object + .size .Lubsan_data79, 16 +.Lubsan_data79: + .quad .LC7 + .long 157 + .long 33 + .zero 48 + .align 32 + .type .Lubsan_data78, @object + .size .Lubsan_data78, 16 +.Lubsan_data78: + .quad .LC7 + .long 150 + .long 3 + .zero 48 + .align 32 + .type .Lubsan_data77, @object + .size .Lubsan_data77, 32 +.Lubsan_data77: + .quad .LC7 + .long 149 + .long 29 + .quad .Lubsan_type7 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data76, @object + .size .Lubsan_data76, 32 +.Lubsan_data76: + .quad .LC7 + .long 149 + .long 43 + .quad .Lubsan_type6 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data75, @object + .size .Lubsan_data75, 16 +.Lubsan_data75: + .quad .LC7 + .long 146 + .long 3 + .zero 48 + .align 32 + .type .Lubsan_data74, @object + .size .Lubsan_data74, 32 +.Lubsan_data74: + .quad .LC7 + .long 146 + .long 3 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data73, @object + .size .Lubsan_data73, 16 +.Lubsan_data73: + .quad .LC7 + .long 146 + .long 3 + .zero 48 + .align 32 + .type .Lubsan_data72, @object + .size .Lubsan_data72, 32 +.Lubsan_data72: + .quad .LC7 + .long 146 + .long 3 + .quad .Lubsan_type6 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data71, @object + .size .Lubsan_data71, 32 +.Lubsan_data71: + .quad .LC7 + .long 144 + .long 57 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data70, @object + .size .Lubsan_data70, 16 +.Lubsan_data70: + .quad .LC7 + .long 144 + .long 39 + .zero 48 + .align 32 + .type .Lubsan_data69, @object + .size .Lubsan_data69, 32 +.Lubsan_data69: + .quad .LC7 + .long 144 + .long 39 + .quad .Lubsan_type7 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data68, @object + .size .Lubsan_data68, 32 +.Lubsan_data68: + .quad .LC7 + .long 144 + .long 76 + .quad .Lubsan_type6 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data67, @object + .size .Lubsan_data67, 32 +.Lubsan_data67: + .quad .LC7 + .long 142 + .long 49 + .quad .Lubsan_type7 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data66, @object + .size .Lubsan_data66, 32 +.Lubsan_data66: + .quad .LC7 + .long 143 + .long 22 + .quad .Lubsan_type6 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data65, @object + .size .Lubsan_data65, 16 +.Lubsan_data65: + .quad .LC7 + .long 141 + .long 12 + .zero 48 + .align 32 + .type .Lubsan_data64, @object + .size .Lubsan_data64, 16 +.Lubsan_data64: + .quad .LC7 + .long 141 + .long 56 + .zero 48 + .align 32 + .type .Lubsan_data63, @object + .size .Lubsan_data63, 32 +.Lubsan_data63: + .quad .LC7 + .long 141 + .long 56 + .quad .Lubsan_type7 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type7, @object + .size .Lubsan_type7, 23 +.Lubsan_type7: + .value -1 + .value 0 + .string "'struct '" + .zero 41 + .section .data.rel.local + .align 32 + .type .Lubsan_data62, @object + .size .Lubsan_data62, 32 +.Lubsan_data62: + .quad .LC7 + .long 141 + .long 48 + .quad .Lubsan_type6 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type6, @object + .size .Lubsan_type6, 24 +.Lubsan_type6: + .value -1 + .value 0 + .string "'struct diagnostic'" + .zero 40 + .section .data.rel.local + .align 32 + .type .Lubsan_data61, @object + .size .Lubsan_data61, 32 +.Lubsan_data61: + .quad .LC7 + .long 141 + .long 30 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data60, @object + .size .Lubsan_data60, 32 +.Lubsan_data60: + .quad .LC7 + .long 122 + .long 29 + .quad .Lubsan_type5 + .byte 1 + .byte 0 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type5, @object + .size .Lubsan_type5, 31 +.Lubsan_type5: + .value -1 + .value 0 + .string "'const short unsigned int'" + .zero 33 + .section .data.rel.local + .align 32 + .type .Lubsan_data59, @object + .size .Lubsan_data59, 16 +.Lubsan_data59: + .quad .LC7 + .long 122 + .long 29 + .zero 48 + .align 32 + .type .Lubsan_data58, @object + .size .Lubsan_data58, 32 +.Lubsan_data58: + .quad .LC7 + .long 122 + .long 9 + .quad .Lubsan_type1 + .byte 0 + .byte 0 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data57, @object + .size .Lubsan_data57, 16 +.Lubsan_data57: + .quad .LC7 + .long 122 + .long 17 + .zero 48 + .align 32 + .type .Lubsan_data56, @object + .size .Lubsan_data56, 32 +.Lubsan_data56: + .quad .LC7 + .long 122 + .long 11 + .quad .Lubsan_type4 + .byte 3 + .byte 0 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type4, @object + .size .Lubsan_type4, 33 +.Lubsan_type4: + .value -1 + .value 0 + .string "'const short unsigned int *'" + .zero 63 + .section .data.rel.local + .align 32 + .type .Lubsan_data55, @object + .size .Lubsan_data55, 32 +.Lubsan_data55: + .quad .LC7 + .long 115 + .long 13 + .quad .Lubsan_type1 + .byte 0 + .byte 0 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data54, @object + .size .Lubsan_data54, 16 +.Lubsan_data54: + .quad .LC7 + .long 115 + .long 28 + .zero 48 + .align 32 + .type .Lubsan_data53, @object + .size .Lubsan_data53, 32 +.Lubsan_data53: + .quad .LC7 + .long 48 + .long 39 + .quad .Lubsan_type3 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type3, @object + .size .Lubsan_type3, 30 +.Lubsan_type3: + .value -1 + .value 0 + .string "'struct compilation_args'" + .zero 34 + .section .data.rel.local + .align 32 + .type .Lubsan_data52, @object + .size .Lubsan_data52, 16 +.Lubsan_data52: + .quad .LC7 + .long 48 + .long 16 + .zero 48 + .align 32 + .type .Lubsan_data51, @object + .size .Lubsan_data51, 32 +.Lubsan_data51: + .quad .LC7 + .long 48 + .long 16 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type2, @object + .size .Lubsan_type2, 29 +.Lubsan_type2: + .value -1 + .value 0 + .string "'struct diagnostic_impl'" + .zero 35 + .section .data.rel.local + .align 32 + .type .Lubsan_data50, @object + .size .Lubsan_data50, 32 +.Lubsan_data50: + .quad .LC7 + .long 133 + .long 14 + .quad .Lubsan_type1 + .byte 0 + .byte 0 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type1, @object + .size .Lubsan_type1, 20 +.Lubsan_type1: + .value -1 + .value 0 + .string "'const uint8_t'" + .zero 44 + .section .data.rel.local + .align 32 + .type .Lubsan_data49, @object + .size .Lubsan_data49, 16 +.Lubsan_data49: + .quad .LC7 + .long 133 + .long 14 + .zero 48 + .align 32 + .type .Lubsan_data48, @object + .size .Lubsan_data48, 40 +.Lubsan_data48: + .quad .LC7 + .long 212 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data46, @object + .size .Lubsan_data46, 40 +.Lubsan_data46: + .quad .LC7 + .long 210 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data45, @object + .size .Lubsan_data45, 40 +.Lubsan_data45: + .quad .LC7 + .long 210 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data43, @object + .size .Lubsan_data43, 40 +.Lubsan_data43: + .quad .LC7 + .long 194 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data42, @object + .size .Lubsan_data42, 40 +.Lubsan_data42: + .quad .LC7 + .long 187 + .long 92 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data41, @object + .size .Lubsan_data41, 40 +.Lubsan_data41: + .quad .LC7 + .long 187 + .long 52 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data40, @object + .size .Lubsan_data40, 40 +.Lubsan_data40: + .quad .LC7 + .long 74 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data38, @object + .size .Lubsan_data38, 40 +.Lubsan_data38: + .quad .LC7 + .long 71 + .long 183 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data36, @object + .size .Lubsan_data36, 40 +.Lubsan_data36: + .quad .LC7 + .long 71 + .long 54 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data34, @object + .size .Lubsan_data34, 40 +.Lubsan_data34: + .quad .LC7 + .long 62 + .long 7 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data32, @object + .size .Lubsan_data32, 40 +.Lubsan_data32: + .quad .LC7 + .long 202 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data30, @object + .size .Lubsan_data30, 40 +.Lubsan_data30: + .quad .LC7 + .long 177 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data29, @object + .size .Lubsan_data29, 40 +.Lubsan_data29: + .quad .LC7 + .long 174 + .long 5 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data27, @object + .size .Lubsan_data27, 40 +.Lubsan_data27: + .quad .LC7 + .long 171 + .long 7 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data25, @object + .size .Lubsan_data25, 40 +.Lubsan_data25: + .quad .LC7 + .long 167 + .long 9 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data23, @object + .size .Lubsan_data23, 40 +.Lubsan_data23: + .quad .LC7 + .long 166 + .long 9 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data21, @object + .size .Lubsan_data21, 40 +.Lubsan_data21: + .quad .LC7 + .long 150 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data19, @object + .size .Lubsan_data19, 40 +.Lubsan_data19: + .quad .LC7 + .long 146 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data17, @object + .size .Lubsan_data17, 40 +.Lubsan_data17: + .quad .LC7 + .long 49 + .long 144 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data15, @object + .size .Lubsan_data15, 40 +.Lubsan_data15: + .quad .LC7 + .long 49 + .long 15 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data13, @object + .size .Lubsan_data13, 40 +.Lubsan_data13: + .quad .LC7 + .long 47 + .long 8 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .section .rodata + .align 32 + .type __func__.0, @object + .size __func__.0, 16 +__func__.0: + .string "diagn_free_impl" + .zero 48 + .align 32 + .type __func__.1, @object + .size __func__.1, 11 +__func__.1: + .string "diagn_free" + .zero 53 + .align 32 + .type __func__.2, @object + .size __func__.2, 11 +__func__.2: + .string "diagn_push" + .zero 53 + .align 32 + .type __func__.3, @object + .size __func__.3, 10 +__func__.3: + .string "diagn_new" + .zero 54 + .section .data.rel.local + .align 32 + .type .Lubsan_data10, @object + .size .Lubsan_data10, 16 +.Lubsan_data10: + .quad .LC7 + .long 105 + .long 7 + .zero 48 + .align 32 + .type .Lubsan_data9, @object + .size .Lubsan_data9, 16 +.Lubsan_data9: + .quad .LC7 + .long 89 + .long 7 + .zero 48 + .align 16 + .type .LASANLOC1, @object + .size .LASANLOC1, 16 +.LASANLOC1: + .quad .LC7 + .long 203 + .long 20 + .align 16 + .type .LASANLOC2, @object + .size .LASANLOC2, 16 +.LASANLOC2: + .quad .LC7 + .long 213 + .long 20 + .align 16 + .type .LASANLOC3, @object + .size .LASANLOC3, 16 +.LASANLOC3: + .quad .LC7 + .long 65 + .long 49 + .align 16 + .type .LASANLOC4, @object + .size .LASANLOC4, 16 +.LASANLOC4: + .quad .LC7 + .long 36 + .long 38 + .section .rodata.str1.1 +.LC23: + .string "*.Lubsan_data113" +.LC24: + .string "*.Lubsan_data112" +.LC25: + .string "*.Lubsan_data111" +.LC26: + .string "*.Lubsan_data110" +.LC27: + .string "*.Lubsan_data109" +.LC28: + .string "*.Lubsan_data108" +.LC29: + .string "*.Lubsan_data107" +.LC30: + .string "*.Lubsan_data106" +.LC31: + .string "*.Lubsan_data105" +.LC32: + .string "*.Lubsan_data104" +.LC33: + .string "*.Lubsan_data103" +.LC34: + .string "*.Lubsan_data102" +.LC35: + .string "*.Lubsan_data101" +.LC36: + .string "*.Lubsan_data100" +.LC37: + .string "*.Lubsan_data99" +.LC38: + .string "*.Lubsan_data98" +.LC39: + .string "*.Lubsan_data97" +.LC40: + .string "*.Lubsan_data96" +.LC41: + .string "*.Lubsan_data95" +.LC42: + .string "*.Lubsan_data94" +.LC43: + .string "*.Lubsan_data93" +.LC44: + .string "*.Lubsan_data92" +.LC45: + .string "*.Lubsan_data91" +.LC46: + .string "*.Lubsan_data90" +.LC47: + .string "*.Lubsan_data89" +.LC48: + .string "*.Lubsan_data88" +.LC49: + .string "*.Lubsan_data87" +.LC50: + .string "*.Lubsan_data86" +.LC51: + .string "*.Lubsan_data85" +.LC52: + .string "*.Lubsan_data84" +.LC53: + .string "*.Lubsan_data83" +.LC54: + .string "*.Lubsan_data82" +.LC55: + .string "*.Lubsan_data81" +.LC56: + .string "*.Lubsan_data80" +.LC57: + .string "*.Lubsan_type8" +.LC58: + .string "*.Lubsan_data79" +.LC59: + .string "*.Lubsan_data78" +.LC60: + .string "*.Lubsan_data77" +.LC61: + .string "*.Lubsan_data76" +.LC62: + .string "*.Lubsan_data75" +.LC63: + .string "*.Lubsan_data74" +.LC64: + .string "*.Lubsan_data73" +.LC65: + .string "*.Lubsan_data72" +.LC66: + .string "*.Lubsan_data71" +.LC67: + .string "*.Lubsan_data70" +.LC68: + .string "*.Lubsan_data69" +.LC69: + .string "*.Lubsan_data68" +.LC70: + .string "*.Lubsan_data67" +.LC71: + .string "*.Lubsan_data66" +.LC72: + .string "*.Lubsan_data65" +.LC73: + .string "*.Lubsan_data64" +.LC74: + .string "*.Lubsan_data63" +.LC75: + .string "*.Lubsan_type7" +.LC76: + .string "*.Lubsan_data62" +.LC77: + .string "*.Lubsan_type6" +.LC78: + .string "*.Lubsan_data61" +.LC79: + .string "*.Lubsan_data60" +.LC80: + .string "*.Lubsan_type5" +.LC81: + .string "*.Lubsan_data59" +.LC82: + .string "*.Lubsan_data58" +.LC83: + .string "*.Lubsan_data57" +.LC84: + .string "*.Lubsan_data56" +.LC85: + .string "*.Lubsan_type4" +.LC86: + .string "*.Lubsan_data55" +.LC87: + .string "*.Lubsan_data54" +.LC88: + .string "*.Lubsan_data53" +.LC89: + .string "*.Lubsan_type3" +.LC90: + .string "*.Lubsan_data52" +.LC91: + .string "*.Lubsan_data51" +.LC92: + .string "*.Lubsan_type2" +.LC93: + .string "*.Lubsan_data50" +.LC94: + .string "*.Lubsan_type1" +.LC95: + .string "*.Lubsan_data49" +.LC96: + .string "*.Lubsan_data48" +.LC97: + .string "*.Lubsan_data46" +.LC98: + .string "*.Lubsan_data45" +.LC99: + .string "*.Lubsan_data43" +.LC100: + .string "*.Lubsan_data42" +.LC101: + .string "*.Lubsan_data41" +.LC102: + .string "*.Lubsan_data40" +.LC103: + .string "*.Lubsan_data38" +.LC104: + .string "*.Lubsan_data36" +.LC105: + .string "*.Lubsan_data34" +.LC106: + .string "*.Lubsan_data32" +.LC107: + .string "*.Lubsan_data30" +.LC108: + .string "*.Lubsan_data29" +.LC109: + .string "*.Lubsan_data27" +.LC110: + .string "*.Lubsan_data25" +.LC111: + .string "*.Lubsan_data23" +.LC112: + .string "*.Lubsan_data21" +.LC113: + .string "*.Lubsan_data19" +.LC114: + .string "*.Lubsan_data17" +.LC115: + .string "*.Lubsan_data15" +.LC116: + .string "*.Lubsan_data13" +.LC117: + .string "__func__" +.LC118: + .string "*.Lubsan_data10" +.LC119: + .string "*.Lubsan_data9" +.LC120: + .string "*.LC10" +.LC121: + .string "*.LC16" +.LC122: + .string "*.LC21" +.LC123: + .string "*.LC13" +.LC124: + .string "*.LC0" +.LC125: + .string "*.LC8" +.LC126: + .string "*.LC22" +.LC127: + .string "*.LC9" +.LC128: + .string "*.LC6" +.LC129: + .string "*.LC4" +.LC130: + .string "*.LC11" +.LC131: + .string "*.LC2" +.LC132: + .string "*.LC3" +.LC133: + .string "*.LC5" +.LC134: + .string "*.LC15" +.LC135: + .string "*.LC1" +.LC136: + .string "*.LC7" +.LC137: + .string "*.LC18" +.LC138: + .string "*.LC14" +.LC139: + .string "*.LC20" +.LC140: + .string "*.LC12" +.LC141: + .string "*.LC19" + .section .data.rel.local + .align 32 + .type .LASAN0, @object + .size .LASAN0, 7808 +.LASAN0: + .quad .Lubsan_data113 + .quad 32 + .quad 64 + .quad .LC23 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data112 + .quad 16 + .quad 64 + .quad .LC24 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data111 + .quad 32 + .quad 64 + .quad .LC25 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data110 + .quad 32 + .quad 64 + .quad .LC26 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data109 + .quad 16 + .quad 64 + .quad .LC27 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data108 + .quad 32 + .quad 64 + .quad .LC28 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data107 + .quad 32 + .quad 64 + .quad .LC29 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data106 + .quad 32 + .quad 64 + .quad .LC30 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data105 + .quad 16 + .quad 64 + .quad .LC31 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data104 + .quad 32 + .quad 64 + .quad .LC32 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data103 + .quad 16 + .quad 64 + .quad .LC33 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data102 + .quad 32 + .quad 64 + .quad .LC34 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data101 + .quad 16 + .quad 64 + .quad .LC35 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data100 + .quad 32 + .quad 64 + .quad .LC36 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data99 + .quad 16 + .quad 64 + .quad .LC37 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data98 + .quad 32 + .quad 64 + .quad .LC38 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data97 + .quad 32 + .quad 64 + .quad .LC39 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data96 + .quad 16 + .quad 64 + .quad .LC40 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data95 + .quad 32 + .quad 64 + .quad .LC41 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data94 + .quad 32 + .quad 64 + .quad .LC42 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data93 + .quad 32 + .quad 64 + .quad .LC43 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data92 + .quad 16 + .quad 64 + .quad .LC44 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data91 + .quad 32 + .quad 64 + .quad .LC45 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data90 + .quad 16 + .quad 64 + .quad .LC46 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data89 + .quad 32 + .quad 64 + .quad .LC47 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data88 + .quad 32 + .quad 64 + .quad .LC48 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data87 + .quad 32 + .quad 64 + .quad .LC49 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data86 + .quad 32 + .quad 64 + .quad .LC50 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data85 + .quad 32 + .quad 64 + .quad .LC51 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data84 + .quad 32 + .quad 64 + .quad .LC52 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data83 + .quad 16 + .quad 64 + .quad .LC53 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data82 + .quad 32 + .quad 64 + .quad .LC54 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data81 + .quad 32 + .quad 64 + .quad .LC55 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data80 + .quad 32 + .quad 64 + .quad .LC56 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type8 + .quad 14 + .quad 64 + .quad .LC57 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data79 + .quad 16 + .quad 64 + .quad .LC58 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data78 + .quad 16 + .quad 64 + .quad .LC59 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data77 + .quad 32 + .quad 64 + .quad .LC60 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data76 + .quad 32 + .quad 64 + .quad .LC61 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data75 + .quad 16 + .quad 64 + .quad .LC62 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data74 + .quad 32 + .quad 64 + .quad .LC63 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data73 + .quad 16 + .quad 64 + .quad .LC64 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data72 + .quad 32 + .quad 64 + .quad .LC65 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data71 + .quad 32 + .quad 64 + .quad .LC66 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data70 + .quad 16 + .quad 64 + .quad .LC67 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data69 + .quad 32 + .quad 64 + .quad .LC68 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data68 + .quad 32 + .quad 64 + .quad .LC69 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data67 + .quad 32 + .quad 64 + .quad .LC70 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data66 + .quad 32 + .quad 64 + .quad .LC71 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data65 + .quad 16 + .quad 64 + .quad .LC72 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data64 + .quad 16 + .quad 64 + .quad .LC73 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data63 + .quad 32 + .quad 64 + .quad .LC74 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type7 + .quad 23 + .quad 64 + .quad .LC75 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data62 + .quad 32 + .quad 64 + .quad .LC76 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type6 + .quad 24 + .quad 64 + .quad .LC77 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data61 + .quad 32 + .quad 64 + .quad .LC78 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data60 + .quad 32 + .quad 64 + .quad .LC79 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type5 + .quad 31 + .quad 64 + .quad .LC80 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data59 + .quad 16 + .quad 64 + .quad .LC81 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data58 + .quad 32 + .quad 64 + .quad .LC82 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data57 + .quad 16 + .quad 64 + .quad .LC83 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data56 + .quad 32 + .quad 64 + .quad .LC84 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type4 + .quad 33 + .quad 96 + .quad .LC85 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data55 + .quad 32 + .quad 64 + .quad .LC86 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data54 + .quad 16 + .quad 64 + .quad .LC87 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data53 + .quad 32 + .quad 64 + .quad .LC88 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type3 + .quad 30 + .quad 64 + .quad .LC89 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data52 + .quad 16 + .quad 64 + .quad .LC90 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data51 + .quad 32 + .quad 64 + .quad .LC91 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type2 + .quad 29 + .quad 64 + .quad .LC92 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data50 + .quad 32 + .quad 64 + .quad .LC93 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type1 + .quad 20 + .quad 64 + .quad .LC94 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data49 + .quad 16 + .quad 64 + .quad .LC95 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data48 + .quad 40 + .quad 96 + .quad .LC96 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data46 + .quad 40 + .quad 96 + .quad .LC97 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data45 + .quad 40 + .quad 96 + .quad .LC98 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data43 + .quad 40 + .quad 96 + .quad .LC99 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data42 + .quad 40 + .quad 96 + .quad .LC100 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data41 + .quad 40 + .quad 96 + .quad .LC101 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data40 + .quad 40 + .quad 96 + .quad .LC102 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data38 + .quad 40 + .quad 96 + .quad .LC103 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data36 + .quad 40 + .quad 96 + .quad .LC104 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data34 + .quad 40 + .quad 96 + .quad .LC105 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data32 + .quad 40 + .quad 96 + .quad .LC106 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data30 + .quad 40 + .quad 96 + .quad .LC107 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data29 + .quad 40 + .quad 96 + .quad .LC108 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data27 + .quad 40 + .quad 96 + .quad .LC109 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data25 + .quad 40 + .quad 96 + .quad .LC110 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data23 + .quad 40 + .quad 96 + .quad .LC111 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data21 + .quad 40 + .quad 96 + .quad .LC112 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data19 + .quad 40 + .quad 96 + .quad .LC113 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data17 + .quad 40 + .quad 96 + .quad .LC114 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data15 + .quad 40 + .quad 96 + .quad .LC115 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data13 + .quad 40 + .quad 96 + .quad .LC116 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad __func__.0 + .quad 16 + .quad 64 + .quad .LC117 + .quad .LC7 + .quad 0 + .quad .LASANLOC1 + .quad 0 + .quad __func__.1 + .quad 11 + .quad 64 + .quad .LC117 + .quad .LC7 + .quad 0 + .quad .LASANLOC2 + .quad 0 + .quad __func__.2 + .quad 11 + .quad 64 + .quad .LC117 + .quad .LC7 + .quad 0 + .quad .LASANLOC3 + .quad 0 + .quad __func__.3 + .quad 10 + .quad 64 + .quad .LC117 + .quad .LC7 + .quad 0 + .quad .LASANLOC4 + .quad 0 + .quad .Lubsan_data10 + .quad 16 + .quad 64 + .quad .LC118 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data9 + .quad 16 + .quad 64 + .quad .LC119 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .LC10 + .quad 19 + .quad 64 + .quad .LC120 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .LC16 + .quad 64 + .quad 96 + .quad .LC121 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .LC21 + .quad 88 + .quad 128 + .quad .LC122 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .LC13 + .quad 16 + .quad 64 + .quad .LC123 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .LC0 + .quad 17 + .quad 64 + .quad .LC124 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .LC8 + .quad 69 + .quad 128 + .quad .LC125 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .LC22 + .quad 68 + .quad 128 + .quad .LC126 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .LC9 + .quad 92 + .quad 128 + .quad .LC127 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .LC6 + .quad 2 + .quad 64 + .quad .LC128 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .LC4 + .quad 8 + .quad 64 + .quad .LC129 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .LC11 + .quad 13 + .quad 64 + .quad .LC130 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .LC2 + .quad 18 + .quad 64 + .quad .LC131 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .LC3 + .quad 8 + .quad 64 + .quad .LC132 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .LC5 + .quad 10 + .quad 64 + .quad .LC133 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .LC15 + .quad 3 + .quad 64 + .quad .LC134 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .LC1 + .quad 20 + .quad 64 + .quad .LC135 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .LC7 + .quad 18 + .quad 64 + .quad .LC136 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .LC18 + .quad 84 + .quad 128 + .quad .LC137 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .LC14 + .quad 10 + .quad 64 + .quad .LC138 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .LC20 + .quad 56 + .quad 96 + .quad .LC139 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .LC12 + .quad 9 + .quad 64 + .quad .LC140 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .quad .LC19 + .quad 41 + .quad 96 + .quad .LC141 + .quad .LC7 + .quad 0 + .quad 0 + .quad 0 + .text + .type _sub_D_00099_0, @function +_sub_D_00099_0: +.LFB66: + .cfi_startproc + .loc 1 214 1 is_stmt 1 view .LVU475 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl $122, %esi + leaq .LASAN0(%rip), %rdi + call __asan_unregister_globals@PLT + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE66: + .size _sub_D_00099_0, .-_sub_D_00099_0 + .section .fini_array.00099,"aw" + .align 8 + .quad _sub_D_00099_0 + .text + .type _sub_I_00099_1, @function +_sub_I_00099_1: +.LFB67: + .cfi_startproc + .loc 1 214 1 view .LVU476 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + call __asan_init@PLT + call __asan_version_mismatch_check_v8@PLT + movl $122, %esi + leaq .LASAN0(%rip), %rdi + call __asan_register_globals@PLT + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE67: + .size _sub_I_00099_1, .-_sub_I_00099_1 + .section .init_array.00099,"aw" + .align 8 + .quad _sub_I_00099_1 + .text +.Letext0: + .file 3 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" + .file 4 "/usr/include/bits/types.h" + .file 5 "include/array.h" + .file 6 "/usr/include/bits/stdint-uintn.h" + .file 7 "/usr/include/stdint.h" + .file 8 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdarg.h" + .file 9 "" + .file 10 "/usr/include/bits/types/struct_FILE.h" + .file 11 "/usr/include/bits/types/FILE.h" + .file 12 "/usr/include/stdio.h" + .file 13 "include/io.h" + .file 14 "include/lexer.h" + .file 15 "include/diagnostics.h" + .file 16 "include/generic.h" + .file 17 "include/ansi-colors.h" + .file 18 "/usr/include/bits/stdio2-decl.h" + .file 19 "/usr/include/string.h" + .file 20 "/usr/include/stdlib.h" + .file 21 "/usr/include/ctype.h" + .section .debug_info,"",@progbits +.Ldebug_info0: + .long 0x2667 + .value 0x5 + .byte 0x1 + .byte 0x8 + .long .Ldebug_abbrev0 + .uleb128 0x2c + .long .LASF212 + .byte 0x1d + .long .LASF0 + .long .LASF1 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .long .Ldebug_line0 + .uleb128 0xb + .long .LASF9 + .byte 0x3 + .byte 0xd6 + .byte 0x1b + .long 0x3a + .uleb128 0xf + .byte 0x8 + .byte 0x7 + .long .LASF2 + .uleb128 0x2d + .byte 0x4 + .byte 0x5 + .string "int" + .uleb128 0xf + .byte 0x8 + .byte 0x5 + .long .LASF3 + .uleb128 0xf + .byte 0x8 + .byte 0x5 + .long .LASF4 + .uleb128 0xf + .byte 0x1 + .byte 0x8 + .long .LASF5 + .uleb128 0xf + .byte 0x2 + .byte 0x7 + .long .LASF6 + .uleb128 0x11 + .long 0x5d + .uleb128 0xf + .byte 0x4 + .byte 0x7 + .long .LASF7 + .uleb128 0xf + .byte 0x1 + .byte 0x6 + .long .LASF8 + .uleb128 0xb + .long .LASF10 + .byte 0x4 + .byte 0x26 + .byte 0x17 + .long 0x56 + .uleb128 0xf + .byte 0x2 + .byte 0x5 + .long .LASF11 + .uleb128 0xb + .long .LASF12 + .byte 0x4 + .byte 0x2d + .byte 0x1b + .long 0x3a + .uleb128 0xb + .long .LASF13 + .byte 0x4 + .byte 0x98 + .byte 0x12 + .long 0x48 + .uleb128 0xb + .long .LASF14 + .byte 0x4 + .byte 0x99 + .byte 0x12 + .long 0x48 + .uleb128 0x2e + .byte 0x8 + .uleb128 0xa + .long 0xb5 + .uleb128 0xf + .byte 0x1 + .byte 0x6 + .long .LASF15 + .uleb128 0x11 + .long 0xb5 + .uleb128 0xf + .byte 0x8 + .byte 0x7 + .long .LASF16 + .uleb128 0xb + .long .LASF17 + .byte 0x5 + .byte 0xb + .byte 0x1c + .long 0xd4 + .uleb128 0xa + .long 0xd9 + .uleb128 0x17 + .long .LASF57 + .uleb128 0xb + .long .LASF18 + .byte 0x5 + .byte 0xc + .byte 0x10 + .long 0xea + .uleb128 0xa + .long 0xef + .uleb128 0x2f + .long 0xfa + .uleb128 0x8 + .long 0xae + .byte 0 + .uleb128 0xb + .long .LASF19 + .byte 0x6 + .byte 0x18 + .byte 0x13 + .long 0x77 + .uleb128 0x11 + .long 0xfa + .uleb128 0xb + .long .LASF20 + .byte 0x6 + .byte 0x1b + .byte 0x14 + .long 0x8a + .uleb128 0xb + .long .LASF21 + .byte 0x7 + .byte 0x4f + .byte 0x1b + .long 0x3a + .uleb128 0xb + .long .LASF22 + .byte 0x8 + .byte 0x28 + .byte 0x1b + .long 0x12f + .uleb128 0x30 + .long .LASF213 + .long 0x138 + .uleb128 0x12 + .long 0x148 + .long 0x148 + .uleb128 0x13 + .long 0x3a + .byte 0 + .byte 0 + .uleb128 0x31 + .long .LASF214 + .byte 0x18 + .byte 0x9 + .byte 0 + .long 0x17d + .uleb128 0x18 + .long .LASF23 + .long 0x69 + .byte 0 + .uleb128 0x18 + .long .LASF24 + .long 0x69 + .byte 0x4 + .uleb128 0x18 + .long .LASF25 + .long 0xae + .byte 0x8 + .uleb128 0x18 + .long .LASF26 + .long 0xae + .byte 0x10 + .byte 0 + .uleb128 0x19 + .long .LASF109 + .byte 0xd8 + .byte 0xa + .byte 0x31 + .long 0x303 + .uleb128 0x4 + .long .LASF27 + .byte 0xa + .byte 0x33 + .byte 0x7 + .long 0x41 + .byte 0 + .uleb128 0x4 + .long .LASF28 + .byte 0xa + .byte 0x36 + .byte 0x9 + .long 0xb0 + .byte 0x8 + .uleb128 0x4 + .long .LASF29 + .byte 0xa + .byte 0x37 + .byte 0x9 + .long 0xb0 + .byte 0x10 + .uleb128 0x4 + .long .LASF30 + .byte 0xa + .byte 0x38 + .byte 0x9 + .long 0xb0 + .byte 0x18 + .uleb128 0x4 + .long .LASF31 + .byte 0xa + .byte 0x39 + .byte 0x9 + .long 0xb0 + .byte 0x20 + .uleb128 0x4 + .long .LASF32 + .byte 0xa + .byte 0x3a + .byte 0x9 + .long 0xb0 + .byte 0x28 + .uleb128 0x4 + .long .LASF33 + .byte 0xa + .byte 0x3b + .byte 0x9 + .long 0xb0 + .byte 0x30 + .uleb128 0x4 + .long .LASF34 + .byte 0xa + .byte 0x3c + .byte 0x9 + .long 0xb0 + .byte 0x38 + .uleb128 0x4 + .long .LASF35 + .byte 0xa + .byte 0x3d + .byte 0x9 + .long 0xb0 + .byte 0x40 + .uleb128 0x4 + .long .LASF36 + .byte 0xa + .byte 0x40 + .byte 0x9 + .long 0xb0 + .byte 0x48 + .uleb128 0x4 + .long .LASF37 + .byte 0xa + .byte 0x41 + .byte 0x9 + .long 0xb0 + .byte 0x50 + .uleb128 0x4 + .long .LASF38 + .byte 0xa + .byte 0x42 + .byte 0x9 + .long 0xb0 + .byte 0x58 + .uleb128 0x4 + .long .LASF39 + .byte 0xa + .byte 0x44 + .byte 0x16 + .long 0x31c + .byte 0x60 + .uleb128 0x4 + .long .LASF40 + .byte 0xa + .byte 0x46 + .byte 0x14 + .long 0x321 + .byte 0x68 + .uleb128 0x4 + .long .LASF41 + .byte 0xa + .byte 0x48 + .byte 0x7 + .long 0x41 + .byte 0x70 + .uleb128 0x4 + .long .LASF42 + .byte 0xa + .byte 0x49 + .byte 0x7 + .long 0x41 + .byte 0x74 + .uleb128 0x4 + .long .LASF43 + .byte 0xa + .byte 0x4a + .byte 0xb + .long 0x96 + .byte 0x78 + .uleb128 0x4 + .long .LASF44 + .byte 0xa + .byte 0x4d + .byte 0x12 + .long 0x5d + .byte 0x80 + .uleb128 0x4 + .long .LASF45 + .byte 0xa + .byte 0x4e + .byte 0xf + .long 0x70 + .byte 0x82 + .uleb128 0x4 + .long .LASF46 + .byte 0xa + .byte 0x4f + .byte 0x8 + .long 0x326 + .byte 0x83 + .uleb128 0x4 + .long .LASF47 + .byte 0xa + .byte 0x51 + .byte 0xf + .long 0x336 + .byte 0x88 + .uleb128 0x4 + .long .LASF48 + .byte 0xa + .byte 0x59 + .byte 0xd + .long 0xa2 + .byte 0x90 + .uleb128 0x4 + .long .LASF49 + .byte 0xa + .byte 0x5b + .byte 0x17 + .long 0x340 + .byte 0x98 + .uleb128 0x4 + .long .LASF50 + .byte 0xa + .byte 0x5c + .byte 0x19 + .long 0x34a + .byte 0xa0 + .uleb128 0x4 + .long .LASF51 + .byte 0xa + .byte 0x5d + .byte 0x14 + .long 0x321 + .byte 0xa8 + .uleb128 0x4 + .long .LASF52 + .byte 0xa + .byte 0x5e + .byte 0x9 + .long 0xae + .byte 0xb0 + .uleb128 0x4 + .long .LASF53 + .byte 0xa + .byte 0x5f + .byte 0xa + .long 0x2e + .byte 0xb8 + .uleb128 0x4 + .long .LASF54 + .byte 0xa + .byte 0x60 + .byte 0x7 + .long 0x41 + .byte 0xc0 + .uleb128 0x4 + .long .LASF55 + .byte 0xa + .byte 0x62 + .byte 0x8 + .long 0x34f + .byte 0xc4 + .byte 0 + .uleb128 0xb + .long .LASF56 + .byte 0xb + .byte 0x7 + .byte 0x19 + .long 0x17d + .uleb128 0x32 + .long .LASF215 + .byte 0xa + .byte 0x2b + .byte 0xe + .uleb128 0x17 + .long .LASF58 + .uleb128 0xa + .long 0x317 + .uleb128 0xa + .long 0x17d + .uleb128 0x12 + .long 0xb5 + .long 0x336 + .uleb128 0x13 + .long 0x3a + .byte 0 + .byte 0 + .uleb128 0xa + .long 0x30f + .uleb128 0x17 + .long .LASF59 + .uleb128 0xa + .long 0x33b + .uleb128 0x17 + .long .LASF60 + .uleb128 0xa + .long 0x345 + .uleb128 0x12 + .long 0xb5 + .long 0x35f + .uleb128 0x13 + .long 0x3a + .byte 0x13 + .byte 0 + .uleb128 0xa + .long 0xbc + .uleb128 0x1e + .long 0x35f + .uleb128 0x11 + .long 0x35f + .uleb128 0xb + .long .LASF61 + .byte 0xc + .byte 0x35 + .byte 0x18 + .long 0x123 + .uleb128 0xa + .long 0x303 + .uleb128 0x1e + .long 0x37a + .uleb128 0x21 + .long .LASF62 + .byte 0x96 + .long 0x37a + .uleb128 0x21 + .long .LASF63 + .byte 0x97 + .long 0x37a + .uleb128 0xb + .long .LASF64 + .byte 0xd + .byte 0x6 + .byte 0xf + .long 0x37a + .uleb128 0xa + .long 0xfa + .uleb128 0xa + .long 0x64 + .uleb128 0x22 + .long .LASF115 + .long 0x69 + .byte 0xe + .byte 0x1d + .long 0x4b4 + .uleb128 0x3 + .long .LASF65 + .byte 0 + .uleb128 0x3 + .long .LASF66 + .byte 0x1 + .uleb128 0x3 + .long .LASF67 + .byte 0x2 + .uleb128 0x3 + .long .LASF68 + .byte 0x3 + .uleb128 0x3 + .long .LASF69 + .byte 0x4 + .uleb128 0x3 + .long .LASF70 + .byte 0x5 + .uleb128 0x3 + .long .LASF71 + .byte 0x6 + .uleb128 0x3 + .long .LASF72 + .byte 0x7 + .uleb128 0x3 + .long .LASF73 + .byte 0x8 + .uleb128 0x1a + .string "Dot" + .byte 0x9 + .uleb128 0x1a + .string "Add" + .byte 0xa + .uleb128 0x3 + .long .LASF74 + .byte 0xb + .uleb128 0x1a + .string "Div" + .byte 0xc + .uleb128 0x3 + .long .LASF75 + .byte 0xd + .uleb128 0x3 + .long .LASF76 + .byte 0xe + .uleb128 0x3 + .long .LASF77 + .byte 0xf + .uleb128 0x3 + .long .LASF78 + .byte 0x10 + .uleb128 0x3 + .long .LASF79 + .byte 0x11 + .uleb128 0x3 + .long .LASF80 + .byte 0x12 + .uleb128 0x3 + .long .LASF81 + .byte 0x13 + .uleb128 0x3 + .long .LASF82 + .byte 0x14 + .uleb128 0x3 + .long .LASF83 + .byte 0x15 + .uleb128 0x3 + .long .LASF84 + .byte 0x16 + .uleb128 0x3 + .long .LASF85 + .byte 0x17 + .uleb128 0x3 + .long .LASF86 + .byte 0x18 + .uleb128 0x3 + .long .LASF87 + .byte 0x19 + .uleb128 0x1a + .string "Not" + .byte 0x1a + .uleb128 0x3 + .long .LASF88 + .byte 0x1b + .uleb128 0x3 + .long .LASF89 + .byte 0x1c + .uleb128 0x3 + .long .LASF90 + .byte 0x1d + .uleb128 0x3 + .long .LASF91 + .byte 0x1e + .uleb128 0x3 + .long .LASF92 + .byte 0x1f + .uleb128 0x3 + .long .LASF93 + .byte 0x20 + .uleb128 0x3 + .long .LASF94 + .byte 0x21 + .uleb128 0x3 + .long .LASF95 + .byte 0x22 + .uleb128 0x3 + .long .LASF96 + .byte 0x23 + .uleb128 0x3 + .long .LASF97 + .byte 0x24 + .uleb128 0x3 + .long .LASF98 + .byte 0x25 + .uleb128 0x3 + .long .LASF99 + .byte 0x26 + .uleb128 0x3 + .long .LASF100 + .byte 0x27 + .uleb128 0x3 + .long .LASF101 + .byte 0x28 + .byte 0 + .uleb128 0x1f + .byte 0x18 + .byte 0xe + .byte 0x34 + .byte 0x9 + .long 0x4e5 + .uleb128 0x4 + .long .LASF102 + .byte 0xe + .byte 0x36 + .byte 0xc + .long 0x10b + .byte 0 + .uleb128 0x4 + .long .LASF103 + .byte 0xe + .byte 0x37 + .byte 0xc + .long 0x10b + .byte 0x8 + .uleb128 0x4 + .long .LASF104 + .byte 0xe + .byte 0x38 + .byte 0x14 + .long 0x3ae + .byte 0x10 + .byte 0 + .uleb128 0xb + .long .LASF105 + .byte 0xe + .byte 0x39 + .byte 0x4 + .long 0x4f1 + .uleb128 0xa + .long 0x4b4 + .uleb128 0x1f + .byte 0x1 + .byte 0xf + .byte 0xa + .byte 0x3 + .long 0x50a + .uleb128 0x23 + .long .LASF107 + .byte 0xc + .long 0x50a + .byte 0 + .uleb128 0xf + .byte 0x1 + .byte 0x2 + .long .LASF106 + .uleb128 0x1f + .byte 0x1 + .byte 0xf + .byte 0xe + .byte 0x3 + .long 0x525 + .uleb128 0x23 + .long .LASF108 + .byte 0x10 + .long 0x50a + .byte 0 + .uleb128 0x19 + .long .LASF110 + .byte 0x18 + .byte 0xf + .byte 0x8 + .long 0x566 + .uleb128 0x4 + .long .LASF111 + .byte 0xf + .byte 0xd + .byte 0x5 + .long 0x4f6 + .byte 0 + .uleb128 0x4 + .long .LASF112 + .byte 0xf + .byte 0x11 + .byte 0x5 + .long 0x511 + .byte 0x1 + .uleb128 0x4 + .long .LASF113 + .byte 0xf + .byte 0x12 + .byte 0xa + .long 0x566 + .byte 0x8 + .uleb128 0x4 + .long .LASF114 + .byte 0xf + .byte 0x13 + .byte 0xa + .long 0x2e + .byte 0x10 + .byte 0 + .uleb128 0xa + .long 0xb0 + .uleb128 0x1e + .long 0x566 + .uleb128 0x22 + .long .LASF116 + .long 0x69 + .byte 0xf + .byte 0x16 + .long 0x592 + .uleb128 0x3 + .long .LASF117 + .byte 0 + .uleb128 0x3 + .long .LASF118 + .byte 0x1 + .uleb128 0x3 + .long .LASF119 + .byte 0x2 + .byte 0 + .uleb128 0xb + .long .LASF120 + .byte 0xf + .byte 0x1e + .byte 0x21 + .long 0x59e + .uleb128 0xa + .long 0x5a3 + .uleb128 0x19 + .long .LASF121 + .byte 0x20 + .byte 0x1 + .byte 0x10 + .long 0x5e4 + .uleb128 0x4 + .long .LASF122 + .byte 0x1 + .byte 0x12 + .byte 0xc + .long 0x3a4 + .byte 0 + .uleb128 0x4 + .long .LASF123 + .byte 0x1 + .byte 0x13 + .byte 0xb + .long 0xc8 + .byte 0x8 + .uleb128 0x4 + .long .LASF124 + .byte 0x1 + .byte 0x14 + .byte 0x1c + .long 0x643 + .byte 0x10 + .uleb128 0x4 + .long .LASF125 + .byte 0x1 + .byte 0x15 + .byte 0xf + .long 0x35f + .byte 0x18 + .byte 0 + .uleb128 0x33 + .byte 0x7 + .byte 0x4 + .long 0x69 + .byte 0x15 + .byte 0x2f + .byte 0x1 + .long 0x643 + .uleb128 0x10 + .long .LASF126 + .value 0x100 + .uleb128 0x10 + .long .LASF127 + .value 0x200 + .uleb128 0x10 + .long .LASF128 + .value 0x400 + .uleb128 0x10 + .long .LASF129 + .value 0x800 + .uleb128 0x10 + .long .LASF130 + .value 0x1000 + .uleb128 0x10 + .long .LASF131 + .value 0x2000 + .uleb128 0x10 + .long .LASF132 + .value 0x4000 + .uleb128 0x10 + .long .LASF133 + .value 0x8000 + .uleb128 0x3 + .long .LASF134 + .byte 0x1 + .uleb128 0x3 + .long .LASF135 + .byte 0x2 + .uleb128 0x3 + .long .LASF136 + .byte 0x4 + .uleb128 0x3 + .long .LASF137 + .byte 0x8 + .byte 0 + .uleb128 0xa + .long 0x525 + .uleb128 0x19 + .long .LASF138 + .byte 0x18 + .byte 0x1 + .byte 0x18 + .long 0x67c + .uleb128 0x4 + .long .LASF139 + .byte 0x1 + .byte 0x1a + .byte 0xc + .long 0x4e5 + .byte 0 + .uleb128 0x4 + .long .LASF104 + .byte 0x1 + .byte 0x1b + .byte 0x13 + .long 0x570 + .byte 0x8 + .uleb128 0x34 + .string "msg" + .byte 0x1 + .byte 0x1c + .byte 0x9 + .long 0xb0 + .byte 0x10 + .byte 0 + .uleb128 0x20 + .long .LASF140 + .byte 0x10 + .byte 0x50 + .long 0x692 + .uleb128 0x8 + .long 0x35f + .uleb128 0x8 + .long 0xae + .byte 0 + .uleb128 0x20 + .long .LASF141 + .byte 0x5 + .byte 0x27 + .long 0x6a8 + .uleb128 0x8 + .long 0xc8 + .uleb128 0x8 + .long 0xde + .byte 0 + .uleb128 0x24 + .long .LASF150 + .byte 0x15 + .byte 0x4f + .byte 0x23 + .long 0x6b4 + .uleb128 0xa + .long 0x3a9 + .uleb128 0x20 + .long .LASF142 + .byte 0x11 + .byte 0x25 + .long 0x6d5 + .uleb128 0x8 + .long 0x398 + .uleb128 0x8 + .long 0x35f + .uleb128 0x8 + .long 0x35f + .uleb128 0x1b + .byte 0 + .uleb128 0x14 + .long .LASF143 + .byte 0x5 + .byte 0x21 + .byte 0x7 + .long 0xae + .long 0x6f0 + .uleb128 0x8 + .long 0xc8 + .uleb128 0x8 + .long 0x2e + .byte 0 + .uleb128 0x14 + .long .LASF144 + .byte 0x5 + .byte 0x24 + .byte 0x8 + .long 0x2e + .long 0x706 + .uleb128 0x8 + .long 0xc8 + .byte 0 + .uleb128 0x14 + .long .LASF145 + .byte 0x12 + .byte 0x31 + .byte 0xc + .long 0x41 + .long 0x727 + .uleb128 0x8 + .long 0x37f + .uleb128 0x8 + .long 0x41 + .uleb128 0x8 + .long 0x364 + .uleb128 0x1b + .byte 0 + .uleb128 0x14 + .long .LASF146 + .byte 0x13 + .byte 0x9c + .byte 0xc + .long 0x41 + .long 0x742 + .uleb128 0x8 + .long 0x35f + .uleb128 0x8 + .long 0x35f + .byte 0 + .uleb128 0x14 + .long .LASF147 + .byte 0x5 + .byte 0x1e + .byte 0x7 + .long 0xae + .long 0x75d + .uleb128 0x8 + .long 0xc8 + .uleb128 0x8 + .long 0xae + .byte 0 + .uleb128 0x35 + .long .LASF148 + .byte 0x14 + .value 0x2f4 + .byte 0xd + .long 0x770 + .uleb128 0x8 + .long 0x41 + .byte 0 + .uleb128 0x36 + .long .LASF149 + .byte 0xc + .value 0x18d + .byte 0xc + .long 0x41 + .long 0x791 + .uleb128 0x8 + .long 0x56b + .uleb128 0x8 + .long 0x364 + .uleb128 0x8 + .long 0x791 + .byte 0 + .uleb128 0xa + .long 0x148 + .uleb128 0x24 + .long .LASF151 + .byte 0x5 + .byte 0xf + .byte 0x9 + .long 0xc8 + .uleb128 0x14 + .long .LASF152 + .byte 0x10 + .byte 0x52 + .byte 0x7 + .long 0xae + .long 0x7c2 + .uleb128 0x8 + .long 0x35f + .uleb128 0x8 + .long 0x2e + .uleb128 0x8 + .long 0x2e + .byte 0 + .uleb128 0x25 + .long .LASF174 + .byte 0xd0 + .quad .LFB65 + .quad .LFE65-.LFB65 + .uleb128 0x1 + .byte 0x9c + .long 0x9d4 + .uleb128 0x9 + .long .LASF153 + .byte 0xd0 + .byte 0x15 + .long 0x592 + .long .LLST74 + .long .LVUS74 + .uleb128 0x1c + .long .LASF155 + .long 0x9e4 + .uleb128 0x9 + .byte 0x3 + .quad __func__.1 + .uleb128 0xd + .long 0x25b4 + .quad .LBI77 + .byte .LVU461 + .quad .LBB77 + .quad .LBE77-.LBB77 + .byte 0xd2 + .byte 0x3 + .long 0x882 + .uleb128 0x6 + .long 0x25d0 + .long .LLST75 + .long .LVUS75 + .uleb128 0x6 + .long 0x25c5 + .long .LLST76 + .long .LVUS76 + .uleb128 0x7 + .quad .LVL291 + .long 0x706 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC22 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0xd2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL289 + .long 0x6f0 + .long 0x89a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL292 + .long 0x692 + .long 0x8bf + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x9 + .byte 0x3 + .quad diagn_free_impl + .byte 0 + .uleb128 0x2 + .quad .LVL293 + .long 0x67c + .long 0x8e4 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad __func__.1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL296 + .long 0x25dd + .long 0x909 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data111 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL297 + .long 0x25e6 + .long 0x92e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data112 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL298 + .long 0x25ef + .uleb128 0x2 + .quad .LVL299 + .long 0x25f8 + .long 0x95a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data45 + .byte 0 + .uleb128 0x5 + .quad .LVL300 + .long 0x25ef + .uleb128 0x2 + .quad .LVL301 + .long 0x25f8 + .long 0x986 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data46 + .byte 0 + .uleb128 0x2 + .quad .LVL302 + .long 0x25dd + .long 0x9ab + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data113 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL303 + .long 0x25ef + .uleb128 0x7 + .quad .LVL304 + .long 0x25f8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data48 + .byte 0 + .byte 0 + .uleb128 0x12 + .long 0xbc + .long 0x9e4 + .uleb128 0x13 + .long 0x3a + .byte 0xa + .byte 0 + .uleb128 0x11 + .long 0x9d4 + .uleb128 0x26 + .long .LASF160 + .byte 0xc8 + .quad .LFB64 + .quad .LFE64-.LFB64 + .uleb128 0x1 + .byte 0x9c + .long 0xb63 + .uleb128 0x9 + .long .LASF154 + .byte 0xc8 + .byte 0x25 + .long 0xb63 + .long .LLST45 + .long .LVUS45 + .uleb128 0x1c + .long .LASF155 + .long 0xb78 + .uleb128 0x9 + .byte 0x3 + .quad __func__.0 + .uleb128 0xd + .long 0x25b4 + .quad .LBI65 + .byte .LVU281 + .quad .LBB65 + .quad .LBE65-.LBB65 + .byte 0xca + .byte 0x3 + .long 0xaa9 + .uleb128 0x6 + .long 0x25d0 + .long .LLST46 + .long .LVUS46 + .uleb128 0x6 + .long 0x25c5 + .long .LLST47 + .long .LVUS47 + .uleb128 0x7 + .quad .LVL175 + .long 0x706 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC16 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0xca + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL176 + .long 0x67c + .long 0xac1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL177 + .long 0x67c + .long 0xadf + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL180 + .long 0x25ef + .uleb128 0x2 + .quad .LVL181 + .long 0x25f8 + .long 0xb0b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data32 + .byte 0 + .uleb128 0x2 + .quad .LVL182 + .long 0x25dd + .long 0xb30 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data89 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL183 + .long 0x25e6 + .long 0xb55 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data90 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL184 + .long 0x25ef + .byte 0 + .uleb128 0xa + .long 0x648 + .uleb128 0x12 + .long 0xbc + .long 0xb78 + .uleb128 0x13 + .long 0x3a + .byte 0xf + .byte 0 + .uleb128 0x11 + .long 0xb68 + .uleb128 0x27 + .long .LASF180 + .byte 0xb5 + .long 0x10b + .quad .LFB63 + .quad .LFE63-.LFB63 + .uleb128 0x1 + .byte 0x9c + .long 0xe9c + .uleb128 0x9 + .long .LASF153 + .byte 0xb5 + .byte 0x16 + .long 0x592 + .long .LLST64 + .long .LVUS64 + .uleb128 0x9 + .long .LASF156 + .byte 0xb6 + .byte 0x15 + .long 0x398 + .long .LLST65 + .long .LVUS65 + .uleb128 0xc + .long .LASF157 + .byte 0xb8 + .byte 0xc + .long 0x10b + .long .LLST66 + .long .LVUS66 + .uleb128 0xc + .long .LASF158 + .byte 0xb9 + .byte 0xc + .long 0x10b + .long .LLST67 + .long .LVUS67 + .uleb128 0xc + .long .LASF159 + .byte 0xba + .byte 0xc + .long 0x10b + .long .LLST68 + .long .LVUS68 + .uleb128 0xc + .long .LASF154 + .byte 0xbb + .byte 0x16 + .long 0xb63 + .long .LLST69 + .long .LVUS69 + .uleb128 0x15 + .long .LLRL70 + .long 0xdf5 + .uleb128 0x1d + .string "i" + .byte 0xbb + .byte 0x29 + .long 0x2e + .long .LLST71 + .long .LVUS71 + .uleb128 0x2 + .quad .LVL256 + .long 0x25dd + .long 0xc4e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data104 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL257 + .long 0x25e6 + .long 0xc73 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data105 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL261 + .long 0xe9c + .long 0xc99 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x4 + .byte 0x91 + .sleb128 -88 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL263 + .long 0x6f0 + .long 0xcb1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL264 + .long 0x6d5 + .long 0xccf + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL267 + .long 0x2601 + .long 0xce7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 8 + .byte 0 + .uleb128 0x2 + .quad .LVL268 + .long 0x25dd + .long 0xd0c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data106 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL269 + .long 0x25dd + .long 0xd31 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data107 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL271 + .long 0x25dd + .long 0xd56 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data108 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL272 + .long 0x25e6 + .long 0xd7b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data109 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL273 + .long 0x25ef + .uleb128 0x2 + .quad .LVL274 + .long 0x25f8 + .long 0xda7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data41 + .byte 0 + .uleb128 0x2 + .quad .LVL275 + .long 0x25dd + .long 0xdcc + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data110 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL276 + .long 0x25ef + .uleb128 0x7 + .quad .LVL277 + .long 0x25f8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data42 + .byte 0 + .byte 0 + .uleb128 0xd + .long 0x25b4 + .quad .LBI75 + .byte .LVU443 + .quad .LBB75 + .quad .LBE75-.LBB75 + .byte 0xc2 + .byte 0x3 + .long 0xe73 + .uleb128 0x6 + .long 0x25d0 + .long .LLST72 + .long .LVUS72 + .uleb128 0x6 + .long 0x25c5 + .long .LLST73 + .long .LVUS73 + .uleb128 0x7 + .quad .LVL279 + .long 0x706 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC21 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0xc2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x5 + .quad .LVL285 + .long 0x25ef + .uleb128 0x7 + .quad .LVL286 + .long 0x25f8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data43 + .byte 0 + .byte 0 + .uleb128 0x26 + .long .LASF161 + .byte 0x8b + .quad .LFB62 + .quad .LFE62-.LFB62 + .uleb128 0x1 + .byte 0x9c + .long 0x18cf + .uleb128 0x9 + .long .LASF153 + .byte 0x8b + .byte 0x1d + .long 0x592 + .long .LLST20 + .long .LVUS20 + .uleb128 0x9 + .long .LASF156 + .byte 0x8b + .byte 0x2a + .long 0x398 + .long .LLST21 + .long .LVUS21 + .uleb128 0x9 + .long .LASF154 + .byte 0x8b + .byte 0x43 + .long 0xb63 + .long .LLST22 + .long .LVUS22 + .uleb128 0xc + .long .LASF162 + .byte 0x8d + .byte 0xc + .long 0x3a4 + .long .LLST23 + .long .LVUS23 + .uleb128 0xc + .long .LASF163 + .byte 0x8e + .byte 0x1d + .long 0x10b + .long .LLST24 + .long .LVUS24 + .uleb128 0xc + .long .LASF164 + .byte 0x90 + .byte 0x1d + .long 0x10b + .long .LLST25 + .long .LVUS25 + .uleb128 0x28 + .long .LASF102 + .byte 0x95 + .byte 0x1d + .long 0x10b + .uleb128 0xc + .long .LASF165 + .byte 0x9a + .byte 0xc + .long 0x10b + .long .LLST26 + .long .LVUS26 + .uleb128 0x15 + .long .LLRL31 + .long 0x1396 + .uleb128 0x1d + .string "i" + .byte 0x9b + .byte 0xf + .long 0x2e + .long .LLST32 + .long .LVUS32 + .uleb128 0x15 + .long .LLRL33 + .long 0x131f + .uleb128 0xc + .long .LASF166 + .byte 0x9d + .byte 0xd + .long 0xfa + .long .LLST34 + .long .LVUS34 + .uleb128 0x15 + .long .LLRL35 + .long 0x119d + .uleb128 0xc + .long .LASF167 + .byte 0xa2 + .byte 0x23 + .long 0x10b + .long .LLST36 + .long .LVUS36 + .uleb128 0xd + .long 0x25b4 + .quad .LBI51 + .byte .LVU228 + .quad .LBB51 + .quad .LBE51-.LBB51 + .byte 0xa6 + .byte 0x9 + .long 0x100c + .uleb128 0x6 + .long 0x25d0 + .long .LLST37 + .long .LVUS37 + .uleb128 0x6 + .long 0x25c5 + .long .LLST38 + .long .LVUS38 + .uleb128 0x7 + .quad .LVL139 + .long 0x706 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC12 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x1 + .byte 0x34 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x20 + .byte 0 + .byte 0 + .uleb128 0xd + .long 0x25b4 + .quad .LBI53 + .byte .LVU233 + .quad .LBB53 + .quad .LBE53-.LBB53 + .byte 0xa7 + .byte 0x9 + .long 0x1079 + .uleb128 0x6 + .long 0x25d0 + .long .LLST39 + .long .LVUS39 + .uleb128 0x6 + .long 0x25c5 + .long .LLST40 + .long .LVUS40 + .uleb128 0x7 + .quad .LVL141 + .long 0x706 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC13 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL135 + .long 0x18cf + .long 0x109c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x7 + .byte 0x91 + .sleb128 -88 + .byte 0x6 + .byte 0x7d + .sleb128 0 + .byte 0x22 + .byte 0 + .uleb128 0x2 + .quad .LVL147 + .long 0x25dd + .long 0x10c1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data81 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL148 + .long 0x25dd + .long 0x10e6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data82 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL149 + .long 0x25e6 + .long 0x110b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data83 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL150 + .long 0x25ef + .uleb128 0x2 + .quad .LVL151 + .long 0x25dd + .long 0x113d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data84 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL152 + .long 0x25dd + .long 0x1162 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data85 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL154 + .long 0x25f8 + .long 0x1181 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data23 + .byte 0 + .uleb128 0x7 + .quad .LVL155 + .long 0x25f8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data25 + .byte 0 + .byte 0 + .uleb128 0xd + .long 0x25b4 + .quad .LBI56 + .byte .LVU258 + .quad .LBB56 + .quad .LBE56-.LBB56 + .byte 0xab + .byte 0x7 + .long 0x1211 + .uleb128 0x6 + .long 0x25d0 + .long .LLST41 + .long .LVUS41 + .uleb128 0x6 + .long 0x25c5 + .long .LLST42 + .long .LVUS42 + .uleb128 0x7 + .quad .LVL159 + .long 0x706 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC14 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x1 + .byte 0x34 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x4 + .byte 0x91 + .sleb128 -96 + .byte 0x6 + .byte 0 + .byte 0 + .uleb128 0x5 + .quad .LVL125 + .long 0x1bf2 + .uleb128 0x2 + .quad .LVL126 + .long 0x6b9 + .long 0x1251 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC15 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL128 + .long 0x25e6 + .long 0x1276 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data79 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL129 + .long 0x25dd + .long 0x129a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data80 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x30 + .byte 0 + .uleb128 0x2 + .quad .LVL130 + .long 0x260a + .long 0x12b2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL161 + .long 0x25f8 + .long 0x12d1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data27 + .byte 0 + .uleb128 0x2 + .quad .LVL163 + .long 0x25dd + .long 0x12f6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data86 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL164 + .long 0x2601 + .uleb128 0x7 + .quad .LVL165 + .long 0x25f8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data29 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL167 + .long 0x25dd + .long 0x1344 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data87 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL168 + .long 0x25ef + .long 0x135c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL169 + .long 0x25dd + .long 0x1381 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data88 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x7 + .quad .LVL170 + .long 0x25ef + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0xd + .long 0x25b4 + .quad .LBI44 + .byte .LVU151 + .quad .LBB44 + .quad .LBE44-.LBB44 + .byte 0x92 + .byte 0x3 + .long 0x1411 + .uleb128 0x6 + .long 0x25d0 + .long .LLST27 + .long .LVUS27 + .uleb128 0x6 + .long 0x25c5 + .long .LLST28 + .long .LVUS28 + .uleb128 0x7 + .quad .LVL91 + .long 0x706 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC10 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x4 + .byte 0x91 + .sleb128 -96 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0xd + .long 0x25b4 + .quad .LBI46 + .byte .LVU182 + .quad .LBB46 + .quad .LBE46-.LBB46 + .byte 0x96 + .byte 0x3 + .long 0x148b + .uleb128 0x6 + .long 0x25d0 + .long .LLST29 + .long .LVUS29 + .uleb128 0x6 + .long 0x25c5 + .long .LLST30 + .long .LVUS30 + .uleb128 0x7 + .quad .LVL119 + .long 0x706 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC11 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x1 + .byte 0x34 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x4 + .byte 0x91 + .sleb128 -96 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0xd + .long 0x25b4 + .quad .LBI62 + .byte .LVU240 + .quad .LBB62 + .quad .LBE62-.LBB62 + .byte 0xb1 + .byte 0x3 + .long 0x14e5 + .uleb128 0x6 + .long 0x25d0 + .long .LLST43 + .long .LVUS43 + .uleb128 0x6 + .long 0x25c5 + .long .LLST44 + .long .LVUS44 + .uleb128 0x7 + .quad .LVL143 + .long 0x2619 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x1 + .byte 0x3a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL70 + .long 0x25e6 + .long 0x150a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data65 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL74 + .long 0x25dd + .long 0x152f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data61 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL75 + .long 0x25ef + .long 0x1547 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL76 + .long 0x25dd + .long 0x156c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL77 + .long 0x25ef + .long 0x1584 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL78 + .long 0x25dd + .long 0x15a9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data63 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL79 + .long 0x25e6 + .long 0x15ce + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data64 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL80 + .long 0x25ef + .uleb128 0x2 + .quad .LVL82 + .long 0x19a2 + .long 0x15f9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL85 + .long 0x18cf + .long 0x1611 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL88 + .long 0x1b96 + .uleb128 0x2 + .quad .LVL93 + .long 0x25e6 + .long 0x1643 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data78 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL95 + .long 0x25dd + .long 0x1668 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data66 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL96 + .long 0x25dd + .long 0x168d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data67 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL98 + .long 0x25dd + .long 0x16b2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data68 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL99 + .long 0x25ef + .long 0x16ca + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL100 + .long 0x25dd + .long 0x16ef + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data69 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL101 + .long 0x25e6 + .long 0x1714 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data70 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL102 + .long 0x25ef + .uleb128 0x2 + .quad .LVL103 + .long 0x25dd + .long 0x1746 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data71 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL104 + .long 0x25ef + .long 0x175e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL105 + .long 0x25dd + .long 0x1783 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data72 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL106 + .long 0x25e6 + .long 0x17a8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data73 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL107 + .long 0x25ef + .uleb128 0x5 + .quad .LVL108 + .long 0x2601 + .uleb128 0x2 + .quad .LVL109 + .long 0x25dd + .long 0x17e7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data74 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL110 + .long 0x25e6 + .long 0x180c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data75 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL111 + .long 0x25ef + .uleb128 0x2 + .quad .LVL113 + .long 0x25f8 + .long 0x1838 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data19 + .byte 0 + .uleb128 0x2 + .quad .LVL114 + .long 0x25dd + .long 0x185d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data76 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL115 + .long 0x25ef + .long 0x1875 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL116 + .long 0x25dd + .long 0x1894 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data77 + .byte 0 + .uleb128 0x2 + .quad .LVL121 + .long 0x25f8 + .long 0x18b3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data21 + .byte 0 + .uleb128 0x7 + .quad .LVL171 + .long 0x25f8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data30 + .byte 0 + .byte 0 + .uleb128 0x16 + .long .LASF169 + .byte 0x81 + .long 0x10b + .quad .LFB61 + .quad .LFE61-.LFB61 + .uleb128 0x1 + .byte 0x9c + .long 0x199d + .uleb128 0x9 + .long .LASF168 + .byte 0x81 + .byte 0x1e + .long 0x199d + .long .LLST2 + .long .LVUS2 + .uleb128 0x9 + .long .LASF103 + .byte 0x81 + .byte 0x2e + .long 0x10b + .long .LLST3 + .long .LVUS3 + .uleb128 0xc + .long .LASF164 + .byte 0x83 + .byte 0xc + .long 0x10b + .long .LLST4 + .long .LVUS4 + .uleb128 0x29 + .long .LLRL5 + .uleb128 0x1d + .string "i" + .byte 0x84 + .byte 0xf + .long 0x2e + .long .LLST6 + .long .LVUS6 + .uleb128 0x2 + .quad .LVL11 + .long 0x25e6 + .long 0x1963 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data49 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL12 + .long 0x25dd + .long 0x1987 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data50 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x30 + .byte 0 + .uleb128 0x7 + .quad .LVL14 + .long 0x260a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .byte 0 + .byte 0 + .uleb128 0xa + .long 0x106 + .uleb128 0x16 + .long .LASF170 + .byte 0x6e + .long 0x10b + .quad .LFB60 + .quad .LFE60-.LFB60 + .uleb128 0x1 + .byte 0x9c + .long 0x1b96 + .uleb128 0x9 + .long .LASF168 + .byte 0x6e + .byte 0x29 + .long 0x199d + .long .LLST13 + .long .LVUS13 + .uleb128 0x9 + .long .LASF103 + .byte 0x6e + .byte 0x39 + .long 0x10b + .long .LLST14 + .long .LVUS14 + .uleb128 0xc + .long .LASF102 + .byte 0x70 + .byte 0xc + .long 0x10b + .long .LLST15 + .long .LVUS15 + .uleb128 0x15 + .long .LLRL16 + .long 0x1a8c + .uleb128 0x1d + .string "i" + .byte 0x71 + .byte 0xf + .long 0x2e + .long .LLST17 + .long .LVUS17 + .uleb128 0x29 + .long .LLRL18 + .uleb128 0xc + .long .LASF171 + .byte 0x73 + .byte 0xd + .long 0xfa + .long .LLST19 + .long .LVUS19 + .uleb128 0x2 + .quad .LVL52 + .long 0x25e6 + .long 0x1a52 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data54 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL53 + .long 0x25dd + .long 0x1a76 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data55 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x30 + .byte 0 + .uleb128 0x7 + .quad .LVL54 + .long 0x260a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL55 + .long 0x25dd + .long 0x1ab1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data56 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL56 + .long 0x25ef + .long 0x1ac9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL58 + .long 0x6a8 + .uleb128 0x2 + .quad .LVL59 + .long 0x25e6 + .long 0x1afb + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data57 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL60 + .long 0x25dd + .long 0x1b1f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data58 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x30 + .byte 0 + .uleb128 0x2 + .quad .LVL61 + .long 0x260a + .long 0x1b37 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL62 + .long 0x25e6 + .long 0x1b5c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data59 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL63 + .long 0x25dd + .long 0x1b81 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data60 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x7 + .quad .LVL64 + .long 0x2622 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x16 + .long .LASF172 + .byte 0x5e + .long 0x35f + .quad .LFB59 + .quad .LFE59-.LFB59 + .uleb128 0x1 + .byte 0x9c + .long 0x1bf2 + .uleb128 0x9 + .long .LASF104 + .byte 0x5e + .byte 0x27 + .long 0x570 + .long .LLST0 + .long .LVUS0 + .uleb128 0x5 + .quad .LVL1 + .long 0x262b + .uleb128 0x7 + .quad .LVL2 + .long 0x2634 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data10 + .byte 0 + .byte 0 + .uleb128 0x16 + .long .LASF173 + .byte 0x4e + .long 0x35f + .quad .LFB58 + .quad .LFE58-.LFB58 + .uleb128 0x1 + .byte 0x9c + .long 0x1c4e + .uleb128 0x9 + .long .LASF104 + .byte 0x4e + .byte 0x27 + .long 0x570 + .long .LLST1 + .long .LVUS1 + .uleb128 0x5 + .quad .LVL4 + .long 0x262b + .uleb128 0x7 + .quad .LVL5 + .long 0x2634 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data9 + .byte 0 + .byte 0 + .uleb128 0x25 + .long .LASF175 + .byte 0x36 + .quad .LFB57 + .quad .LFE57-.LFB57 + .uleb128 0x1 + .byte 0x9c + .long 0x2131 + .uleb128 0x9 + .long .LASF153 + .byte 0x36 + .byte 0x15 + .long 0x592 + .long .LLST52 + .long .LVUS52 + .uleb128 0x9 + .long .LASF176 + .byte 0x37 + .byte 0x19 + .long 0x35f + .long .LLST53 + .long .LVUS53 + .uleb128 0x9 + .long .LASF104 + .byte 0x38 + .byte 0x1d + .long 0x570 + .long .LLST54 + .long .LVUS54 + .uleb128 0x9 + .long .LASF139 + .byte 0x39 + .byte 0x16 + .long 0x4e5 + .long .LLST55 + .long .LVUS55 + .uleb128 0x37 + .string "fmt" + .byte 0x1 + .byte 0x3a + .byte 0x19 + .long 0x35f + .long .LLST56 + .long .LVUS56 + .uleb128 0x1b + .uleb128 0xc + .long .LASF154 + .byte 0x41 + .byte 0x16 + .long 0xb63 + .long .LLST57 + .long .LVUS57 + .uleb128 0x1c + .long .LASF155 + .long 0x9e4 + .uleb128 0x9 + .byte 0x3 + .quad __func__.2 + .uleb128 0x28 + .long .LASF177 + .byte 0x45 + .byte 0xb + .long 0x36e + .uleb128 0xd + .long 0x25b4 + .quad .LBI67 + .byte .LVU363 + .quad .LBB67 + .quad .LBE67-.LBB67 + .byte 0x3e + .byte 0x7 + .long 0x1d7a + .uleb128 0x6 + .long 0x25d0 + .long .LLST58 + .long .LVUS58 + .uleb128 0x6 + .long 0x25c5 + .long .LLST59 + .long .LVUS59 + .uleb128 0x7 + .quad .LVL223 + .long 0x706 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC18 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x3e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0xd + .long 0x25b4 + .quad .LBI69 + .byte .LVU380 + .quad .LBB69 + .quad .LBE69-.LBB69 + .byte 0x47 + .byte 0x36 + .long 0x1dff + .uleb128 0x6 + .long 0x25d0 + .long .LLST60 + .long .LVUS60 + .uleb128 0x6 + .long 0x25c5 + .long .LLST61 + .long .LVUS61 + .uleb128 0x7 + .quad .LVL237 + .long 0x706 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x47 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x9 + .byte 0x3 + .quad .LC19 + .byte 0 + .byte 0 + .uleb128 0xd + .long 0x25b4 + .quad .LBI71 + .byte .LVU385 + .quad .LBB71 + .quad .LBE71-.LBB71 + .byte 0x47 + .byte 0xb7 + .long 0x1e77 + .uleb128 0x6 + .long 0x25d0 + .long .LLST62 + .long .LVUS62 + .uleb128 0x6 + .long 0x25c5 + .long .LLST63 + .long .LVUS63 + .uleb128 0x7 + .quad .LVL239 + .long 0x706 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC20 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x47 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL211 + .long 0x2131 + .long 0x1e95 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL212 + .long 0x7a2 + .long 0x1ebe + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad __func__.2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x31 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x48 + .byte 0 + .uleb128 0x2 + .quad .LVL215 + .long 0x770 + .long 0x1ee5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 16 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x4 + .byte 0x91 + .sleb128 -400 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x3 + .byte 0x7c + .sleb128 -96 + .byte 0 + .uleb128 0x2 + .quad .LVL216 + .long 0x742 + .long 0x1f03 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL220 + .long 0x263d + .uleb128 0x5 + .quad .LVL224 + .long 0x25ef + .uleb128 0x2 + .quad .LVL225 + .long 0x25f8 + .long 0x1f3c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data34 + .byte 0 + .uleb128 0x2 + .quad .LVL227 + .long 0x25dd + .long 0x1f61 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data97 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL228 + .long 0x2646 + .long 0x1f79 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL229 + .long 0x25dd + .long 0x1f9e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data98 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL230 + .long 0x25e6 + .long 0x1fc3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data99 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL231 + .long 0x264f + .uleb128 0x2 + .quad .LVL232 + .long 0x2658 + .long 0x1fe7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x48 + .byte 0 + .uleb128 0x2 + .quad .LVL233 + .long 0x25dd + .long 0x200c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data100 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL234 + .long 0x25e6 + .long 0x2031 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data101 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL240 + .long 0x262b + .uleb128 0x2 + .quad .LVL241 + .long 0x75d + .long 0x2055 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .uleb128 0x5 + .quad .LVL242 + .long 0x25ef + .uleb128 0x2 + .quad .LVL243 + .long 0x25f8 + .long 0x2081 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data36 + .byte 0 + .uleb128 0x5 + .quad .LVL244 + .long 0x25ef + .uleb128 0x2 + .quad .LVL245 + .long 0x25f8 + .long 0x20ad + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data38 + .byte 0 + .uleb128 0x2 + .quad .LVL247 + .long 0x25dd + .long 0x20d2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data102 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL248 + .long 0x25e6 + .long 0x20f7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data103 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL249 + .long 0x25ef + .uleb128 0x2 + .quad .LVL250 + .long 0x25f8 + .long 0x2123 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data40 + .byte 0 + .uleb128 0x5 + .quad .LVL252 + .long 0x2661 + .byte 0 + .uleb128 0x16 + .long .LASF178 + .byte 0x2d + .long 0x50a + .quad .LFB56 + .quad .LFE56-.LFB56 + .uleb128 0x1 + .byte 0x9c + .long 0x23cb + .uleb128 0x9 + .long .LASF153 + .byte 0x2d + .byte 0x20 + .long 0x592 + .long .LLST7 + .long .LVUS7 + .uleb128 0x9 + .long .LASF179 + .byte 0x2d + .byte 0x32 + .long 0x35f + .long .LLST8 + .long .LVUS8 + .uleb128 0xd + .long 0x25b4 + .quad .LBI36 + .byte .LVU67 + .quad .LBB36 + .quad .LBE36-.LBB36 + .byte 0x31 + .byte 0xf + .long 0x21fc + .uleb128 0x6 + .long 0x25d0 + .long .LLST9 + .long .LVUS9 + .uleb128 0x6 + .long 0x25c5 + .long .LLST10 + .long .LVUS10 + .uleb128 0x7 + .quad .LVL37 + .long 0x706 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x31 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x9 + .byte 0x3 + .quad .LC6 + .byte 0 + .byte 0 + .uleb128 0xd + .long 0x25b4 + .quad .LBI38 + .byte .LVU72 + .quad .LBB38 + .quad .LBE38-.LBB38 + .byte 0x31 + .byte 0x90 + .long 0x227a + .uleb128 0x6 + .long 0x25d0 + .long .LLST11 + .long .LVUS11 + .uleb128 0x6 + .long 0x25c5 + .long .LLST12 + .long .LVUS12 + .uleb128 0x7 + .quad .LVL39 + .long 0x706 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x31 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL23 + .long 0x727 + .long 0x229f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x9 + .byte 0x3 + .quad .LC5 + .byte 0 + .uleb128 0x2 + .quad .LVL28 + .long 0x25f8 + .long 0x22be + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data13 + .byte 0 + .uleb128 0x2 + .quad .LVL29 + .long 0x25dd + .long 0x22e3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data51 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL30 + .long 0x25e6 + .long 0x2308 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data52 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL31 + .long 0x25ef + .uleb128 0x2 + .quad .LVL33 + .long 0x25dd + .long 0x233a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data53 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL34 + .long 0x260a + .long 0x2352 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL40 + .long 0x262b + .uleb128 0x2 + .quad .LVL41 + .long 0x75d + .long 0x2376 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .uleb128 0x5 + .quad .LVL42 + .long 0x25ef + .uleb128 0x2 + .quad .LVL43 + .long 0x25f8 + .long 0x23a2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data15 + .byte 0 + .uleb128 0x5 + .quad .LVL44 + .long 0x25ef + .uleb128 0x7 + .quad .LVL45 + .long 0x25f8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data17 + .byte 0 + .byte 0 + .uleb128 0x27 + .long .LASF181 + .byte 0x20 + .long 0x592 + .quad .LFB55 + .quad .LFE55-.LFB55 + .uleb128 0x1 + .byte 0x9c + .long 0x259f + .uleb128 0x9 + .long .LASF124 + .byte 0x20 + .byte 0x25 + .long 0x643 + .long .LLST48 + .long .LVUS48 + .uleb128 0x9 + .long .LASF122 + .byte 0x21 + .byte 0x15 + .long 0x3a4 + .long .LLST49 + .long .LVUS49 + .uleb128 0x9 + .long .LASF125 + .byte 0x22 + .byte 0x1e + .long 0x369 + .long .LLST50 + .long .LVUS50 + .uleb128 0xc + .long .LASF154 + .byte 0x24 + .byte 0xb + .long 0x592 + .long .LLST51 + .long .LVUS51 + .uleb128 0x1c + .long .LASF155 + .long 0x25af + .uleb128 0x9 + .byte 0x3 + .quad __func__.3 + .uleb128 0x2 + .quad .LVL189 + .long 0x7a2 + .long 0x2474 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad __func__.3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x31 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x8 + .byte 0x20 + .byte 0 + .uleb128 0x5 + .quad .LVL192 + .long 0x796 + .uleb128 0x2 + .quad .LVL198 + .long 0x25dd + .long 0x24a6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data91 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL199 + .long 0x25e6 + .long 0x24cb + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data92 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL200 + .long 0x2646 + .uleb128 0x2 + .quad .LVL201 + .long 0x25dd + .long 0x24fd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data93 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL202 + .long 0x2646 + .uleb128 0x2 + .quad .LVL203 + .long 0x25dd + .long 0x252f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data94 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL204 + .long 0x2646 + .long 0x2547 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL205 + .long 0x25dd + .long 0x256c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data95 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL206 + .long 0x25e6 + .long 0x2591 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data96 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL207 + .long 0x2646 + .byte 0 + .uleb128 0x12 + .long 0xbc + .long 0x25af + .uleb128 0x13 + .long 0x3a + .byte 0x9 + .byte 0 + .uleb128 0x11 + .long 0x259f + .uleb128 0x38 + .long .LASF216 + .byte 0x2 + .byte 0x4d + .byte 0x1 + .long 0x41 + .byte 0x3 + .long 0x25dd + .uleb128 0x2a + .long .LASF182 + .byte 0x4d + .byte 0x1b + .long 0x37f + .uleb128 0x2a + .long .LASF183 + .byte 0x4d + .byte 0x3c + .long 0x364 + .uleb128 0x1b + .byte 0 + .uleb128 0xe + .long .LASF184 + .long .LASF186 + .uleb128 0xe + .long .LASF185 + .long .LASF187 + .uleb128 0xe + .long .LASF188 + .long .LASF189 + .uleb128 0xe + .long .LASF190 + .long .LASF191 + .uleb128 0xe + .long .LASF192 + .long .LASF193 + .uleb128 0xe + .long .LASF194 + .long .LASF195 + .uleb128 0x39 + .uleb128 0x4 + .byte 0x9e + .uleb128 0x2 + .byte 0xa + .byte 0 + .uleb128 0xe + .long .LASF196 + .long .LASF197 + .uleb128 0xe + .long .LASF198 + .long .LASF199 + .uleb128 0xe + .long .LASF200 + .long .LASF201 + .uleb128 0xe + .long .LASF202 + .long .LASF203 + .uleb128 0x2b + .long .LASF210 + .long .LASF210 + .uleb128 0xe + .long .LASF204 + .long .LASF205 + .uleb128 0xe + .long .LASF206 + .long .LASF207 + .uleb128 0xe + .long .LASF208 + .long .LASF209 + .uleb128 0x2b + .long .LASF211 + .long .LASF211 + .byte 0 + .section .debug_abbrev,"",@progbits +.Ldebug_abbrev0: + .uleb128 0x1 + .uleb128 0x49 + .byte 0 + .uleb128 0x2 + .uleb128 0x18 + .uleb128 0x7e + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x2 + .uleb128 0x48 + .byte 0x1 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x3 + .uleb128 0x28 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x1c + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x4 + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x5 + .uleb128 0x48 + .byte 0 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x6 + .uleb128 0x5 + .byte 0 + .uleb128 0x31 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x7 + .uleb128 0x48 + .byte 0x1 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x8 + .uleb128 0x5 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x9 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0xa + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0x21 + .sleb128 8 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xb + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xc + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0xd + .uleb128 0x1d + .byte 0x1 + .uleb128 0x31 + .uleb128 0x13 + .uleb128 0x52 + .uleb128 0x1 + .uleb128 0x2138 + .uleb128 0xb + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x58 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x59 + .uleb128 0xb + .uleb128 0x57 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xe + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x6e + .uleb128 0xe + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 9 + .uleb128 0x3b + .uleb128 0x21 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0xf + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .byte 0 + .byte 0 + .uleb128 0x10 + .uleb128 0x28 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x1c + .uleb128 0x5 + .byte 0 + .byte 0 + .uleb128 0x11 + .uleb128 0x26 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x12 + .uleb128 0x1 + .byte 0x1 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x13 + .uleb128 0x21 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2f + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x14 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x15 + .uleb128 0xb + .byte 0x1 + .uleb128 0x55 + .uleb128 0x17 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x16 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x17 + .uleb128 0x13 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x18 + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 9 + .uleb128 0x3b + .uleb128 0x21 + .sleb128 0 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x19 + .uleb128 0x13 + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 8 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x1a + .uleb128 0x28 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x1c + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x1b + .uleb128 0x18 + .byte 0 + .byte 0 + .byte 0 + .uleb128 0x1c + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x34 + .uleb128 0x19 + .uleb128 0x2 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x1d + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x1e + .uleb128 0x37 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x1f + .uleb128 0x13 + .byte 0x1 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x20 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 6 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x21 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 12 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 14 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x22 + .uleb128 0x4 + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3e + .uleb128 0x21 + .sleb128 7 + .uleb128 0xb + .uleb128 0x21 + .sleb128 4 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 6 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x23 + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 15 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 9 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0xd + .uleb128 0x21 + .sleb128 1 + .uleb128 0x6b + .uleb128 0x21 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x24 + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x25 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x26 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x27 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x28 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x29 + .uleb128 0xb + .byte 0x1 + .uleb128 0x55 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x2a + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 2 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x2b + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x6e + .uleb128 0xe + .uleb128 0x3 + .uleb128 0xe + .byte 0 + .byte 0 + .uleb128 0x2c + .uleb128 0x11 + .byte 0x1 + .uleb128 0x25 + .uleb128 0xe + .uleb128 0x13 + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x1f + .uleb128 0x1b + .uleb128 0x1f + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x10 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x2d + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x8 + .byte 0 + .byte 0 + .uleb128 0x2e + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x2f + .uleb128 0x15 + .byte 0x1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x30 + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x31 + .uleb128 0x13 + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x32 + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x33 + .uleb128 0x4 + .byte 0x1 + .uleb128 0x3e + .uleb128 0xb + .uleb128 0xb + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x34 + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x35 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x87 + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x36 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x37 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x38 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x20 + .uleb128 0xb + .uleb128 0x34 + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x39 + .uleb128 0x36 + .byte 0 + .uleb128 0x2 + .uleb128 0x18 + .byte 0 + .byte 0 + .byte 0 + .section .debug_loclists,"",@progbits + .long .Ldebug_loc3-.Ldebug_loc2 +.Ldebug_loc2: + .value 0x5 + .byte 0x8 + .byte 0 + .long 0 +.Ldebug_loc0: +.LVUS74: + .uleb128 0 + .uleb128 .LVU459 + .uleb128 .LVU459 + .uleb128 .LVU468 + .uleb128 .LVU468 + .uleb128 .LVU469 + .uleb128 .LVU469 + .uleb128 0 +.LLST74: + .byte 0x4 + .uleb128 .LVL287-.Ltext0 + .uleb128 .LVL288-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL288-.Ltext0 + .uleb128 .LVL294-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL294-.Ltext0 + .uleb128 .LVL295-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL295-.Ltext0 + .uleb128 .LFE65-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS75: + .uleb128 .LVU461 + .uleb128 .LVU464 +.LLST75: + .byte 0x4 + .uleb128 .LVL290-.Ltext0 + .uleb128 .LVL291-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC22 + .byte 0x9f + .byte 0 +.LVUS76: + .uleb128 .LVU461 + .uleb128 .LVU464 +.LLST76: + .byte 0x4 + .uleb128 .LVL290-.Ltext0 + .uleb128 .LVL291-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS45: + .uleb128 0 + .uleb128 .LVU280 + .uleb128 .LVU280 + .uleb128 .LVU290 + .uleb128 .LVU290 + .uleb128 .LVU291 + .uleb128 .LVU291 + .uleb128 0 +.LLST45: + .byte 0x4 + .uleb128 .LVL172-.Ltext0 + .uleb128 .LVL173-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL173-.Ltext0 + .uleb128 .LVL178-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL178-.Ltext0 + .uleb128 .LVL179-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL179-.Ltext0 + .uleb128 .LFE64-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS46: + .uleb128 .LVU281 + .uleb128 .LVU284 +.LLST46: + .byte 0x4 + .uleb128 .LVL174-.Ltext0 + .uleb128 .LVL175-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC16 + .byte 0x9f + .byte 0 +.LVUS47: + .uleb128 .LVU281 + .uleb128 .LVU284 +.LLST47: + .byte 0x4 + .uleb128 .LVL174-.Ltext0 + .uleb128 .LVL175-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS64: + .uleb128 0 + .uleb128 .LVU409 + .uleb128 .LVU409 + .uleb128 .LVU449 + .uleb128 .LVU449 + .uleb128 .LVU453 + .uleb128 .LVU453 + .uleb128 0 +.LLST64: + .byte 0x4 + .uleb128 .LVL253-.Ltext0 + .uleb128 .LVL255-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL255-.Ltext0 + .uleb128 .LVL280-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL280-.Ltext0 + .uleb128 .LVL284-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL284-.Ltext0 + .uleb128 .LFE63-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS65: + .uleb128 0 + .uleb128 .LVU409 + .uleb128 .LVU409 + .uleb128 .LVU452 + .uleb128 .LVU452 + .uleb128 .LVU453 + .uleb128 .LVU453 + .uleb128 0 +.LLST65: + .byte 0x4 + .uleb128 .LVL253-.Ltext0 + .uleb128 .LVL255-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL255-.Ltext0 + .uleb128 .LVL283-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -88 + .byte 0x4 + .uleb128 .LVL283-.Ltext0 + .uleb128 .LVL284-.Ltext0 + .uleb128 0x3 + .byte 0x77 + .sleb128 -80 + .byte 0x4 + .uleb128 .LVL284-.Ltext0 + .uleb128 .LFE63-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -88 + .byte 0 +.LVUS66: + .uleb128 .LVU401 + .uleb128 .LVU409 + .uleb128 .LVU409 + .uleb128 .LVU451 + .uleb128 .LVU451 + .uleb128 .LVU453 + .uleb128 .LVU453 + .uleb128 0 +.LLST66: + .byte 0x4 + .uleb128 .LVL254-.Ltext0 + .uleb128 .LVL255-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL255-.Ltext0 + .uleb128 .LVL282-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0x4 + .uleb128 .LVL282-.Ltext0 + .uleb128 .LVL284-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL284-.Ltext0 + .uleb128 .LFE63-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0 +.LVUS67: + .uleb128 .LVU401 + .uleb128 .LVU409 + .uleb128 .LVU409 + .uleb128 .LVU452 + .uleb128 .LVU452 + .uleb128 .LVU453 + .uleb128 .LVU453 + .uleb128 0 +.LLST67: + .byte 0x4 + .uleb128 .LVL254-.Ltext0 + .uleb128 .LVL255-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL255-.Ltext0 + .uleb128 .LVL283-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL283-.Ltext0 + .uleb128 .LVL284-.Ltext0 + .uleb128 0x2 + .byte 0x77 + .sleb128 -64 + .byte 0x4 + .uleb128 .LVL284-.Ltext0 + .uleb128 .LFE63-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0 +.LVUS68: + .uleb128 .LVU401 + .uleb128 .LVU409 + .uleb128 .LVU409 + .uleb128 .LVU452 + .uleb128 .LVU452 + .uleb128 .LVU453 + .uleb128 .LVU453 + .uleb128 0 +.LLST68: + .byte 0x4 + .uleb128 .LVL254-.Ltext0 + .uleb128 .LVL255-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL255-.Ltext0 + .uleb128 .LVL283-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0x4 + .uleb128 .LVL283-.Ltext0 + .uleb128 .LVL284-.Ltext0 + .uleb128 0x3 + .byte 0x77 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL284-.Ltext0 + .uleb128 .LFE63-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0 +.LVUS69: + .uleb128 .LVU409 + .uleb128 .LVU410 + .uleb128 .LVU410 + .uleb128 .LVU426 + .uleb128 .LVU430 + .uleb128 .LVU433 + .uleb128 .LVU433 + .uleb128 .LVU436 +.LLST69: + .byte 0x4 + .uleb128 .LVL255-.Ltext0 + .uleb128 .LVL256-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL256-1-.Ltext0 + .uleb128 .LVL262-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL265-.Ltext0 + .uleb128 .LVL266-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL266-.Ltext0 + .uleb128 .LVL270-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS71: + .uleb128 .LVU404 + .uleb128 .LVU409 + .uleb128 .LVU409 + .uleb128 .LVU450 + .uleb128 .LVU453 + .uleb128 0 +.LLST71: + .byte 0x4 + .uleb128 .LVL254-.Ltext0 + .uleb128 .LVL255-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL255-.Ltext0 + .uleb128 .LVL281-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL284-.Ltext0 + .uleb128 .LFE63-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS72: + .uleb128 .LVU443 + .uleb128 .LVU446 +.LLST72: + .byte 0x4 + .uleb128 .LVL278-.Ltext0 + .uleb128 .LVL279-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC21 + .byte 0x9f + .byte 0 +.LVUS73: + .uleb128 .LVU443 + .uleb128 .LVU446 +.LLST73: + .byte 0x4 + .uleb128 .LVL278-.Ltext0 + .uleb128 .LVL279-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS20: + .uleb128 0 + .uleb128 .LVU125 + .uleb128 .LVU125 + .uleb128 .LVU129 + .uleb128 .LVU129 + .uleb128 .LVU131 + .uleb128 .LVU131 + .uleb128 .LVU150 + .uleb128 .LVU150 + .uleb128 .LVU151 + .uleb128 .LVU151 + .uleb128 .LVU160 + .uleb128 .LVU160 + .uleb128 .LVU175 + .uleb128 .LVU175 + .uleb128 .LVU176 + .uleb128 .LVU176 + .uleb128 0 +.LLST20: + .byte 0x4 + .uleb128 .LVL68-.Ltext0 + .uleb128 .LVL69-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL69-.Ltext0 + .uleb128 .LVL71-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL71-.Ltext0 + .uleb128 .LVL73-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL73-.Ltext0 + .uleb128 .LVL89-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL89-.Ltext0 + .uleb128 .LVL90-.Ltext0 + .uleb128 0x3 + .byte 0x75 + .sleb128 -24 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL90-.Ltext0 + .uleb128 .LVL94-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL94-.Ltext0 + .uleb128 .LVL111-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL111-.Ltext0 + .uleb128 .LVL112-.Ltext0 + .uleb128 0x3 + .byte 0x75 + .sleb128 -24 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL112-.Ltext0 + .uleb128 .LFE62-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS21: + .uleb128 0 + .uleb128 .LVU125 + .uleb128 .LVU125 + .uleb128 .LVU129 + .uleb128 .LVU129 + .uleb128 .LVU130 + .uleb128 .LVU130 + .uleb128 .LVU246 + .uleb128 .LVU246 + .uleb128 .LVU247 + .uleb128 .LVU247 + .uleb128 0 +.LLST21: + .byte 0x4 + .uleb128 .LVL68-.Ltext0 + .uleb128 .LVL69-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL69-.Ltext0 + .uleb128 .LVL71-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL71-.Ltext0 + .uleb128 .LVL72-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL72-.Ltext0 + .uleb128 .LVL145-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL145-.Ltext0 + .uleb128 .LVL146-.Ltext0 + .uleb128 0x2 + .byte 0x77 + .sleb128 -64 + .byte 0x4 + .uleb128 .LVL146-.Ltext0 + .uleb128 .LFE62-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0 +.LVUS22: + .uleb128 0 + .uleb128 .LVU125 + .uleb128 .LVU125 + .uleb128 .LVU129 + .uleb128 .LVU129 + .uleb128 .LVU132 + .uleb128 .LVU132 + .uleb128 .LVU226 + .uleb128 .LVU226 + .uleb128 .LVU247 + .uleb128 .LVU247 + .uleb128 .LVU252 + .uleb128 .LVU252 + .uleb128 .LVU255 + .uleb128 .LVU255 + .uleb128 .LVU273 + .uleb128 .LVU273 + .uleb128 0 +.LLST22: + .byte 0x4 + .uleb128 .LVL68-.Ltext0 + .uleb128 .LVL69-.Ltext0 + .uleb128 0x1 + .byte 0x51 + .byte 0x4 + .uleb128 .LVL69-.Ltext0 + .uleb128 .LVL71-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL71-.Ltext0 + .uleb128 .LVL74-1-.Ltext0 + .uleb128 0x1 + .byte 0x51 + .byte 0x4 + .uleb128 .LVL74-1-.Ltext0 + .uleb128 .LVL137-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL137-.Ltext0 + .uleb128 .LVL146-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x51 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL146-.Ltext0 + .uleb128 .LVL153-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL153-.Ltext0 + .uleb128 .LVL156-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x51 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL156-.Ltext0 + .uleb128 .LVL170-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL170-.Ltext0 + .uleb128 .LFE62-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x51 + .byte 0x9f + .byte 0 +.LVUS23: + .uleb128 .LVU138 + .uleb128 .LVU245 + .uleb128 .LVU247 + .uleb128 0 +.LLST23: + .byte 0x4 + .uleb128 .LVL81-.Ltext0 + .uleb128 .LVL144-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL146-.Ltext0 + .uleb128 .LFE62-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS24: + .uleb128 .LVU141 + .uleb128 .LVU143 + .uleb128 .LVU143 + .uleb128 .LVU160 + .uleb128 .LVU162 + .uleb128 .LVU163 + .uleb128 .LVU163 + .uleb128 .LVU195 +.LLST24: + .byte 0x4 + .uleb128 .LVL83-.Ltext0 + .uleb128 .LVL84-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL84-.Ltext0 + .uleb128 .LVL94-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0x4 + .uleb128 .LVL97-.Ltext0 + .uleb128 .LVL98-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL98-1-.Ltext0 + .uleb128 .LVL122-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0 +.LVUS25: + .uleb128 .LVU147 + .uleb128 .LVU148 + .uleb128 .LVU148 + .uleb128 .LVU160 + .uleb128 .LVU168 + .uleb128 .LVU169 + .uleb128 .LVU169 + .uleb128 .LVU246 + .uleb128 .LVU246 + .uleb128 .LVU247 + .uleb128 .LVU247 + .uleb128 0 +.LLST25: + .byte 0x4 + .uleb128 .LVL86-.Ltext0 + .uleb128 .LVL87-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL87-.Ltext0 + .uleb128 .LVL94-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -96 + .byte 0x4 + .uleb128 .LVL104-.Ltext0 + .uleb128 .LVL105-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL105-1-.Ltext0 + .uleb128 .LVL145-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -96 + .byte 0x4 + .uleb128 .LVL145-.Ltext0 + .uleb128 .LVL146-.Ltext0 + .uleb128 0x3 + .byte 0x77 + .sleb128 -88 + .byte 0x4 + .uleb128 .LVL146-.Ltext0 + .uleb128 .LFE62-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -96 + .byte 0 +.LVUS26: + .uleb128 .LVU187 + .uleb128 .LVU193 + .uleb128 .LVU195 + .uleb128 .LVU215 + .uleb128 .LVU216 + .uleb128 .LVU219 + .uleb128 .LVU219 + .uleb128 .LVU246 + .uleb128 .LVU246 + .uleb128 .LVU247 + .uleb128 .LVU247 + .uleb128 .LVU248 + .uleb128 .LVU248 + .uleb128 .LVU255 + .uleb128 .LVU255 + .uleb128 .LVU258 + .uleb128 .LVU258 + .uleb128 .LVU263 + .uleb128 .LVU263 + .uleb128 .LVU264 + .uleb128 .LVU264 + .uleb128 0 +.LLST26: + .byte 0x4 + .uleb128 .LVL119-.Ltext0 + .uleb128 .LVL120-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL122-.Ltext0 + .uleb128 .LVL131-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0x4 + .uleb128 .LVL132-.Ltext0 + .uleb128 .LVL133-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL133-.Ltext0 + .uleb128 .LVL145-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0x4 + .uleb128 .LVL145-.Ltext0 + .uleb128 .LVL146-.Ltext0 + .uleb128 0x3 + .byte 0x77 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL146-.Ltext0 + .uleb128 .LVL147-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL147-1-.Ltext0 + .uleb128 .LVL156-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0x4 + .uleb128 .LVL156-.Ltext0 + .uleb128 .LVL158-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL158-.Ltext0 + .uleb128 .LVL160-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0x4 + .uleb128 .LVL160-.Ltext0 + .uleb128 .LVL161-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL161-1-.Ltext0 + .uleb128 .LFE62-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0 +.LVUS32: + .uleb128 .LVU189 + .uleb128 .LVU193 + .uleb128 .LVU195 + .uleb128 .LVU220 + .uleb128 .LVU247 + .uleb128 .LVU250 + .uleb128 .LVU255 + .uleb128 .LVU273 +.LLST32: + .byte 0x4 + .uleb128 .LVL119-.Ltext0 + .uleb128 .LVL120-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL122-.Ltext0 + .uleb128 .LVL134-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL146-.Ltext0 + .uleb128 .LVL150-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL156-.Ltext0 + .uleb128 .LVL170-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS34: + .uleb128 .LVU198 + .uleb128 .LVU201 + .uleb128 .LVU201 + .uleb128 .LVU203 + .uleb128 .LVU213 + .uleb128 .LVU216 + .uleb128 .LVU216 + .uleb128 .LVU219 + .uleb128 .LVU247 + .uleb128 .LVU248 + .uleb128 .LVU255 + .uleb128 .LVU258 + .uleb128 .LVU263 + .uleb128 .LVU264 + .uleb128 .LVU265 + .uleb128 .LVU266 + .uleb128 .LVU266 + .uleb128 .LVU269 +.LLST34: + .byte 0x4 + .uleb128 .LVL123-.Ltext0 + .uleb128 .LVL124-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL124-.Ltext0 + .uleb128 .LVL126-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL130-.Ltext0 + .uleb128 .LVL132-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL132-.Ltext0 + .uleb128 .LVL133-.Ltext0 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0x4 + .uleb128 .LVL146-.Ltext0 + .uleb128 .LVL147-1-.Ltext0 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0x4 + .uleb128 .LVL156-.Ltext0 + .uleb128 .LVL158-.Ltext0 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0x4 + .uleb128 .LVL160-.Ltext0 + .uleb128 .LVL161-1-.Ltext0 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0x4 + .uleb128 .LVL162-.Ltext0 + .uleb128 .LVL163-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL163-1-.Ltext0 + .uleb128 .LVL166-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0 +.LVUS36: + .uleb128 .LVU223 + .uleb128 .LVU225 + .uleb128 .LVU225 + .uleb128 .LVU228 + .uleb128 .LVU228 + .uleb128 .LVU238 + .uleb128 .LVU252 + .uleb128 .LVU253 + .uleb128 .LVU253 + .uleb128 .LVU255 +.LLST36: + .byte 0x4 + .uleb128 .LVL135-.Ltext0 + .uleb128 .LVL136-.Ltext0 + .uleb128 0x8 + .byte 0x70 + .sleb128 0 + .byte 0x91 + .sleb128 -80 + .byte 0x6 + .byte 0x1c + .byte 0x9f + .byte 0x4 + .uleb128 .LVL136-.Ltext0 + .uleb128 .LVL138-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL138-.Ltext0 + .uleb128 .LVL141-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL153-.Ltext0 + .uleb128 .LVL154-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL154-1-.Ltext0 + .uleb128 .LVL156-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS37: + .uleb128 .LVU228 + .uleb128 .LVU231 +.LLST37: + .byte 0x4 + .uleb128 .LVL138-.Ltext0 + .uleb128 .LVL139-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC12 + .byte 0x9f + .byte 0 +.LVUS38: + .uleb128 .LVU228 + .uleb128 .LVU231 +.LLST38: + .byte 0x4 + .uleb128 .LVL138-.Ltext0 + .uleb128 .LVL139-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0 +.LVUS39: + .uleb128 .LVU233 + .uleb128 .LVU236 +.LLST39: + .byte 0x4 + .uleb128 .LVL140-.Ltext0 + .uleb128 .LVL141-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC13 + .byte 0x9f + .byte 0 +.LVUS40: + .uleb128 .LVU233 + .uleb128 .LVU236 +.LLST40: + .byte 0x4 + .uleb128 .LVL140-.Ltext0 + .uleb128 .LVL141-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0 +.LVUS41: + .uleb128 .LVU258 + .uleb128 .LVU261 +.LLST41: + .byte 0x4 + .uleb128 .LVL158-.Ltext0 + .uleb128 .LVL159-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC14 + .byte 0x9f + .byte 0 +.LVUS42: + .uleb128 .LVU258 + .uleb128 .LVU261 +.LLST42: + .byte 0x4 + .uleb128 .LVL158-.Ltext0 + .uleb128 .LVL159-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0 +.LVUS27: + .uleb128 .LVU151 + .uleb128 .LVU154 +.LLST27: + .byte 0x4 + .uleb128 .LVL90-.Ltext0 + .uleb128 .LVL91-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC10 + .byte 0x9f + .byte 0 +.LVUS28: + .uleb128 .LVU151 + .uleb128 .LVU154 +.LLST28: + .byte 0x4 + .uleb128 .LVL90-.Ltext0 + .uleb128 .LVL91-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0 +.LVUS29: + .uleb128 .LVU182 + .uleb128 .LVU185 +.LLST29: + .byte 0x4 + .uleb128 .LVL118-.Ltext0 + .uleb128 .LVL119-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC11 + .byte 0x9f + .byte 0 +.LVUS30: + .uleb128 .LVU182 + .uleb128 .LVU185 +.LLST30: + .byte 0x4 + .uleb128 .LVL118-.Ltext0 + .uleb128 .LVL119-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0 +.LVUS43: + .uleb128 .LVU240 + .uleb128 .LVU243 +.LLST43: + .byte 0x4 + .uleb128 .LVL142-.Ltext0 + .uleb128 .LVL143-.Ltext0 + .uleb128 0x6 + .byte 0xa0 + .long .Ldebug_info0+9747 + .sleb128 0 + .byte 0 +.LVUS44: + .uleb128 .LVU240 + .uleb128 .LVU243 +.LLST44: + .byte 0x4 + .uleb128 .LVL142-.Ltext0 + .uleb128 .LVL143-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0 +.LVUS2: + .uleb128 0 + .uleb128 .LVU25 + .uleb128 .LVU25 + .uleb128 .LVU42 + .uleb128 .LVU42 + .uleb128 0 +.LLST2: + .byte 0x4 + .uleb128 .LVL6-.Ltext0 + .uleb128 .LVL8-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL8-.Ltext0 + .uleb128 .LVL18-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL18-.Ltext0 + .uleb128 .LFE61-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS3: + .uleb128 0 + .uleb128 .LVU25 + .uleb128 .LVU25 + .uleb128 .LVU43 + .uleb128 .LVU43 + .uleb128 0 +.LLST3: + .byte 0x4 + .uleb128 .LVL6-.Ltext0 + .uleb128 .LVL8-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL8-.Ltext0 + .uleb128 .LVL19-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL19-.Ltext0 + .uleb128 .LFE61-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0 +.LVUS4: + .uleb128 .LVU20 + .uleb128 .LVU25 + .uleb128 .LVU25 + .uleb128 .LVU44 + .uleb128 .LVU44 + .uleb128 0 +.LLST4: + .byte 0x4 + .uleb128 .LVL7-.Ltext0 + .uleb128 .LVL8-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL8-.Ltext0 + .uleb128 .LVL20-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0x4 + .uleb128 .LVL20-.Ltext0 + .uleb128 .LFE61-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0 +.LVUS6: + .uleb128 .LVU22 + .uleb128 .LVU25 + .uleb128 .LVU25 + .uleb128 .LVU28 + .uleb128 .LVU28 + .uleb128 .LVU30 + .uleb128 .LVU30 + .uleb128 .LVU34 + .uleb128 .LVU34 + .uleb128 .LVU38 + .uleb128 .LVU38 + .uleb128 .LVU41 +.LLST6: + .byte 0x4 + .uleb128 .LVL7-.Ltext0 + .uleb128 .LVL8-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL8-.Ltext0 + .uleb128 .LVL9-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL9-.Ltext0 + .uleb128 .LVL10-.Ltext0 + .uleb128 0x3 + .byte 0x73 + .sleb128 -1 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL10-.Ltext0 + .uleb128 .LVL13-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL13-.Ltext0 + .uleb128 .LVL16-.Ltext0 + .uleb128 0x3 + .byte 0x73 + .sleb128 -1 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL16-.Ltext0 + .uleb128 .LVL17-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS13: + .uleb128 0 + .uleb128 .LVU88 + .uleb128 .LVU88 + .uleb128 .LVU118 + .uleb128 .LVU118 + .uleb128 0 +.LLST13: + .byte 0x4 + .uleb128 .LVL46-.Ltext0 + .uleb128 .LVL48-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL48-.Ltext0 + .uleb128 .LVL65-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL65-.Ltext0 + .uleb128 .LFE60-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS14: + .uleb128 0 + .uleb128 .LVU88 + .uleb128 .LVU88 + .uleb128 .LVU120 + .uleb128 .LVU120 + .uleb128 0 +.LLST14: + .byte 0x4 + .uleb128 .LVL46-.Ltext0 + .uleb128 .LVL48-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL48-.Ltext0 + .uleb128 .LVL67-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0x4 + .uleb128 .LVL67-.Ltext0 + .uleb128 .LFE60-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0 +.LVUS15: + .uleb128 .LVU83 + .uleb128 .LVU88 + .uleb128 .LVU88 + .uleb128 .LVU119 + .uleb128 .LVU119 + .uleb128 0 +.LLST15: + .byte 0x4 + .uleb128 .LVL47-.Ltext0 + .uleb128 .LVL48-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL48-.Ltext0 + .uleb128 .LVL66-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL66-.Ltext0 + .uleb128 .LFE60-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0 +.LVUS17: + .uleb128 .LVU85 + .uleb128 .LVU88 + .uleb128 .LVU88 + .uleb128 .LVU100 +.LLST17: + .byte 0x4 + .uleb128 .LVL47-.Ltext0 + .uleb128 .LVL48-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL48-.Ltext0 + .uleb128 .LVL54-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0 +.LVUS19: + .uleb128 .LVU90 + .uleb128 .LVU96 +.LLST19: + .byte 0x4 + .uleb128 .LVL49-.Ltext0 + .uleb128 .LVL51-.Ltext0 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 +.LVUS0: + .uleb128 0 + .uleb128 .LVU7 + .uleb128 .LVU7 + .uleb128 .LVU8 + .uleb128 .LVU8 + .uleb128 0 +.LLST0: + .byte 0x4 + .uleb128 .LVL0-.Ltext0 + .uleb128 .LVL1-1-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL1-1-.Ltext0 + .uleb128 .LVL2-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL2-.Ltext0 + .uleb128 .LFE59-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0 +.LVUS1: + .uleb128 0 + .uleb128 .LVU13 + .uleb128 .LVU13 + .uleb128 .LVU14 + .uleb128 .LVU14 + .uleb128 0 +.LLST1: + .byte 0x4 + .uleb128 .LVL3-.Ltext0 + .uleb128 .LVL4-1-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL4-1-.Ltext0 + .uleb128 .LVL5-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL5-.Ltext0 + .uleb128 .LFE58-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0 +.LVUS52: + .uleb128 0 + .uleb128 .LVU332 + .uleb128 .LVU332 + .uleb128 .LVU358 + .uleb128 .LVU358 + .uleb128 .LVU359 + .uleb128 .LVU359 + .uleb128 .LVU360 + .uleb128 .LVU360 + .uleb128 0 +.LLST52: + .byte 0x4 + .uleb128 .LVL208-.Ltext0 + .uleb128 .LVL209-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL209-.Ltext0 + .uleb128 .LVL217-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL217-.Ltext0 + .uleb128 .LVL218-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL218-.Ltext0 + .uleb128 .LVL219-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL219-.Ltext0 + .uleb128 .LFE57-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS53: + .uleb128 0 + .uleb128 .LVU332 + .uleb128 .LVU332 + .uleb128 .LVU341 + .uleb128 .LVU341 + .uleb128 .LVU359 + .uleb128 .LVU359 + .uleb128 .LVU369 + .uleb128 .LVU369 + .uleb128 0 +.LLST53: + .byte 0x4 + .uleb128 .LVL208-.Ltext0 + .uleb128 .LVL209-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL209-.Ltext0 + .uleb128 .LVL213-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL213-.Ltext0 + .uleb128 .LVL218-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL218-.Ltext0 + .uleb128 .LVL226-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL226-.Ltext0 + .uleb128 .LFE57-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0 +.LVUS54: + .uleb128 0 + .uleb128 .LVU332 + .uleb128 .LVU332 + .uleb128 .LVU333 + .uleb128 .LVU333 + .uleb128 .LVU359 + .uleb128 .LVU359 + .uleb128 .LVU361 + .uleb128 .LVU361 + .uleb128 .LVU362 + .uleb128 .LVU362 + .uleb128 0 +.LLST54: + .byte 0x4 + .uleb128 .LVL208-.Ltext0 + .uleb128 .LVL209-.Ltext0 + .uleb128 0x1 + .byte 0x51 + .byte 0x4 + .uleb128 .LVL209-.Ltext0 + .uleb128 .LVL210-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -380 + .byte 0x4 + .uleb128 .LVL210-.Ltext0 + .uleb128 .LVL218-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x51 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL218-.Ltext0 + .uleb128 .LVL220-1-.Ltext0 + .uleb128 0x1 + .byte 0x51 + .byte 0x4 + .uleb128 .LVL220-1-.Ltext0 + .uleb128 .LVL221-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -380 + .byte 0x4 + .uleb128 .LVL221-.Ltext0 + .uleb128 .LFE57-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x51 + .byte 0x9f + .byte 0 +.LVUS55: + .uleb128 0 + .uleb128 .LVU332 + .uleb128 .LVU332 + .uleb128 .LVU333 + .uleb128 .LVU333 + .uleb128 .LVU359 + .uleb128 .LVU359 + .uleb128 .LVU361 + .uleb128 .LVU361 + .uleb128 .LVU362 + .uleb128 .LVU362 + .uleb128 0 +.LLST55: + .byte 0x4 + .uleb128 .LVL208-.Ltext0 + .uleb128 .LVL209-.Ltext0 + .uleb128 0x1 + .byte 0x52 + .byte 0x4 + .uleb128 .LVL209-.Ltext0 + .uleb128 .LVL210-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -392 + .byte 0x4 + .uleb128 .LVL210-.Ltext0 + .uleb128 .LVL218-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x52 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL218-.Ltext0 + .uleb128 .LVL220-1-.Ltext0 + .uleb128 0x1 + .byte 0x52 + .byte 0x4 + .uleb128 .LVL220-1-.Ltext0 + .uleb128 .LVL221-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -392 + .byte 0x4 + .uleb128 .LVL221-.Ltext0 + .uleb128 .LFE57-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x52 + .byte 0x9f + .byte 0 +.LVUS56: + .uleb128 0 + .uleb128 .LVU332 + .uleb128 .LVU332 + .uleb128 .LVU333 + .uleb128 .LVU333 + .uleb128 .LVU359 + .uleb128 .LVU359 + .uleb128 .LVU361 + .uleb128 .LVU361 + .uleb128 .LVU362 + .uleb128 .LVU362 + .uleb128 0 +.LLST56: + .byte 0x4 + .uleb128 .LVL208-.Ltext0 + .uleb128 .LVL209-.Ltext0 + .uleb128 0x1 + .byte 0x58 + .byte 0x4 + .uleb128 .LVL209-.Ltext0 + .uleb128 .LVL210-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -400 + .byte 0x4 + .uleb128 .LVL210-.Ltext0 + .uleb128 .LVL218-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x58 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL218-.Ltext0 + .uleb128 .LVL220-1-.Ltext0 + .uleb128 0x1 + .byte 0x58 + .byte 0x4 + .uleb128 .LVL220-1-.Ltext0 + .uleb128 .LVL221-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -400 + .byte 0x4 + .uleb128 .LVL221-.Ltext0 + .uleb128 .LFE57-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x58 + .byte 0x9f + .byte 0 +.LVUS57: + .uleb128 .LVU341 + .uleb128 .LVU343 + .uleb128 .LVU343 + .uleb128 .LVU356 + .uleb128 .LVU369 + .uleb128 .LVU370 + .uleb128 .LVU370 + .uleb128 .LVU379 + .uleb128 .LVU390 + .uleb128 .LVU391 + .uleb128 .LVU393 + .uleb128 .LVU396 +.LLST57: + .byte 0x4 + .uleb128 .LVL213-.Ltext0 + .uleb128 .LVL214-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL214-.Ltext0 + .uleb128 .LVL216-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL226-.Ltext0 + .uleb128 .LVL227-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL227-1-.Ltext0 + .uleb128 .LVL235-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL241-.Ltext0 + .uleb128 .LVL242-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL246-.Ltext0 + .uleb128 .LVL251-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS58: + .uleb128 .LVU363 + .uleb128 .LVU366 +.LLST58: + .byte 0x4 + .uleb128 .LVL222-.Ltext0 + .uleb128 .LVL223-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC18 + .byte 0x9f + .byte 0 +.LVUS59: + .uleb128 .LVU363 + .uleb128 .LVU366 +.LLST59: + .byte 0x4 + .uleb128 .LVL222-.Ltext0 + .uleb128 .LVL223-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS60: + .uleb128 .LVU380 + .uleb128 .LVU383 +.LLST60: + .byte 0x4 + .uleb128 .LVL236-.Ltext0 + .uleb128 .LVL237-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC8 + .byte 0x9f + .byte 0 +.LVUS61: + .uleb128 .LVU380 + .uleb128 .LVU383 +.LLST61: + .byte 0x4 + .uleb128 .LVL236-.Ltext0 + .uleb128 .LVL237-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS62: + .uleb128 .LVU385 + .uleb128 .LVU388 +.LLST62: + .byte 0x4 + .uleb128 .LVL238-.Ltext0 + .uleb128 .LVL239-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC20 + .byte 0x9f + .byte 0 +.LVUS63: + .uleb128 .LVU385 + .uleb128 .LVU388 +.LLST63: + .byte 0x4 + .uleb128 .LVL238-.Ltext0 + .uleb128 .LVL239-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS7: + .uleb128 0 + .uleb128 .LVU49 + .uleb128 .LVU49 + .uleb128 .LVU53 + .uleb128 .LVU53 + .uleb128 .LVU54 + .uleb128 .LVU54 + .uleb128 .LVU57 + .uleb128 .LVU57 + .uleb128 .LVU62 + .uleb128 .LVU62 + .uleb128 .LVU63 + .uleb128 .LVU63 + .uleb128 .LVU64 + .uleb128 .LVU64 + .uleb128 .LVU66 + .uleb128 .LVU66 + .uleb128 .LVU77 + .uleb128 .LVU77 + .uleb128 .LVU78 + .uleb128 .LVU78 + .uleb128 0 +.LLST7: + .byte 0x4 + .uleb128 .LVL21-.Ltext0 + .uleb128 .LVL22-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL22-.Ltext0 + .uleb128 .LVL24-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL24-.Ltext0 + .uleb128 .LVL25-.Ltext0 + .uleb128 0x3 + .byte 0x75 + .sleb128 -16 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL25-.Ltext0 + .uleb128 .LVL27-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL27-.Ltext0 + .uleb128 .LVL31-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL31-.Ltext0 + .uleb128 .LVL32-.Ltext0 + .uleb128 0x3 + .byte 0x75 + .sleb128 -16 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL32-.Ltext0 + .uleb128 .LVL34-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL34-.Ltext0 + .uleb128 .LVL35-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL35-.Ltext0 + .uleb128 .LVL41-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL41-.Ltext0 + .uleb128 .LVL42-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL42-.Ltext0 + .uleb128 .LFE56-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS8: + .uleb128 0 + .uleb128 .LVU49 + .uleb128 .LVU49 + .uleb128 .LVU56 + .uleb128 .LVU56 + .uleb128 .LVU57 + .uleb128 .LVU57 + .uleb128 .LVU58 + .uleb128 .LVU58 + .uleb128 0 +.LLST8: + .byte 0x4 + .uleb128 .LVL21-.Ltext0 + .uleb128 .LVL22-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL22-.Ltext0 + .uleb128 .LVL26-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL26-.Ltext0 + .uleb128 .LVL27-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL27-.Ltext0 + .uleb128 .LVL28-1-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL28-1-.Ltext0 + .uleb128 .LFE56-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS9: + .uleb128 .LVU67 + .uleb128 .LVU70 +.LLST9: + .byte 0x4 + .uleb128 .LVL36-.Ltext0 + .uleb128 .LVL37-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC8 + .byte 0x9f + .byte 0 +.LVUS10: + .uleb128 .LVU67 + .uleb128 .LVU70 +.LLST10: + .byte 0x4 + .uleb128 .LVL36-.Ltext0 + .uleb128 .LVL37-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS11: + .uleb128 .LVU72 + .uleb128 .LVU75 +.LLST11: + .byte 0x4 + .uleb128 .LVL38-.Ltext0 + .uleb128 .LVL39-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC9 + .byte 0x9f + .byte 0 +.LVUS12: + .uleb128 .LVU72 + .uleb128 .LVU75 +.LLST12: + .byte 0x4 + .uleb128 .LVL38-.Ltext0 + .uleb128 .LVL39-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS48: + .uleb128 0 + .uleb128 .LVU301 + .uleb128 .LVU301 + .uleb128 .LVU307 + .uleb128 .LVU307 + .uleb128 .LVU319 + .uleb128 .LVU319 + .uleb128 .LVU323 + .uleb128 .LVU323 + .uleb128 0 +.LLST48: + .byte 0x4 + .uleb128 .LVL185-.Ltext0 + .uleb128 .LVL188-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL188-.Ltext0 + .uleb128 .LVL193-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL193-.Ltext0 + .uleb128 .LVL197-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL197-.Ltext0 + .uleb128 .LVL200-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL200-.Ltext0 + .uleb128 .LFE55-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS49: + .uleb128 0 + .uleb128 .LVU300 + .uleb128 .LVU300 + .uleb128 .LVU318 + .uleb128 .LVU318 + .uleb128 .LVU319 + .uleb128 .LVU319 + .uleb128 0 +.LLST49: + .byte 0x4 + .uleb128 .LVL185-.Ltext0 + .uleb128 .LVL187-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL187-.Ltext0 + .uleb128 .LVL196-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL196-.Ltext0 + .uleb128 .LVL197-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL197-.Ltext0 + .uleb128 .LFE55-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS50: + .uleb128 0 + .uleb128 .LVU299 + .uleb128 .LVU299 + .uleb128 .LVU317 + .uleb128 .LVU317 + .uleb128 .LVU319 + .uleb128 .LVU319 + .uleb128 0 +.LLST50: + .byte 0x4 + .uleb128 .LVL185-.Ltext0 + .uleb128 .LVL186-.Ltext0 + .uleb128 0x1 + .byte 0x51 + .byte 0x4 + .uleb128 .LVL186-.Ltext0 + .uleb128 .LVL195-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL195-.Ltext0 + .uleb128 .LVL197-.Ltext0 + .uleb128 0x2 + .byte 0x75 + .sleb128 0 + .byte 0x4 + .uleb128 .LVL197-.Ltext0 + .uleb128 .LFE55-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS51: + .uleb128 .LVU302 + .uleb128 .LVU304 + .uleb128 .LVU304 + .uleb128 .LVU316 + .uleb128 .LVU316 + .uleb128 .LVU320 + .uleb128 .LVU320 + .uleb128 0 +.LLST51: + .byte 0x4 + .uleb128 .LVL190-.Ltext0 + .uleb128 .LVL191-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL191-.Ltext0 + .uleb128 .LVL194-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL194-.Ltext0 + .uleb128 .LVL198-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL198-1-.Ltext0 + .uleb128 .LFE55-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.Ldebug_loc3: + .section .debug_aranges,"",@progbits + .long 0x2c + .value 0x2 + .long .Ldebug_info0 + .byte 0x8 + .byte 0 + .value 0 + .value 0 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .quad 0 + .quad 0 + .section .debug_rnglists,"",@progbits +.Ldebug_ranges0: + .long .Ldebug_ranges3-.Ldebug_ranges2 +.Ldebug_ranges2: + .value 0x5 + .byte 0x8 + .byte 0 + .long 0 +.LLRL5: + .byte 0x4 + .uleb128 .LBB34-.Ltext0 + .uleb128 .LBE34-.Ltext0 + .byte 0x4 + .uleb128 .LBB35-.Ltext0 + .uleb128 .LBE35-.Ltext0 + .byte 0 +.LLRL16: + .byte 0x4 + .uleb128 .LBB40-.Ltext0 + .uleb128 .LBE40-.Ltext0 + .byte 0x4 + .uleb128 .LBB43-.Ltext0 + .uleb128 .LBE43-.Ltext0 + .byte 0 +.LLRL18: + .byte 0x4 + .uleb128 .LBB41-.Ltext0 + .uleb128 .LBE41-.Ltext0 + .byte 0x4 + .uleb128 .LBB42-.Ltext0 + .uleb128 .LBE42-.Ltext0 + .byte 0 +.LLRL31: + .byte 0x4 + .uleb128 .LBB48-.Ltext0 + .uleb128 .LBE48-.Ltext0 + .byte 0x4 + .uleb128 .LBB60-.Ltext0 + .uleb128 .LBE60-.Ltext0 + .byte 0x4 + .uleb128 .LBB61-.Ltext0 + .uleb128 .LBE61-.Ltext0 + .byte 0x4 + .uleb128 .LBB64-.Ltext0 + .uleb128 .LBE64-.Ltext0 + .byte 0 +.LLRL33: + .byte 0x4 + .uleb128 .LBB49-.Ltext0 + .uleb128 .LBE49-.Ltext0 + .byte 0x4 + .uleb128 .LBB58-.Ltext0 + .uleb128 .LBE58-.Ltext0 + .byte 0x4 + .uleb128 .LBB59-.Ltext0 + .uleb128 .LBE59-.Ltext0 + .byte 0 +.LLRL35: + .byte 0x4 + .uleb128 .LBB50-.Ltext0 + .uleb128 .LBE50-.Ltext0 + .byte 0x4 + .uleb128 .LBB55-.Ltext0 + .uleb128 .LBE55-.Ltext0 + .byte 0 +.LLRL70: + .byte 0x4 + .uleb128 .LBB73-.Ltext0 + .uleb128 .LBE73-.Ltext0 + .byte 0x4 + .uleb128 .LBB74-.Ltext0 + .uleb128 .LBE74-.Ltext0 + .byte 0 +.Ldebug_ranges3: + .section .debug_line,"",@progbits +.Ldebug_line0: + .section .debug_str,"MS",@progbits,1 +.LASF189: + .string "__builtin___asan_report_load8" +.LASF138: + .string "diagnostic" +.LASF154: + .string "diagn" +.LASF46: + .string "_shortbuf" +.LASF215: + .string "_IO_lock_t" +.LASF117: + .string "DiagnosticWarning" +.LASF23: + .string "gp_offset" +.LASF174: + .string "diagn_free" +.LASF63: + .string "stderr" +.LASF158: + .string "nr_warnings" +.LASF35: + .string "_IO_buf_end" +.LASF150: + .string "__ctype_b_loc" +.LASF153: + .string "self" +.LASF184: + .string "__ubsan_handle_type_mismatch_v1" +.LASF103: + .string "stream_offs" +.LASF185: + .string "__ubsan_handle_pointer_overflow" +.LASF33: + .string "_IO_write_end" +.LASF7: + .string "unsigned int" +.LASF51: + .string "_freeres_list" +.LASF207: + .string "__builtin___asan_report_store4" +.LASF160: + .string "diagn_free_impl" +.LASF205: + .string "__builtin___asan_report_store8" +.LASF27: + .string "_flags" +.LASF39: + .string "_markers" +.LASF170: + .string "diagn_line_start_offset" +.LASF208: + .string "__asan_report_store_n" +.LASF17: + .string "array_t" +.LASF107: + .string "warn_multichar" +.LASF80: + .string "StarAssign" +.LASF175: + .string "diagn_push" +.LASF164: + .string "line_no" +.LASF69: + .string "Identifier" +.LASF181: + .string "diagn_new" +.LASF169: + .string "diagn_lineno" +.LASF62: + .string "stdout" +.LASF139: + .string "lexeme" +.LASF38: + .string "_IO_save_end" +.LASF59: + .string "_IO_codecvt" +.LASF131: + .string "_ISspace" +.LASF124: + .string "comp_args" +.LASF25: + .string "overflow_arg_area" +.LASF16: + .string "long long unsigned int" +.LASF156: + .string "file" +.LASF118: + .string "DiagnosticError" +.LASF142: + .string "cfprintf" +.LASF210: + .string "__asan_stack_malloc_1" +.LASF173: + .string "diagn_enum_ansi_code" +.LASF149: + .string "vasprintf" +.LASF37: + .string "_IO_backup_base" +.LASF94: + .string "BitwiseXorAssign" +.LASF48: + .string "_offset" +.LASF191: + .string "__builtin___ubsan_handle_nonnull_arg" +.LASF121: + .string "diagnostic_impl" +.LASF127: + .string "_ISlower" +.LASF41: + .string "_fileno" +.LASF180: + .string "diagn_flush" +.LASF22: + .string "__gnuc_va_list" +.LASF92: + .string "BitwiseOrAssign" +.LASF119: + .string "DiagnosticNote" +.LASF9: + .string "size_t" +.LASF100: + .string "Comment" +.LASF73: + .string "RightBrace" +.LASF130: + .string "_ISxdigit" +.LASF140: + .string "__chk_free_impl" +.LASF30: + .string "_IO_read_base" +.LASF106: + .string "_Bool" +.LASF90: + .string "BitwiseAnd" +.LASF87: + .string "AssignAssign" +.LASF12: + .string "__uint64_t" +.LASF125: + .string "path" +.LASF183: + .string "__fmt" +.LASF163: + .string "line_start_offset" +.LASF201: + .string "__builtin___asan_handle_no_return" +.LASF182: + .string "__stream" +.LASF115: + .string "lexeme_type" +.LASF15: + .string "char" +.LASF190: + .string "__ubsan_handle_nonnull_arg" +.LASF145: + .string "__fprintf_chk" +.LASF54: + .string "_mode" +.LASF120: + .string "diagn_t" +.LASF74: + .string "Minus" +.LASF58: + .string "_IO_marker" +.LASF28: + .string "_IO_read_ptr" +.LASF113: + .string "filenames" +.LASF148: + .string "exit" +.LASF203: + .string "__builtin___ubsan_handle_builtin_unreachable" +.LASF146: + .string "strcmp" +.LASF144: + .string "array_length" +.LASF19: + .string "uint8_t" +.LASF83: + .string "Decrement" +.LASF57: + .string "array_impl" +.LASF61: + .string "va_list" +.LASF31: + .string "_IO_write_base" +.LASF72: + .string "LeftBrace" +.LASF4: + .string "long long int" +.LASF36: + .string "_IO_save_base" +.LASF93: + .string "BitwiseAndAssign" +.LASF135: + .string "_IScntrl" +.LASF151: + .string "array_new" +.LASF71: + .string "RightParen" +.LASF68: + .string "CharacterLiteral" +.LASF129: + .string "_ISdigit" +.LASF91: + .string "BitwiseXor" +.LASF114: + .string "nr_filenames" +.LASF81: + .string "ModulusAssign" +.LASF52: + .string "_freeres_buf" +.LASF88: + .string "NotAssign" +.LASF82: + .string "Increment" +.LASF79: + .string "DivAssign" +.LASF53: + .string "__pad5" +.LASF186: + .string "__builtin___ubsan_handle_type_mismatch_v1" +.LASF172: + .string "diagn_enum_to_string" +.LASF187: + .string "__builtin___ubsan_handle_pointer_overflow" +.LASF45: + .string "_vtable_offset" +.LASF179: + .string "warn_name" +.LASF116: + .string "diagn_type" +.LASF212: + .ascii "GNU C17 13.3.1 202" + .string "40614 -mtune=generic -march=x86-64 -ggdb -Os -Og -std=gnu17 -p -fanalyzer -fsanitize=address,undefined,leak -fstack-protector-strong -fstack-clash-protection -fstrict-aliasing -ftrivial-auto-var-init=zero -fno-omit-frame-pointer -fno-common -fcf-protection" +.LASF152: + .string "__chk_calloc_impl" +.LASF177: + .string "args" +.LASF126: + .string "_ISupper" +.LASF123: + .string "diagns" +.LASF50: + .string "_wide_data" +.LASF78: + .string "MinusAssign" +.LASF122: + .string "src_stream" +.LASF111: + .string "warn_flags" +.LASF101: + .string "MultiComment" +.LASF136: + .string "_ISpunct" +.LASF29: + .string "_IO_read_end" +.LASF86: + .string "Assign" +.LASF132: + .string "_ISprint" +.LASF11: + .string "short int" +.LASF85: + .string "LogicalAnd" +.LASF171: + .string "curr" +.LASF3: + .string "long int" +.LASF70: + .string "LeftParen" +.LASF18: + .string "array_free_callback_t" +.LASF102: + .string "length" +.LASF161: + .string "diagn_flush_single" +.LASF64: + .string "fptr_t" +.LASF211: + .string "__stack_chk_fail" +.LASF67: + .string "StringLiteral" +.LASF60: + .string "_IO_wide_data" +.LASF20: + .string "uint64_t" +.LASF214: + .string "__va_list_tag" +.LASF157: + .string "nr_errors" +.LASF216: + .string "fprintf" +.LASF143: + .string "array_get" +.LASF165: + .string "rel_line" +.LASF84: + .string "LogicalOr" +.LASF24: + .string "fp_offset" +.LASF10: + .string "__uint8_t" +.LASF133: + .string "_ISgraph" +.LASF168: + .string "start" +.LASF105: + .string "lexeme_t" +.LASF98: + .string "Semi" +.LASF21: + .string "uintptr_t" +.LASF47: + .string "_lock" +.LASF2: + .string "long unsigned int" +.LASF43: + .string "_old_offset" +.LASF109: + .string "_IO_FILE" +.LASF26: + .string "reg_save_area" +.LASF128: + .string "_ISalpha" +.LASF209: + .string "__builtin___asan_report_store_n" +.LASF194: + .string "__asan_report_load1" +.LASF198: + .string "__asan_report_load2" +.LASF192: + .string "__asan_report_load4" +.LASF188: + .string "__asan_report_load8" +.LASF206: + .string "__asan_report_store4" +.LASF178: + .string "diagn_is_warn_enabled" +.LASF104: + .string "type" +.LASF5: + .string "unsigned char" +.LASF204: + .string "__asan_report_store8" +.LASF108: + .string "tokenize_comments" +.LASF32: + .string "_IO_write_ptr" +.LASF176: + .string "warn_name_opt" +.LASF95: + .string "BitwiseNegate" +.LASF76: + .string "Modulus" +.LASF202: + .string "__ubsan_handle_builtin_unreachable" +.LASF96: + .string "BwdSlash" +.LASF112: + .string "parse_flags" +.LASF97: + .string "Newline" +.LASF147: + .string "array_append" +.LASF137: + .string "_ISalnum" +.LASF159: + .string "nr_notes" +.LASF89: + .string "BitwiseOr" +.LASF49: + .string "_codecvt" +.LASF110: + .string "compilation_args" +.LASF77: + .string "AddAssign" +.LASF13: + .string "__off_t" +.LASF134: + .string "_ISblank" +.LASF8: + .string "signed char" +.LASF6: + .string "short unsigned int" +.LASF213: + .string "__builtin_va_list" +.LASF166: + .string "current" +.LASF155: + .string "__func__" +.LASF75: + .string "Star" +.LASF40: + .string "_chain" +.LASF66: + .string "FloatingLiteral" +.LASF56: + .string "FILE" +.LASF42: + .string "_flags2" +.LASF167: + .string "lines_left" +.LASF197: + .string "__builtin_fputc" +.LASF65: + .string "NumericLiteral" +.LASF44: + .string "_cur_column" +.LASF141: + .string "array_free_cb" +.LASF162: + .string "lexeme_raw" +.LASF99: + .string "EndOfFile" +.LASF14: + .string "__off64_t" +.LASF200: + .string "__asan_handle_no_return" +.LASF55: + .string "_unused2" +.LASF34: + .string "_IO_buf_base" +.LASF195: + .string "__builtin___asan_report_load1" +.LASF199: + .string "__builtin___asan_report_load2" +.LASF193: + .string "__builtin___asan_report_load4" +.LASF196: + .string "fputc" + .section .debug_line_str,"MS",@progbits,1 +.LASF1: + .string "/home/unazed/Programming/c/ucc-0.2.0" +.LASF0: + .string "src/diagnostics.c" + .ident "GCC: (Gentoo 13.3.1_p20240614 p17) 13.3.1 20240614" + .section .note.GNU-stack,"",@progbits + .section .note.gnu.property,"a" + .align 8 + .long 1f - 0f + .long 4f - 1f + .long 5 +0: + .string "GNU" +1: + .align 8 + .long 0xc0000002 + .long 3f - 2f +2: + .long 0x3 +3: + .align 8 +4: diff --git a/build/generic.d b/build/generic.d new file mode 100644 index 0000000..3bd01c5 --- /dev/null +++ b/build/generic.d @@ -0,0 +1,5 @@ +build/generic.o: src/generic.c include/generic.h include/ansi-colors.h \ + include/io.h +include/generic.h: +include/ansi-colors.h: +include/io.h: diff --git a/build/generic.i b/build/generic.i new file mode 100644 index 0000000..3ad1c28 --- /dev/null +++ b/build/generic.i @@ -0,0 +1,3491 @@ +# 0 "src/generic.c" +# 1 "/home/unazed/Programming/c/ucc-0.2.0//" +# 0 "" +# 0 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 0 "" 2 +# 1 "src/generic.c" +# 1 "include/generic.h" 1 + + +# 1 "include/ansi-colors.h" 1 + + +# 1 "include/io.h" 1 + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 1 3 4 +# 9 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 3 4 +# 1 "/usr/include/stdint.h" 1 3 4 +# 26 "/usr/include/stdint.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 33 "/usr/include/bits/libc-header-start.h" 3 4 +# 1 "/usr/include/features.h" 1 3 4 +# 394 "/usr/include/features.h" 3 4 +# 1 "/usr/include/features-time64.h" 1 3 4 +# 20 "/usr/include/features-time64.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 21 "/usr/include/features-time64.h" 2 3 4 +# 1 "/usr/include/bits/timesize.h" 1 3 4 +# 19 "/usr/include/bits/timesize.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/bits/timesize.h" 2 3 4 +# 22 "/usr/include/features-time64.h" 2 3 4 +# 395 "/usr/include/features.h" 2 3 4 +# 503 "/usr/include/features.h" 3 4 +# 1 "/usr/include/sys/cdefs.h" 1 3 4 +# 576 "/usr/include/sys/cdefs.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 577 "/usr/include/sys/cdefs.h" 2 3 4 +# 1 "/usr/include/bits/long-double.h" 1 3 4 +# 578 "/usr/include/sys/cdefs.h" 2 3 4 +# 504 "/usr/include/features.h" 2 3 4 +# 527 "/usr/include/features.h" 3 4 +# 1 "/usr/include/gnu/stubs.h" 1 3 4 +# 10 "/usr/include/gnu/stubs.h" 3 4 +# 1 "/usr/include/gnu/stubs-64.h" 1 3 4 +# 11 "/usr/include/gnu/stubs.h" 2 3 4 +# 528 "/usr/include/features.h" 2 3 4 +# 34 "/usr/include/bits/libc-header-start.h" 2 3 4 +# 27 "/usr/include/stdint.h" 2 3 4 +# 1 "/usr/include/bits/types.h" 1 3 4 +# 27 "/usr/include/bits/types.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 28 "/usr/include/bits/types.h" 2 3 4 +# 1 "/usr/include/bits/timesize.h" 1 3 4 +# 19 "/usr/include/bits/timesize.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/bits/timesize.h" 2 3 4 +# 29 "/usr/include/bits/types.h" 2 3 4 + + + +# 31 "/usr/include/bits/types.h" 3 4 +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; + + +typedef signed char __int8_t; +typedef unsigned char __uint8_t; +typedef signed short int __int16_t; +typedef unsigned short int __uint16_t; +typedef signed int __int32_t; +typedef unsigned int __uint32_t; + +typedef signed long int __int64_t; +typedef unsigned long int __uint64_t; + + + + + + +typedef __int8_t __int_least8_t; +typedef __uint8_t __uint_least8_t; +typedef __int16_t __int_least16_t; +typedef __uint16_t __uint_least16_t; +typedef __int32_t __int_least32_t; +typedef __uint32_t __uint_least32_t; +typedef __int64_t __int_least64_t; +typedef __uint64_t __uint_least64_t; + + + +typedef long int __quad_t; +typedef unsigned long int __u_quad_t; + + + + + + + +typedef long int __intmax_t; +typedef unsigned long int __uintmax_t; +# 141 "/usr/include/bits/types.h" 3 4 +# 1 "/usr/include/bits/typesizes.h" 1 3 4 +# 142 "/usr/include/bits/types.h" 2 3 4 +# 1 "/usr/include/bits/time64.h" 1 3 4 +# 143 "/usr/include/bits/types.h" 2 3 4 + + +typedef unsigned long int __dev_t; +typedef unsigned int __uid_t; +typedef unsigned int __gid_t; +typedef unsigned long int __ino_t; +typedef unsigned long int __ino64_t; +typedef unsigned int __mode_t; +typedef unsigned long int __nlink_t; +typedef long int __off_t; +typedef long int __off64_t; +typedef int __pid_t; +typedef struct { int __val[2]; } __fsid_t; +typedef long int __clock_t; +typedef unsigned long int __rlim_t; +typedef unsigned long int __rlim64_t; +typedef unsigned int __id_t; +typedef long int __time_t; +typedef unsigned int __useconds_t; +typedef long int __suseconds_t; +typedef long int __suseconds64_t; + +typedef int __daddr_t; +typedef int __key_t; + + +typedef int __clockid_t; + + +typedef void * __timer_t; + + +typedef long int __blksize_t; + + + + +typedef long int __blkcnt_t; +typedef long int __blkcnt64_t; + + +typedef unsigned long int __fsblkcnt_t; +typedef unsigned long int __fsblkcnt64_t; + + +typedef unsigned long int __fsfilcnt_t; +typedef unsigned long int __fsfilcnt64_t; + + +typedef long int __fsword_t; + +typedef long int __ssize_t; + + +typedef long int __syscall_slong_t; + +typedef unsigned long int __syscall_ulong_t; + + + +typedef __off64_t __loff_t; +typedef char *__caddr_t; + + +typedef long int __intptr_t; + + +typedef unsigned int __socklen_t; + + + + +typedef int __sig_atomic_t; +# 28 "/usr/include/stdint.h" 2 3 4 +# 1 "/usr/include/bits/wchar.h" 1 3 4 +# 29 "/usr/include/stdint.h" 2 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 30 "/usr/include/stdint.h" 2 3 4 + + + + +# 1 "/usr/include/bits/stdint-intn.h" 1 3 4 +# 24 "/usr/include/bits/stdint-intn.h" 3 4 +typedef __int8_t int8_t; +typedef __int16_t int16_t; +typedef __int32_t int32_t; +typedef __int64_t int64_t; +# 35 "/usr/include/stdint.h" 2 3 4 + + +# 1 "/usr/include/bits/stdint-uintn.h" 1 3 4 +# 24 "/usr/include/bits/stdint-uintn.h" 3 4 +typedef __uint8_t uint8_t; +typedef __uint16_t uint16_t; +typedef __uint32_t uint32_t; +typedef __uint64_t uint64_t; +# 38 "/usr/include/stdint.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdint-least.h" 1 3 4 +# 25 "/usr/include/bits/stdint-least.h" 3 4 +typedef __int_least8_t int_least8_t; +typedef __int_least16_t int_least16_t; +typedef __int_least32_t int_least32_t; +typedef __int_least64_t int_least64_t; + + +typedef __uint_least8_t uint_least8_t; +typedef __uint_least16_t uint_least16_t; +typedef __uint_least32_t uint_least32_t; +typedef __uint_least64_t uint_least64_t; +# 42 "/usr/include/stdint.h" 2 3 4 + + + + + +typedef signed char int_fast8_t; + +typedef long int int_fast16_t; +typedef long int int_fast32_t; +typedef long int int_fast64_t; +# 60 "/usr/include/stdint.h" 3 4 +typedef unsigned char uint_fast8_t; + +typedef unsigned long int uint_fast16_t; +typedef unsigned long int uint_fast32_t; +typedef unsigned long int uint_fast64_t; +# 76 "/usr/include/stdint.h" 3 4 +typedef long int intptr_t; + + +typedef unsigned long int uintptr_t; +# 90 "/usr/include/stdint.h" 3 4 +typedef __intmax_t intmax_t; +typedef __uintmax_t uintmax_t; +# 10 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 2 3 4 +# 4 "include/io.h" 2 +# 1 "/usr/include/stdio.h" 1 3 4 +# 28 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 29 "/usr/include/stdio.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 214 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 +typedef long unsigned int size_t; +# 35 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdarg.h" 1 3 4 +# 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdarg.h" 3 4 +typedef __builtin_va_list __gnuc_va_list; +# 38 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/include/bits/types/__fpos_t.h" 1 3 4 + + + + +# 1 "/usr/include/bits/types/__mbstate_t.h" 1 3 4 +# 13 "/usr/include/bits/types/__mbstate_t.h" 3 4 +typedef struct +{ + int __count; + union + { + unsigned int __wch; + char __wchb[4]; + } __value; +} __mbstate_t; +# 6 "/usr/include/bits/types/__fpos_t.h" 2 3 4 + + + + +typedef struct _G_fpos_t +{ + __off_t __pos; + __mbstate_t __state; +} __fpos_t; +# 41 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/__fpos64_t.h" 1 3 4 +# 10 "/usr/include/bits/types/__fpos64_t.h" 3 4 +typedef struct _G_fpos64_t +{ + __off64_t __pos; + __mbstate_t __state; +} __fpos64_t; +# 42 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/__FILE.h" 1 3 4 + + + +struct _IO_FILE; +typedef struct _IO_FILE __FILE; +# 43 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/FILE.h" 1 3 4 + + + +struct _IO_FILE; + + +typedef struct _IO_FILE FILE; +# 44 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/struct_FILE.h" 1 3 4 +# 35 "/usr/include/bits/types/struct_FILE.h" 3 4 +struct _IO_FILE; +struct _IO_marker; +struct _IO_codecvt; +struct _IO_wide_data; + + + + +typedef void _IO_lock_t; + + + + + +struct _IO_FILE +{ + int _flags; + + + char *_IO_read_ptr; + char *_IO_read_end; + char *_IO_read_base; + char *_IO_write_base; + char *_IO_write_ptr; + char *_IO_write_end; + char *_IO_buf_base; + char *_IO_buf_end; + + + char *_IO_save_base; + char *_IO_backup_base; + char *_IO_save_end; + + struct _IO_marker *_markers; + + struct _IO_FILE *_chain; + + int _fileno; + int _flags2; + __off_t _old_offset; + + + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + + _IO_lock_t *_lock; + + + + + + + + __off64_t _offset; + + struct _IO_codecvt *_codecvt; + struct _IO_wide_data *_wide_data; + struct _IO_FILE *_freeres_list; + void *_freeres_buf; + size_t __pad5; + int _mode; + + char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; +}; +# 45 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/include/bits/types/cookie_io_functions_t.h" 1 3 4 +# 27 "/usr/include/bits/types/cookie_io_functions_t.h" 3 4 +typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf, + size_t __nbytes); + + + + + + + +typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf, + size_t __nbytes); + + + + + + + +typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w); + + +typedef int cookie_close_function_t (void *__cookie); + + + + + + +typedef struct _IO_cookie_io_functions_t +{ + cookie_read_function_t *read; + cookie_write_function_t *write; + cookie_seek_function_t *seek; + cookie_close_function_t *close; +} cookie_io_functions_t; +# 48 "/usr/include/stdio.h" 2 3 4 + + + + + +typedef __gnuc_va_list va_list; +# 64 "/usr/include/stdio.h" 3 4 +typedef __off_t off_t; +# 78 "/usr/include/stdio.h" 3 4 +typedef __ssize_t ssize_t; + + + + + + +typedef __fpos_t fpos_t; +# 129 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/stdio_lim.h" 1 3 4 +# 130 "/usr/include/stdio.h" 2 3 4 +# 149 "/usr/include/stdio.h" 3 4 +extern FILE *stdin; +extern FILE *stdout; +extern FILE *stderr; + + + + + + +extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); + +extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int renameat (int __oldfd, const char *__old, int __newfd, + const char *__new) __attribute__ ((__nothrow__ , __leaf__)); +# 184 "/usr/include/stdio.h" 3 4 +extern int fclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 194 "/usr/include/stdio.h" 3 4 +extern FILE *tmpfile (void) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); +# 211 "/usr/include/stdio.h" 3 4 +extern char *tmpnam (char[20]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + +extern char *tmpnam_r (char __s[20]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +# 228 "/usr/include/stdio.h" 3 4 +extern char *tempnam (const char *__dir, const char *__pfx) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__malloc__ (__builtin_free, 1))); + + + + + + +extern int fflush (FILE *__stream); +# 245 "/usr/include/stdio.h" 3 4 +extern int fflush_unlocked (FILE *__stream); +# 264 "/usr/include/stdio.h" 3 4 +extern FILE *fopen (const char *__restrict __filename, + const char *__restrict __modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *freopen (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (3))); +# 299 "/usr/include/stdio.h" 3 4 +extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + + +extern FILE *fopencookie (void *__restrict __magic_cookie, + const char *__restrict __modes, + cookie_io_functions_t __io_funcs) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); +# 334 "/usr/include/stdio.h" 3 4 +extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__nonnull__ (1))); + + + +extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, + size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int fprintf (FILE *__restrict __stream, + const char *__restrict __format, ...) __attribute__ ((__nonnull__ (1))); + + + + +extern int printf (const char *__restrict __format, ...); + +extern int sprintf (char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__)); + + + + + +extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nonnull__ (1))); + + + + +extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); + +extern int vsprintf (char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nothrow__)); + + + +extern int snprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); + +extern int vsnprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); + + + + + +extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, + __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__)); +extern int __asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); +extern int asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); + + + + +extern int vdprintf (int __fd, const char *__restrict __fmt, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 2, 0))); +extern int dprintf (int __fd, const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); + + + + + + + +extern int fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); + +extern int sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +# 1 "/usr/include/bits/floatn.h" 1 3 4 +# 119 "/usr/include/bits/floatn.h" 3 4 +# 1 "/usr/include/bits/floatn-common.h" 1 3 4 +# 24 "/usr/include/bits/floatn-common.h" 3 4 +# 1 "/usr/include/bits/long-double.h" 1 3 4 +# 25 "/usr/include/bits/floatn-common.h" 2 3 4 +# 120 "/usr/include/bits/floatn.h" 2 3 4 +# 438 "/usr/include/stdio.h" 2 3 4 +# 463 "/usr/include/stdio.h" 3 4 +extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") + + __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") + __attribute__ ((__warn_unused_result__)); +extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__)) + + ; +# 490 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); + + +extern int vsscanf (const char *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); +# 540 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") + + + + __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") + + __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); +extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__format__ (__scanf__, 2, 0))); +# 575 "/usr/include/stdio.h" 3 4 +extern int fgetc (FILE *__stream) __attribute__ ((__nonnull__ (1))); +extern int getc (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + + + + +extern int getchar (void); + + + + + + +extern int getc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); +extern int getchar_unlocked (void); +# 600 "/usr/include/stdio.h" 3 4 +extern int fgetc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 611 "/usr/include/stdio.h" 3 4 +extern int fputc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); +extern int putc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + +extern int putchar (int __c); +# 627 "/usr/include/stdio.h" 3 4 +extern int fputc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + + +extern int putc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); +extern int putchar_unlocked (int __c); + + + + + + +extern int getw (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + +extern int putw (int __w, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + + +extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1))) __attribute__ ((__nonnull__ (3))); +# 694 "/usr/include/stdio.h" 3 4 +extern __ssize_t __getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))); +extern __ssize_t getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))); + + + + + + + +extern __ssize_t getline (char **__restrict __lineptr, + size_t *__restrict __n, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (3))); + + + + + + + +extern int fputs (const char *__restrict __s, FILE *__restrict __stream) + __attribute__ ((__nonnull__ (2))); + + + + + +extern int puts (const char *__s); + + + + + + +extern int ungetc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + +extern size_t fread (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__nonnull__ (4))); + + + + +extern size_t fwrite (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __s) __attribute__ ((__nonnull__ (4))); +# 766 "/usr/include/stdio.h" 3 4 +extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__nonnull__ (4))); +extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) + __attribute__ ((__nonnull__ (4))); + + + + + + + +extern int fseek (FILE *__stream, long int __off, int __whence) + __attribute__ ((__nonnull__ (1))); + + + + +extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern void rewind (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 803 "/usr/include/stdio.h" 3 4 +extern int fseeko (FILE *__stream, __off_t __off, int __whence) + __attribute__ ((__nonnull__ (1))); + + + + +extern __off_t ftello (FILE *__stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +# 829 "/usr/include/stdio.h" 3 4 +extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) + __attribute__ ((__nonnull__ (1))); + + + + +extern int fsetpos (FILE *__stream, const fpos_t *__pos) __attribute__ ((__nonnull__ (1))); +# 860 "/usr/include/stdio.h" 3 4 +extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + +extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + +extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern void perror (const char *__s) __attribute__ ((__cold__)); + + + + +extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +# 897 "/usr/include/stdio.h" 3 4 +extern int pclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + + + + +extern FILE *popen (const char *__command, const char *__modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + + + +extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))); +# 941 "/usr/include/stdio.h" 3 4 +extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + +extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 959 "/usr/include/stdio.h" 3 4 +extern int __uflow (FILE *); +extern int __overflow (FILE *, int); + + + +# 1 "/usr/include/bits/stdio2-decl.h" 1 3 4 +# 26 "/usr/include/bits/stdio2-decl.h" 3 4 +extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))); +extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + ...) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 2))); +extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 2))); + + + + + +extern int __fprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, ...) + __attribute__ ((__nonnull__ (1))); +extern int __printf_chk (int __flag, const char *__restrict __format, ...); +extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nonnull__ (1))); +extern int __vprintf_chk (int __flag, const char *__restrict __format, + __gnuc_va_list __ap); + + +extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt, + ...) __attribute__ ((__format__ (__printf__, 3, 4))); +extern int __vdprintf_chk (int __fd, int __flag, + const char *__restrict __fmt, __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 3, 0))); +# 96 "/usr/include/bits/stdio2-decl.h" 3 4 +extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets") + + + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2))); +extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk") + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer"))) + ; + +extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, + FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__nonnull__ (4))); + +extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread") + + + __attribute__ ((__warn_unused_result__)); +extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk") + + + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer"))) + ; + +extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (5))); +# 145 "/usr/include/bits/stdio2-decl.h" 3 4 +extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked") + + + __attribute__ ((__warn_unused_result__)); +extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk") + + + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer"))) + ; + +extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (5))); +# 965 "/usr/include/stdio.h" 2 3 4 +# 976 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/stdio.h" 1 3 4 +# 46 "/usr/include/bits/stdio.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +getchar (void) +{ + return getc (stdin); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +fgetc_unlocked (FILE *__fp) +{ + return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +} + + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +getc_unlocked (FILE *__fp) +{ + return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +getchar_unlocked (void) +{ + return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +putchar (int __c) +{ + return putc (__c, stdout); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +fputc_unlocked (int __c, FILE *__stream) +{ + return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); +} + + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +putc_unlocked (int __c, FILE *__stream) +{ + return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +putchar_unlocked (int __c) +{ + return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); +} +# 127 "/usr/include/bits/stdio.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) feof_unlocked (FILE *__stream) +{ + return (((__stream)->_flags & 0x0010) != 0); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) ferror_unlocked (FILE *__stream) +{ + return (((__stream)->_flags & 0x0020) != 0); +} +# 977 "/usr/include/stdio.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdio2.h" 1 3 4 +# 27 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) +{ + return __builtin___sprintf_chk (__s, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, + __builtin_va_arg_pack ()); +} + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) + +{ + return __builtin___vsprintf_chk (__s, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, __ap); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) + +{ + return __builtin___snprintf_chk (__s, __n, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, + __builtin_va_arg_pack ()); +} + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) + +{ + return __builtin___vsnprintf_chk (__s, __n, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, __ap); +} + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) int +fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...) +{ + return __fprintf_chk (__stream, 3 - 1, __fmt, + __builtin_va_arg_pack ()); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +printf (const char *__restrict __fmt, ...) +{ + return __printf_chk (3 - 1, __fmt, __builtin_va_arg_pack ()); +} + + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +vprintf (const char *__restrict __fmt, __gnuc_va_list __ap) +{ + + return __vfprintf_chk (stdout, 3 - 1, __fmt, __ap); + + + +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) int +vfprintf (FILE *__restrict __stream, + const char *__restrict __fmt, __gnuc_va_list __ap) +{ + return __vfprintf_chk (__stream, 3 - 1, __fmt, __ap); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +dprintf (int __fd, const char *__restrict __fmt, ...) +{ + return __dprintf_chk (__fd, 3 - 1, __fmt, + __builtin_va_arg_pack ()); +} + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap) +{ + return __vdprintf_chk (__fd, 3 - 1, __fmt, __ap); +} +# 194 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1))) +__attribute__ ((__nonnull__ (3))) char * +fgets (char *__restrict __s, int __n, FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__s, 1); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))) && (((long unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))))) + return __fgets_alias (__s, __n, __stream); + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (sizeof (char)))) && !(((long unsigned int) (__n)) <= (sz) / (sizeof (char))))) + return __fgets_chk_warn (__s, sz, __n, __stream); + return __fgets_chk (__s, sz, __n, __stream); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))) size_t +fread (void *__restrict __ptr, size_t __size, size_t __n, + FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__ptr, 0); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((long unsigned int) (__n)) <= ((sz)) / ((__size)))))) + return __fread_alias (__ptr, __size, __n, __stream); + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (__size))) && !(((long unsigned int) (__n)) <= (sz) / (__size)))) + return __fread_chk_warn (__ptr, sz, __size, __n, __stream); + return __fread_chk (__ptr, sz, __size, __n, __stream); +} +# 234 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))) size_t +fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, + FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__ptr, 0); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((long unsigned int) (__n)) <= ((sz)) / ((__size)))))) + { + + if (__builtin_constant_p (__size) + && __builtin_constant_p (__n) + && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2)) + && __size * __n <= 8) + { + size_t __cnt = __size * __n; + char *__cptr = (char *) __ptr; + if (__cnt == 0) + return 0; + + for (; __cnt > 0; --__cnt) + { + int __c = getc_unlocked (__stream); + if (__c == (-1)) + break; + *__cptr++ = __c; + } + return (__cptr - (char *) __ptr) / __size; + } + + return __fread_unlocked_alias (__ptr, __size, __n, __stream); + } + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (__size))) && !(((long unsigned int) (__n)) <= (sz) / (__size)))) + return __fread_unlocked_chk_warn (__ptr, sz, __size, __n, __stream); + return __fread_unlocked_chk (__ptr, sz, __size, __n, __stream); + +} +# 981 "/usr/include/stdio.h" 2 3 4 + + + +# 5 "include/io.h" 2 + + +# 6 "include/io.h" +typedef FILE* fptr_t; + +typedef struct +{ + fptr_t ptr; + uint8_t* buffer; + const char* path; + size_t size; +} *memstream_t; + +__attribute__((warn_unused_result, nonnull)) +fptr_t io_open_file (const char* filename, const char* mode); + +__attribute__((warn_unused_result, nonnull)) +uint8_t* io_alloc_file_buffer (fptr_t file); + +__attribute__((nonnull (1, 2))) +size_t io_read_file_into_buffer (fptr_t file, uint8_t* const buffer, uint64_t buffer_size); + +__attribute__((nonnull (1), warn_unused_result)) +memstream_t io_read_file_into_memstream (fptr_t file, const char* const path); + +__attribute__((nonnull)) +void io_free_memstream (memstream_t stream); + +__attribute__((nonnull)) +void io_close_file (fptr_t file); +# 4 "include/ansi-colors.h" 2 +# 34 "include/ansi-colors.h" +void cprintf (const char* ccode, const char* fmt, ...); + +__attribute__((nonnull (1))) +void cfprintf (fptr_t file, const char* ccode, const char* fmt, ...); +# 4 "include/generic.h" 2 + +# 1 "/usr/include/errno.h" 1 3 4 +# 28 "/usr/include/errno.h" 3 4 +# 1 "/usr/include/bits/errno.h" 1 3 4 +# 26 "/usr/include/bits/errno.h" 3 4 +# 1 "/usr/include/linux/errno.h" 1 3 4 +# 1 "/usr/include/asm/errno.h" 1 3 4 +# 1 "/usr/include/asm-generic/errno.h" 1 3 4 + + + + +# 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 +# 6 "/usr/include/asm-generic/errno.h" 2 3 4 +# 2 "/usr/include/asm/errno.h" 2 3 4 +# 2 "/usr/include/linux/errno.h" 2 3 4 +# 27 "/usr/include/bits/errno.h" 2 3 4 +# 29 "/usr/include/errno.h" 2 3 4 + + + + + + + + + +# 37 "/usr/include/errno.h" 3 4 +extern int *__errno_location (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +# 52 "/usr/include/errno.h" 3 4 + +# 6 "include/generic.h" 2 +# 1 "/usr/include/stdlib.h" 1 3 4 +# 26 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/stdlib.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 329 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 +typedef int wchar_t; +# 33 "/usr/include/stdlib.h" 2 3 4 + + + + + + + +# 1 "/usr/include/bits/waitflags.h" 1 3 4 +# 41 "/usr/include/stdlib.h" 2 3 4 +# 1 "/usr/include/bits/waitstatus.h" 1 3 4 +# 42 "/usr/include/stdlib.h" 2 3 4 +# 59 "/usr/include/stdlib.h" 3 4 +typedef struct + { + int quot; + int rem; + } div_t; + + + +typedef struct + { + long int quot; + long int rem; + } ldiv_t; + + + + + +__extension__ typedef struct + { + long long int quot; + long long int rem; + } lldiv_t; +# 98 "/usr/include/stdlib.h" 3 4 +extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + +extern double atof (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + +extern int atoi (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + +extern long int atol (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + +__extension__ extern long long int atoll (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + +extern double strtod (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern float strtof (const char *__restrict __nptr, + char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern long double strtold (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 177 "/usr/include/stdlib.h" 3 4 +extern long int strtol (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern unsigned long int strtoul (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +__extension__ +extern long long int strtoq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtouq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +__extension__ +extern long long int strtoll (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtoull (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 480 "/usr/include/stdlib.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) atoi (const char *__nptr) +{ + return (int) strtol (__nptr, (char **) ((void *)0), 10); +} +extern __inline __attribute__ ((__gnu_inline__)) long int +__attribute__ ((__nothrow__ , __leaf__)) atol (const char *__nptr) +{ + return strtol (__nptr, (char **) ((void *)0), 10); +} + + +__extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int +__attribute__ ((__nothrow__ , __leaf__)) atoll (const char *__nptr) +{ + return strtoll (__nptr, (char **) ((void *)0), 10); +} +# 505 "/usr/include/stdlib.h" 3 4 +extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + +extern long int a64l (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + + +# 1 "/usr/include/sys/types.h" 1 3 4 +# 27 "/usr/include/sys/types.h" 3 4 + + + + + + +typedef __u_char u_char; +typedef __u_short u_short; +typedef __u_int u_int; +typedef __u_long u_long; +typedef __quad_t quad_t; +typedef __u_quad_t u_quad_t; +typedef __fsid_t fsid_t; + + +typedef __loff_t loff_t; + + + + +typedef __ino_t ino_t; +# 59 "/usr/include/sys/types.h" 3 4 +typedef __dev_t dev_t; + + + + +typedef __gid_t gid_t; + + + + +typedef __mode_t mode_t; + + + + +typedef __nlink_t nlink_t; + + + + +typedef __uid_t uid_t; +# 97 "/usr/include/sys/types.h" 3 4 +typedef __pid_t pid_t; + + + + + +typedef __id_t id_t; +# 114 "/usr/include/sys/types.h" 3 4 +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; + + + + + +typedef __key_t key_t; + + + + +# 1 "/usr/include/bits/types/clock_t.h" 1 3 4 + + + + + + +typedef __clock_t clock_t; +# 127 "/usr/include/sys/types.h" 2 3 4 + +# 1 "/usr/include/bits/types/clockid_t.h" 1 3 4 + + + + + + +typedef __clockid_t clockid_t; +# 129 "/usr/include/sys/types.h" 2 3 4 +# 1 "/usr/include/bits/types/time_t.h" 1 3 4 +# 10 "/usr/include/bits/types/time_t.h" 3 4 +typedef __time_t time_t; +# 130 "/usr/include/sys/types.h" 2 3 4 +# 1 "/usr/include/bits/types/timer_t.h" 1 3 4 + + + + + + +typedef __timer_t timer_t; +# 131 "/usr/include/sys/types.h" 2 3 4 +# 144 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 145 "/usr/include/sys/types.h" 2 3 4 + + + +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; + + + + + + + +typedef __uint8_t u_int8_t; +typedef __uint16_t u_int16_t; +typedef __uint32_t u_int32_t; +typedef __uint64_t u_int64_t; + + +typedef int register_t __attribute__ ((__mode__ (__word__))); +# 176 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/include/endian.h" 1 3 4 +# 24 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/bits/endian.h" 1 3 4 +# 35 "/usr/include/bits/endian.h" 3 4 +# 1 "/usr/include/bits/endianness.h" 1 3 4 +# 36 "/usr/include/bits/endian.h" 2 3 4 +# 25 "/usr/include/endian.h" 2 3 4 +# 35 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/bits/byteswap.h" 1 3 4 +# 33 "/usr/include/bits/byteswap.h" 3 4 +static __inline __uint16_t +__bswap_16 (__uint16_t __bsx) +{ + + return __builtin_bswap16 (__bsx); + + + +} + + + + + + +static __inline __uint32_t +__bswap_32 (__uint32_t __bsx) +{ + + return __builtin_bswap32 (__bsx); + + + +} +# 69 "/usr/include/bits/byteswap.h" 3 4 +__extension__ static __inline __uint64_t +__bswap_64 (__uint64_t __bsx) +{ + + return __builtin_bswap64 (__bsx); + + + +} +# 36 "/usr/include/endian.h" 2 3 4 +# 1 "/usr/include/bits/uintn-identity.h" 1 3 4 +# 32 "/usr/include/bits/uintn-identity.h" 3 4 +static __inline __uint16_t +__uint16_identity (__uint16_t __x) +{ + return __x; +} + +static __inline __uint32_t +__uint32_identity (__uint32_t __x) +{ + return __x; +} + +static __inline __uint64_t +__uint64_identity (__uint64_t __x) +{ + return __x; +} +# 37 "/usr/include/endian.h" 2 3 4 +# 177 "/usr/include/sys/types.h" 2 3 4 + + +# 1 "/usr/include/sys/select.h" 1 3 4 +# 30 "/usr/include/sys/select.h" 3 4 +# 1 "/usr/include/bits/select.h" 1 3 4 +# 31 "/usr/include/sys/select.h" 2 3 4 + + +# 1 "/usr/include/bits/types/sigset_t.h" 1 3 4 + + + +# 1 "/usr/include/bits/types/__sigset_t.h" 1 3 4 + + + + +typedef struct +{ + unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; +} __sigset_t; +# 5 "/usr/include/bits/types/sigset_t.h" 2 3 4 + + +typedef __sigset_t sigset_t; +# 34 "/usr/include/sys/select.h" 2 3 4 + + + +# 1 "/usr/include/bits/types/struct_timeval.h" 1 3 4 + + + + + + + +struct timeval +{ + + + + + __time_t tv_sec; + __suseconds_t tv_usec; + +}; +# 38 "/usr/include/sys/select.h" 2 3 4 + +# 1 "/usr/include/bits/types/struct_timespec.h" 1 3 4 +# 11 "/usr/include/bits/types/struct_timespec.h" 3 4 +struct timespec +{ + + + + __time_t tv_sec; + + + + + __syscall_slong_t tv_nsec; +# 31 "/usr/include/bits/types/struct_timespec.h" 3 4 +}; +# 40 "/usr/include/sys/select.h" 2 3 4 + + + +typedef __suseconds_t suseconds_t; + + + + + +typedef long int __fd_mask; +# 59 "/usr/include/sys/select.h" 3 4 +typedef struct + { + + + + + + + __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; + + + } fd_set; + + + + + + +typedef __fd_mask fd_mask; +# 91 "/usr/include/sys/select.h" 3 4 + +# 102 "/usr/include/sys/select.h" 3 4 +extern int select (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout); +# 127 "/usr/include/sys/select.h" 3 4 +extern int pselect (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + const struct timespec *__restrict __timeout, + const __sigset_t *__restrict __sigmask); +# 150 "/usr/include/sys/select.h" 3 4 +# 1 "/usr/include/bits/select2.h" 1 3 4 +# 23 "/usr/include/bits/select2.h" 3 4 +# 1 "/usr/include/bits/select-decl.h" 1 3 4 +# 27 "/usr/include/bits/select-decl.h" 3 4 +extern long int __fdelt_chk (long int __d); +extern long int __fdelt_warn (long int __d) + __attribute__((__warning__ ("bit outside of fd_set selected"))); +# 24 "/usr/include/bits/select2.h" 2 3 4 +# 151 "/usr/include/sys/select.h" 2 3 4 + + + +# 180 "/usr/include/sys/types.h" 2 3 4 + + + + + +typedef __blksize_t blksize_t; + + + + + + +typedef __blkcnt_t blkcnt_t; + + + +typedef __fsblkcnt_t fsblkcnt_t; + + + +typedef __fsfilcnt_t fsfilcnt_t; +# 227 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 +# 23 "/usr/include/bits/pthreadtypes.h" 3 4 +# 1 "/usr/include/bits/thread-shared-types.h" 1 3 4 +# 44 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/pthreadtypes-arch.h" 1 3 4 +# 21 "/usr/include/bits/pthreadtypes-arch.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 22 "/usr/include/bits/pthreadtypes-arch.h" 2 3 4 +# 45 "/usr/include/bits/thread-shared-types.h" 2 3 4 + +# 1 "/usr/include/bits/atomic_wide_counter.h" 1 3 4 +# 25 "/usr/include/bits/atomic_wide_counter.h" 3 4 +typedef union +{ + __extension__ unsigned long long int __value64; + struct + { + unsigned int __low; + unsigned int __high; + } __value32; +} __atomic_wide_counter; +# 47 "/usr/include/bits/thread-shared-types.h" 2 3 4 + + + + +typedef struct __pthread_internal_list +{ + struct __pthread_internal_list *__prev; + struct __pthread_internal_list *__next; +} __pthread_list_t; + +typedef struct __pthread_internal_slist +{ + struct __pthread_internal_slist *__next; +} __pthread_slist_t; +# 76 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/struct_mutex.h" 1 3 4 +# 22 "/usr/include/bits/struct_mutex.h" 3 4 +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; + + unsigned int __nusers; + + + + int __kind; + + short __spins; + short __elision; + __pthread_list_t __list; +# 53 "/usr/include/bits/struct_mutex.h" 3 4 +}; +# 77 "/usr/include/bits/thread-shared-types.h" 2 3 4 +# 89 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/struct_rwlock.h" 1 3 4 +# 23 "/usr/include/bits/struct_rwlock.h" 3 4 +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; + + int __cur_writer; + int __shared; + signed char __rwelision; + + + + + unsigned char __pad1[7]; + + + unsigned long int __pad2; + + + unsigned int __flags; +# 55 "/usr/include/bits/struct_rwlock.h" 3 4 +}; +# 90 "/usr/include/bits/thread-shared-types.h" 2 3 4 + + + + +struct __pthread_cond_s +{ + __atomic_wide_counter __wseq; + __atomic_wide_counter __g1_start; + unsigned int __g_refs[2] ; + unsigned int __g_size[2]; + unsigned int __g1_orig_size; + unsigned int __wrefs; + unsigned int __g_signals[2]; +}; + +typedef unsigned int __tss_t; +typedef unsigned long int __thrd_t; + +typedef struct +{ + int __data ; +} __once_flag; +# 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 + + + +typedef unsigned long int pthread_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_mutexattr_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_condattr_t; + + + +typedef unsigned int pthread_key_t; + + + +typedef int pthread_once_t; + + +union pthread_attr_t +{ + char __size[56]; + long int __align; +}; + +typedef union pthread_attr_t pthread_attr_t; + + + + +typedef union +{ + struct __pthread_mutex_s __data; + char __size[40]; + long int __align; +} pthread_mutex_t; + + +typedef union +{ + struct __pthread_cond_s __data; + char __size[48]; + __extension__ long long int __align; +} pthread_cond_t; + + + + + +typedef union +{ + struct __pthread_rwlock_arch_t __data; + char __size[56]; + long int __align; +} pthread_rwlock_t; + +typedef union +{ + char __size[8]; + long int __align; +} pthread_rwlockattr_t; + + + + + +typedef volatile int pthread_spinlock_t; + + + + +typedef union +{ + char __size[32]; + long int __align; +} pthread_barrier_t; + +typedef union +{ + char __size[4]; + int __align; +} pthread_barrierattr_t; +# 228 "/usr/include/sys/types.h" 2 3 4 + + + +# 515 "/usr/include/stdlib.h" 2 3 4 + + + + + + +extern long int random (void) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +extern char *initstate (unsigned int __seed, char *__statebuf, + size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +struct random_data + { + int32_t *fptr; + int32_t *rptr; + int32_t *state; + int rand_type; + int rand_deg; + int rand_sep; + int32_t *end_ptr; + }; + +extern int random_r (struct random_data *__restrict __buf, + int32_t *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int srandom_r (unsigned int __seed, struct random_data *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, + size_t __statelen, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); + +extern int setstate_r (char *__restrict __statebuf, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern int rand (void) __attribute__ ((__nothrow__ , __leaf__)); + +extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int nrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int jrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__)); +extern unsigned short int *seed48 (unsigned short int __seed16v[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +struct drand48_data + { + unsigned short int __x[3]; + unsigned short int __old_x[3]; + unsigned short int __c; + unsigned short int __init; + __extension__ unsigned long long int __a; + + }; + + +extern int drand48_r (struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int erand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int lrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int nrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int mrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int jrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int srand48_r (long int __seedval, struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int seed48_r (unsigned short int __seed16v[3], + struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int lcong48_r (unsigned short int __param[7], + struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern __uint32_t arc4random (void) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + +extern void arc4random_buf (void *__buf, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern __uint32_t arc4random_uniform (__uint32_t __upper_bound) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + +extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__)); + +extern void *calloc (size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) __attribute__ ((__warn_unused_result__)); + + + + + + +extern void *realloc (void *__ptr, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); + + +extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__alloc_size__ (2, 3))) + __attribute__ ((__malloc__ (__builtin_free, 1))); + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__ (reallocarray, 1))); + + + +# 1 "/usr/include/alloca.h" 1 3 4 +# 24 "/usr/include/alloca.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 25 "/usr/include/alloca.h" 2 3 4 + + + + + + + +extern void *alloca (size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + +# 707 "/usr/include/stdlib.h" 2 3 4 + + + + + +extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__)); + + + + +extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + + +extern void *aligned_alloc (size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) + __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__)); + + + +extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + +extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void quick_exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + +extern char *getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 786 "/usr/include/stdlib.h" 3 4 +extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int setenv (const char *__name, const char *__value, int __replace) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + +extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int clearenv (void) __attribute__ ((__nothrow__ , __leaf__)); +# 814 "/usr/include/stdlib.h" 3 4 +extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 827 "/usr/include/stdlib.h" 3 4 +extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 849 "/usr/include/stdlib.h" 3 4 +extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 870 "/usr/include/stdlib.h" 3 4 +extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 923 "/usr/include/stdlib.h" 3 4 +extern int system (const char *__command) __attribute__ ((__warn_unused_result__)); +# 940 "/usr/include/stdlib.h" 3 4 +extern char *realpath (const char *__restrict __name, + char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + + + +typedef int (*__compar_fn_t) (const void *, const void *); +# 960 "/usr/include/stdlib.h" 3 4 +extern void *bsearch (const void *__key, const void *__base, + size_t __nmemb, size_t __size, __compar_fn_t __compar) + __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__)); + + +# 1 "/usr/include/bits/stdlib-bsearch.h" 1 3 4 +# 19 "/usr/include/bits/stdlib-bsearch.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) void * +bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) +{ + size_t __l, __u, __idx; + const void *__p; + int __comparison; + + __l = 0; + __u = __nmemb; + while (__l < __u) + { + __idx = (__l + __u) / 2; + __p = (const void *) (((const char *) __base) + (__idx * __size)); + __comparison = (*__compar) (__key, __p); + if (__comparison < 0) + __u = __idx; + else if (__comparison > 0) + __l = __idx + 1; + else + { + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wcast-qual" + + return (void *) __p; + +#pragma GCC diagnostic pop + + } + } + + return ((void *)0); +} +# 966 "/usr/include/stdlib.h" 2 3 4 + + + + +extern void qsort (void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); +# 980 "/usr/include/stdlib.h" 3 4 +extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); +extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); + + +__extension__ extern long long int llabs (long long int __x) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); + + + + + + +extern div_t div (int __numer, int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); +extern ldiv_t ldiv (long int __numer, long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); + + +__extension__ extern lldiv_t lldiv (long long int __numer, + long long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); +# 1012 "/usr/include/stdlib.h" 3 4 +extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); + + + + +extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); + + + + +extern char *gcvt (double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); + + + + +extern char *qecvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); +extern char *qfcvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); +extern char *qgcvt (long double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); + + + + +extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + +extern int qecvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int qfcvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + + + + + +extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int mbtowc (wchar_t *__restrict __pwc, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern size_t mbstowcs (wchar_t *__restrict __pwcs, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__read_only__, 2))); + +extern size_t wcstombs (char *__restrict __s, + const wchar_t *__restrict __pwcs, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))) + __attribute__ ((__access__ (__read_only__, 2))); + + + + + + +extern int rpmatch (const char *__response) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 1099 "/usr/include/stdlib.h" 3 4 +extern int getsubopt (char **__restrict __optionp, + char *const *__restrict __tokens, + char **__restrict __valuep) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__)); +# 1145 "/usr/include/stdlib.h" 3 4 +extern int getloadavg (double __loadavg[], int __nelem) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 1155 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/bits/stdlib-float.h" 1 3 4 +# 24 "/usr/include/bits/stdlib-float.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) double +__attribute__ ((__nothrow__ , __leaf__)) atof (const char *__nptr) +{ + return strtod (__nptr, (char **) ((void *)0)); +} +# 1156 "/usr/include/stdlib.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdlib.h" 1 3 4 +# 23 "/usr/include/bits/stdlib.h" 3 4 +extern char *__realpath_chk (const char *__restrict __name, + char *__restrict __resolved, + size_t __resolvedlen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +extern char *__realpath_alias (const char *__restrict __name, char *__restrict __resolved) __asm__ ("" "realpath") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__warn_unused_result__)); +extern char *__realpath_chk_warn (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) __asm__ ("" "__realpath_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + __attribute__ ((__warn_unused_result__)) + __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer"))) + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * +__attribute__ ((__nothrow__ , __leaf__)) realpath (const char *__restrict __name, char *__restrict __resolved) +{ + size_t sz = __builtin_dynamic_object_size (__resolved, 1); + + if (sz == (size_t) -1) + return __realpath_alias (__name, __resolved); + + + + + + return __realpath_chk (__name, __resolved, sz); +} + + +extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen, + size_t __nreal) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) + __attribute__ ((__access__ (__write_only__, 2, 3))); +extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) __asm__ ("" "ptsname_r") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3))); +extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__ptsname_r_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf"))) + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) ptsname_r (int __fd, char *__buf, size_t __buflen) +{ + return (((__builtin_constant_p (__builtin_dynamic_object_size (__buf, 1)) && (__builtin_dynamic_object_size (__buf, 1)) == (long unsigned int) -1) || (((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((long unsigned int) (__buflen)) <= ((__builtin_dynamic_object_size (__buf, 1))) / ((sizeof (char))))) && (((long unsigned int) (__buflen)) <= ((__builtin_dynamic_object_size (__buf, 1))) / ((sizeof (char)))))) ? __ptsname_r_alias (__fd, __buf, __buflen) : ((((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((long unsigned int) (__buflen)) <= (__builtin_dynamic_object_size (__buf, 1)) / (sizeof (char)))) && !(((long unsigned int) (__buflen)) <= (__builtin_dynamic_object_size (__buf, 1)) / (sizeof (char)))) ? __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_dynamic_object_size (__buf, 1)) : __ptsname_r_chk (__fd, __buf, __buflen, __builtin_dynamic_object_size (__buf, 1)))) + + ; +} + + +extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +extern int __wctomb_alias (char *__s, wchar_t __wchar) __asm__ ("" "wctomb") __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__warn_unused_result__)); + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int +__attribute__ ((__nothrow__ , __leaf__)) wctomb (char *__s, wchar_t __wchar) +{ + + + + + + + + if (__builtin_dynamic_object_size (__s, 1) != (size_t) -1 + && 16 > __builtin_dynamic_object_size (__s, 1)) + return __wctomb_chk (__s, __wchar, __builtin_dynamic_object_size (__s, 1)); + return __wctomb_alias (__s, __wchar); +} + + +extern size_t __mbstowcs_chk (wchar_t *__restrict __dst, + const char *__restrict __src, + size_t __len, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __mbstowcs_nulldst (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) __asm__ ("" "mbstowcs") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) __asm__ ("" "mbstowcs") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__mbstowcs_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) + +{ + if (__builtin_constant_p (__dst == ((void *)0)) && __dst == ((void *)0)) + return __mbstowcs_nulldst (__dst, __src, __len); + else + return (((__builtin_constant_p (__builtin_dynamic_object_size (__dst, 1)) && (__builtin_dynamic_object_size (__dst, 1)) == (long unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (wchar_t))))) && (((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (wchar_t)))))) ? __mbstowcs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t)))) && !(((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t)))) ? __mbstowcs_chk_warn (__dst, __src, __len, (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t))) : __mbstowcs_chk (__dst, __src, __len, (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t))))) + ; +} + +extern size_t __wcstombs_chk (char *__restrict __dst, + const wchar_t *__restrict __src, + size_t __len, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __wcstombs_alias (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) __asm__ ("" "wcstombs") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __wcstombs_chk_warn (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__wcstombs_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len"))); + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) + +{ + return (((__builtin_constant_p (__builtin_dynamic_object_size (__dst, 1)) && (__builtin_dynamic_object_size (__dst, 1)) == (long unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (char))))) && (((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (char)))))) ? __wcstombs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (char)))) && !(((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (char)))) ? __wcstombs_chk_warn (__dst, __src, __len, __builtin_dynamic_object_size (__dst, 1)) : __wcstombs_chk (__dst, __src, __len, __builtin_dynamic_object_size (__dst, 1)))) + + ; +} +# 1160 "/usr/include/stdlib.h" 2 3 4 + + + + + + + + +# 7 "include/generic.h" 2 + +# 1 "/usr/include/string.h" 1 3 4 +# 26 "/usr/include/string.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/string.h" 2 3 4 + + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 34 "/usr/include/string.h" 2 3 4 +# 43 "/usr/include/string.h" 3 4 +extern void *memcpy (void *__restrict __dest, const void *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void *memmove (void *__dest, const void *__src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern void *memccpy (void *__restrict __dest, const void *__restrict __src, + int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 4))); + + + + +extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern int memcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 80 "/usr/include/string.h" 3 4 +extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 107 "/usr/include/string.h" 3 4 +extern void *memchr (const void *__s, int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 141 "/usr/include/string.h" 3 4 +extern char *strcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern char *strcat (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncat (char *__restrict __dest, const char *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int strncmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcoll (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern size_t strxfrm (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +# 1 "/usr/include/bits/types/locale_t.h" 1 3 4 +# 22 "/usr/include/bits/types/locale_t.h" 3 4 +# 1 "/usr/include/bits/types/__locale_t.h" 1 3 4 +# 27 "/usr/include/bits/types/__locale_t.h" 3 4 +struct __locale_struct +{ + + struct __locale_data *__locales[13]; + + + const unsigned short int *__ctype_b; + const int *__ctype_tolower; + const int *__ctype_toupper; + + + const char *__names[13]; +}; + +typedef struct __locale_struct *__locale_t; +# 23 "/usr/include/bits/types/locale_t.h" 2 3 4 + +typedef __locale_t locale_t; +# 173 "/usr/include/string.h" 2 3 4 + + +extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + +extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, + locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + + + +extern char *strdup (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern char *strndup (const char *__string, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); +# 246 "/usr/include/string.h" 3 4 +extern char *strchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 273 "/usr/include/string.h" 3 4 +extern char *strrchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 286 "/usr/include/string.h" 3 4 +extern char *strchrnul (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern size_t strcspn (const char *__s, const char *__reject) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern size_t strspn (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 323 "/usr/include/string.h" 3 4 +extern char *strpbrk (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 350 "/usr/include/string.h" 3 4 +extern char *strstr (const char *__haystack, const char *__needle) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strtok (char *__restrict __s, const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *__strtok_r (char *__restrict __s, + const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); + +extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); +# 380 "/usr/include/string.h" 3 4 +extern char *strcasestr (const char *__haystack, const char *__needle) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + + +extern void *memmem (const void *__haystack, size_t __haystacklen, + const void *__needle, size_t __needlelen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))) + __attribute__ ((__access__ (__read_only__, 1, 2))) + __attribute__ ((__access__ (__read_only__, 3, 4))); + + + +extern void *__mempcpy (void *__restrict __dest, + const void *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern void *mempcpy (void *__restrict __dest, + const void *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern size_t strlen (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern size_t strnlen (const char *__string, size_t __maxlen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern char *strerror (int __errnum) __attribute__ ((__nothrow__ , __leaf__)); +# 432 "/usr/include/string.h" 3 4 +extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__nonnull__ (2))) + __attribute__ ((__access__ (__write_only__, 2, 3))); +# 458 "/usr/include/string.h" 3 4 +extern char *strerror_l (int __errnum, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); + + + +# 1 "/usr/include/strings.h" 1 3 4 +# 23 "/usr/include/strings.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 24 "/usr/include/strings.h" 2 3 4 + + + + + + + + + + +extern int bcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bcopy (const void *__src, void *__dest, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 68 "/usr/include/strings.h" 3 4 +extern char *index (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 96 "/usr/include/strings.h" 3 4 +extern char *rindex (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int ffs (int __i) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + + + +extern int ffsl (long int __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +__extension__ extern int ffsll (long long int __ll) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + +extern int strcasecmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + +extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + + +extern int strncasecmp_l (const char *__s1, const char *__s2, + size_t __n, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); + + + + + + + + +# 1 "/usr/include/bits/strings_fortified.h" 1 3 4 +# 22 "/usr/include/bits/strings_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void +__attribute__ ((__nothrow__ , __leaf__)) bcopy (const void *__src, void *__dest, size_t __len) +{ + (void) __builtin___memmove_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 0)); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void +__attribute__ ((__nothrow__ , __leaf__)) bzero (void *__dest, size_t __len) +{ + (void) __builtin___memset_chk (__dest, '\0', __len, + __builtin_dynamic_object_size (__dest, 0)); +} +# 145 "/usr/include/strings.h" 2 3 4 +# 463 "/usr/include/string.h" 2 3 4 + + + +extern void explicit_bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) + __attribute__ ((__access__ (__write_only__, 1))); + + + +extern char *strsep (char **__restrict __stringp, + const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__)); +# 489 "/usr/include/string.h" 3 4 +extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + +extern char *__stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern size_t strlcpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +extern size_t strlcat (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__read_write__, 1, 3))); +# 548 "/usr/include/string.h" 3 4 +# 1 "/usr/include/bits/string_fortified.h" 1 3 4 +# 25 "/usr/include/bits/string_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * +__attribute__ ((__nothrow__ , __leaf__)) memcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) + +{ + return __builtin___memcpy_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 0)); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * +__attribute__ ((__nothrow__ , __leaf__)) memmove (void *__dest, const void *__src, size_t __len) +{ + return __builtin___memmove_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 0)); +} +# 56 "/usr/include/bits/string_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * +__attribute__ ((__nothrow__ , __leaf__)) memset (void *__dest, int __ch, size_t __len) +{ + return __builtin___memset_chk (__dest, __ch, __len, + __builtin_dynamic_object_size (__dest, 0)); +} + + + + +void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1))); + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void +__attribute__ ((__nothrow__ , __leaf__)) explicit_bzero (void *__dest, size_t __len) +{ + __explicit_bzero_chk (__dest, __len, __builtin_dynamic_object_size (__dest, 0)); +} + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strcpy (char *__restrict __dest, const char *__restrict __src) +{ + return __builtin___strcpy_chk (__dest, __src, __builtin_dynamic_object_size (__dest, 1)); +} + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) stpcpy (char *__restrict __dest, const char *__restrict __src) +{ + return __builtin___stpcpy_chk (__dest, __src, __builtin_dynamic_object_size (__dest, 1)); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strncpy (char *__restrict __dest, const char *__restrict __src, size_t __len) + +{ + return __builtin___strncpy_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 1)); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) stpncpy (char *__dest, const char *__src, size_t __n) +{ + return __builtin___stpncpy_chk (__dest, __src, __n, + __builtin_dynamic_object_size (__dest, 1)); +} +# 127 "/usr/include/bits/string_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strcat (char *__restrict __dest, const char *__restrict __src) +{ + return __builtin___strcat_chk (__dest, __src, __builtin_dynamic_object_size (__dest, 1)); +} + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strncat (char *__restrict __dest, const char *__restrict __src, size_t __len) + +{ + return __builtin___strncat_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 1)); +} + + +extern size_t __strlcpy_chk (char *__dest, const char *__src, size_t __n, + size_t __destlen) __attribute__ ((__nothrow__ , __leaf__)); +extern size_t __strlcpy_alias (char *__dest, const char *__src, size_t __n) __asm__ ("" "strlcpy") __attribute__ ((__nothrow__ , __leaf__)) + + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) strlcpy (char *__restrict __dest, const char *__restrict __src, size_t __n) + +{ + if (__builtin_dynamic_object_size (__dest, 1) != (size_t) -1 + && (!__builtin_constant_p (__n > __builtin_dynamic_object_size (__dest, 1)) + || __n > __builtin_dynamic_object_size (__dest, 1))) + return __strlcpy_chk (__dest, __src, __n, __builtin_dynamic_object_size (__dest, 1)); + return __strlcpy_alias (__dest, __src, __n); +} + +extern size_t __strlcat_chk (char *__dest, const char *__src, size_t __n, + size_t __destlen) __attribute__ ((__nothrow__ , __leaf__)); +extern size_t __strlcat_alias (char *__dest, const char *__src, size_t __n) __asm__ ("" "strlcat") __attribute__ ((__nothrow__ , __leaf__)) + + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) strlcat (char *__restrict __dest, const char *__restrict __src, size_t __n) + +{ + if (__builtin_dynamic_object_size (__dest, 1) != (size_t) -1 + && (!__builtin_constant_p (__n > __builtin_dynamic_object_size (__dest, 1)) + || __n > __builtin_dynamic_object_size (__dest, 1))) + return __strlcat_chk (__dest, __src, __n, __builtin_dynamic_object_size (__dest, 1)); + return __strlcat_alias (__dest, __src, __n); +} +# 549 "/usr/include/string.h" 2 3 4 + + + + +# 9 "include/generic.h" 2 +# 1 "/usr/include/inttypes.h" 1 3 4 +# 34 "/usr/include/inttypes.h" 3 4 +typedef int __gwchar_t; +# 327 "/usr/include/inttypes.h" 3 4 + + + + + +typedef struct + { + long int quot; + long int rem; + } imaxdiv_t; +# 351 "/usr/include/inttypes.h" 3 4 +extern intmax_t imaxabs (intmax_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + +extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + +extern intmax_t strtoimax (const char *__restrict __nptr, + char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); + + +extern uintmax_t strtoumax (const char *__restrict __nptr, + char ** __restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); + + +extern intmax_t wcstoimax (const __gwchar_t *__restrict __nptr, + __gwchar_t **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)); + + +extern uintmax_t wcstoumax (const __gwchar_t *__restrict __nptr, + __gwchar_t ** __restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)); +# 415 "/usr/include/inttypes.h" 3 4 + +# 10 "include/generic.h" 2 +# 80 "include/generic.h" + +# 80 "include/generic.h" +void __chk_free_impl (const char* fn, void* ptr); +void __chk_free_impl_nofn (void* ptr); +void* __chk_calloc_impl (const char* fn, size_t nmemb, size_t size); +void* __chk_realloc_impl (const char* fn, void* ptr, size_t size); + + +void dbg_mem_dump_stats (void); +# 2 "src/generic.c" 2 + +# 1 "/usr/include/malloc.h" 1 3 4 +# 24 "/usr/include/malloc.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 145 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 + +# 145 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 +typedef long int ptrdiff_t; +# 425 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 +typedef struct { + long long __max_align_ll __attribute__((__aligned__(__alignof__(long long)))); + long double __max_align_ld __attribute__((__aligned__(__alignof__(long double)))); +# 436 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 +} max_align_t; +# 25 "/usr/include/malloc.h" 2 3 4 +# 36 "/usr/include/malloc.h" 3 4 + + + +extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__)); + + +extern void *calloc (size_t __nmemb, size_t __size) +__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) __attribute__ ((__warn_unused_result__)); + + + + + + +extern void *realloc (void *__ptr, size_t __size) +__attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); + + + + + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2, 3))) + __attribute__ ((__malloc__ (__builtin_free, 1))); + + +extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void *memalign (size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) + __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__malloc__ (__builtin_free, 1))); + + +extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__malloc__ (__builtin_free, 1))); + + + +extern void *pvalloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__malloc__ (__builtin_free, 1))); + + + +struct mallinfo +{ + int arena; + int ordblks; + int smblks; + int hblks; + int hblkhd; + int usmblks; + int fsmblks; + int uordblks; + int fordblks; + int keepcost; +}; + + + + +struct mallinfo2 +{ + size_t arena; + size_t ordblks; + size_t smblks; + size_t hblks; + size_t hblkhd; + size_t usmblks; + size_t fsmblks; + size_t uordblks; + size_t fordblks; + size_t keepcost; +}; + + +extern struct mallinfo mallinfo (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__)); + + +extern struct mallinfo2 mallinfo2 (void) __attribute__ ((__nothrow__ , __leaf__)); +# 144 "/usr/include/malloc.h" 3 4 +extern int mallopt (int __param, int __val) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int malloc_trim (size_t __pad) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern size_t malloc_usable_size (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void malloc_stats (void) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int malloc_info (int __options, FILE *__fp) __attribute__ ((__nothrow__ , __leaf__)); + + +# 4 "src/generic.c" 2 + + + +# 6 "src/generic.c" +int64_t nr_mem_allocated = 0, + nr_mem_freed = 0, + nr_mem_reallocated = 0; +uint64_t nr_allocations = 0, + nr_reallocations = 0, + nr_frees = 0; +uint64_t avg_allocation = 0, + avg_reallocation = 0; + + +void +__chk_free_impl (const char* fn, void* ptr) +{ + + __extension__ __auto_type blk_size = malloc_usable_size (ptr); + fprintf (( +# 21 "src/generic.c" 3 4 + stdout +# 21 "src/generic.c" + ), "\033[1;" "37m" "%s:%" +# 21 "src/generic.c" 3 4 + "u" +# 21 "src/generic.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "%s: freeing pointer (size: %zu): %p" "\n", "src/generic.c", 21, fn, blk_size, ((void *)((uintptr_t)ptr & 0xFFFFFFFF))) + ; + nr_mem_freed += (signed)blk_size; + nr_frees++; + + + + free (ptr); +} + +void +__chk_free_impl_nofn (void* ptr) +{ + __chk_free_impl ("", ptr); +} + +void* +__chk_realloc_impl (const char* fn, void* ptr, size_t size) +{ + + __extension__ __auto_type prev_blk_size = malloc_usable_size (ptr); + + __extension__ __auto_type ret = realloc (ptr, size); + if (ret == +# 44 "src/generic.c" 3 4 + ((void *)0) +# 44 "src/generic.c" + ) + { fprintf (( +# 45 "src/generic.c" 3 4 + stderr +# 45 "src/generic.c" + ), "\033[1;" "37m" "%s:%" +# 45 "src/generic.c" 3 4 + "u" +# 45 "src/generic.c" + "\033[0m" ": " "\033[1;" "31m" "error: " "\033[0m" "critical allocation failure" "\n", "src/generic.c", 45); exit ( +# 45 "src/generic.c" 3 4 + 1 +# 45 "src/generic.c" + ); }; +#pragma GCC diagnostic ignored "-Wuse-after-free" +#pragma GCC diagnostic push + fprintf (( +# 48 "src/generic.c" 3 4 + stdout +# 48 "src/generic.c" + ), "\033[1;" "37m" "%s:%" +# 48 "src/generic.c" 3 4 + "u" +# 48 "src/generic.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "%s: realloc(ptr: %p, size: %zu) returned %p" "\n", "src/generic.c", 48, fn, ((void *)((uintptr_t)ptr & 0xFFFFFFFF)), size, ((void *)((uintptr_t)ret & 0xFFFFFFFF))) + ; +#pragma GCC diagnostic pop + + __extension__ __auto_type new_blk_size = malloc_usable_size (ret); + __extension__ __auto_type blk_size_diff = (signed)new_blk_size - (signed)prev_blk_size; + fprintf (( +# 54 "src/generic.c" 3 4 + stdout +# 54 "src/generic.c" + ), "\033[1;" "37m" "%s:%" +# 54 "src/generic.c" 3 4 + "u" +# 54 "src/generic.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "\treallocation size went from %zu to %zu byte(s)" "\n", "src/generic.c", 54, prev_blk_size, new_blk_size) + ; + nr_mem_reallocated += blk_size_diff; + avg_reallocation += (avg_reallocation * nr_reallocations + (unsigned)blk_size_diff); + avg_reallocation /= ++nr_reallocations; + + return ret; +} + +void* +__chk_calloc_impl (const char* fn, size_t nmemb, size_t size) +{ + __extension__ __auto_type ret = calloc (nmemb, size); + if (ret == +# 67 "src/generic.c" 3 4 + ((void *)0) +# 67 "src/generic.c" + ) + { fprintf (( +# 68 "src/generic.c" 3 4 + stderr +# 68 "src/generic.c" + ), "\033[1;" "37m" "%s:%" +# 68 "src/generic.c" 3 4 + "u" +# 68 "src/generic.c" + "\033[0m" ": " "\033[1;" "31m" "error: " "\033[0m" "critical allocation failure" "\n", "src/generic.c", 68); exit ( +# 68 "src/generic.c" 3 4 + 1 +# 68 "src/generic.c" + ); }; + + size_t blk_size = malloc_usable_size (ret); + avg_allocation += (avg_allocation * nr_allocations + blk_size); + avg_allocation /= ++nr_allocations; + nr_mem_allocated += (signed)blk_size; + fprintf (( +# 74 "src/generic.c" 3 4 + stdout +# 74 "src/generic.c" + ), "\033[1;" "37m" "%s:%" +# 74 "src/generic.c" 3 4 + "u" +# 74 "src/generic.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "%s: calloc(nmemb: %zu, size: %zu) returned %p (actual: %zu bytes)" "\n", "src/generic.c", 74, fn, nmemb, size, ((void *)((uintptr_t)ret & 0xFFFFFFFF)), blk_size) + ; + + + + + return ret; +} + + +void +dbg_mem_dump_stats (void) +{ + fprintf (( +# 87 "src/generic.c" 3 4 + stdout +# 87 "src/generic.c" + ), "\033[1;" "37m" "%s:%" +# 87 "src/generic.c" 3 4 + "u" +# 87 "src/generic.c" + "\033[0m" ": " "\033[0;" "34m" "log: " "\033[0m" "Memory statistics: " "\n", "src/generic.c", 87); + fprintf (( +# 88 "src/generic.c" 3 4 + stdout +# 88 "src/generic.c" + ), "\033[1;" "37m" "%s:%" +# 88 "src/generic.c" 3 4 + "u" +# 88 "src/generic.c" + "\033[0m" ": " "\033[0;" "34m" "log: " "\033[0m" "\tMemory allocated: %" +# 88 "src/generic.c" 3 4 + "l" "u" +# 88 "src/generic.c" + " counts, %" +# 88 "src/generic.c" 3 4 + "l" "i" +# 88 "src/generic.c" + " bytes (avg: %" +# 88 "src/generic.c" 3 4 + "l" "u" +# 88 "src/generic.c" + ")" "\n", "src/generic.c", 88, nr_allocations, nr_mem_allocated, avg_allocation) + ; + fprintf (( +# 90 "src/generic.c" 3 4 + stdout +# 90 "src/generic.c" + ), "\033[1;" "37m" "%s:%" +# 90 "src/generic.c" 3 4 + "u" +# 90 "src/generic.c" + "\033[0m" ": " "\033[0;" "34m" "log: " "\033[0m" "\tNet reallocated memory: %" +# 90 "src/generic.c" 3 4 + "l" "u" +# 90 "src/generic.c" + " counts, %" +# 90 "src/generic.c" 3 4 + "l" "i" +# 90 "src/generic.c" + " bytes (avg: %" +# 90 "src/generic.c" 3 4 + "l" "u" +# 90 "src/generic.c" + ")" "\n", "src/generic.c", 90, nr_reallocations, nr_mem_reallocated, avg_reallocation) + ; + fprintf (( +# 92 "src/generic.c" 3 4 + stdout +# 92 "src/generic.c" + ), "\033[1;" "37m" "%s:%" +# 92 "src/generic.c" 3 4 + "u" +# 92 "src/generic.c" + "\033[0m" ": " "\033[0;" "34m" "log: " "\033[0m" "\tMemory freed: %" +# 92 "src/generic.c" 3 4 + "l" "u" +# 92 "src/generic.c" + " counts, %" +# 92 "src/generic.c" 3 4 + "l" "i" +# 92 "src/generic.c" + " bytes" "\n", "src/generic.c", 92, nr_frees, nr_mem_freed) + ; + fprintf (( +# 94 "src/generic.c" 3 4 + stdout +# 94 "src/generic.c" + ), "\033[1;" "37m" "%s:%" +# 94 "src/generic.c" 3 4 + "u" +# 94 "src/generic.c" + "\033[0m" ": " "\033[0;" "34m" "log: " "\033[0m" "Note: the freed size will likely not correspond with the allocated size given, due to `malloc_usable_size`" "\n", "src/generic.c", 94); +} diff --git a/build/generic.o b/build/generic.o new file mode 100644 index 0000000..a6dcd12 Binary files /dev/null and b/build/generic.o differ diff --git a/build/generic.s b/build/generic.s new file mode 100644 index 0000000..bdb479a --- /dev/null +++ b/build/generic.s @@ -0,0 +1,5115 @@ + .file "generic.c" + .text +.Ltext0: + .file 0 "/home/unazed/Programming/c/ucc-0.2.0" "src/generic.c" + .section .rodata + .align 32 +.LC0: + .string "src/generic.c" + .zero 50 + .align 32 +.LC1: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0m%s: freeing pointer (size: %zu): %p\n" + .zero 52 + .text + .globl __chk_free_impl + .type __chk_free_impl, @function +__chk_free_impl: +.LASANPC53: +.LVL0: +.LFB53: + .file 1 "src/generic.c" + .loc 1 18 1 view -0 + .cfi_startproc + .loc 1 18 1 is_stmt 0 view .LVU1 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %r13 + movq %rsi, %r12 + .loc 1 20 17 is_stmt 1 view .LVU2 + .loc 1 20 40 is_stmt 0 view .LVU3 + movq %rsi, %rdi +.LVL1: + .loc 1 20 40 view .LVU4 + call malloc_usable_size@PLT +.LVL2: + .loc 1 20 40 view .LVU5 + movq %rax, %rbx +.LVL3: + .loc 1 21 3 is_stmt 1 view .LVU6 + .loc 1 21 160 is_stmt 0 view .LVU7 + movl %r12d, %r15d + .loc 1 21 3 view .LVU8 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL4: + .loc 1 21 3 view .LVU9 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L6 + movq stdout(%rip), %r14 + testq %r14, %r14 + je .L7 +.L3: +.LVL5: +.LBB24: +.LBI24: + .file 2 "/usr/include/bits/stdio2.h" + .loc 2 77 1 is_stmt 1 view .LVU10 +.LBB25: + .loc 2 79 3 view .LVU11 + .loc 2 79 10 is_stmt 0 view .LVU12 + pushq %r15 + pushq %rbx + movq %r13, %r9 + movl $21, %r8d + leaq .LC0(%rip), %rcx + leaq .LC1(%rip), %rdx + movl $2, %esi + movq %r14, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL6: + .loc 2 79 10 view .LVU13 +.LBE25: +.LBE24: + .loc 1 23 3 is_stmt 1 view .LVU14 + .loc 1 23 19 is_stmt 0 view .LVU15 + movslq %ebx, %rsi + .loc 1 23 16 view .LVU16 + addq $16, %rsp + movq %rsi, %rbx +.LVL7: + .loc 1 23 16 view .LVU17 + addq nr_mem_freed(%rip), %rbx + jo .L8 +.L4: + movq %rbx, nr_mem_freed(%rip) + .loc 1 24 3 is_stmt 1 view .LVU18 + .loc 1 24 11 is_stmt 0 view .LVU19 + addq $1, nr_frees(%rip) + .loc 1 28 3 is_stmt 1 view .LVU20 + movq %r12, %rdi + call free@PLT +.LVL8: + .loc 1 29 1 is_stmt 0 view .LVU21 + leaq -40(%rbp), %rsp + popq %rbx + popq %r12 +.LVL9: + .loc 1 29 1 view .LVU22 + popq %r13 +.LVL10: + .loc 1 29 1 view .LVU23 + popq %r14 + popq %r15 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL11: +.L6: + .cfi_restore_state + .loc 1 21 3 view .LVU24 + call __asan_report_load8@PLT +.LVL12: +.L7: + leaq .Lubsan_data13(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL13: + jmp .L3 +.LVL14: +.L8: + .loc 1 23 16 view .LVU25 + movq nr_mem_freed(%rip), %rdx + leaq .Lubsan_data35(%rip), %rdi + call __ubsan_handle_add_overflow@PLT +.LVL15: + jmp .L4 + .cfi_endproc +.LFE53: + .size __chk_free_impl, .-__chk_free_impl + .section .rodata + .align 32 +.LC2: + .string "" + .zero 54 + .text + .globl __chk_free_impl_nofn + .type __chk_free_impl_nofn, @function +__chk_free_impl_nofn: +.LASANPC54: +.LVL16: +.LFB54: + .loc 1 33 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 33 1 is_stmt 0 view .LVU27 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rsi + .loc 1 34 3 is_stmt 1 view .LVU28 + leaq .LC2(%rip), %rdi +.LVL17: + .loc 1 34 3 is_stmt 0 view .LVU29 + call __chk_free_impl +.LVL18: + .loc 1 35 1 view .LVU30 + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE54: + .size __chk_free_impl_nofn, .-__chk_free_impl_nofn + .section .rodata + .align 32 +.LC3: + .string "\033[1;37m%s:%u\033[0m: \033[1;31merror: \033[0mcritical allocation failure\n" + .zero 63 + .align 32 +.LC4: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0m%s: realloc(ptr: %p, size: %zu) returned %p\n" + .zero 44 + .align 32 +.LC5: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0m\treallocation size went from %zu to %zu byte(s)\n" + .zero 40 + .text + .globl __chk_realloc_impl + .type __chk_realloc_impl, @function +__chk_realloc_impl: +.LASANPC55: +.LVL19: +.LFB55: + .loc 1 39 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 39 1 is_stmt 0 view .LVU32 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $24, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, -64(%rbp) + movq %rsi, %r12 + movq %rdx, %r13 + .loc 1 41 17 is_stmt 1 view .LVU33 + .loc 1 41 45 is_stmt 0 view .LVU34 + movq %rsi, %rdi +.LVL20: + .loc 1 41 45 view .LVU35 + call malloc_usable_size@PLT +.LVL21: + .loc 1 41 45 view .LVU36 + movq %rax, -56(%rbp) +.LVL22: + .loc 1 43 17 is_stmt 1 view .LVU37 + .loc 1 43 35 is_stmt 0 view .LVU38 + movq %r13, %rsi + movq %r12, %rdi + call realloc@PLT +.LVL23: + .loc 1 43 35 view .LVU39 + movq %rax, %rbx +.LVL24: + .loc 1 44 3 is_stmt 1 view .LVU40 + .loc 1 44 6 is_stmt 0 view .LVU41 + testq %rax, %rax + je .L23 + .loc 1 45 8 is_stmt 1 view .LVU42 + .loc 1 48 3 view .LVU43 + .loc 1 48 205 is_stmt 0 view .LVU44 + movl %eax, %r15d + .loc 1 48 158 view .LVU45 + movl %r12d, %r12d +.LVL25: + .loc 1 48 3 view .LVU46 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL26: + .loc 1 48 3 view .LVU47 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L24 + movq stdout(%rip), %r14 + testq %r14, %r14 + je .L25 +.L15: +.LVL27: +.LBB26: +.LBI26: + .loc 2 77 1 is_stmt 1 view .LVU48 +.LBB27: + .loc 2 79 3 view .LVU49 + .loc 2 79 10 is_stmt 0 view .LVU50 + subq $8, %rsp + pushq %r15 + pushq %r13 + pushq %r12 + movq -64(%rbp), %r9 + movl $48, %r8d + leaq .LC0(%rip), %rcx + leaq .LC4(%rip), %rdx + movl $2, %esi + movq %r14, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL28: + .loc 2 79 10 view .LVU51 +.LBE27: +.LBE26: + .loc 1 52 17 is_stmt 1 view .LVU52 + .loc 1 52 44 is_stmt 0 view .LVU53 + addq $32, %rsp + movq %rbx, %rdi + call malloc_usable_size@PLT +.LVL29: + movq %rax, %r13 +.LVL30: + .loc 1 53 17 is_stmt 1 view .LVU54 + .loc 1 53 29 is_stmt 0 view .LVU55 + movl %eax, %r14d + subl -56(%rbp), %r14d + jo .L26 +.LVL31: +.L16: + .loc 1 54 3 is_stmt 1 view .LVU56 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L27 + movq stdout(%rip), %r15 + testq %r15, %r15 + je .L28 +.L19: +.LVL32: +.LBB28: +.LBI28: + .loc 2 77 1 view .LVU57 +.LBB29: + .loc 2 79 3 view .LVU58 + .loc 2 79 10 is_stmt 0 view .LVU59 + subq $8, %rsp + pushq %r13 + movq -56(%rbp), %r9 + movl $54, %r8d + leaq .LC0(%rip), %rcx + leaq .LC5(%rip), %rdx + movl $2, %esi + movq %r15, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL33: + .loc 2 79 10 view .LVU60 +.LBE29: +.LBE28: + .loc 1 56 3 is_stmt 1 view .LVU61 + .loc 1 56 22 is_stmt 0 view .LVU62 + addq $16, %rsp + movslq %r14d, %rax + addq nr_mem_reallocated(%rip), %rax + movq %rax, %r12 + jo .L29 +.L20: + movq %r12, nr_mem_reallocated(%rip) + .loc 1 57 3 is_stmt 1 view .LVU63 + .loc 1 57 41 is_stmt 0 view .LVU64 + movq avg_reallocation(%rip), %r12 + movq nr_reallocations(%rip), %r13 +.LVL34: + .loc 1 57 41 view .LVU65 + movq %r12, %rax + imulq %r13, %rax + .loc 1 57 62 view .LVU66 + movl %r14d, %r14d + .loc 1 57 60 view .LVU67 + addq %r14, %rax + .loc 1 57 20 view .LVU68 + addq %rax, %r12 + movq %r12, avg_reallocation(%rip) + .loc 1 58 3 is_stmt 1 view .LVU69 + .loc 1 58 23 is_stmt 0 view .LVU70 + addq $1, %r13 + movq %r13, nr_reallocations(%rip) + .loc 1 58 20 view .LVU71 + je .L30 +.L22: + .loc 1 58 20 discriminator 3 view .LVU72 + movq %r12, %rax + movl $0, %edx + divq %r13 + movq %rax, avg_reallocation(%rip) + .loc 1 60 3 is_stmt 1 view .LVU73 + .loc 1 61 1 is_stmt 0 view .LVU74 + movq %rbx, %rax + leaq -40(%rbp), %rsp + popq %rbx +.LVL35: + .loc 1 61 1 view .LVU75 + popq %r12 + popq %r13 + popq %r14 +.LVL36: + .loc 1 61 1 view .LVU76 + popq %r15 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 +.LVL37: + .loc 1 61 1 view .LVU77 + ret +.LVL38: +.L23: + .cfi_restore_state + .loc 1 45 7 is_stmt 1 view .LVU78 + leaq stderr(%rip), %rdi + movq %rdi, %rax +.LVL39: + .loc 1 45 7 is_stmt 0 view .LVU79 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L31 + movq stderr(%rip), %rbx +.LVL40: + .loc 1 45 7 view .LVU80 + testq %rbx, %rbx + je .L32 +.L13: +.LVL41: +.LBB30: +.LBI30: + .loc 2 77 1 is_stmt 1 view .LVU81 +.LBB31: + .loc 2 79 3 view .LVU82 + .loc 2 79 10 is_stmt 0 view .LVU83 + movl $45, %r8d + leaq .LC0(%rip), %rcx + leaq .LC3(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL42: + .loc 2 79 10 view .LVU84 +.LBE31: +.LBE30: + .loc 1 45 113 is_stmt 1 discriminator 1 view .LVU85 + call __asan_handle_no_return@PLT +.LVL43: + movl $1, %edi + call exit@PLT +.LVL44: +.L31: + .loc 1 45 7 is_stmt 0 view .LVU86 + call __asan_report_load8@PLT +.LVL45: +.L32: + .loc 1 45 7 view .LVU87 + leaq .Lubsan_data15(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL46: + jmp .L13 +.LVL47: +.L24: + .loc 1 48 3 view .LVU88 + call __asan_report_load8@PLT +.LVL48: +.L25: + leaq .Lubsan_data17(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL49: + jmp .L15 +.LVL50: +.L26: + .loc 1 53 29 view .LVU89 + movslq -56(%rbp), %rdx + cltq +.LVL51: + .loc 1 53 29 view .LVU90 + movq %rax, %rsi + leaq .Lubsan_data36(%rip), %rdi + call __ubsan_handle_sub_overflow@PLT +.LVL52: + jmp .L16 +.LVL53: +.L27: + .loc 1 54 3 view .LVU91 + call __asan_report_load8@PLT +.LVL54: +.L28: + leaq .Lubsan_data19(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL55: + jmp .L19 +.L29: + .loc 1 56 22 view .LVU92 + movslq %r14d, %rsi + movq nr_mem_reallocated(%rip), %rdx + leaq .Lubsan_data37(%rip), %rdi + call __ubsan_handle_add_overflow@PLT +.LVL56: + jmp .L20 +.LVL57: +.L30: + .loc 1 58 20 discriminator 1 view .LVU93 + movq %r13, %rdx + movq %r12, %rsi + leaq .Lubsan_data9(%rip), %rdi + call __ubsan_handle_divrem_overflow@PLT +.LVL58: + jmp .L22 + .cfi_endproc +.LFE55: + .size __chk_realloc_impl, .-__chk_realloc_impl + .section .rodata + .align 32 +.LC6: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0m%s: calloc(nmemb: %zu, size: %zu) returned %p (actual: %zu bytes)\n" + .zero 54 + .text + .globl __chk_calloc_impl + .type __chk_calloc_impl, @function +__chk_calloc_impl: +.LASANPC56: +.LVL59: +.LFB56: + .loc 1 65 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 65 1 is_stmt 0 view .LVU95 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $24, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, -56(%rbp) + movq %rsi, %rdi +.LVL60: + .loc 1 65 1 view .LVU96 + movq %rsi, -64(%rbp) + movq %rdx, %r15 + .loc 1 66 17 is_stmt 1 view .LVU97 + .loc 1 66 35 is_stmt 0 view .LVU98 + movq %rdx, %rsi +.LVL61: + .loc 1 66 35 view .LVU99 + call calloc@PLT +.LVL62: + .loc 1 66 35 view .LVU100 + movq %rax, %r13 +.LVL63: + .loc 1 67 3 is_stmt 1 view .LVU101 + .loc 1 67 6 is_stmt 0 view .LVU102 + testq %rax, %rax + je .L42 + .loc 1 68 8 is_stmt 1 view .LVU103 + .loc 1 70 3 view .LVU104 + .loc 1 70 21 is_stmt 0 view .LVU105 + movq %rax, %rdi + call malloc_usable_size@PLT +.LVL64: + .loc 1 70 21 view .LVU106 + movq %rax, %r14 +.LVL65: + .loc 1 71 3 is_stmt 1 view .LVU107 + .loc 1 71 37 is_stmt 0 view .LVU108 + movq avg_allocation(%rip), %rbx + movq nr_allocations(%rip), %r12 + movq %rbx, %rdx + imulq %r12, %rdx + .loc 1 71 54 view .LVU109 + addq %rax, %rdx + .loc 1 71 18 view .LVU110 + addq %rdx, %rbx + movq %rbx, avg_allocation(%rip) + .loc 1 72 3 is_stmt 1 view .LVU111 + .loc 1 72 21 is_stmt 0 view .LVU112 + addq $1, %r12 + movq %r12, nr_allocations(%rip) + .loc 1 72 18 view .LVU113 + je .L43 +.LVL66: +.L37: + .loc 1 72 18 discriminator 3 view .LVU114 + movq %rbx, %rax + movl $0, %edx + divq %r12 + movq %rax, avg_allocation(%rip) + .loc 1 73 3 is_stmt 1 view .LVU115 + .loc 1 73 23 is_stmt 0 view .LVU116 + movslq %r14d, %rsi + .loc 1 73 20 view .LVU117 + movq %rsi, %rbx + addq nr_mem_allocated(%rip), %rbx + jo .L44 +.L38: + movq %rbx, nr_mem_allocated(%rip) + .loc 1 74 3 is_stmt 1 view .LVU118 + .loc 1 74 193 is_stmt 0 view .LVU119 + movl %r13d, %r12d + .loc 1 74 3 view .LVU120 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L45 + movq stdout(%rip), %rbx + testq %rbx, %rbx + je .L46 +.L41: +.LVL67: +.LBB32: +.LBI32: + .loc 2 77 1 is_stmt 1 view .LVU121 +.LBB33: + .loc 2 79 3 view .LVU122 + .loc 2 79 10 is_stmt 0 view .LVU123 + pushq %r14 + pushq %r12 + pushq %r15 + pushq -64(%rbp) + movq -56(%rbp), %r9 + movl $74, %r8d + leaq .LC0(%rip), %rcx + leaq .LC6(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL68: + .loc 2 79 10 view .LVU124 +.LBE33: +.LBE32: + .loc 1 80 3 is_stmt 1 view .LVU125 + .loc 1 81 1 is_stmt 0 view .LVU126 + movq %r13, %rax + leaq -40(%rbp), %rsp + popq %rbx + popq %r12 + popq %r13 +.LVL69: + .loc 1 81 1 view .LVU127 + popq %r14 +.LVL70: + .loc 1 81 1 view .LVU128 + popq %r15 +.LVL71: + .loc 1 81 1 view .LVU129 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 +.LVL72: + .loc 1 81 1 view .LVU130 + ret +.LVL73: +.L42: + .cfi_restore_state + .loc 1 68 7 is_stmt 1 view .LVU131 + leaq stderr(%rip), %rdi + movq %rdi, %rax +.LVL74: + .loc 1 68 7 is_stmt 0 view .LVU132 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L47 + movq stderr(%rip), %rbx + testq %rbx, %rbx + je .L48 +.L36: +.LVL75: +.LBB34: +.LBI34: + .loc 2 77 1 is_stmt 1 view .LVU133 +.LBB35: + .loc 2 79 3 view .LVU134 + .loc 2 79 10 is_stmt 0 view .LVU135 + movl $68, %r8d + leaq .LC0(%rip), %rcx + leaq .LC3(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL76: + .loc 2 79 10 view .LVU136 +.LBE35: +.LBE34: + .loc 1 68 113 is_stmt 1 discriminator 1 view .LVU137 + call __asan_handle_no_return@PLT +.LVL77: + movl $1, %edi + call exit@PLT +.LVL78: +.L47: + .loc 1 68 7 is_stmt 0 view .LVU138 + call __asan_report_load8@PLT +.LVL79: +.L48: + leaq .Lubsan_data21(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL80: + jmp .L36 +.LVL81: +.L43: + .loc 1 72 18 discriminator 1 view .LVU139 + movq %r12, %rdx + movq %rbx, %rsi + leaq .Lubsan_data10(%rip), %rdi + call __ubsan_handle_divrem_overflow@PLT +.LVL82: + .loc 1 72 18 discriminator 1 view .LVU140 + jmp .L37 +.L44: + .loc 1 73 20 view .LVU141 + movq nr_mem_allocated(%rip), %rdx + leaq .Lubsan_data38(%rip), %rdi + call __ubsan_handle_add_overflow@PLT +.LVL83: + jmp .L38 +.L45: + .loc 1 74 3 view .LVU142 + call __asan_report_load8@PLT +.LVL84: +.L46: + leaq .Lubsan_data23(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL85: + jmp .L41 + .cfi_endproc +.LFE56: + .size __chk_calloc_impl, .-__chk_calloc_impl + .section .rodata + .align 32 +.LC7: + .string "\033[1;37m%s:%u\033[0m: \033[0;34mlog: \033[0mMemory statistics: \n" + .zero 41 + .align 32 +.LC8: + .string "\033[1;37m%s:%u\033[0m: \033[0;34mlog: \033[0m\tMemory allocated: %lu counts, %li bytes (avg: %lu)\n" + .zero 41 + .align 32 +.LC9: + .string "\033[1;37m%s:%u\033[0m: \033[0;34mlog: \033[0m\tNet reallocated memory: %lu counts, %li bytes (avg: %lu)\n" + .zero 35 + .align 32 +.LC10: + .string "\033[1;37m%s:%u\033[0m: \033[0;34mlog: \033[0m\tMemory freed: %lu counts, %li bytes\n" + .zero 56 + .align 32 +.LC11: + .string "\033[1;37m%s:%u\033[0m: \033[0;34mlog: \033[0mNote: the freed size will likely not correspond with the allocated size given, due to `malloc_usable_size`\n" + .zero 50 + .text + .globl dbg_mem_dump_stats + .type dbg_mem_dump_stats, @function +dbg_mem_dump_stats: +.LASANPC57: +.LFB57: + .loc 1 86 1 is_stmt 1 view -0 + .cfi_startproc + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + .cfi_offset 14, -24 + .cfi_offset 13, -32 + .cfi_offset 12, -40 + .cfi_offset 3, -48 +1: call *mcount@GOTPCREL(%rip) + .loc 1 87 3 view .LVU144 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L60 + movq stdout(%rip), %rbx + testq %rbx, %rbx + je .L61 +.L51: +.LVL86: +.LBB36: +.LBI36: + .loc 2 77 1 view .LVU145 +.LBB37: + .loc 2 79 3 view .LVU146 + .loc 2 79 10 is_stmt 0 view .LVU147 + movl $87, %r8d + leaq .LC0(%rip), %rcx + leaq .LC7(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL87: + .loc 2 79 10 view .LVU148 +.LBE37: +.LBE36: + .loc 1 88 3 is_stmt 1 view .LVU149 + movq avg_allocation(%rip), %r14 + movq nr_mem_allocated(%rip), %r13 + movq nr_allocations(%rip), %r12 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L62 + movq stdout(%rip), %rbx + testq %rbx, %rbx + je .L63 +.L53: +.LVL88: +.LBB38: +.LBI38: + .loc 2 77 1 view .LVU150 +.LBB39: + .loc 2 79 3 view .LVU151 + .loc 2 79 10 is_stmt 0 view .LVU152 + pushq %r14 + pushq %r13 + movq %r12, %r9 + movl $88, %r8d + leaq .LC0(%rip), %rcx + leaq .LC8(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL89: + .loc 2 79 10 view .LVU153 +.LBE39: +.LBE38: + .loc 1 90 3 is_stmt 1 view .LVU154 + movq avg_reallocation(%rip), %r14 + movq nr_mem_reallocated(%rip), %r13 + movq nr_reallocations(%rip), %r12 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + addq $16, %rsp + cmpb $0, 2147450880(%rax) + jne .L64 + movq stdout(%rip), %rbx + testq %rbx, %rbx + je .L65 +.L55: +.LVL90: +.LBB40: +.LBI40: + .loc 2 77 1 view .LVU155 +.LBB41: + .loc 2 79 3 view .LVU156 + .loc 2 79 10 is_stmt 0 view .LVU157 + pushq %r14 + pushq %r13 + movq %r12, %r9 + movl $90, %r8d + leaq .LC0(%rip), %rcx + leaq .LC9(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL91: + .loc 2 79 10 view .LVU158 +.LBE41: +.LBE40: + .loc 1 92 3 is_stmt 1 view .LVU159 + movq nr_mem_freed(%rip), %r13 + movq nr_frees(%rip), %r12 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + addq $16, %rsp + cmpb $0, 2147450880(%rax) + jne .L66 + movq stdout(%rip), %rbx + testq %rbx, %rbx + je .L67 +.L57: +.LVL92: +.LBB42: +.LBI42: + .loc 2 77 1 view .LVU160 +.LBB43: + .loc 2 79 3 view .LVU161 + .loc 2 79 10 is_stmt 0 view .LVU162 + subq $8, %rsp + pushq %r13 + movq %r12, %r9 + movl $92, %r8d + leaq .LC0(%rip), %rcx + leaq .LC10(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL93: + .loc 2 79 10 view .LVU163 +.LBE43: +.LBE42: + .loc 1 94 3 is_stmt 1 view .LVU164 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + addq $16, %rsp + cmpb $0, 2147450880(%rax) + jne .L68 + movq stdout(%rip), %rbx + testq %rbx, %rbx + je .L69 +.L59: +.LVL94: +.LBB44: +.LBI44: + .loc 2 77 1 view .LVU165 +.LBB45: + .loc 2 79 3 view .LVU166 + .loc 2 79 10 is_stmt 0 view .LVU167 + movl $94, %r8d + leaq .LC0(%rip), %rcx + leaq .LC11(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL95: + .loc 2 79 10 view .LVU168 +.LBE45: +.LBE44: + .loc 1 95 1 view .LVU169 + leaq -32(%rbp), %rsp + popq %rbx + popq %r12 + popq %r13 + popq %r14 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.L60: + .cfi_restore_state + .loc 1 87 3 view .LVU170 + call __asan_report_load8@PLT +.LVL96: +.L61: + leaq .Lubsan_data25(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL97: + jmp .L51 +.L62: + .loc 1 88 3 view .LVU171 + call __asan_report_load8@PLT +.LVL98: +.L63: + leaq .Lubsan_data27(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL99: + jmp .L53 +.L64: + .loc 1 90 3 view .LVU172 + call __asan_report_load8@PLT +.LVL100: +.L65: + leaq .Lubsan_data29(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL101: + jmp .L55 +.L66: + .loc 1 92 3 view .LVU173 + call __asan_report_load8@PLT +.LVL102: +.L67: + leaq .Lubsan_data31(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL103: + jmp .L57 +.L68: + .loc 1 94 3 view .LVU174 + call __asan_report_load8@PLT +.LVL104: +.L69: + leaq .Lubsan_data33(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL105: + jmp .L59 + .cfi_endproc +.LFE57: + .size dbg_mem_dump_stats, .-dbg_mem_dump_stats + .section .data.rel.local,"aw" + .align 32 + .type .Lubsan_data38, @object + .size .Lubsan_data38, 24 +.Lubsan_data38: + .quad .LC0 + .long 73 + .long 20 + .quad .Lubsan_type1 + .zero 40 + .align 32 + .type .Lubsan_data37, @object + .size .Lubsan_data37, 24 +.Lubsan_data37: + .quad .LC0 + .long 56 + .long 22 + .quad .Lubsan_type1 + .zero 40 + .align 32 + .type .Lubsan_data36, @object + .size .Lubsan_data36, 24 +.Lubsan_data36: + .quad .LC0 + .long 53 + .long 29 + .quad .Lubsan_type2 + .zero 40 + .data + .align 32 + .type .Lubsan_type2, @object + .size .Lubsan_type2, 10 +.Lubsan_type2: + .value 0 + .value 11 + .string "'int'" + .zero 54 + .section .data.rel.local + .align 32 + .type .Lubsan_data35, @object + .size .Lubsan_data35, 24 +.Lubsan_data35: + .quad .LC0 + .long 23 + .long 16 + .quad .Lubsan_type1 + .zero 40 + .data + .align 32 + .type .Lubsan_type1, @object + .size .Lubsan_type1, 15 +.Lubsan_type1: + .value 0 + .value 13 + .string "'long int'" + .zero 49 + .section .data.rel.local + .align 32 + .type .Lubsan_data33, @object + .size .Lubsan_data33, 40 +.Lubsan_data33: + .quad .LC0 + .long 94 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data31, @object + .size .Lubsan_data31, 40 +.Lubsan_data31: + .quad .LC0 + .long 92 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data29, @object + .size .Lubsan_data29, 40 +.Lubsan_data29: + .quad .LC0 + .long 90 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data27, @object + .size .Lubsan_data27, 40 +.Lubsan_data27: + .quad .LC0 + .long 88 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data25, @object + .size .Lubsan_data25, 40 +.Lubsan_data25: + .quad .LC0 + .long 87 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data23, @object + .size .Lubsan_data23, 40 +.Lubsan_data23: + .quad .LC0 + .long 74 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data21, @object + .size .Lubsan_data21, 40 +.Lubsan_data21: + .quad .LC0 + .long 68 + .long 7 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data19, @object + .size .Lubsan_data19, 40 +.Lubsan_data19: + .quad .LC0 + .long 54 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data17, @object + .size .Lubsan_data17, 40 +.Lubsan_data17: + .quad .LC0 + .long 48 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data15, @object + .size .Lubsan_data15, 40 +.Lubsan_data15: + .quad .LC0 + .long 45 + .long 7 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data13, @object + .size .Lubsan_data13, 40 +.Lubsan_data13: + .quad .LC0 + .long 21 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data10, @object + .size .Lubsan_data10, 24 +.Lubsan_data10: + .quad .LC0 + .long 72 + .long 18 + .quad .Lubsan_type0 + .zero 40 + .align 32 + .type .Lubsan_data9, @object + .size .Lubsan_data9, 24 +.Lubsan_data9: + .quad .LC0 + .long 58 + .long 20 + .quad .Lubsan_type0 + .zero 40 + .globl avg_reallocation + .bss + .align 32 + .type avg_reallocation, @object + .size avg_reallocation, 8 +avg_reallocation: + .zero 64 + .globl avg_allocation + .align 32 + .type avg_allocation, @object + .size avg_allocation, 8 +avg_allocation: + .zero 64 + .globl nr_frees + .align 32 + .type nr_frees, @object + .size nr_frees, 8 +nr_frees: + .zero 64 + .globl nr_reallocations + .align 32 + .type nr_reallocations, @object + .size nr_reallocations, 8 +nr_reallocations: + .zero 64 + .globl nr_allocations + .align 32 + .type nr_allocations, @object + .size nr_allocations, 8 +nr_allocations: + .zero 64 + .globl nr_mem_reallocated + .align 32 + .type nr_mem_reallocated, @object + .size nr_mem_reallocated, 8 +nr_mem_reallocated: + .zero 64 + .globl nr_mem_freed + .align 32 + .type nr_mem_freed, @object + .size nr_mem_freed, 8 +nr_mem_freed: + .zero 64 + .globl nr_mem_allocated + .align 32 + .type nr_mem_allocated, @object + .size nr_mem_allocated, 8 +nr_mem_allocated: + .zero 64 + .data + .align 32 + .type .Lubsan_type0, @object + .size .Lubsan_type0, 24 +.Lubsan_type0: + .value 0 + .value 12 + .string "'long unsigned int'" + .zero 40 + .globl __odr_asan.avg_reallocation + .bss + .type __odr_asan.avg_reallocation, @object + .size __odr_asan.avg_reallocation, 1 +__odr_asan.avg_reallocation: + .zero 1 + .section .data.rel.local + .align 16 + .type .LASANLOC1, @object + .size .LASANLOC1, 16 +.LASANLOC1: + .quad .LC0 + .long 13 + .long 10 + .globl __odr_asan.avg_allocation + .bss + .type __odr_asan.avg_allocation, @object + .size __odr_asan.avg_allocation, 1 +__odr_asan.avg_allocation: + .zero 1 + .section .data.rel.local + .align 16 + .type .LASANLOC2, @object + .size .LASANLOC2, 16 +.LASANLOC2: + .quad .LC0 + .long 12 + .long 10 + .globl __odr_asan.nr_frees + .bss + .type __odr_asan.nr_frees, @object + .size __odr_asan.nr_frees, 1 +__odr_asan.nr_frees: + .zero 1 + .section .data.rel.local + .align 16 + .type .LASANLOC3, @object + .size .LASANLOC3, 16 +.LASANLOC3: + .quad .LC0 + .long 11 + .long 10 + .globl __odr_asan.nr_reallocations + .bss + .type __odr_asan.nr_reallocations, @object + .size __odr_asan.nr_reallocations, 1 +__odr_asan.nr_reallocations: + .zero 1 + .section .data.rel.local + .align 16 + .type .LASANLOC4, @object + .size .LASANLOC4, 16 +.LASANLOC4: + .quad .LC0 + .long 10 + .long 10 + .globl __odr_asan.nr_allocations + .bss + .type __odr_asan.nr_allocations, @object + .size __odr_asan.nr_allocations, 1 +__odr_asan.nr_allocations: + .zero 1 + .section .data.rel.local + .align 16 + .type .LASANLOC5, @object + .size .LASANLOC5, 16 +.LASANLOC5: + .quad .LC0 + .long 9 + .long 10 + .globl __odr_asan.nr_mem_reallocated + .bss + .type __odr_asan.nr_mem_reallocated, @object + .size __odr_asan.nr_mem_reallocated, 1 +__odr_asan.nr_mem_reallocated: + .zero 1 + .section .data.rel.local + .align 16 + .type .LASANLOC6, @object + .size .LASANLOC6, 16 +.LASANLOC6: + .quad .LC0 + .long 8 + .long 9 + .globl __odr_asan.nr_mem_freed + .bss + .type __odr_asan.nr_mem_freed, @object + .size __odr_asan.nr_mem_freed, 1 +__odr_asan.nr_mem_freed: + .zero 1 + .section .data.rel.local + .align 16 + .type .LASANLOC7, @object + .size .LASANLOC7, 16 +.LASANLOC7: + .quad .LC0 + .long 7 + .long 9 + .globl __odr_asan.nr_mem_allocated + .bss + .type __odr_asan.nr_mem_allocated, @object + .size __odr_asan.nr_mem_allocated, 1 +__odr_asan.nr_mem_allocated: + .zero 1 + .section .data.rel.local + .align 16 + .type .LASANLOC8, @object + .size .LASANLOC8, 16 +.LASANLOC8: + .quad .LC0 + .long 6 + .long 9 + .section .rodata.str1.1,"aMS",@progbits,1 +.LC12: + .string "*.Lubsan_data38" +.LC13: + .string "*.Lubsan_data37" +.LC14: + .string "*.Lubsan_data36" +.LC15: + .string "*.Lubsan_type2" +.LC16: + .string "*.Lubsan_data35" +.LC17: + .string "*.Lubsan_type1" +.LC18: + .string "*.Lubsan_data33" +.LC19: + .string "*.Lubsan_data31" +.LC20: + .string "*.Lubsan_data29" +.LC21: + .string "*.Lubsan_data27" +.LC22: + .string "*.Lubsan_data25" +.LC23: + .string "*.Lubsan_data23" +.LC24: + .string "*.Lubsan_data21" +.LC25: + .string "*.Lubsan_data19" +.LC26: + .string "*.Lubsan_data17" +.LC27: + .string "*.Lubsan_data15" +.LC28: + .string "*.Lubsan_data13" +.LC29: + .string "*.Lubsan_data10" +.LC30: + .string "*.Lubsan_data9" +.LC31: + .string "avg_reallocation" +.LC32: + .string "avg_allocation" +.LC33: + .string "nr_frees" +.LC34: + .string "nr_reallocations" +.LC35: + .string "nr_allocations" +.LC36: + .string "nr_mem_reallocated" +.LC37: + .string "nr_mem_freed" +.LC38: + .string "nr_mem_allocated" +.LC39: + .string "*.Lubsan_type0" +.LC40: + .string "*.LC9" +.LC41: + .string "*.LC8" +.LC42: + .string "*.LC1" +.LC43: + .string "*.LC4" +.LC44: + .string "*.LC11" +.LC45: + .string "*.LC6" +.LC46: + .string "*.LC2" +.LC47: + .string "*.LC5" +.LC48: + .string "*.LC10" +.LC49: + .string "*.LC7" +.LC50: + .string "*.LC0" +.LC51: + .string "*.LC3" + .section .data.rel.local + .align 32 + .type .LASAN0, @object + .size .LASAN0, 2560 +.LASAN0: + .quad .Lubsan_data38 + .quad 24 + .quad 64 + .quad .LC12 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data37 + .quad 24 + .quad 64 + .quad .LC13 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data36 + .quad 24 + .quad 64 + .quad .LC14 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type2 + .quad 10 + .quad 64 + .quad .LC15 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data35 + .quad 24 + .quad 64 + .quad .LC16 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type1 + .quad 15 + .quad 64 + .quad .LC17 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data33 + .quad 40 + .quad 96 + .quad .LC18 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data31 + .quad 40 + .quad 96 + .quad .LC19 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data29 + .quad 40 + .quad 96 + .quad .LC20 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data27 + .quad 40 + .quad 96 + .quad .LC21 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data25 + .quad 40 + .quad 96 + .quad .LC22 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data23 + .quad 40 + .quad 96 + .quad .LC23 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data21 + .quad 40 + .quad 96 + .quad .LC24 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data19 + .quad 40 + .quad 96 + .quad .LC25 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data17 + .quad 40 + .quad 96 + .quad .LC26 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data15 + .quad 40 + .quad 96 + .quad .LC27 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data13 + .quad 40 + .quad 96 + .quad .LC28 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data10 + .quad 24 + .quad 64 + .quad .LC29 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data9 + .quad 24 + .quad 64 + .quad .LC30 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad avg_reallocation + .quad 8 + .quad 64 + .quad .LC31 + .quad .LC0 + .quad 0 + .quad .LASANLOC1 + .quad __odr_asan.avg_reallocation + .quad avg_allocation + .quad 8 + .quad 64 + .quad .LC32 + .quad .LC0 + .quad 0 + .quad .LASANLOC2 + .quad __odr_asan.avg_allocation + .quad nr_frees + .quad 8 + .quad 64 + .quad .LC33 + .quad .LC0 + .quad 0 + .quad .LASANLOC3 + .quad __odr_asan.nr_frees + .quad nr_reallocations + .quad 8 + .quad 64 + .quad .LC34 + .quad .LC0 + .quad 0 + .quad .LASANLOC4 + .quad __odr_asan.nr_reallocations + .quad nr_allocations + .quad 8 + .quad 64 + .quad .LC35 + .quad .LC0 + .quad 0 + .quad .LASANLOC5 + .quad __odr_asan.nr_allocations + .quad nr_mem_reallocated + .quad 8 + .quad 64 + .quad .LC36 + .quad .LC0 + .quad 0 + .quad .LASANLOC6 + .quad __odr_asan.nr_mem_reallocated + .quad nr_mem_freed + .quad 8 + .quad 64 + .quad .LC37 + .quad .LC0 + .quad 0 + .quad .LASANLOC7 + .quad __odr_asan.nr_mem_freed + .quad nr_mem_allocated + .quad 8 + .quad 64 + .quad .LC38 + .quad .LC0 + .quad 0 + .quad .LASANLOC8 + .quad __odr_asan.nr_mem_allocated + .quad .Lubsan_type0 + .quad 24 + .quad 64 + .quad .LC39 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC9 + .quad 93 + .quad 128 + .quad .LC40 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC8 + .quad 87 + .quad 128 + .quad .LC41 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC1 + .quad 76 + .quad 128 + .quad .LC42 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC4 + .quad 84 + .quad 128 + .quad .LC43 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC11 + .quad 142 + .quad 192 + .quad .LC44 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC6 + .quad 106 + .quad 160 + .quad .LC45 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC2 + .quad 10 + .quad 64 + .quad .LC46 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC5 + .quad 88 + .quad 128 + .quad .LC47 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC10 + .quad 72 + .quad 128 + .quad .LC48 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC7 + .quad 55 + .quad 96 + .quad .LC49 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC0 + .quad 14 + .quad 64 + .quad .LC50 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC3 + .quad 65 + .quad 128 + .quad .LC51 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .text + .type _sub_D_00099_0, @function +_sub_D_00099_0: +.LFB58: + .cfi_startproc + .loc 1 95 1 is_stmt 1 view .LVU175 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl $40, %esi + leaq .LASAN0(%rip), %rdi + call __asan_unregister_globals@PLT + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE58: + .size _sub_D_00099_0, .-_sub_D_00099_0 + .section .fini_array.00099,"aw" + .align 8 + .quad _sub_D_00099_0 + .text + .type _sub_I_00099_1, @function +_sub_I_00099_1: +.LFB59: + .cfi_startproc + .loc 1 95 1 view .LVU176 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + call __asan_init@PLT + call __asan_version_mismatch_check_v8@PLT + movl $40, %esi + leaq .LASAN0(%rip), %rdi + call __asan_register_globals@PLT + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE59: + .size _sub_I_00099_1, .-_sub_I_00099_1 + .section .init_array.00099,"aw" + .align 8 + .quad _sub_I_00099_1 + .text +.Letext0: + .file 3 "/usr/include/bits/types.h" + .file 4 "/usr/include/bits/stdint-intn.h" + .file 5 "/usr/include/bits/stdint-uintn.h" + .file 6 "/usr/include/stdint.h" + .file 7 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" + .file 8 "/usr/include/bits/types/struct_FILE.h" + .file 9 "/usr/include/bits/types/FILE.h" + .file 10 "/usr/include/stdio.h" + .file 11 "/usr/include/malloc.h" + .file 12 "/usr/include/stdlib.h" + .file 13 "/usr/include/bits/stdio2-decl.h" + .file 14 "" + .section .debug_info,"",@progbits +.Ldebug_info0: + .long 0xf6e + .value 0x5 + .byte 0x1 + .byte 0x8 + .long .Ldebug_abbrev0 + .uleb128 0x1c + .long .LASF94 + .byte 0x1d + .long .LASF0 + .long .LASF1 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .long .Ldebug_line0 + .uleb128 0x7 + .byte 0x1 + .byte 0x8 + .long .LASF2 + .uleb128 0x7 + .byte 0x2 + .byte 0x7 + .long .LASF3 + .uleb128 0x7 + .byte 0x4 + .byte 0x7 + .long .LASF4 + .uleb128 0x7 + .byte 0x8 + .byte 0x7 + .long .LASF5 + .uleb128 0x7 + .byte 0x1 + .byte 0x6 + .long .LASF6 + .uleb128 0x7 + .byte 0x2 + .byte 0x5 + .long .LASF7 + .uleb128 0x1d + .byte 0x4 + .byte 0x5 + .string "int" + .uleb128 0xa + .long .LASF9 + .byte 0x3 + .byte 0x2c + .byte 0x19 + .long 0x6b + .uleb128 0x7 + .byte 0x8 + .byte 0x5 + .long .LASF8 + .uleb128 0xa + .long .LASF10 + .byte 0x3 + .byte 0x2d + .byte 0x1b + .long 0x43 + .uleb128 0xa + .long .LASF11 + .byte 0x3 + .byte 0x98 + .byte 0x12 + .long 0x6b + .uleb128 0xa + .long .LASF12 + .byte 0x3 + .byte 0x99 + .byte 0x12 + .long 0x6b + .uleb128 0x1e + .byte 0x8 + .uleb128 0xb + .long 0x9d + .uleb128 0x7 + .byte 0x1 + .byte 0x6 + .long .LASF13 + .uleb128 0x1f + .long 0x9d + .uleb128 0xa + .long .LASF14 + .byte 0x4 + .byte 0x1b + .byte 0x13 + .long 0x5f + .uleb128 0xa + .long .LASF15 + .byte 0x5 + .byte 0x1b + .byte 0x14 + .long 0x72 + .uleb128 0xa + .long .LASF16 + .byte 0x6 + .byte 0x4f + .byte 0x1b + .long 0x43 + .uleb128 0xa + .long .LASF17 + .byte 0x7 + .byte 0xd6 + .byte 0x1b + .long 0x43 + .uleb128 0x20 + .long .LASF95 + .byte 0xd8 + .byte 0x8 + .byte 0x31 + .byte 0x8 + .long 0x243 + .uleb128 0x2 + .long .LASF18 + .byte 0x33 + .byte 0x7 + .long 0x58 + .byte 0 + .uleb128 0x2 + .long .LASF19 + .byte 0x36 + .byte 0x9 + .long 0x98 + .byte 0x8 + .uleb128 0x2 + .long .LASF20 + .byte 0x37 + .byte 0x9 + .long 0x98 + .byte 0x10 + .uleb128 0x2 + .long .LASF21 + .byte 0x38 + .byte 0x9 + .long 0x98 + .byte 0x18 + .uleb128 0x2 + .long .LASF22 + .byte 0x39 + .byte 0x9 + .long 0x98 + .byte 0x20 + .uleb128 0x2 + .long .LASF23 + .byte 0x3a + .byte 0x9 + .long 0x98 + .byte 0x28 + .uleb128 0x2 + .long .LASF24 + .byte 0x3b + .byte 0x9 + .long 0x98 + .byte 0x30 + .uleb128 0x2 + .long .LASF25 + .byte 0x3c + .byte 0x9 + .long 0x98 + .byte 0x38 + .uleb128 0x2 + .long .LASF26 + .byte 0x3d + .byte 0x9 + .long 0x98 + .byte 0x40 + .uleb128 0x2 + .long .LASF27 + .byte 0x40 + .byte 0x9 + .long 0x98 + .byte 0x48 + .uleb128 0x2 + .long .LASF28 + .byte 0x41 + .byte 0x9 + .long 0x98 + .byte 0x50 + .uleb128 0x2 + .long .LASF29 + .byte 0x42 + .byte 0x9 + .long 0x98 + .byte 0x58 + .uleb128 0x2 + .long .LASF30 + .byte 0x44 + .byte 0x16 + .long 0x25c + .byte 0x60 + .uleb128 0x2 + .long .LASF31 + .byte 0x46 + .byte 0x14 + .long 0x261 + .byte 0x68 + .uleb128 0x2 + .long .LASF32 + .byte 0x48 + .byte 0x7 + .long 0x58 + .byte 0x70 + .uleb128 0x2 + .long .LASF33 + .byte 0x49 + .byte 0x7 + .long 0x58 + .byte 0x74 + .uleb128 0x2 + .long .LASF34 + .byte 0x4a + .byte 0xb + .long 0x7e + .byte 0x78 + .uleb128 0x2 + .long .LASF35 + .byte 0x4d + .byte 0x12 + .long 0x35 + .byte 0x80 + .uleb128 0x2 + .long .LASF36 + .byte 0x4e + .byte 0xf + .long 0x4a + .byte 0x82 + .uleb128 0x2 + .long .LASF37 + .byte 0x4f + .byte 0x8 + .long 0x266 + .byte 0x83 + .uleb128 0x2 + .long .LASF38 + .byte 0x51 + .byte 0xf + .long 0x276 + .byte 0x88 + .uleb128 0x2 + .long .LASF39 + .byte 0x59 + .byte 0xd + .long 0x8a + .byte 0x90 + .uleb128 0x2 + .long .LASF40 + .byte 0x5b + .byte 0x17 + .long 0x280 + .byte 0x98 + .uleb128 0x2 + .long .LASF41 + .byte 0x5c + .byte 0x19 + .long 0x28a + .byte 0xa0 + .uleb128 0x2 + .long .LASF42 + .byte 0x5d + .byte 0x14 + .long 0x261 + .byte 0xa8 + .uleb128 0x2 + .long .LASF43 + .byte 0x5e + .byte 0x9 + .long 0x96 + .byte 0xb0 + .uleb128 0x2 + .long .LASF44 + .byte 0x5f + .byte 0xa + .long 0xcd + .byte 0xb8 + .uleb128 0x2 + .long .LASF45 + .byte 0x60 + .byte 0x7 + .long 0x58 + .byte 0xc0 + .uleb128 0x2 + .long .LASF46 + .byte 0x62 + .byte 0x8 + .long 0x28f + .byte 0xc4 + .byte 0 + .uleb128 0xa + .long .LASF47 + .byte 0x9 + .byte 0x7 + .byte 0x19 + .long 0xd9 + .uleb128 0x21 + .long .LASF96 + .byte 0x8 + .byte 0x2b + .byte 0xe + .uleb128 0x11 + .long .LASF48 + .uleb128 0xb + .long 0x257 + .uleb128 0xb + .long 0xd9 + .uleb128 0x14 + .long 0x9d + .long 0x276 + .uleb128 0x15 + .long 0x43 + .byte 0 + .byte 0 + .uleb128 0xb + .long 0x24f + .uleb128 0x11 + .long .LASF49 + .uleb128 0xb + .long 0x27b + .uleb128 0x11 + .long .LASF50 + .uleb128 0xb + .long 0x285 + .uleb128 0x14 + .long 0x9d + .long 0x29f + .uleb128 0x15 + .long 0x43 + .byte 0x13 + .byte 0 + .uleb128 0xb + .long 0xa4 + .uleb128 0x16 + .long 0x29f + .uleb128 0xb + .long 0x243 + .uleb128 0x16 + .long 0x2a9 + .uleb128 0x17 + .long .LASF51 + .byte 0x96 + .long 0x2a9 + .uleb128 0x17 + .long .LASF52 + .byte 0x97 + .long 0x2a9 + .uleb128 0x7 + .byte 0x8 + .byte 0x5 + .long .LASF53 + .uleb128 0x7 + .byte 0x8 + .byte 0x7 + .long .LASF54 + .uleb128 0x7 + .byte 0x10 + .byte 0x4 + .long .LASF55 + .uleb128 0xc + .long .LASF56 + .byte 0x6 + .byte 0x9 + .long 0xa9 + .uleb128 0x9 + .byte 0x3 + .quad nr_mem_allocated + .uleb128 0xc + .long .LASF57 + .byte 0x7 + .byte 0x9 + .long 0xa9 + .uleb128 0x9 + .byte 0x3 + .quad nr_mem_freed + .uleb128 0xc + .long .LASF58 + .byte 0x8 + .byte 0x9 + .long 0xa9 + .uleb128 0x9 + .byte 0x3 + .quad nr_mem_reallocated + .uleb128 0xc + .long .LASF59 + .byte 0x9 + .byte 0xa + .long 0xb5 + .uleb128 0x9 + .byte 0x3 + .quad nr_allocations + .uleb128 0xc + .long .LASF60 + .byte 0xa + .byte 0xa + .long 0xb5 + .uleb128 0x9 + .byte 0x3 + .quad nr_reallocations + .uleb128 0xc + .long .LASF61 + .byte 0xb + .byte 0xa + .long 0xb5 + .uleb128 0x9 + .byte 0x3 + .quad nr_frees + .uleb128 0xc + .long .LASF62 + .byte 0xc + .byte 0xa + .long 0xb5 + .uleb128 0x9 + .byte 0x3 + .quad avg_allocation + .uleb128 0xc + .long .LASF63 + .byte 0xd + .byte 0xa + .long 0xb5 + .uleb128 0x9 + .byte 0x3 + .quad avg_reallocation + .uleb128 0x10 + .long .LASF64 + .byte 0xb + .byte 0x2b + .byte 0xe + .long 0x96 + .long 0x39f + .uleb128 0x9 + .long 0xcd + .uleb128 0x9 + .long 0xcd + .byte 0 + .uleb128 0x22 + .long .LASF65 + .byte 0xc + .value 0x2f4 + .byte 0xd + .long 0x3b2 + .uleb128 0x9 + .long 0x58 + .byte 0 + .uleb128 0x10 + .long .LASF66 + .byte 0xb + .byte 0x33 + .byte 0xe + .long 0x96 + .long 0x3cd + .uleb128 0x9 + .long 0x96 + .uleb128 0x9 + .long 0xcd + .byte 0 + .uleb128 0x10 + .long .LASF67 + .byte 0xd + .byte 0x31 + .byte 0xc + .long 0x58 + .long 0x3ee + .uleb128 0x9 + .long 0x2ae + .uleb128 0x9 + .long 0x58 + .uleb128 0x9 + .long 0x2a4 + .uleb128 0x18 + .byte 0 + .uleb128 0x23 + .long .LASF97 + .byte 0xb + .byte 0x40 + .byte 0xd + .long 0x400 + .uleb128 0x9 + .long 0x96 + .byte 0 + .uleb128 0x10 + .long .LASF68 + .byte 0xb + .byte 0x98 + .byte 0xf + .long 0xcd + .long 0x416 + .uleb128 0x9 + .long 0x96 + .byte 0 + .uleb128 0x12 + .long .LASF77 + .byte 0x55 + .quad .LFB57 + .quad .LFE57-.LFB57 + .uleb128 0x1 + .byte 0x9c + .long 0x775 + .uleb128 0x8 + .long 0xf12 + .quad .LBI36 + .byte .LVU145 + .quad .LBB36 + .quad .LBE36-.LBB36 + .byte 0x57 + .byte 0x3 + .long 0x4aa + .uleb128 0x3 + .long 0xf2e + .long .LLST28 + .long .LVUS28 + .uleb128 0x3 + .long 0xf23 + .long .LLST29 + .long .LVUS29 + .uleb128 0x5 + .quad .LVL87 + .long 0x3cd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x57 + .byte 0 + .byte 0 + .uleb128 0x8 + .long 0xf12 + .quad .LBI38 + .byte .LVU150 + .quad .LBB38 + .quad .LBE38-.LBB38 + .byte 0x58 + .byte 0x3 + .long 0x528 + .uleb128 0x3 + .long 0xf2e + .long .LLST30 + .long .LVUS30 + .uleb128 0x3 + .long 0xf23 + .long .LLST31 + .long .LVUS31 + .uleb128 0x5 + .quad .LVL89 + .long 0x3cd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x58 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x8 + .long 0xf12 + .quad .LBI40 + .byte .LVU155 + .quad .LBB40 + .quad .LBE40-.LBB40 + .byte 0x5a + .byte 0x3 + .long 0x5a6 + .uleb128 0x3 + .long 0xf2e + .long .LLST32 + .long .LVUS32 + .uleb128 0x3 + .long 0xf23 + .long .LLST33 + .long .LVUS33 + .uleb128 0x5 + .quad .LVL91 + .long 0x3cd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x5a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x8 + .long 0xf12 + .quad .LBI42 + .byte .LVU160 + .quad .LBB42 + .quad .LBE42-.LBB42 + .byte 0x5c + .byte 0x3 + .long 0x624 + .uleb128 0x3 + .long 0xf2e + .long .LLST34 + .long .LVUS34 + .uleb128 0x3 + .long 0xf23 + .long .LLST35 + .long .LVUS35 + .uleb128 0x5 + .quad .LVL93 + .long 0x3cd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC10 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x5c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x8 + .long 0xf12 + .quad .LBI44 + .byte .LVU165 + .quad .LBB44 + .quad .LBE44-.LBB44 + .byte 0x5e + .byte 0x3 + .long 0x69c + .uleb128 0x3 + .long 0xf2e + .long .LLST36 + .long .LVUS36 + .uleb128 0x3 + .long 0xf23 + .long .LLST37 + .long .LVUS37 + .uleb128 0x5 + .quad .LVL95 + .long 0x3cd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC11 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x5e + .byte 0 + .byte 0 + .uleb128 0x6 + .quad .LVL96 + .long 0xf3b + .uleb128 0x4 + .quad .LVL97 + .long 0xf44 + .long 0x6c8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data25 + .byte 0 + .uleb128 0x6 + .quad .LVL98 + .long 0xf3b + .uleb128 0x4 + .quad .LVL99 + .long 0xf44 + .long 0x6f4 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data27 + .byte 0 + .uleb128 0x6 + .quad .LVL100 + .long 0xf3b + .uleb128 0x4 + .quad .LVL101 + .long 0xf44 + .long 0x720 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data29 + .byte 0 + .uleb128 0x6 + .quad .LVL102 + .long 0xf3b + .uleb128 0x4 + .quad .LVL103 + .long 0xf44 + .long 0x74c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data31 + .byte 0 + .uleb128 0x6 + .quad .LVL104 + .long 0xf3b + .uleb128 0x5 + .quad .LVL105 + .long 0xf44 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data33 + .byte 0 + .byte 0 + .uleb128 0x19 + .long .LASF72 + .byte 0x40 + .long 0x96 + .quad .LFB56 + .quad .LFE56-.LFB56 + .uleb128 0x1 + .byte 0x9c + .long 0x9e5 + .uleb128 0xd + .string "fn" + .byte 0x40 + .byte 0x20 + .long 0x29f + .long .LLST19 + .long .LVUS19 + .uleb128 0x13 + .long .LASF69 + .byte 0x40 + .byte 0x2b + .long 0xcd + .long .LLST20 + .long .LVUS20 + .uleb128 0x13 + .long .LASF70 + .byte 0x40 + .byte 0x39 + .long 0xcd + .long .LLST21 + .long .LVUS21 + .uleb128 0x1a + .string "ret" + .byte 0x42 + .long 0x96 + .long .LLST22 + .long .LVUS22 + .uleb128 0xf + .long .LASF71 + .byte 0x46 + .byte 0xa + .long 0xcd + .long .LLST23 + .long .LVUS23 + .uleb128 0x8 + .long 0xf12 + .quad .LBI32 + .byte .LVU121 + .quad .LBB32 + .quad .LBE32-.LBB32 + .byte 0x4a + .byte 0x3 + .long 0x872 + .uleb128 0x3 + .long 0xf2e + .long .LLST24 + .long .LVUS24 + .uleb128 0x3 + .long 0xf23 + .long .LLST25 + .long .LVUS25 + .uleb128 0x5 + .quad .LVL68 + .long 0x3cd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x4a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .byte 0 + .byte 0 + .uleb128 0x8 + .long 0xf12 + .quad .LBI34 + .byte .LVU133 + .quad .LBB34 + .quad .LBE34-.LBB34 + .byte 0x44 + .byte 0x7 + .long 0x8ea + .uleb128 0x3 + .long 0xf2e + .long .LLST26 + .long .LVUS26 + .uleb128 0x3 + .long 0xf23 + .long .LLST27 + .long .LVUS27 + .uleb128 0x5 + .quad .LVL76 + .long 0x3cd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x44 + .byte 0 + .byte 0 + .uleb128 0x4 + .quad .LVL62 + .long 0x384 + .long 0x90a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -80 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL64 + .long 0x400 + .long 0x922 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x6 + .quad .LVL77 + .long 0xf4d + .uleb128 0x4 + .quad .LVL78 + .long 0x39f + .long 0x946 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .uleb128 0x6 + .quad .LVL79 + .long 0xf3b + .uleb128 0x4 + .quad .LVL80 + .long 0xf44 + .long 0x972 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data21 + .byte 0 + .uleb128 0x4 + .quad .LVL82 + .long 0xf56 + .long 0x99d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data10 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL83 + .long 0xf5f + .long 0x9bc + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data38 + .byte 0 + .uleb128 0x6 + .quad .LVL84 + .long 0xf3b + .uleb128 0x5 + .quad .LVL85 + .long 0xf44 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data23 + .byte 0 + .byte 0 + .uleb128 0x19 + .long .LASF73 + .byte 0x26 + .long 0x96 + .quad .LFB55 + .quad .LFE55-.LFB55 + .uleb128 0x1 + .byte 0x9c + .long 0xd77 + .uleb128 0xd + .string "fn" + .byte 0x26 + .byte 0x21 + .long 0x29f + .long .LLST6 + .long .LVUS6 + .uleb128 0xd + .string "ptr" + .byte 0x26 + .byte 0x2b + .long 0x96 + .long .LLST7 + .long .LVUS7 + .uleb128 0x13 + .long .LASF70 + .byte 0x26 + .byte 0x37 + .long 0xcd + .long .LLST8 + .long .LVUS8 + .uleb128 0xf + .long .LASF74 + .byte 0x29 + .byte 0x1d + .long 0xcd + .long .LLST9 + .long .LVUS9 + .uleb128 0x1a + .string "ret" + .byte 0x2b + .long 0x96 + .long .LLST10 + .long .LVUS10 + .uleb128 0xf + .long .LASF75 + .byte 0x34 + .byte 0x1d + .long 0xcd + .long .LLST11 + .long .LVUS11 + .uleb128 0xf + .long .LASF76 + .byte 0x35 + .byte 0x1d + .long 0x58 + .long .LLST12 + .long .LVUS12 + .uleb128 0x8 + .long 0xf12 + .quad .LBI26 + .byte .LVU48 + .quad .LBB26 + .quad .LBE26-.LBB26 + .byte 0x30 + .byte 0x3 + .long 0xb08 + .uleb128 0x3 + .long 0xf2e + .long .LLST13 + .long .LVUS13 + .uleb128 0x3 + .long 0xf23 + .long .LLST14 + .long .LVUS14 + .uleb128 0x5 + .quad .LVL28 + .long 0x3cd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC4 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x30 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x4 + .byte 0x91 + .sleb128 -80 + .byte 0x6 + .byte 0 + .byte 0 + .uleb128 0x8 + .long 0xf12 + .quad .LBI28 + .byte .LVU57 + .quad .LBB28 + .quad .LBE28-.LBB28 + .byte 0x36 + .byte 0x3 + .long 0xb88 + .uleb128 0x3 + .long 0xf2e + .long .LLST15 + .long .LVUS15 + .uleb128 0x3 + .long 0xf23 + .long .LLST16 + .long .LVUS16 + .uleb128 0x5 + .quad .LVL33 + .long 0x3cd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x36 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .byte 0 + .byte 0 + .uleb128 0x8 + .long 0xf12 + .quad .LBI30 + .byte .LVU81 + .quad .LBB30 + .quad .LBE30-.LBB30 + .byte 0x2d + .byte 0x7 + .long 0xc00 + .uleb128 0x3 + .long 0xf2e + .long .LLST17 + .long .LVUS17 + .uleb128 0x3 + .long 0xf23 + .long .LLST18 + .long .LVUS18 + .uleb128 0x5 + .quad .LVL42 + .long 0x3cd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x2d + .byte 0 + .byte 0 + .uleb128 0x4 + .quad .LVL21 + .long 0x400 + .long 0xc18 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL23 + .long 0x3b2 + .long 0xc36 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL29 + .long 0x400 + .long 0xc4e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x6 + .quad .LVL43 + .long 0xf4d + .uleb128 0x4 + .quad .LVL44 + .long 0x39f + .long 0xc72 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .uleb128 0x6 + .quad .LVL45 + .long 0xf3b + .uleb128 0x4 + .quad .LVL46 + .long 0xf44 + .long 0xc9e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data15 + .byte 0 + .uleb128 0x6 + .quad .LVL48 + .long 0xf3b + .uleb128 0x4 + .quad .LVL49 + .long 0xf44 + .long 0xcca + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data17 + .byte 0 + .uleb128 0x4 + .quad .LVL52 + .long 0xf68 + .long 0xcf8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data36 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0xb + .byte 0x91 + .sleb128 -72 + .byte 0x94 + .byte 0x4 + .byte 0x8 + .byte 0x20 + .byte 0x24 + .byte 0x8 + .byte 0x20 + .byte 0x26 + .byte 0 + .uleb128 0x6 + .quad .LVL54 + .long 0xf3b + .uleb128 0x4 + .quad .LVL55 + .long 0xf44 + .long 0xd24 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data19 + .byte 0 + .uleb128 0x4 + .quad .LVL56 + .long 0xf5f + .long 0xd4f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data37 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x8 + .byte 0x7e + .sleb128 0 + .byte 0x8 + .byte 0x20 + .byte 0x24 + .byte 0x8 + .byte 0x20 + .byte 0x26 + .byte 0 + .uleb128 0x5 + .quad .LVL58 + .long 0xf56 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x12 + .long .LASF78 + .byte 0x20 + .quad .LFB54 + .quad .LFE54-.LFB54 + .uleb128 0x1 + .byte 0x9c + .long 0xdc9 + .uleb128 0xd + .string "ptr" + .byte 0x20 + .byte 0x1d + .long 0x96 + .long .LLST5 + .long .LVUS5 + .uleb128 0x5 + .quad .LVL18 + .long 0xdc9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .LC2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x3 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0 + .byte 0 + .uleb128 0x12 + .long .LASF79 + .byte 0x11 + .quad .LFB53 + .quad .LFE53-.LFB53 + .uleb128 0x1 + .byte 0x9c + .long 0xf12 + .uleb128 0xd + .string "fn" + .byte 0x11 + .byte 0x1e + .long 0x29f + .long .LLST0 + .long .LVUS0 + .uleb128 0xd + .string "ptr" + .byte 0x11 + .byte 0x28 + .long 0x96 + .long .LLST1 + .long .LVUS1 + .uleb128 0xf + .long .LASF71 + .byte 0x14 + .byte 0x1d + .long 0xcd + .long .LLST2 + .long .LVUS2 + .uleb128 0x8 + .long 0xf12 + .quad .LBI24 + .byte .LVU10 + .quad .LBB24 + .quad .LBE24-.LBB24 + .byte 0x15 + .byte 0x3 + .long 0xe9a + .uleb128 0x3 + .long 0xf2e + .long .LLST3 + .long .LVUS3 + .uleb128 0x3 + .long 0xf23 + .long .LLST4 + .long .LVUS4 + .uleb128 0x5 + .quad .LVL6 + .long 0x3cd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x1 + .byte 0x45 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x4 + .quad .LVL2 + .long 0x400 + .long 0xeb2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL8 + .long 0x3ee + .long 0xeca + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x6 + .quad .LVL12 + .long 0xf3b + .uleb128 0x4 + .quad .LVL13 + .long 0xf44 + .long 0xef6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data13 + .byte 0 + .uleb128 0x5 + .quad .LVL15 + .long 0xf5f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data35 + .byte 0 + .byte 0 + .uleb128 0x24 + .long .LASF98 + .byte 0x2 + .byte 0x4d + .byte 0x1 + .long 0x58 + .byte 0x3 + .long 0xf3b + .uleb128 0x1b + .long .LASF80 + .byte 0x4d + .byte 0x1b + .long 0x2ae + .uleb128 0x1b + .long .LASF81 + .byte 0x4d + .byte 0x3c + .long 0x2a4 + .uleb128 0x18 + .byte 0 + .uleb128 0xe + .long .LASF82 + .long .LASF84 + .uleb128 0xe + .long .LASF83 + .long .LASF85 + .uleb128 0xe + .long .LASF86 + .long .LASF87 + .uleb128 0xe + .long .LASF88 + .long .LASF89 + .uleb128 0xe + .long .LASF90 + .long .LASF91 + .uleb128 0xe + .long .LASF92 + .long .LASF93 + .byte 0 + .section .debug_abbrev,"",@progbits +.Ldebug_abbrev0: + .uleb128 0x1 + .uleb128 0x49 + .byte 0 + .uleb128 0x2 + .uleb128 0x18 + .uleb128 0x7e + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x2 + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 8 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x3 + .uleb128 0x5 + .byte 0 + .uleb128 0x31 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x4 + .uleb128 0x48 + .byte 0x1 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x5 + .uleb128 0x48 + .byte 0x1 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x6 + .uleb128 0x48 + .byte 0 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x7 + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .byte 0 + .byte 0 + .uleb128 0x8 + .uleb128 0x1d + .byte 0x1 + .uleb128 0x31 + .uleb128 0x13 + .uleb128 0x52 + .uleb128 0x1 + .uleb128 0x2138 + .uleb128 0xb + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x58 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x59 + .uleb128 0xb + .uleb128 0x57 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x9 + .uleb128 0x5 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xa + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xb + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0x21 + .sleb128 8 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xc + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x2 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0xd + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0xe + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x6e + .uleb128 0xe + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 14 + .uleb128 0x3b + .uleb128 0x21 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0xf + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x10 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x11 + .uleb128 0x13 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x12 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x13 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x14 + .uleb128 0x1 + .byte 0x1 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x15 + .uleb128 0x21 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2f + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x16 + .uleb128 0x37 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x17 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 10 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 14 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x18 + .uleb128 0x18 + .byte 0 + .byte 0 + .byte 0 + .uleb128 0x19 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x1a + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 29 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x1b + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 2 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x1c + .uleb128 0x11 + .byte 0x1 + .uleb128 0x25 + .uleb128 0xe + .uleb128 0x13 + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x1f + .uleb128 0x1b + .uleb128 0x1f + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x10 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x1d + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x8 + .byte 0 + .byte 0 + .uleb128 0x1e + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x1f + .uleb128 0x26 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x20 + .uleb128 0x13 + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x21 + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x22 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x87 + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x23 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x24 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x20 + .uleb128 0xb + .uleb128 0x34 + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .byte 0 + .section .debug_loclists,"",@progbits + .long .Ldebug_loc3-.Ldebug_loc2 +.Ldebug_loc2: + .value 0x5 + .byte 0x8 + .byte 0 + .long 0 +.Ldebug_loc0: +.LVUS28: + .uleb128 .LVU145 + .uleb128 .LVU148 +.LLST28: + .byte 0x4 + .uleb128 .LVL86-.Ltext0 + .uleb128 .LVL87-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC7 + .byte 0x9f + .byte 0 +.LVUS29: + .uleb128 .LVU145 + .uleb128 .LVU148 +.LLST29: + .byte 0x4 + .uleb128 .LVL86-.Ltext0 + .uleb128 .LVL87-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS30: + .uleb128 .LVU150 + .uleb128 .LVU153 +.LLST30: + .byte 0x4 + .uleb128 .LVL88-.Ltext0 + .uleb128 .LVL89-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC8 + .byte 0x9f + .byte 0 +.LVUS31: + .uleb128 .LVU150 + .uleb128 .LVU153 +.LLST31: + .byte 0x4 + .uleb128 .LVL88-.Ltext0 + .uleb128 .LVL89-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS32: + .uleb128 .LVU155 + .uleb128 .LVU158 +.LLST32: + .byte 0x4 + .uleb128 .LVL90-.Ltext0 + .uleb128 .LVL91-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC9 + .byte 0x9f + .byte 0 +.LVUS33: + .uleb128 .LVU155 + .uleb128 .LVU158 +.LLST33: + .byte 0x4 + .uleb128 .LVL90-.Ltext0 + .uleb128 .LVL91-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS34: + .uleb128 .LVU160 + .uleb128 .LVU163 +.LLST34: + .byte 0x4 + .uleb128 .LVL92-.Ltext0 + .uleb128 .LVL93-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC10 + .byte 0x9f + .byte 0 +.LVUS35: + .uleb128 .LVU160 + .uleb128 .LVU163 +.LLST35: + .byte 0x4 + .uleb128 .LVL92-.Ltext0 + .uleb128 .LVL93-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS36: + .uleb128 .LVU165 + .uleb128 .LVU168 +.LLST36: + .byte 0x4 + .uleb128 .LVL94-.Ltext0 + .uleb128 .LVL95-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC11 + .byte 0x9f + .byte 0 +.LVUS37: + .uleb128 .LVU165 + .uleb128 .LVU168 +.LLST37: + .byte 0x4 + .uleb128 .LVL94-.Ltext0 + .uleb128 .LVL95-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS19: + .uleb128 0 + .uleb128 .LVU96 + .uleb128 .LVU96 + .uleb128 .LVU130 + .uleb128 .LVU130 + .uleb128 .LVU131 + .uleb128 .LVU131 + .uleb128 0 +.LLST19: + .byte 0x4 + .uleb128 .LVL59-.Ltext0 + .uleb128 .LVL60-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL60-.Ltext0 + .uleb128 .LVL72-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL72-.Ltext0 + .uleb128 .LVL73-.Ltext0 + .uleb128 0x2 + .byte 0x77 + .sleb128 -64 + .byte 0x4 + .uleb128 .LVL73-.Ltext0 + .uleb128 .LFE56-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0 +.LVUS20: + .uleb128 0 + .uleb128 .LVU99 + .uleb128 .LVU99 + .uleb128 .LVU100 + .uleb128 .LVU100 + .uleb128 .LVU130 + .uleb128 .LVU130 + .uleb128 .LVU131 + .uleb128 .LVU131 + .uleb128 0 +.LLST20: + .byte 0x4 + .uleb128 .LVL59-.Ltext0 + .uleb128 .LVL61-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL61-.Ltext0 + .uleb128 .LVL62-1-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL62-1-.Ltext0 + .uleb128 .LVL72-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0x4 + .uleb128 .LVL72-.Ltext0 + .uleb128 .LVL73-.Ltext0 + .uleb128 0x3 + .byte 0x77 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL73-.Ltext0 + .uleb128 .LFE56-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0 +.LVUS21: + .uleb128 0 + .uleb128 .LVU100 + .uleb128 .LVU100 + .uleb128 .LVU129 + .uleb128 .LVU129 + .uleb128 .LVU131 + .uleb128 .LVU131 + .uleb128 0 +.LLST21: + .byte 0x4 + .uleb128 .LVL59-.Ltext0 + .uleb128 .LVL62-1-.Ltext0 + .uleb128 0x1 + .byte 0x51 + .byte 0x4 + .uleb128 .LVL62-1-.Ltext0 + .uleb128 .LVL71-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0x4 + .uleb128 .LVL71-.Ltext0 + .uleb128 .LVL73-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x51 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL73-.Ltext0 + .uleb128 .LFE56-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0 +.LVUS22: + .uleb128 .LVU101 + .uleb128 .LVU106 + .uleb128 .LVU106 + .uleb128 .LVU127 + .uleb128 .LVU127 + .uleb128 .LVU132 + .uleb128 .LVU132 + .uleb128 0 +.LLST22: + .byte 0x4 + .uleb128 .LVL63-.Ltext0 + .uleb128 .LVL64-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL64-1-.Ltext0 + .uleb128 .LVL69-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL69-.Ltext0 + .uleb128 .LVL74-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL74-.Ltext0 + .uleb128 .LFE56-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS23: + .uleb128 .LVU107 + .uleb128 .LVU114 + .uleb128 .LVU114 + .uleb128 .LVU128 + .uleb128 .LVU139 + .uleb128 .LVU140 + .uleb128 .LVU140 + .uleb128 0 +.LLST23: + .byte 0x4 + .uleb128 .LVL65-.Ltext0 + .uleb128 .LVL66-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL66-.Ltext0 + .uleb128 .LVL70-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL81-.Ltext0 + .uleb128 .LVL82-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL82-1-.Ltext0 + .uleb128 .LFE56-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0 +.LVUS24: + .uleb128 .LVU121 + .uleb128 .LVU124 +.LLST24: + .byte 0x4 + .uleb128 .LVL67-.Ltext0 + .uleb128 .LVL68-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC6 + .byte 0x9f + .byte 0 +.LVUS25: + .uleb128 .LVU121 + .uleb128 .LVU124 +.LLST25: + .byte 0x4 + .uleb128 .LVL67-.Ltext0 + .uleb128 .LVL68-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS26: + .uleb128 .LVU133 + .uleb128 .LVU136 +.LLST26: + .byte 0x4 + .uleb128 .LVL75-.Ltext0 + .uleb128 .LVL76-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC3 + .byte 0x9f + .byte 0 +.LVUS27: + .uleb128 .LVU133 + .uleb128 .LVU136 +.LLST27: + .byte 0x4 + .uleb128 .LVL75-.Ltext0 + .uleb128 .LVL76-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS6: + .uleb128 0 + .uleb128 .LVU35 + .uleb128 .LVU35 + .uleb128 .LVU77 + .uleb128 .LVU77 + .uleb128 .LVU78 + .uleb128 .LVU78 + .uleb128 0 +.LLST6: + .byte 0x4 + .uleb128 .LVL19-.Ltext0 + .uleb128 .LVL20-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL20-.Ltext0 + .uleb128 .LVL37-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0x4 + .uleb128 .LVL37-.Ltext0 + .uleb128 .LVL38-.Ltext0 + .uleb128 0x3 + .byte 0x77 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL38-.Ltext0 + .uleb128 .LFE55-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0 +.LVUS7: + .uleb128 0 + .uleb128 .LVU36 + .uleb128 .LVU36 + .uleb128 .LVU46 + .uleb128 .LVU46 + .uleb128 .LVU78 + .uleb128 .LVU78 + .uleb128 .LVU88 + .uleb128 .LVU88 + .uleb128 0 +.LLST7: + .byte 0x4 + .uleb128 .LVL19-.Ltext0 + .uleb128 .LVL21-1-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL21-1-.Ltext0 + .uleb128 .LVL25-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL25-.Ltext0 + .uleb128 .LVL38-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL38-.Ltext0 + .uleb128 .LVL47-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL47-.Ltext0 + .uleb128 .LFE55-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0 +.LVUS8: + .uleb128 0 + .uleb128 .LVU36 + .uleb128 .LVU36 + .uleb128 .LVU54 + .uleb128 .LVU54 + .uleb128 .LVU78 + .uleb128 .LVU78 + .uleb128 .LVU89 + .uleb128 .LVU89 + .uleb128 0 +.LLST8: + .byte 0x4 + .uleb128 .LVL19-.Ltext0 + .uleb128 .LVL21-1-.Ltext0 + .uleb128 0x1 + .byte 0x51 + .byte 0x4 + .uleb128 .LVL21-1-.Ltext0 + .uleb128 .LVL30-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL30-.Ltext0 + .uleb128 .LVL38-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x51 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL38-.Ltext0 + .uleb128 .LVL50-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL50-.Ltext0 + .uleb128 .LFE55-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x51 + .byte 0x9f + .byte 0 +.LVUS9: + .uleb128 .LVU37 + .uleb128 .LVU39 + .uleb128 .LVU39 + .uleb128 .LVU77 + .uleb128 .LVU77 + .uleb128 .LVU78 + .uleb128 .LVU78 + .uleb128 0 +.LLST9: + .byte 0x4 + .uleb128 .LVL22-.Ltext0 + .uleb128 .LVL23-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL23-1-.Ltext0 + .uleb128 .LVL37-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL37-.Ltext0 + .uleb128 .LVL38-.Ltext0 + .uleb128 0x2 + .byte 0x77 + .sleb128 -64 + .byte 0x4 + .uleb128 .LVL38-.Ltext0 + .uleb128 .LFE55-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0 +.LVUS10: + .uleb128 .LVU40 + .uleb128 .LVU47 + .uleb128 .LVU47 + .uleb128 .LVU75 + .uleb128 .LVU75 + .uleb128 .LVU79 + .uleb128 .LVU79 + .uleb128 .LVU80 + .uleb128 .LVU86 + .uleb128 .LVU87 + .uleb128 .LVU88 + .uleb128 0 +.LLST10: + .byte 0x4 + .uleb128 .LVL24-.Ltext0 + .uleb128 .LVL26-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL26-.Ltext0 + .uleb128 .LVL35-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL35-.Ltext0 + .uleb128 .LVL39-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL39-.Ltext0 + .uleb128 .LVL40-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL44-.Ltext0 + .uleb128 .LVL45-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL47-.Ltext0 + .uleb128 .LFE55-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS11: + .uleb128 .LVU54 + .uleb128 .LVU56 + .uleb128 .LVU56 + .uleb128 .LVU65 + .uleb128 .LVU89 + .uleb128 .LVU90 + .uleb128 .LVU90 + .uleb128 .LVU93 +.LLST11: + .byte 0x4 + .uleb128 .LVL30-.Ltext0 + .uleb128 .LVL31-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL31-.Ltext0 + .uleb128 .LVL34-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL50-.Ltext0 + .uleb128 .LVL51-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL51-.Ltext0 + .uleb128 .LVL57-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS12: + .uleb128 .LVU56 + .uleb128 .LVU76 + .uleb128 .LVU91 + .uleb128 0 +.LLST12: + .byte 0x4 + .uleb128 .LVL31-.Ltext0 + .uleb128 .LVL36-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL53-.Ltext0 + .uleb128 .LFE55-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0 +.LVUS13: + .uleb128 .LVU48 + .uleb128 .LVU51 +.LLST13: + .byte 0x4 + .uleb128 .LVL27-.Ltext0 + .uleb128 .LVL28-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC4 + .byte 0x9f + .byte 0 +.LVUS14: + .uleb128 .LVU48 + .uleb128 .LVU51 +.LLST14: + .byte 0x4 + .uleb128 .LVL27-.Ltext0 + .uleb128 .LVL28-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0 +.LVUS15: + .uleb128 .LVU57 + .uleb128 .LVU60 +.LLST15: + .byte 0x4 + .uleb128 .LVL32-.Ltext0 + .uleb128 .LVL33-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC5 + .byte 0x9f + .byte 0 +.LVUS16: + .uleb128 .LVU57 + .uleb128 .LVU60 +.LLST16: + .byte 0x4 + .uleb128 .LVL32-.Ltext0 + .uleb128 .LVL33-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0 +.LVUS17: + .uleb128 .LVU81 + .uleb128 .LVU84 +.LLST17: + .byte 0x4 + .uleb128 .LVL41-.Ltext0 + .uleb128 .LVL42-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC3 + .byte 0x9f + .byte 0 +.LVUS18: + .uleb128 .LVU81 + .uleb128 .LVU84 +.LLST18: + .byte 0x4 + .uleb128 .LVL41-.Ltext0 + .uleb128 .LVL42-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS5: + .uleb128 0 + .uleb128 .LVU29 + .uleb128 .LVU29 + .uleb128 .LVU30 + .uleb128 .LVU30 + .uleb128 0 +.LLST5: + .byte 0x4 + .uleb128 .LVL16-.Ltext0 + .uleb128 .LVL17-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL17-.Ltext0 + .uleb128 .LVL18-1-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL18-1-.Ltext0 + .uleb128 .LFE54-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS0: + .uleb128 0 + .uleb128 .LVU4 + .uleb128 .LVU4 + .uleb128 .LVU23 + .uleb128 .LVU23 + .uleb128 .LVU24 + .uleb128 .LVU24 + .uleb128 0 +.LLST0: + .byte 0x4 + .uleb128 .LVL0-.Ltext0 + .uleb128 .LVL1-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL1-.Ltext0 + .uleb128 .LVL10-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL10-.Ltext0 + .uleb128 .LVL11-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL11-.Ltext0 + .uleb128 .LFE53-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS1: + .uleb128 0 + .uleb128 .LVU5 + .uleb128 .LVU5 + .uleb128 .LVU22 + .uleb128 .LVU22 + .uleb128 .LVU24 + .uleb128 .LVU24 + .uleb128 0 +.LLST1: + .byte 0x4 + .uleb128 .LVL0-.Ltext0 + .uleb128 .LVL2-1-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL2-1-.Ltext0 + .uleb128 .LVL9-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL9-.Ltext0 + .uleb128 .LVL11-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL11-.Ltext0 + .uleb128 .LFE53-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS2: + .uleb128 .LVU6 + .uleb128 .LVU9 + .uleb128 .LVU9 + .uleb128 .LVU17 + .uleb128 .LVU24 + .uleb128 .LVU25 +.LLST2: + .byte 0x4 + .uleb128 .LVL3-.Ltext0 + .uleb128 .LVL4-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL4-.Ltext0 + .uleb128 .LVL7-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL11-.Ltext0 + .uleb128 .LVL14-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS3: + .uleb128 .LVU10 + .uleb128 .LVU13 +.LLST3: + .byte 0x4 + .uleb128 .LVL5-.Ltext0 + .uleb128 .LVL6-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC1 + .byte 0x9f + .byte 0 +.LVUS4: + .uleb128 .LVU10 + .uleb128 .LVU13 +.LLST4: + .byte 0x4 + .uleb128 .LVL5-.Ltext0 + .uleb128 .LVL6-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0 +.Ldebug_loc3: + .section .debug_aranges,"",@progbits + .long 0x2c + .value 0x2 + .long .Ldebug_info0 + .byte 0x8 + .byte 0 + .value 0 + .value 0 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .quad 0 + .quad 0 + .section .debug_line,"",@progbits +.Ldebug_line0: + .section .debug_str,"MS",@progbits,1 +.LASF11: + .string "__off_t" +.LASF19: + .string "_IO_read_ptr" +.LASF31: + .string "_chain" +.LASF37: + .string "_shortbuf" +.LASF17: + .string "size_t" +.LASF16: + .string "uintptr_t" +.LASF15: + .string "uint64_t" +.LASF25: + .string "_IO_buf_base" +.LASF57: + .string "nr_mem_freed" +.LASF54: + .string "long long unsigned int" +.LASF91: + .string "__builtin___ubsan_handle_add_overflow" +.LASF9: + .string "__int64_t" +.LASF68: + .string "malloc_usable_size" +.LASF97: + .string "free" +.LASF40: + .string "_codecvt" +.LASF92: + .string "__ubsan_handle_sub_overflow" +.LASF60: + .string "nr_reallocations" +.LASF53: + .string "long long int" +.LASF6: + .string "signed char" +.LASF70: + .string "size" +.LASF88: + .string "__ubsan_handle_divrem_overflow" +.LASF87: + .string "__builtin___asan_handle_no_return" +.LASF32: + .string "_fileno" +.LASF20: + .string "_IO_read_end" +.LASF8: + .string "long int" +.LASF18: + .string "_flags" +.LASF26: + .string "_IO_buf_end" +.LASF35: + .string "_cur_column" +.LASF49: + .string "_IO_codecvt" +.LASF79: + .string "__chk_free_impl" +.LASF93: + .string "__builtin___ubsan_handle_sub_overflow" +.LASF34: + .string "_old_offset" +.LASF39: + .string "_offset" +.LASF59: + .string "nr_allocations" +.LASF73: + .string "__chk_realloc_impl" +.LASF48: + .string "_IO_marker" +.LASF63: + .string "avg_reallocation" +.LASF4: + .string "unsigned int" +.LASF43: + .string "_freeres_buf" +.LASF98: + .string "fprintf" +.LASF90: + .string "__ubsan_handle_add_overflow" +.LASF80: + .string "__stream" +.LASF5: + .string "long unsigned int" +.LASF86: + .string "__asan_handle_no_return" +.LASF23: + .string "_IO_write_ptr" +.LASF58: + .string "nr_mem_reallocated" +.LASF3: + .string "short unsigned int" +.LASF27: + .string "_IO_save_base" +.LASF38: + .string "_lock" +.LASF33: + .string "_flags2" +.LASF45: + .string "_mode" +.LASF51: + .string "stdout" +.LASF56: + .string "nr_mem_allocated" +.LASF55: + .string "long double" +.LASF24: + .string "_IO_write_end" +.LASF96: + .string "_IO_lock_t" +.LASF95: + .string "_IO_FILE" +.LASF84: + .string "__builtin___asan_report_load8" +.LASF10: + .string "__uint64_t" +.LASF30: + .string "_markers" +.LASF72: + .string "__chk_calloc_impl" +.LASF2: + .string "unsigned char" +.LASF74: + .string "prev_blk_size" +.LASF7: + .string "short int" +.LASF94: + .ascii "GNU C17 13.3.1 202" + .string "40614 -mtune=generic -march=x86-64 -ggdb -Os -Og -std=gnu17 -p -fanalyzer -fsanitize=address,undefined,leak -fstack-protector-strong -fstack-clash-protection -fstrict-aliasing -ftrivial-auto-var-init=zero -fno-omit-frame-pointer -fno-common -fcf-protection" +.LASF78: + .string "__chk_free_impl_nofn" +.LASF50: + .string "_IO_wide_data" +.LASF61: + .string "nr_frees" +.LASF36: + .string "_vtable_offset" +.LASF47: + .string "FILE" +.LASF62: + .string "avg_allocation" +.LASF67: + .string "__fprintf_chk" +.LASF75: + .string "new_blk_size" +.LASF13: + .string "char" +.LASF83: + .string "__ubsan_handle_nonnull_arg" +.LASF85: + .string "__builtin___ubsan_handle_nonnull_arg" +.LASF71: + .string "blk_size" +.LASF89: + .string "__builtin___ubsan_handle_divrem_overflow" +.LASF12: + .string "__off64_t" +.LASF21: + .string "_IO_read_base" +.LASF29: + .string "_IO_save_end" +.LASF81: + .string "__fmt" +.LASF44: + .string "__pad5" +.LASF46: + .string "_unused2" +.LASF52: + .string "stderr" +.LASF69: + .string "nmemb" +.LASF65: + .string "exit" +.LASF64: + .string "calloc" +.LASF28: + .string "_IO_backup_base" +.LASF77: + .string "dbg_mem_dump_stats" +.LASF42: + .string "_freeres_list" +.LASF66: + .string "realloc" +.LASF41: + .string "_wide_data" +.LASF14: + .string "int64_t" +.LASF76: + .string "blk_size_diff" +.LASF22: + .string "_IO_write_base" +.LASF82: + .string "__asan_report_load8" + .section .debug_line_str,"MS",@progbits,1 +.LASF1: + .string "/home/unazed/Programming/c/ucc-0.2.0" +.LASF0: + .string "src/generic.c" + .ident "GCC: (Gentoo 13.3.1_p20240614 p17) 13.3.1 20240614" + .section .note.GNU-stack,"",@progbits + .section .note.gnu.property,"a" + .align 8 + .long 1f - 0f + .long 4f - 1f + .long 5 +0: + .string "GNU" +1: + .align 8 + .long 0xc0000002 + .long 3f - 2f +2: + .long 0x3 +3: + .align 8 +4: diff --git a/build/io.d b/build/io.d new file mode 100644 index 0000000..a94deef --- /dev/null +++ b/build/io.d @@ -0,0 +1,4 @@ +build/io.o: src/io.c include/generic.h include/ansi-colors.h include/io.h +include/generic.h: +include/ansi-colors.h: +include/io.h: diff --git a/build/io.i b/build/io.i new file mode 100644 index 0000000..a6638ad --- /dev/null +++ b/build/io.i @@ -0,0 +1,3294 @@ +# 0 "src/io.c" +# 1 "/home/unazed/Programming/c/ucc-0.2.0//" +# 0 "" +# 0 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 0 "" 2 +# 1 "src/io.c" +# 1 "include/generic.h" 1 + + +# 1 "include/ansi-colors.h" 1 + + +# 1 "include/io.h" 1 + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 1 3 4 +# 9 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 3 4 +# 1 "/usr/include/stdint.h" 1 3 4 +# 26 "/usr/include/stdint.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 33 "/usr/include/bits/libc-header-start.h" 3 4 +# 1 "/usr/include/features.h" 1 3 4 +# 394 "/usr/include/features.h" 3 4 +# 1 "/usr/include/features-time64.h" 1 3 4 +# 20 "/usr/include/features-time64.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 21 "/usr/include/features-time64.h" 2 3 4 +# 1 "/usr/include/bits/timesize.h" 1 3 4 +# 19 "/usr/include/bits/timesize.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/bits/timesize.h" 2 3 4 +# 22 "/usr/include/features-time64.h" 2 3 4 +# 395 "/usr/include/features.h" 2 3 4 +# 503 "/usr/include/features.h" 3 4 +# 1 "/usr/include/sys/cdefs.h" 1 3 4 +# 576 "/usr/include/sys/cdefs.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 577 "/usr/include/sys/cdefs.h" 2 3 4 +# 1 "/usr/include/bits/long-double.h" 1 3 4 +# 578 "/usr/include/sys/cdefs.h" 2 3 4 +# 504 "/usr/include/features.h" 2 3 4 +# 527 "/usr/include/features.h" 3 4 +# 1 "/usr/include/gnu/stubs.h" 1 3 4 +# 10 "/usr/include/gnu/stubs.h" 3 4 +# 1 "/usr/include/gnu/stubs-64.h" 1 3 4 +# 11 "/usr/include/gnu/stubs.h" 2 3 4 +# 528 "/usr/include/features.h" 2 3 4 +# 34 "/usr/include/bits/libc-header-start.h" 2 3 4 +# 27 "/usr/include/stdint.h" 2 3 4 +# 1 "/usr/include/bits/types.h" 1 3 4 +# 27 "/usr/include/bits/types.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 28 "/usr/include/bits/types.h" 2 3 4 +# 1 "/usr/include/bits/timesize.h" 1 3 4 +# 19 "/usr/include/bits/timesize.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/bits/timesize.h" 2 3 4 +# 29 "/usr/include/bits/types.h" 2 3 4 + + + +# 31 "/usr/include/bits/types.h" 3 4 +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; + + +typedef signed char __int8_t; +typedef unsigned char __uint8_t; +typedef signed short int __int16_t; +typedef unsigned short int __uint16_t; +typedef signed int __int32_t; +typedef unsigned int __uint32_t; + +typedef signed long int __int64_t; +typedef unsigned long int __uint64_t; + + + + + + +typedef __int8_t __int_least8_t; +typedef __uint8_t __uint_least8_t; +typedef __int16_t __int_least16_t; +typedef __uint16_t __uint_least16_t; +typedef __int32_t __int_least32_t; +typedef __uint32_t __uint_least32_t; +typedef __int64_t __int_least64_t; +typedef __uint64_t __uint_least64_t; + + + +typedef long int __quad_t; +typedef unsigned long int __u_quad_t; + + + + + + + +typedef long int __intmax_t; +typedef unsigned long int __uintmax_t; +# 141 "/usr/include/bits/types.h" 3 4 +# 1 "/usr/include/bits/typesizes.h" 1 3 4 +# 142 "/usr/include/bits/types.h" 2 3 4 +# 1 "/usr/include/bits/time64.h" 1 3 4 +# 143 "/usr/include/bits/types.h" 2 3 4 + + +typedef unsigned long int __dev_t; +typedef unsigned int __uid_t; +typedef unsigned int __gid_t; +typedef unsigned long int __ino_t; +typedef unsigned long int __ino64_t; +typedef unsigned int __mode_t; +typedef unsigned long int __nlink_t; +typedef long int __off_t; +typedef long int __off64_t; +typedef int __pid_t; +typedef struct { int __val[2]; } __fsid_t; +typedef long int __clock_t; +typedef unsigned long int __rlim_t; +typedef unsigned long int __rlim64_t; +typedef unsigned int __id_t; +typedef long int __time_t; +typedef unsigned int __useconds_t; +typedef long int __suseconds_t; +typedef long int __suseconds64_t; + +typedef int __daddr_t; +typedef int __key_t; + + +typedef int __clockid_t; + + +typedef void * __timer_t; + + +typedef long int __blksize_t; + + + + +typedef long int __blkcnt_t; +typedef long int __blkcnt64_t; + + +typedef unsigned long int __fsblkcnt_t; +typedef unsigned long int __fsblkcnt64_t; + + +typedef unsigned long int __fsfilcnt_t; +typedef unsigned long int __fsfilcnt64_t; + + +typedef long int __fsword_t; + +typedef long int __ssize_t; + + +typedef long int __syscall_slong_t; + +typedef unsigned long int __syscall_ulong_t; + + + +typedef __off64_t __loff_t; +typedef char *__caddr_t; + + +typedef long int __intptr_t; + + +typedef unsigned int __socklen_t; + + + + +typedef int __sig_atomic_t; +# 28 "/usr/include/stdint.h" 2 3 4 +# 1 "/usr/include/bits/wchar.h" 1 3 4 +# 29 "/usr/include/stdint.h" 2 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 30 "/usr/include/stdint.h" 2 3 4 + + + + +# 1 "/usr/include/bits/stdint-intn.h" 1 3 4 +# 24 "/usr/include/bits/stdint-intn.h" 3 4 +typedef __int8_t int8_t; +typedef __int16_t int16_t; +typedef __int32_t int32_t; +typedef __int64_t int64_t; +# 35 "/usr/include/stdint.h" 2 3 4 + + +# 1 "/usr/include/bits/stdint-uintn.h" 1 3 4 +# 24 "/usr/include/bits/stdint-uintn.h" 3 4 +typedef __uint8_t uint8_t; +typedef __uint16_t uint16_t; +typedef __uint32_t uint32_t; +typedef __uint64_t uint64_t; +# 38 "/usr/include/stdint.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdint-least.h" 1 3 4 +# 25 "/usr/include/bits/stdint-least.h" 3 4 +typedef __int_least8_t int_least8_t; +typedef __int_least16_t int_least16_t; +typedef __int_least32_t int_least32_t; +typedef __int_least64_t int_least64_t; + + +typedef __uint_least8_t uint_least8_t; +typedef __uint_least16_t uint_least16_t; +typedef __uint_least32_t uint_least32_t; +typedef __uint_least64_t uint_least64_t; +# 42 "/usr/include/stdint.h" 2 3 4 + + + + + +typedef signed char int_fast8_t; + +typedef long int int_fast16_t; +typedef long int int_fast32_t; +typedef long int int_fast64_t; +# 60 "/usr/include/stdint.h" 3 4 +typedef unsigned char uint_fast8_t; + +typedef unsigned long int uint_fast16_t; +typedef unsigned long int uint_fast32_t; +typedef unsigned long int uint_fast64_t; +# 76 "/usr/include/stdint.h" 3 4 +typedef long int intptr_t; + + +typedef unsigned long int uintptr_t; +# 90 "/usr/include/stdint.h" 3 4 +typedef __intmax_t intmax_t; +typedef __uintmax_t uintmax_t; +# 10 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 2 3 4 +# 4 "include/io.h" 2 +# 1 "/usr/include/stdio.h" 1 3 4 +# 28 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 29 "/usr/include/stdio.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 214 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 +typedef long unsigned int size_t; +# 35 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdarg.h" 1 3 4 +# 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdarg.h" 3 4 +typedef __builtin_va_list __gnuc_va_list; +# 38 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/include/bits/types/__fpos_t.h" 1 3 4 + + + + +# 1 "/usr/include/bits/types/__mbstate_t.h" 1 3 4 +# 13 "/usr/include/bits/types/__mbstate_t.h" 3 4 +typedef struct +{ + int __count; + union + { + unsigned int __wch; + char __wchb[4]; + } __value; +} __mbstate_t; +# 6 "/usr/include/bits/types/__fpos_t.h" 2 3 4 + + + + +typedef struct _G_fpos_t +{ + __off_t __pos; + __mbstate_t __state; +} __fpos_t; +# 41 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/__fpos64_t.h" 1 3 4 +# 10 "/usr/include/bits/types/__fpos64_t.h" 3 4 +typedef struct _G_fpos64_t +{ + __off64_t __pos; + __mbstate_t __state; +} __fpos64_t; +# 42 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/__FILE.h" 1 3 4 + + + +struct _IO_FILE; +typedef struct _IO_FILE __FILE; +# 43 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/FILE.h" 1 3 4 + + + +struct _IO_FILE; + + +typedef struct _IO_FILE FILE; +# 44 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/struct_FILE.h" 1 3 4 +# 35 "/usr/include/bits/types/struct_FILE.h" 3 4 +struct _IO_FILE; +struct _IO_marker; +struct _IO_codecvt; +struct _IO_wide_data; + + + + +typedef void _IO_lock_t; + + + + + +struct _IO_FILE +{ + int _flags; + + + char *_IO_read_ptr; + char *_IO_read_end; + char *_IO_read_base; + char *_IO_write_base; + char *_IO_write_ptr; + char *_IO_write_end; + char *_IO_buf_base; + char *_IO_buf_end; + + + char *_IO_save_base; + char *_IO_backup_base; + char *_IO_save_end; + + struct _IO_marker *_markers; + + struct _IO_FILE *_chain; + + int _fileno; + int _flags2; + __off_t _old_offset; + + + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + + _IO_lock_t *_lock; + + + + + + + + __off64_t _offset; + + struct _IO_codecvt *_codecvt; + struct _IO_wide_data *_wide_data; + struct _IO_FILE *_freeres_list; + void *_freeres_buf; + size_t __pad5; + int _mode; + + char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; +}; +# 45 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/include/bits/types/cookie_io_functions_t.h" 1 3 4 +# 27 "/usr/include/bits/types/cookie_io_functions_t.h" 3 4 +typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf, + size_t __nbytes); + + + + + + + +typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf, + size_t __nbytes); + + + + + + + +typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w); + + +typedef int cookie_close_function_t (void *__cookie); + + + + + + +typedef struct _IO_cookie_io_functions_t +{ + cookie_read_function_t *read; + cookie_write_function_t *write; + cookie_seek_function_t *seek; + cookie_close_function_t *close; +} cookie_io_functions_t; +# 48 "/usr/include/stdio.h" 2 3 4 + + + + + +typedef __gnuc_va_list va_list; +# 64 "/usr/include/stdio.h" 3 4 +typedef __off_t off_t; +# 78 "/usr/include/stdio.h" 3 4 +typedef __ssize_t ssize_t; + + + + + + +typedef __fpos_t fpos_t; +# 129 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/stdio_lim.h" 1 3 4 +# 130 "/usr/include/stdio.h" 2 3 4 +# 149 "/usr/include/stdio.h" 3 4 +extern FILE *stdin; +extern FILE *stdout; +extern FILE *stderr; + + + + + + +extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); + +extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int renameat (int __oldfd, const char *__old, int __newfd, + const char *__new) __attribute__ ((__nothrow__ , __leaf__)); +# 184 "/usr/include/stdio.h" 3 4 +extern int fclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 194 "/usr/include/stdio.h" 3 4 +extern FILE *tmpfile (void) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); +# 211 "/usr/include/stdio.h" 3 4 +extern char *tmpnam (char[20]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + +extern char *tmpnam_r (char __s[20]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +# 228 "/usr/include/stdio.h" 3 4 +extern char *tempnam (const char *__dir, const char *__pfx) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__malloc__ (__builtin_free, 1))); + + + + + + +extern int fflush (FILE *__stream); +# 245 "/usr/include/stdio.h" 3 4 +extern int fflush_unlocked (FILE *__stream); +# 264 "/usr/include/stdio.h" 3 4 +extern FILE *fopen (const char *__restrict __filename, + const char *__restrict __modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *freopen (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (3))); +# 299 "/usr/include/stdio.h" 3 4 +extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + + +extern FILE *fopencookie (void *__restrict __magic_cookie, + const char *__restrict __modes, + cookie_io_functions_t __io_funcs) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); +# 334 "/usr/include/stdio.h" 3 4 +extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__nonnull__ (1))); + + + +extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, + size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int fprintf (FILE *__restrict __stream, + const char *__restrict __format, ...) __attribute__ ((__nonnull__ (1))); + + + + +extern int printf (const char *__restrict __format, ...); + +extern int sprintf (char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__)); + + + + + +extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nonnull__ (1))); + + + + +extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); + +extern int vsprintf (char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nothrow__)); + + + +extern int snprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); + +extern int vsnprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); + + + + + +extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, + __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__)); +extern int __asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); +extern int asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); + + + + +extern int vdprintf (int __fd, const char *__restrict __fmt, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 2, 0))); +extern int dprintf (int __fd, const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); + + + + + + + +extern int fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); + +extern int sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +# 1 "/usr/include/bits/floatn.h" 1 3 4 +# 119 "/usr/include/bits/floatn.h" 3 4 +# 1 "/usr/include/bits/floatn-common.h" 1 3 4 +# 24 "/usr/include/bits/floatn-common.h" 3 4 +# 1 "/usr/include/bits/long-double.h" 1 3 4 +# 25 "/usr/include/bits/floatn-common.h" 2 3 4 +# 120 "/usr/include/bits/floatn.h" 2 3 4 +# 438 "/usr/include/stdio.h" 2 3 4 +# 463 "/usr/include/stdio.h" 3 4 +extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") + + __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") + __attribute__ ((__warn_unused_result__)); +extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__)) + + ; +# 490 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); + + +extern int vsscanf (const char *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); +# 540 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") + + + + __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") + + __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); +extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__format__ (__scanf__, 2, 0))); +# 575 "/usr/include/stdio.h" 3 4 +extern int fgetc (FILE *__stream) __attribute__ ((__nonnull__ (1))); +extern int getc (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + + + + +extern int getchar (void); + + + + + + +extern int getc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); +extern int getchar_unlocked (void); +# 600 "/usr/include/stdio.h" 3 4 +extern int fgetc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 611 "/usr/include/stdio.h" 3 4 +extern int fputc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); +extern int putc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + +extern int putchar (int __c); +# 627 "/usr/include/stdio.h" 3 4 +extern int fputc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + + +extern int putc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); +extern int putchar_unlocked (int __c); + + + + + + +extern int getw (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + +extern int putw (int __w, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + + +extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1))) __attribute__ ((__nonnull__ (3))); +# 694 "/usr/include/stdio.h" 3 4 +extern __ssize_t __getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))); +extern __ssize_t getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))); + + + + + + + +extern __ssize_t getline (char **__restrict __lineptr, + size_t *__restrict __n, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (3))); + + + + + + + +extern int fputs (const char *__restrict __s, FILE *__restrict __stream) + __attribute__ ((__nonnull__ (2))); + + + + + +extern int puts (const char *__s); + + + + + + +extern int ungetc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + +extern size_t fread (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__nonnull__ (4))); + + + + +extern size_t fwrite (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __s) __attribute__ ((__nonnull__ (4))); +# 766 "/usr/include/stdio.h" 3 4 +extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__nonnull__ (4))); +extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) + __attribute__ ((__nonnull__ (4))); + + + + + + + +extern int fseek (FILE *__stream, long int __off, int __whence) + __attribute__ ((__nonnull__ (1))); + + + + +extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern void rewind (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 803 "/usr/include/stdio.h" 3 4 +extern int fseeko (FILE *__stream, __off_t __off, int __whence) + __attribute__ ((__nonnull__ (1))); + + + + +extern __off_t ftello (FILE *__stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +# 829 "/usr/include/stdio.h" 3 4 +extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) + __attribute__ ((__nonnull__ (1))); + + + + +extern int fsetpos (FILE *__stream, const fpos_t *__pos) __attribute__ ((__nonnull__ (1))); +# 860 "/usr/include/stdio.h" 3 4 +extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + +extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + +extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern void perror (const char *__s) __attribute__ ((__cold__)); + + + + +extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +# 897 "/usr/include/stdio.h" 3 4 +extern int pclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + + + + +extern FILE *popen (const char *__command, const char *__modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + + + +extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))); +# 941 "/usr/include/stdio.h" 3 4 +extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + +extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 959 "/usr/include/stdio.h" 3 4 +extern int __uflow (FILE *); +extern int __overflow (FILE *, int); + + + +# 1 "/usr/include/bits/stdio2-decl.h" 1 3 4 +# 26 "/usr/include/bits/stdio2-decl.h" 3 4 +extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))); +extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + ...) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 2))); +extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 2))); + + + + + +extern int __fprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, ...) + __attribute__ ((__nonnull__ (1))); +extern int __printf_chk (int __flag, const char *__restrict __format, ...); +extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nonnull__ (1))); +extern int __vprintf_chk (int __flag, const char *__restrict __format, + __gnuc_va_list __ap); + + +extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt, + ...) __attribute__ ((__format__ (__printf__, 3, 4))); +extern int __vdprintf_chk (int __fd, int __flag, + const char *__restrict __fmt, __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 3, 0))); +# 96 "/usr/include/bits/stdio2-decl.h" 3 4 +extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets") + + + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2))); +extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk") + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer"))) + ; + +extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, + FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__nonnull__ (4))); + +extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread") + + + __attribute__ ((__warn_unused_result__)); +extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk") + + + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer"))) + ; + +extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (5))); +# 145 "/usr/include/bits/stdio2-decl.h" 3 4 +extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked") + + + __attribute__ ((__warn_unused_result__)); +extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk") + + + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer"))) + ; + +extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (5))); +# 965 "/usr/include/stdio.h" 2 3 4 +# 976 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/stdio.h" 1 3 4 +# 46 "/usr/include/bits/stdio.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +getchar (void) +{ + return getc (stdin); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +fgetc_unlocked (FILE *__fp) +{ + return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +} + + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +getc_unlocked (FILE *__fp) +{ + return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +getchar_unlocked (void) +{ + return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +putchar (int __c) +{ + return putc (__c, stdout); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +fputc_unlocked (int __c, FILE *__stream) +{ + return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); +} + + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +putc_unlocked (int __c, FILE *__stream) +{ + return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +putchar_unlocked (int __c) +{ + return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); +} +# 127 "/usr/include/bits/stdio.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) feof_unlocked (FILE *__stream) +{ + return (((__stream)->_flags & 0x0010) != 0); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) ferror_unlocked (FILE *__stream) +{ + return (((__stream)->_flags & 0x0020) != 0); +} +# 977 "/usr/include/stdio.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdio2.h" 1 3 4 +# 27 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) +{ + return __builtin___sprintf_chk (__s, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, + __builtin_va_arg_pack ()); +} + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) + +{ + return __builtin___vsprintf_chk (__s, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, __ap); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) + +{ + return __builtin___snprintf_chk (__s, __n, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, + __builtin_va_arg_pack ()); +} + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) + +{ + return __builtin___vsnprintf_chk (__s, __n, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, __ap); +} + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) int +fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...) +{ + return __fprintf_chk (__stream, 3 - 1, __fmt, + __builtin_va_arg_pack ()); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +printf (const char *__restrict __fmt, ...) +{ + return __printf_chk (3 - 1, __fmt, __builtin_va_arg_pack ()); +} + + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +vprintf (const char *__restrict __fmt, __gnuc_va_list __ap) +{ + + return __vfprintf_chk (stdout, 3 - 1, __fmt, __ap); + + + +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) int +vfprintf (FILE *__restrict __stream, + const char *__restrict __fmt, __gnuc_va_list __ap) +{ + return __vfprintf_chk (__stream, 3 - 1, __fmt, __ap); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +dprintf (int __fd, const char *__restrict __fmt, ...) +{ + return __dprintf_chk (__fd, 3 - 1, __fmt, + __builtin_va_arg_pack ()); +} + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap) +{ + return __vdprintf_chk (__fd, 3 - 1, __fmt, __ap); +} +# 194 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1))) +__attribute__ ((__nonnull__ (3))) char * +fgets (char *__restrict __s, int __n, FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__s, 1); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))) && (((long unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))))) + return __fgets_alias (__s, __n, __stream); + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (sizeof (char)))) && !(((long unsigned int) (__n)) <= (sz) / (sizeof (char))))) + return __fgets_chk_warn (__s, sz, __n, __stream); + return __fgets_chk (__s, sz, __n, __stream); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))) size_t +fread (void *__restrict __ptr, size_t __size, size_t __n, + FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__ptr, 0); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((long unsigned int) (__n)) <= ((sz)) / ((__size)))))) + return __fread_alias (__ptr, __size, __n, __stream); + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (__size))) && !(((long unsigned int) (__n)) <= (sz) / (__size)))) + return __fread_chk_warn (__ptr, sz, __size, __n, __stream); + return __fread_chk (__ptr, sz, __size, __n, __stream); +} +# 234 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))) size_t +fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, + FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__ptr, 0); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((long unsigned int) (__n)) <= ((sz)) / ((__size)))))) + { + + if (__builtin_constant_p (__size) + && __builtin_constant_p (__n) + && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2)) + && __size * __n <= 8) + { + size_t __cnt = __size * __n; + char *__cptr = (char *) __ptr; + if (__cnt == 0) + return 0; + + for (; __cnt > 0; --__cnt) + { + int __c = getc_unlocked (__stream); + if (__c == (-1)) + break; + *__cptr++ = __c; + } + return (__cptr - (char *) __ptr) / __size; + } + + return __fread_unlocked_alias (__ptr, __size, __n, __stream); + } + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (__size))) && !(((long unsigned int) (__n)) <= (sz) / (__size)))) + return __fread_unlocked_chk_warn (__ptr, sz, __size, __n, __stream); + return __fread_unlocked_chk (__ptr, sz, __size, __n, __stream); + +} +# 981 "/usr/include/stdio.h" 2 3 4 + + + +# 5 "include/io.h" 2 + + +# 6 "include/io.h" +typedef FILE* fptr_t; + +typedef struct +{ + fptr_t ptr; + uint8_t* buffer; + const char* path; + size_t size; +} *memstream_t; + +__attribute__((warn_unused_result, nonnull)) +fptr_t io_open_file (const char* filename, const char* mode); + +__attribute__((warn_unused_result, nonnull)) +uint8_t* io_alloc_file_buffer (fptr_t file); + +__attribute__((nonnull (1, 2))) +size_t io_read_file_into_buffer (fptr_t file, uint8_t* const buffer, uint64_t buffer_size); + +__attribute__((nonnull (1), warn_unused_result)) +memstream_t io_read_file_into_memstream (fptr_t file, const char* const path); + +__attribute__((nonnull)) +void io_free_memstream (memstream_t stream); + +__attribute__((nonnull)) +void io_close_file (fptr_t file); +# 4 "include/ansi-colors.h" 2 +# 34 "include/ansi-colors.h" +void cprintf (const char* ccode, const char* fmt, ...); + +__attribute__((nonnull (1))) +void cfprintf (fptr_t file, const char* ccode, const char* fmt, ...); +# 4 "include/generic.h" 2 + +# 1 "/usr/include/errno.h" 1 3 4 +# 28 "/usr/include/errno.h" 3 4 +# 1 "/usr/include/bits/errno.h" 1 3 4 +# 26 "/usr/include/bits/errno.h" 3 4 +# 1 "/usr/include/linux/errno.h" 1 3 4 +# 1 "/usr/include/asm/errno.h" 1 3 4 +# 1 "/usr/include/asm-generic/errno.h" 1 3 4 + + + + +# 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 +# 6 "/usr/include/asm-generic/errno.h" 2 3 4 +# 2 "/usr/include/asm/errno.h" 2 3 4 +# 2 "/usr/include/linux/errno.h" 2 3 4 +# 27 "/usr/include/bits/errno.h" 2 3 4 +# 29 "/usr/include/errno.h" 2 3 4 + + + + + + + + + +# 37 "/usr/include/errno.h" 3 4 +extern int *__errno_location (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +# 52 "/usr/include/errno.h" 3 4 + +# 6 "include/generic.h" 2 +# 1 "/usr/include/stdlib.h" 1 3 4 +# 26 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/stdlib.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 329 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 +typedef int wchar_t; +# 33 "/usr/include/stdlib.h" 2 3 4 + + + + + + + +# 1 "/usr/include/bits/waitflags.h" 1 3 4 +# 41 "/usr/include/stdlib.h" 2 3 4 +# 1 "/usr/include/bits/waitstatus.h" 1 3 4 +# 42 "/usr/include/stdlib.h" 2 3 4 +# 59 "/usr/include/stdlib.h" 3 4 +typedef struct + { + int quot; + int rem; + } div_t; + + + +typedef struct + { + long int quot; + long int rem; + } ldiv_t; + + + + + +__extension__ typedef struct + { + long long int quot; + long long int rem; + } lldiv_t; +# 98 "/usr/include/stdlib.h" 3 4 +extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + +extern double atof (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + +extern int atoi (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + +extern long int atol (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + +__extension__ extern long long int atoll (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + +extern double strtod (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern float strtof (const char *__restrict __nptr, + char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern long double strtold (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 177 "/usr/include/stdlib.h" 3 4 +extern long int strtol (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern unsigned long int strtoul (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +__extension__ +extern long long int strtoq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtouq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +__extension__ +extern long long int strtoll (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtoull (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 480 "/usr/include/stdlib.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) atoi (const char *__nptr) +{ + return (int) strtol (__nptr, (char **) ((void *)0), 10); +} +extern __inline __attribute__ ((__gnu_inline__)) long int +__attribute__ ((__nothrow__ , __leaf__)) atol (const char *__nptr) +{ + return strtol (__nptr, (char **) ((void *)0), 10); +} + + +__extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int +__attribute__ ((__nothrow__ , __leaf__)) atoll (const char *__nptr) +{ + return strtoll (__nptr, (char **) ((void *)0), 10); +} +# 505 "/usr/include/stdlib.h" 3 4 +extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + +extern long int a64l (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + + +# 1 "/usr/include/sys/types.h" 1 3 4 +# 27 "/usr/include/sys/types.h" 3 4 + + + + + + +typedef __u_char u_char; +typedef __u_short u_short; +typedef __u_int u_int; +typedef __u_long u_long; +typedef __quad_t quad_t; +typedef __u_quad_t u_quad_t; +typedef __fsid_t fsid_t; + + +typedef __loff_t loff_t; + + + + +typedef __ino_t ino_t; +# 59 "/usr/include/sys/types.h" 3 4 +typedef __dev_t dev_t; + + + + +typedef __gid_t gid_t; + + + + +typedef __mode_t mode_t; + + + + +typedef __nlink_t nlink_t; + + + + +typedef __uid_t uid_t; +# 97 "/usr/include/sys/types.h" 3 4 +typedef __pid_t pid_t; + + + + + +typedef __id_t id_t; +# 114 "/usr/include/sys/types.h" 3 4 +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; + + + + + +typedef __key_t key_t; + + + + +# 1 "/usr/include/bits/types/clock_t.h" 1 3 4 + + + + + + +typedef __clock_t clock_t; +# 127 "/usr/include/sys/types.h" 2 3 4 + +# 1 "/usr/include/bits/types/clockid_t.h" 1 3 4 + + + + + + +typedef __clockid_t clockid_t; +# 129 "/usr/include/sys/types.h" 2 3 4 +# 1 "/usr/include/bits/types/time_t.h" 1 3 4 +# 10 "/usr/include/bits/types/time_t.h" 3 4 +typedef __time_t time_t; +# 130 "/usr/include/sys/types.h" 2 3 4 +# 1 "/usr/include/bits/types/timer_t.h" 1 3 4 + + + + + + +typedef __timer_t timer_t; +# 131 "/usr/include/sys/types.h" 2 3 4 +# 144 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 145 "/usr/include/sys/types.h" 2 3 4 + + + +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; + + + + + + + +typedef __uint8_t u_int8_t; +typedef __uint16_t u_int16_t; +typedef __uint32_t u_int32_t; +typedef __uint64_t u_int64_t; + + +typedef int register_t __attribute__ ((__mode__ (__word__))); +# 176 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/include/endian.h" 1 3 4 +# 24 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/bits/endian.h" 1 3 4 +# 35 "/usr/include/bits/endian.h" 3 4 +# 1 "/usr/include/bits/endianness.h" 1 3 4 +# 36 "/usr/include/bits/endian.h" 2 3 4 +# 25 "/usr/include/endian.h" 2 3 4 +# 35 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/bits/byteswap.h" 1 3 4 +# 33 "/usr/include/bits/byteswap.h" 3 4 +static __inline __uint16_t +__bswap_16 (__uint16_t __bsx) +{ + + return __builtin_bswap16 (__bsx); + + + +} + + + + + + +static __inline __uint32_t +__bswap_32 (__uint32_t __bsx) +{ + + return __builtin_bswap32 (__bsx); + + + +} +# 69 "/usr/include/bits/byteswap.h" 3 4 +__extension__ static __inline __uint64_t +__bswap_64 (__uint64_t __bsx) +{ + + return __builtin_bswap64 (__bsx); + + + +} +# 36 "/usr/include/endian.h" 2 3 4 +# 1 "/usr/include/bits/uintn-identity.h" 1 3 4 +# 32 "/usr/include/bits/uintn-identity.h" 3 4 +static __inline __uint16_t +__uint16_identity (__uint16_t __x) +{ + return __x; +} + +static __inline __uint32_t +__uint32_identity (__uint32_t __x) +{ + return __x; +} + +static __inline __uint64_t +__uint64_identity (__uint64_t __x) +{ + return __x; +} +# 37 "/usr/include/endian.h" 2 3 4 +# 177 "/usr/include/sys/types.h" 2 3 4 + + +# 1 "/usr/include/sys/select.h" 1 3 4 +# 30 "/usr/include/sys/select.h" 3 4 +# 1 "/usr/include/bits/select.h" 1 3 4 +# 31 "/usr/include/sys/select.h" 2 3 4 + + +# 1 "/usr/include/bits/types/sigset_t.h" 1 3 4 + + + +# 1 "/usr/include/bits/types/__sigset_t.h" 1 3 4 + + + + +typedef struct +{ + unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; +} __sigset_t; +# 5 "/usr/include/bits/types/sigset_t.h" 2 3 4 + + +typedef __sigset_t sigset_t; +# 34 "/usr/include/sys/select.h" 2 3 4 + + + +# 1 "/usr/include/bits/types/struct_timeval.h" 1 3 4 + + + + + + + +struct timeval +{ + + + + + __time_t tv_sec; + __suseconds_t tv_usec; + +}; +# 38 "/usr/include/sys/select.h" 2 3 4 + +# 1 "/usr/include/bits/types/struct_timespec.h" 1 3 4 +# 11 "/usr/include/bits/types/struct_timespec.h" 3 4 +struct timespec +{ + + + + __time_t tv_sec; + + + + + __syscall_slong_t tv_nsec; +# 31 "/usr/include/bits/types/struct_timespec.h" 3 4 +}; +# 40 "/usr/include/sys/select.h" 2 3 4 + + + +typedef __suseconds_t suseconds_t; + + + + + +typedef long int __fd_mask; +# 59 "/usr/include/sys/select.h" 3 4 +typedef struct + { + + + + + + + __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; + + + } fd_set; + + + + + + +typedef __fd_mask fd_mask; +# 91 "/usr/include/sys/select.h" 3 4 + +# 102 "/usr/include/sys/select.h" 3 4 +extern int select (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout); +# 127 "/usr/include/sys/select.h" 3 4 +extern int pselect (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + const struct timespec *__restrict __timeout, + const __sigset_t *__restrict __sigmask); +# 150 "/usr/include/sys/select.h" 3 4 +# 1 "/usr/include/bits/select2.h" 1 3 4 +# 23 "/usr/include/bits/select2.h" 3 4 +# 1 "/usr/include/bits/select-decl.h" 1 3 4 +# 27 "/usr/include/bits/select-decl.h" 3 4 +extern long int __fdelt_chk (long int __d); +extern long int __fdelt_warn (long int __d) + __attribute__((__warning__ ("bit outside of fd_set selected"))); +# 24 "/usr/include/bits/select2.h" 2 3 4 +# 151 "/usr/include/sys/select.h" 2 3 4 + + + +# 180 "/usr/include/sys/types.h" 2 3 4 + + + + + +typedef __blksize_t blksize_t; + + + + + + +typedef __blkcnt_t blkcnt_t; + + + +typedef __fsblkcnt_t fsblkcnt_t; + + + +typedef __fsfilcnt_t fsfilcnt_t; +# 227 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 +# 23 "/usr/include/bits/pthreadtypes.h" 3 4 +# 1 "/usr/include/bits/thread-shared-types.h" 1 3 4 +# 44 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/pthreadtypes-arch.h" 1 3 4 +# 21 "/usr/include/bits/pthreadtypes-arch.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 22 "/usr/include/bits/pthreadtypes-arch.h" 2 3 4 +# 45 "/usr/include/bits/thread-shared-types.h" 2 3 4 + +# 1 "/usr/include/bits/atomic_wide_counter.h" 1 3 4 +# 25 "/usr/include/bits/atomic_wide_counter.h" 3 4 +typedef union +{ + __extension__ unsigned long long int __value64; + struct + { + unsigned int __low; + unsigned int __high; + } __value32; +} __atomic_wide_counter; +# 47 "/usr/include/bits/thread-shared-types.h" 2 3 4 + + + + +typedef struct __pthread_internal_list +{ + struct __pthread_internal_list *__prev; + struct __pthread_internal_list *__next; +} __pthread_list_t; + +typedef struct __pthread_internal_slist +{ + struct __pthread_internal_slist *__next; +} __pthread_slist_t; +# 76 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/struct_mutex.h" 1 3 4 +# 22 "/usr/include/bits/struct_mutex.h" 3 4 +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; + + unsigned int __nusers; + + + + int __kind; + + short __spins; + short __elision; + __pthread_list_t __list; +# 53 "/usr/include/bits/struct_mutex.h" 3 4 +}; +# 77 "/usr/include/bits/thread-shared-types.h" 2 3 4 +# 89 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/struct_rwlock.h" 1 3 4 +# 23 "/usr/include/bits/struct_rwlock.h" 3 4 +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; + + int __cur_writer; + int __shared; + signed char __rwelision; + + + + + unsigned char __pad1[7]; + + + unsigned long int __pad2; + + + unsigned int __flags; +# 55 "/usr/include/bits/struct_rwlock.h" 3 4 +}; +# 90 "/usr/include/bits/thread-shared-types.h" 2 3 4 + + + + +struct __pthread_cond_s +{ + __atomic_wide_counter __wseq; + __atomic_wide_counter __g1_start; + unsigned int __g_refs[2] ; + unsigned int __g_size[2]; + unsigned int __g1_orig_size; + unsigned int __wrefs; + unsigned int __g_signals[2]; +}; + +typedef unsigned int __tss_t; +typedef unsigned long int __thrd_t; + +typedef struct +{ + int __data ; +} __once_flag; +# 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 + + + +typedef unsigned long int pthread_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_mutexattr_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_condattr_t; + + + +typedef unsigned int pthread_key_t; + + + +typedef int pthread_once_t; + + +union pthread_attr_t +{ + char __size[56]; + long int __align; +}; + +typedef union pthread_attr_t pthread_attr_t; + + + + +typedef union +{ + struct __pthread_mutex_s __data; + char __size[40]; + long int __align; +} pthread_mutex_t; + + +typedef union +{ + struct __pthread_cond_s __data; + char __size[48]; + __extension__ long long int __align; +} pthread_cond_t; + + + + + +typedef union +{ + struct __pthread_rwlock_arch_t __data; + char __size[56]; + long int __align; +} pthread_rwlock_t; + +typedef union +{ + char __size[8]; + long int __align; +} pthread_rwlockattr_t; + + + + + +typedef volatile int pthread_spinlock_t; + + + + +typedef union +{ + char __size[32]; + long int __align; +} pthread_barrier_t; + +typedef union +{ + char __size[4]; + int __align; +} pthread_barrierattr_t; +# 228 "/usr/include/sys/types.h" 2 3 4 + + + +# 515 "/usr/include/stdlib.h" 2 3 4 + + + + + + +extern long int random (void) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +extern char *initstate (unsigned int __seed, char *__statebuf, + size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +struct random_data + { + int32_t *fptr; + int32_t *rptr; + int32_t *state; + int rand_type; + int rand_deg; + int rand_sep; + int32_t *end_ptr; + }; + +extern int random_r (struct random_data *__restrict __buf, + int32_t *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int srandom_r (unsigned int __seed, struct random_data *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, + size_t __statelen, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); + +extern int setstate_r (char *__restrict __statebuf, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern int rand (void) __attribute__ ((__nothrow__ , __leaf__)); + +extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int nrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int jrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__)); +extern unsigned short int *seed48 (unsigned short int __seed16v[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +struct drand48_data + { + unsigned short int __x[3]; + unsigned short int __old_x[3]; + unsigned short int __c; + unsigned short int __init; + __extension__ unsigned long long int __a; + + }; + + +extern int drand48_r (struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int erand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int lrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int nrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int mrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int jrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int srand48_r (long int __seedval, struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int seed48_r (unsigned short int __seed16v[3], + struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int lcong48_r (unsigned short int __param[7], + struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern __uint32_t arc4random (void) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + +extern void arc4random_buf (void *__buf, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern __uint32_t arc4random_uniform (__uint32_t __upper_bound) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + +extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__)); + +extern void *calloc (size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) __attribute__ ((__warn_unused_result__)); + + + + + + +extern void *realloc (void *__ptr, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); + + +extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__alloc_size__ (2, 3))) + __attribute__ ((__malloc__ (__builtin_free, 1))); + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__ (reallocarray, 1))); + + + +# 1 "/usr/include/alloca.h" 1 3 4 +# 24 "/usr/include/alloca.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 25 "/usr/include/alloca.h" 2 3 4 + + + + + + + +extern void *alloca (size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + +# 707 "/usr/include/stdlib.h" 2 3 4 + + + + + +extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__)); + + + + +extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + + +extern void *aligned_alloc (size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) + __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__)); + + + +extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + +extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void quick_exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + +extern char *getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 786 "/usr/include/stdlib.h" 3 4 +extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int setenv (const char *__name, const char *__value, int __replace) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + +extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int clearenv (void) __attribute__ ((__nothrow__ , __leaf__)); +# 814 "/usr/include/stdlib.h" 3 4 +extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 827 "/usr/include/stdlib.h" 3 4 +extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 849 "/usr/include/stdlib.h" 3 4 +extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 870 "/usr/include/stdlib.h" 3 4 +extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 923 "/usr/include/stdlib.h" 3 4 +extern int system (const char *__command) __attribute__ ((__warn_unused_result__)); +# 940 "/usr/include/stdlib.h" 3 4 +extern char *realpath (const char *__restrict __name, + char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + + + +typedef int (*__compar_fn_t) (const void *, const void *); +# 960 "/usr/include/stdlib.h" 3 4 +extern void *bsearch (const void *__key, const void *__base, + size_t __nmemb, size_t __size, __compar_fn_t __compar) + __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__)); + + +# 1 "/usr/include/bits/stdlib-bsearch.h" 1 3 4 +# 19 "/usr/include/bits/stdlib-bsearch.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) void * +bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) +{ + size_t __l, __u, __idx; + const void *__p; + int __comparison; + + __l = 0; + __u = __nmemb; + while (__l < __u) + { + __idx = (__l + __u) / 2; + __p = (const void *) (((const char *) __base) + (__idx * __size)); + __comparison = (*__compar) (__key, __p); + if (__comparison < 0) + __u = __idx; + else if (__comparison > 0) + __l = __idx + 1; + else + { + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wcast-qual" + + return (void *) __p; + +#pragma GCC diagnostic pop + + } + } + + return ((void *)0); +} +# 966 "/usr/include/stdlib.h" 2 3 4 + + + + +extern void qsort (void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); +# 980 "/usr/include/stdlib.h" 3 4 +extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); +extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); + + +__extension__ extern long long int llabs (long long int __x) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); + + + + + + +extern div_t div (int __numer, int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); +extern ldiv_t ldiv (long int __numer, long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); + + +__extension__ extern lldiv_t lldiv (long long int __numer, + long long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); +# 1012 "/usr/include/stdlib.h" 3 4 +extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); + + + + +extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); + + + + +extern char *gcvt (double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); + + + + +extern char *qecvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); +extern char *qfcvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); +extern char *qgcvt (long double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); + + + + +extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + +extern int qecvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int qfcvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + + + + + +extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int mbtowc (wchar_t *__restrict __pwc, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern size_t mbstowcs (wchar_t *__restrict __pwcs, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__read_only__, 2))); + +extern size_t wcstombs (char *__restrict __s, + const wchar_t *__restrict __pwcs, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))) + __attribute__ ((__access__ (__read_only__, 2))); + + + + + + +extern int rpmatch (const char *__response) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 1099 "/usr/include/stdlib.h" 3 4 +extern int getsubopt (char **__restrict __optionp, + char *const *__restrict __tokens, + char **__restrict __valuep) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__)); +# 1145 "/usr/include/stdlib.h" 3 4 +extern int getloadavg (double __loadavg[], int __nelem) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 1155 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/bits/stdlib-float.h" 1 3 4 +# 24 "/usr/include/bits/stdlib-float.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) double +__attribute__ ((__nothrow__ , __leaf__)) atof (const char *__nptr) +{ + return strtod (__nptr, (char **) ((void *)0)); +} +# 1156 "/usr/include/stdlib.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdlib.h" 1 3 4 +# 23 "/usr/include/bits/stdlib.h" 3 4 +extern char *__realpath_chk (const char *__restrict __name, + char *__restrict __resolved, + size_t __resolvedlen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +extern char *__realpath_alias (const char *__restrict __name, char *__restrict __resolved) __asm__ ("" "realpath") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__warn_unused_result__)); +extern char *__realpath_chk_warn (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) __asm__ ("" "__realpath_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + __attribute__ ((__warn_unused_result__)) + __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer"))) + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * +__attribute__ ((__nothrow__ , __leaf__)) realpath (const char *__restrict __name, char *__restrict __resolved) +{ + size_t sz = __builtin_dynamic_object_size (__resolved, 1); + + if (sz == (size_t) -1) + return __realpath_alias (__name, __resolved); + + + + + + return __realpath_chk (__name, __resolved, sz); +} + + +extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen, + size_t __nreal) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) + __attribute__ ((__access__ (__write_only__, 2, 3))); +extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) __asm__ ("" "ptsname_r") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3))); +extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__ptsname_r_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf"))) + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) ptsname_r (int __fd, char *__buf, size_t __buflen) +{ + return (((__builtin_constant_p (__builtin_dynamic_object_size (__buf, 1)) && (__builtin_dynamic_object_size (__buf, 1)) == (long unsigned int) -1) || (((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((long unsigned int) (__buflen)) <= ((__builtin_dynamic_object_size (__buf, 1))) / ((sizeof (char))))) && (((long unsigned int) (__buflen)) <= ((__builtin_dynamic_object_size (__buf, 1))) / ((sizeof (char)))))) ? __ptsname_r_alias (__fd, __buf, __buflen) : ((((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((long unsigned int) (__buflen)) <= (__builtin_dynamic_object_size (__buf, 1)) / (sizeof (char)))) && !(((long unsigned int) (__buflen)) <= (__builtin_dynamic_object_size (__buf, 1)) / (sizeof (char)))) ? __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_dynamic_object_size (__buf, 1)) : __ptsname_r_chk (__fd, __buf, __buflen, __builtin_dynamic_object_size (__buf, 1)))) + + ; +} + + +extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +extern int __wctomb_alias (char *__s, wchar_t __wchar) __asm__ ("" "wctomb") __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__warn_unused_result__)); + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int +__attribute__ ((__nothrow__ , __leaf__)) wctomb (char *__s, wchar_t __wchar) +{ + + + + + + + + if (__builtin_dynamic_object_size (__s, 1) != (size_t) -1 + && 16 > __builtin_dynamic_object_size (__s, 1)) + return __wctomb_chk (__s, __wchar, __builtin_dynamic_object_size (__s, 1)); + return __wctomb_alias (__s, __wchar); +} + + +extern size_t __mbstowcs_chk (wchar_t *__restrict __dst, + const char *__restrict __src, + size_t __len, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __mbstowcs_nulldst (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) __asm__ ("" "mbstowcs") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) __asm__ ("" "mbstowcs") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__mbstowcs_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) + +{ + if (__builtin_constant_p (__dst == ((void *)0)) && __dst == ((void *)0)) + return __mbstowcs_nulldst (__dst, __src, __len); + else + return (((__builtin_constant_p (__builtin_dynamic_object_size (__dst, 1)) && (__builtin_dynamic_object_size (__dst, 1)) == (long unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (wchar_t))))) && (((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (wchar_t)))))) ? __mbstowcs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t)))) && !(((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t)))) ? __mbstowcs_chk_warn (__dst, __src, __len, (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t))) : __mbstowcs_chk (__dst, __src, __len, (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t))))) + ; +} + +extern size_t __wcstombs_chk (char *__restrict __dst, + const wchar_t *__restrict __src, + size_t __len, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __wcstombs_alias (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) __asm__ ("" "wcstombs") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __wcstombs_chk_warn (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__wcstombs_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len"))); + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) + +{ + return (((__builtin_constant_p (__builtin_dynamic_object_size (__dst, 1)) && (__builtin_dynamic_object_size (__dst, 1)) == (long unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (char))))) && (((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (char)))))) ? __wcstombs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (char)))) && !(((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (char)))) ? __wcstombs_chk_warn (__dst, __src, __len, __builtin_dynamic_object_size (__dst, 1)) : __wcstombs_chk (__dst, __src, __len, __builtin_dynamic_object_size (__dst, 1)))) + + ; +} +# 1160 "/usr/include/stdlib.h" 2 3 4 + + + + + + + + +# 7 "include/generic.h" 2 + +# 1 "/usr/include/string.h" 1 3 4 +# 26 "/usr/include/string.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/string.h" 2 3 4 + + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 34 "/usr/include/string.h" 2 3 4 +# 43 "/usr/include/string.h" 3 4 +extern void *memcpy (void *__restrict __dest, const void *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void *memmove (void *__dest, const void *__src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern void *memccpy (void *__restrict __dest, const void *__restrict __src, + int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 4))); + + + + +extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern int memcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 80 "/usr/include/string.h" 3 4 +extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 107 "/usr/include/string.h" 3 4 +extern void *memchr (const void *__s, int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 141 "/usr/include/string.h" 3 4 +extern char *strcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern char *strcat (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncat (char *__restrict __dest, const char *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int strncmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcoll (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern size_t strxfrm (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +# 1 "/usr/include/bits/types/locale_t.h" 1 3 4 +# 22 "/usr/include/bits/types/locale_t.h" 3 4 +# 1 "/usr/include/bits/types/__locale_t.h" 1 3 4 +# 27 "/usr/include/bits/types/__locale_t.h" 3 4 +struct __locale_struct +{ + + struct __locale_data *__locales[13]; + + + const unsigned short int *__ctype_b; + const int *__ctype_tolower; + const int *__ctype_toupper; + + + const char *__names[13]; +}; + +typedef struct __locale_struct *__locale_t; +# 23 "/usr/include/bits/types/locale_t.h" 2 3 4 + +typedef __locale_t locale_t; +# 173 "/usr/include/string.h" 2 3 4 + + +extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + +extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, + locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + + + +extern char *strdup (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern char *strndup (const char *__string, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); +# 246 "/usr/include/string.h" 3 4 +extern char *strchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 273 "/usr/include/string.h" 3 4 +extern char *strrchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 286 "/usr/include/string.h" 3 4 +extern char *strchrnul (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern size_t strcspn (const char *__s, const char *__reject) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern size_t strspn (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 323 "/usr/include/string.h" 3 4 +extern char *strpbrk (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 350 "/usr/include/string.h" 3 4 +extern char *strstr (const char *__haystack, const char *__needle) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strtok (char *__restrict __s, const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *__strtok_r (char *__restrict __s, + const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); + +extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); +# 380 "/usr/include/string.h" 3 4 +extern char *strcasestr (const char *__haystack, const char *__needle) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + + +extern void *memmem (const void *__haystack, size_t __haystacklen, + const void *__needle, size_t __needlelen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))) + __attribute__ ((__access__ (__read_only__, 1, 2))) + __attribute__ ((__access__ (__read_only__, 3, 4))); + + + +extern void *__mempcpy (void *__restrict __dest, + const void *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern void *mempcpy (void *__restrict __dest, + const void *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern size_t strlen (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern size_t strnlen (const char *__string, size_t __maxlen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern char *strerror (int __errnum) __attribute__ ((__nothrow__ , __leaf__)); +# 432 "/usr/include/string.h" 3 4 +extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__nonnull__ (2))) + __attribute__ ((__access__ (__write_only__, 2, 3))); +# 458 "/usr/include/string.h" 3 4 +extern char *strerror_l (int __errnum, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); + + + +# 1 "/usr/include/strings.h" 1 3 4 +# 23 "/usr/include/strings.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 24 "/usr/include/strings.h" 2 3 4 + + + + + + + + + + +extern int bcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bcopy (const void *__src, void *__dest, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 68 "/usr/include/strings.h" 3 4 +extern char *index (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 96 "/usr/include/strings.h" 3 4 +extern char *rindex (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int ffs (int __i) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + + + +extern int ffsl (long int __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +__extension__ extern int ffsll (long long int __ll) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + +extern int strcasecmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + +extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + + +extern int strncasecmp_l (const char *__s1, const char *__s2, + size_t __n, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); + + + + + + + + +# 1 "/usr/include/bits/strings_fortified.h" 1 3 4 +# 22 "/usr/include/bits/strings_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void +__attribute__ ((__nothrow__ , __leaf__)) bcopy (const void *__src, void *__dest, size_t __len) +{ + (void) __builtin___memmove_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 0)); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void +__attribute__ ((__nothrow__ , __leaf__)) bzero (void *__dest, size_t __len) +{ + (void) __builtin___memset_chk (__dest, '\0', __len, + __builtin_dynamic_object_size (__dest, 0)); +} +# 145 "/usr/include/strings.h" 2 3 4 +# 463 "/usr/include/string.h" 2 3 4 + + + +extern void explicit_bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) + __attribute__ ((__access__ (__write_only__, 1))); + + + +extern char *strsep (char **__restrict __stringp, + const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__)); +# 489 "/usr/include/string.h" 3 4 +extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + +extern char *__stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern size_t strlcpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +extern size_t strlcat (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__read_write__, 1, 3))); +# 548 "/usr/include/string.h" 3 4 +# 1 "/usr/include/bits/string_fortified.h" 1 3 4 +# 25 "/usr/include/bits/string_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * +__attribute__ ((__nothrow__ , __leaf__)) memcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) + +{ + return __builtin___memcpy_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 0)); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * +__attribute__ ((__nothrow__ , __leaf__)) memmove (void *__dest, const void *__src, size_t __len) +{ + return __builtin___memmove_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 0)); +} +# 56 "/usr/include/bits/string_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * +__attribute__ ((__nothrow__ , __leaf__)) memset (void *__dest, int __ch, size_t __len) +{ + return __builtin___memset_chk (__dest, __ch, __len, + __builtin_dynamic_object_size (__dest, 0)); +} + + + + +void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1))); + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void +__attribute__ ((__nothrow__ , __leaf__)) explicit_bzero (void *__dest, size_t __len) +{ + __explicit_bzero_chk (__dest, __len, __builtin_dynamic_object_size (__dest, 0)); +} + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strcpy (char *__restrict __dest, const char *__restrict __src) +{ + return __builtin___strcpy_chk (__dest, __src, __builtin_dynamic_object_size (__dest, 1)); +} + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) stpcpy (char *__restrict __dest, const char *__restrict __src) +{ + return __builtin___stpcpy_chk (__dest, __src, __builtin_dynamic_object_size (__dest, 1)); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strncpy (char *__restrict __dest, const char *__restrict __src, size_t __len) + +{ + return __builtin___strncpy_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 1)); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) stpncpy (char *__dest, const char *__src, size_t __n) +{ + return __builtin___stpncpy_chk (__dest, __src, __n, + __builtin_dynamic_object_size (__dest, 1)); +} +# 127 "/usr/include/bits/string_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strcat (char *__restrict __dest, const char *__restrict __src) +{ + return __builtin___strcat_chk (__dest, __src, __builtin_dynamic_object_size (__dest, 1)); +} + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strncat (char *__restrict __dest, const char *__restrict __src, size_t __len) + +{ + return __builtin___strncat_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 1)); +} + + +extern size_t __strlcpy_chk (char *__dest, const char *__src, size_t __n, + size_t __destlen) __attribute__ ((__nothrow__ , __leaf__)); +extern size_t __strlcpy_alias (char *__dest, const char *__src, size_t __n) __asm__ ("" "strlcpy") __attribute__ ((__nothrow__ , __leaf__)) + + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) strlcpy (char *__restrict __dest, const char *__restrict __src, size_t __n) + +{ + if (__builtin_dynamic_object_size (__dest, 1) != (size_t) -1 + && (!__builtin_constant_p (__n > __builtin_dynamic_object_size (__dest, 1)) + || __n > __builtin_dynamic_object_size (__dest, 1))) + return __strlcpy_chk (__dest, __src, __n, __builtin_dynamic_object_size (__dest, 1)); + return __strlcpy_alias (__dest, __src, __n); +} + +extern size_t __strlcat_chk (char *__dest, const char *__src, size_t __n, + size_t __destlen) __attribute__ ((__nothrow__ , __leaf__)); +extern size_t __strlcat_alias (char *__dest, const char *__src, size_t __n) __asm__ ("" "strlcat") __attribute__ ((__nothrow__ , __leaf__)) + + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) strlcat (char *__restrict __dest, const char *__restrict __src, size_t __n) + +{ + if (__builtin_dynamic_object_size (__dest, 1) != (size_t) -1 + && (!__builtin_constant_p (__n > __builtin_dynamic_object_size (__dest, 1)) + || __n > __builtin_dynamic_object_size (__dest, 1))) + return __strlcat_chk (__dest, __src, __n, __builtin_dynamic_object_size (__dest, 1)); + return __strlcat_alias (__dest, __src, __n); +} +# 549 "/usr/include/string.h" 2 3 4 + + + + +# 9 "include/generic.h" 2 +# 1 "/usr/include/inttypes.h" 1 3 4 +# 34 "/usr/include/inttypes.h" 3 4 +typedef int __gwchar_t; +# 327 "/usr/include/inttypes.h" 3 4 + + + + + +typedef struct + { + long int quot; + long int rem; + } imaxdiv_t; +# 351 "/usr/include/inttypes.h" 3 4 +extern intmax_t imaxabs (intmax_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + +extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + +extern intmax_t strtoimax (const char *__restrict __nptr, + char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); + + +extern uintmax_t strtoumax (const char *__restrict __nptr, + char ** __restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); + + +extern intmax_t wcstoimax (const __gwchar_t *__restrict __nptr, + __gwchar_t **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)); + + +extern uintmax_t wcstoumax (const __gwchar_t *__restrict __nptr, + __gwchar_t ** __restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)); +# 415 "/usr/include/inttypes.h" 3 4 + +# 10 "include/generic.h" 2 +# 80 "include/generic.h" + +# 80 "include/generic.h" +void __chk_free_impl (const char* fn, void* ptr); +void __chk_free_impl_nofn (void* ptr); +void* __chk_calloc_impl (const char* fn, size_t nmemb, size_t size); +void* __chk_realloc_impl (const char* fn, void* ptr, size_t size); + + +void dbg_mem_dump_stats (void); +# 2 "src/io.c" 2 + + +size_t io_get_filesize (fptr_t file); + +fptr_t +io_open_file (const char* filename, const char* mode) +{ + __extension__ __auto_type file = fopen (filename, mode); + if (file == +# 10 "src/io.c" 3 4 + ((void *)0) +# 10 "src/io.c" + ) + { + fprintf (( +# 12 "src/io.c" 3 4 + stderr +# 12 "src/io.c" + ), "\033[1;" "37m" "%s:%" +# 12 "src/io.c" 3 4 + "u" +# 12 "src/io.c" + "\033[0m" ": " "\033[1;" "31m" "error: " "\033[0m" "%s: failed to open filename" " (%s)" "\n", "src/io.c", 12, filename, strerror ( +# 12 "src/io.c" 3 4 + (*__errno_location ()) +# 12 "src/io.c" + )); + return +# 13 "src/io.c" 3 4 + ((void *)0) +# 13 "src/io.c" + ; + } + return file; +} + +size_t +io_get_filesize (fptr_t file) +{ + fseek (file, 0, +# 21 "src/io.c" 3 4 + 2 +# 21 "src/io.c" + ); + __extension__ __auto_type filesize = ftell (file); + fseek (file, 0, +# 23 "src/io.c" 3 4 + 0 +# 23 "src/io.c" + ); + return (size_t)filesize; +} + +uint8_t* +io_alloc_file_buffer (fptr_t file) +{ + return __chk_calloc_impl (__func__, (io_get_filesize (file)), (sizeof (char))); +} + +size_t +io_read_file_into_buffer (fptr_t file, uint8_t* const buffer, size_t buffer_size) +{ + if (!(buffer_size <= io_get_filesize (file))) { fprintf (( +# 36 "src/io.c" 3 4 + stderr +# 36 "src/io.c" + ), "\033[1;" "37m" "%s:%" +# 36 "src/io.c" 3 4 + "u" +# 36 "src/io.c" + "\033[0m" ": " "\033[1;" "31m" "error: " "\033[0m" "\033[1;" "37m" "Assertion failed: " "\033[0m" "%s" "\n", "src/io.c", 36, "buffer_size <= io_get_filesize (file)"); { fprintf (( +# 36 "src/io.c" 3 4 + stderr +# 36 "src/io.c" + ), "\033[1;" "37m" "%s:%" +# 36 "src/io.c" 3 4 + "u" +# 36 "src/io.c" + "\033[0m" ": " "\033[1;" "31m" "error: " "\033[0m" "Writing to the specified buffer would cause an overrun " "file size is %zu bytes, buffer size is %zu bytes" "\n", "src/io.c", 36, io_get_filesize (file), buffer_size); exit ( +# 36 "src/io.c" 3 4 + 1 +# 36 "src/io.c" + ); }; } + + + ; + __extension__ __auto_type nbytes_written = fread (buffer, sizeof (char), buffer_size, file); + if (nbytes_written < buffer_size) + fprintf (( +# 42 "src/io.c" 3 4 + stdout +# 42 "src/io.c" + ), "\033[1;" "37m" "%s:%" +# 42 "src/io.c" 3 4 + "u" +# 42 "src/io.c" + "\033[0m" ": " "\033[0;" "34m" "log: " "\033[0m" "read less than expected (expected: %zu, read: %zu)" "\n", "src/io.c", 42, buffer_size, nbytes_written) + ; + return nbytes_written; +} + +memstream_t +io_read_file_into_memstream (fptr_t file, const char* const path) +{ + uint8_t *file_buffer = io_alloc_file_buffer (file); + size_t filesize = io_get_filesize (file); + io_read_file_into_buffer (file, file_buffer, filesize); + memstream_t stream = __chk_calloc_impl (__func__, (1), (sizeof (*(memstream_t) +# 53 "src/io.c" 3 4 + ((void *)0) +# 53 "src/io.c" + ))); + stream->buffer = file_buffer; + stream->size = filesize; + stream->path = path; + stream->ptr = fmemopen (file_buffer, filesize, "r"); + return stream; +} + +void +io_free_memstream (memstream_t stream) +{ + fprintf (( +# 64 "src/io.c" 3 4 + stdout +# 64 "src/io.c" + ), "\033[1;" "37m" "%s:%" +# 64 "src/io.c" 3 4 + "u" +# 64 "src/io.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "freeing memory stream %p" "\n", "src/io.c", 64, ((void *)((uintptr_t)stream & 0xFFFFFFFF))); + io_close_file (stream->ptr); + __chk_free_impl (__func__, stream->buffer); + __chk_free_impl (__func__, stream); +} + +void +io_close_file (fptr_t file) +{ + fprintf (( +# 73 "src/io.c" 3 4 + stdout +# 73 "src/io.c" + ), "\033[1;" "37m" "%s:%" +# 73 "src/io.c" 3 4 + "u" +# 73 "src/io.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "closing file object %p" "\n", "src/io.c", 73, ((void *)((uintptr_t)file & 0xFFFFFFFF))); + fclose (file); +} diff --git a/build/io.o b/build/io.o new file mode 100644 index 0000000..6475968 Binary files /dev/null and b/build/io.o differ diff --git a/build/io.s b/build/io.s new file mode 100644 index 0000000..dd91906 --- /dev/null +++ b/build/io.s @@ -0,0 +1,5388 @@ + .file "io.c" + .text +.Ltext0: + .file 0 "/home/unazed/Programming/c/ucc-0.2.0" "src/io.c" + .section .rodata + .align 32 +.LC0: + .string "src/io.c" + .zero 55 + .align 32 +.LC1: + .string "\033[1;37m%s:%u\033[0m: \033[1;31merror: \033[0m%s: failed to open filename (%s)\n" + .zero 58 + .text + .globl io_open_file + .type io_open_file, @function +io_open_file: +.LASANPC53: +.LVL0: +.LFB53: + .file 1 "src/io.c" + .loc 1 8 1 view -0 + .cfi_startproc + .loc 1 8 1 is_stmt 0 view .LVU1 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + .cfi_offset 14, -24 + .cfi_offset 13, -32 + .cfi_offset 12, -40 + .cfi_offset 3, -48 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %r12 + .loc 1 9 17 is_stmt 1 view .LVU2 + .loc 1 9 36 is_stmt 0 view .LVU3 + call fopen@PLT +.LVL1: + .loc 1 9 36 view .LVU4 + movq %rax, %rbx +.LVL2: + .loc 1 10 3 is_stmt 1 view .LVU5 + .loc 1 10 6 is_stmt 0 view .LVU6 + testq %rax, %rax + je .L8 +.LVL3: +.L1: + .loc 1 16 1 view .LVU7 + movq %rbx, %rax + leaq -32(%rbp), %rsp + popq %rbx +.LVL4: + .loc 1 16 1 view .LVU8 + popq %r12 +.LVL5: + .loc 1 16 1 view .LVU9 + popq %r13 + popq %r14 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL6: +.L8: + .cfi_restore_state + .loc 1 12 7 is_stmt 1 view .LVU10 + .loc 1 12 8 is_stmt 0 view .LVU11 + call __errno_location@PLT +.LVL7: + .loc 1 12 8 view .LVU12 + movq %rax, %r13 + .loc 1 12 7 discriminator 1 view .LVU13 + testq %rax, %rax + je .L3 + testb $3, %al + jne .L3 +.L4: + movq %r13, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %edx + movq %r13, %rax + andl $7, %eax + addl $3, %eax + cmpb %dl, %al + jl .L5 + testb %dl, %dl + jne .L9 +.L5: + movl 0(%r13), %edi + call strerror@PLT +.LVL8: + movq %rax, %r13 + .loc 1 12 7 discriminator 2 view .LVU14 + leaq stderr(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L10 + movq stderr(%rip), %r14 + testq %r14, %r14 + je .L11 +.L7: +.LVL9: +.LBB16: +.LBI16: + .file 2 "/usr/include/bits/stdio2.h" + .loc 2 77 1 is_stmt 1 view .LVU15 +.LBB17: + .loc 2 79 3 view .LVU16 + .loc 2 79 10 is_stmt 0 view .LVU17 + subq $8, %rsp + pushq %r13 + movq %r12, %r9 + movl $12, %r8d + leaq .LC0(%rip), %rcx + leaq .LC1(%rip), %rdx + movl $2, %esi + movq %r14, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL10: + .loc 2 79 10 view .LVU18 +.LBE17: +.LBE16: + .loc 1 13 7 is_stmt 1 view .LVU19 + .loc 1 13 13 is_stmt 0 view .LVU20 + addq $16, %rsp + jmp .L1 +.L3: + .loc 1 12 7 discriminator 1 view .LVU21 + movq %r13, %rsi + leaq .Lubsan_data33(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL11: + jmp .L4 +.L9: + movq %r13, %rdi + call __asan_report_load4@PLT +.LVL12: +.L10: + .loc 1 12 7 discriminator 2 view .LVU22 + call __asan_report_load8@PLT +.LVL13: +.L11: + leaq .Lubsan_data12(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL14: + jmp .L7 + .cfi_endproc +.LFE53: + .size io_open_file, .-io_open_file + .globl io_get_filesize + .type io_get_filesize, @function +io_get_filesize: +.LASANPC54: +.LVL15: +.LFB54: + .loc 1 20 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 20 1 is_stmt 0 view .LVU24 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r12 + pushq %rbx + .cfi_offset 12, -24 + .cfi_offset 3, -32 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + .loc 1 21 3 is_stmt 1 view .LVU25 + testq %rdi, %rdi + je .L16 +.LVL16: +.L13: + .loc 1 21 3 is_stmt 0 view .LVU26 + movl $2, %edx + movl $0, %esi + movq %rbx, %rdi + call fseek@PLT +.LVL17: + .loc 1 22 17 is_stmt 1 view .LVU27 + .loc 1 22 40 is_stmt 0 view .LVU28 + testq %rbx, %rbx + je .L17 +.L14: + movq %rbx, %rdi + call ftell@PLT +.LVL18: + movq %rax, %r12 +.LVL19: + .loc 1 23 3 is_stmt 1 view .LVU29 + testq %rbx, %rbx + je .L18 +.LVL20: +.L15: + .loc 1 23 3 is_stmt 0 view .LVU30 + movl $0, %edx + movl $0, %esi + movq %rbx, %rdi + call fseek@PLT +.LVL21: + .loc 1 24 3 is_stmt 1 view .LVU31 + .loc 1 25 1 is_stmt 0 view .LVU32 + movq %r12, %rax + popq %rbx +.LVL22: + .loc 1 25 1 view .LVU33 + popq %r12 +.LVL23: + .loc 1 25 1 view .LVU34 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL24: +.L16: + .cfi_restore_state + .loc 1 21 3 view .LVU35 + leaq .Lubsan_data14(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL25: + jmp .L13 +.L17: + .loc 1 22 40 view .LVU36 + leaq .Lubsan_data15(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL26: + jmp .L14 +.LVL27: +.L18: + .loc 1 23 3 view .LVU37 + leaq .Lubsan_data16(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL28: + .loc 1 23 3 view .LVU38 + jmp .L15 + .cfi_endproc +.LFE54: + .size io_get_filesize, .-io_get_filesize + .globl io_alloc_file_buffer + .type io_alloc_file_buffer, @function +io_alloc_file_buffer: +.LASANPC55: +.LVL29: +.LFB55: + .loc 1 29 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 29 1 is_stmt 0 view .LVU40 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 +1: call *mcount@GOTPCREL(%rip) + .loc 1 30 3 is_stmt 1 view .LVU41 + .loc 1 30 10 is_stmt 0 view .LVU42 + call io_get_filesize +.LVL30: + .loc 1 30 10 view .LVU43 + movq %rax, %rsi + .loc 1 30 10 discriminator 1 view .LVU44 + movl $1, %edx + leaq __func__.2(%rip), %rdi + call __chk_calloc_impl@PLT +.LVL31: + .loc 1 31 1 view .LVU45 + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE55: + .size io_alloc_file_buffer, .-io_alloc_file_buffer + .section .rodata + .align 32 +.LC2: + .string "buffer_size <= io_get_filesize (file)" + .zero 58 + .align 32 +.LC3: + .string "\033[1;37m%s:%u\033[0m: \033[1;31merror: \033[0m\033[1;37mAssertion failed: \033[0m%s\n" + .zero 59 + .align 32 +.LC4: + .string "\033[1;37m%s:%u\033[0m: \033[1;31merror: \033[0mWriting to the specified buffer would cause an overrun file size is %zu bytes, buffer size is %zu bytes\n" + .zero 51 + .align 32 +.LC5: + .string "\033[1;37m%s:%u\033[0m: \033[0;34mlog: \033[0mread less than expected (expected: %zu, read: %zu)\n" + .zero 42 + .text + .globl io_read_file_into_buffer + .type io_read_file_into_buffer, @function +io_read_file_into_buffer: +.LASANPC56: +.LVL32: +.LFB56: + .loc 1 35 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 35 1 is_stmt 0 view .LVU47 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 13, -24 + .cfi_offset 12, -32 + .cfi_offset 3, -40 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %r12 + movq %rsi, %r13 + movq %rdx, %rbx + .loc 1 36 3 is_stmt 1 view .LVU48 + .loc 1 36 24 is_stmt 0 view .LVU49 + call io_get_filesize +.LVL33: + .loc 1 36 6 discriminator 1 view .LVU50 + cmpq %rbx, %rax + jb .L29 + .loc 1 36 6 is_stmt 1 discriminator 2 view .LVU51 + .loc 1 39 51 view .LVU52 + .loc 1 40 17 view .LVU53 +.LVL34: +.LBB18: +.LBI18: + .loc 2 207 1 view .LVU54 +.LBB19: + .loc 2 210 3 view .LVU55 + .loc 2 211 3 view .LVU56 + .loc 2 212 5 view .LVU57 + .loc 2 212 12 is_stmt 0 view .LVU58 + movq %r12, %rcx + movq %rbx, %rdx + movl $1, %esi + movq %r13, %rdi + call fread@PLT +.LVL35: + movq %rax, %r12 +.LVL36: + .loc 2 212 12 view .LVU59 +.LBE19: +.LBE18: + .loc 1 41 3 is_stmt 1 view .LVU60 + .loc 1 41 6 is_stmt 0 view .LVU61 + cmpq %rbx, %rax + jnb .L20 + .loc 1 42 5 is_stmt 1 view .LVU62 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL37: + .loc 1 42 5 is_stmt 0 view .LVU63 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L30 + movq stdout(%rip), %r13 +.LVL38: + .loc 1 42 5 view .LVU64 + testq %r13, %r13 + je .L31 +.L28: +.LVL39: +.LBB20: +.LBI20: + .loc 2 77 1 is_stmt 1 view .LVU65 +.LBB21: + .loc 2 79 3 view .LVU66 + .loc 2 79 10 is_stmt 0 view .LVU67 + subq $8, %rsp + pushq %r12 + movq %rbx, %r9 + movl $42, %r8d + leaq .LC0(%rip), %rcx + leaq .LC5(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL40: + .loc 2 79 10 view .LVU68 + addq $16, %rsp +.LBE21: +.LBE20: + .loc 1 44 3 is_stmt 1 view .LVU69 +.L20: + .loc 1 45 1 is_stmt 0 view .LVU70 + movq %r12, %rax + leaq -24(%rbp), %rsp + popq %rbx +.LVL41: + .loc 1 45 1 view .LVU71 + popq %r12 +.LVL42: + .loc 1 45 1 view .LVU72 + popq %r13 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL43: +.L29: + .cfi_restore_state + .loc 1 36 51 is_stmt 1 discriminator 1 view .LVU73 + leaq stderr(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L32 + movq stderr(%rip), %r13 +.LVL44: + .loc 1 36 51 is_stmt 0 discriminator 1 view .LVU74 + testq %r13, %r13 + je .L33 +.L23: +.LVL45: +.LBB22: +.LBI22: + .loc 2 77 1 is_stmt 1 view .LVU75 +.LBB23: + .loc 2 79 3 view .LVU76 + .loc 2 79 10 is_stmt 0 view .LVU77 + leaq .LC2(%rip), %r9 + movl $36, %r8d + leaq .LC0(%rip), %rcx + leaq .LC3(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL46: + .loc 2 79 10 view .LVU78 +.LBE23: +.LBE22: + .loc 1 36 171 is_stmt 1 discriminator 1 view .LVU79 + movq %r12, %rdi + call io_get_filesize +.LVL47: + movq %rax, %r12 +.LVL48: + .loc 1 36 171 is_stmt 0 discriminator 2 view .LVU80 + leaq stderr(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L34 + movq stderr(%rip), %r13 + testq %r13, %r13 + je .L35 +.L25: +.LVL49: +.LBB24: +.LBI24: + .loc 2 77 1 is_stmt 1 view .LVU81 +.LBB25: + .loc 2 79 3 view .LVU82 + .loc 2 79 10 is_stmt 0 view .LVU83 + subq $8, %rsp + pushq %rbx + movq %r12, %r9 + movl $36, %r8d + leaq .LC0(%rip), %rcx + leaq .LC4(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL50: + .loc 2 79 10 view .LVU84 +.LBE25: +.LBE24: + .loc 1 36 222 is_stmt 1 discriminator 3 view .LVU85 + call __asan_handle_no_return@PLT +.LVL51: + movl $1, %edi + call exit@PLT +.LVL52: +.L32: + .loc 1 36 51 is_stmt 0 discriminator 1 view .LVU86 + call __asan_report_load8@PLT +.LVL53: +.L33: + .loc 1 36 51 discriminator 1 view .LVU87 + leaq .Lubsan_data17(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL54: + jmp .L23 +.LVL55: +.L34: + .loc 1 36 171 discriminator 2 view .LVU88 + call __asan_report_load8@PLT +.LVL56: +.L35: + leaq .Lubsan_data19(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL57: + jmp .L25 +.LVL58: +.L30: + .loc 1 42 5 view .LVU89 + call __asan_report_load8@PLT +.LVL59: +.L31: + .loc 1 42 5 view .LVU90 + leaq .Lubsan_data22(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL60: + jmp .L28 + .cfi_endproc +.LFE56: + .size io_read_file_into_buffer, .-io_read_file_into_buffer + .section .rodata + .align 32 +.LC6: + .string "r" + .zero 62 + .text + .globl io_read_file_into_memstream + .type io_read_file_into_memstream, @function +io_read_file_into_memstream: +.LASANPC57: +.LVL61: +.LFB57: + .loc 1 49 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 49 1 is_stmt 0 view .LVU92 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + .cfi_offset 14, -24 + .cfi_offset 13, -32 + .cfi_offset 12, -40 + .cfi_offset 3, -48 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + movq %rsi, %r14 + .loc 1 50 3 is_stmt 1 view .LVU93 + .loc 1 50 26 is_stmt 0 view .LVU94 + call io_alloc_file_buffer +.LVL62: + .loc 1 50 26 view .LVU95 + movq %rax, %r12 +.LVL63: + .loc 1 51 3 is_stmt 1 view .LVU96 + .loc 1 51 21 is_stmt 0 view .LVU97 + movq %rbx, %rdi + call io_get_filesize +.LVL64: + .loc 1 51 21 view .LVU98 + movq %rax, %r13 +.LVL65: + .loc 1 52 3 is_stmt 1 view .LVU99 + testq %r12, %r12 + je .L52 +.LVL66: +.L37: + .loc 1 52 3 is_stmt 0 view .LVU100 + movq %r13, %rdx + movq %r12, %rsi + movq %rbx, %rdi + call io_read_file_into_buffer +.LVL67: + .loc 1 53 3 is_stmt 1 view .LVU101 + .loc 1 53 24 is_stmt 0 view .LVU102 + movl $32, %edx + movl $1, %esi + leaq __func__.1(%rip), %rdi + call __chk_calloc_impl@PLT +.LVL68: + movq %rax, %rbx +.LVL69: + .loc 1 54 3 is_stmt 1 view .LVU103 + .loc 1 54 18 is_stmt 0 view .LVU104 + testq %rax, %rax + je .L38 + testb $7, %al + jne .L38 +.LVL70: +.L39: + .loc 1 54 18 view .LVU105 + leaq 8(%rbx), %rdx + cmpq $-8, %rbx + jnb .L53 +.L40: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L54 + movq %r12, 8(%rbx) + .loc 1 55 3 is_stmt 1 view .LVU106 + .loc 1 55 16 is_stmt 0 view .LVU107 + testq %rbx, %rbx + je .L42 + .loc 1 55 16 view .LVU108 + testb $7, %bl + jne .L42 +.L43: + .loc 1 55 16 view .LVU109 + leaq 24(%rbx), %rdx + cmpq $-24, %rbx + jnb .L55 +.L44: + leaq 24(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L56 + movq %r13, 24(%rbx) + .loc 1 56 3 is_stmt 1 view .LVU110 + .loc 1 56 16 is_stmt 0 view .LVU111 + testq %rbx, %rbx + je .L46 + .loc 1 56 16 view .LVU112 + testb $7, %bl + jne .L46 +.L47: + .loc 1 56 16 view .LVU113 + leaq 16(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L57 + movq %r14, 16(%rbx) + .loc 1 57 3 is_stmt 1 view .LVU114 + .loc 1 57 17 is_stmt 0 view .LVU115 + leaq .LC6(%rip), %rdx + movq %r13, %rsi + movq %r12, %rdi + call fmemopen@PLT +.LVL71: + movq %rax, %r12 +.LVL72: + .loc 1 57 15 discriminator 1 view .LVU116 + testq %rbx, %rbx + je .L49 + testb $7, %bl + jne .L49 +.L50: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L58 + movq %r12, (%rbx) + .loc 1 58 3 is_stmt 1 view .LVU117 + .loc 1 59 1 is_stmt 0 view .LVU118 + movq %rbx, %rax + popq %rbx +.LVL73: + .loc 1 59 1 view .LVU119 + popq %r12 + popq %r13 +.LVL74: + .loc 1 59 1 view .LVU120 + popq %r14 +.LVL75: + .loc 1 59 1 view .LVU121 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL76: +.L52: + .cfi_restore_state + .loc 1 52 3 view .LVU122 + leaq .Lubsan_data26(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL77: + .loc 1 52 3 view .LVU123 + jmp .L37 +.LVL78: +.L38: + .loc 1 54 18 view .LVU124 + movq %rbx, %rsi + leaq .Lubsan_data34(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL79: + .loc 1 54 18 view .LVU125 + jmp .L39 +.L53: + .loc 1 54 18 view .LVU126 + movq %rbx, %rsi + leaq .Lubsan_data35(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL80: + jmp .L40 +.L54: + .loc 1 54 18 view .LVU127 + call __asan_report_store8@PLT +.LVL81: +.L42: + .loc 1 55 16 view .LVU128 + movq %rbx, %rsi + leaq .Lubsan_data36(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL82: + jmp .L43 +.L55: + .loc 1 55 16 view .LVU129 + movq %rbx, %rsi + leaq .Lubsan_data37(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL83: + jmp .L44 +.L56: + .loc 1 55 16 view .LVU130 + call __asan_report_store8@PLT +.LVL84: +.L46: + .loc 1 56 16 view .LVU131 + movq %rbx, %rsi + leaq .Lubsan_data38(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL85: + jmp .L47 +.L57: + .loc 1 56 16 view .LVU132 + call __asan_report_store8@PLT +.LVL86: +.L49: + .loc 1 57 15 discriminator 1 view .LVU133 + movq %rbx, %rsi + leaq .Lubsan_data39(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL87: + jmp .L50 +.L58: + .loc 1 57 15 discriminator 1 view .LVU134 + movq %rbx, %rdi + call __asan_report_store8@PLT +.LVL88: + .cfi_endproc +.LFE57: + .size io_read_file_into_memstream, .-io_read_file_into_memstream + .section .rodata + .align 32 +.LC7: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0mclosing file object %p\n" + .zero 33 + .text + .globl io_close_file + .type io_close_file, @function +io_close_file: +.LASANPC59: +.LVL89: +.LFB59: + .loc 1 72 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 72 1 is_stmt 0 view .LVU136 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 13, -24 + .cfi_offset 12, -32 + .cfi_offset 3, -40 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + .loc 1 73 3 is_stmt 1 view .LVU137 + .loc 1 73 129 is_stmt 0 view .LVU138 + movl %edi, %r13d + .loc 1 73 3 view .LVU139 + leaq stdout(%rip), %rdi +.LVL90: + .loc 1 73 3 view .LVU140 + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L62 + movq stdout(%rip), %r12 + testq %r12, %r12 + je .L63 +.L61: +.LVL91: +.LBB26: +.LBI26: + .loc 2 77 1 is_stmt 1 view .LVU141 +.LBB27: + .loc 2 79 3 view .LVU142 + .loc 2 79 10 is_stmt 0 view .LVU143 + movq %r13, %r9 + movl $73, %r8d + leaq .LC0(%rip), %rcx + leaq .LC7(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL92: + .loc 2 79 10 view .LVU144 +.LBE27: +.LBE26: + .loc 1 74 3 is_stmt 1 view .LVU145 + movq %rbx, %rdi + call fclose@PLT +.LVL93: + .loc 1 75 1 is_stmt 0 view .LVU146 + addq $8, %rsp + popq %rbx +.LVL94: + .loc 1 75 1 view .LVU147 + popq %r12 + popq %r13 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL95: +.L62: + .cfi_restore_state + .loc 1 73 3 view .LVU148 + call __asan_report_load8@PLT +.LVL96: +.L63: + leaq .Lubsan_data27(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL97: + jmp .L61 + .cfi_endproc +.LFE59: + .size io_close_file, .-io_close_file + .section .rodata + .align 32 +.LC8: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0mfreeing memory stream %p\n" + .zero 63 + .text + .globl io_free_memstream + .type io_free_memstream, @function +io_free_memstream: +.LASANPC58: +.LVL98: +.LFB58: + .loc 1 63 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 63 1 is_stmt 0 view .LVU150 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 13, -24 + .cfi_offset 12, -32 + .cfi_offset 3, -40 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + .loc 1 64 3 is_stmt 1 view .LVU151 + .loc 1 64 133 is_stmt 0 view .LVU152 + movl %edi, %r13d + .loc 1 64 3 view .LVU153 + leaq stdout(%rip), %rdi +.LVL99: + .loc 1 64 3 view .LVU154 + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L75 + movq stdout(%rip), %r12 + testq %r12, %r12 + je .L76 +.L66: +.LVL100: +.LBB28: +.LBI28: + .loc 2 77 1 is_stmt 1 view .LVU155 +.LBB29: + .loc 2 79 3 view .LVU156 + .loc 2 79 10 is_stmt 0 view .LVU157 + movq %r13, %r9 + movl $64, %r8d + leaq .LC0(%rip), %rcx + leaq .LC8(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL101: + .loc 2 79 10 view .LVU158 +.LBE29: +.LBE28: + .loc 1 65 3 is_stmt 1 view .LVU159 + testq %rbx, %rbx + je .L67 + testb $7, %bl + jne .L67 +.L68: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L77 + movq (%rbx), %r12 + testq %r12, %r12 + je .L78 +.L70: + movq %r12, %rdi + call io_close_file +.LVL102: + .loc 1 66 3 view .LVU160 + .loc 1 66 36 is_stmt 0 view .LVU161 + testq %rbx, %rbx + je .L71 + testb $7, %bl + jne .L71 +.L72: + leaq 8(%rbx), %rdx + cmpq $-8, %rbx + jnb .L79 +.L73: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L80 + movq 8(%rbx), %rsi + .loc 1 66 3 view .LVU162 + leaq __func__.0(%rip), %r12 + movq %r12, %rdi + call __chk_free_impl@PLT +.LVL103: + .loc 1 67 3 is_stmt 1 view .LVU163 + movq %rbx, %rsi + movq %r12, %rdi + call __chk_free_impl@PLT +.LVL104: + .loc 1 68 1 is_stmt 0 view .LVU164 + addq $8, %rsp + popq %rbx +.LVL105: + .loc 1 68 1 view .LVU165 + popq %r12 + popq %r13 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL106: +.L75: + .cfi_restore_state + .loc 1 64 3 view .LVU166 + call __asan_report_load8@PLT +.LVL107: +.L76: + leaq .Lubsan_data30(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL108: + jmp .L66 +.L67: + .loc 1 65 3 view .LVU167 + movq %rbx, %rsi + leaq .Lubsan_data40(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL109: + jmp .L68 +.L77: + .loc 1 65 3 view .LVU168 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL110: +.L78: + .loc 1 65 3 view .LVU169 + leaq .Lubsan_data32(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL111: + jmp .L70 +.L71: + .loc 1 66 36 view .LVU170 + movq %rbx, %rsi + leaq .Lubsan_data41(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL112: + jmp .L72 +.L79: + .loc 1 66 36 view .LVU171 + movq %rbx, %rsi + leaq .Lubsan_data42(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL113: + jmp .L73 +.L80: + .loc 1 66 36 view .LVU172 + call __asan_report_load8@PLT +.LVL114: + .cfi_endproc +.LFE58: + .size io_free_memstream, .-io_free_memstream + .section .data.rel.local,"aw" + .align 32 + .type .Lubsan_data42, @object + .size .Lubsan_data42, 16 +.Lubsan_data42: + .quad .LC0 + .long 66 + .long 36 + .zero 48 + .align 32 + .type .Lubsan_data41, @object + .size .Lubsan_data41, 32 +.Lubsan_data41: + .quad .LC0 + .long 66 + .long 36 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data40, @object + .size .Lubsan_data40, 32 +.Lubsan_data40: + .quad .LC0 + .long 65 + .long 3 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data39, @object + .size .Lubsan_data39, 32 +.Lubsan_data39: + .quad .LC0 + .long 57 + .long 15 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data38, @object + .size .Lubsan_data38, 32 +.Lubsan_data38: + .quad .LC0 + .long 56 + .long 16 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data37, @object + .size .Lubsan_data37, 16 +.Lubsan_data37: + .quad .LC0 + .long 55 + .long 16 + .zero 48 + .align 32 + .type .Lubsan_data36, @object + .size .Lubsan_data36, 32 +.Lubsan_data36: + .quad .LC0 + .long 55 + .long 16 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data35, @object + .size .Lubsan_data35, 16 +.Lubsan_data35: + .quad .LC0 + .long 54 + .long 18 + .zero 48 + .align 32 + .type .Lubsan_data34, @object + .size .Lubsan_data34, 32 +.Lubsan_data34: + .quad .LC0 + .long 54 + .long 18 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type2, @object + .size .Lubsan_type2, 23 +.Lubsan_type2: + .value -1 + .value 0 + .string "'struct '" + .zero 41 + .section .data.rel.local + .align 32 + .type .Lubsan_data33, @object + .size .Lubsan_data33, 32 +.Lubsan_data33: + .quad .LC0 + .long 12 + .long 7 + .quad .Lubsan_type1 + .byte 2 + .byte 0 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type1, @object + .size .Lubsan_type1, 10 +.Lubsan_type1: + .value -1 + .value 0 + .string "'int'" + .zero 54 + .section .data.rel.local + .align 32 + .type .Lubsan_data32, @object + .size .Lubsan_data32, 40 +.Lubsan_data32: + .quad .LC0 + .long 65 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data30, @object + .size .Lubsan_data30, 40 +.Lubsan_data30: + .quad .LC0 + .long 64 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data27, @object + .size .Lubsan_data27, 40 +.Lubsan_data27: + .quad .LC0 + .long 73 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data26, @object + .size .Lubsan_data26, 40 +.Lubsan_data26: + .quad .LC0 + .long 52 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 2 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data22, @object + .size .Lubsan_data22, 40 +.Lubsan_data22: + .quad .LC0 + .long 42 + .long 5 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data19, @object + .size .Lubsan_data19, 40 +.Lubsan_data19: + .quad .LC0 + .long 36 + .long 171 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data17, @object + .size .Lubsan_data17, 40 +.Lubsan_data17: + .quad .LC0 + .long 36 + .long 51 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data16, @object + .size .Lubsan_data16, 40 +.Lubsan_data16: + .quad .LC0 + .long 23 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data15, @object + .size .Lubsan_data15, 40 +.Lubsan_data15: + .quad .LC0 + .long 22 + .long 40 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data14, @object + .size .Lubsan_data14, 40 +.Lubsan_data14: + .quad .LC0 + .long 21 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data12, @object + .size .Lubsan_data12, 40 +.Lubsan_data12: + .quad .LC0 + .long 12 + .long 7 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .section .rodata + .align 32 + .type __func__.0, @object + .size __func__.0, 18 +__func__.0: + .string "io_free_memstream" + .zero 46 + .align 32 + .type __func__.1, @object + .size __func__.1, 28 +__func__.1: + .string "io_read_file_into_memstream" + .zero 36 + .align 32 + .type __func__.2, @object + .size __func__.2, 21 +__func__.2: + .string "io_alloc_file_buffer" + .zero 43 + .section .data.rel.local + .align 16 + .type .LASANLOC1, @object + .size .LASANLOC1, 16 +.LASANLOC1: + .quad .LC0 + .long 66 + .long 20 + .align 16 + .type .LASANLOC2, @object + .size .LASANLOC2, 16 +.LASANLOC2: + .quad .LC0 + .long 53 + .long 43 + .align 16 + .type .LASANLOC3, @object + .size .LASANLOC3, 16 +.LASANLOC3: + .quad .LC0 + .long 30 + .long 29 + .section .rodata.str1.1,"aMS",@progbits,1 +.LC9: + .string "*.Lubsan_data42" +.LC10: + .string "*.Lubsan_data41" +.LC11: + .string "*.Lubsan_data40" +.LC12: + .string "*.Lubsan_data39" +.LC13: + .string "*.Lubsan_data38" +.LC14: + .string "*.Lubsan_data37" +.LC15: + .string "*.Lubsan_data36" +.LC16: + .string "*.Lubsan_data35" +.LC17: + .string "*.Lubsan_data34" +.LC18: + .string "*.Lubsan_type2" +.LC19: + .string "*.Lubsan_data33" +.LC20: + .string "*.Lubsan_type1" +.LC21: + .string "*.Lubsan_data32" +.LC22: + .string "*.Lubsan_data30" +.LC23: + .string "*.Lubsan_data27" +.LC24: + .string "*.Lubsan_data26" +.LC25: + .string "*.Lubsan_data22" +.LC26: + .string "*.Lubsan_data19" +.LC27: + .string "*.Lubsan_data17" +.LC28: + .string "*.Lubsan_data16" +.LC29: + .string "*.Lubsan_data15" +.LC30: + .string "*.Lubsan_data14" +.LC31: + .string "*.Lubsan_data12" +.LC32: + .string "__func__" +.LC33: + .string "*.LC3" +.LC34: + .string "*.LC2" +.LC35: + .string "*.LC8" +.LC36: + .string "*.LC4" +.LC37: + .string "*.LC1" +.LC38: + .string "*.LC6" +.LC39: + .string "*.LC7" +.LC40: + .string "*.LC5" +.LC41: + .string "*.LC0" + .section .data.rel.local + .align 32 + .type .LASAN0, @object + .size .LASAN0, 2240 +.LASAN0: + .quad .Lubsan_data42 + .quad 16 + .quad 64 + .quad .LC9 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data41 + .quad 32 + .quad 64 + .quad .LC10 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data40 + .quad 32 + .quad 64 + .quad .LC11 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data39 + .quad 32 + .quad 64 + .quad .LC12 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data38 + .quad 32 + .quad 64 + .quad .LC13 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data37 + .quad 16 + .quad 64 + .quad .LC14 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data36 + .quad 32 + .quad 64 + .quad .LC15 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data35 + .quad 16 + .quad 64 + .quad .LC16 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data34 + .quad 32 + .quad 64 + .quad .LC17 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type2 + .quad 23 + .quad 64 + .quad .LC18 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data33 + .quad 32 + .quad 64 + .quad .LC19 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type1 + .quad 10 + .quad 64 + .quad .LC20 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data32 + .quad 40 + .quad 96 + .quad .LC21 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data30 + .quad 40 + .quad 96 + .quad .LC22 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data27 + .quad 40 + .quad 96 + .quad .LC23 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data26 + .quad 40 + .quad 96 + .quad .LC24 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data22 + .quad 40 + .quad 96 + .quad .LC25 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data19 + .quad 40 + .quad 96 + .quad .LC26 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data17 + .quad 40 + .quad 96 + .quad .LC27 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data16 + .quad 40 + .quad 96 + .quad .LC28 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data15 + .quad 40 + .quad 96 + .quad .LC29 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data14 + .quad 40 + .quad 96 + .quad .LC30 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data12 + .quad 40 + .quad 96 + .quad .LC31 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad __func__.0 + .quad 18 + .quad 64 + .quad .LC32 + .quad .LC0 + .quad 0 + .quad .LASANLOC1 + .quad 0 + .quad __func__.1 + .quad 28 + .quad 64 + .quad .LC32 + .quad .LC0 + .quad 0 + .quad .LASANLOC2 + .quad 0 + .quad __func__.2 + .quad 21 + .quad 64 + .quad .LC32 + .quad .LC0 + .quad 0 + .quad .LASANLOC3 + .quad 0 + .quad .LC3 + .quad 69 + .quad 128 + .quad .LC33 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC2 + .quad 38 + .quad 96 + .quad .LC34 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC8 + .quad 65 + .quad 128 + .quad .LC35 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC4 + .quad 141 + .quad 192 + .quad .LC36 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC1 + .quad 70 + .quad 128 + .quad .LC37 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC6 + .quad 2 + .quad 64 + .quad .LC38 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC7 + .quad 63 + .quad 96 + .quad .LC39 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC5 + .quad 86 + .quad 128 + .quad .LC40 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC0 + .quad 9 + .quad 64 + .quad .LC41 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .text + .type _sub_D_00099_0, @function +_sub_D_00099_0: +.LFB60: + .cfi_startproc + .loc 1 75 1 is_stmt 1 view .LVU173 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl $35, %esi + leaq .LASAN0(%rip), %rdi + call __asan_unregister_globals@PLT + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE60: + .size _sub_D_00099_0, .-_sub_D_00099_0 + .section .fini_array.00099,"aw" + .align 8 + .quad _sub_D_00099_0 + .text + .type _sub_I_00099_1, @function +_sub_I_00099_1: +.LFB61: + .cfi_startproc + .loc 1 75 1 view .LVU174 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + call __asan_init@PLT + call __asan_version_mismatch_check_v8@PLT + movl $35, %esi + leaq .LASAN0(%rip), %rdi + call __asan_register_globals@PLT + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE61: + .size _sub_I_00099_1, .-_sub_I_00099_1 + .section .init_array.00099,"aw" + .align 8 + .quad _sub_I_00099_1 + .text +.Letext0: + .file 3 "/usr/include/bits/types.h" + .file 4 "/usr/include/bits/stdint-uintn.h" + .file 5 "/usr/include/stdint.h" + .file 6 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" + .file 7 "/usr/include/bits/types/struct_FILE.h" + .file 8 "/usr/include/bits/types/FILE.h" + .file 9 "/usr/include/stdio.h" + .file 10 "include/io.h" + .file 11 "/usr/include/bits/stdio2-decl.h" + .file 12 "/usr/include/stdlib.h" + .file 13 "include/generic.h" + .file 14 "/usr/include/string.h" + .file 15 "" + .file 16 "/usr/include/errno.h" + .section .debug_info,"",@progbits +.Ldebug_info0: + .long 0x1130 + .value 0x5 + .byte 0x1 + .byte 0x8 + .long .Ldebug_abbrev0 + .uleb128 0x1d + .long .LASF105 + .byte 0x1d + .long .LASF0 + .long .LASF1 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .long .Ldebug_line0 + .uleb128 0xa + .byte 0x1 + .byte 0x8 + .long .LASF2 + .uleb128 0xa + .byte 0x2 + .byte 0x7 + .long .LASF3 + .uleb128 0xa + .byte 0x4 + .byte 0x7 + .long .LASF4 + .uleb128 0xa + .byte 0x8 + .byte 0x7 + .long .LASF5 + .uleb128 0xa + .byte 0x1 + .byte 0x6 + .long .LASF6 + .uleb128 0xb + .long .LASF9 + .byte 0x3 + .byte 0x26 + .byte 0x17 + .long 0x2e + .uleb128 0xa + .byte 0x2 + .byte 0x5 + .long .LASF7 + .uleb128 0x1e + .byte 0x4 + .byte 0x5 + .string "int" + .uleb128 0xa + .byte 0x8 + .byte 0x5 + .long .LASF8 + .uleb128 0xb + .long .LASF10 + .byte 0x3 + .byte 0x98 + .byte 0x12 + .long 0x6b + .uleb128 0xb + .long .LASF11 + .byte 0x3 + .byte 0x99 + .byte 0x12 + .long 0x6b + .uleb128 0x1f + .byte 0x8 + .uleb128 0x16 + .long 0x8a + .uleb128 0x8 + .long 0x96 + .uleb128 0xa + .byte 0x1 + .byte 0x6 + .long .LASF12 + .uleb128 0xe + .long 0x96 + .uleb128 0xb + .long .LASF13 + .byte 0x4 + .byte 0x18 + .byte 0x13 + .long 0x51 + .uleb128 0xb + .long .LASF14 + .byte 0x5 + .byte 0x4f + .byte 0x1b + .long 0x43 + .uleb128 0xb + .long .LASF15 + .byte 0x6 + .byte 0xd6 + .byte 0x1b + .long 0x43 + .uleb128 0x20 + .long .LASF106 + .byte 0xd8 + .byte 0x7 + .byte 0x31 + .byte 0x8 + .long 0x24d + .uleb128 0x3 + .long .LASF16 + .byte 0x7 + .byte 0x33 + .byte 0x7 + .long 0x64 + .byte 0 + .uleb128 0x3 + .long .LASF17 + .byte 0x7 + .byte 0x36 + .byte 0x9 + .long 0x91 + .byte 0x8 + .uleb128 0x3 + .long .LASF18 + .byte 0x7 + .byte 0x37 + .byte 0x9 + .long 0x91 + .byte 0x10 + .uleb128 0x3 + .long .LASF19 + .byte 0x7 + .byte 0x38 + .byte 0x9 + .long 0x91 + .byte 0x18 + .uleb128 0x3 + .long .LASF20 + .byte 0x7 + .byte 0x39 + .byte 0x9 + .long 0x91 + .byte 0x20 + .uleb128 0x3 + .long .LASF21 + .byte 0x7 + .byte 0x3a + .byte 0x9 + .long 0x91 + .byte 0x28 + .uleb128 0x3 + .long .LASF22 + .byte 0x7 + .byte 0x3b + .byte 0x9 + .long 0x91 + .byte 0x30 + .uleb128 0x3 + .long .LASF23 + .byte 0x7 + .byte 0x3c + .byte 0x9 + .long 0x91 + .byte 0x38 + .uleb128 0x3 + .long .LASF24 + .byte 0x7 + .byte 0x3d + .byte 0x9 + .long 0x91 + .byte 0x40 + .uleb128 0x3 + .long .LASF25 + .byte 0x7 + .byte 0x40 + .byte 0x9 + .long 0x91 + .byte 0x48 + .uleb128 0x3 + .long .LASF26 + .byte 0x7 + .byte 0x41 + .byte 0x9 + .long 0x91 + .byte 0x50 + .uleb128 0x3 + .long .LASF27 + .byte 0x7 + .byte 0x42 + .byte 0x9 + .long 0x91 + .byte 0x58 + .uleb128 0x3 + .long .LASF28 + .byte 0x7 + .byte 0x44 + .byte 0x16 + .long 0x266 + .byte 0x60 + .uleb128 0x3 + .long .LASF29 + .byte 0x7 + .byte 0x46 + .byte 0x14 + .long 0x26b + .byte 0x68 + .uleb128 0x3 + .long .LASF30 + .byte 0x7 + .byte 0x48 + .byte 0x7 + .long 0x64 + .byte 0x70 + .uleb128 0x3 + .long .LASF31 + .byte 0x7 + .byte 0x49 + .byte 0x7 + .long 0x64 + .byte 0x74 + .uleb128 0x3 + .long .LASF32 + .byte 0x7 + .byte 0x4a + .byte 0xb + .long 0x72 + .byte 0x78 + .uleb128 0x3 + .long .LASF33 + .byte 0x7 + .byte 0x4d + .byte 0x12 + .long 0x35 + .byte 0x80 + .uleb128 0x3 + .long .LASF34 + .byte 0x7 + .byte 0x4e + .byte 0xf + .long 0x4a + .byte 0x82 + .uleb128 0x3 + .long .LASF35 + .byte 0x7 + .byte 0x4f + .byte 0x8 + .long 0x270 + .byte 0x83 + .uleb128 0x3 + .long .LASF36 + .byte 0x7 + .byte 0x51 + .byte 0xf + .long 0x280 + .byte 0x88 + .uleb128 0x3 + .long .LASF37 + .byte 0x7 + .byte 0x59 + .byte 0xd + .long 0x7e + .byte 0x90 + .uleb128 0x3 + .long .LASF38 + .byte 0x7 + .byte 0x5b + .byte 0x17 + .long 0x28a + .byte 0x98 + .uleb128 0x3 + .long .LASF39 + .byte 0x7 + .byte 0x5c + .byte 0x19 + .long 0x294 + .byte 0xa0 + .uleb128 0x3 + .long .LASF40 + .byte 0x7 + .byte 0x5d + .byte 0x14 + .long 0x26b + .byte 0xa8 + .uleb128 0x3 + .long .LASF41 + .byte 0x7 + .byte 0x5e + .byte 0x9 + .long 0x8a + .byte 0xb0 + .uleb128 0x3 + .long .LASF42 + .byte 0x7 + .byte 0x5f + .byte 0xa + .long 0xba + .byte 0xb8 + .uleb128 0x3 + .long .LASF43 + .byte 0x7 + .byte 0x60 + .byte 0x7 + .long 0x64 + .byte 0xc0 + .uleb128 0x3 + .long .LASF44 + .byte 0x7 + .byte 0x62 + .byte 0x8 + .long 0x299 + .byte 0xc4 + .byte 0 + .uleb128 0xb + .long .LASF45 + .byte 0x8 + .byte 0x7 + .byte 0x19 + .long 0xc6 + .uleb128 0x21 + .long .LASF107 + .byte 0x7 + .byte 0x2b + .byte 0xe + .uleb128 0x17 + .long .LASF46 + .uleb128 0x8 + .long 0x261 + .uleb128 0x8 + .long 0xc6 + .uleb128 0x10 + .long 0x96 + .long 0x280 + .uleb128 0x11 + .long 0x43 + .byte 0 + .byte 0 + .uleb128 0x8 + .long 0x259 + .uleb128 0x17 + .long .LASF47 + .uleb128 0x8 + .long 0x285 + .uleb128 0x17 + .long .LASF48 + .uleb128 0x8 + .long 0x28f + .uleb128 0x10 + .long 0x96 + .long 0x2a9 + .uleb128 0x11 + .long 0x43 + .byte 0x13 + .byte 0 + .uleb128 0x8 + .long 0x9d + .uleb128 0x16 + .long 0x2a9 + .uleb128 0xe + .long 0x2a9 + .uleb128 0x8 + .long 0x24d + .uleb128 0x16 + .long 0x2b8 + .uleb128 0x19 + .long .LASF49 + .byte 0x96 + .long 0x2b8 + .uleb128 0x19 + .long .LASF50 + .byte 0x97 + .long 0x2b8 + .uleb128 0xb + .long .LASF51 + .byte 0xa + .byte 0x6 + .byte 0xf + .long 0x2b8 + .uleb128 0x22 + .byte 0x20 + .byte 0xa + .byte 0x8 + .byte 0x9 + .long 0x320 + .uleb128 0x23 + .string "ptr" + .byte 0xa + .byte 0xa + .byte 0xa + .long 0x2d6 + .byte 0 + .uleb128 0x3 + .long .LASF52 + .byte 0xa + .byte 0xb + .byte 0xc + .long 0x320 + .byte 0x8 + .uleb128 0x3 + .long .LASF53 + .byte 0xa + .byte 0xc + .byte 0xf + .long 0x2a9 + .byte 0x10 + .uleb128 0x3 + .long .LASF54 + .byte 0xa + .byte 0xd + .byte 0xa + .long 0xba + .byte 0x18 + .byte 0 + .uleb128 0x8 + .long 0xa2 + .uleb128 0xe + .long 0x320 + .uleb128 0xb + .long .LASF55 + .byte 0xa + .byte 0xe + .byte 0x4 + .long 0x336 + .uleb128 0x8 + .long 0x2e2 + .uleb128 0xa + .byte 0x8 + .byte 0x5 + .long .LASF56 + .uleb128 0xa + .byte 0x8 + .byte 0x7 + .long .LASF57 + .uleb128 0x15 + .long .LASF58 + .byte 0x9 + .byte 0xb8 + .byte 0xc + .long 0x64 + .long 0x35f + .uleb128 0x4 + .long 0x2b8 + .byte 0 + .uleb128 0x24 + .long .LASF108 + .byte 0xd + .byte 0x50 + .byte 0x6 + .long 0x376 + .uleb128 0x4 + .long 0x2a9 + .uleb128 0x4 + .long 0x8a + .byte 0 + .uleb128 0x12 + .long .LASF59 + .byte 0x9 + .value 0x13a + .byte 0xe + .long 0x2b8 + .long 0x397 + .uleb128 0x4 + .long 0x8a + .uleb128 0x4 + .long 0xba + .uleb128 0x4 + .long 0x2a9 + .byte 0 + .uleb128 0x15 + .long .LASF60 + .byte 0xb + .byte 0x7a + .byte 0xf + .long 0xba + .long 0x3c1 + .uleb128 0x4 + .long 0x8c + .uleb128 0x4 + .long 0xba + .uleb128 0x4 + .long 0xba + .uleb128 0x4 + .long 0xba + .uleb128 0x4 + .long 0x2bd + .byte 0 + .uleb128 0x25 + .long .LASF84 + .byte 0xb + .byte 0x6e + .byte 0xf + .long .LASF85 + .long 0xba + .long 0x3ea + .uleb128 0x4 + .long 0x8c + .uleb128 0x4 + .long 0xba + .uleb128 0x4 + .long 0xba + .uleb128 0x4 + .long 0x2bd + .byte 0 + .uleb128 0x26 + .long .LASF61 + .byte 0xc + .value 0x2f4 + .byte 0xd + .long 0x3fd + .uleb128 0x4 + .long 0x64 + .byte 0 + .uleb128 0x15 + .long .LASF62 + .byte 0xd + .byte 0x52 + .byte 0x7 + .long 0x8a + .long 0x41d + .uleb128 0x4 + .long 0x2a9 + .uleb128 0x4 + .long 0xba + .uleb128 0x4 + .long 0xba + .byte 0 + .uleb128 0x12 + .long .LASF63 + .byte 0x9 + .value 0x311 + .byte 0x11 + .long 0x6b + .long 0x434 + .uleb128 0x4 + .long 0x2b8 + .byte 0 + .uleb128 0x12 + .long .LASF64 + .byte 0x9 + .value 0x30b + .byte 0xc + .long 0x64 + .long 0x455 + .uleb128 0x4 + .long 0x2b8 + .uleb128 0x4 + .long 0x6b + .uleb128 0x4 + .long 0x64 + .byte 0 + .uleb128 0x15 + .long .LASF65 + .byte 0xb + .byte 0x31 + .byte 0xc + .long 0x64 + .long 0x476 + .uleb128 0x4 + .long 0x2bd + .uleb128 0x4 + .long 0x64 + .uleb128 0x4 + .long 0x2ae + .uleb128 0x1a + .byte 0 + .uleb128 0x12 + .long .LASF66 + .byte 0xe + .value 0x1a3 + .byte 0xe + .long 0x91 + .long 0x48d + .uleb128 0x4 + .long 0x64 + .byte 0 + .uleb128 0x27 + .long .LASF109 + .byte 0x10 + .byte 0x25 + .byte 0xd + .long 0x499 + .uleb128 0x8 + .long 0x64 + .uleb128 0x12 + .long .LASF67 + .byte 0x9 + .value 0x108 + .byte 0xe + .long 0x2b8 + .long 0x4ba + .uleb128 0x4 + .long 0x2ae + .uleb128 0x4 + .long 0x2ae + .byte 0 + .uleb128 0x1b + .long .LASF68 + .byte 0x47 + .quad .LFB59 + .quad .LFE59-.LFB59 + .uleb128 0x1 + .byte 0x9c + .long 0x5a8 + .uleb128 0x9 + .long .LASF70 + .byte 0x47 + .byte 0x17 + .long 0x2d6 + .long .LLST28 + .long .LVUS28 + .uleb128 0xc + .long 0x10ce + .quad .LBI26 + .byte .LVU141 + .quad .LBB26 + .quad .LBE26-.LBB26 + .byte 0x49 + .byte 0x3 + .long 0x567 + .uleb128 0x5 + .long 0x10e7 + .long .LLST29 + .long .LVUS29 + .uleb128 0x5 + .long 0x10dc + .long .LLST30 + .long .LVUS30 + .uleb128 0x6 + .quad .LVL92 + .long 0x455 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x49 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL93 + .long 0x349 + .long 0x57f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x7 + .quad .LVL96 + .long 0x10f4 + .uleb128 0x6 + .quad .LVL97 + .long 0x10fd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data27 + .byte 0 + .byte 0 + .uleb128 0x1b + .long .LASF69 + .byte 0x3e + .quad .LFB58 + .quad .LFE58-.LFB58 + .uleb128 0x1 + .byte 0x9c + .long 0x796 + .uleb128 0x9 + .long .LASF71 + .byte 0x3e + .byte 0x20 + .long 0x32a + .long .LLST31 + .long .LVUS31 + .uleb128 0x18 + .long .LASF74 + .long 0x7a6 + .uleb128 0x9 + .byte 0x3 + .quad __func__.0 + .uleb128 0xc + .long 0x10ce + .quad .LBI28 + .byte .LVU155 + .quad .LBB28 + .quad .LBE28-.LBB28 + .byte 0x40 + .byte 0x3 + .long 0x668 + .uleb128 0x5 + .long 0x10e7 + .long .LLST32 + .long .LVUS32 + .uleb128 0x5 + .long 0x10dc + .long .LLST33 + .long .LVUS33 + .uleb128 0x6 + .quad .LVL101 + .long 0x455 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x40 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL102 + .long 0x4ba + .long 0x680 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL103 + .long 0x35f + .long 0x698 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL104 + .long 0x35f + .long 0x6b6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x7 + .quad .LVL107 + .long 0x10f4 + .uleb128 0x2 + .quad .LVL108 + .long 0x10fd + .long 0x6e2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data30 + .byte 0 + .uleb128 0x2 + .quad .LVL109 + .long 0x1106 + .long 0x707 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data40 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL110 + .long 0x10f4 + .long 0x71f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL111 + .long 0x10fd + .long 0x73e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data32 + .byte 0 + .uleb128 0x2 + .quad .LVL112 + .long 0x1106 + .long 0x763 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data41 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL113 + .long 0x110f + .long 0x788 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data42 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x7 + .quad .LVL114 + .long 0x10f4 + .byte 0 + .uleb128 0x10 + .long 0x9d + .long 0x7a6 + .uleb128 0x11 + .long 0x43 + .byte 0x11 + .byte 0 + .uleb128 0xe + .long 0x796 + .uleb128 0x13 + .long .LASF75 + .byte 0x30 + .long 0x32a + .quad .LFB57 + .quad .LFE57-.LFB57 + .uleb128 0x1 + .byte 0x9c + .long 0xa1f + .uleb128 0x9 + .long .LASF70 + .byte 0x30 + .byte 0x25 + .long 0x2d6 + .long .LLST23 + .long .LVUS23 + .uleb128 0x9 + .long .LASF53 + .byte 0x30 + .byte 0x3d + .long 0x2b3 + .long .LLST24 + .long .LVUS24 + .uleb128 0xf + .long .LASF72 + .byte 0x32 + .byte 0xc + .long 0x320 + .long .LLST25 + .long .LVUS25 + .uleb128 0xf + .long .LASF73 + .byte 0x33 + .byte 0xa + .long 0xba + .long .LLST26 + .long .LVUS26 + .uleb128 0xf + .long .LASF71 + .byte 0x35 + .byte 0xf + .long 0x32a + .long .LLST27 + .long .LVUS27 + .uleb128 0x18 + .long .LASF74 + .long 0xa2f + .uleb128 0x9 + .byte 0x3 + .quad __func__.1 + .uleb128 0x2 + .quad .LVL62 + .long 0xd81 + .long 0x855 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL64 + .long 0xe16 + .long 0x86d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL67 + .long 0xa34 + .long 0x891 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL68 + .long 0x3fd + .long 0x8bb + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad __func__.1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x31 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x8 + .byte 0x20 + .byte 0 + .uleb128 0x2 + .quad .LVL71 + .long 0x376 + .long 0x8e6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC6 + .byte 0 + .uleb128 0x2 + .quad .LVL77 + .long 0x10fd + .long 0x905 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data26 + .byte 0 + .uleb128 0x2 + .quad .LVL79 + .long 0x1106 + .long 0x92a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data34 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL80 + .long 0x110f + .long 0x94f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data35 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x7 + .quad .LVL81 + .long 0x1118 + .uleb128 0x2 + .quad .LVL82 + .long 0x1106 + .long 0x981 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data36 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL83 + .long 0x110f + .long 0x9a6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data37 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x7 + .quad .LVL84 + .long 0x1118 + .uleb128 0x2 + .quad .LVL85 + .long 0x1106 + .long 0x9d8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data38 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x7 + .quad .LVL86 + .long 0x1118 + .uleb128 0x2 + .quad .LVL87 + .long 0x1106 + .long 0xa0a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data39 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x6 + .quad .LVL88 + .long 0x1118 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x10 + .long 0x9d + .long 0xa2f + .uleb128 0x11 + .long 0x43 + .byte 0x1b + .byte 0 + .uleb128 0xe + .long 0xa1f + .uleb128 0x13 + .long .LASF76 + .byte 0x22 + .long 0xba + .quad .LFB56 + .quad .LFE56-.LFB56 + .uleb128 0x1 + .byte 0x9c + .long 0xd81 + .uleb128 0x9 + .long .LASF70 + .byte 0x22 + .byte 0x22 + .long 0x2d6 + .long .LLST8 + .long .LVUS8 + .uleb128 0x9 + .long .LASF52 + .byte 0x22 + .byte 0x37 + .long 0x325 + .long .LLST9 + .long .LVUS9 + .uleb128 0x9 + .long .LASF77 + .byte 0x22 + .byte 0x46 + .long 0xba + .long .LLST10 + .long .LVUS10 + .uleb128 0xf + .long .LASF78 + .byte 0x28 + .byte 0x1d + .long 0xba + .long .LLST11 + .long .LVUS11 + .uleb128 0xc + .long 0x1087 + .quad .LBI18 + .byte .LVU54 + .quad .LBB18 + .quad .LBE18-.LBB18 + .byte 0x28 + .byte 0x2e + .long 0xb2b + .uleb128 0x5 + .long 0x10b7 + .long .LLST12 + .long .LVUS12 + .uleb128 0x5 + .long 0x10ab + .long .LLST13 + .long .LVUS13 + .uleb128 0x5 + .long 0x10a0 + .long .LLST14 + .long .LVUS14 + .uleb128 0x5 + .long 0x1095 + .long .LLST15 + .long .LVUS15 + .uleb128 0x28 + .long 0x10c2 + .long .LLST16 + .long .LVUS16 + .uleb128 0x6 + .quad .LVL35 + .long 0x3c1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x31 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0xc + .long 0x10ce + .quad .LBI20 + .byte .LVU65 + .quad .LBB20 + .quad .LBE20-.LBB20 + .byte 0x2a + .byte 0x5 + .long 0xba9 + .uleb128 0x5 + .long 0x10e7 + .long .LLST17 + .long .LVUS17 + .uleb128 0x5 + .long 0x10dc + .long .LLST18 + .long .LVUS18 + .uleb128 0x6 + .quad .LVL40 + .long 0x455 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x2a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0xc + .long 0x10ce + .quad .LBI22 + .byte .LVU75 + .quad .LBB22 + .quad .LBE22-.LBB22 + .byte 0x24 + .byte 0x33 + .long 0xc2e + .uleb128 0x5 + .long 0x10e7 + .long .LLST19 + .long .LVUS19 + .uleb128 0x5 + .long 0x10dc + .long .LLST20 + .long .LVUS20 + .uleb128 0x6 + .quad .LVL46 + .long 0x455 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x24 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x9 + .byte 0x3 + .quad .LC2 + .byte 0 + .byte 0 + .uleb128 0xc + .long 0x10ce + .quad .LBI24 + .byte .LVU81 + .quad .LBB24 + .quad .LBE24-.LBB24 + .byte 0x24 + .byte 0xab + .long 0xcac + .uleb128 0x5 + .long 0x10e7 + .long .LLST21 + .long .LVUS21 + .uleb128 0x5 + .long 0x10dc + .long .LLST22 + .long .LVUS22 + .uleb128 0x6 + .quad .LVL50 + .long 0x455 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC4 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x24 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL33 + .long 0xe16 + .long 0xcc4 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL47 + .long 0xe16 + .long 0xcdc + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x7 + .quad .LVL51 + .long 0x1121 + .uleb128 0x2 + .quad .LVL52 + .long 0x3ea + .long 0xd00 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .uleb128 0x7 + .quad .LVL53 + .long 0x10f4 + .uleb128 0x2 + .quad .LVL54 + .long 0x10fd + .long 0xd2c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data17 + .byte 0 + .uleb128 0x7 + .quad .LVL56 + .long 0x10f4 + .uleb128 0x2 + .quad .LVL57 + .long 0x10fd + .long 0xd58 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data19 + .byte 0 + .uleb128 0x7 + .quad .LVL59 + .long 0x10f4 + .uleb128 0x6 + .quad .LVL60 + .long 0x10fd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data22 + .byte 0 + .byte 0 + .uleb128 0x13 + .long .LASF79 + .byte 0x1c + .long 0x320 + .quad .LFB55 + .quad .LFE55-.LFB55 + .uleb128 0x1 + .byte 0x9c + .long 0xe01 + .uleb128 0x9 + .long .LASF70 + .byte 0x1c + .byte 0x1e + .long 0x2d6 + .long .LLST7 + .long .LVUS7 + .uleb128 0x18 + .long .LASF74 + .long 0xe11 + .uleb128 0x9 + .byte 0x3 + .quad __func__.2 + .uleb128 0x2 + .quad .LVL30 + .long 0xe16 + .long 0xde0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x3 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0 + .uleb128 0x6 + .quad .LVL31 + .long 0x3fd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad __func__.2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .byte 0 + .uleb128 0x10 + .long 0x9d + .long 0xe11 + .uleb128 0x11 + .long 0x43 + .byte 0x14 + .byte 0 + .uleb128 0xe + .long 0xe01 + .uleb128 0x13 + .long .LASF80 + .byte 0x13 + .long 0xba + .quad .LFB54 + .quad .LFE54-.LFB54 + .uleb128 0x1 + .byte 0x9c + .long 0xf12 + .uleb128 0x9 + .long .LASF70 + .byte 0x13 + .byte 0x19 + .long 0x2d6 + .long .LLST5 + .long .LVUS5 + .uleb128 0xf + .long .LASF73 + .byte 0x16 + .byte 0x1d + .long 0x6b + .long .LLST6 + .long .LVUS6 + .uleb128 0x2 + .quad .LVL17 + .long 0x434 + .long 0xe7e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x30 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x32 + .byte 0 + .uleb128 0x2 + .quad .LVL18 + .long 0x41d + .long 0xe96 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL21 + .long 0x434 + .long 0xeb8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x30 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x30 + .byte 0 + .uleb128 0x2 + .quad .LVL25 + .long 0x10fd + .long 0xed7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data14 + .byte 0 + .uleb128 0x2 + .quad .LVL26 + .long 0x10fd + .long 0xef6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data15 + .byte 0 + .uleb128 0x6 + .quad .LVL28 + .long 0x10fd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data16 + .byte 0 + .byte 0 + .uleb128 0x13 + .long .LASF81 + .byte 0x7 + .long 0x2d6 + .quad .LFB53 + .quad .LFE53-.LFB53 + .uleb128 0x1 + .byte 0x9c + .long 0x1087 + .uleb128 0x9 + .long .LASF82 + .byte 0x7 + .byte 0x1b + .long 0x2a9 + .long .LLST0 + .long .LVUS0 + .uleb128 0x9 + .long .LASF83 + .byte 0x7 + .byte 0x31 + .long 0x2a9 + .long .LLST1 + .long .LVUS1 + .uleb128 0xf + .long .LASF70 + .byte 0x9 + .byte 0x1d + .long 0x2b8 + .long .LLST2 + .long .LVUS2 + .uleb128 0xc + .long 0x10ce + .quad .LBI16 + .byte .LVU15 + .quad .LBB16 + .quad .LBE16-.LBB16 + .byte 0xc + .byte 0x7 + .long 0xfe8 + .uleb128 0x5 + .long 0x10e7 + .long .LLST3 + .long .LVUS3 + .uleb128 0x5 + .long 0x10dc + .long .LLST4 + .long .LVUS4 + .uleb128 0x6 + .quad .LVL10 + .long 0x455 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x1 + .byte 0x3c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL1 + .long 0x49e + .long 0x1007 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x3 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0 + .uleb128 0x7 + .quad .LVL7 + .long 0x48d + .uleb128 0x7 + .quad .LVL8 + .long 0x476 + .uleb128 0x2 + .quad .LVL11 + .long 0x1106 + .long 0x1046 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data33 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL12 + .long 0x112a + .long 0x105e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x7 + .quad .LVL13 + .long 0x10f4 + .uleb128 0x6 + .quad .LVL14 + .long 0x10fd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data12 + .byte 0 + .byte 0 + .uleb128 0x1c + .long .LASF85 + .byte 0xcf + .long 0xba + .long 0x10ce + .uleb128 0x14 + .long .LASF86 + .byte 0xcf + .byte 0x19 + .long 0x8c + .uleb128 0x14 + .long .LASF87 + .byte 0xcf + .byte 0x27 + .long 0xba + .uleb128 0x29 + .string "__n" + .byte 0x2 + .byte 0xcf + .byte 0x36 + .long 0xba + .uleb128 0x14 + .long .LASF88 + .byte 0xd0 + .byte 0x19 + .long 0x2bd + .uleb128 0x2a + .string "sz" + .byte 0x2 + .byte 0xd2 + .byte 0xa + .long 0xba + .byte 0 + .uleb128 0x1c + .long .LASF89 + .byte 0x4d + .long 0x64 + .long 0x10f4 + .uleb128 0x14 + .long .LASF88 + .byte 0x4d + .byte 0x1b + .long 0x2bd + .uleb128 0x14 + .long .LASF90 + .byte 0x4d + .byte 0x3c + .long 0x2ae + .uleb128 0x1a + .byte 0 + .uleb128 0xd + .long .LASF91 + .long .LASF93 + .uleb128 0xd + .long .LASF92 + .long .LASF94 + .uleb128 0xd + .long .LASF95 + .long .LASF96 + .uleb128 0xd + .long .LASF97 + .long .LASF98 + .uleb128 0xd + .long .LASF99 + .long .LASF100 + .uleb128 0xd + .long .LASF101 + .long .LASF102 + .uleb128 0xd + .long .LASF103 + .long .LASF104 + .byte 0 + .section .debug_abbrev,"",@progbits +.Ldebug_abbrev0: + .uleb128 0x1 + .uleb128 0x49 + .byte 0 + .uleb128 0x2 + .uleb128 0x18 + .uleb128 0x7e + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x2 + .uleb128 0x48 + .byte 0x1 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x3 + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x4 + .uleb128 0x5 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x5 + .uleb128 0x5 + .byte 0 + .uleb128 0x31 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x6 + .uleb128 0x48 + .byte 0x1 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x7 + .uleb128 0x48 + .byte 0 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x8 + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0x21 + .sleb128 8 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x9 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0xa + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .byte 0 + .byte 0 + .uleb128 0xb + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xc + .uleb128 0x1d + .byte 0x1 + .uleb128 0x31 + .uleb128 0x13 + .uleb128 0x52 + .uleb128 0x1 + .uleb128 0x2138 + .uleb128 0xb + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x58 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x59 + .uleb128 0xb + .uleb128 0x57 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xd + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x6e + .uleb128 0xe + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 15 + .uleb128 0x3b + .uleb128 0x21 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0xe + .uleb128 0x26 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xf + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x10 + .uleb128 0x1 + .byte 0x1 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x11 + .uleb128 0x21 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2f + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x12 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x13 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x14 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 2 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x15 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x16 + .uleb128 0x37 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x17 + .uleb128 0x13 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x18 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x34 + .uleb128 0x19 + .uleb128 0x2 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x19 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 9 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 14 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x1a + .uleb128 0x18 + .byte 0 + .byte 0 + .byte 0 + .uleb128 0x1b + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x1c + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 2 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x20 + .uleb128 0x21 + .sleb128 3 + .uleb128 0x34 + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x1d + .uleb128 0x11 + .byte 0x1 + .uleb128 0x25 + .uleb128 0xe + .uleb128 0x13 + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x1f + .uleb128 0x1b + .uleb128 0x1f + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x10 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x1e + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x8 + .byte 0 + .byte 0 + .uleb128 0x1f + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x20 + .uleb128 0x13 + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x21 + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x22 + .uleb128 0x13 + .byte 0x1 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x23 + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x24 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x25 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x6e + .uleb128 0xe + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x26 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x87 + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x27 + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x28 + .uleb128 0x34 + .byte 0 + .uleb128 0x31 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x29 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x2a + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .byte 0 + .section .debug_loclists,"",@progbits + .long .Ldebug_loc3-.Ldebug_loc2 +.Ldebug_loc2: + .value 0x5 + .byte 0x8 + .byte 0 + .long 0 +.Ldebug_loc0: +.LVUS28: + .uleb128 0 + .uleb128 .LVU140 + .uleb128 .LVU140 + .uleb128 .LVU147 + .uleb128 .LVU147 + .uleb128 .LVU148 + .uleb128 .LVU148 + .uleb128 0 +.LLST28: + .byte 0x4 + .uleb128 .LVL89-.Ltext0 + .uleb128 .LVL90-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL90-.Ltext0 + .uleb128 .LVL94-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL94-.Ltext0 + .uleb128 .LVL95-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL95-.Ltext0 + .uleb128 .LFE59-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS29: + .uleb128 .LVU141 + .uleb128 .LVU144 +.LLST29: + .byte 0x4 + .uleb128 .LVL91-.Ltext0 + .uleb128 .LVL92-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC7 + .byte 0x9f + .byte 0 +.LVUS30: + .uleb128 .LVU141 + .uleb128 .LVU144 +.LLST30: + .byte 0x4 + .uleb128 .LVL91-.Ltext0 + .uleb128 .LVL92-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS31: + .uleb128 0 + .uleb128 .LVU154 + .uleb128 .LVU154 + .uleb128 .LVU165 + .uleb128 .LVU165 + .uleb128 .LVU166 + .uleb128 .LVU166 + .uleb128 0 +.LLST31: + .byte 0x4 + .uleb128 .LVL98-.Ltext0 + .uleb128 .LVL99-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL99-.Ltext0 + .uleb128 .LVL105-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL105-.Ltext0 + .uleb128 .LVL106-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL106-.Ltext0 + .uleb128 .LFE58-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS32: + .uleb128 .LVU155 + .uleb128 .LVU158 +.LLST32: + .byte 0x4 + .uleb128 .LVL100-.Ltext0 + .uleb128 .LVL101-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC8 + .byte 0x9f + .byte 0 +.LVUS33: + .uleb128 .LVU155 + .uleb128 .LVU158 +.LLST33: + .byte 0x4 + .uleb128 .LVL100-.Ltext0 + .uleb128 .LVL101-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS23: + .uleb128 0 + .uleb128 .LVU95 + .uleb128 .LVU95 + .uleb128 .LVU103 + .uleb128 .LVU103 + .uleb128 .LVU122 + .uleb128 .LVU122 + .uleb128 .LVU124 + .uleb128 .LVU124 + .uleb128 0 +.LLST23: + .byte 0x4 + .uleb128 .LVL61-.Ltext0 + .uleb128 .LVL62-1-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL62-1-.Ltext0 + .uleb128 .LVL69-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL69-.Ltext0 + .uleb128 .LVL76-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL76-.Ltext0 + .uleb128 .LVL78-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL78-.Ltext0 + .uleb128 .LFE57-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS24: + .uleb128 0 + .uleb128 .LVU95 + .uleb128 .LVU95 + .uleb128 .LVU121 + .uleb128 .LVU121 + .uleb128 .LVU122 + .uleb128 .LVU122 + .uleb128 0 +.LLST24: + .byte 0x4 + .uleb128 .LVL61-.Ltext0 + .uleb128 .LVL62-1-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL62-1-.Ltext0 + .uleb128 .LVL75-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL75-.Ltext0 + .uleb128 .LVL76-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL76-.Ltext0 + .uleb128 .LFE57-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0 +.LVUS25: + .uleb128 .LVU96 + .uleb128 .LVU98 + .uleb128 .LVU98 + .uleb128 .LVU116 + .uleb128 .LVU122 + .uleb128 .LVU133 +.LLST25: + .byte 0x4 + .uleb128 .LVL63-.Ltext0 + .uleb128 .LVL64-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL64-1-.Ltext0 + .uleb128 .LVL72-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL76-.Ltext0 + .uleb128 .LVL86-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS26: + .uleb128 .LVU99 + .uleb128 .LVU100 + .uleb128 .LVU100 + .uleb128 .LVU120 + .uleb128 .LVU122 + .uleb128 .LVU123 + .uleb128 .LVU123 + .uleb128 0 +.LLST26: + .byte 0x4 + .uleb128 .LVL65-.Ltext0 + .uleb128 .LVL66-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL66-.Ltext0 + .uleb128 .LVL74-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL76-.Ltext0 + .uleb128 .LVL77-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL77-1-.Ltext0 + .uleb128 .LFE57-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS27: + .uleb128 .LVU103 + .uleb128 .LVU105 + .uleb128 .LVU105 + .uleb128 .LVU119 + .uleb128 .LVU119 + .uleb128 .LVU122 + .uleb128 .LVU124 + .uleb128 .LVU125 + .uleb128 .LVU125 + .uleb128 0 +.LLST27: + .byte 0x4 + .uleb128 .LVL69-.Ltext0 + .uleb128 .LVL70-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL70-.Ltext0 + .uleb128 .LVL73-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL73-.Ltext0 + .uleb128 .LVL76-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL78-.Ltext0 + .uleb128 .LVL79-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL79-1-.Ltext0 + .uleb128 .LFE57-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS8: + .uleb128 0 + .uleb128 .LVU50 + .uleb128 .LVU50 + .uleb128 .LVU59 + .uleb128 .LVU59 + .uleb128 .LVU73 + .uleb128 .LVU73 + .uleb128 .LVU80 + .uleb128 .LVU80 + .uleb128 .LVU86 + .uleb128 .LVU86 + .uleb128 .LVU88 + .uleb128 .LVU88 + .uleb128 0 +.LLST8: + .byte 0x4 + .uleb128 .LVL32-.Ltext0 + .uleb128 .LVL33-1-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL33-1-.Ltext0 + .uleb128 .LVL36-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL36-.Ltext0 + .uleb128 .LVL43-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL43-.Ltext0 + .uleb128 .LVL48-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL48-.Ltext0 + .uleb128 .LVL52-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL52-.Ltext0 + .uleb128 .LVL55-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL55-.Ltext0 + .uleb128 .LFE56-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS9: + .uleb128 0 + .uleb128 .LVU50 + .uleb128 .LVU50 + .uleb128 .LVU64 + .uleb128 .LVU64 + .uleb128 .LVU73 + .uleb128 .LVU73 + .uleb128 .LVU74 + .uleb128 .LVU74 + .uleb128 .LVU86 + .uleb128 .LVU86 + .uleb128 .LVU87 + .uleb128 .LVU87 + .uleb128 .LVU89 + .uleb128 .LVU89 + .uleb128 .LVU90 + .uleb128 .LVU90 + .uleb128 0 +.LLST9: + .byte 0x4 + .uleb128 .LVL32-.Ltext0 + .uleb128 .LVL33-1-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL33-1-.Ltext0 + .uleb128 .LVL38-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL38-.Ltext0 + .uleb128 .LVL43-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL43-.Ltext0 + .uleb128 .LVL44-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL44-.Ltext0 + .uleb128 .LVL52-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL52-.Ltext0 + .uleb128 .LVL53-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL53-.Ltext0 + .uleb128 .LVL58-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL58-.Ltext0 + .uleb128 .LVL59-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL59-.Ltext0 + .uleb128 .LFE56-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0 +.LVUS10: + .uleb128 0 + .uleb128 .LVU50 + .uleb128 .LVU50 + .uleb128 .LVU71 + .uleb128 .LVU71 + .uleb128 .LVU73 + .uleb128 .LVU73 + .uleb128 0 +.LLST10: + .byte 0x4 + .uleb128 .LVL32-.Ltext0 + .uleb128 .LVL33-1-.Ltext0 + .uleb128 0x1 + .byte 0x51 + .byte 0x4 + .uleb128 .LVL33-1-.Ltext0 + .uleb128 .LVL41-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL41-.Ltext0 + .uleb128 .LVL43-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x51 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL43-.Ltext0 + .uleb128 .LFE56-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS11: + .uleb128 .LVU59 + .uleb128 .LVU63 + .uleb128 .LVU63 + .uleb128 .LVU72 + .uleb128 .LVU72 + .uleb128 .LVU73 + .uleb128 .LVU89 + .uleb128 0 +.LLST11: + .byte 0x4 + .uleb128 .LVL36-.Ltext0 + .uleb128 .LVL37-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL37-.Ltext0 + .uleb128 .LVL42-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL42-.Ltext0 + .uleb128 .LVL43-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL58-.Ltext0 + .uleb128 .LFE56-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS12: + .uleb128 .LVU54 + .uleb128 .LVU59 +.LLST12: + .byte 0x4 + .uleb128 .LVL34-.Ltext0 + .uleb128 .LVL36-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS13: + .uleb128 .LVU54 + .uleb128 .LVU59 +.LLST13: + .byte 0x4 + .uleb128 .LVL34-.Ltext0 + .uleb128 .LVL36-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS14: + .uleb128 .LVU54 + .uleb128 .LVU59 +.LLST14: + .byte 0x4 + .uleb128 .LVL34-.Ltext0 + .uleb128 .LVL36-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0 +.LVUS15: + .uleb128 .LVU54 + .uleb128 .LVU59 +.LLST15: + .byte 0x4 + .uleb128 .LVL34-.Ltext0 + .uleb128 .LVL36-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS16: + .uleb128 .LVU56 + .uleb128 .LVU59 +.LLST16: + .byte 0x4 + .uleb128 .LVL34-.Ltext0 + .uleb128 .LVL36-.Ltext0 + .uleb128 0x3 + .byte 0x9 + .byte 0xff + .byte 0x9f + .byte 0 +.LVUS17: + .uleb128 .LVU65 + .uleb128 .LVU68 +.LLST17: + .byte 0x4 + .uleb128 .LVL39-.Ltext0 + .uleb128 .LVL40-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC5 + .byte 0x9f + .byte 0 +.LVUS18: + .uleb128 .LVU65 + .uleb128 .LVU68 +.LLST18: + .byte 0x4 + .uleb128 .LVL39-.Ltext0 + .uleb128 .LVL40-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS19: + .uleb128 .LVU75 + .uleb128 .LVU78 +.LLST19: + .byte 0x4 + .uleb128 .LVL45-.Ltext0 + .uleb128 .LVL46-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC3 + .byte 0x9f + .byte 0 +.LVUS20: + .uleb128 .LVU75 + .uleb128 .LVU78 +.LLST20: + .byte 0x4 + .uleb128 .LVL45-.Ltext0 + .uleb128 .LVL46-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS21: + .uleb128 .LVU81 + .uleb128 .LVU84 +.LLST21: + .byte 0x4 + .uleb128 .LVL49-.Ltext0 + .uleb128 .LVL50-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC4 + .byte 0x9f + .byte 0 +.LVUS22: + .uleb128 .LVU81 + .uleb128 .LVU84 +.LLST22: + .byte 0x4 + .uleb128 .LVL49-.Ltext0 + .uleb128 .LVL50-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS7: + .uleb128 0 + .uleb128 .LVU43 + .uleb128 .LVU43 + .uleb128 0 +.LLST7: + .byte 0x4 + .uleb128 .LVL29-.Ltext0 + .uleb128 .LVL30-1-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL30-1-.Ltext0 + .uleb128 .LFE55-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS5: + .uleb128 0 + .uleb128 .LVU26 + .uleb128 .LVU26 + .uleb128 .LVU33 + .uleb128 .LVU33 + .uleb128 .LVU35 + .uleb128 .LVU35 + .uleb128 0 +.LLST5: + .byte 0x4 + .uleb128 .LVL15-.Ltext0 + .uleb128 .LVL16-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL16-.Ltext0 + .uleb128 .LVL22-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL22-.Ltext0 + .uleb128 .LVL24-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL24-.Ltext0 + .uleb128 .LFE54-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS6: + .uleb128 .LVU29 + .uleb128 .LVU30 + .uleb128 .LVU30 + .uleb128 .LVU34 + .uleb128 .LVU34 + .uleb128 .LVU35 + .uleb128 .LVU37 + .uleb128 .LVU38 + .uleb128 .LVU38 + .uleb128 0 +.LLST6: + .byte 0x4 + .uleb128 .LVL19-.Ltext0 + .uleb128 .LVL20-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL20-.Ltext0 + .uleb128 .LVL23-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL23-.Ltext0 + .uleb128 .LVL24-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL27-.Ltext0 + .uleb128 .LVL28-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL28-1-.Ltext0 + .uleb128 .LFE54-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS0: + .uleb128 0 + .uleb128 .LVU4 + .uleb128 .LVU4 + .uleb128 .LVU9 + .uleb128 .LVU9 + .uleb128 .LVU10 + .uleb128 .LVU10 + .uleb128 0 +.LLST0: + .byte 0x4 + .uleb128 .LVL0-.Ltext0 + .uleb128 .LVL1-1-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL1-1-.Ltext0 + .uleb128 .LVL5-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL5-.Ltext0 + .uleb128 .LVL6-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL6-.Ltext0 + .uleb128 .LFE53-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS1: + .uleb128 0 + .uleb128 .LVU4 + .uleb128 .LVU4 + .uleb128 0 +.LLST1: + .byte 0x4 + .uleb128 .LVL0-.Ltext0 + .uleb128 .LVL1-1-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL1-1-.Ltext0 + .uleb128 .LFE53-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0 +.LVUS2: + .uleb128 .LVU5 + .uleb128 .LVU7 + .uleb128 .LVU7 + .uleb128 .LVU8 + .uleb128 .LVU8 + .uleb128 .LVU12 + .uleb128 .LVU12 + .uleb128 0 +.LLST2: + .byte 0x4 + .uleb128 .LVL2-.Ltext0 + .uleb128 .LVL3-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL3-.Ltext0 + .uleb128 .LVL4-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL4-.Ltext0 + .uleb128 .LVL7-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL7-1-.Ltext0 + .uleb128 .LFE53-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS3: + .uleb128 .LVU15 + .uleb128 .LVU18 +.LLST3: + .byte 0x4 + .uleb128 .LVL9-.Ltext0 + .uleb128 .LVL10-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC1 + .byte 0x9f + .byte 0 +.LVUS4: + .uleb128 .LVU15 + .uleb128 .LVU18 +.LLST4: + .byte 0x4 + .uleb128 .LVL9-.Ltext0 + .uleb128 .LVL10-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0 +.Ldebug_loc3: + .section .debug_aranges,"",@progbits + .long 0x2c + .value 0x2 + .long .Ldebug_info0 + .byte 0x8 + .byte 0 + .value 0 + .value 0 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .quad 0 + .quad 0 + .section .debug_line,"",@progbits +.Ldebug_line0: + .section .debug_str,"MS",@progbits,1 +.LASF10: + .string "__off_t" +.LASF103: + .string "__asan_report_load4" +.LASF17: + .string "_IO_read_ptr" +.LASF29: + .string "_chain" +.LASF15: + .string "size_t" +.LASF14: + .string "uintptr_t" +.LASF35: + .string "_shortbuf" +.LASF9: + .string "__uint8_t" +.LASF79: + .string "io_alloc_file_buffer" +.LASF87: + .string "__size" +.LASF94: + .string "__builtin___ubsan_handle_nonnull_arg" +.LASF71: + .string "stream" +.LASF53: + .string "path" +.LASF23: + .string "_IO_buf_base" +.LASF57: + .string "long long unsigned int" +.LASF74: + .string "__func__" +.LASF38: + .string "_codecvt" +.LASF64: + .string "fseek" +.LASF56: + .string "long long int" +.LASF6: + .string "signed char" +.LASF102: + .string "__builtin___asan_handle_no_return" +.LASF30: + .string "_fileno" +.LASF18: + .string "_IO_read_end" +.LASF8: + .string "long int" +.LASF55: + .string "memstream_t" +.LASF16: + .string "_flags" +.LASF24: + .string "_IO_buf_end" +.LASF33: + .string "_cur_column" +.LASF47: + .string "_IO_codecvt" +.LASF108: + .string "__chk_free_impl" +.LASF73: + .string "filesize" +.LASF32: + .string "_old_offset" +.LASF37: + .string "_offset" +.LASF69: + .string "io_free_memstream" +.LASF59: + .string "fmemopen" +.LASF46: + .string "_IO_marker" +.LASF4: + .string "unsigned int" +.LASF41: + .string "_freeres_buf" +.LASF89: + .string "fprintf" +.LASF80: + .string "io_get_filesize" +.LASF5: + .string "long unsigned int" +.LASF101: + .string "__asan_handle_no_return" +.LASF21: + .string "_IO_write_ptr" +.LASF54: + .string "size" +.LASF3: + .string "short unsigned int" +.LASF25: + .string "_IO_save_base" +.LASF76: + .string "io_read_file_into_buffer" +.LASF36: + .string "_lock" +.LASF75: + .string "io_read_file_into_memstream" +.LASF31: + .string "_flags2" +.LASF43: + .string "_mode" +.LASF49: + .string "stdout" +.LASF84: + .string "__fread_alias" +.LASF82: + .string "filename" +.LASF22: + .string "_IO_write_end" +.LASF99: + .string "__asan_report_store8" +.LASF70: + .string "file" +.LASF107: + .string "_IO_lock_t" +.LASF106: + .string "_IO_FILE" +.LASF104: + .string "__builtin___asan_report_load4" +.LASF93: + .string "__builtin___asan_report_load8" +.LASF67: + .string "fopen" +.LASF28: + .string "_markers" +.LASF62: + .string "__chk_calloc_impl" +.LASF78: + .string "nbytes_written" +.LASF2: + .string "unsigned char" +.LASF109: + .string "__errno_location" +.LASF7: + .string "short int" +.LASF105: + .ascii "GNU C17 13.3.1 202" + .string "40614 -mtune=generic -march=x86-64 -ggdb -Os -Og -std=gnu17 -p -fanalyzer -fsanitize=address,undefined,leak -fstack-protector-strong -fstack-clash-protection -fstrict-aliasing -ftrivial-auto-var-init=zero -fno-omit-frame-pointer -fno-common -fcf-protection" +.LASF48: + .string "_IO_wide_data" +.LASF34: + .string "_vtable_offset" +.LASF45: + .string "FILE" +.LASF61: + .string "exit" +.LASF65: + .string "__fprintf_chk" +.LASF85: + .string "fread" +.LASF12: + .string "char" +.LASF83: + .string "mode" +.LASF92: + .string "__ubsan_handle_nonnull_arg" +.LASF98: + .string "__builtin___ubsan_handle_pointer_overflow" +.LASF88: + .string "__stream" +.LASF81: + .string "io_open_file" +.LASF52: + .string "buffer" +.LASF58: + .string "fclose" +.LASF100: + .string "__builtin___asan_report_store8" +.LASF96: + .string "__builtin___ubsan_handle_type_mismatch_v1" +.LASF11: + .string "__off64_t" +.LASF19: + .string "_IO_read_base" +.LASF27: + .string "_IO_save_end" +.LASF90: + .string "__fmt" +.LASF97: + .string "__ubsan_handle_pointer_overflow" +.LASF42: + .string "__pad5" +.LASF44: + .string "_unused2" +.LASF50: + .string "stderr" +.LASF77: + .string "buffer_size" +.LASF13: + .string "uint8_t" +.LASF26: + .string "_IO_backup_base" +.LASF60: + .string "__fread_chk" +.LASF68: + .string "io_close_file" +.LASF40: + .string "_freeres_list" +.LASF72: + .string "file_buffer" +.LASF51: + .string "fptr_t" +.LASF39: + .string "_wide_data" +.LASF63: + .string "ftell" +.LASF66: + .string "strerror" +.LASF20: + .string "_IO_write_base" +.LASF86: + .string "__ptr" +.LASF95: + .string "__ubsan_handle_type_mismatch_v1" +.LASF91: + .string "__asan_report_load8" + .section .debug_line_str,"MS",@progbits,1 +.LASF1: + .string "/home/unazed/Programming/c/ucc-0.2.0" +.LASF0: + .string "src/io.c" + .ident "GCC: (Gentoo 13.3.1_p20240614 p17) 13.3.1 20240614" + .section .note.GNU-stack,"",@progbits + .section .note.gnu.property,"a" + .align 8 + .long 1f - 0f + .long 4f - 1f + .long 5 +0: + .string "GNU" +1: + .align 8 + .long 0xc0000002 + .long 3f - 2f +2: + .long 0x3 +3: + .align 8 +4: diff --git a/build/lexer.d b/build/lexer.d new file mode 100644 index 0000000..020035d --- /dev/null +++ b/build/lexer.d @@ -0,0 +1,10 @@ +build/lexer.o: src/lexer.c include/array.h include/generic.h \ + include/ansi-colors.h include/io.h include/lexer.h include/stdio-ext.h \ + include/diagnostics.h +include/array.h: +include/generic.h: +include/ansi-colors.h: +include/io.h: +include/lexer.h: +include/stdio-ext.h: +include/diagnostics.h: diff --git a/build/lexer.i b/build/lexer.i new file mode 100644 index 0000000..01694d4 --- /dev/null +++ b/build/lexer.i @@ -0,0 +1,4314 @@ +# 0 "src/lexer.c" +# 1 "/home/unazed/Programming/c/ucc-0.2.0//" +# 0 "" +# 0 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 0 "" 2 +# 1 "src/lexer.c" +# 1 "include/array.h" 1 + + +# 1 "/usr/include/stdlib.h" 1 3 4 +# 26 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 33 "/usr/include/bits/libc-header-start.h" 3 4 +# 1 "/usr/include/features.h" 1 3 4 +# 394 "/usr/include/features.h" 3 4 +# 1 "/usr/include/features-time64.h" 1 3 4 +# 20 "/usr/include/features-time64.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 21 "/usr/include/features-time64.h" 2 3 4 +# 1 "/usr/include/bits/timesize.h" 1 3 4 +# 19 "/usr/include/bits/timesize.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/bits/timesize.h" 2 3 4 +# 22 "/usr/include/features-time64.h" 2 3 4 +# 395 "/usr/include/features.h" 2 3 4 +# 503 "/usr/include/features.h" 3 4 +# 1 "/usr/include/sys/cdefs.h" 1 3 4 +# 576 "/usr/include/sys/cdefs.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 577 "/usr/include/sys/cdefs.h" 2 3 4 +# 1 "/usr/include/bits/long-double.h" 1 3 4 +# 578 "/usr/include/sys/cdefs.h" 2 3 4 +# 504 "/usr/include/features.h" 2 3 4 +# 527 "/usr/include/features.h" 3 4 +# 1 "/usr/include/gnu/stubs.h" 1 3 4 +# 10 "/usr/include/gnu/stubs.h" 3 4 +# 1 "/usr/include/gnu/stubs-64.h" 1 3 4 +# 11 "/usr/include/gnu/stubs.h" 2 3 4 +# 528 "/usr/include/features.h" 2 3 4 +# 34 "/usr/include/bits/libc-header-start.h" 2 3 4 +# 27 "/usr/include/stdlib.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 214 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 + +# 214 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 +typedef long unsigned int size_t; +# 329 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 +typedef int wchar_t; +# 33 "/usr/include/stdlib.h" 2 3 4 + + + + + + + +# 1 "/usr/include/bits/waitflags.h" 1 3 4 +# 41 "/usr/include/stdlib.h" 2 3 4 +# 1 "/usr/include/bits/waitstatus.h" 1 3 4 +# 42 "/usr/include/stdlib.h" 2 3 4 +# 56 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/bits/floatn.h" 1 3 4 +# 119 "/usr/include/bits/floatn.h" 3 4 +# 1 "/usr/include/bits/floatn-common.h" 1 3 4 +# 24 "/usr/include/bits/floatn-common.h" 3 4 +# 1 "/usr/include/bits/long-double.h" 1 3 4 +# 25 "/usr/include/bits/floatn-common.h" 2 3 4 +# 120 "/usr/include/bits/floatn.h" 2 3 4 +# 57 "/usr/include/stdlib.h" 2 3 4 + + +typedef struct + { + int quot; + int rem; + } div_t; + + + +typedef struct + { + long int quot; + long int rem; + } ldiv_t; + + + + + +__extension__ typedef struct + { + long long int quot; + long long int rem; + } lldiv_t; +# 98 "/usr/include/stdlib.h" 3 4 +extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + +extern double atof (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + +extern int atoi (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + +extern long int atol (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + +__extension__ extern long long int atoll (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + +extern double strtod (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern float strtof (const char *__restrict __nptr, + char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern long double strtold (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 177 "/usr/include/stdlib.h" 3 4 +extern long int strtol (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern unsigned long int strtoul (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +__extension__ +extern long long int strtoq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtouq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +__extension__ +extern long long int strtoll (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtoull (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 480 "/usr/include/stdlib.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) atoi (const char *__nptr) +{ + return (int) strtol (__nptr, (char **) ((void *)0), 10); +} +extern __inline __attribute__ ((__gnu_inline__)) long int +__attribute__ ((__nothrow__ , __leaf__)) atol (const char *__nptr) +{ + return strtol (__nptr, (char **) ((void *)0), 10); +} + + +__extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int +__attribute__ ((__nothrow__ , __leaf__)) atoll (const char *__nptr) +{ + return strtoll (__nptr, (char **) ((void *)0), 10); +} +# 505 "/usr/include/stdlib.h" 3 4 +extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + +extern long int a64l (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + + +# 1 "/usr/include/sys/types.h" 1 3 4 +# 27 "/usr/include/sys/types.h" 3 4 + + +# 1 "/usr/include/bits/types.h" 1 3 4 +# 27 "/usr/include/bits/types.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 28 "/usr/include/bits/types.h" 2 3 4 +# 1 "/usr/include/bits/timesize.h" 1 3 4 +# 19 "/usr/include/bits/timesize.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/bits/timesize.h" 2 3 4 +# 29 "/usr/include/bits/types.h" 2 3 4 + + +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; + + +typedef signed char __int8_t; +typedef unsigned char __uint8_t; +typedef signed short int __int16_t; +typedef unsigned short int __uint16_t; +typedef signed int __int32_t; +typedef unsigned int __uint32_t; + +typedef signed long int __int64_t; +typedef unsigned long int __uint64_t; + + + + + + +typedef __int8_t __int_least8_t; +typedef __uint8_t __uint_least8_t; +typedef __int16_t __int_least16_t; +typedef __uint16_t __uint_least16_t; +typedef __int32_t __int_least32_t; +typedef __uint32_t __uint_least32_t; +typedef __int64_t __int_least64_t; +typedef __uint64_t __uint_least64_t; + + + +typedef long int __quad_t; +typedef unsigned long int __u_quad_t; + + + + + + + +typedef long int __intmax_t; +typedef unsigned long int __uintmax_t; +# 141 "/usr/include/bits/types.h" 3 4 +# 1 "/usr/include/bits/typesizes.h" 1 3 4 +# 142 "/usr/include/bits/types.h" 2 3 4 +# 1 "/usr/include/bits/time64.h" 1 3 4 +# 143 "/usr/include/bits/types.h" 2 3 4 + + +typedef unsigned long int __dev_t; +typedef unsigned int __uid_t; +typedef unsigned int __gid_t; +typedef unsigned long int __ino_t; +typedef unsigned long int __ino64_t; +typedef unsigned int __mode_t; +typedef unsigned long int __nlink_t; +typedef long int __off_t; +typedef long int __off64_t; +typedef int __pid_t; +typedef struct { int __val[2]; } __fsid_t; +typedef long int __clock_t; +typedef unsigned long int __rlim_t; +typedef unsigned long int __rlim64_t; +typedef unsigned int __id_t; +typedef long int __time_t; +typedef unsigned int __useconds_t; +typedef long int __suseconds_t; +typedef long int __suseconds64_t; + +typedef int __daddr_t; +typedef int __key_t; + + +typedef int __clockid_t; + + +typedef void * __timer_t; + + +typedef long int __blksize_t; + + + + +typedef long int __blkcnt_t; +typedef long int __blkcnt64_t; + + +typedef unsigned long int __fsblkcnt_t; +typedef unsigned long int __fsblkcnt64_t; + + +typedef unsigned long int __fsfilcnt_t; +typedef unsigned long int __fsfilcnt64_t; + + +typedef long int __fsword_t; + +typedef long int __ssize_t; + + +typedef long int __syscall_slong_t; + +typedef unsigned long int __syscall_ulong_t; + + + +typedef __off64_t __loff_t; +typedef char *__caddr_t; + + +typedef long int __intptr_t; + + +typedef unsigned int __socklen_t; + + + + +typedef int __sig_atomic_t; +# 30 "/usr/include/sys/types.h" 2 3 4 + + + +typedef __u_char u_char; +typedef __u_short u_short; +typedef __u_int u_int; +typedef __u_long u_long; +typedef __quad_t quad_t; +typedef __u_quad_t u_quad_t; +typedef __fsid_t fsid_t; + + +typedef __loff_t loff_t; + + + + +typedef __ino_t ino_t; +# 59 "/usr/include/sys/types.h" 3 4 +typedef __dev_t dev_t; + + + + +typedef __gid_t gid_t; + + + + +typedef __mode_t mode_t; + + + + +typedef __nlink_t nlink_t; + + + + +typedef __uid_t uid_t; + + + + + +typedef __off_t off_t; +# 97 "/usr/include/sys/types.h" 3 4 +typedef __pid_t pid_t; + + + + + +typedef __id_t id_t; + + + + +typedef __ssize_t ssize_t; + + + + + +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; + + + + + +typedef __key_t key_t; + + + + +# 1 "/usr/include/bits/types/clock_t.h" 1 3 4 + + + + + + +typedef __clock_t clock_t; +# 127 "/usr/include/sys/types.h" 2 3 4 + +# 1 "/usr/include/bits/types/clockid_t.h" 1 3 4 + + + + + + +typedef __clockid_t clockid_t; +# 129 "/usr/include/sys/types.h" 2 3 4 +# 1 "/usr/include/bits/types/time_t.h" 1 3 4 +# 10 "/usr/include/bits/types/time_t.h" 3 4 +typedef __time_t time_t; +# 130 "/usr/include/sys/types.h" 2 3 4 +# 1 "/usr/include/bits/types/timer_t.h" 1 3 4 + + + + + + +typedef __timer_t timer_t; +# 131 "/usr/include/sys/types.h" 2 3 4 +# 144 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 145 "/usr/include/sys/types.h" 2 3 4 + + + +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; + + + + +# 1 "/usr/include/bits/stdint-intn.h" 1 3 4 +# 24 "/usr/include/bits/stdint-intn.h" 3 4 +typedef __int8_t int8_t; +typedef __int16_t int16_t; +typedef __int32_t int32_t; +typedef __int64_t int64_t; +# 156 "/usr/include/sys/types.h" 2 3 4 + + +typedef __uint8_t u_int8_t; +typedef __uint16_t u_int16_t; +typedef __uint32_t u_int32_t; +typedef __uint64_t u_int64_t; + + +typedef int register_t __attribute__ ((__mode__ (__word__))); +# 176 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/include/endian.h" 1 3 4 +# 24 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/bits/endian.h" 1 3 4 +# 35 "/usr/include/bits/endian.h" 3 4 +# 1 "/usr/include/bits/endianness.h" 1 3 4 +# 36 "/usr/include/bits/endian.h" 2 3 4 +# 25 "/usr/include/endian.h" 2 3 4 +# 35 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/bits/byteswap.h" 1 3 4 +# 33 "/usr/include/bits/byteswap.h" 3 4 +static __inline __uint16_t +__bswap_16 (__uint16_t __bsx) +{ + + return __builtin_bswap16 (__bsx); + + + +} + + + + + + +static __inline __uint32_t +__bswap_32 (__uint32_t __bsx) +{ + + return __builtin_bswap32 (__bsx); + + + +} +# 69 "/usr/include/bits/byteswap.h" 3 4 +__extension__ static __inline __uint64_t +__bswap_64 (__uint64_t __bsx) +{ + + return __builtin_bswap64 (__bsx); + + + +} +# 36 "/usr/include/endian.h" 2 3 4 +# 1 "/usr/include/bits/uintn-identity.h" 1 3 4 +# 32 "/usr/include/bits/uintn-identity.h" 3 4 +static __inline __uint16_t +__uint16_identity (__uint16_t __x) +{ + return __x; +} + +static __inline __uint32_t +__uint32_identity (__uint32_t __x) +{ + return __x; +} + +static __inline __uint64_t +__uint64_identity (__uint64_t __x) +{ + return __x; +} +# 37 "/usr/include/endian.h" 2 3 4 +# 177 "/usr/include/sys/types.h" 2 3 4 + + +# 1 "/usr/include/sys/select.h" 1 3 4 +# 30 "/usr/include/sys/select.h" 3 4 +# 1 "/usr/include/bits/select.h" 1 3 4 +# 31 "/usr/include/sys/select.h" 2 3 4 + + +# 1 "/usr/include/bits/types/sigset_t.h" 1 3 4 + + + +# 1 "/usr/include/bits/types/__sigset_t.h" 1 3 4 + + + + +typedef struct +{ + unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; +} __sigset_t; +# 5 "/usr/include/bits/types/sigset_t.h" 2 3 4 + + +typedef __sigset_t sigset_t; +# 34 "/usr/include/sys/select.h" 2 3 4 + + + +# 1 "/usr/include/bits/types/struct_timeval.h" 1 3 4 + + + + + + + +struct timeval +{ + + + + + __time_t tv_sec; + __suseconds_t tv_usec; + +}; +# 38 "/usr/include/sys/select.h" 2 3 4 + +# 1 "/usr/include/bits/types/struct_timespec.h" 1 3 4 +# 11 "/usr/include/bits/types/struct_timespec.h" 3 4 +struct timespec +{ + + + + __time_t tv_sec; + + + + + __syscall_slong_t tv_nsec; +# 31 "/usr/include/bits/types/struct_timespec.h" 3 4 +}; +# 40 "/usr/include/sys/select.h" 2 3 4 + + + +typedef __suseconds_t suseconds_t; + + + + + +typedef long int __fd_mask; +# 59 "/usr/include/sys/select.h" 3 4 +typedef struct + { + + + + + + + __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; + + + } fd_set; + + + + + + +typedef __fd_mask fd_mask; +# 91 "/usr/include/sys/select.h" 3 4 + +# 102 "/usr/include/sys/select.h" 3 4 +extern int select (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout); +# 127 "/usr/include/sys/select.h" 3 4 +extern int pselect (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + const struct timespec *__restrict __timeout, + const __sigset_t *__restrict __sigmask); +# 150 "/usr/include/sys/select.h" 3 4 +# 1 "/usr/include/bits/select2.h" 1 3 4 +# 23 "/usr/include/bits/select2.h" 3 4 +# 1 "/usr/include/bits/select-decl.h" 1 3 4 +# 27 "/usr/include/bits/select-decl.h" 3 4 +extern long int __fdelt_chk (long int __d); +extern long int __fdelt_warn (long int __d) + __attribute__((__warning__ ("bit outside of fd_set selected"))); +# 24 "/usr/include/bits/select2.h" 2 3 4 +# 151 "/usr/include/sys/select.h" 2 3 4 + + + +# 180 "/usr/include/sys/types.h" 2 3 4 + + + + + +typedef __blksize_t blksize_t; + + + + + + +typedef __blkcnt_t blkcnt_t; + + + +typedef __fsblkcnt_t fsblkcnt_t; + + + +typedef __fsfilcnt_t fsfilcnt_t; +# 227 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 +# 23 "/usr/include/bits/pthreadtypes.h" 3 4 +# 1 "/usr/include/bits/thread-shared-types.h" 1 3 4 +# 44 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/pthreadtypes-arch.h" 1 3 4 +# 21 "/usr/include/bits/pthreadtypes-arch.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 22 "/usr/include/bits/pthreadtypes-arch.h" 2 3 4 +# 45 "/usr/include/bits/thread-shared-types.h" 2 3 4 + +# 1 "/usr/include/bits/atomic_wide_counter.h" 1 3 4 +# 25 "/usr/include/bits/atomic_wide_counter.h" 3 4 +typedef union +{ + __extension__ unsigned long long int __value64; + struct + { + unsigned int __low; + unsigned int __high; + } __value32; +} __atomic_wide_counter; +# 47 "/usr/include/bits/thread-shared-types.h" 2 3 4 + + + + +typedef struct __pthread_internal_list +{ + struct __pthread_internal_list *__prev; + struct __pthread_internal_list *__next; +} __pthread_list_t; + +typedef struct __pthread_internal_slist +{ + struct __pthread_internal_slist *__next; +} __pthread_slist_t; +# 76 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/struct_mutex.h" 1 3 4 +# 22 "/usr/include/bits/struct_mutex.h" 3 4 +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; + + unsigned int __nusers; + + + + int __kind; + + short __spins; + short __elision; + __pthread_list_t __list; +# 53 "/usr/include/bits/struct_mutex.h" 3 4 +}; +# 77 "/usr/include/bits/thread-shared-types.h" 2 3 4 +# 89 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/struct_rwlock.h" 1 3 4 +# 23 "/usr/include/bits/struct_rwlock.h" 3 4 +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; + + int __cur_writer; + int __shared; + signed char __rwelision; + + + + + unsigned char __pad1[7]; + + + unsigned long int __pad2; + + + unsigned int __flags; +# 55 "/usr/include/bits/struct_rwlock.h" 3 4 +}; +# 90 "/usr/include/bits/thread-shared-types.h" 2 3 4 + + + + +struct __pthread_cond_s +{ + __atomic_wide_counter __wseq; + __atomic_wide_counter __g1_start; + unsigned int __g_refs[2] ; + unsigned int __g_size[2]; + unsigned int __g1_orig_size; + unsigned int __wrefs; + unsigned int __g_signals[2]; +}; + +typedef unsigned int __tss_t; +typedef unsigned long int __thrd_t; + +typedef struct +{ + int __data ; +} __once_flag; +# 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 + + + +typedef unsigned long int pthread_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_mutexattr_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_condattr_t; + + + +typedef unsigned int pthread_key_t; + + + +typedef int pthread_once_t; + + +union pthread_attr_t +{ + char __size[56]; + long int __align; +}; + +typedef union pthread_attr_t pthread_attr_t; + + + + +typedef union +{ + struct __pthread_mutex_s __data; + char __size[40]; + long int __align; +} pthread_mutex_t; + + +typedef union +{ + struct __pthread_cond_s __data; + char __size[48]; + __extension__ long long int __align; +} pthread_cond_t; + + + + + +typedef union +{ + struct __pthread_rwlock_arch_t __data; + char __size[56]; + long int __align; +} pthread_rwlock_t; + +typedef union +{ + char __size[8]; + long int __align; +} pthread_rwlockattr_t; + + + + + +typedef volatile int pthread_spinlock_t; + + + + +typedef union +{ + char __size[32]; + long int __align; +} pthread_barrier_t; + +typedef union +{ + char __size[4]; + int __align; +} pthread_barrierattr_t; +# 228 "/usr/include/sys/types.h" 2 3 4 + + + +# 515 "/usr/include/stdlib.h" 2 3 4 + + + + + + +extern long int random (void) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +extern char *initstate (unsigned int __seed, char *__statebuf, + size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +struct random_data + { + int32_t *fptr; + int32_t *rptr; + int32_t *state; + int rand_type; + int rand_deg; + int rand_sep; + int32_t *end_ptr; + }; + +extern int random_r (struct random_data *__restrict __buf, + int32_t *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int srandom_r (unsigned int __seed, struct random_data *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, + size_t __statelen, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); + +extern int setstate_r (char *__restrict __statebuf, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern int rand (void) __attribute__ ((__nothrow__ , __leaf__)); + +extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int nrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int jrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__)); +extern unsigned short int *seed48 (unsigned short int __seed16v[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +struct drand48_data + { + unsigned short int __x[3]; + unsigned short int __old_x[3]; + unsigned short int __c; + unsigned short int __init; + __extension__ unsigned long long int __a; + + }; + + +extern int drand48_r (struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int erand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int lrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int nrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int mrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int jrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int srand48_r (long int __seedval, struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int seed48_r (unsigned short int __seed16v[3], + struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int lcong48_r (unsigned short int __param[7], + struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern __uint32_t arc4random (void) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + +extern void arc4random_buf (void *__buf, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern __uint32_t arc4random_uniform (__uint32_t __upper_bound) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + +extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__)); + +extern void *calloc (size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) __attribute__ ((__warn_unused_result__)); + + + + + + +extern void *realloc (void *__ptr, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); + + +extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__alloc_size__ (2, 3))) + __attribute__ ((__malloc__ (__builtin_free, 1))); + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__ (reallocarray, 1))); + + + +# 1 "/usr/include/alloca.h" 1 3 4 +# 24 "/usr/include/alloca.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 25 "/usr/include/alloca.h" 2 3 4 + + + + + + + +extern void *alloca (size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + +# 707 "/usr/include/stdlib.h" 2 3 4 + + + + + +extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__)); + + + + +extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + + +extern void *aligned_alloc (size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) + __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__)); + + + +extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + +extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void quick_exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + +extern char *getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 786 "/usr/include/stdlib.h" 3 4 +extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int setenv (const char *__name, const char *__value, int __replace) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + +extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int clearenv (void) __attribute__ ((__nothrow__ , __leaf__)); +# 814 "/usr/include/stdlib.h" 3 4 +extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 827 "/usr/include/stdlib.h" 3 4 +extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 849 "/usr/include/stdlib.h" 3 4 +extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 870 "/usr/include/stdlib.h" 3 4 +extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 923 "/usr/include/stdlib.h" 3 4 +extern int system (const char *__command) __attribute__ ((__warn_unused_result__)); +# 940 "/usr/include/stdlib.h" 3 4 +extern char *realpath (const char *__restrict __name, + char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + + + +typedef int (*__compar_fn_t) (const void *, const void *); +# 960 "/usr/include/stdlib.h" 3 4 +extern void *bsearch (const void *__key, const void *__base, + size_t __nmemb, size_t __size, __compar_fn_t __compar) + __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__)); + + +# 1 "/usr/include/bits/stdlib-bsearch.h" 1 3 4 +# 19 "/usr/include/bits/stdlib-bsearch.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) void * +bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) +{ + size_t __l, __u, __idx; + const void *__p; + int __comparison; + + __l = 0; + __u = __nmemb; + while (__l < __u) + { + __idx = (__l + __u) / 2; + __p = (const void *) (((const char *) __base) + (__idx * __size)); + __comparison = (*__compar) (__key, __p); + if (__comparison < 0) + __u = __idx; + else if (__comparison > 0) + __l = __idx + 1; + else + { + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wcast-qual" + + return (void *) __p; + +#pragma GCC diagnostic pop + + } + } + + return ((void *)0); +} +# 966 "/usr/include/stdlib.h" 2 3 4 + + + + +extern void qsort (void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); +# 980 "/usr/include/stdlib.h" 3 4 +extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); +extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); + + +__extension__ extern long long int llabs (long long int __x) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); + + + + + + +extern div_t div (int __numer, int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); +extern ldiv_t ldiv (long int __numer, long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); + + +__extension__ extern lldiv_t lldiv (long long int __numer, + long long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); +# 1012 "/usr/include/stdlib.h" 3 4 +extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); + + + + +extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); + + + + +extern char *gcvt (double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); + + + + +extern char *qecvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); +extern char *qfcvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); +extern char *qgcvt (long double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); + + + + +extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + +extern int qecvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int qfcvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + + + + + +extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int mbtowc (wchar_t *__restrict __pwc, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern size_t mbstowcs (wchar_t *__restrict __pwcs, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__read_only__, 2))); + +extern size_t wcstombs (char *__restrict __s, + const wchar_t *__restrict __pwcs, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))) + __attribute__ ((__access__ (__read_only__, 2))); + + + + + + +extern int rpmatch (const char *__response) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 1099 "/usr/include/stdlib.h" 3 4 +extern int getsubopt (char **__restrict __optionp, + char *const *__restrict __tokens, + char **__restrict __valuep) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__)); +# 1145 "/usr/include/stdlib.h" 3 4 +extern int getloadavg (double __loadavg[], int __nelem) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 1155 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/bits/stdlib-float.h" 1 3 4 +# 24 "/usr/include/bits/stdlib-float.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) double +__attribute__ ((__nothrow__ , __leaf__)) atof (const char *__nptr) +{ + return strtod (__nptr, (char **) ((void *)0)); +} +# 1156 "/usr/include/stdlib.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdlib.h" 1 3 4 +# 23 "/usr/include/bits/stdlib.h" 3 4 +extern char *__realpath_chk (const char *__restrict __name, + char *__restrict __resolved, + size_t __resolvedlen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +extern char *__realpath_alias (const char *__restrict __name, char *__restrict __resolved) __asm__ ("" "realpath") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__warn_unused_result__)); +extern char *__realpath_chk_warn (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) __asm__ ("" "__realpath_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + __attribute__ ((__warn_unused_result__)) + __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer"))) + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * +__attribute__ ((__nothrow__ , __leaf__)) realpath (const char *__restrict __name, char *__restrict __resolved) +{ + size_t sz = __builtin_dynamic_object_size (__resolved, 1); + + if (sz == (size_t) -1) + return __realpath_alias (__name, __resolved); + + + + + + return __realpath_chk (__name, __resolved, sz); +} + + +extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen, + size_t __nreal) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) + __attribute__ ((__access__ (__write_only__, 2, 3))); +extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) __asm__ ("" "ptsname_r") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3))); +extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__ptsname_r_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf"))) + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) ptsname_r (int __fd, char *__buf, size_t __buflen) +{ + return (((__builtin_constant_p (__builtin_dynamic_object_size (__buf, 1)) && (__builtin_dynamic_object_size (__buf, 1)) == (long unsigned int) -1) || (((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((long unsigned int) (__buflen)) <= ((__builtin_dynamic_object_size (__buf, 1))) / ((sizeof (char))))) && (((long unsigned int) (__buflen)) <= ((__builtin_dynamic_object_size (__buf, 1))) / ((sizeof (char)))))) ? __ptsname_r_alias (__fd, __buf, __buflen) : ((((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((long unsigned int) (__buflen)) <= (__builtin_dynamic_object_size (__buf, 1)) / (sizeof (char)))) && !(((long unsigned int) (__buflen)) <= (__builtin_dynamic_object_size (__buf, 1)) / (sizeof (char)))) ? __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_dynamic_object_size (__buf, 1)) : __ptsname_r_chk (__fd, __buf, __buflen, __builtin_dynamic_object_size (__buf, 1)))) + + ; +} + + +extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +extern int __wctomb_alias (char *__s, wchar_t __wchar) __asm__ ("" "wctomb") __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__warn_unused_result__)); + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int +__attribute__ ((__nothrow__ , __leaf__)) wctomb (char *__s, wchar_t __wchar) +{ + + + + + + + + if (__builtin_dynamic_object_size (__s, 1) != (size_t) -1 + && 16 > __builtin_dynamic_object_size (__s, 1)) + return __wctomb_chk (__s, __wchar, __builtin_dynamic_object_size (__s, 1)); + return __wctomb_alias (__s, __wchar); +} + + +extern size_t __mbstowcs_chk (wchar_t *__restrict __dst, + const char *__restrict __src, + size_t __len, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __mbstowcs_nulldst (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) __asm__ ("" "mbstowcs") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) __asm__ ("" "mbstowcs") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__mbstowcs_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) + +{ + if (__builtin_constant_p (__dst == ((void *)0)) && __dst == ((void *)0)) + return __mbstowcs_nulldst (__dst, __src, __len); + else + return (((__builtin_constant_p (__builtin_dynamic_object_size (__dst, 1)) && (__builtin_dynamic_object_size (__dst, 1)) == (long unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (wchar_t))))) && (((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (wchar_t)))))) ? __mbstowcs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t)))) && !(((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t)))) ? __mbstowcs_chk_warn (__dst, __src, __len, (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t))) : __mbstowcs_chk (__dst, __src, __len, (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t))))) + ; +} + +extern size_t __wcstombs_chk (char *__restrict __dst, + const wchar_t *__restrict __src, + size_t __len, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __wcstombs_alias (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) __asm__ ("" "wcstombs") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __wcstombs_chk_warn (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__wcstombs_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len"))); + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) + +{ + return (((__builtin_constant_p (__builtin_dynamic_object_size (__dst, 1)) && (__builtin_dynamic_object_size (__dst, 1)) == (long unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (char))))) && (((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (char)))))) ? __wcstombs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (char)))) && !(((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (char)))) ? __wcstombs_chk_warn (__dst, __src, __len, __builtin_dynamic_object_size (__dst, 1)) : __wcstombs_chk (__dst, __src, __len, __builtin_dynamic_object_size (__dst, 1)))) + + ; +} +# 1160 "/usr/include/stdlib.h" 2 3 4 + + + + + + + + +# 4 "include/array.h" 2 + + + + + + + + +# 11 "include/array.h" +typedef struct array_impl *array_t; +typedef void (*array_free_callback_t)(void* item); + +__attribute__((warn_unused_result)) +array_t array_new (void); + +__attribute__((warn_unused_result)) +array_t array_new_sized (size_t size); + +__attribute__((nonnull (1))) +void* array_insert (array_t, size_t idx, void* item); + +__attribute__((nonnull (1))) +void* array_remove (array_t, size_t idx); + +__attribute__((nonnull (1), warn_unused_result)) +void* array_pop (array_t); + +__attribute__((nonnull (1))) +void* array_append (array_t, void* item); + +__attribute__((nonnull)) +void* array_get (array_t, size_t idx); + +__attribute__((nonnull)) +size_t array_length (array_t); + +__attribute__((nonnull (1))) +void array_free_cb (array_t, array_free_callback_t); + +__attribute__((nonnull (1))) +void array_free (array_t); +# 2 "src/lexer.c" 2 +# 1 "include/generic.h" 1 + + +# 1 "include/ansi-colors.h" 1 + + +# 1 "include/io.h" 1 + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 1 3 4 +# 9 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 3 4 +# 1 "/usr/include/stdint.h" 1 3 4 +# 26 "/usr/include/stdint.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/stdint.h" 2 3 4 + +# 1 "/usr/include/bits/wchar.h" 1 3 4 +# 29 "/usr/include/stdint.h" 2 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 30 "/usr/include/stdint.h" 2 3 4 + + + + + + + +# 1 "/usr/include/bits/stdint-uintn.h" 1 3 4 +# 24 "/usr/include/bits/stdint-uintn.h" 3 4 + +# 24 "/usr/include/bits/stdint-uintn.h" 3 4 +typedef __uint8_t uint8_t; +typedef __uint16_t uint16_t; +typedef __uint32_t uint32_t; +typedef __uint64_t uint64_t; +# 38 "/usr/include/stdint.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdint-least.h" 1 3 4 +# 25 "/usr/include/bits/stdint-least.h" 3 4 +typedef __int_least8_t int_least8_t; +typedef __int_least16_t int_least16_t; +typedef __int_least32_t int_least32_t; +typedef __int_least64_t int_least64_t; + + +typedef __uint_least8_t uint_least8_t; +typedef __uint_least16_t uint_least16_t; +typedef __uint_least32_t uint_least32_t; +typedef __uint_least64_t uint_least64_t; +# 42 "/usr/include/stdint.h" 2 3 4 + + + + + +typedef signed char int_fast8_t; + +typedef long int int_fast16_t; +typedef long int int_fast32_t; +typedef long int int_fast64_t; +# 60 "/usr/include/stdint.h" 3 4 +typedef unsigned char uint_fast8_t; + +typedef unsigned long int uint_fast16_t; +typedef unsigned long int uint_fast32_t; +typedef unsigned long int uint_fast64_t; +# 76 "/usr/include/stdint.h" 3 4 +typedef long int intptr_t; + + +typedef unsigned long int uintptr_t; +# 90 "/usr/include/stdint.h" 3 4 +typedef __intmax_t intmax_t; +typedef __uintmax_t uintmax_t; +# 10 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 2 3 4 +# 4 "include/io.h" 2 +# 1 "/usr/include/stdio.h" 1 3 4 +# 28 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 29 "/usr/include/stdio.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 35 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdarg.h" 1 3 4 +# 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdarg.h" 3 4 +typedef __builtin_va_list __gnuc_va_list; +# 38 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/include/bits/types/__fpos_t.h" 1 3 4 + + + + +# 1 "/usr/include/bits/types/__mbstate_t.h" 1 3 4 +# 13 "/usr/include/bits/types/__mbstate_t.h" 3 4 +typedef struct +{ + int __count; + union + { + unsigned int __wch; + char __wchb[4]; + } __value; +} __mbstate_t; +# 6 "/usr/include/bits/types/__fpos_t.h" 2 3 4 + + + + +typedef struct _G_fpos_t +{ + __off_t __pos; + __mbstate_t __state; +} __fpos_t; +# 41 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/__fpos64_t.h" 1 3 4 +# 10 "/usr/include/bits/types/__fpos64_t.h" 3 4 +typedef struct _G_fpos64_t +{ + __off64_t __pos; + __mbstate_t __state; +} __fpos64_t; +# 42 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/__FILE.h" 1 3 4 + + + +struct _IO_FILE; +typedef struct _IO_FILE __FILE; +# 43 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/FILE.h" 1 3 4 + + + +struct _IO_FILE; + + +typedef struct _IO_FILE FILE; +# 44 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/struct_FILE.h" 1 3 4 +# 35 "/usr/include/bits/types/struct_FILE.h" 3 4 +struct _IO_FILE; +struct _IO_marker; +struct _IO_codecvt; +struct _IO_wide_data; + + + + +typedef void _IO_lock_t; + + + + + +struct _IO_FILE +{ + int _flags; + + + char *_IO_read_ptr; + char *_IO_read_end; + char *_IO_read_base; + char *_IO_write_base; + char *_IO_write_ptr; + char *_IO_write_end; + char *_IO_buf_base; + char *_IO_buf_end; + + + char *_IO_save_base; + char *_IO_backup_base; + char *_IO_save_end; + + struct _IO_marker *_markers; + + struct _IO_FILE *_chain; + + int _fileno; + int _flags2; + __off_t _old_offset; + + + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + + _IO_lock_t *_lock; + + + + + + + + __off64_t _offset; + + struct _IO_codecvt *_codecvt; + struct _IO_wide_data *_wide_data; + struct _IO_FILE *_freeres_list; + void *_freeres_buf; + size_t __pad5; + int _mode; + + char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; +}; +# 45 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/include/bits/types/cookie_io_functions_t.h" 1 3 4 +# 27 "/usr/include/bits/types/cookie_io_functions_t.h" 3 4 +typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf, + size_t __nbytes); + + + + + + + +typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf, + size_t __nbytes); + + + + + + + +typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w); + + +typedef int cookie_close_function_t (void *__cookie); + + + + + + +typedef struct _IO_cookie_io_functions_t +{ + cookie_read_function_t *read; + cookie_write_function_t *write; + cookie_seek_function_t *seek; + cookie_close_function_t *close; +} cookie_io_functions_t; +# 48 "/usr/include/stdio.h" 2 3 4 + + + + + +typedef __gnuc_va_list va_list; +# 85 "/usr/include/stdio.h" 3 4 +typedef __fpos_t fpos_t; +# 129 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/stdio_lim.h" 1 3 4 +# 130 "/usr/include/stdio.h" 2 3 4 +# 149 "/usr/include/stdio.h" 3 4 +extern FILE *stdin; +extern FILE *stdout; +extern FILE *stderr; + + + + + + +extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); + +extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int renameat (int __oldfd, const char *__old, int __newfd, + const char *__new) __attribute__ ((__nothrow__ , __leaf__)); +# 184 "/usr/include/stdio.h" 3 4 +extern int fclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 194 "/usr/include/stdio.h" 3 4 +extern FILE *tmpfile (void) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); +# 211 "/usr/include/stdio.h" 3 4 +extern char *tmpnam (char[20]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + +extern char *tmpnam_r (char __s[20]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +# 228 "/usr/include/stdio.h" 3 4 +extern char *tempnam (const char *__dir, const char *__pfx) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__malloc__ (__builtin_free, 1))); + + + + + + +extern int fflush (FILE *__stream); +# 245 "/usr/include/stdio.h" 3 4 +extern int fflush_unlocked (FILE *__stream); +# 264 "/usr/include/stdio.h" 3 4 +extern FILE *fopen (const char *__restrict __filename, + const char *__restrict __modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *freopen (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (3))); +# 299 "/usr/include/stdio.h" 3 4 +extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + + +extern FILE *fopencookie (void *__restrict __magic_cookie, + const char *__restrict __modes, + cookie_io_functions_t __io_funcs) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); +# 334 "/usr/include/stdio.h" 3 4 +extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__nonnull__ (1))); + + + +extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, + size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int fprintf (FILE *__restrict __stream, + const char *__restrict __format, ...) __attribute__ ((__nonnull__ (1))); + + + + +extern int printf (const char *__restrict __format, ...); + +extern int sprintf (char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__)); + + + + + +extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nonnull__ (1))); + + + + +extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); + +extern int vsprintf (char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nothrow__)); + + + +extern int snprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); + +extern int vsnprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); + + + + + +extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, + __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__)); +extern int __asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); +extern int asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); + + + + +extern int vdprintf (int __fd, const char *__restrict __fmt, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 2, 0))); +extern int dprintf (int __fd, const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); + + + + + + + +extern int fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); + +extern int sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); +# 463 "/usr/include/stdio.h" 3 4 +extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") + + __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") + __attribute__ ((__warn_unused_result__)); +extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__)) + + ; +# 490 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); + + +extern int vsscanf (const char *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); +# 540 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") + + + + __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") + + __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); +extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__format__ (__scanf__, 2, 0))); +# 575 "/usr/include/stdio.h" 3 4 +extern int fgetc (FILE *__stream) __attribute__ ((__nonnull__ (1))); +extern int getc (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + + + + +extern int getchar (void); + + + + + + +extern int getc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); +extern int getchar_unlocked (void); +# 600 "/usr/include/stdio.h" 3 4 +extern int fgetc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 611 "/usr/include/stdio.h" 3 4 +extern int fputc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); +extern int putc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + +extern int putchar (int __c); +# 627 "/usr/include/stdio.h" 3 4 +extern int fputc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + + +extern int putc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); +extern int putchar_unlocked (int __c); + + + + + + +extern int getw (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + +extern int putw (int __w, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + + +extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1))) __attribute__ ((__nonnull__ (3))); +# 694 "/usr/include/stdio.h" 3 4 +extern __ssize_t __getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))); +extern __ssize_t getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))); + + + + + + + +extern __ssize_t getline (char **__restrict __lineptr, + size_t *__restrict __n, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (3))); + + + + + + + +extern int fputs (const char *__restrict __s, FILE *__restrict __stream) + __attribute__ ((__nonnull__ (2))); + + + + + +extern int puts (const char *__s); + + + + + + +extern int ungetc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + +extern size_t fread (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__nonnull__ (4))); + + + + +extern size_t fwrite (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __s) __attribute__ ((__nonnull__ (4))); +# 766 "/usr/include/stdio.h" 3 4 +extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__nonnull__ (4))); +extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) + __attribute__ ((__nonnull__ (4))); + + + + + + + +extern int fseek (FILE *__stream, long int __off, int __whence) + __attribute__ ((__nonnull__ (1))); + + + + +extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern void rewind (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 803 "/usr/include/stdio.h" 3 4 +extern int fseeko (FILE *__stream, __off_t __off, int __whence) + __attribute__ ((__nonnull__ (1))); + + + + +extern __off_t ftello (FILE *__stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +# 829 "/usr/include/stdio.h" 3 4 +extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) + __attribute__ ((__nonnull__ (1))); + + + + +extern int fsetpos (FILE *__stream, const fpos_t *__pos) __attribute__ ((__nonnull__ (1))); +# 860 "/usr/include/stdio.h" 3 4 +extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + +extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + +extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern void perror (const char *__s) __attribute__ ((__cold__)); + + + + +extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +# 897 "/usr/include/stdio.h" 3 4 +extern int pclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + + + + +extern FILE *popen (const char *__command, const char *__modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + + + +extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))); +# 941 "/usr/include/stdio.h" 3 4 +extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + +extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 959 "/usr/include/stdio.h" 3 4 +extern int __uflow (FILE *); +extern int __overflow (FILE *, int); + + + +# 1 "/usr/include/bits/stdio2-decl.h" 1 3 4 +# 26 "/usr/include/bits/stdio2-decl.h" 3 4 +extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))); +extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + ...) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 2))); +extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 2))); + + + + + +extern int __fprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, ...) + __attribute__ ((__nonnull__ (1))); +extern int __printf_chk (int __flag, const char *__restrict __format, ...); +extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nonnull__ (1))); +extern int __vprintf_chk (int __flag, const char *__restrict __format, + __gnuc_va_list __ap); + + +extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt, + ...) __attribute__ ((__format__ (__printf__, 3, 4))); +extern int __vdprintf_chk (int __fd, int __flag, + const char *__restrict __fmt, __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 3, 0))); +# 96 "/usr/include/bits/stdio2-decl.h" 3 4 +extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets") + + + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2))); +extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk") + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer"))) + ; + +extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, + FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__nonnull__ (4))); + +extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread") + + + __attribute__ ((__warn_unused_result__)); +extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk") + + + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer"))) + ; + +extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (5))); +# 145 "/usr/include/bits/stdio2-decl.h" 3 4 +extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked") + + + __attribute__ ((__warn_unused_result__)); +extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk") + + + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer"))) + ; + +extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (5))); +# 965 "/usr/include/stdio.h" 2 3 4 +# 976 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/stdio.h" 1 3 4 +# 46 "/usr/include/bits/stdio.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +getchar (void) +{ + return getc (stdin); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +fgetc_unlocked (FILE *__fp) +{ + return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +} + + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +getc_unlocked (FILE *__fp) +{ + return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +getchar_unlocked (void) +{ + return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +putchar (int __c) +{ + return putc (__c, stdout); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +fputc_unlocked (int __c, FILE *__stream) +{ + return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); +} + + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +putc_unlocked (int __c, FILE *__stream) +{ + return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +putchar_unlocked (int __c) +{ + return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); +} +# 127 "/usr/include/bits/stdio.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) feof_unlocked (FILE *__stream) +{ + return (((__stream)->_flags & 0x0010) != 0); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) ferror_unlocked (FILE *__stream) +{ + return (((__stream)->_flags & 0x0020) != 0); +} +# 977 "/usr/include/stdio.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdio2.h" 1 3 4 +# 27 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) +{ + return __builtin___sprintf_chk (__s, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, + __builtin_va_arg_pack ()); +} + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) + +{ + return __builtin___vsprintf_chk (__s, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, __ap); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) + +{ + return __builtin___snprintf_chk (__s, __n, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, + __builtin_va_arg_pack ()); +} + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) + +{ + return __builtin___vsnprintf_chk (__s, __n, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, __ap); +} + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) int +fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...) +{ + return __fprintf_chk (__stream, 3 - 1, __fmt, + __builtin_va_arg_pack ()); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +printf (const char *__restrict __fmt, ...) +{ + return __printf_chk (3 - 1, __fmt, __builtin_va_arg_pack ()); +} + + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +vprintf (const char *__restrict __fmt, __gnuc_va_list __ap) +{ + + return __vfprintf_chk (stdout, 3 - 1, __fmt, __ap); + + + +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) int +vfprintf (FILE *__restrict __stream, + const char *__restrict __fmt, __gnuc_va_list __ap) +{ + return __vfprintf_chk (__stream, 3 - 1, __fmt, __ap); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +dprintf (int __fd, const char *__restrict __fmt, ...) +{ + return __dprintf_chk (__fd, 3 - 1, __fmt, + __builtin_va_arg_pack ()); +} + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap) +{ + return __vdprintf_chk (__fd, 3 - 1, __fmt, __ap); +} +# 194 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1))) +__attribute__ ((__nonnull__ (3))) char * +fgets (char *__restrict __s, int __n, FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__s, 1); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))) && (((long unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))))) + return __fgets_alias (__s, __n, __stream); + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (sizeof (char)))) && !(((long unsigned int) (__n)) <= (sz) / (sizeof (char))))) + return __fgets_chk_warn (__s, sz, __n, __stream); + return __fgets_chk (__s, sz, __n, __stream); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))) size_t +fread (void *__restrict __ptr, size_t __size, size_t __n, + FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__ptr, 0); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((long unsigned int) (__n)) <= ((sz)) / ((__size)))))) + return __fread_alias (__ptr, __size, __n, __stream); + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (__size))) && !(((long unsigned int) (__n)) <= (sz) / (__size)))) + return __fread_chk_warn (__ptr, sz, __size, __n, __stream); + return __fread_chk (__ptr, sz, __size, __n, __stream); +} +# 234 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))) size_t +fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, + FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__ptr, 0); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((long unsigned int) (__n)) <= ((sz)) / ((__size)))))) + { + + if (__builtin_constant_p (__size) + && __builtin_constant_p (__n) + && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2)) + && __size * __n <= 8) + { + size_t __cnt = __size * __n; + char *__cptr = (char *) __ptr; + if (__cnt == 0) + return 0; + + for (; __cnt > 0; --__cnt) + { + int __c = getc_unlocked (__stream); + if (__c == (-1)) + break; + *__cptr++ = __c; + } + return (__cptr - (char *) __ptr) / __size; + } + + return __fread_unlocked_alias (__ptr, __size, __n, __stream); + } + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (__size))) && !(((long unsigned int) (__n)) <= (sz) / (__size)))) + return __fread_unlocked_chk_warn (__ptr, sz, __size, __n, __stream); + return __fread_unlocked_chk (__ptr, sz, __size, __n, __stream); + +} +# 981 "/usr/include/stdio.h" 2 3 4 + + + +# 5 "include/io.h" 2 + + +# 6 "include/io.h" +typedef FILE* fptr_t; + +typedef struct +{ + fptr_t ptr; + uint8_t* buffer; + const char* path; + size_t size; +} *memstream_t; + +__attribute__((warn_unused_result, nonnull)) +fptr_t io_open_file (const char* filename, const char* mode); + +__attribute__((warn_unused_result, nonnull)) +uint8_t* io_alloc_file_buffer (fptr_t file); + +__attribute__((nonnull (1, 2))) +size_t io_read_file_into_buffer (fptr_t file, uint8_t* const buffer, uint64_t buffer_size); + +__attribute__((nonnull (1), warn_unused_result)) +memstream_t io_read_file_into_memstream (fptr_t file, const char* const path); + +__attribute__((nonnull)) +void io_free_memstream (memstream_t stream); + +__attribute__((nonnull)) +void io_close_file (fptr_t file); +# 4 "include/ansi-colors.h" 2 +# 34 "include/ansi-colors.h" +void cprintf (const char* ccode, const char* fmt, ...); + +__attribute__((nonnull (1))) +void cfprintf (fptr_t file, const char* ccode, const char* fmt, ...); +# 4 "include/generic.h" 2 + +# 1 "/usr/include/errno.h" 1 3 4 +# 28 "/usr/include/errno.h" 3 4 +# 1 "/usr/include/bits/errno.h" 1 3 4 +# 26 "/usr/include/bits/errno.h" 3 4 +# 1 "/usr/include/linux/errno.h" 1 3 4 +# 1 "/usr/include/asm/errno.h" 1 3 4 +# 1 "/usr/include/asm-generic/errno.h" 1 3 4 + + + + +# 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 +# 6 "/usr/include/asm-generic/errno.h" 2 3 4 +# 2 "/usr/include/asm/errno.h" 2 3 4 +# 2 "/usr/include/linux/errno.h" 2 3 4 +# 27 "/usr/include/bits/errno.h" 2 3 4 +# 29 "/usr/include/errno.h" 2 3 4 + + + + + + + + + +# 37 "/usr/include/errno.h" 3 4 +extern int *__errno_location (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +# 52 "/usr/include/errno.h" 3 4 + +# 6 "include/generic.h" 2 + + +# 1 "/usr/include/string.h" 1 3 4 +# 26 "/usr/include/string.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/string.h" 2 3 4 + + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 34 "/usr/include/string.h" 2 3 4 +# 43 "/usr/include/string.h" 3 4 +extern void *memcpy (void *__restrict __dest, const void *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void *memmove (void *__dest, const void *__src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern void *memccpy (void *__restrict __dest, const void *__restrict __src, + int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 4))); + + + + +extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern int memcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 80 "/usr/include/string.h" 3 4 +extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 107 "/usr/include/string.h" 3 4 +extern void *memchr (const void *__s, int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 141 "/usr/include/string.h" 3 4 +extern char *strcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern char *strcat (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncat (char *__restrict __dest, const char *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int strncmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcoll (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern size_t strxfrm (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +# 1 "/usr/include/bits/types/locale_t.h" 1 3 4 +# 22 "/usr/include/bits/types/locale_t.h" 3 4 +# 1 "/usr/include/bits/types/__locale_t.h" 1 3 4 +# 27 "/usr/include/bits/types/__locale_t.h" 3 4 +struct __locale_struct +{ + + struct __locale_data *__locales[13]; + + + const unsigned short int *__ctype_b; + const int *__ctype_tolower; + const int *__ctype_toupper; + + + const char *__names[13]; +}; + +typedef struct __locale_struct *__locale_t; +# 23 "/usr/include/bits/types/locale_t.h" 2 3 4 + +typedef __locale_t locale_t; +# 173 "/usr/include/string.h" 2 3 4 + + +extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + +extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, + locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + + + +extern char *strdup (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern char *strndup (const char *__string, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); +# 246 "/usr/include/string.h" 3 4 +extern char *strchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 273 "/usr/include/string.h" 3 4 +extern char *strrchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 286 "/usr/include/string.h" 3 4 +extern char *strchrnul (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern size_t strcspn (const char *__s, const char *__reject) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern size_t strspn (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 323 "/usr/include/string.h" 3 4 +extern char *strpbrk (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 350 "/usr/include/string.h" 3 4 +extern char *strstr (const char *__haystack, const char *__needle) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strtok (char *__restrict __s, const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *__strtok_r (char *__restrict __s, + const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); + +extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); +# 380 "/usr/include/string.h" 3 4 +extern char *strcasestr (const char *__haystack, const char *__needle) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + + +extern void *memmem (const void *__haystack, size_t __haystacklen, + const void *__needle, size_t __needlelen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))) + __attribute__ ((__access__ (__read_only__, 1, 2))) + __attribute__ ((__access__ (__read_only__, 3, 4))); + + + +extern void *__mempcpy (void *__restrict __dest, + const void *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern void *mempcpy (void *__restrict __dest, + const void *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern size_t strlen (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern size_t strnlen (const char *__string, size_t __maxlen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern char *strerror (int __errnum) __attribute__ ((__nothrow__ , __leaf__)); +# 432 "/usr/include/string.h" 3 4 +extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__nonnull__ (2))) + __attribute__ ((__access__ (__write_only__, 2, 3))); +# 458 "/usr/include/string.h" 3 4 +extern char *strerror_l (int __errnum, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); + + + +# 1 "/usr/include/strings.h" 1 3 4 +# 23 "/usr/include/strings.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 24 "/usr/include/strings.h" 2 3 4 + + + + + + + + + + +extern int bcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bcopy (const void *__src, void *__dest, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 68 "/usr/include/strings.h" 3 4 +extern char *index (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 96 "/usr/include/strings.h" 3 4 +extern char *rindex (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int ffs (int __i) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + + + +extern int ffsl (long int __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +__extension__ extern int ffsll (long long int __ll) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + +extern int strcasecmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + +extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + + +extern int strncasecmp_l (const char *__s1, const char *__s2, + size_t __n, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); + + + + + + + + +# 1 "/usr/include/bits/strings_fortified.h" 1 3 4 +# 22 "/usr/include/bits/strings_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void +__attribute__ ((__nothrow__ , __leaf__)) bcopy (const void *__src, void *__dest, size_t __len) +{ + (void) __builtin___memmove_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 0)); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void +__attribute__ ((__nothrow__ , __leaf__)) bzero (void *__dest, size_t __len) +{ + (void) __builtin___memset_chk (__dest, '\0', __len, + __builtin_dynamic_object_size (__dest, 0)); +} +# 145 "/usr/include/strings.h" 2 3 4 +# 463 "/usr/include/string.h" 2 3 4 + + + +extern void explicit_bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) + __attribute__ ((__access__ (__write_only__, 1))); + + + +extern char *strsep (char **__restrict __stringp, + const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__)); +# 489 "/usr/include/string.h" 3 4 +extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + +extern char *__stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern size_t strlcpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +extern size_t strlcat (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__read_write__, 1, 3))); +# 548 "/usr/include/string.h" 3 4 +# 1 "/usr/include/bits/string_fortified.h" 1 3 4 +# 25 "/usr/include/bits/string_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * +__attribute__ ((__nothrow__ , __leaf__)) memcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) + +{ + return __builtin___memcpy_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 0)); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * +__attribute__ ((__nothrow__ , __leaf__)) memmove (void *__dest, const void *__src, size_t __len) +{ + return __builtin___memmove_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 0)); +} +# 56 "/usr/include/bits/string_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * +__attribute__ ((__nothrow__ , __leaf__)) memset (void *__dest, int __ch, size_t __len) +{ + return __builtin___memset_chk (__dest, __ch, __len, + __builtin_dynamic_object_size (__dest, 0)); +} + + + + +void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1))); + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void +__attribute__ ((__nothrow__ , __leaf__)) explicit_bzero (void *__dest, size_t __len) +{ + __explicit_bzero_chk (__dest, __len, __builtin_dynamic_object_size (__dest, 0)); +} + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strcpy (char *__restrict __dest, const char *__restrict __src) +{ + return __builtin___strcpy_chk (__dest, __src, __builtin_dynamic_object_size (__dest, 1)); +} + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) stpcpy (char *__restrict __dest, const char *__restrict __src) +{ + return __builtin___stpcpy_chk (__dest, __src, __builtin_dynamic_object_size (__dest, 1)); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strncpy (char *__restrict __dest, const char *__restrict __src, size_t __len) + +{ + return __builtin___strncpy_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 1)); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) stpncpy (char *__dest, const char *__src, size_t __n) +{ + return __builtin___stpncpy_chk (__dest, __src, __n, + __builtin_dynamic_object_size (__dest, 1)); +} +# 127 "/usr/include/bits/string_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strcat (char *__restrict __dest, const char *__restrict __src) +{ + return __builtin___strcat_chk (__dest, __src, __builtin_dynamic_object_size (__dest, 1)); +} + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strncat (char *__restrict __dest, const char *__restrict __src, size_t __len) + +{ + return __builtin___strncat_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 1)); +} + + +extern size_t __strlcpy_chk (char *__dest, const char *__src, size_t __n, + size_t __destlen) __attribute__ ((__nothrow__ , __leaf__)); +extern size_t __strlcpy_alias (char *__dest, const char *__src, size_t __n) __asm__ ("" "strlcpy") __attribute__ ((__nothrow__ , __leaf__)) + + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) strlcpy (char *__restrict __dest, const char *__restrict __src, size_t __n) + +{ + if (__builtin_dynamic_object_size (__dest, 1) != (size_t) -1 + && (!__builtin_constant_p (__n > __builtin_dynamic_object_size (__dest, 1)) + || __n > __builtin_dynamic_object_size (__dest, 1))) + return __strlcpy_chk (__dest, __src, __n, __builtin_dynamic_object_size (__dest, 1)); + return __strlcpy_alias (__dest, __src, __n); +} + +extern size_t __strlcat_chk (char *__dest, const char *__src, size_t __n, + size_t __destlen) __attribute__ ((__nothrow__ , __leaf__)); +extern size_t __strlcat_alias (char *__dest, const char *__src, size_t __n) __asm__ ("" "strlcat") __attribute__ ((__nothrow__ , __leaf__)) + + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) strlcat (char *__restrict __dest, const char *__restrict __src, size_t __n) + +{ + if (__builtin_dynamic_object_size (__dest, 1) != (size_t) -1 + && (!__builtin_constant_p (__n > __builtin_dynamic_object_size (__dest, 1)) + || __n > __builtin_dynamic_object_size (__dest, 1))) + return __strlcat_chk (__dest, __src, __n, __builtin_dynamic_object_size (__dest, 1)); + return __strlcat_alias (__dest, __src, __n); +} +# 549 "/usr/include/string.h" 2 3 4 + + + + +# 9 "include/generic.h" 2 +# 1 "/usr/include/inttypes.h" 1 3 4 +# 34 "/usr/include/inttypes.h" 3 4 +typedef int __gwchar_t; +# 327 "/usr/include/inttypes.h" 3 4 + + + + + +typedef struct + { + long int quot; + long int rem; + } imaxdiv_t; +# 351 "/usr/include/inttypes.h" 3 4 +extern intmax_t imaxabs (intmax_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + +extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + +extern intmax_t strtoimax (const char *__restrict __nptr, + char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); + + +extern uintmax_t strtoumax (const char *__restrict __nptr, + char ** __restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); + + +extern intmax_t wcstoimax (const __gwchar_t *__restrict __nptr, + __gwchar_t **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)); + + +extern uintmax_t wcstoumax (const __gwchar_t *__restrict __nptr, + __gwchar_t ** __restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)); +# 415 "/usr/include/inttypes.h" 3 4 + +# 10 "include/generic.h" 2 +# 80 "include/generic.h" + +# 80 "include/generic.h" +void __chk_free_impl (const char* fn, void* ptr); +void __chk_free_impl_nofn (void* ptr); +void* __chk_calloc_impl (const char* fn, size_t nmemb, size_t size); +void* __chk_realloc_impl (const char* fn, void* ptr, size_t size); + + +void dbg_mem_dump_stats (void); +# 3 "src/lexer.c" 2 + +# 1 "include/lexer.h" 1 + + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdbool.h" 1 3 4 +# 8 "include/lexer.h" 2 + +typedef struct lexer_impl +{ + array_t memstreams; + array_t lexeme_arrays; +} *lexer_t; + +struct compilation_args; + +__attribute__((warn_unused_result)) +lexer_t lex_ctx_new (struct compilation_args* comp_args); + +__attribute__((nonnull)) +void lex_ctx_load_file (lexer_t, fptr_t file, const char* const path); + +__attribute__((nonnull)) +uint64_t lex_ctx_process (lexer_t lexer); + +__attribute__((nonnull)) +void lex_ctx_free (lexer_t lexer); + +enum lexeme_type +{ + NumericLiteral, + FloatingLiteral, + StringLiteral, + CharacterLiteral, + Identifier, + LeftParen, RightParen, + LeftBrace, RightBrace, + Dot, + Add, Minus, Div, Star, Modulus, + AddAssign, MinusAssign, DivAssign, StarAssign, ModulusAssign, + Increment, Decrement, + LogicalOr, LogicalAnd, + Assign, AssignAssign, + Not, NotAssign, + BitwiseOr, BitwiseAnd, BitwiseXor, + BitwiseOrAssign, BitwiseAndAssign, BitwiseXorAssign, + BitwiseNegate, + BwdSlash, Newline, Semi, EndOfFile, + Comment, MultiComment +}; + +typedef struct +{ + uint64_t length; + uint64_t stream_offs; + enum lexeme_type type; +} *lexeme_t; +# 5 "src/lexer.c" 2 +# 1 "include/stdio-ext.h" 1 + + + + +__attribute__((nonnull (1))) +int fpeek (FILE* stream, long lookahead); + +__attribute__((nonnull (1))) +int fconsume (FILE* stream, long offset); + +int isoctdigit (int ch); + +int isident (int ch); +int isident_f (int ch); +# 6 "src/lexer.c" 2 +# 1 "include/diagnostics.h" 1 + + + + + + + +struct compilation_args +{ + struct + { + +# 12 "include/diagnostics.h" 3 4 + _Bool +# 12 "include/diagnostics.h" + warn_multichar: 1; + } warn_flags; + struct + { + +# 16 "include/diagnostics.h" 3 4 + _Bool +# 16 "include/diagnostics.h" + tokenize_comments: 1; + } parse_flags; + char** filenames; + size_t nr_filenames; +}; + +enum diagn_type +{ + DiagnosticWarning, + DiagnosticError, + DiagnosticNote +}; + +struct diagnostic; +typedef struct diagnostic_impl* diagn_t; + +__attribute__((nonnull)) +void diagn_free (diagn_t); + +__attribute__((warn_unused_result, malloc (diagn_free))) +diagn_t diagn_new (struct compilation_args* comp_args, uint8_t* src_stream, + const char* const path); + +__attribute__((nonnull (1, 4), format (printf, 5, 6))) +void diagn_push (diagn_t, const char* warn_name_opt, enum diagn_type type, + lexeme_t lexeme, const char* fmt, ...); + +__attribute__((nonnull)) +uint64_t diagn_flush (diagn_t, fptr_t file); +# 7 "src/lexer.c" 2 + +# 1 "/usr/include/ctype.h" 1 3 4 +# 28 "/usr/include/ctype.h" 3 4 + +# 46 "/usr/include/ctype.h" 3 4 + +# 46 "/usr/include/ctype.h" 3 4 +enum +{ + _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), + _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), + _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), + _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), + _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), + _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), + _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), + _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), + _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), + _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), + _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), + _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) +}; +# 79 "/usr/include/ctype.h" 3 4 +extern const unsigned short int **__ctype_b_loc (void) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +extern const __int32_t **__ctype_tolower_loc (void) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +extern const __int32_t **__ctype_toupper_loc (void) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +# 108 "/usr/include/ctype.h" 3 4 +extern int isalnum (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isalpha (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int iscntrl (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isdigit (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int islower (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isgraph (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isprint (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int ispunct (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isspace (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isupper (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isxdigit (int) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int tolower (int __c) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int toupper (int __c) __attribute__ ((__nothrow__ , __leaf__)); + + + + +extern int isblank (int) __attribute__ ((__nothrow__ , __leaf__)); +# 142 "/usr/include/ctype.h" 3 4 +extern int isascii (int __c) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int toascii (int __c) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int _toupper (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int _tolower (int) __attribute__ ((__nothrow__ , __leaf__)); +# 206 "/usr/include/ctype.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) tolower (int __c) +{ + return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c; +} + +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) toupper (int __c) +{ + return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c; +} +# 251 "/usr/include/ctype.h" 3 4 +extern int isalnum_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isalpha_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int iscntrl_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isdigit_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int islower_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isgraph_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isprint_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int ispunct_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isspace_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isupper_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isxdigit_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); + +extern int isblank_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int __tolower_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); +extern int tolower_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int __toupper_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); +extern int toupper_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); +# 327 "/usr/include/ctype.h" 3 4 + +# 9 "src/lexer.c" 2 +# 55 "src/lexer.c" + +# 55 "src/lexer.c" +static diagn_t g_diagnostics; +static struct compilation_args* g_comp_args; + +static lexeme_t +lex_ctx_create_lexeme (const memstream_t stream, + enum lexeme_type lexeme_type, + uint64_t length) +{ + lexeme_t lexeme = __chk_calloc_impl (__func__, (1), (sizeof (*(lexeme_t) +# 63 "src/lexer.c" 3 4 + ((void *)0) +# 63 "src/lexer.c" + ))); + lexeme->stream_offs = (uint64_t)ftell (stream->ptr); + lexeme->length = length; + lexeme->type = lexeme_type; + return lexeme; +} + +static uint64_t +lex_ctx_length_until_eol (memstream_t stream) +{ + uint64_t length = 0; int current; while (((current) = fpeek ((stream)->ptr, (long)(length))) > 0) + { + if (current == '\n' || current == +# 75 "src/lexer.c" 3 4 + (-1) +# 75 "src/lexer.c" + ) + break; + length++; + } + return length; +} + +static void +lex_ctx_consume_comment (memstream_t stream, + array_t lexemes) +{ + uint64_t length = 2; int current; while (((current) = fpeek ((stream)->ptr, (long)(length))) > 0) + { + if (current == '\n') + break; + length++; + } + fprintf (( +# 92 "src/lexer.c" 3 4 + stdout +# 92 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 92 "src/lexer.c" 3 4 + "u" +# 92 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming " "\"single-line comment\"" ": \"%.*s\"" "\n", "src/lexer.c", 92, (int)length + (-2), (stream)->buffer + ftell ((stream)->ptr) + (2));; + if (g_comp_args->parse_flags.tokenize_comments) + array_append(lexemes, lex_ctx_create_lexeme(stream, Comment, length)); + else + array_append (lexemes, lex_ctx_create_lexeme (stream, Newline, 1)); + fconsume (stream->ptr, (long)length + 1); +} + +static void +lex_ctx_consume_multicomment (memstream_t stream, + array_t lexemes) +{ + uint64_t length = 2; int current; while (((current) = fpeek ((stream)->ptr, (long)(length))) > 0) + { + int next = fpeek (stream->ptr, (long)(length + 1)); + if (current == '*' && next == '/') + break; + length++; + } + if (current == +# 111 "src/lexer.c" 3 4 + (-1) +# 111 "src/lexer.c" + ) + goto unterminated; + fprintf (( +# 113 "src/lexer.c" 3 4 + stdout +# 113 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 113 "src/lexer.c" 3 4 + "u" +# 113 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming multi-line comment of length (tokenize-comments=%s): %" +# 113 "src/lexer.c" 3 4 + "l" "u" +# 113 "src/lexer.c" + "\n", "src/lexer.c", 113, (g_comp_args->parse_flags.tokenize_comments)? "yes": "no", length) + ; + fprintf (( +# 115 "src/lexer.c" 3 4 + stdout +# 115 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 115 "src/lexer.c" 3 4 + "u" +# 115 "src/lexer.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "multi-line comment: \"%.*s\"" "\n", "src/lexer.c", 115, (int)length - 2, stream->buffer + ftell (stream->ptr) + 2) + ; + if (g_comp_args->parse_flags.tokenize_comments) + array_append (lexemes, lex_ctx_create_lexeme(stream, MultiComment, length)); + else + array_append (lexemes, lex_ctx_create_lexeme (stream, Newline, 1)); + fconsume (stream->ptr, (long)length + 2); + return; +unterminated: + __extension__ __auto_type length_to_eol = lex_ctx_length_until_eol (stream); + __extension__ __auto_type lexeme = lex_ctx_create_lexeme (stream, MultiComment, length); + diagn_push (g_diagnostics, +# 126 "src/lexer.c" 3 4 + ((void *)0) +# 126 "src/lexer.c" + , DiagnosticError, lexeme, + "missing terminating " "\033[1;" "37m" "*/" "\033[0m" " characters from multiline comment"); + fconsume (stream->ptr, (long)length); + array_append (lexemes, lexeme); +} + +static void +lex_ctx_consume_hexadecimal_float (memstream_t stream, + array_t lexemes) +{ + +# 136 "src/lexer.c" 3 4 + _Bool +# 136 "src/lexer.c" + past_decimal = +# 136 "src/lexer.c" 3 4 + 0 +# 136 "src/lexer.c" + ; + uint64_t length = 2; int current; while (((current) = fpeek ((stream)->ptr, (long)(length))) > 0) + { + if (!past_decimal && current == '.') + past_decimal = +# 140 "src/lexer.c" 3 4 + 1 +# 140 "src/lexer.c" + ; + else if (! +# 141 "src/lexer.c" 3 4 + ((*__ctype_b_loc ())[(int) (( +# 141 "src/lexer.c" + current +# 141 "src/lexer.c" 3 4 + ))] & (unsigned short int) _ISxdigit) +# 141 "src/lexer.c" + ) + break; + length++; + } + fprintf (( +# 145 "src/lexer.c" 3 4 + stdout +# 145 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 145 "src/lexer.c" 3 4 + "u" +# 145 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming " "\"hexadecimal float\"" ": \"%.*s\"" "\n", "src/lexer.c", 145, (int)length + (0), (stream)->buffer + ftell ((stream)->ptr) + (0));; + { array_append ((lexemes), lex_ctx_create_lexeme ((stream), (FloatingLiteral), (length))); fconsume ((stream)->ptr, (long)(length)); }; +} + +static void +lex_ctx_consume_decimal_float (memstream_t stream, + array_t lexemes) +{ + +# 153 "src/lexer.c" 3 4 + _Bool +# 153 "src/lexer.c" + past_point = +# 153 "src/lexer.c" 3 4 + 0 +# 153 "src/lexer.c" + ; + uint64_t length = 0; int current; while (((current) = fpeek ((stream)->ptr, (long)(length))) > 0) + { + if (!past_point && current == '.') + past_point = +# 157 "src/lexer.c" 3 4 + 1 +# 157 "src/lexer.c" + ; + else if (! +# 158 "src/lexer.c" 3 4 + ((*__ctype_b_loc ())[(int) (( +# 158 "src/lexer.c" + current +# 158 "src/lexer.c" 3 4 + ))] & (unsigned short int) _ISdigit) +# 158 "src/lexer.c" + ) + break; + length++; + } + fprintf (( +# 162 "src/lexer.c" 3 4 + stdout +# 162 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 162 "src/lexer.c" 3 4 + "u" +# 162 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming " "\"decimal float\"" ": \"%.*s\"" "\n", "src/lexer.c", 162, (int)length + (0), (stream)->buffer + ftell ((stream)->ptr) + (0)); + { array_append ((lexemes), lex_ctx_create_lexeme ((stream), (FloatingLiteral), (length))); fconsume ((stream)->ptr, (long)(length)); }; +} + +static void +lex_ctx_consume_number (memstream_t stream, + array_t lexemes) +{ + uint64_t length = 0; int current; while (((current) = fpeek ((stream)->ptr, (long)(length))) > 0) + { + if (current == '.') + { + lex_ctx_consume_decimal_float (stream, lexemes); + return; + } + else if (! +# 177 "src/lexer.c" 3 4 + ((*__ctype_b_loc ())[(int) (( +# 177 "src/lexer.c" + current +# 177 "src/lexer.c" 3 4 + ))] & (unsigned short int) _ISdigit) +# 177 "src/lexer.c" + ) + break; + length++; + } + fprintf (( +# 181 "src/lexer.c" 3 4 + stdout +# 181 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 181 "src/lexer.c" 3 4 + "u" +# 181 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming " "\"number\"" ": \"%.*s\"" "\n", "src/lexer.c", 181, (int)length + (0), (stream)->buffer + ftell ((stream)->ptr) + (0));; + { array_append ((lexemes), lex_ctx_create_lexeme ((stream), (NumericLiteral), (length))); fconsume ((stream)->ptr, (long)(length)); }; +} + +static void +lex_ctx_consume_identifier (memstream_t stream, + array_t lexemes) +{ + uint64_t length = 0; int current; while (((current) = fpeek ((stream)->ptr, (long)(length))) > 0) + { + if (!isident (current)) + break; + length++; + } + fprintf (( +# 195 "src/lexer.c" 3 4 + stdout +# 195 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 195 "src/lexer.c" 3 4 + "u" +# 195 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming " "\"identifier\"" ": \"%.*s\"" "\n", "src/lexer.c", 195, (int)length + (0), (stream)->buffer + ftell ((stream)->ptr) + (0));; + { array_append ((lexemes), lex_ctx_create_lexeme ((stream), (Identifier), (length))); fconsume ((stream)->ptr, (long)(length)); }; +} + +static void +lex_ctx_consume_string (memstream_t stream, + array_t lexemes) +{ + uint64_t length = 1; int current; while (((current) = fpeek ((stream)->ptr, (long)(length))) > 0) + { + int next = fpeek (stream->ptr, (long)(length + 1)); + if (current == '"') + { + length++; + break; + } + if (current == '\\' && (next == '\n' || next == '"')) + length++; + else if (current == '\n') + goto unterminated; + length++; + } + + if (current == +# 218 "src/lexer.c" 3 4 + (-1) +# 218 "src/lexer.c" + ) + goto unterminated; + + fprintf (( +# 221 "src/lexer.c" 3 4 + stdout +# 221 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 221 "src/lexer.c" 3 4 + "u" +# 221 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming " "\"string literal\"" ": \"%.*s\"" "\n", "src/lexer.c", 221, (int)length + (-2), (stream)->buffer + ftell ((stream)->ptr) + (1));; + { array_append ((lexemes), lex_ctx_create_lexeme ((stream), (StringLiteral), (length))); fconsume ((stream)->ptr, (long)(length)); }; + return; +unterminated: + __extension__ __auto_type length_to_eol = lex_ctx_length_until_eol (stream); + __extension__ __auto_type lexeme = lex_ctx_create_lexeme (stream, StringLiteral, length_to_eol); + diagn_push (g_diagnostics, +# 227 "src/lexer.c" 3 4 + ((void *)0) +# 227 "src/lexer.c" + , DiagnosticError, lexeme, + "missing terminating " "\033[1;" "37m" "\"" "\033[0m" " character"); + fconsume (stream->ptr, (long)length_to_eol); + array_append (lexemes, lexeme); +} + +static void +lex_ctx_consume_character (memstream_t stream, + array_t lexemes) +{ + uint64_t length = 1; int current; while (((current) = fpeek ((stream)->ptr, (long)(length))) > 0) + { + int next = fpeek (stream->ptr, (long)(length + 1)); + if (current == '\'') + { + length++; + break; + } + if (current == '\\' && (next == '\n' || next == '\'')) + length++; + else if (current == '\n') + goto unterminated; + length++; + } + + lexeme_t lexeme; + if (current == +# 253 "src/lexer.c" 3 4 + (-1) +# 253 "src/lexer.c" + ) + goto unterminated; + + lexeme = lex_ctx_create_lexeme(stream, CharacterLiteral, length); + if (length > 3) + diagn_push (g_diagnostics, "multichar", DiagnosticWarning, lexeme, + "multi-character character constant"); + fprintf (( +# 260 "src/lexer.c" 3 4 + stdout +# 260 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 260 "src/lexer.c" 3 4 + "u" +# 260 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming " "\"character literal\"" ": \"%.*s\"" "\n", "src/lexer.c", 260, (int)length + (-2), (stream)->buffer + ftell ((stream)->ptr) + (1));; + array_append (lexemes, lexeme); + fconsume (stream->ptr, (long)length); + return; +unterminated: + __extension__ __auto_type length_to_eol = lex_ctx_length_until_eol (stream); + __extension__ __auto_type err_lexeme = lex_ctx_create_lexeme (stream, StringLiteral, length_to_eol); + diagn_push (g_diagnostics, +# 267 "src/lexer.c" 3 4 + ((void *)0) +# 267 "src/lexer.c" + , DiagnosticError, err_lexeme, + "missing terminating " "\033[1;" "37m" "'" "\033[0m" " character"); + fconsume (stream->ptr, (long)length_to_eol); + array_append (lexemes, err_lexeme); +} + +static void +lex_ctx_consume_octal (memstream_t stream, + array_t lexemes) +{ + uint64_t length = 0; int current; while (((current) = fpeek ((stream)->ptr, (long)(length))) > 0) + { + if (!isoctdigit (current)) + { + if ( +# 281 "src/lexer.c" 3 4 + ((*__ctype_b_loc ())[(int) (( +# 281 "src/lexer.c" + current +# 281 "src/lexer.c" 3 4 + ))] & (unsigned short int) _ISdigit) +# 281 "src/lexer.c" + || current == '.') + { + + lex_ctx_consume_number (stream, lexemes); + return; + } + break; + } + else + length++; + } + fprintf (( +# 292 "src/lexer.c" 3 4 + stdout +# 292 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 292 "src/lexer.c" 3 4 + "u" +# 292 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming " "\"octal number\"" ": \"%.*s\"" "\n", "src/lexer.c", 292, (int)length + (0), (stream)->buffer + ftell ((stream)->ptr) + (0));; + { array_append ((lexemes), lex_ctx_create_lexeme ((stream), (NumericLiteral), (length))); fconsume ((stream)->ptr, (long)(length)); } +} + +static void +lex_ctx_consume_hexadecimal (memstream_t stream, + array_t lexemes) +{ + uint64_t length = 2; int current; while (((current) = fpeek ((stream)->ptr, (long)(length))) > 0) + { + if (current == '.') + { + lex_ctx_consume_hexadecimal_float (stream, lexemes); + return; + } + else if (! +# 307 "src/lexer.c" 3 4 + ((*__ctype_b_loc ())[(int) (( +# 307 "src/lexer.c" + current +# 307 "src/lexer.c" 3 4 + ))] & (unsigned short int) _ISxdigit) +# 307 "src/lexer.c" + ) + break; + length++; + } + fprintf (( +# 311 "src/lexer.c" 3 4 + stdout +# 311 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 311 "src/lexer.c" 3 4 + "u" +# 311 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming " "\"hexadecimal number\"" ": \"%.*s\"" "\n", "src/lexer.c", 311, (int)length + (0), (stream)->buffer + ftell ((stream)->ptr) + (0));; + { array_append ((lexemes), lex_ctx_create_lexeme ((stream), (NumericLiteral), (length))); fconsume ((stream)->ptr, (long)(length)); }; +} + +static void +lex_ctx_consume_nonliteral (memstream_t stream, + array_t lexemes) +{ + int current = fpeek (stream->ptr, 0), + next = fpeek (stream->ptr, 1); + enum lexeme_type lex_type; + uint64_t length = 1; + + switch (current) + { + case ('~'): fprintf (( +# 326 "src/lexer.c" 3 4 + stdout +# 326 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 326 "src/lexer.c" 3 4 + "u" +# 326 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming unary lexeme: " "BitwiseNegate" "\n", "src/lexer.c", 326); lex_type = BitwiseNegate; break;; + case ('{'): fprintf (( +# 327 "src/lexer.c" 3 4 + stdout +# 327 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 327 "src/lexer.c" 3 4 + "u" +# 327 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming unary lexeme: " "LeftBrace" "\n", "src/lexer.c", 327); lex_type = LeftBrace; break;; + case ('}'): fprintf (( +# 328 "src/lexer.c" 3 4 + stdout +# 328 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 328 "src/lexer.c" 3 4 + "u" +# 328 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming unary lexeme: " "RightBrace" "\n", "src/lexer.c", 328); lex_type = RightBrace; break;; + case ('('): fprintf (( +# 329 "src/lexer.c" 3 4 + stdout +# 329 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 329 "src/lexer.c" 3 4 + "u" +# 329 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming unary lexeme: " "LeftParen" "\n", "src/lexer.c", 329); lex_type = LeftParen; break;; + case (')'): fprintf (( +# 330 "src/lexer.c" 3 4 + stdout +# 330 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 330 "src/lexer.c" 3 4 + "u" +# 330 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming unary lexeme: " "RightParen" "\n", "src/lexer.c", 330); lex_type = RightParen; break;; + case (';'): fprintf (( +# 331 "src/lexer.c" 3 4 + stdout +# 331 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 331 "src/lexer.c" 3 4 + "u" +# 331 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming unary lexeme: " "Semi" "\n", "src/lexer.c", 331); lex_type = Semi; break;; + case ('.'): fprintf (( +# 332 "src/lexer.c" 3 4 + stdout +# 332 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 332 "src/lexer.c" 3 4 + "u" +# 332 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming unary lexeme: " "Dot" "\n", "src/lexer.c", 332); lex_type = Dot; break;; + + case ('*'): lex_type = Star; if (next == '=') { fprintf (( +# 334 "src/lexer.c" 3 4 + stdout +# 334 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 334 "src/lexer.c" 3 4 + "u" +# 334 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming binary lexeme: " "CONCAT (Star, Assign)" "\n", "src/lexer.c", 334); lex_type = StarAssign; length++; } else { fprintf (( +# 334 "src/lexer.c" 3 4 + stdout +# 334 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 334 "src/lexer.c" 3 4 + "u" +# 334 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming binary lexeme: " "Star" "\n", "src/lexer.c", 334); } break;; + case ('+'): lex_type = Add; if (next == '=') { fprintf (( +# 335 "src/lexer.c" 3 4 + stdout +# 335 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 335 "src/lexer.c" 3 4 + "u" +# 335 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming binary lexeme: " "CONCAT (Add, Assign)" "\n", "src/lexer.c", 335); lex_type = AddAssign; length++; } else { fprintf (( +# 335 "src/lexer.c" 3 4 + stdout +# 335 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 335 "src/lexer.c" 3 4 + "u" +# 335 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming binary lexeme: " "Add" "\n", "src/lexer.c", 335); } break;; + case ('-'): lex_type = Minus; if (next == '=') { fprintf (( +# 336 "src/lexer.c" 3 4 + stdout +# 336 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 336 "src/lexer.c" 3 4 + "u" +# 336 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming binary lexeme: " "CONCAT (Minus, Assign)" "\n", "src/lexer.c", 336); lex_type = MinusAssign; length++; } else { fprintf (( +# 336 "src/lexer.c" 3 4 + stdout +# 336 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 336 "src/lexer.c" 3 4 + "u" +# 336 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming binary lexeme: " "Minus" "\n", "src/lexer.c", 336); } break;; + case ('%'): lex_type = Modulus; if (next == '=') { fprintf (( +# 337 "src/lexer.c" 3 4 + stdout +# 337 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 337 "src/lexer.c" 3 4 + "u" +# 337 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming binary lexeme: " "CONCAT (Modulus, Assign)" "\n", "src/lexer.c", 337); lex_type = ModulusAssign; length++; } else { fprintf (( +# 337 "src/lexer.c" 3 4 + stdout +# 337 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 337 "src/lexer.c" 3 4 + "u" +# 337 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming binary lexeme: " "Modulus" "\n", "src/lexer.c", 337); } break;; + case ('^'): lex_type = BitwiseXor; if (next == '=') { fprintf (( +# 338 "src/lexer.c" 3 4 + stdout +# 338 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 338 "src/lexer.c" 3 4 + "u" +# 338 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming binary lexeme: " "CONCAT (BitwiseXor, Assign)" "\n", "src/lexer.c", 338); lex_type = BitwiseXorAssign; length++; } else { fprintf (( +# 338 "src/lexer.c" 3 4 + stdout +# 338 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 338 "src/lexer.c" 3 4 + "u" +# 338 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming binary lexeme: " "BitwiseXor" "\n", "src/lexer.c", 338); } break;; + case ('!'): lex_type = Not; if (next == '=') { fprintf (( +# 339 "src/lexer.c" 3 4 + stdout +# 339 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 339 "src/lexer.c" 3 4 + "u" +# 339 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming binary lexeme: " "CONCAT (Not, Assign)" "\n", "src/lexer.c", 339); lex_type = NotAssign; length++; } else { fprintf (( +# 339 "src/lexer.c" 3 4 + stdout +# 339 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 339 "src/lexer.c" 3 4 + "u" +# 339 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming binary lexeme: " "Not" "\n", "src/lexer.c", 339); } break;; + case ('='): lex_type = Assign; if (next == '=') { fprintf (( +# 340 "src/lexer.c" 3 4 + stdout +# 340 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 340 "src/lexer.c" 3 4 + "u" +# 340 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming binary lexeme: " "CONCAT (Assign, Assign)" "\n", "src/lexer.c", 340); lex_type = AssignAssign; length++; } else { fprintf (( +# 340 "src/lexer.c" 3 4 + stdout +# 340 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 340 "src/lexer.c" 3 4 + "u" +# 340 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "consuming binary lexeme: " "Assign" "\n", "src/lexer.c", 340); } break;; + + case '/': + lex_type = Div; + if (next == '=') + { + lex_type = DivAssign; + length++; + } + else if (next == '*') + { + lex_ctx_consume_multicomment (stream, lexemes); + return; + } + else if (next == '/') + { + lex_ctx_consume_comment (stream, lexemes); + return; + } + break; + case '|': + lex_type = BitwiseOr; + if (next == '|') + { + lex_type = LogicalOr; + length++; + } + else if (next == '=') + { + lex_type = BitwiseOrAssign; + length++; + } + break; + case '&': + lex_type = BitwiseAnd; + if (next == '&') + { + lex_type = LogicalAnd; + length++; + } + else if (next == '=') + { + lex_type = BitwiseAndAssign; + length++; + } + break; + default: + fprintf (( +# 387 "src/lexer.c" 3 4 + stderr +# 387 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 387 "src/lexer.c" 3 4 + "u" +# 387 "src/lexer.c" + "\033[0m" ": " "\033[1;" "31m" "error: " "\033[0m" "unidentified character: '%c'" "\n", "src/lexer.c", 387, current); + fconsume (stream->ptr, 1); + return; + } + { array_append ((lexemes), lex_ctx_create_lexeme ((stream), (lex_type), (length))); fconsume ((stream)->ptr, (long)(length)); }; +} + +static uint64_t +lex_ctx_process_impl (lexer_t self, + memstream_t stream) +{ + __extension__ __auto_type lexemes = array_new (); + g_diagnostics = diagn_new (g_comp_args, stream->buffer, stream->path); + +# 400 "src/lexer.c" 3 4 + _Bool +# 400 "src/lexer.c" + reached_eof = +# 400 "src/lexer.c" 3 4 + 0 +# 400 "src/lexer.c" + ; + while (!feof (stream->ptr) && !reached_eof) + { + __extension__ __auto_type current = (int8_t)fpeek (stream->ptr, 0); + __extension__ __auto_type next = (int8_t)fpeek (stream->ptr, 1); + + switch (current) + { + case +# 408 "src/lexer.c" 3 4 + (-1) +# 408 "src/lexer.c" + : + fprintf (( +# 409 "src/lexer.c" 3 4 + stdout +# 409 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 409 "src/lexer.c" 3 4 + "u" +# 409 "src/lexer.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "consumed end of file" "\n", "src/lexer.c", 409); + array_append (lexemes, lex_ctx_create_lexeme (stream, EndOfFile, 0)); + reached_eof = +# 411 "src/lexer.c" 3 4 + 1 +# 411 "src/lexer.c" + ; + break; + case '\n': + fprintf (( +# 414 "src/lexer.c" 3 4 + stdout +# 414 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 414 "src/lexer.c" 3 4 + "u" +# 414 "src/lexer.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "consumed end of line" "\n", "src/lexer.c", 414); + array_append (lexemes, lex_ctx_create_lexeme (stream, Newline, 1)); + fconsume (stream->ptr, 1); + break; + case '0': + if (next == 'x') + { + lex_ctx_consume_hexadecimal (stream, lexemes); + break; + } + lex_ctx_consume_octal (stream, lexemes); + break; + case '1': case '2': case '3': case '4': + case '5': case '6': case '7': case '8': case '9': + lex_ctx_consume_number (stream, lexemes); + break; + case '"': + lex_ctx_consume_string (stream, lexemes); + break; + case '\'': + lex_ctx_consume_character (stream, lexemes); + break; + default: + if (isident_f (current)) + { + lex_ctx_consume_identifier (stream, lexemes); + break; + } + else if ( +# 442 "src/lexer.c" 3 4 + ((*__ctype_b_loc ())[(int) (( +# 442 "src/lexer.c" + current +# 442 "src/lexer.c" 3 4 + ))] & (unsigned short int) _ISspace) +# 442 "src/lexer.c" + ) + { + fconsume (stream->ptr, 1); + break; + } + lex_ctx_consume_nonliteral (stream, lexemes); + break; + } + } + fprintf (( +# 451 "src/lexer.c" 3 4 + stdout +# 451 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 451 "src/lexer.c" 3 4 + "u" +# 451 "src/lexer.c" + "\033[0m" ": " "\033[0;" "34m" "log: " "\033[0m" "Lexed %zu lexemes from \"%s\"" "\n", "src/lexer.c", 451, array_length (lexemes), stream->path); + array_append (self->lexeme_arrays, lexemes); + __extension__ __auto_type nr_errors = diagn_flush (g_diagnostics, +# 453 "src/lexer.c" 3 4 + stdout +# 453 "src/lexer.c" + ); + diagn_free (g_diagnostics); + return nr_errors; +} + +lexer_t +lex_ctx_new (struct compilation_args* comp_args) +{ + lexer_t lexer = __chk_calloc_impl (__func__, (1), (sizeof (*(lexer_t) +# 461 "src/lexer.c" 3 4 + ((void *)0) +# 461 "src/lexer.c" + ))); + lexer->memstreams = array_new (); + lexer->lexeme_arrays = array_new (); + g_comp_args = comp_args; + fprintf (( +# 465 "src/lexer.c" 3 4 + stdout +# 465 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 465 "src/lexer.c" 3 4 + "u" +# 465 "src/lexer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "created lexer %p" "\n", "src/lexer.c", 465, ((void *)((uintptr_t)lexer & 0xFFFFFFFF))); + return lexer; +} + +void +lex_ctx_load_file (lexer_t self, + fptr_t file, + const char* const path) +{ + array_append (self->memstreams, io_read_file_into_memstream (file, path)); +} + +uint64_t +lex_ctx_process (lexer_t self) +{ + uint64_t nr_lexing_errors = 0; + memstream_t stream; for (size_t i = 0; i < array_length (self->memstreams) && (stream = array_get (self->memstreams, i)); ++i) + { + nr_lexing_errors += lex_ctx_process_impl (self, stream); + } + return nr_lexing_errors; +} + +static void +lex_ctx_free_lexeme_arrays (array_t lexemes) +{ + fprintf (( +# 491 "src/lexer.c" 3 4 + stdout +# 491 "src/lexer.c" + ), "\033[1;" "37m" "%s:%" +# 491 "src/lexer.c" 3 4 + "u" +# 491 "src/lexer.c" + "\033[0m" ": " "\033[1;" "36m" "minutiae: " "\033[0m" "freeing lexeme array at %p" "\n", "src/lexer.c", 491, ((void *)((uintptr_t)lexemes & 0xFFFFFFFF))); + array_free_cb (lexemes, __chk_free_impl_nofn); +} + +void +lex_ctx_free (lexer_t self) +{ + array_free_cb (self->memstreams, io_free_memstream); + array_free_cb (self->lexeme_arrays, lex_ctx_free_lexeme_arrays); + __chk_free_impl (__func__, self); +} diff --git a/build/lexer.o b/build/lexer.o new file mode 100644 index 0000000..ab87706 Binary files /dev/null and b/build/lexer.o differ diff --git a/build/lexer.s b/build/lexer.s new file mode 100644 index 0000000..26ce019 --- /dev/null +++ b/build/lexer.s @@ -0,0 +1,31062 @@ + .file "lexer.c" + .text +.Ltext0: + .file 0 "/home/unazed/Programming/c/ucc-0.2.0" "src/lexer.c" + .section .rodata + .align 32 +.LC0: + .string "src/lexer.c" + .zero 52 + .align 32 +.LC1: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0mfreeing lexeme array at %p\n" + .zero 61 + .text + .type lex_ctx_free_lexeme_arrays, @function +lex_ctx_free_lexeme_arrays: +.LASANPC72: +.LVL0: +.LFB72: + .file 1 "src/lexer.c" + .loc 1 490 1 view -0 + .cfi_startproc + .loc 1 490 1 is_stmt 0 view .LVU1 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 13, -24 + .cfi_offset 12, -32 + .cfi_offset 3, -40 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + .loc 1 491 3 is_stmt 1 view .LVU2 + .loc 1 491 140 is_stmt 0 view .LVU3 + movl %edi, %r13d + .loc 1 491 3 view .LVU4 + leaq stdout(%rip), %rdi +.LVL1: + .loc 1 491 3 view .LVU5 + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L5 + movq stdout(%rip), %r12 + testq %r12, %r12 + je .L6 +.L3: +.LVL2: +.LBB82: +.LBI82: + .file 2 "/usr/include/bits/stdio2.h" + .loc 2 77 1 is_stmt 1 view .LVU6 +.LBB83: + .loc 2 79 3 view .LVU7 + .loc 2 79 10 is_stmt 0 view .LVU8 + movq %r13, %r9 + movl $491, %r8d + leaq .LC0(%rip), %rcx + leaq .LC1(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL3: + .loc 2 79 10 view .LVU9 +.LBE83: +.LBE82: + .loc 1 492 3 is_stmt 1 view .LVU10 + testq %rbx, %rbx + je .L7 +.L4: + movq __chk_free_impl_nofn@GOTPCREL(%rip), %rsi + movq %rbx, %rdi + call array_free_cb@PLT +.LVL4: + .loc 1 493 1 is_stmt 0 view .LVU11 + addq $8, %rsp + popq %rbx +.LVL5: + .loc 1 493 1 view .LVU12 + popq %r12 + popq %r13 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL6: +.L5: + .cfi_restore_state + .loc 1 491 3 view .LVU13 + call __asan_report_load8@PLT +.LVL7: +.L6: + leaq .Lubsan_data161(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL8: + jmp .L3 +.L7: + .loc 1 492 3 view .LVU14 + leaq .Lubsan_data163(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL9: + jmp .L4 + .cfi_endproc +.LFE72: + .size lex_ctx_free_lexeme_arrays, .-lex_ctx_free_lexeme_arrays + .type lex_ctx_length_until_eol, @function +lex_ctx_length_until_eol: +.LASANPC56: +.LVL10: +.LFB56: + .loc 1 72 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 72 1 is_stmt 0 view .LVU16 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + .cfi_offset 14, -24 + .cfi_offset 13, -32 + .cfi_offset 12, -40 + .cfi_offset 3, -48 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + .loc 1 73 3 is_stmt 1 view .LVU17 +.LVL11: + .loc 1 73 24 view .LVU18 + .loc 1 73 37 discriminator 1 view .LVU19 + .loc 1 73 12 is_stmt 0 view .LVU20 + movl $0, %r12d + .loc 1 73 43 view .LVU21 + jmp .L9 +.LVL12: +.L18: + .loc 1 77 5 is_stmt 1 view .LVU22 + .loc 1 77 11 is_stmt 0 view .LVU23 + addq $1, %r12 +.LVL13: +.L9: + .loc 1 73 96 is_stmt 1 discriminator 1 view .LVU24 + .loc 1 73 57 is_stmt 0 discriminator 1 view .LVU25 + movq %r12, %r14 + testq %rbx, %rbx + je .L11 + testb $7, %bl + jne .L11 +.L12: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L16 + movq (%rbx), %r13 + testq %r13, %r13 + je .L17 +.L14: + movq %r14, %rsi + movq %r13, %rdi + call fpeek@PLT +.LVL14: + .loc 1 73 96 discriminator 1 view .LVU26 + testl %eax, %eax + jle .L8 + .loc 1 75 5 is_stmt 1 view .LVU27 + .loc 1 75 17 is_stmt 0 view .LVU28 + cmpl $10, %eax + sete %dl + .loc 1 75 36 view .LVU29 + cmpl $-1, %eax + sete %al +.LVL15: + .loc 1 75 8 view .LVU30 + orb %al, %dl + je .L18 +.L8: + .loc 1 80 1 view .LVU31 + movq %r12, %rax + popq %rbx +.LVL16: + .loc 1 80 1 view .LVU32 + popq %r12 +.LVL17: + .loc 1 80 1 view .LVU33 + popq %r13 + popq %r14 +.LVL18: + .loc 1 80 1 view .LVU34 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL19: +.L11: + .cfi_restore_state + .loc 1 73 57 discriminator 1 view .LVU35 + movq %rbx, %rsi + leaq .Lubsan_data172(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL20: + jmp .L12 +.L16: + .loc 1 73 57 discriminator 1 view .LVU36 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL21: +.L17: + .loc 1 73 57 discriminator 1 view .LVU37 + leaq .Lubsan_data11(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL22: + jmp .L14 + .cfi_endproc +.LFE56: + .size lex_ctx_length_until_eol, .-lex_ctx_length_until_eol + .type lex_ctx_create_lexeme, @function +lex_ctx_create_lexeme: +.LASANPC55: +.LVL23: +.LFB55: + .loc 1 62 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 62 1 is_stmt 0 view .LVU39 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + .cfi_offset 14, -24 + .cfi_offset 13, -32 + .cfi_offset 12, -40 + .cfi_offset 3, -48 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %r12 + movl %esi, %r13d + movq %rdx, %r14 + .loc 1 63 3 is_stmt 1 view .LVU40 + .loc 1 63 21 is_stmt 0 view .LVU41 + movl $24, %edx +.LVL24: + .loc 1 63 21 view .LVU42 + movl $1, %esi +.LVL25: + .loc 1 63 21 view .LVU43 + leaq __func__.1(%rip), %rdi +.LVL26: + .loc 1 63 21 view .LVU44 + call __chk_calloc_impl@PLT +.LVL27: + movq %rax, %rbx +.LVL28: + .loc 1 64 3 is_stmt 1 view .LVU45 + .loc 1 64 35 is_stmt 0 view .LVU46 + testq %r12, %r12 + je .L20 + testb $7, %r12b + jne .L20 +.LVL29: +.L21: + .loc 1 64 35 view .LVU47 + movq %r12, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L35 + movq (%r12), %r12 +.LVL30: + .loc 1 64 35 view .LVU48 + testq %r12, %r12 + je .L36 +.L23: + movq %r12, %rdi + call ftell@PLT +.LVL31: + movq %rax, %r12 + .loc 1 64 23 discriminator 1 view .LVU49 + testq %rbx, %rbx + je .L24 + testb $7, %bl + jne .L24 +.L25: + leaq 8(%rbx), %rdx + cmpq $-8, %rbx + jnb .L37 +.L26: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L38 + movq %r12, 8(%rbx) + .loc 1 65 3 is_stmt 1 view .LVU50 + .loc 1 65 18 is_stmt 0 view .LVU51 + testq %rbx, %rbx + je .L28 + testb $7, %bl + jne .L28 +.L29: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L39 + movq %r14, (%rbx) + .loc 1 66 3 is_stmt 1 view .LVU52 + .loc 1 66 16 is_stmt 0 view .LVU53 + testq %rbx, %rbx + je .L31 + .loc 1 66 16 view .LVU54 + testb $7, %bl + jne .L31 +.L32: + .loc 1 66 16 view .LVU55 + leaq 16(%rbx), %rdx + cmpq $-16, %rbx + jnb .L40 +.L33: + leaq 16(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %eax + testb %al, %al + je .L34 + cmpb $3, %al + jle .L41 +.L34: + movl %r13d, 16(%rbx) + .loc 1 67 3 is_stmt 1 view .LVU56 + .loc 1 68 1 is_stmt 0 view .LVU57 + movq %rbx, %rax + popq %rbx +.LVL32: + .loc 1 68 1 view .LVU58 + popq %r12 + popq %r13 +.LVL33: + .loc 1 68 1 view .LVU59 + popq %r14 +.LVL34: + .loc 1 68 1 view .LVU60 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL35: +.L20: + .cfi_restore_state + .loc 1 64 35 view .LVU61 + movq %r12, %rsi + leaq .Lubsan_data173(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL36: + .loc 1 64 35 view .LVU62 + jmp .L21 +.L35: + .loc 1 64 35 view .LVU63 + movq %r12, %rdi + call __asan_report_load8@PLT +.LVL37: +.L36: + .loc 1 64 35 view .LVU64 + leaq .Lubsan_data12(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL38: + jmp .L23 +.L24: + .loc 1 64 23 discriminator 1 view .LVU65 + movq %rbx, %rsi + leaq .Lubsan_data174(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL39: + jmp .L25 +.L37: + .loc 1 64 23 discriminator 1 view .LVU66 + movq %rbx, %rsi + leaq .Lubsan_data175(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL40: + jmp .L26 +.L38: + .loc 1 64 23 discriminator 1 view .LVU67 + call __asan_report_store8@PLT +.LVL41: +.L28: + .loc 1 65 18 view .LVU68 + movq %rbx, %rsi + leaq .Lubsan_data176(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL42: + jmp .L29 +.L39: + .loc 1 65 18 view .LVU69 + movq %rbx, %rdi + call __asan_report_store8@PLT +.LVL43: +.L31: + .loc 1 66 16 view .LVU70 + movq %rbx, %rsi + leaq .Lubsan_data177(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL44: + jmp .L32 +.L40: + .loc 1 66 16 view .LVU71 + movq %rbx, %rsi + leaq .Lubsan_data178(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL45: + jmp .L33 +.L41: + .loc 1 66 16 view .LVU72 + call __asan_report_store4@PLT +.LVL46: + .cfi_endproc +.LFE55: + .size lex_ctx_create_lexeme, .-lex_ctx_create_lexeme + .section .rodata + .align 32 +.LC2: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming \"hexadecimal float\": \"%.*s\"\n" + .zero 51 + .text + .type lex_ctx_consume_hexadecimal_float, @function +lex_ctx_consume_hexadecimal_float: +.LASANPC59: +.LVL47: +.LFB59: + .loc 1 135 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 135 1 is_stmt 0 view .LVU74 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $24, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %r12 + movq %rsi, -64(%rbp) + .loc 1 136 2 is_stmt 1 view .LVU75 +.LVL48: + .loc 1 137 3 view .LVU76 + .loc 1 137 24 view .LVU77 + .loc 1 137 37 discriminator 1 view .LVU78 + .loc 1 137 12 is_stmt 0 view .LVU79 + movl $2, %r14d + .loc 1 136 7 view .LVU80 + movb $0, -52(%rbp) + .loc 1 137 43 view .LVU81 + jmp .L43 +.LVL49: +.L45: + .loc 1 141 16 discriminator 1 view .LVU82 + movq %r13, %rsi + leaq .Lubsan_data179(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL50: + jmp .L46 +.L86: + movq %r13, %rdi + call __asan_report_load8@PLT +.LVL51: +.L48: + .loc 1 141 34 discriminator 1 view .LVU83 + cmpq %rdx, %r13 + jb .L50 +.L49: + addq %rbx, %r13 + je .L51 + testb $1, %r13b + jne .L51 +.L52: + movq %r13, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %edx + movq %r13, %rax + andl $7, %eax + addl $1, %eax + cmpb %dl, %al + jl .L53 + testb %dl, %dl + jne .L79 +.L53: + movzwl 0(%r13), %eax + .loc 1 141 13 discriminator 1 view .LVU84 + testb $16, %ah + jne .L44 +.L54: + .loc 1 145 3 is_stmt 1 view .LVU85 + .loc 1 145 158 is_stmt 0 view .LVU86 + testq %r12, %r12 + je .L60 + testb $7, %r12b + jne .L60 +.L61: + leaq 8(%r12), %rdx + cmpq $-8, %r12 + jnb .L80 +.L62: + leaq 8(%r12), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L81 + movq 8(%r12), %r13 + .loc 1 145 169 view .LVU87 + testq %r12, %r12 + je .L64 + testb $7, %r12b + jne .L64 +.L65: + movq %r12, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L82 + movq (%r12), %rbx + testq %rbx, %rbx + je .L83 +.L67: + movq %rbx, %rdi + call ftell@PLT +.LVL52: + movq %rax, %rbx + .loc 1 145 3 discriminator 1 view .LVU88 + leaq 0(%r13,%rax), %rdx + testq %rax, %rax + js .L68 + cmpq %r13, %rdx + jnb .L69 +.L70: + movq %r13, %rsi + leaq .Lubsan_data186(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL53: + jmp .L69 +.L51: + .loc 1 141 34 discriminator 1 view .LVU89 + movq %r13, %rsi + leaq .Lubsan_data181(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL54: + jmp .L52 +.L79: + movq %r13, %rdi + call __asan_report_load2@PLT +.LVL55: +.L78: + .loc 1 140 20 view .LVU90 + movb %al, -52(%rbp) +.LVL56: +.L44: + .loc 1 143 5 is_stmt 1 view .LVU91 + .loc 1 143 11 is_stmt 0 view .LVU92 + addq $1, %r14 +.LVL57: +.L43: + .loc 1 137 96 is_stmt 1 discriminator 1 view .LVU93 + .loc 1 137 57 is_stmt 0 discriminator 1 view .LVU94 + movq %r14, %r15 + testq %r12, %r12 + je .L55 + testb $7, %r12b + jne .L55 +.L56: + movq %r12, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L84 + movq (%r12), %rbx + testq %rbx, %rbx + je .L85 +.L58: + movq %r15, %rsi + movq %rbx, %rdi + call fpeek@PLT +.LVL58: + movl %eax, %ebx +.LVL59: + .loc 1 137 96 discriminator 1 view .LVU95 + testl %eax, %eax + jle .L54 + .loc 1 139 5 is_stmt 1 view .LVU96 + .loc 1 139 9 is_stmt 0 view .LVU97 + movzbl -52(%rbp), %eax +.LVL60: + .loc 1 139 9 view .LVU98 + xorl $1, %eax + .loc 1 139 34 view .LVU99 + cmpl $46, %ebx + sete %dl + .loc 1 139 8 view .LVU100 + andb %dl, %al + jne .L78 + .loc 1 141 10 is_stmt 1 view .LVU101 + .loc 1 141 17 is_stmt 0 view .LVU102 + call __ctype_b_loc@PLT +.LVL61: + movq %rax, %r13 + .loc 1 141 16 discriminator 1 view .LVU103 + testq %rax, %rax + je .L45 + testb $7, %al + jne .L45 +.L46: + movq %r13, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L86 + movq 0(%r13), %r13 + .loc 1 141 34 discriminator 1 view .LVU104 + movslq %ebx, %rbx + .loc 1 141 34 discriminator 1 view .LVU105 + addq %rbx, %rbx +.LVL62: + .loc 1 141 34 discriminator 1 view .LVU106 + leaq 0(%r13,%rbx), %rdx + js .L48 + cmpq %r13, %rdx + jnb .L49 +.L50: + movq %r13, %rsi + leaq .Lubsan_data180(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL63: + jmp .L49 +.LVL64: +.L55: + .loc 1 137 57 discriminator 1 view .LVU107 + movq %r12, %rsi + leaq .Lubsan_data182(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL65: + jmp .L56 +.L84: + .loc 1 137 57 discriminator 1 view .LVU108 + movq %r12, %rdi + call __asan_report_load8@PLT +.LVL66: +.L85: + .loc 1 137 57 discriminator 1 view .LVU109 + leaq .Lubsan_data13(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL67: + jmp .L58 +.LVL68: +.L60: + .loc 1 145 158 view .LVU110 + movq %r12, %rsi + leaq .Lubsan_data183(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL69: + jmp .L61 +.L80: + .loc 1 145 158 view .LVU111 + movq %r12, %rsi + leaq .Lubsan_data184(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL70: + jmp .L62 +.L81: + .loc 1 145 158 view .LVU112 + call __asan_report_load8@PLT +.LVL71: +.L64: + .loc 1 145 169 view .LVU113 + movq %r12, %rsi + leaq .Lubsan_data185(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL72: + jmp .L65 +.L82: + .loc 1 145 169 view .LVU114 + movq %r12, %rdi + call __asan_report_load8@PLT +.LVL73: +.L83: + .loc 1 145 169 view .LVU115 + leaq .Lubsan_data14(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL74: + jmp .L67 +.L68: + .loc 1 145 3 discriminator 1 view .LVU116 + cmpq %rdx, %r13 + jb .L70 +.L69: + addq %r13, %rbx + movl %r14d, -52(%rbp) +.LVL75: + .loc 1 145 3 discriminator 1 view .LVU117 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L87 + movq stdout(%rip), %r13 + testq %r13, %r13 + je .L88 +.L72: +.LVL76: +.LBB84: +.LBI84: + .loc 2 77 1 is_stmt 1 view .LVU118 +.LBB85: + .loc 2 79 3 view .LVU119 + .loc 2 79 10 is_stmt 0 view .LVU120 + subq $8, %rsp + pushq %rbx + movl -52(%rbp), %r9d + movl $145, %r8d + leaq .LC0(%rip), %rcx + leaq .LC2(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL77: + .loc 2 79 10 view .LVU121 +.LBE85: +.LBE84: + .loc 1 145 198 is_stmt 1 discriminator 2 view .LVU122 + .loc 1 146 5 view .LVU123 + .loc 1 146 30 is_stmt 0 view .LVU124 + movq %r14, %rdx + movl $1, %esi + movq %r12, %rdi + call lex_ctx_create_lexeme +.LVL78: + movq %rax, %rbx + .loc 1 146 5 discriminator 1 view .LVU125 + addq $16, %rsp + cmpq $0, -64(%rbp) + je .L89 +.L73: + movq %rbx, %rsi + movq -64(%rbp), %rdi + call array_append@PLT +.LVL79: + .loc 1 146 94 is_stmt 1 discriminator 2 view .LVU126 + testq %r12, %r12 + je .L74 + testb $7, %r12b + jne .L74 +.L75: + movq %r12, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L90 + movq (%r12), %rbx + testq %rbx, %rbx + je .L91 +.L77: + movq %r15, %rsi + movq %rbx, %rdi + call fconsume@PLT +.LVL80: + .loc 1 146 137 discriminator 3 view .LVU127 + .loc 1 147 1 is_stmt 0 view .LVU128 + leaq -40(%rbp), %rsp + popq %rbx + popq %r12 +.LVL81: + .loc 1 147 1 view .LVU129 + popq %r13 + popq %r14 +.LVL82: + .loc 1 147 1 view .LVU130 + popq %r15 +.LVL83: + .loc 1 147 1 view .LVU131 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 +.LVL84: + .loc 1 147 1 view .LVU132 + ret +.LVL85: +.L87: + .cfi_restore_state + .loc 1 145 3 discriminator 1 view .LVU133 + call __asan_report_load8@PLT +.LVL86: +.L88: + leaq .Lubsan_data15(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL87: + jmp .L72 +.L89: + .loc 1 146 5 discriminator 1 view .LVU134 + leaq .Lubsan_data17(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL88: + jmp .L73 +.L74: + .loc 1 146 94 discriminator 2 view .LVU135 + movq %r12, %rsi + leaq .Lubsan_data187(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL89: + jmp .L75 +.L90: + .loc 1 146 94 discriminator 2 view .LVU136 + movq %r12, %rdi + call __asan_report_load8@PLT +.LVL90: +.L91: + .loc 1 146 94 discriminator 2 view .LVU137 + leaq .Lubsan_data18(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL91: + jmp .L77 + .cfi_endproc +.LFE59: + .size lex_ctx_consume_hexadecimal_float, .-lex_ctx_consume_hexadecimal_float + .section .rodata + .align 32 +.LC3: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming \"hexadecimal number\": \"%.*s\"\n" + .zero 50 + .text + .type lex_ctx_consume_hexadecimal, @function +lex_ctx_consume_hexadecimal: +.LASANPC66: +.LVL92: +.LFB66: + .loc 1 299 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 299 1 is_stmt 0 view .LVU139 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $24, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %r12 + movq %rsi, -56(%rbp) + .loc 1 300 3 is_stmt 1 view .LVU140 +.LVL93: + .loc 1 300 24 view .LVU141 + .loc 1 300 37 discriminator 1 view .LVU142 + .loc 1 300 12 is_stmt 0 view .LVU143 + movl $2, %r14d + .loc 1 300 43 view .LVU144 + jmp .L93 +.LVL94: +.L132: + .loc 1 304 9 is_stmt 1 view .LVU145 + movq -56(%rbp), %rsi + movq %r12, %rdi + call lex_ctx_consume_hexadecimal_float +.LVL95: + .loc 1 305 9 view .LVU146 + jmp .L92 +.L96: + .loc 1 307 16 is_stmt 0 discriminator 1 view .LVU147 + movq %r13, %rsi + leaq .Lubsan_data188(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL96: + jmp .L97 +.L133: + movq %r13, %rdi + call __asan_report_load8@PLT +.LVL97: +.L99: + .loc 1 307 34 discriminator 1 view .LVU148 + cmpq %rdx, %r13 + jb .L101 +.L100: + addq %r13, %rbx + je .L102 + testb $1, %bl + jne .L102 +.L103: + movq %rbx, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %edx + movq %rbx, %rax + andl $7, %eax + addl $1, %eax + cmpb %dl, %al + jl .L104 + testb %dl, %dl + jne .L129 +.L104: + movzwl (%rbx), %eax + .loc 1 307 13 discriminator 1 view .LVU149 + testb $16, %ah + je .L105 + .loc 1 309 5 is_stmt 1 view .LVU150 + .loc 1 309 11 is_stmt 0 view .LVU151 + addq $1, %r14 +.LVL98: +.L93: + .loc 1 300 96 is_stmt 1 discriminator 1 view .LVU152 + .loc 1 300 57 is_stmt 0 discriminator 1 view .LVU153 + movq %r14, %r15 + testq %r12, %r12 + je .L106 + testb $7, %r12b + jne .L106 +.L107: + movq %r12, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L130 + movq (%r12), %rbx + testq %rbx, %rbx + je .L131 +.L109: + movq %r15, %rsi + movq %rbx, %rdi + call fpeek@PLT +.LVL99: + movl %eax, %ebx +.LVL100: + .loc 1 300 96 discriminator 1 view .LVU154 + testl %eax, %eax + jle .L105 + .loc 1 302 5 is_stmt 1 view .LVU155 + .loc 1 302 8 is_stmt 0 view .LVU156 + cmpl $46, %ebx + je .L132 + .loc 1 307 10 is_stmt 1 view .LVU157 + .loc 1 307 17 is_stmt 0 view .LVU158 + call __ctype_b_loc@PLT +.LVL101: + .loc 1 307 17 view .LVU159 + movq %rax, %r13 + .loc 1 307 16 discriminator 1 view .LVU160 + testq %rax, %rax + je .L96 + testb $7, %al + jne .L96 +.L97: + movq %r13, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L133 + movq 0(%r13), %r13 + .loc 1 307 34 discriminator 1 view .LVU161 + movslq %ebx, %rbx + .loc 1 307 34 discriminator 1 view .LVU162 + addq %rbx, %rbx +.LVL102: + .loc 1 307 34 discriminator 1 view .LVU163 + leaq 0(%r13,%rbx), %rdx + js .L99 + cmpq %r13, %rdx + jnb .L100 +.L101: + movq %r13, %rsi + leaq .Lubsan_data189(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL103: + jmp .L100 +.L102: + movq %rbx, %rsi + leaq .Lubsan_data190(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL104: + jmp .L103 +.L129: + movq %rbx, %rdi + call __asan_report_load2@PLT +.LVL105: +.L106: + .loc 1 300 57 discriminator 1 view .LVU164 + movq %r12, %rsi + leaq .Lubsan_data191(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL106: + jmp .L107 +.L130: + .loc 1 300 57 discriminator 1 view .LVU165 + movq %r12, %rdi + call __asan_report_load8@PLT +.LVL107: +.L131: + .loc 1 300 57 discriminator 1 view .LVU166 + leaq .Lubsan_data19(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL108: + jmp .L109 +.LVL109: +.L105: + .loc 1 311 3 is_stmt 1 view .LVU167 + .loc 1 311 159 is_stmt 0 view .LVU168 + testq %r12, %r12 + je .L111 + testb $7, %r12b + jne .L111 +.L112: + leaq 8(%r12), %rdx + cmpq $-8, %r12 + jnb .L134 +.L113: + leaq 8(%r12), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L135 + movq 8(%r12), %r13 + .loc 1 311 170 view .LVU169 + testq %r12, %r12 + je .L115 + testb $7, %r12b + jne .L115 +.L116: + movq %r12, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L136 + movq (%r12), %rbx + testq %rbx, %rbx + je .L137 +.L118: + movq %rbx, %rdi + call ftell@PLT +.LVL110: + movq %rax, %rbx + .loc 1 311 3 discriminator 1 view .LVU170 + leaq 0(%r13,%rax), %rdx + testq %rax, %rax + js .L119 + cmpq %r13, %rdx + jnb .L120 +.L121: + movq %r13, %rsi + leaq .Lubsan_data195(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL111: + jmp .L120 +.L111: + .loc 1 311 159 view .LVU171 + movq %r12, %rsi + leaq .Lubsan_data192(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL112: + jmp .L112 +.L134: + .loc 1 311 159 view .LVU172 + movq %r12, %rsi + leaq .Lubsan_data193(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL113: + jmp .L113 +.L135: + .loc 1 311 159 view .LVU173 + call __asan_report_load8@PLT +.LVL114: +.L115: + .loc 1 311 170 view .LVU174 + movq %r12, %rsi + leaq .Lubsan_data194(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL115: + jmp .L116 +.L136: + .loc 1 311 170 view .LVU175 + movq %r12, %rdi + call __asan_report_load8@PLT +.LVL116: +.L137: + .loc 1 311 170 view .LVU176 + leaq .Lubsan_data20(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL117: + jmp .L118 +.L119: + .loc 1 311 3 discriminator 1 view .LVU177 + cmpq %rdx, %r13 + jb .L121 +.L120: + addq %rbx, %r13 + movl %r14d, -60(%rbp) + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L138 + movq stdout(%rip), %rbx + testq %rbx, %rbx + je .L139 +.L123: +.LVL118: +.LBB86: +.LBI86: + .loc 2 77 1 is_stmt 1 view .LVU178 +.LBB87: + .loc 2 79 3 view .LVU179 + .loc 2 79 10 is_stmt 0 view .LVU180 + subq $8, %rsp + pushq %r13 + movl -60(%rbp), %r9d + movl $311, %r8d + leaq .LC0(%rip), %rcx + leaq .LC3(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL119: + .loc 2 79 10 view .LVU181 +.LBE87: +.LBE86: + .loc 1 311 199 is_stmt 1 discriminator 2 view .LVU182 + .loc 1 312 5 view .LVU183 + .loc 1 312 30 is_stmt 0 view .LVU184 + movq %r14, %rdx + movl $0, %esi + movq %r12, %rdi + call lex_ctx_create_lexeme +.LVL120: + movq %rax, %rbx + .loc 1 312 5 discriminator 1 view .LVU185 + addq $16, %rsp + cmpq $0, -56(%rbp) + je .L140 +.L124: + movq %rbx, %rsi + movq -56(%rbp), %rdi + call array_append@PLT +.LVL121: + .loc 1 312 93 is_stmt 1 discriminator 2 view .LVU186 + testq %r12, %r12 + je .L125 + testb $7, %r12b + jne .L125 +.L126: + movq %r12, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L141 + movq (%r12), %rbx + testq %rbx, %rbx + je .L142 +.L128: + movq %r15, %rsi + movq %rbx, %rdi + call fconsume@PLT +.LVL122: + .loc 1 312 136 discriminator 1 view .LVU187 +.L92: + .loc 1 313 1 is_stmt 0 view .LVU188 + leaq -40(%rbp), %rsp + popq %rbx + popq %r12 +.LVL123: + .loc 1 313 1 view .LVU189 + popq %r13 + popq %r14 +.LVL124: + .loc 1 313 1 view .LVU190 + popq %r15 +.LVL125: + .loc 1 313 1 view .LVU191 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 +.LVL126: + .loc 1 313 1 view .LVU192 + ret +.LVL127: +.L138: + .cfi_restore_state + .loc 1 311 3 discriminator 1 view .LVU193 + call __asan_report_load8@PLT +.LVL128: +.L139: + leaq .Lubsan_data21(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL129: + jmp .L123 +.L140: + .loc 1 312 5 discriminator 1 view .LVU194 + leaq .Lubsan_data23(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL130: + jmp .L124 +.L125: + .loc 1 312 93 discriminator 2 view .LVU195 + movq %r12, %rsi + leaq .Lubsan_data196(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL131: + jmp .L126 +.L141: + .loc 1 312 93 discriminator 2 view .LVU196 + movq %r12, %rdi + call __asan_report_load8@PLT +.LVL132: +.L142: + .loc 1 312 93 discriminator 2 view .LVU197 + leaq .Lubsan_data24(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL133: + jmp .L128 + .cfi_endproc +.LFE66: + .size lex_ctx_consume_hexadecimal, .-lex_ctx_consume_hexadecimal + .section .rodata + .align 32 +.LC4: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming \"decimal float\": \"%.*s\"\n" + .zero 55 + .text + .type lex_ctx_consume_decimal_float, @function +lex_ctx_consume_decimal_float: +.LASANPC60: +.LVL134: +.LFB60: + .loc 1 152 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 152 1 is_stmt 0 view .LVU199 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $24, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %r12 + movq %rsi, -64(%rbp) + .loc 1 153 2 is_stmt 1 view .LVU200 +.LVL135: + .loc 1 154 3 view .LVU201 + .loc 1 154 24 view .LVU202 + .loc 1 154 37 discriminator 1 view .LVU203 + .loc 1 154 12 is_stmt 0 view .LVU204 + movl $0, %r14d + .loc 1 153 7 view .LVU205 + movb $0, -52(%rbp) + .loc 1 154 43 view .LVU206 + jmp .L144 +.LVL136: +.L146: + .loc 1 158 16 discriminator 1 view .LVU207 + movq %r13, %rsi + leaq .Lubsan_data197(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL137: + jmp .L147 +.L187: + movq %r13, %rdi + call __asan_report_load8@PLT +.LVL138: +.L149: + .loc 1 158 34 discriminator 1 view .LVU208 + cmpq %rdx, %r13 + jb .L151 +.L150: + addq %rbx, %r13 + je .L152 + testb $1, %r13b + jne .L152 +.L153: + movq %r13, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %edx + movq %r13, %rax + andl $7, %eax + addl $1, %eax + cmpb %dl, %al + jl .L154 + testb %dl, %dl + jne .L180 +.L154: + movzwl 0(%r13), %eax + .loc 1 158 13 discriminator 1 view .LVU209 + testb $8, %ah + jne .L145 +.L155: + .loc 1 162 3 is_stmt 1 view .LVU210 + .loc 1 162 154 is_stmt 0 view .LVU211 + testq %r12, %r12 + je .L161 + testb $7, %r12b + jne .L161 +.L162: + leaq 8(%r12), %rdx + cmpq $-8, %r12 + jnb .L181 +.L163: + leaq 8(%r12), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L182 + movq 8(%r12), %r13 + .loc 1 162 165 view .LVU212 + testq %r12, %r12 + je .L165 + testb $7, %r12b + jne .L165 +.L166: + movq %r12, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L183 + movq (%r12), %rbx + testq %rbx, %rbx + je .L184 +.L168: + movq %rbx, %rdi + call ftell@PLT +.LVL139: + movq %rax, %rbx + .loc 1 162 3 discriminator 1 view .LVU213 + leaq 0(%r13,%rax), %rdx + testq %rax, %rax + js .L169 + cmpq %r13, %rdx + jnb .L170 +.L171: + movq %r13, %rsi + leaq .Lubsan_data204(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL140: + jmp .L170 +.L152: + .loc 1 158 34 discriminator 1 view .LVU214 + movq %r13, %rsi + leaq .Lubsan_data199(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL141: + jmp .L153 +.L180: + movq %r13, %rdi + call __asan_report_load2@PLT +.LVL142: +.L179: + .loc 1 157 18 view .LVU215 + movb %al, -52(%rbp) +.LVL143: +.L145: + .loc 1 160 5 is_stmt 1 view .LVU216 + .loc 1 160 11 is_stmt 0 view .LVU217 + addq $1, %r14 +.LVL144: +.L144: + .loc 1 154 96 is_stmt 1 discriminator 1 view .LVU218 + .loc 1 154 57 is_stmt 0 discriminator 1 view .LVU219 + movq %r14, %r15 + testq %r12, %r12 + je .L156 + testb $7, %r12b + jne .L156 +.L157: + movq %r12, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L185 + movq (%r12), %rbx + testq %rbx, %rbx + je .L186 +.L159: + movq %r15, %rsi + movq %rbx, %rdi + call fpeek@PLT +.LVL145: + movl %eax, %ebx +.LVL146: + .loc 1 154 96 discriminator 1 view .LVU220 + testl %eax, %eax + jle .L155 + .loc 1 156 5 is_stmt 1 view .LVU221 + .loc 1 156 9 is_stmt 0 view .LVU222 + movzbl -52(%rbp), %eax +.LVL147: + .loc 1 156 9 view .LVU223 + xorl $1, %eax + .loc 1 156 32 view .LVU224 + cmpl $46, %ebx + sete %dl + .loc 1 156 8 view .LVU225 + andb %dl, %al + jne .L179 + .loc 1 158 10 is_stmt 1 view .LVU226 + .loc 1 158 17 is_stmt 0 view .LVU227 + call __ctype_b_loc@PLT +.LVL148: + movq %rax, %r13 + .loc 1 158 16 discriminator 1 view .LVU228 + testq %rax, %rax + je .L146 + testb $7, %al + jne .L146 +.L147: + movq %r13, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L187 + movq 0(%r13), %r13 + .loc 1 158 34 discriminator 1 view .LVU229 + movslq %ebx, %rbx + .loc 1 158 34 discriminator 1 view .LVU230 + addq %rbx, %rbx +.LVL149: + .loc 1 158 34 discriminator 1 view .LVU231 + leaq 0(%r13,%rbx), %rdx + js .L149 + cmpq %r13, %rdx + jnb .L150 +.L151: + movq %r13, %rsi + leaq .Lubsan_data198(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL150: + jmp .L150 +.LVL151: +.L156: + .loc 1 154 57 discriminator 1 view .LVU232 + movq %r12, %rsi + leaq .Lubsan_data200(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL152: + jmp .L157 +.L185: + .loc 1 154 57 discriminator 1 view .LVU233 + movq %r12, %rdi + call __asan_report_load8@PLT +.LVL153: +.L186: + .loc 1 154 57 discriminator 1 view .LVU234 + leaq .Lubsan_data25(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL154: + jmp .L159 +.LVL155: +.L161: + .loc 1 162 154 view .LVU235 + movq %r12, %rsi + leaq .Lubsan_data201(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL156: + jmp .L162 +.L181: + .loc 1 162 154 view .LVU236 + movq %r12, %rsi + leaq .Lubsan_data202(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL157: + jmp .L163 +.L182: + .loc 1 162 154 view .LVU237 + call __asan_report_load8@PLT +.LVL158: +.L165: + .loc 1 162 165 view .LVU238 + movq %r12, %rsi + leaq .Lubsan_data203(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL159: + jmp .L166 +.L183: + .loc 1 162 165 view .LVU239 + movq %r12, %rdi + call __asan_report_load8@PLT +.LVL160: +.L184: + .loc 1 162 165 view .LVU240 + leaq .Lubsan_data26(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL161: + jmp .L168 +.L169: + .loc 1 162 3 discriminator 1 view .LVU241 + cmpq %rdx, %r13 + jb .L171 +.L170: + addq %r13, %rbx + movl %r14d, -52(%rbp) +.LVL162: + .loc 1 162 3 discriminator 1 view .LVU242 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L188 + movq stdout(%rip), %r13 + testq %r13, %r13 + je .L189 +.L173: +.LVL163: +.LBB88: +.LBI88: + .loc 2 77 1 is_stmt 1 view .LVU243 +.LBB89: + .loc 2 79 3 view .LVU244 + .loc 2 79 10 is_stmt 0 view .LVU245 + subq $8, %rsp + pushq %rbx + movl -52(%rbp), %r9d + movl $162, %r8d + leaq .LC0(%rip), %rcx + leaq .LC4(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL164: + .loc 2 79 10 view .LVU246 +.LBE89: +.LBE88: + .loc 1 163 5 is_stmt 1 view .LVU247 + .loc 1 163 30 is_stmt 0 view .LVU248 + movq %r14, %rdx + movl $1, %esi + movq %r12, %rdi + call lex_ctx_create_lexeme +.LVL165: + movq %rax, %rbx + .loc 1 163 5 discriminator 1 view .LVU249 + addq $16, %rsp + cmpq $0, -64(%rbp) + je .L190 +.L174: + movq %rbx, %rsi + movq -64(%rbp), %rdi + call array_append@PLT +.LVL166: + .loc 1 163 94 is_stmt 1 discriminator 2 view .LVU250 + testq %r12, %r12 + je .L175 + testb $7, %r12b + jne .L175 +.L176: + movq %r12, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L191 + movq (%r12), %rbx + testq %rbx, %rbx + je .L192 +.L178: + movq %r15, %rsi + movq %rbx, %rdi + call fconsume@PLT +.LVL167: + .loc 1 163 137 discriminator 3 view .LVU251 + .loc 1 164 1 is_stmt 0 view .LVU252 + leaq -40(%rbp), %rsp + popq %rbx + popq %r12 +.LVL168: + .loc 1 164 1 view .LVU253 + popq %r13 + popq %r14 +.LVL169: + .loc 1 164 1 view .LVU254 + popq %r15 +.LVL170: + .loc 1 164 1 view .LVU255 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 +.LVL171: + .loc 1 164 1 view .LVU256 + ret +.LVL172: +.L188: + .cfi_restore_state + .loc 1 162 3 discriminator 1 view .LVU257 + call __asan_report_load8@PLT +.LVL173: +.L189: + leaq .Lubsan_data27(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL174: + jmp .L173 +.L190: + .loc 1 163 5 discriminator 1 view .LVU258 + leaq .Lubsan_data29(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL175: + jmp .L174 +.L175: + .loc 1 163 94 discriminator 2 view .LVU259 + movq %r12, %rsi + leaq .Lubsan_data205(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL176: + jmp .L176 +.L191: + .loc 1 163 94 discriminator 2 view .LVU260 + movq %r12, %rdi + call __asan_report_load8@PLT +.LVL177: +.L192: + .loc 1 163 94 discriminator 2 view .LVU261 + leaq .Lubsan_data30(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL178: + jmp .L178 + .cfi_endproc +.LFE60: + .size lex_ctx_consume_decimal_float, .-lex_ctx_consume_decimal_float + .section .rodata + .align 32 +.LC5: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming \"number\": \"%.*s\"\n" + .zero 62 + .text + .type lex_ctx_consume_number, @function +lex_ctx_consume_number: +.LASANPC61: +.LVL179: +.LFB61: + .loc 1 169 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 169 1 is_stmt 0 view .LVU263 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $24, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %r12 + movq %rsi, -56(%rbp) + .loc 1 170 3 is_stmt 1 view .LVU264 +.LVL180: + .loc 1 170 24 view .LVU265 + .loc 1 170 37 discriminator 1 view .LVU266 + .loc 1 170 12 is_stmt 0 view .LVU267 + movl $0, %r14d + .loc 1 170 43 view .LVU268 + jmp .L194 +.LVL181: +.L233: + .loc 1 174 9 is_stmt 1 view .LVU269 + movq -56(%rbp), %rsi + movq %r12, %rdi + call lex_ctx_consume_decimal_float +.LVL182: + .loc 1 175 9 view .LVU270 + jmp .L193 +.L197: + .loc 1 177 16 is_stmt 0 discriminator 1 view .LVU271 + movq %r13, %rsi + leaq .Lubsan_data206(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL183: + jmp .L198 +.L234: + movq %r13, %rdi + call __asan_report_load8@PLT +.LVL184: +.L200: + .loc 1 177 34 discriminator 1 view .LVU272 + cmpq %rdx, %r13 + jb .L202 +.L201: + addq %r13, %rbx + je .L203 + testb $1, %bl + jne .L203 +.L204: + movq %rbx, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %edx + movq %rbx, %rax + andl $7, %eax + addl $1, %eax + cmpb %dl, %al + jl .L205 + testb %dl, %dl + jne .L230 +.L205: + movzwl (%rbx), %eax + .loc 1 177 13 discriminator 1 view .LVU273 + testb $8, %ah + je .L206 + .loc 1 179 5 is_stmt 1 view .LVU274 + .loc 1 179 11 is_stmt 0 view .LVU275 + addq $1, %r14 +.LVL185: +.L194: + .loc 1 170 96 is_stmt 1 discriminator 1 view .LVU276 + .loc 1 170 57 is_stmt 0 discriminator 1 view .LVU277 + movq %r14, %r15 + testq %r12, %r12 + je .L207 + testb $7, %r12b + jne .L207 +.L208: + movq %r12, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L231 + movq (%r12), %rbx + testq %rbx, %rbx + je .L232 +.L210: + movq %r15, %rsi + movq %rbx, %rdi + call fpeek@PLT +.LVL186: + movl %eax, %ebx +.LVL187: + .loc 1 170 96 discriminator 1 view .LVU278 + testl %eax, %eax + jle .L206 + .loc 1 172 5 is_stmt 1 view .LVU279 + .loc 1 172 8 is_stmt 0 view .LVU280 + cmpl $46, %ebx + je .L233 + .loc 1 177 10 is_stmt 1 view .LVU281 + .loc 1 177 17 is_stmt 0 view .LVU282 + call __ctype_b_loc@PLT +.LVL188: + .loc 1 177 17 view .LVU283 + movq %rax, %r13 + .loc 1 177 16 discriminator 1 view .LVU284 + testq %rax, %rax + je .L197 + testb $7, %al + jne .L197 +.L198: + movq %r13, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L234 + movq 0(%r13), %r13 + .loc 1 177 34 discriminator 1 view .LVU285 + movslq %ebx, %rbx + .loc 1 177 34 discriminator 1 view .LVU286 + addq %rbx, %rbx +.LVL189: + .loc 1 177 34 discriminator 1 view .LVU287 + leaq 0(%r13,%rbx), %rdx + js .L200 + cmpq %r13, %rdx + jnb .L201 +.L202: + movq %r13, %rsi + leaq .Lubsan_data207(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL190: + jmp .L201 +.L203: + movq %rbx, %rsi + leaq .Lubsan_data208(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL191: + jmp .L204 +.L230: + movq %rbx, %rdi + call __asan_report_load2@PLT +.LVL192: +.L207: + .loc 1 170 57 discriminator 1 view .LVU288 + movq %r12, %rsi + leaq .Lubsan_data209(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL193: + jmp .L208 +.L231: + .loc 1 170 57 discriminator 1 view .LVU289 + movq %r12, %rdi + call __asan_report_load8@PLT +.LVL194: +.L232: + .loc 1 170 57 discriminator 1 view .LVU290 + leaq .Lubsan_data31(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL195: + jmp .L210 +.LVL196: +.L206: + .loc 1 181 3 is_stmt 1 view .LVU291 + .loc 1 181 147 is_stmt 0 view .LVU292 + testq %r12, %r12 + je .L212 + testb $7, %r12b + jne .L212 +.L213: + leaq 8(%r12), %rdx + cmpq $-8, %r12 + jnb .L235 +.L214: + leaq 8(%r12), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L236 + movq 8(%r12), %r13 + .loc 1 181 158 view .LVU293 + testq %r12, %r12 + je .L216 + testb $7, %r12b + jne .L216 +.L217: + movq %r12, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L237 + movq (%r12), %rbx + testq %rbx, %rbx + je .L238 +.L219: + movq %rbx, %rdi + call ftell@PLT +.LVL197: + movq %rax, %rbx + .loc 1 181 3 discriminator 1 view .LVU294 + leaq 0(%r13,%rax), %rdx + testq %rax, %rax + js .L220 + cmpq %r13, %rdx + jnb .L221 +.L222: + movq %r13, %rsi + leaq .Lubsan_data213(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL198: + jmp .L221 +.L212: + .loc 1 181 147 view .LVU295 + movq %r12, %rsi + leaq .Lubsan_data210(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL199: + jmp .L213 +.L235: + .loc 1 181 147 view .LVU296 + movq %r12, %rsi + leaq .Lubsan_data211(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL200: + jmp .L214 +.L236: + .loc 1 181 147 view .LVU297 + call __asan_report_load8@PLT +.LVL201: +.L216: + .loc 1 181 158 view .LVU298 + movq %r12, %rsi + leaq .Lubsan_data212(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL202: + jmp .L217 +.L237: + .loc 1 181 158 view .LVU299 + movq %r12, %rdi + call __asan_report_load8@PLT +.LVL203: +.L238: + .loc 1 181 158 view .LVU300 + leaq .Lubsan_data32(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL204: + jmp .L219 +.L220: + .loc 1 181 3 discriminator 1 view .LVU301 + cmpq %rdx, %r13 + jb .L222 +.L221: + addq %rbx, %r13 + movl %r14d, -60(%rbp) + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L239 + movq stdout(%rip), %rbx + testq %rbx, %rbx + je .L240 +.L224: +.LVL205: +.LBB90: +.LBI90: + .loc 2 77 1 is_stmt 1 view .LVU302 +.LBB91: + .loc 2 79 3 view .LVU303 + .loc 2 79 10 is_stmt 0 view .LVU304 + subq $8, %rsp + pushq %r13 + movl -60(%rbp), %r9d + movl $181, %r8d + leaq .LC0(%rip), %rcx + leaq .LC5(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL206: + .loc 2 79 10 view .LVU305 +.LBE91: +.LBE90: + .loc 1 181 187 is_stmt 1 discriminator 2 view .LVU306 + .loc 1 182 5 view .LVU307 + .loc 1 182 30 is_stmt 0 view .LVU308 + movq %r14, %rdx + movl $0, %esi + movq %r12, %rdi + call lex_ctx_create_lexeme +.LVL207: + movq %rax, %rbx + .loc 1 182 5 discriminator 1 view .LVU309 + addq $16, %rsp + cmpq $0, -56(%rbp) + je .L241 +.L225: + movq %rbx, %rsi + movq -56(%rbp), %rdi + call array_append@PLT +.LVL208: + .loc 1 182 93 is_stmt 1 discriminator 2 view .LVU310 + testq %r12, %r12 + je .L226 + testb $7, %r12b + jne .L226 +.L227: + movq %r12, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L242 + movq (%r12), %rbx + testq %rbx, %rbx + je .L243 +.L229: + movq %r15, %rsi + movq %rbx, %rdi + call fconsume@PLT +.LVL209: + .loc 1 182 136 discriminator 1 view .LVU311 +.L193: + .loc 1 183 1 is_stmt 0 view .LVU312 + leaq -40(%rbp), %rsp + popq %rbx + popq %r12 +.LVL210: + .loc 1 183 1 view .LVU313 + popq %r13 + popq %r14 +.LVL211: + .loc 1 183 1 view .LVU314 + popq %r15 +.LVL212: + .loc 1 183 1 view .LVU315 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 +.LVL213: + .loc 1 183 1 view .LVU316 + ret +.LVL214: +.L239: + .cfi_restore_state + .loc 1 181 3 discriminator 1 view .LVU317 + call __asan_report_load8@PLT +.LVL215: +.L240: + leaq .Lubsan_data33(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL216: + jmp .L224 +.L241: + .loc 1 182 5 discriminator 1 view .LVU318 + leaq .Lubsan_data35(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL217: + jmp .L225 +.L226: + .loc 1 182 93 discriminator 2 view .LVU319 + movq %r12, %rsi + leaq .Lubsan_data214(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL218: + jmp .L227 +.L242: + .loc 1 182 93 discriminator 2 view .LVU320 + movq %r12, %rdi + call __asan_report_load8@PLT +.LVL219: +.L243: + .loc 1 182 93 discriminator 2 view .LVU321 + leaq .Lubsan_data36(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL220: + jmp .L229 + .cfi_endproc +.LFE61: + .size lex_ctx_consume_number, .-lex_ctx_consume_number + .section .rodata + .align 32 +.LC6: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming \"single-line comment\": \"%.*s\"\n" + .zero 49 + .text + .type lex_ctx_consume_comment, @function +lex_ctx_consume_comment: +.LASANPC57: +.LVL221: +.LFB57: + .loc 1 85 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 85 1 is_stmt 0 view .LVU323 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $24, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + movq %rsi, -56(%rbp) + .loc 1 86 3 is_stmt 1 view .LVU324 +.LVL222: + .loc 1 86 24 view .LVU325 + .loc 1 86 37 discriminator 1 view .LVU326 + .loc 1 86 12 is_stmt 0 view .LVU327 + movl $2, %r12d + .loc 1 86 43 view .LVU328 + jmp .L245 +.LVL223: +.L282: + .loc 1 90 5 is_stmt 1 view .LVU329 + .loc 1 90 11 is_stmt 0 view .LVU330 + addq $1, %r12 +.LVL224: +.L245: + .loc 1 86 96 is_stmt 1 discriminator 1 view .LVU331 + .loc 1 86 57 is_stmt 0 discriminator 1 view .LVU332 + movq %r12, %r13 + testq %rbx, %rbx + je .L247 + testb $7, %bl + jne .L247 +.L248: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L280 + movq (%rbx), %r14 + testq %r14, %r14 + je .L281 +.L250: + movq %r13, %rsi + movq %r14, %rdi + call fpeek@PLT +.LVL225: + .loc 1 86 96 discriminator 1 view .LVU333 + testl %eax, %eax + jle .L246 + .loc 1 88 5 is_stmt 1 view .LVU334 + .loc 1 88 8 is_stmt 0 view .LVU335 + cmpl $10, %eax + jne .L282 +.L246: + .loc 1 92 3 is_stmt 1 view .LVU336 + .loc 1 92 160 is_stmt 0 view .LVU337 + testq %rbx, %rbx + je .L252 + testb $7, %bl + jne .L252 +.LVL226: +.L253: + .loc 1 92 160 view .LVU338 + leaq 8(%rbx), %rdx + cmpq $-8, %rbx + jnb .L283 +.L254: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L284 + movq 8(%rbx), %r15 + .loc 1 92 171 view .LVU339 + testq %rbx, %rbx + je .L256 + testb $7, %bl + jne .L256 +.L257: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L285 + movq (%rbx), %r14 + testq %r14, %r14 + je .L286 +.L259: + movq %r14, %rdi + call ftell@PLT +.LVL227: + .loc 1 92 193 discriminator 1 view .LVU340 + leaq 2(%rax), %r14 + .loc 1 92 3 discriminator 1 view .LVU341 + leaq (%r15,%r14), %rdx + testq %r14, %r14 + js .L260 + cmpq %r15, %rdx + jnb .L261 +.L262: + movq %r15, %rsi + leaq .Lubsan_data219(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL228: + jmp .L261 +.LVL229: +.L247: + .loc 1 86 57 discriminator 1 view .LVU342 + movq %rbx, %rsi + leaq .Lubsan_data215(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL230: + jmp .L248 +.L280: + .loc 1 86 57 discriminator 1 view .LVU343 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL231: +.L281: + .loc 1 86 57 discriminator 1 view .LVU344 + leaq .Lubsan_data37(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL232: + jmp .L250 +.LVL233: +.L252: + .loc 1 92 160 view .LVU345 + movq %rbx, %rsi + leaq .Lubsan_data216(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL234: + .loc 1 92 160 view .LVU346 + jmp .L253 +.L283: + .loc 1 92 160 view .LVU347 + movq %rbx, %rsi + leaq .Lubsan_data217(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL235: + jmp .L254 +.L284: + .loc 1 92 160 view .LVU348 + call __asan_report_load8@PLT +.LVL236: +.L256: + .loc 1 92 171 view .LVU349 + movq %rbx, %rsi + leaq .Lubsan_data218(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL237: + jmp .L257 +.L285: + .loc 1 92 171 view .LVU350 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL238: +.L286: + .loc 1 92 171 view .LVU351 + leaq .Lubsan_data38(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL239: + jmp .L259 +.L260: + .loc 1 92 3 discriminator 1 view .LVU352 + cmpq %rdx, %r15 + jb .L262 +.L261: + addq %r14, %r15 + movl %r12d, %eax + addl $-2, %eax + movl %eax, -60(%rbp) + jo .L287 +.L263: + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L288 + movq stdout(%rip), %r14 + testq %r14, %r14 + je .L289 +.L266: +.LVL240: +.LBB92: +.LBI92: + .loc 2 77 1 is_stmt 1 view .LVU353 +.LBB93: + .loc 2 79 3 view .LVU354 + .loc 2 79 10 is_stmt 0 view .LVU355 + subq $8, %rsp + pushq %r15 + movl -60(%rbp), %r9d + movl $92, %r8d + leaq .LC0(%rip), %rcx + leaq .LC6(%rip), %rdx + movl $2, %esi + movq %r14, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL241: + .loc 2 79 10 view .LVU356 +.LBE93: +.LBE92: + .loc 1 92 200 is_stmt 1 discriminator 2 view .LVU357 + .loc 1 93 3 view .LVU358 + .loc 1 93 18 is_stmt 0 view .LVU359 + movq g_comp_args(%rip), %r14 + .loc 1 93 7 view .LVU360 + addq $16, %rsp + testq %r14, %r14 + je .L267 + testb $7, %r14b + jne .L267 +.L268: + leaq 1(%r14), %rdx + cmpq $-1, %r14 + jnb .L290 +.L269: + .loc 1 93 6 view .LVU361 + testb $1, 1(%r14) + je .L270 + .loc 1 94 5 is_stmt 1 view .LVU362 + .loc 1 94 27 is_stmt 0 view .LVU363 + movq %r12, %rdx + movl $39, %esi + movq %rbx, %rdi + call lex_ctx_create_lexeme +.LVL242: + movq %rax, %r12 +.LVL243: + .loc 1 94 5 discriminator 1 view .LVU364 + cmpq $0, -56(%rbp) + je .L291 +.L271: + movq %r12, %rsi + movq -56(%rbp), %rdi + call array_append@PLT +.LVL244: +.L272: + .loc 1 97 3 is_stmt 1 view .LVU365 + movq %r13, %r12 + addq $1, %r12 + jo .L292 +.L274: + testq %rbx, %rbx + je .L276 + testb $7, %bl + jne .L276 +.L277: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L293 + movq (%rbx), %rbx +.LVL245: + .loc 1 97 3 is_stmt 0 view .LVU366 + testq %rbx, %rbx + je .L294 +.L279: + movq %r12, %rsi + movq %rbx, %rdi + call fconsume@PLT +.LVL246: + .loc 1 98 1 view .LVU367 + leaq -40(%rbp), %rsp + popq %rbx + popq %r12 + popq %r13 +.LVL247: + .loc 1 98 1 view .LVU368 + popq %r14 + popq %r15 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 +.LVL248: + .loc 1 98 1 view .LVU369 + ret +.LVL249: +.L287: + .cfi_restore_state + .loc 1 92 3 discriminator 1 view .LVU370 + movslq %r12d, %rsi + movq $-2, %rdx + leaq .Lubsan_data223(%rip), %rdi + call __ubsan_handle_add_overflow@PLT +.LVL250: + jmp .L263 +.L288: + call __asan_report_load8@PLT +.LVL251: +.L289: + leaq .Lubsan_data39(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL252: + jmp .L266 +.L267: + .loc 1 93 7 view .LVU371 + movq %r14, %rsi + leaq .Lubsan_data220(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL253: + jmp .L268 +.L290: + movq %r14, %rsi + leaq .Lubsan_data221(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL254: + jmp .L269 +.LVL255: +.L291: + .loc 1 94 5 discriminator 1 view .LVU372 + leaq .Lubsan_data41(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL256: + jmp .L271 +.LVL257: +.L270: + .loc 1 96 5 is_stmt 1 view .LVU373 + .loc 1 96 28 is_stmt 0 view .LVU374 + movl $1, %edx + movl $36, %esi + movq %rbx, %rdi + call lex_ctx_create_lexeme +.LVL258: + movq %rax, %r12 +.LVL259: + .loc 1 96 5 discriminator 1 view .LVU375 + cmpq $0, -56(%rbp) + je .L295 +.L273: + movq %r12, %rsi + movq -56(%rbp), %rdi + call array_append@PLT +.LVL260: + jmp .L272 +.L295: + leaq .Lubsan_data42(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL261: + jmp .L273 +.L292: + .loc 1 97 3 view .LVU376 + movl $1, %edx + movq %r13, %rsi + leaq .Lubsan_data224(%rip), %rdi + call __ubsan_handle_add_overflow@PLT +.LVL262: + jmp .L274 +.L276: + .loc 1 97 3 view .LVU377 + movq %rbx, %rsi + leaq .Lubsan_data222(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL263: + jmp .L277 +.L293: + .loc 1 97 3 view .LVU378 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL264: +.L294: + .loc 1 97 3 view .LVU379 + leaq .Lubsan_data43(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL265: + jmp .L279 + .cfi_endproc +.LFE57: + .size lex_ctx_consume_comment, .-lex_ctx_consume_comment + .section .rodata + .align 32 +.LC7: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming \"octal number\": \"%.*s\"\n" + .zero 56 + .text + .type lex_ctx_consume_octal, @function +lex_ctx_consume_octal: +.LASANPC65: +.LVL266: +.LFB65: + .loc 1 276 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 276 1 is_stmt 0 view .LVU381 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $24, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + movq %rsi, -56(%rbp) + .loc 1 277 3 is_stmt 1 view .LVU382 +.LVL267: + .loc 1 277 24 view .LVU383 + .loc 1 277 37 discriminator 1 view .LVU384 + .loc 1 277 12 is_stmt 0 view .LVU385 + movl $0, %r13d + .loc 1 277 43 view .LVU386 + jmp .L297 +.LVL268: +.L299: + .loc 1 281 14 discriminator 1 view .LVU387 + movq %r15, %rsi + leaq .Lubsan_data225(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL269: + jmp .L300 +.L341: + movq %r15, %rdi + call __asan_report_load8@PLT +.LVL270: +.L302: + .loc 1 281 32 discriminator 1 view .LVU388 + cmpq %rdx, %r15 + jb .L304 +.L303: + movq -64(%rbp), %rax + addq %rax, %r15 + je .L305 + testb $1, %r15b + jne .L305 +.L306: + movq %r15, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %edx + movq %r15, %rax + andl $7, %eax + addl $1, %eax + cmpb %dl, %al + jl .L307 + testb %dl, %dl + jne .L334 +.L307: + movzwl (%r15), %eax + .loc 1 281 12 discriminator 1 view .LVU389 + testb $8, %ah + jne .L308 + .loc 1 281 30 discriminator 1 view .LVU390 + cmpl $46, %r12d + je .L308 +.L309: + .loc 1 292 3 is_stmt 1 view .LVU391 + .loc 1 292 153 is_stmt 0 view .LVU392 + testq %rbx, %rbx + je .L316 + testb $7, %bl + jne .L316 +.L317: + leaq 8(%rbx), %rdx + cmpq $-8, %rbx + jnb .L335 +.L318: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L336 + movq 8(%rbx), %r15 + .loc 1 292 164 view .LVU393 + testq %rbx, %rbx + je .L320 + testb $7, %bl + jne .L320 +.L321: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L337 + movq (%rbx), %r12 +.LVL271: + .loc 1 292 164 view .LVU394 + testq %r12, %r12 + je .L338 +.L323: + movq %r12, %rdi + call ftell@PLT +.LVL272: + movq %rax, %r12 + .loc 1 292 3 discriminator 1 view .LVU395 + leaq (%r15,%rax), %rdx + testq %rax, %rax + js .L324 + cmpq %r15, %rdx + jnb .L325 +.L326: + movq %r15, %rsi + leaq .Lubsan_data232(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL273: + jmp .L325 +.LVL274: +.L305: + .loc 1 281 32 discriminator 1 view .LVU396 + movq %r15, %rsi + leaq .Lubsan_data227(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL275: + jmp .L306 +.L334: + movq %r15, %rdi + call __asan_report_load2@PLT +.LVL276: +.L308: + .loc 1 284 13 is_stmt 1 view .LVU397 + movq -56(%rbp), %rsi + movq %rbx, %rdi + call lex_ctx_consume_number +.LVL277: + .loc 1 285 13 view .LVU398 + jmp .L296 +.L298: + .loc 1 290 7 view .LVU399 + .loc 1 290 13 is_stmt 0 view .LVU400 + addq $1, %r13 +.LVL278: +.L297: + .loc 1 277 96 is_stmt 1 discriminator 1 view .LVU401 + .loc 1 277 57 is_stmt 0 discriminator 1 view .LVU402 + movq %r13, %r14 + testq %rbx, %rbx + je .L311 + testb $7, %bl + jne .L311 +.L312: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L339 + movq (%rbx), %r12 + testq %r12, %r12 + je .L340 +.L314: + movq %r14, %rsi + movq %r12, %rdi + call fpeek@PLT +.LVL279: + movl %eax, %r12d +.LVL280: + .loc 1 277 96 discriminator 1 view .LVU403 + testl %eax, %eax + jle .L309 + .loc 1 279 5 is_stmt 1 view .LVU404 + .loc 1 279 10 is_stmt 0 view .LVU405 + movl %r12d, %edi + call isoctdigit@PLT +.LVL281: + .loc 1 279 8 discriminator 1 view .LVU406 + testl %eax, %eax + jne .L298 + .loc 1 281 9 is_stmt 1 view .LVU407 + .loc 1 281 15 is_stmt 0 view .LVU408 + call __ctype_b_loc@PLT +.LVL282: + movq %rax, %r15 + .loc 1 281 14 discriminator 1 view .LVU409 + testq %rax, %rax + je .L299 + testb $7, %al + jne .L299 +.L300: + movq %r15, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L341 + movq (%r15), %r15 + .loc 1 281 32 discriminator 1 view .LVU410 + movslq %r12d, %rax + addq %rax, %rax + movq %rax, -64(%rbp) + leaq (%r15,%rax), %rdx + js .L302 + cmpq %r15, %rdx + jnb .L303 +.L304: + movq %r15, %rsi + leaq .Lubsan_data226(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL283: + jmp .L303 +.LVL284: +.L311: + .loc 1 277 57 discriminator 1 view .LVU411 + movq %rbx, %rsi + leaq .Lubsan_data228(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL285: + jmp .L312 +.L339: + .loc 1 277 57 discriminator 1 view .LVU412 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL286: +.L340: + .loc 1 277 57 discriminator 1 view .LVU413 + leaq .Lubsan_data44(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL287: + jmp .L314 +.LVL288: +.L316: + .loc 1 292 153 view .LVU414 + movq %rbx, %rsi + leaq .Lubsan_data229(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL289: + jmp .L317 +.L335: + .loc 1 292 153 view .LVU415 + movq %rbx, %rsi + leaq .Lubsan_data230(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL290: + jmp .L318 +.L336: + .loc 1 292 153 view .LVU416 + call __asan_report_load8@PLT +.LVL291: +.L320: + .loc 1 292 164 view .LVU417 + movq %rbx, %rsi + leaq .Lubsan_data231(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL292: + jmp .L321 +.L337: + .loc 1 292 164 view .LVU418 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL293: +.L338: + .loc 1 292 164 view .LVU419 + leaq .Lubsan_data45(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL294: + jmp .L323 +.L324: + .loc 1 292 3 discriminator 1 view .LVU420 + cmpq %rdx, %r15 + jb .L326 +.L325: + addq %r12, %r15 + movl %r13d, -64(%rbp) + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L342 + movq stdout(%rip), %r12 + testq %r12, %r12 + je .L343 +.L328: +.LVL295: +.LBB94: +.LBI94: + .loc 2 77 1 is_stmt 1 view .LVU421 +.LBB95: + .loc 2 79 3 view .LVU422 + .loc 2 79 10 is_stmt 0 view .LVU423 + subq $8, %rsp + pushq %r15 + movl -64(%rbp), %r9d + movl $292, %r8d + leaq .LC0(%rip), %rcx + leaq .LC7(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL296: + .loc 2 79 10 view .LVU424 +.LBE95: +.LBE94: + .loc 1 292 193 is_stmt 1 discriminator 2 view .LVU425 + .loc 1 293 5 view .LVU426 + .loc 1 293 30 is_stmt 0 view .LVU427 + movq %r13, %rdx + movl $0, %esi + movq %rbx, %rdi + call lex_ctx_create_lexeme +.LVL297: + movq %rax, %r12 + .loc 1 293 5 discriminator 1 view .LVU428 + addq $16, %rsp + cmpq $0, -56(%rbp) + je .L344 +.L329: + movq %r12, %rsi + movq -56(%rbp), %rdi + call array_append@PLT +.LVL298: + .loc 1 293 93 is_stmt 1 discriminator 2 view .LVU429 + testq %rbx, %rbx + je .L330 + testb $7, %bl + jne .L330 +.L331: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L345 + movq (%rbx), %rbx +.LVL299: + .loc 1 293 93 is_stmt 0 discriminator 2 view .LVU430 + testq %rbx, %rbx + je .L346 +.L333: + movq %r14, %rsi + movq %rbx, %rdi + call fconsume@PLT +.LVL300: +.L296: + .loc 1 294 1 view .LVU431 + leaq -40(%rbp), %rsp + popq %rbx + popq %r12 + popq %r13 +.LVL301: + .loc 1 294 1 view .LVU432 + popq %r14 +.LVL302: + .loc 1 294 1 view .LVU433 + popq %r15 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 +.LVL303: + .loc 1 294 1 view .LVU434 + ret +.LVL304: +.L342: + .cfi_restore_state + .loc 1 292 3 discriminator 1 view .LVU435 + call __asan_report_load8@PLT +.LVL305: +.L343: + leaq .Lubsan_data46(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL306: + jmp .L328 +.L344: + .loc 1 293 5 discriminator 1 view .LVU436 + leaq .Lubsan_data48(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL307: + jmp .L329 +.L330: + .loc 1 293 93 discriminator 2 view .LVU437 + movq %rbx, %rsi + leaq .Lubsan_data233(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL308: + jmp .L331 +.L345: + .loc 1 293 93 discriminator 2 view .LVU438 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL309: +.L346: + .loc 1 293 93 discriminator 2 view .LVU439 + leaq .Lubsan_data49(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL310: + jmp .L333 + .cfi_endproc +.LFE65: + .size lex_ctx_consume_octal, .-lex_ctx_consume_octal + .section .rodata + .align 32 +.LC8: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming \"string literal\": \"%.*s\"\n" + .zero 54 + .align 32 +.LC9: + .string "missing terminating \033[1;37m\"\033[0m character" + .zero 53 + .text + .type lex_ctx_consume_string, @function +lex_ctx_consume_string: +.LASANPC63: +.LVL311: +.LFB63: + .loc 1 202 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 202 1 is_stmt 0 view .LVU441 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $24, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + movq %rsi, -56(%rbp) + .loc 1 203 3 is_stmt 1 view .LVU442 +.LVL312: + .loc 1 203 24 view .LVU443 + .loc 1 203 37 discriminator 1 view .LVU444 + .loc 1 203 12 is_stmt 0 view .LVU445 + movl $1, %r13d + .loc 1 203 43 view .LVU446 + jmp .L348 +.LVL313: +.L349: +.LBB96: + .loc 1 205 16 view .LVU447 + movq %rbx, %rsi + leaq .Lubsan_data234(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL314: + .loc 1 205 16 view .LVU448 + jmp .L350 +.L394: + .loc 1 205 16 view .LVU449 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL315: +.L395: + .loc 1 205 16 view .LVU450 + leaq .Lubsan_data50(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL316: + jmp .L352 +.LVL317: +.L354: + .loc 1 213 10 is_stmt 1 view .LVU451 + .loc 1 213 13 is_stmt 0 view .LVU452 + cmpl $10, %r12d + je .L356 +.LVL318: +.L355: + .loc 1 215 5 is_stmt 1 view .LVU453 + .loc 1 215 11 is_stmt 0 view .LVU454 + addq $1, %r13 +.LVL319: +.L348: + .loc 1 215 11 view .LVU455 +.LBE96: + .loc 1 203 96 is_stmt 1 discriminator 1 view .LVU456 + .loc 1 203 57 is_stmt 0 discriminator 1 view .LVU457 + movq %r13, %r14 + testq %rbx, %rbx + je .L357 + testb $7, %bl + jne .L357 +.L358: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L392 + movq (%rbx), %r12 + testq %r12, %r12 + je .L393 +.L360: + movq %r14, %rsi + movq %r12, %rdi + call fpeek@PLT +.LVL320: + movl %eax, %r12d +.LVL321: + .loc 1 203 96 discriminator 1 view .LVU458 + testl %eax, %eax + jle .L353 +.LBB97: + .loc 1 205 5 is_stmt 1 view .LVU459 + .loc 1 205 50 is_stmt 0 view .LVU460 + leaq 1(%r13), %r15 + .loc 1 205 16 view .LVU461 + testq %rbx, %rbx + je .L349 + testb $7, %bl + jne .L349 +.LVL322: +.L350: + .loc 1 205 16 view .LVU462 + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L394 + movq (%rbx), %r14 + testq %r14, %r14 + je .L395 +.L352: + movq %r15, %rsi + movq %r14, %rdi + call fpeek@PLT +.LVL323: + .loc 1 206 5 is_stmt 1 view .LVU463 + .loc 1 206 8 is_stmt 0 view .LVU464 + cmpl $34, %r12d + je .L390 + .loc 1 211 5 is_stmt 1 view .LVU465 + .loc 1 211 8 is_stmt 0 view .LVU466 + cmpl $92, %r12d + jne .L354 + .loc 1 211 34 discriminator 1 view .LVU467 + cmpl $10, %eax + sete %dl + .loc 1 211 50 discriminator 1 view .LVU468 + cmpl $34, %eax + sete %al +.LVL324: + .loc 1 211 25 discriminator 1 view .LVU469 + orb %al, %dl + je .L354 + .loc 1 212 13 view .LVU470 + movq %r15, %r13 +.LVL325: + .loc 1 212 13 view .LVU471 + jmp .L355 +.LVL326: +.L357: + .loc 1 212 13 view .LVU472 +.LBE97: + .loc 1 203 57 discriminator 1 view .LVU473 + movq %rbx, %rsi + leaq .Lubsan_data235(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL327: + jmp .L358 +.L392: + .loc 1 203 57 discriminator 1 view .LVU474 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL328: +.L393: + .loc 1 203 57 discriminator 1 view .LVU475 + leaq .Lubsan_data51(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL329: + jmp .L360 +.LVL330: +.L390: +.LBB98: + .loc 1 208 15 view .LVU476 + movq %r15, %r13 +.LVL331: +.L353: + .loc 1 208 15 view .LVU477 +.LBE98: + .loc 1 218 3 is_stmt 1 view .LVU478 + .loc 1 218 6 is_stmt 0 view .LVU479 + cmpl $-1, %r12d + je .L356 + .loc 1 221 3 is_stmt 1 view .LVU480 + .loc 1 221 156 is_stmt 0 view .LVU481 + testq %rbx, %rbx + je .L362 + testb $7, %bl + jne .L362 +.L363: + leaq 8(%rbx), %rdx + cmpq $-8, %rbx + jnb .L396 +.L364: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L397 + movq 8(%rbx), %r14 + .loc 1 221 167 view .LVU482 + testq %rbx, %rbx + je .L366 + testb $7, %bl + jne .L366 +.L367: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L398 + movq (%rbx), %r12 +.LVL332: + .loc 1 221 167 view .LVU483 + testq %r12, %r12 + je .L399 +.L369: + movq %r12, %rdi + call ftell@PLT +.LVL333: + .loc 1 221 189 discriminator 1 view .LVU484 + leaq 1(%rax), %r15 + .loc 1 221 3 discriminator 1 view .LVU485 + leaq (%r14,%r15), %rdx + testq %r15, %r15 + js .L370 + cmpq %r14, %rdx + jnb .L371 +.L372: + movq %r14, %rsi + leaq .Lubsan_data239(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL334: + jmp .L371 +.LVL335: +.L362: + .loc 1 221 156 view .LVU486 + movq %rbx, %rsi + leaq .Lubsan_data236(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL336: + jmp .L363 +.L396: + .loc 1 221 156 view .LVU487 + movq %rbx, %rsi + leaq .Lubsan_data237(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL337: + jmp .L364 +.L397: + .loc 1 221 156 view .LVU488 + call __asan_report_load8@PLT +.LVL338: +.L366: + .loc 1 221 167 view .LVU489 + movq %rbx, %rsi + leaq .Lubsan_data238(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL339: + jmp .L367 +.L398: + .loc 1 221 167 view .LVU490 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL340: +.L399: + .loc 1 221 167 view .LVU491 + leaq .Lubsan_data52(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL341: + jmp .L369 +.L370: + .loc 1 221 3 discriminator 1 view .LVU492 + cmpq %rdx, %r14 + jb .L372 +.L371: + addq %r14, %r15 + movl %r13d, %r14d + addl $-2, %r14d + jo .L400 +.L373: + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L401 + movq stdout(%rip), %r12 + testq %r12, %r12 + je .L402 +.L376: +.LVL342: +.LBB99: +.LBI99: + .loc 2 77 1 is_stmt 1 view .LVU493 +.LBB100: + .loc 2 79 3 view .LVU494 + .loc 2 79 10 is_stmt 0 view .LVU495 + subq $8, %rsp + pushq %r15 + movl %r14d, %r9d + movl $221, %r8d + leaq .LC0(%rip), %rcx + leaq .LC8(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL343: + .loc 2 79 10 view .LVU496 +.LBE100: +.LBE99: + .loc 1 221 196 is_stmt 1 discriminator 2 view .LVU497 + .loc 1 222 5 view .LVU498 + .loc 1 222 30 is_stmt 0 view .LVU499 + movq %r13, %rdx + movl $2, %esi + movq %rbx, %rdi + call lex_ctx_create_lexeme +.LVL344: + movq %rax, %r12 + .loc 1 222 5 discriminator 1 view .LVU500 + addq $16, %rsp + cmpq $0, -56(%rbp) + je .L403 +.L377: + movq %r12, %rsi + movq -56(%rbp), %rdi + call array_append@PLT +.LVL345: + .loc 1 222 92 is_stmt 1 discriminator 2 view .LVU501 + testq %rbx, %rbx + je .L378 + testb $7, %bl + jne .L378 +.L379: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L404 + movq (%rbx), %rbx +.LVL346: + .loc 1 222 92 is_stmt 0 discriminator 2 view .LVU502 + testq %rbx, %rbx + je .L405 +.L381: + movq %r13, %rsi + movq %rbx, %rdi + call fconsume@PLT +.LVL347: + .loc 1 222 135 is_stmt 1 discriminator 3 view .LVU503 + .loc 1 223 3 view .LVU504 +.L347: + .loc 1 231 1 is_stmt 0 view .LVU505 + leaq -40(%rbp), %rsp + popq %rbx + popq %r12 + popq %r13 + popq %r14 + popq %r15 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 +.LVL348: + .loc 1 231 1 view .LVU506 + ret +.LVL349: +.L400: + .cfi_restore_state + .loc 1 221 3 discriminator 1 view .LVU507 + movslq %r13d, %rsi + movq $-2, %rdx + leaq .Lubsan_data242(%rip), %rdi + call __ubsan_handle_add_overflow@PLT +.LVL350: + jmp .L373 +.L401: + call __asan_report_load8@PLT +.LVL351: +.L402: + leaq .Lubsan_data53(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL352: + jmp .L376 +.L403: + .loc 1 222 5 discriminator 1 view .LVU508 + leaq .Lubsan_data55(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL353: + jmp .L377 +.L378: + .loc 1 222 92 discriminator 2 view .LVU509 + movq %rbx, %rsi + leaq .Lubsan_data240(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL354: + jmp .L379 +.L404: + .loc 1 222 92 discriminator 2 view .LVU510 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL355: +.L405: + .loc 1 222 92 discriminator 2 view .LVU511 + leaq .Lubsan_data56(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL356: + jmp .L381 +.LVL357: +.L356: + .loc 1 225 17 is_stmt 1 view .LVU512 + .loc 1 225 45 is_stmt 0 view .LVU513 + movq %rbx, %rdi + call lex_ctx_length_until_eol +.LVL358: + movq %rax, %r13 +.LVL359: + .loc 1 226 17 is_stmt 1 view .LVU514 + .loc 1 226 38 is_stmt 0 view .LVU515 + movq %rax, %rdx + movl $2, %esi + movq %rbx, %rdi + call lex_ctx_create_lexeme +.LVL360: + .loc 1 226 38 view .LVU516 + movq %rax, %r12 +.LVL361: + .loc 1 227 3 is_stmt 1 view .LVU517 + movq g_diagnostics(%rip), %r14 + testq %r14, %r14 + je .L406 +.LVL362: +.L383: + .loc 1 227 3 is_stmt 0 view .LVU518 + testq %r12, %r12 + je .L407 +.L384: + leaq .LC9(%rip), %r8 + movq %r12, %rcx + movl $1, %edx + movl $0, %esi + movq %r14, %rdi + movl $0, %eax + call diagn_push@PLT +.LVL363: + .loc 1 229 3 is_stmt 1 view .LVU519 + testq %rbx, %rbx + je .L385 + testb $7, %bl + jne .L385 +.L386: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L408 + movq (%rbx), %rbx +.LVL364: + .loc 1 229 3 is_stmt 0 view .LVU520 + testq %rbx, %rbx + je .L409 +.L388: + movq %r13, %rsi + movq %rbx, %rdi + call fconsume@PLT +.LVL365: + .loc 1 230 3 is_stmt 1 view .LVU521 + cmpq $0, -56(%rbp) + je .L410 +.L389: + movq %r12, %rsi + movq -56(%rbp), %rdi + call array_append@PLT +.LVL366: + jmp .L347 +.LVL367: +.L406: + .loc 1 227 3 is_stmt 0 view .LVU522 + leaq .Lubsan_data57(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL368: + .loc 1 227 3 view .LVU523 + jmp .L383 +.L407: + .loc 1 227 3 view .LVU524 + leaq .Lubsan_data58(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL369: + jmp .L384 +.L385: + .loc 1 229 3 view .LVU525 + movq %rbx, %rsi + leaq .Lubsan_data241(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL370: + jmp .L386 +.L408: + .loc 1 229 3 view .LVU526 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL371: +.L409: + .loc 1 229 3 view .LVU527 + leaq .Lubsan_data59(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL372: + jmp .L388 +.L410: + .loc 1 230 3 view .LVU528 + leaq .Lubsan_data60(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL373: + jmp .L389 + .cfi_endproc +.LFE63: + .size lex_ctx_consume_string, .-lex_ctx_consume_string + .section .rodata + .align 32 +.LC10: + .string "multi-character character constant" + .zero 61 + .align 32 +.LC11: + .string "multichar" + .zero 54 + .align 32 +.LC12: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming \"character literal\": \"%.*s\"\n" + .zero 51 + .align 32 +.LC13: + .string "missing terminating \033[1;37m'\033[0m character" + .zero 53 + .text + .type lex_ctx_consume_character, @function +lex_ctx_consume_character: +.LASANPC64: +.LVL374: +.LFB64: + .loc 1 236 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 236 1 is_stmt 0 view .LVU530 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $24, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + movq %rsi, -56(%rbp) + .loc 1 237 3 is_stmt 1 view .LVU531 +.LVL375: + .loc 1 237 24 view .LVU532 + .loc 1 237 37 discriminator 1 view .LVU533 + .loc 1 237 12 is_stmt 0 view .LVU534 + movl $1, %r13d + .loc 1 237 43 view .LVU535 + jmp .L412 +.LVL376: +.L413: +.LBB101: + .loc 1 239 16 view .LVU536 + movq %rbx, %rsi + leaq .Lubsan_data243(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL377: + .loc 1 239 16 view .LVU537 + jmp .L414 +.L461: + .loc 1 239 16 view .LVU538 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL378: +.L462: + .loc 1 239 16 view .LVU539 + leaq .Lubsan_data61(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL379: + jmp .L416 +.LVL380: +.L418: + .loc 1 247 10 is_stmt 1 view .LVU540 + .loc 1 247 13 is_stmt 0 view .LVU541 + cmpl $10, %r12d + je .L420 +.LVL381: +.L419: + .loc 1 249 5 is_stmt 1 view .LVU542 + .loc 1 249 11 is_stmt 0 view .LVU543 + addq $1, %r13 +.LVL382: +.L412: + .loc 1 249 11 view .LVU544 +.LBE101: + .loc 1 237 96 is_stmt 1 discriminator 1 view .LVU545 + .loc 1 237 57 is_stmt 0 discriminator 1 view .LVU546 + movq %r13, %r14 + testq %rbx, %rbx + je .L421 + testb $7, %bl + jne .L421 +.L422: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L459 + movq (%rbx), %r12 + testq %r12, %r12 + je .L460 +.L424: + movq %r14, %rsi + movq %r12, %rdi + call fpeek@PLT +.LVL383: + movl %eax, %r12d +.LVL384: + .loc 1 237 96 discriminator 1 view .LVU547 + testl %eax, %eax + jle .L417 +.LBB102: + .loc 1 239 5 is_stmt 1 view .LVU548 + .loc 1 239 50 is_stmt 0 view .LVU549 + leaq 1(%r13), %r15 + .loc 1 239 16 view .LVU550 + testq %rbx, %rbx + je .L413 + testb $7, %bl + jne .L413 +.LVL385: +.L414: + .loc 1 239 16 view .LVU551 + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L461 + movq (%rbx), %r14 + testq %r14, %r14 + je .L462 +.L416: + movq %r15, %rsi + movq %r14, %rdi + call fpeek@PLT +.LVL386: + .loc 1 240 5 is_stmt 1 view .LVU552 + .loc 1 240 8 is_stmt 0 view .LVU553 + cmpl $39, %r12d + je .L457 + .loc 1 245 5 is_stmt 1 view .LVU554 + .loc 1 245 8 is_stmt 0 view .LVU555 + cmpl $92, %r12d + jne .L418 + .loc 1 245 34 discriminator 1 view .LVU556 + cmpl $10, %eax + sete %dl + .loc 1 245 50 discriminator 1 view .LVU557 + cmpl $39, %eax + sete %al +.LVL387: + .loc 1 245 25 discriminator 1 view .LVU558 + orb %al, %dl + je .L418 + .loc 1 246 13 view .LVU559 + movq %r15, %r13 +.LVL388: + .loc 1 246 13 view .LVU560 + jmp .L419 +.LVL389: +.L421: + .loc 1 246 13 view .LVU561 +.LBE102: + .loc 1 237 57 discriminator 1 view .LVU562 + movq %rbx, %rsi + leaq .Lubsan_data244(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL390: + jmp .L422 +.L459: + .loc 1 237 57 discriminator 1 view .LVU563 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL391: +.L460: + .loc 1 237 57 discriminator 1 view .LVU564 + leaq .Lubsan_data62(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL392: + jmp .L424 +.LVL393: +.L457: +.LBB103: + .loc 1 242 15 view .LVU565 + movq %r15, %r13 +.LVL394: +.L417: + .loc 1 242 15 view .LVU566 +.LBE103: + .loc 1 252 3 is_stmt 1 view .LVU567 + .loc 1 253 3 view .LVU568 + .loc 1 253 6 is_stmt 0 view .LVU569 + cmpl $-1, %r12d + je .L420 + .loc 1 256 3 is_stmt 1 view .LVU570 + .loc 1 256 12 is_stmt 0 view .LVU571 + movq %r13, %rdx + movl $3, %esi + movq %rbx, %rdi + call lex_ctx_create_lexeme +.LVL395: + movq %rax, -64(%rbp) +.LVL396: + .loc 1 257 3 is_stmt 1 view .LVU572 + .loc 1 257 6 is_stmt 0 view .LVU573 + cmpq $3, %r13 + jbe .L426 + .loc 1 258 5 is_stmt 1 view .LVU574 + movq g_diagnostics(%rip), %r12 +.LVL397: + .loc 1 258 5 is_stmt 0 view .LVU575 + testq %r12, %r12 + je .L463 +.LVL398: +.L427: + .loc 1 258 5 view .LVU576 + cmpq $0, -64(%rbp) + je .L464 +.L428: + leaq .LC10(%rip), %r8 + movq -64(%rbp), %rcx + movl $0, %edx + leaq .LC11(%rip), %rsi + movq %r12, %rdi + movl $0, %eax + call diagn_push@PLT +.LVL399: +.L426: + .loc 1 260 3 is_stmt 1 view .LVU577 + .loc 1 260 159 is_stmt 0 view .LVU578 + testq %rbx, %rbx + je .L429 + testb $7, %bl + jne .L429 +.L430: + leaq 8(%rbx), %rdx + cmpq $-8, %rbx + jnb .L465 +.L431: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L466 + movq 8(%rbx), %r14 + .loc 1 260 170 view .LVU579 + testq %rbx, %rbx + je .L433 + testb $7, %bl + jne .L433 +.L434: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L467 + movq (%rbx), %r12 + testq %r12, %r12 + je .L468 +.L436: + movq %r12, %rdi + call ftell@PLT +.LVL400: + .loc 1 260 192 discriminator 1 view .LVU580 + leaq 1(%rax), %r15 + .loc 1 260 3 discriminator 1 view .LVU581 + leaq (%r14,%r15), %rdx + testq %r15, %r15 + js .L437 + cmpq %r14, %rdx + jnb .L438 +.L439: + movq %r14, %rsi + leaq .Lubsan_data248(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL401: + jmp .L438 +.LVL402: +.L463: + .loc 1 258 5 view .LVU582 + leaq .Lubsan_data63(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL403: + .loc 1 258 5 view .LVU583 + jmp .L427 +.L464: + leaq .Lubsan_data64(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL404: + jmp .L428 +.L429: + .loc 1 260 159 view .LVU584 + movq %rbx, %rsi + leaq .Lubsan_data245(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL405: + jmp .L430 +.L465: + .loc 1 260 159 view .LVU585 + movq %rbx, %rsi + leaq .Lubsan_data246(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL406: + jmp .L431 +.L466: + .loc 1 260 159 view .LVU586 + call __asan_report_load8@PLT +.LVL407: +.L433: + .loc 1 260 170 view .LVU587 + movq %rbx, %rsi + leaq .Lubsan_data247(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL408: + jmp .L434 +.L467: + .loc 1 260 170 view .LVU588 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL409: +.L468: + .loc 1 260 170 view .LVU589 + leaq .Lubsan_data65(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL410: + jmp .L436 +.L437: + .loc 1 260 3 discriminator 1 view .LVU590 + cmpq %rdx, %r14 + jb .L439 +.L438: + addq %r14, %r15 + movl %r13d, %r14d + addl $-2, %r14d + jo .L469 +.L440: + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L470 + movq stdout(%rip), %r12 + testq %r12, %r12 + je .L471 +.L443: +.LVL411: +.LBB104: +.LBI104: + .loc 2 77 1 is_stmt 1 view .LVU591 +.LBB105: + .loc 2 79 3 view .LVU592 + .loc 2 79 10 is_stmt 0 view .LVU593 + subq $8, %rsp + pushq %r15 + movl %r14d, %r9d + movl $260, %r8d + leaq .LC0(%rip), %rcx + leaq .LC12(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL412: + .loc 2 79 10 view .LVU594 +.LBE105: +.LBE104: + .loc 1 260 199 is_stmt 1 discriminator 2 view .LVU595 + .loc 1 261 3 view .LVU596 + addq $16, %rsp + cmpq $0, -56(%rbp) + je .L472 +.L444: + movq -64(%rbp), %rsi + movq -56(%rbp), %rdi + call array_append@PLT +.LVL413: + .loc 1 262 3 view .LVU597 + testq %rbx, %rbx + je .L445 + testb $7, %bl + jne .L445 +.L446: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L473 + movq (%rbx), %rbx +.LVL414: + .loc 1 262 3 is_stmt 0 view .LVU598 + testq %rbx, %rbx + je .L474 +.L448: + movq %r13, %rsi + movq %rbx, %rdi + call fconsume@PLT +.LVL415: + .loc 1 263 3 is_stmt 1 view .LVU599 + jmp .L411 +.LVL416: +.L469: + .loc 1 260 3 is_stmt 0 discriminator 1 view .LVU600 + movslq %r13d, %rsi + movq $-2, %rdx + leaq .Lubsan_data251(%rip), %rdi + call __ubsan_handle_add_overflow@PLT +.LVL417: + jmp .L440 +.L470: + call __asan_report_load8@PLT +.LVL418: +.L471: + leaq .Lubsan_data66(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL419: + jmp .L443 +.L472: + .loc 1 261 3 view .LVU601 + leaq .Lubsan_data68(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL420: + jmp .L444 +.L445: + .loc 1 262 3 view .LVU602 + movq %rbx, %rsi + leaq .Lubsan_data249(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL421: + jmp .L446 +.L473: + .loc 1 262 3 view .LVU603 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL422: +.L474: + .loc 1 262 3 view .LVU604 + leaq .Lubsan_data69(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL423: + jmp .L448 +.LVL424: +.L420: + .loc 1 265 17 is_stmt 1 view .LVU605 + .loc 1 265 45 is_stmt 0 view .LVU606 + movq %rbx, %rdi + call lex_ctx_length_until_eol +.LVL425: + movq %rax, %r13 +.LVL426: + .loc 1 266 17 is_stmt 1 view .LVU607 + .loc 1 266 42 is_stmt 0 view .LVU608 + movq %rax, %rdx + movl $2, %esi + movq %rbx, %rdi + call lex_ctx_create_lexeme +.LVL427: + .loc 1 266 42 view .LVU609 + movq %rax, %r12 +.LVL428: + .loc 1 267 3 is_stmt 1 view .LVU610 + movq g_diagnostics(%rip), %r14 + testq %r14, %r14 + je .L475 +.LVL429: +.L450: + .loc 1 267 3 is_stmt 0 view .LVU611 + testq %r12, %r12 + je .L476 +.L451: + leaq .LC13(%rip), %r8 + movq %r12, %rcx + movl $1, %edx + movl $0, %esi + movq %r14, %rdi + movl $0, %eax + call diagn_push@PLT +.LVL430: + .loc 1 269 3 is_stmt 1 view .LVU612 + testq %rbx, %rbx + je .L452 + testb $7, %bl + jne .L452 +.L453: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L477 + movq (%rbx), %rbx +.LVL431: + .loc 1 269 3 is_stmt 0 view .LVU613 + testq %rbx, %rbx + je .L478 +.L455: + movq %r13, %rsi + movq %rbx, %rdi + call fconsume@PLT +.LVL432: + .loc 1 270 3 is_stmt 1 view .LVU614 + cmpq $0, -56(%rbp) + je .L479 +.L456: + movq %r12, %rsi + movq -56(%rbp), %rdi + call array_append@PLT +.LVL433: +.L411: + .loc 1 271 1 is_stmt 0 view .LVU615 + leaq -40(%rbp), %rsp + popq %rbx + popq %r12 + popq %r13 + popq %r14 + popq %r15 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 +.LVL434: + .loc 1 271 1 view .LVU616 + ret +.LVL435: +.L475: + .cfi_restore_state + .loc 1 267 3 view .LVU617 + leaq .Lubsan_data70(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL436: + .loc 1 267 3 view .LVU618 + jmp .L450 +.L476: + .loc 1 267 3 view .LVU619 + leaq .Lubsan_data71(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL437: + jmp .L451 +.L452: + .loc 1 269 3 view .LVU620 + movq %rbx, %rsi + leaq .Lubsan_data250(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL438: + jmp .L453 +.L477: + .loc 1 269 3 view .LVU621 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL439: +.L478: + .loc 1 269 3 view .LVU622 + leaq .Lubsan_data72(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL440: + jmp .L455 +.L479: + .loc 1 270 3 view .LVU623 + leaq .Lubsan_data73(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL441: + jmp .L456 + .cfi_endproc +.LFE64: + .size lex_ctx_consume_character, .-lex_ctx_consume_character + .section .rodata + .align 32 +.LC14: + .string "yes" + .zero 60 + .align 32 +.LC15: + .string "no" + .zero 61 + .align 32 +.LC16: + .string "missing terminating \033[1;37m*/\033[0m characters from multiline comment" + .zero 60 + .align 32 +.LC17: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming multi-line comment of length (tokenize-comments=%s): %lu\n" + .zero 54 + .align 32 +.LC18: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0mmulti-line comment: \"%.*s\"\n" + .zero 61 + .text + .type lex_ctx_consume_multicomment, @function +lex_ctx_consume_multicomment: +.LASANPC58: +.LVL442: +.LFB58: + .loc 1 103 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 103 1 is_stmt 0 view .LVU625 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $24, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + movq %rsi, -64(%rbp) + .loc 1 104 3 is_stmt 1 view .LVU626 +.LVL443: + .loc 1 104 24 view .LVU627 + .loc 1 104 37 discriminator 1 view .LVU628 + .loc 1 104 12 is_stmt 0 view .LVU629 + movl $2, %r13d +.LVL444: +.L481: + .loc 1 104 96 is_stmt 1 discriminator 1 view .LVU630 + .loc 1 104 57 is_stmt 0 discriminator 1 view .LVU631 + movq %r13, -56(%rbp) + testq %rbx, %rbx + je .L487 + testb $7, %bl + jne .L487 +.L488: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L536 + movq (%rbx), %r12 + testq %r12, %r12 + je .L537 +.L490: + movq -56(%rbp), %rsi + movq %r12, %rdi + call fpeek@PLT +.LVL445: + movl %eax, %r12d +.LVL446: + .loc 1 104 96 discriminator 1 view .LVU632 + testl %eax, %eax + jle .L486 +.LBB106: + .loc 1 106 5 is_stmt 1 view .LVU633 + .loc 1 106 50 is_stmt 0 view .LVU634 + leaq 1(%r13), %r15 + .loc 1 106 16 view .LVU635 + testq %rbx, %rbx + je .L482 + testb $7, %bl + jne .L482 +.LVL447: +.L483: + .loc 1 106 16 view .LVU636 + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L538 + movq (%rbx), %r14 + testq %r14, %r14 + je .L539 +.L485: + movq %r15, %rsi + movq %r14, %rdi + call fpeek@PLT +.LVL448: + .loc 1 107 5 is_stmt 1 view .LVU637 + .loc 1 107 17 is_stmt 0 view .LVU638 + cmpl $42, %r12d + sete %dl + .loc 1 107 32 view .LVU639 + cmpl $47, %eax + sete %al +.LVL449: + .loc 1 107 8 view .LVU640 + testb %al, %dl + jne .L486 + .loc 1 109 11 view .LVU641 + movq %r15, %r13 +.LVL450: + .loc 1 109 11 view .LVU642 + jmp .L481 +.LVL451: +.L482: + .loc 1 106 16 view .LVU643 + movq %rbx, %rsi + leaq .Lubsan_data252(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL452: + .loc 1 106 16 view .LVU644 + jmp .L483 +.L538: + .loc 1 106 16 view .LVU645 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL453: +.L539: + .loc 1 106 16 view .LVU646 + leaq .Lubsan_data74(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL454: + jmp .L485 +.LVL455: +.L487: + .loc 1 106 16 view .LVU647 +.LBE106: + .loc 1 104 57 discriminator 1 view .LVU648 + movq %rbx, %rsi + leaq .Lubsan_data253(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL456: + jmp .L488 +.L536: + .loc 1 104 57 discriminator 1 view .LVU649 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL457: +.L537: + .loc 1 104 57 discriminator 1 view .LVU650 + leaq .Lubsan_data75(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL458: + jmp .L490 +.LVL459: +.L486: + .loc 1 111 3 is_stmt 1 view .LVU651 + .loc 1 111 6 is_stmt 0 view .LVU652 + cmpl $-1, %r12d + je .L540 + .loc 1 113 3 is_stmt 1 view .LVU653 + .loc 1 113 40 is_stmt 0 view .LVU654 + movq g_comp_args(%rip), %r12 +.LVL460: + .loc 1 113 72 view .LVU655 + testq %r12, %r12 + je .L501 + testb $7, %r12b + jne .L501 +.L502: + leaq 1(%r12), %rdx + cmpq $-1, %r12 + jnb .L541 +.L503: + .loc 1 113 3 view .LVU656 + testb $1, 1(%r12) + je .L535 + .loc 1 113 3 discriminator 1 view .LVU657 + leaq .LC14(%rip), %r14 +.L504: + .loc 1 113 3 discriminator 4 view .LVU658 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L542 + movq stdout(%rip), %r12 + testq %r12, %r12 + je .L543 +.L506: +.LVL461: +.LBB107: +.LBI107: + .loc 2 77 1 is_stmt 1 view .LVU659 +.LBB108: + .loc 2 79 3 view .LVU660 + .loc 2 79 10 is_stmt 0 view .LVU661 + subq $8, %rsp + pushq %r13 + movq %r14, %r9 + movl $113, %r8d + leaq .LC0(%rip), %rcx + leaq .LC17(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL462: + .loc 2 79 10 view .LVU662 +.LBE108: +.LBE107: + .loc 1 115 3 is_stmt 1 view .LVU663 + .loc 1 115 136 is_stmt 0 view .LVU664 + addq $16, %rsp + testq %rbx, %rbx + je .L507 + testb $7, %bl + jne .L507 +.L508: + leaq 8(%rbx), %rdx + cmpq $-8, %rbx + jnb .L544 +.L509: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L545 + movq 8(%rbx), %r14 + .loc 1 115 147 view .LVU665 + testq %rbx, %rbx + je .L511 + testb $7, %bl + jne .L511 +.L512: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L546 + movq (%rbx), %r12 + testq %r12, %r12 + je .L547 +.L514: + movq %r12, %rdi + call ftell@PLT +.LVL463: + .loc 1 115 167 discriminator 1 view .LVU666 + leaq 2(%rax), %r15 + .loc 1 115 3 discriminator 1 view .LVU667 + leaq (%r14,%r15), %rdx + testq %r15, %r15 + js .L515 + cmpq %r14, %rdx + jnb .L516 +.L517: + movq %r14, %rsi + leaq .Lubsan_data260(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL464: + jmp .L516 +.LVL465: +.L540: + .loc 1 112 5 is_stmt 1 view .LVU668 +.LDL1: + .loc 1 124 17 view .LVU669 + .loc 1 124 45 is_stmt 0 view .LVU670 + movq %rbx, %rdi + call lex_ctx_length_until_eol +.LVL466: + .loc 1 125 17 is_stmt 1 view .LVU671 + .loc 1 125 38 is_stmt 0 view .LVU672 + movq %r13, %rdx + movl $40, %esi + movq %rbx, %rdi + call lex_ctx_create_lexeme +.LVL467: + movq %rax, %r12 +.LVL468: + .loc 1 126 3 is_stmt 1 view .LVU673 + movq g_diagnostics(%rip), %r13 +.LVL469: + .loc 1 126 3 is_stmt 0 view .LVU674 + testq %r13, %r13 + je .L548 +.LVL470: +.L493: + .loc 1 126 3 view .LVU675 + testq %r12, %r12 + je .L549 +.L494: + leaq .LC16(%rip), %r8 + movq %r12, %rcx + movl $1, %edx + movl $0, %esi + movq %r13, %rdi + movl $0, %eax + call diagn_push@PLT +.LVL471: + .loc 1 128 3 is_stmt 1 view .LVU676 + testq %rbx, %rbx + je .L495 + testb $7, %bl + jne .L495 +.L496: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L550 + movq (%rbx), %rbx +.LVL472: + .loc 1 128 3 is_stmt 0 view .LVU677 + testq %rbx, %rbx + je .L551 +.L498: + movq -56(%rbp), %rsi + movq %rbx, %rdi + call fconsume@PLT +.LVL473: + .loc 1 129 3 is_stmt 1 view .LVU678 + cmpq $0, -64(%rbp) + je .L552 +.L499: + movq %r12, %rsi + movq -64(%rbp), %rdi + call array_append@PLT +.LVL474: + jmp .L480 +.LVL475: +.L548: + .loc 1 126 3 is_stmt 0 view .LVU679 + leaq .Lubsan_data76(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL476: + .loc 1 126 3 view .LVU680 + jmp .L493 +.L549: + .loc 1 126 3 view .LVU681 + leaq .Lubsan_data77(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL477: + jmp .L494 +.L495: + .loc 1 128 3 view .LVU682 + movq %rbx, %rsi + leaq .Lubsan_data254(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL478: + jmp .L496 +.L550: + .loc 1 128 3 view .LVU683 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL479: +.L551: + .loc 1 128 3 view .LVU684 + leaq .Lubsan_data78(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL480: + jmp .L498 +.L552: + .loc 1 129 3 view .LVU685 + leaq .Lubsan_data79(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL481: + jmp .L499 +.LVL482: +.L501: + .loc 1 113 72 view .LVU686 + movq %r12, %rsi + leaq .Lubsan_data255(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL483: + jmp .L502 +.L541: + movq %r12, %rsi + leaq .Lubsan_data256(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL484: + jmp .L503 +.L535: + .loc 1 113 3 discriminator 2 view .LVU687 + leaq .LC15(%rip), %r14 + jmp .L504 +.L542: + .loc 1 113 3 discriminator 4 view .LVU688 + call __asan_report_load8@PLT +.LVL485: +.L543: + leaq .Lubsan_data80(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL486: + jmp .L506 +.L507: + .loc 1 115 136 view .LVU689 + movq %rbx, %rsi + leaq .Lubsan_data257(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL487: + jmp .L508 +.L544: + .loc 1 115 136 view .LVU690 + movq %rbx, %rsi + leaq .Lubsan_data258(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL488: + jmp .L509 +.L545: + .loc 1 115 136 view .LVU691 + call __asan_report_load8@PLT +.LVL489: +.L511: + .loc 1 115 147 view .LVU692 + movq %rbx, %rsi + leaq .Lubsan_data259(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL490: + jmp .L512 +.L546: + .loc 1 115 147 view .LVU693 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL491: +.L547: + .loc 1 115 147 view .LVU694 + leaq .Lubsan_data82(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL492: + jmp .L514 +.L515: + .loc 1 115 3 discriminator 1 view .LVU695 + cmpq %rdx, %r14 + jb .L517 +.L516: + addq %r14, %r15 + movl %r13d, %r14d + addl $-2, %r14d + jo .L553 +.L518: + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L554 + movq stdout(%rip), %r12 + testq %r12, %r12 + je .L555 +.L521: +.LVL493: +.LBB109: +.LBI109: + .loc 2 77 1 is_stmt 1 view .LVU696 +.LBB110: + .loc 2 79 3 view .LVU697 + .loc 2 79 10 is_stmt 0 view .LVU698 + subq $8, %rsp + pushq %r15 + movl %r14d, %r9d + movl $115, %r8d + leaq .LC0(%rip), %rcx + leaq .LC18(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL494: + .loc 2 79 10 view .LVU699 +.LBE110: +.LBE109: + .loc 1 117 3 is_stmt 1 view .LVU700 + .loc 1 117 18 is_stmt 0 view .LVU701 + movq g_comp_args(%rip), %r12 + .loc 1 117 7 view .LVU702 + addq $16, %rsp + testq %r12, %r12 + je .L522 + testb $7, %r12b + jne .L522 +.L523: + leaq 1(%r12), %rdx + cmpq $-1, %r12 + jnb .L556 +.L524: + .loc 1 117 6 view .LVU703 + testb $1, 1(%r12) + je .L525 + .loc 1 118 5 is_stmt 1 view .LVU704 + .loc 1 118 28 is_stmt 0 view .LVU705 + movq %r13, %rdx + movl $40, %esi + movq %rbx, %rdi + call lex_ctx_create_lexeme +.LVL495: + movq %rax, %r12 + .loc 1 118 5 discriminator 1 view .LVU706 + cmpq $0, -64(%rbp) + je .L557 +.L526: + movq %r12, %rsi + movq -64(%rbp), %rdi + call array_append@PLT +.LVL496: +.L527: + .loc 1 121 3 is_stmt 1 view .LVU707 + movq -56(%rbp), %r12 + addq $2, %r12 + jo .L558 +.L529: + testq %rbx, %rbx + je .L531 + testb $7, %bl + jne .L531 +.L532: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L559 + movq (%rbx), %rbx +.LVL497: + .loc 1 121 3 is_stmt 0 view .LVU708 + testq %rbx, %rbx + je .L560 +.L534: + movq %r12, %rsi + movq %rbx, %rdi + call fconsume@PLT +.LVL498: + .loc 1 122 3 is_stmt 1 view .LVU709 +.L480: + .loc 1 130 1 is_stmt 0 view .LVU710 + leaq -40(%rbp), %rsp + popq %rbx + popq %r12 + popq %r13 + popq %r14 + popq %r15 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 +.LVL499: + .loc 1 130 1 view .LVU711 + ret +.LVL500: +.L553: + .cfi_restore_state + .loc 1 115 3 discriminator 1 view .LVU712 + movslq %r13d, %rsi + movl $2, %edx + leaq .Lubsan_data264(%rip), %rdi + call __ubsan_handle_sub_overflow@PLT +.LVL501: + jmp .L518 +.L554: + call __asan_report_load8@PLT +.LVL502: +.L555: + leaq .Lubsan_data83(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL503: + jmp .L521 +.L522: + .loc 1 117 7 view .LVU713 + movq %r12, %rsi + leaq .Lubsan_data261(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL504: + jmp .L523 +.L556: + movq %r12, %rsi + leaq .Lubsan_data262(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL505: + jmp .L524 +.L557: + .loc 1 118 5 discriminator 1 view .LVU714 + leaq .Lubsan_data85(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL506: + jmp .L526 +.L525: + .loc 1 120 5 is_stmt 1 view .LVU715 + .loc 1 120 28 is_stmt 0 view .LVU716 + movl $1, %edx + movl $36, %esi + movq %rbx, %rdi + call lex_ctx_create_lexeme +.LVL507: + movq %rax, %r12 + .loc 1 120 5 discriminator 1 view .LVU717 + cmpq $0, -64(%rbp) + je .L561 +.L528: + movq %r12, %rsi + movq -64(%rbp), %rdi + call array_append@PLT +.LVL508: + jmp .L527 +.L561: + leaq .Lubsan_data86(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL509: + jmp .L528 +.L558: + .loc 1 121 3 view .LVU718 + movl $2, %edx + movq -56(%rbp), %rsi + leaq .Lubsan_data265(%rip), %rdi + call __ubsan_handle_add_overflow@PLT +.LVL510: + jmp .L529 +.L531: + .loc 1 121 3 view .LVU719 + movq %rbx, %rsi + leaq .Lubsan_data263(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL511: + jmp .L532 +.L559: + .loc 1 121 3 view .LVU720 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL512: +.L560: + .loc 1 121 3 view .LVU721 + leaq .Lubsan_data87(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL513: + jmp .L534 + .cfi_endproc +.LFE58: + .size lex_ctx_consume_multicomment, .-lex_ctx_consume_multicomment + .section .rodata + .align 32 +.LC19: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming unary lexeme: BitwiseNegate\n" + .zero 51 + .align 32 +.LC20: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming unary lexeme: LeftBrace\n" + .zero 55 + .align 32 +.LC21: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming unary lexeme: RightBrace\n" + .zero 54 + .align 32 +.LC22: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming unary lexeme: LeftParen\n" + .zero 55 + .align 32 +.LC23: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming unary lexeme: RightParen\n" + .zero 54 + .align 32 +.LC24: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming unary lexeme: Semi\n" + .zero 60 + .align 32 +.LC25: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming unary lexeme: Dot\n" + .zero 61 + .align 32 +.LC26: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming binary lexeme: CONCAT (Star, Assign)\n" + .zero 42 + .align 32 +.LC27: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming binary lexeme: Star\n" + .zero 59 + .align 32 +.LC28: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming binary lexeme: CONCAT (Add, Assign)\n" + .zero 43 + .align 32 +.LC29: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming binary lexeme: Add\n" + .zero 60 + .align 32 +.LC30: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming binary lexeme: CONCAT (Minus, Assign)\n" + .zero 41 + .align 32 +.LC31: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming binary lexeme: Minus\n" + .zero 58 + .align 32 +.LC32: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming binary lexeme: CONCAT (Modulus, Assign)\n" + .zero 39 + .align 32 +.LC33: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming binary lexeme: Modulus\n" + .zero 56 + .align 32 +.LC34: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming binary lexeme: CONCAT (BitwiseXor, Assign)\n" + .zero 36 + .align 32 +.LC35: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming binary lexeme: BitwiseXor\n" + .zero 53 + .align 32 +.LC36: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming binary lexeme: CONCAT (Not, Assign)\n" + .zero 43 + .align 32 +.LC37: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming binary lexeme: Not\n" + .zero 60 + .align 32 +.LC38: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming binary lexeme: CONCAT (Assign, Assign)\n" + .zero 40 + .align 32 +.LC39: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming binary lexeme: Assign\n" + .zero 57 + .align 32 +.LC40: + .string "\033[1;37m%s:%u\033[0m: \033[1;31merror: \033[0munidentified character: '%c'\n" + .zero 62 + .text + .type lex_ctx_consume_nonliteral, @function +lex_ctx_consume_nonliteral: +.LASANPC67: +.LVL514: +.LFB67: + .loc 1 318 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 318 1 is_stmt 0 view .LVU723 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + .cfi_offset 14, -24 + .cfi_offset 13, -32 + .cfi_offset 12, -40 + .cfi_offset 3, -48 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + movq %rsi, %r12 + .loc 1 319 3 is_stmt 1 view .LVU724 + .loc 1 319 17 is_stmt 0 view .LVU725 + testq %rdi, %rdi + je .L563 + testb $7, %dil + jne .L563 +.LVL515: +.L564: + .loc 1 319 17 view .LVU726 + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L659 + movq (%rbx), %r13 + testq %r13, %r13 + je .L660 +.L566: + movl $0, %esi + movq %r13, %rdi + call fpeek@PLT +.LVL516: + movl %eax, %r13d +.LVL517: + .loc 1 320 14 view .LVU727 + testq %rbx, %rbx + je .L567 + testb $7, %bl + jne .L567 +.LVL518: +.L568: + .loc 1 320 14 view .LVU728 + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L661 + movq (%rbx), %r14 + testq %r14, %r14 + je .L662 +.L570: + movl $1, %esi + movq %r14, %rdi + call fpeek@PLT +.LVL519: + .loc 1 321 3 is_stmt 1 view .LVU729 + .loc 1 322 3 view .LVU730 + .loc 1 324 3 view .LVU731 + leal -33(%r13), %edx + cmpl $93, %edx + ja .L571 + movl %edx, %edx + leaq .L573(%rip), %rcx + movslq (%rcx,%rdx,4), %rdx + addq %rcx, %rdx + notrack jmp *%rdx + .section .rodata + .align 4 + .align 4 +.L573: + .long .L589-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L588-.L573 + .long .L587-.L573 + .long .L571-.L573 + .long .L586-.L573 + .long .L585-.L573 + .long .L584-.L573 + .long .L583-.L573 + .long .L571-.L573 + .long .L582-.L573 + .long .L581-.L573 + .long .L580-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L579-.L573 + .long .L571-.L573 + .long .L578-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L577-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L571-.L573 + .long .L576-.L573 + .long .L575-.L573 + .long .L574-.L573 + .long .L572-.L573 + .text +.LVL520: +.L563: + .loc 1 319 17 is_stmt 0 view .LVU732 + movq %rbx, %rsi +.LVL521: + .loc 1 319 17 view .LVU733 + leaq .Lubsan_data266(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL522: + jmp .L564 +.L659: + .loc 1 319 17 view .LVU734 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL523: +.L660: + .loc 1 319 17 view .LVU735 + leaq .Lubsan_data88(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL524: + jmp .L566 +.LVL525: +.L567: + .loc 1 320 14 view .LVU736 + movq %rbx, %rsi + leaq .Lubsan_data267(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL526: + .loc 1 320 14 view .LVU737 + jmp .L568 +.L661: + .loc 1 320 14 view .LVU738 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL527: +.L662: + .loc 1 320 14 view .LVU739 + leaq .Lubsan_data89(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL528: + jmp .L570 +.LVL529: +.L572: + .loc 1 326 17 is_stmt 1 view .LVU740 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL530: + .loc 1 326 17 is_stmt 0 view .LVU741 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L663 + movq stdout(%rip), %r13 +.LVL531: + .loc 1 326 17 view .LVU742 + testq %r13, %r13 + je .L664 +.L591: +.LVL532: +.LBB111: +.LBI111: + .loc 2 77 1 is_stmt 1 view .LVU743 +.LBB112: + .loc 2 79 3 view .LVU744 + .loc 2 79 10 is_stmt 0 view .LVU745 + movl $326, %r8d + leaq .LC0(%rip), %rcx + leaq .LC19(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL533: + .loc 2 79 10 view .LVU746 +.LBE112: +.LBE111: + .loc 1 326 127 is_stmt 1 discriminator 1 view .LVU747 + .loc 1 326 153 discriminator 1 view .LVU748 + .loc 1 322 12 is_stmt 0 view .LVU749 + movl $1, %r13d + .loc 1 326 136 discriminator 1 view .LVU750 + movl $34, %esi +.LVL534: +.L592: + .loc 1 391 5 is_stmt 1 view .LVU751 + .loc 1 391 30 is_stmt 0 view .LVU752 + movq %r13, %rdx + movq %rbx, %rdi + call lex_ctx_create_lexeme +.LVL535: + .loc 1 391 30 view .LVU753 + movq %rax, %r14 + .loc 1 391 5 discriminator 1 view .LVU754 + testq %r12, %r12 + je .L665 +.L648: + movq %r14, %rsi + movq %r12, %rdi + call array_append@PLT +.LVL536: + .loc 1 391 87 is_stmt 1 discriminator 2 view .LVU755 + testq %rbx, %rbx + je .L649 + testb $7, %bl + jne .L649 +.L650: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L666 + movq (%rbx), %rbx +.LVL537: + .loc 1 391 87 is_stmt 0 discriminator 2 view .LVU756 + testq %rbx, %rbx + je .L667 +.L652: + movq %r13, %rsi + movq %rbx, %rdi + call fconsume@PLT +.LVL538: + .loc 1 391 130 is_stmt 1 discriminator 1 view .LVU757 +.L562: + .loc 1 392 1 is_stmt 0 view .LVU758 + popq %rbx + popq %r12 + popq %r13 + popq %r14 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL539: +.L663: + .cfi_restore_state + .loc 1 326 17 view .LVU759 + call __asan_report_load8@PLT +.LVL540: +.L664: + .loc 1 326 17 view .LVU760 + leaq .Lubsan_data90(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL541: + jmp .L591 +.LVL542: +.L576: + .loc 1 326 159 is_stmt 1 view .LVU761 + .loc 1 327 17 view .LVU762 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL543: + .loc 1 327 17 is_stmt 0 view .LVU763 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L668 + movq stdout(%rip), %r13 +.LVL544: + .loc 1 327 17 view .LVU764 + testq %r13, %r13 + je .L669 +.L594: +.LVL545: +.LBB113: +.LBI113: + .loc 2 77 1 is_stmt 1 view .LVU765 +.LBB114: + .loc 2 79 3 view .LVU766 + .loc 2 79 10 is_stmt 0 view .LVU767 + movl $327, %r8d + leaq .LC0(%rip), %rcx + leaq .LC20(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL546: + .loc 2 79 10 view .LVU768 +.LBE114: +.LBE113: + .loc 1 327 123 is_stmt 1 discriminator 1 view .LVU769 + .loc 1 327 145 discriminator 1 view .LVU770 + .loc 1 322 12 is_stmt 0 view .LVU771 + movl $1, %r13d + .loc 1 327 132 discriminator 1 view .LVU772 + movl $7, %esi + .loc 1 327 145 view .LVU773 + jmp .L592 +.LVL547: +.L668: + .loc 1 327 17 view .LVU774 + call __asan_report_load8@PLT +.LVL548: +.L669: + .loc 1 327 17 view .LVU775 + leaq .Lubsan_data92(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL549: + jmp .L594 +.LVL550: +.L574: + .loc 1 327 151 is_stmt 1 view .LVU776 + .loc 1 328 17 view .LVU777 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL551: + .loc 1 328 17 is_stmt 0 view .LVU778 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L670 + movq stdout(%rip), %r13 +.LVL552: + .loc 1 328 17 view .LVU779 + testq %r13, %r13 + je .L671 +.L596: +.LVL553: +.LBB115: +.LBI115: + .loc 2 77 1 is_stmt 1 view .LVU780 +.LBB116: + .loc 2 79 3 view .LVU781 + .loc 2 79 10 is_stmt 0 view .LVU782 + movl $328, %r8d + leaq .LC0(%rip), %rcx + leaq .LC21(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL554: + .loc 2 79 10 view .LVU783 +.LBE116: +.LBE115: + .loc 1 328 124 is_stmt 1 discriminator 1 view .LVU784 + .loc 1 328 147 discriminator 1 view .LVU785 + .loc 1 322 12 is_stmt 0 view .LVU786 + movl $1, %r13d + .loc 1 328 133 discriminator 1 view .LVU787 + movl $8, %esi + .loc 1 328 147 view .LVU788 + jmp .L592 +.LVL555: +.L670: + .loc 1 328 17 view .LVU789 + call __asan_report_load8@PLT +.LVL556: +.L671: + .loc 1 328 17 view .LVU790 + leaq .Lubsan_data94(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL557: + jmp .L596 +.LVL558: +.L586: + .loc 1 328 153 is_stmt 1 view .LVU791 + .loc 1 329 17 view .LVU792 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL559: + .loc 1 329 17 is_stmt 0 view .LVU793 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L672 + movq stdout(%rip), %r13 +.LVL560: + .loc 1 329 17 view .LVU794 + testq %r13, %r13 + je .L673 +.L598: +.LVL561: +.LBB117: +.LBI117: + .loc 2 77 1 is_stmt 1 view .LVU795 +.LBB118: + .loc 2 79 3 view .LVU796 + .loc 2 79 10 is_stmt 0 view .LVU797 + movl $329, %r8d + leaq .LC0(%rip), %rcx + leaq .LC22(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL562: + .loc 2 79 10 view .LVU798 +.LBE118: +.LBE117: + .loc 1 329 123 is_stmt 1 discriminator 1 view .LVU799 + .loc 1 329 145 discriminator 1 view .LVU800 + .loc 1 322 12 is_stmt 0 view .LVU801 + movl $1, %r13d + .loc 1 329 132 discriminator 1 view .LVU802 + movl $5, %esi + .loc 1 329 145 view .LVU803 + jmp .L592 +.LVL563: +.L672: + .loc 1 329 17 view .LVU804 + call __asan_report_load8@PLT +.LVL564: +.L673: + .loc 1 329 17 view .LVU805 + leaq .Lubsan_data96(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL565: + jmp .L598 +.LVL566: +.L585: + .loc 1 329 151 is_stmt 1 view .LVU806 + .loc 1 330 17 view .LVU807 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL567: + .loc 1 330 17 is_stmt 0 view .LVU808 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L674 + movq stdout(%rip), %r13 +.LVL568: + .loc 1 330 17 view .LVU809 + testq %r13, %r13 + je .L675 +.L600: +.LVL569: +.LBB119: +.LBI119: + .loc 2 77 1 is_stmt 1 view .LVU810 +.LBB120: + .loc 2 79 3 view .LVU811 + .loc 2 79 10 is_stmt 0 view .LVU812 + movl $330, %r8d + leaq .LC0(%rip), %rcx + leaq .LC23(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL570: + .loc 2 79 10 view .LVU813 +.LBE120: +.LBE119: + .loc 1 330 124 is_stmt 1 discriminator 1 view .LVU814 + .loc 1 330 147 discriminator 1 view .LVU815 + .loc 1 322 12 is_stmt 0 view .LVU816 + movl $1, %r13d + .loc 1 330 133 discriminator 1 view .LVU817 + movl $6, %esi + .loc 1 330 147 view .LVU818 + jmp .L592 +.LVL571: +.L674: + .loc 1 330 17 view .LVU819 + call __asan_report_load8@PLT +.LVL572: +.L675: + .loc 1 330 17 view .LVU820 + leaq .Lubsan_data98(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL573: + jmp .L600 +.LVL574: +.L579: + .loc 1 330 153 is_stmt 1 view .LVU821 + .loc 1 331 17 view .LVU822 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL575: + .loc 1 331 17 is_stmt 0 view .LVU823 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L676 + movq stdout(%rip), %r13 +.LVL576: + .loc 1 331 17 view .LVU824 + testq %r13, %r13 + je .L677 +.L602: +.LVL577: +.LBB121: +.LBI121: + .loc 2 77 1 is_stmt 1 view .LVU825 +.LBB122: + .loc 2 79 3 view .LVU826 + .loc 2 79 10 is_stmt 0 view .LVU827 + movl $331, %r8d + leaq .LC0(%rip), %rcx + leaq .LC24(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL578: + .loc 2 79 10 view .LVU828 +.LBE122: +.LBE121: + .loc 1 331 118 is_stmt 1 discriminator 1 view .LVU829 + .loc 1 331 135 discriminator 1 view .LVU830 + .loc 1 322 12 is_stmt 0 view .LVU831 + movl $1, %r13d + .loc 1 331 127 discriminator 1 view .LVU832 + movl $37, %esi + .loc 1 331 135 view .LVU833 + jmp .L592 +.LVL579: +.L676: + .loc 1 331 17 view .LVU834 + call __asan_report_load8@PLT +.LVL580: +.L677: + .loc 1 331 17 view .LVU835 + leaq .Lubsan_data100(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL581: + jmp .L602 +.LVL582: +.L581: + .loc 1 331 141 is_stmt 1 view .LVU836 + .loc 1 332 17 view .LVU837 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL583: + .loc 1 332 17 is_stmt 0 view .LVU838 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L678 + movq stdout(%rip), %r13 +.LVL584: + .loc 1 332 17 view .LVU839 + testq %r13, %r13 + je .L679 +.L604: +.LVL585: +.LBB123: +.LBI123: + .loc 2 77 1 is_stmt 1 view .LVU840 +.LBB124: + .loc 2 79 3 view .LVU841 + .loc 2 79 10 is_stmt 0 view .LVU842 + movl $332, %r8d + leaq .LC0(%rip), %rcx + leaq .LC25(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL586: + .loc 2 79 10 view .LVU843 +.LBE124: +.LBE123: + .loc 1 332 117 is_stmt 1 discriminator 1 view .LVU844 + .loc 1 332 133 discriminator 1 view .LVU845 + .loc 1 322 12 is_stmt 0 view .LVU846 + movl $1, %r13d + .loc 1 332 126 discriminator 1 view .LVU847 + movl $9, %esi + .loc 1 332 133 view .LVU848 + jmp .L592 +.LVL587: +.L678: + .loc 1 332 17 view .LVU849 + call __asan_report_load8@PLT +.LVL588: +.L679: + .loc 1 332 17 view .LVU850 + leaq .Lubsan_data102(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL589: + jmp .L604 +.LVL590: +.L584: + .loc 1 332 139 is_stmt 1 view .LVU851 + .loc 1 334 17 view .LVU852 + .loc 1 334 34 view .LVU853 + .loc 1 334 37 is_stmt 0 view .LVU854 + cmpl $61, %eax + je .L680 + .loc 1 334 178 is_stmt 1 discriminator 2 view .LVU855 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL591: + .loc 1 334 178 is_stmt 0 discriminator 2 view .LVU856 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L681 + movq stdout(%rip), %r13 +.LVL592: + .loc 1 334 178 discriminator 2 view .LVU857 + testq %r13, %r13 + je .L682 +.L609: +.LVL593: +.LBB125: +.LBI125: + .loc 2 77 1 is_stmt 1 view .LVU858 +.LBB126: + .loc 2 79 3 view .LVU859 + .loc 2 79 10 is_stmt 0 view .LVU860 + movl $334, %r8d + leaq .LC0(%rip), %rcx + leaq .LC27(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL594: + .loc 2 79 10 view .LVU861 +.LBE126: +.LBE125: + .loc 1 322 12 view .LVU862 + movl $1, %r13d + .loc 1 334 26 view .LVU863 + movl $13, %esi +.LBB128: +.LBB127: + .loc 2 79 10 view .LVU864 + jmp .L592 +.LVL595: +.L680: + .loc 2 79 10 view .LVU865 +.LBE127: +.LBE128: + .loc 1 334 53 is_stmt 1 discriminator 1 view .LVU866 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL596: + .loc 1 334 53 is_stmt 0 discriminator 1 view .LVU867 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L683 + movq stdout(%rip), %r13 +.LVL597: + .loc 1 334 53 discriminator 1 view .LVU868 + testq %r13, %r13 + je .L684 +.L607: +.LVL598: +.LBB129: +.LBI129: + .loc 2 77 1 is_stmt 1 view .LVU869 +.LBB130: + .loc 2 79 3 view .LVU870 + .loc 2 79 10 is_stmt 0 view .LVU871 + movl $334, %r8d + leaq .LC0(%rip), %rcx + leaq .LC26(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL599: + .loc 2 79 10 view .LVU872 +.LBE130: +.LBE129: + .loc 1 334 136 is_stmt 1 discriminator 1 view .LVU873 + .loc 1 334 159 discriminator 1 view .LVU874 + .loc 1 334 165 is_stmt 0 discriminator 1 view .LVU875 + movl $2, %r13d + .loc 1 334 145 discriminator 1 view .LVU876 + movl $18, %esi + jmp .L592 +.LVL600: +.L683: + .loc 1 334 53 discriminator 1 view .LVU877 + call __asan_report_load8@PLT +.LVL601: +.L684: + .loc 1 334 53 discriminator 1 view .LVU878 + leaq .Lubsan_data104(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL602: + jmp .L607 +.LVL603: +.L681: + .loc 1 334 178 discriminator 2 view .LVU879 + call __asan_report_load8@PLT +.LVL604: +.L682: + .loc 1 334 178 discriminator 2 view .LVU880 + leaq .Lubsan_data106(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL605: + jmp .L609 +.LVL606: +.L583: + .loc 1 334 127 is_stmt 1 view .LVU881 + .loc 1 335 17 view .LVU882 + .loc 1 335 33 view .LVU883 + .loc 1 335 36 is_stmt 0 view .LVU884 + cmpl $61, %eax + je .L685 + .loc 1 335 176 is_stmt 1 discriminator 2 view .LVU885 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL607: + .loc 1 335 176 is_stmt 0 discriminator 2 view .LVU886 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L686 + movq stdout(%rip), %r13 +.LVL608: + .loc 1 335 176 discriminator 2 view .LVU887 + testq %r13, %r13 + je .L687 +.L614: +.LVL609: +.LBB131: +.LBI131: + .loc 2 77 1 is_stmt 1 view .LVU888 +.LBB132: + .loc 2 79 3 view .LVU889 + .loc 2 79 10 is_stmt 0 view .LVU890 + movl $335, %r8d + leaq .LC0(%rip), %rcx + leaq .LC29(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL610: + .loc 2 79 10 view .LVU891 +.LBE132: +.LBE131: + .loc 1 322 12 view .LVU892 + movl $1, %r13d + .loc 1 335 26 view .LVU893 + movl $10, %esi +.LBB134: +.LBB133: + .loc 2 79 10 view .LVU894 + jmp .L592 +.LVL611: +.L685: + .loc 2 79 10 view .LVU895 +.LBE133: +.LBE134: + .loc 1 335 52 is_stmt 1 discriminator 1 view .LVU896 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL612: + .loc 1 335 52 is_stmt 0 discriminator 1 view .LVU897 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L688 + movq stdout(%rip), %r13 +.LVL613: + .loc 1 335 52 discriminator 1 view .LVU898 + testq %r13, %r13 + je .L689 +.L612: +.LVL614: +.LBB135: +.LBI135: + .loc 2 77 1 is_stmt 1 view .LVU899 +.LBB136: + .loc 2 79 3 view .LVU900 + .loc 2 79 10 is_stmt 0 view .LVU901 + movl $335, %r8d + leaq .LC0(%rip), %rcx + leaq .LC28(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL615: + .loc 2 79 10 view .LVU902 +.LBE136: +.LBE135: + .loc 1 335 135 is_stmt 1 discriminator 1 view .LVU903 + .loc 1 335 157 discriminator 1 view .LVU904 + .loc 1 335 163 is_stmt 0 discriminator 1 view .LVU905 + movl $2, %r13d + .loc 1 335 144 discriminator 1 view .LVU906 + movl $15, %esi + jmp .L592 +.LVL616: +.L688: + .loc 1 335 52 discriminator 1 view .LVU907 + call __asan_report_load8@PLT +.LVL617: +.L689: + .loc 1 335 52 discriminator 1 view .LVU908 + leaq .Lubsan_data108(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL618: + jmp .L612 +.LVL619: +.L686: + .loc 1 335 176 discriminator 2 view .LVU909 + call __asan_report_load8@PLT +.LVL620: +.L687: + .loc 1 335 176 discriminator 2 view .LVU910 + leaq .Lubsan_data110(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL621: + jmp .L614 +.LVL622: +.L582: + .loc 1 335 126 is_stmt 1 view .LVU911 + .loc 1 336 17 view .LVU912 + .loc 1 336 35 view .LVU913 + .loc 1 336 38 is_stmt 0 view .LVU914 + cmpl $61, %eax + je .L690 + .loc 1 336 180 is_stmt 1 discriminator 2 view .LVU915 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL623: + .loc 1 336 180 is_stmt 0 discriminator 2 view .LVU916 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L691 + movq stdout(%rip), %r13 +.LVL624: + .loc 1 336 180 discriminator 2 view .LVU917 + testq %r13, %r13 + je .L692 +.L619: +.LVL625: +.LBB137: +.LBI137: + .loc 2 77 1 is_stmt 1 view .LVU918 +.LBB138: + .loc 2 79 3 view .LVU919 + .loc 2 79 10 is_stmt 0 view .LVU920 + movl $336, %r8d + leaq .LC0(%rip), %rcx + leaq .LC31(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL626: + .loc 2 79 10 view .LVU921 +.LBE138: +.LBE137: + .loc 1 322 12 view .LVU922 + movl $1, %r13d + .loc 1 336 26 view .LVU923 + movl $11, %esi +.LBB140: +.LBB139: + .loc 2 79 10 view .LVU924 + jmp .L592 +.LVL627: +.L690: + .loc 2 79 10 view .LVU925 +.LBE139: +.LBE140: + .loc 1 336 54 is_stmt 1 discriminator 1 view .LVU926 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL628: + .loc 1 336 54 is_stmt 0 discriminator 1 view .LVU927 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L693 + movq stdout(%rip), %r13 +.LVL629: + .loc 1 336 54 discriminator 1 view .LVU928 + testq %r13, %r13 + je .L694 +.L617: +.LVL630: +.LBB141: +.LBI141: + .loc 2 77 1 is_stmt 1 view .LVU929 +.LBB142: + .loc 2 79 3 view .LVU930 + .loc 2 79 10 is_stmt 0 view .LVU931 + movl $336, %r8d + leaq .LC0(%rip), %rcx + leaq .LC30(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL631: + .loc 2 79 10 view .LVU932 +.LBE142: +.LBE141: + .loc 1 336 137 is_stmt 1 discriminator 1 view .LVU933 + .loc 1 336 161 discriminator 1 view .LVU934 + .loc 1 336 167 is_stmt 0 discriminator 1 view .LVU935 + movl $2, %r13d + .loc 1 336 146 discriminator 1 view .LVU936 + movl $16, %esi + jmp .L592 +.LVL632: +.L693: + .loc 1 336 54 discriminator 1 view .LVU937 + call __asan_report_load8@PLT +.LVL633: +.L694: + .loc 1 336 54 discriminator 1 view .LVU938 + leaq .Lubsan_data112(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL634: + jmp .L617 +.LVL635: +.L691: + .loc 1 336 180 discriminator 2 view .LVU939 + call __asan_report_load8@PLT +.LVL636: +.L692: + .loc 1 336 180 discriminator 2 view .LVU940 + leaq .Lubsan_data114(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL637: + jmp .L619 +.LVL638: +.L588: + .loc 1 336 128 is_stmt 1 view .LVU941 + .loc 1 337 17 view .LVU942 + .loc 1 337 37 view .LVU943 + .loc 1 337 40 is_stmt 0 view .LVU944 + cmpl $61, %eax + je .L695 + .loc 1 337 184 is_stmt 1 discriminator 2 view .LVU945 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL639: + .loc 1 337 184 is_stmt 0 discriminator 2 view .LVU946 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L696 + movq stdout(%rip), %r13 +.LVL640: + .loc 1 337 184 discriminator 2 view .LVU947 + testq %r13, %r13 + je .L697 +.L624: +.LVL641: +.LBB143: +.LBI143: + .loc 2 77 1 is_stmt 1 view .LVU948 +.LBB144: + .loc 2 79 3 view .LVU949 + .loc 2 79 10 is_stmt 0 view .LVU950 + movl $337, %r8d + leaq .LC0(%rip), %rcx + leaq .LC33(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL642: + .loc 2 79 10 view .LVU951 +.LBE144: +.LBE143: + .loc 1 322 12 view .LVU952 + movl $1, %r13d + .loc 1 337 26 view .LVU953 + movl $14, %esi +.LBB146: +.LBB145: + .loc 2 79 10 view .LVU954 + jmp .L592 +.LVL643: +.L695: + .loc 2 79 10 view .LVU955 +.LBE145: +.LBE146: + .loc 1 337 56 is_stmt 1 discriminator 1 view .LVU956 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL644: + .loc 1 337 56 is_stmt 0 discriminator 1 view .LVU957 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L698 + movq stdout(%rip), %r13 +.LVL645: + .loc 1 337 56 discriminator 1 view .LVU958 + testq %r13, %r13 + je .L699 +.L622: +.LVL646: +.LBB147: +.LBI147: + .loc 2 77 1 is_stmt 1 view .LVU959 +.LBB148: + .loc 2 79 3 view .LVU960 + .loc 2 79 10 is_stmt 0 view .LVU961 + movl $337, %r8d + leaq .LC0(%rip), %rcx + leaq .LC32(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL647: + .loc 2 79 10 view .LVU962 +.LBE148: +.LBE147: + .loc 1 337 139 is_stmt 1 discriminator 1 view .LVU963 + .loc 1 337 165 discriminator 1 view .LVU964 + .loc 1 337 171 is_stmt 0 discriminator 1 view .LVU965 + movl $2, %r13d + .loc 1 337 148 discriminator 1 view .LVU966 + movl $19, %esi + jmp .L592 +.LVL648: +.L698: + .loc 1 337 56 discriminator 1 view .LVU967 + call __asan_report_load8@PLT +.LVL649: +.L699: + .loc 1 337 56 discriminator 1 view .LVU968 + leaq .Lubsan_data116(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL650: + jmp .L622 +.LVL651: +.L696: + .loc 1 337 184 discriminator 2 view .LVU969 + call __asan_report_load8@PLT +.LVL652: +.L697: + .loc 1 337 184 discriminator 2 view .LVU970 + leaq .Lubsan_data118(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL653: + jmp .L624 +.LVL654: +.L577: + .loc 1 337 130 is_stmt 1 view .LVU971 + .loc 1 338 17 view .LVU972 + .loc 1 338 40 view .LVU973 + .loc 1 338 43 is_stmt 0 view .LVU974 + cmpl $61, %eax + je .L700 + .loc 1 338 190 is_stmt 1 discriminator 2 view .LVU975 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL655: + .loc 1 338 190 is_stmt 0 discriminator 2 view .LVU976 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L701 + movq stdout(%rip), %r13 +.LVL656: + .loc 1 338 190 discriminator 2 view .LVU977 + testq %r13, %r13 + je .L702 +.L629: +.LVL657: +.LBB149: +.LBI149: + .loc 2 77 1 is_stmt 1 view .LVU978 +.LBB150: + .loc 2 79 3 view .LVU979 + .loc 2 79 10 is_stmt 0 view .LVU980 + movl $338, %r8d + leaq .LC0(%rip), %rcx + leaq .LC35(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL658: + .loc 2 79 10 view .LVU981 +.LBE150: +.LBE149: + .loc 1 322 12 view .LVU982 + movl $1, %r13d + .loc 1 338 26 view .LVU983 + movl $30, %esi +.LBB152: +.LBB151: + .loc 2 79 10 view .LVU984 + jmp .L592 +.LVL659: +.L700: + .loc 2 79 10 view .LVU985 +.LBE151: +.LBE152: + .loc 1 338 59 is_stmt 1 discriminator 1 view .LVU986 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL660: + .loc 1 338 59 is_stmt 0 discriminator 1 view .LVU987 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L703 + movq stdout(%rip), %r13 +.LVL661: + .loc 1 338 59 discriminator 1 view .LVU988 + testq %r13, %r13 + je .L704 +.L627: +.LVL662: +.LBB153: +.LBI153: + .loc 2 77 1 is_stmt 1 view .LVU989 +.LBB154: + .loc 2 79 3 view .LVU990 + .loc 2 79 10 is_stmt 0 view .LVU991 + movl $338, %r8d + leaq .LC0(%rip), %rcx + leaq .LC34(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL663: + .loc 2 79 10 view .LVU992 +.LBE154: +.LBE153: + .loc 1 338 142 is_stmt 1 discriminator 1 view .LVU993 + .loc 1 338 171 discriminator 1 view .LVU994 + .loc 1 338 177 is_stmt 0 discriminator 1 view .LVU995 + movl $2, %r13d + .loc 1 338 151 discriminator 1 view .LVU996 + movl $33, %esi + jmp .L592 +.LVL664: +.L703: + .loc 1 338 59 discriminator 1 view .LVU997 + call __asan_report_load8@PLT +.LVL665: +.L704: + .loc 1 338 59 discriminator 1 view .LVU998 + leaq .Lubsan_data120(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL666: + jmp .L627 +.LVL667: +.L701: + .loc 1 338 190 discriminator 2 view .LVU999 + call __asan_report_load8@PLT +.LVL668: +.L702: + .loc 1 338 190 discriminator 2 view .LVU1000 + leaq .Lubsan_data122(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL669: + jmp .L629 +.LVL670: +.L589: + .loc 1 338 133 is_stmt 1 view .LVU1001 + .loc 1 339 17 view .LVU1002 + .loc 1 339 33 view .LVU1003 + .loc 1 339 36 is_stmt 0 view .LVU1004 + cmpl $61, %eax + je .L705 + .loc 1 339 176 is_stmt 1 discriminator 2 view .LVU1005 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL671: + .loc 1 339 176 is_stmt 0 discriminator 2 view .LVU1006 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L706 + movq stdout(%rip), %r13 +.LVL672: + .loc 1 339 176 discriminator 2 view .LVU1007 + testq %r13, %r13 + je .L707 +.L634: +.LVL673: +.LBB155: +.LBI155: + .loc 2 77 1 is_stmt 1 view .LVU1008 +.LBB156: + .loc 2 79 3 view .LVU1009 + .loc 2 79 10 is_stmt 0 view .LVU1010 + movl $339, %r8d + leaq .LC0(%rip), %rcx + leaq .LC37(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL674: + .loc 2 79 10 view .LVU1011 +.LBE156: +.LBE155: + .loc 1 322 12 view .LVU1012 + movl $1, %r13d + .loc 1 339 26 view .LVU1013 + movl $26, %esi +.LBB158: +.LBB157: + .loc 2 79 10 view .LVU1014 + jmp .L592 +.LVL675: +.L705: + .loc 2 79 10 view .LVU1015 +.LBE157: +.LBE158: + .loc 1 339 52 is_stmt 1 discriminator 1 view .LVU1016 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL676: + .loc 1 339 52 is_stmt 0 discriminator 1 view .LVU1017 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L708 + movq stdout(%rip), %r13 +.LVL677: + .loc 1 339 52 discriminator 1 view .LVU1018 + testq %r13, %r13 + je .L709 +.L632: +.LVL678: +.LBB159: +.LBI159: + .loc 2 77 1 is_stmt 1 view .LVU1019 +.LBB160: + .loc 2 79 3 view .LVU1020 + .loc 2 79 10 is_stmt 0 view .LVU1021 + movl $339, %r8d + leaq .LC0(%rip), %rcx + leaq .LC36(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL679: + .loc 2 79 10 view .LVU1022 +.LBE160: +.LBE159: + .loc 1 339 135 is_stmt 1 discriminator 1 view .LVU1023 + .loc 1 339 157 discriminator 1 view .LVU1024 + .loc 1 339 163 is_stmt 0 discriminator 1 view .LVU1025 + movl $2, %r13d + .loc 1 339 144 discriminator 1 view .LVU1026 + movl $27, %esi + jmp .L592 +.LVL680: +.L708: + .loc 1 339 52 discriminator 1 view .LVU1027 + call __asan_report_load8@PLT +.LVL681: +.L709: + .loc 1 339 52 discriminator 1 view .LVU1028 + leaq .Lubsan_data124(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL682: + jmp .L632 +.LVL683: +.L706: + .loc 1 339 176 discriminator 2 view .LVU1029 + call __asan_report_load8@PLT +.LVL684: +.L707: + .loc 1 339 176 discriminator 2 view .LVU1030 + leaq .Lubsan_data126(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL685: + jmp .L634 +.LVL686: +.L578: + .loc 1 339 126 is_stmt 1 view .LVU1031 + .loc 1 340 17 view .LVU1032 + .loc 1 340 36 view .LVU1033 + .loc 1 340 39 is_stmt 0 view .LVU1034 + cmpl $61, %eax + je .L710 + .loc 1 340 182 is_stmt 1 discriminator 2 view .LVU1035 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL687: + .loc 1 340 182 is_stmt 0 discriminator 2 view .LVU1036 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L711 + movq stdout(%rip), %r13 +.LVL688: + .loc 1 340 182 discriminator 2 view .LVU1037 + testq %r13, %r13 + je .L712 +.L639: +.LVL689: +.LBB161: +.LBI161: + .loc 2 77 1 is_stmt 1 view .LVU1038 +.LBB162: + .loc 2 79 3 view .LVU1039 + .loc 2 79 10 is_stmt 0 view .LVU1040 + movl $340, %r8d + leaq .LC0(%rip), %rcx + leaq .LC39(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL690: + .loc 2 79 10 view .LVU1041 +.LBE162: +.LBE161: + .loc 1 322 12 view .LVU1042 + movl $1, %r13d + .loc 1 340 26 view .LVU1043 + movl $24, %esi +.LBB164: +.LBB163: + .loc 2 79 10 view .LVU1044 + jmp .L592 +.LVL691: +.L710: + .loc 2 79 10 view .LVU1045 +.LBE163: +.LBE164: + .loc 1 340 55 is_stmt 1 discriminator 1 view .LVU1046 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL692: + .loc 1 340 55 is_stmt 0 discriminator 1 view .LVU1047 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L713 + movq stdout(%rip), %r13 +.LVL693: + .loc 1 340 55 discriminator 1 view .LVU1048 + testq %r13, %r13 + je .L714 +.L637: +.LVL694: +.LBB165: +.LBI165: + .loc 2 77 1 is_stmt 1 view .LVU1049 +.LBB166: + .loc 2 79 3 view .LVU1050 + .loc 2 79 10 is_stmt 0 view .LVU1051 + movl $340, %r8d + leaq .LC0(%rip), %rcx + leaq .LC38(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL695: + .loc 2 79 10 view .LVU1052 +.LBE166: +.LBE165: + .loc 1 340 138 is_stmt 1 discriminator 1 view .LVU1053 + .loc 1 340 163 discriminator 1 view .LVU1054 + .loc 1 340 169 is_stmt 0 discriminator 1 view .LVU1055 + movl $2, %r13d + .loc 1 340 147 discriminator 1 view .LVU1056 + movl $25, %esi + jmp .L592 +.LVL696: +.L713: + .loc 1 340 55 discriminator 1 view .LVU1057 + call __asan_report_load8@PLT +.LVL697: +.L714: + .loc 1 340 55 discriminator 1 view .LVU1058 + leaq .Lubsan_data128(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL698: + jmp .L637 +.LVL699: +.L711: + .loc 1 340 182 discriminator 2 view .LVU1059 + call __asan_report_load8@PLT +.LVL700: +.L712: + .loc 1 340 182 discriminator 2 view .LVU1060 + leaq .Lubsan_data130(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL701: + jmp .L639 +.LVL702: +.L580: + .loc 1 340 129 is_stmt 1 view .LVU1061 + .loc 1 343 7 view .LVU1062 + .loc 1 344 7 view .LVU1063 + .loc 1 344 10 is_stmt 0 view .LVU1064 + cmpl $61, %eax + je .L653 + .loc 1 349 12 is_stmt 1 view .LVU1065 + .loc 1 349 15 is_stmt 0 view .LVU1066 + cmpl $42, %eax + je .L715 + .loc 1 354 12 is_stmt 1 view .LVU1067 + .loc 1 354 15 is_stmt 0 view .LVU1068 + cmpl $47, %eax + je .L716 + .loc 1 322 12 view .LVU1069 + movl $1, %r13d +.LVL703: + .loc 1 343 16 view .LVU1070 + movl $12, %esi + jmp .L592 +.LVL704: +.L715: + .loc 1 351 11 is_stmt 1 view .LVU1071 + movq %r12, %rsi + movq %rbx, %rdi + call lex_ctx_consume_multicomment +.LVL705: + .loc 1 352 11 view .LVU1072 + jmp .L562 +.LVL706: +.L716: + .loc 1 356 11 view .LVU1073 + movq %r12, %rsi + movq %rbx, %rdi + call lex_ctx_consume_comment +.LVL707: + .loc 1 357 11 view .LVU1074 + jmp .L562 +.LVL708: +.L575: + .loc 1 361 7 view .LVU1075 + .loc 1 362 7 view .LVU1076 + .loc 1 362 10 is_stmt 0 view .LVU1077 + cmpl $124, %eax + je .L655 + .loc 1 367 12 is_stmt 1 view .LVU1078 + .loc 1 367 15 is_stmt 0 view .LVU1079 + cmpl $61, %eax + je .L656 + .loc 1 322 12 view .LVU1080 + movl $1, %r13d +.LVL709: + .loc 1 361 16 view .LVU1081 + movl $28, %esi + jmp .L592 +.LVL710: +.L587: + .loc 1 374 7 is_stmt 1 view .LVU1082 + .loc 1 375 7 view .LVU1083 + .loc 1 375 10 is_stmt 0 view .LVU1084 + cmpl $38, %eax + je .L657 + .loc 1 380 12 is_stmt 1 view .LVU1085 + .loc 1 380 15 is_stmt 0 view .LVU1086 + cmpl $61, %eax + je .L658 + .loc 1 322 12 view .LVU1087 + movl $1, %r13d +.LVL711: + .loc 1 374 16 view .LVU1088 + movl $29, %esi + jmp .L592 +.LVL712: +.L571: + .loc 1 387 7 is_stmt 1 view .LVU1089 + leaq stderr(%rip), %rdi + movq %rdi, %rax +.LVL713: + .loc 1 387 7 is_stmt 0 view .LVU1090 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L717 + movq stderr(%rip), %r12 +.LVL714: + .loc 1 387 7 view .LVU1091 + testq %r12, %r12 + je .L718 +.L643: +.LVL715: +.LBB167: +.LBI167: + .loc 2 77 1 is_stmt 1 view .LVU1092 +.LBB168: + .loc 2 79 3 view .LVU1093 + .loc 2 79 10 is_stmt 0 view .LVU1094 + movl %r13d, %r9d + movl $387, %r8d + leaq .LC0(%rip), %rcx + leaq .LC40(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL716: + .loc 2 79 10 view .LVU1095 +.LBE168: +.LBE167: + .loc 1 388 7 is_stmt 1 view .LVU1096 + testq %rbx, %rbx + je .L644 + testb $7, %bl + jne .L644 +.L645: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L719 + movq (%rbx), %rbx +.LVL717: + .loc 1 388 7 is_stmt 0 view .LVU1097 + testq %rbx, %rbx + je .L720 +.L647: + movl $1, %esi + movq %rbx, %rdi + call fconsume@PLT +.LVL718: + .loc 1 389 7 is_stmt 1 view .LVU1098 + jmp .L562 +.LVL719: +.L717: + .loc 1 387 7 is_stmt 0 view .LVU1099 + call __asan_report_load8@PLT +.LVL720: +.L718: + .loc 1 387 7 view .LVU1100 + leaq .Lubsan_data132(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL721: + jmp .L643 +.L644: + .loc 1 388 7 view .LVU1101 + movq %rbx, %rsi + leaq .Lubsan_data268(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL722: + jmp .L645 +.L719: + .loc 1 388 7 view .LVU1102 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL723: +.L720: + .loc 1 388 7 view .LVU1103 + leaq .Lubsan_data134(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL724: + jmp .L647 +.LVL725: +.L653: + .loc 1 347 17 view .LVU1104 + movl $2, %r13d +.LVL726: + .loc 1 346 20 view .LVU1105 + movl $17, %esi + jmp .L592 +.LVL727: +.L655: + .loc 1 365 17 view .LVU1106 + movl $2, %r13d +.LVL728: + .loc 1 364 20 view .LVU1107 + movl $22, %esi + jmp .L592 +.LVL729: +.L656: + .loc 1 370 17 view .LVU1108 + movl $2, %r13d +.LVL730: + .loc 1 369 20 view .LVU1109 + movl $31, %esi + jmp .L592 +.LVL731: +.L657: + .loc 1 378 17 view .LVU1110 + movl $2, %r13d +.LVL732: + .loc 1 377 20 view .LVU1111 + movl $23, %esi + jmp .L592 +.LVL733: +.L658: + .loc 1 383 17 view .LVU1112 + movl $2, %r13d +.LVL734: + .loc 1 382 20 view .LVU1113 + movl $32, %esi + jmp .L592 +.LVL735: +.L665: + .loc 1 391 5 discriminator 1 view .LVU1114 + leaq .Lubsan_data135(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL736: + jmp .L648 +.L649: + .loc 1 391 87 discriminator 2 view .LVU1115 + movq %rbx, %rsi + leaq .Lubsan_data269(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL737: + jmp .L650 +.L666: + .loc 1 391 87 discriminator 2 view .LVU1116 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL738: +.L667: + .loc 1 391 87 discriminator 2 view .LVU1117 + leaq .Lubsan_data136(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL739: + jmp .L652 + .cfi_endproc +.LFE67: + .size lex_ctx_consume_nonliteral, .-lex_ctx_consume_nonliteral + .section .rodata + .align 32 +.LC41: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mconsuming \"identifier\": \"%.*s\"\n" + .zero 58 + .text + .type lex_ctx_consume_identifier, @function +lex_ctx_consume_identifier: +.LASANPC62: +.LVL740: +.LFB62: + .loc 1 188 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 188 1 is_stmt 0 view .LVU1119 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $24, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + movq %rsi, -56(%rbp) + .loc 1 189 3 is_stmt 1 view .LVU1120 +.LVL741: + .loc 1 189 24 view .LVU1121 + .loc 1 189 37 discriminator 1 view .LVU1122 + .loc 1 189 12 is_stmt 0 view .LVU1123 + movl $0, %r12d + .loc 1 189 43 view .LVU1124 + jmp .L722 +.LVL742: +.L749: + .loc 1 193 5 is_stmt 1 view .LVU1125 + .loc 1 193 11 is_stmt 0 view .LVU1126 + addq $1, %r12 +.LVL743: +.L722: + .loc 1 189 96 is_stmt 1 discriminator 1 view .LVU1127 + .loc 1 189 57 is_stmt 0 discriminator 1 view .LVU1128 + movq %r12, %r13 + testq %rbx, %rbx + je .L724 + testb $7, %bl + jne .L724 +.L725: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L747 + movq (%rbx), %r14 + testq %r14, %r14 + je .L748 +.L727: + movq %r13, %rsi + movq %r14, %rdi + call fpeek@PLT +.LVL744: + movl %eax, %edi +.LVL745: + .loc 1 189 96 discriminator 1 view .LVU1129 + testl %eax, %eax + jle .L723 + .loc 1 191 5 is_stmt 1 view .LVU1130 + .loc 1 191 10 is_stmt 0 view .LVU1131 + call isident@PLT +.LVL746: + .loc 1 191 8 discriminator 1 view .LVU1132 + testl %eax, %eax + jne .L749 +.L723: + .loc 1 195 3 is_stmt 1 view .LVU1133 + .loc 1 195 151 is_stmt 0 view .LVU1134 + testq %rbx, %rbx + je .L729 + testb $7, %bl + jne .L729 +.L730: + leaq 8(%rbx), %rdx + cmpq $-8, %rbx + jnb .L750 +.L731: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L751 + movq 8(%rbx), %r15 + .loc 1 195 162 view .LVU1135 + testq %rbx, %rbx + je .L733 + testb $7, %bl + jne .L733 +.L734: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L752 + movq (%rbx), %r14 + testq %r14, %r14 + je .L753 +.L736: + movq %r14, %rdi + call ftell@PLT +.LVL747: + movq %rax, %r14 + .loc 1 195 3 discriminator 1 view .LVU1136 + leaq (%r15,%rax), %rdx + testq %rax, %rax + js .L737 + cmpq %r15, %rdx + jnb .L738 +.L739: + movq %r15, %rsi + leaq .Lubsan_data274(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL748: + jmp .L738 +.LVL749: +.L724: + .loc 1 189 57 discriminator 1 view .LVU1137 + movq %rbx, %rsi + leaq .Lubsan_data270(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL750: + jmp .L725 +.L747: + .loc 1 189 57 discriminator 1 view .LVU1138 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL751: +.L748: + .loc 1 189 57 discriminator 1 view .LVU1139 + leaq .Lubsan_data137(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL752: + jmp .L727 +.LVL753: +.L729: + .loc 1 195 151 view .LVU1140 + movq %rbx, %rsi + leaq .Lubsan_data271(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL754: + jmp .L730 +.L750: + .loc 1 195 151 view .LVU1141 + movq %rbx, %rsi + leaq .Lubsan_data272(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL755: + jmp .L731 +.L751: + .loc 1 195 151 view .LVU1142 + call __asan_report_load8@PLT +.LVL756: +.L733: + .loc 1 195 162 view .LVU1143 + movq %rbx, %rsi + leaq .Lubsan_data273(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL757: + jmp .L734 +.L752: + .loc 1 195 162 view .LVU1144 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL758: +.L753: + .loc 1 195 162 view .LVU1145 + leaq .Lubsan_data138(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL759: + jmp .L736 +.L737: + .loc 1 195 3 discriminator 1 view .LVU1146 + cmpq %rdx, %r15 + jb .L739 +.L738: + addq %r15, %r14 + movl %r12d, -60(%rbp) + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L754 + movq stdout(%rip), %r15 + testq %r15, %r15 + je .L755 +.L741: +.LVL760: +.LBB169: +.LBI169: + .loc 2 77 1 is_stmt 1 view .LVU1147 +.LBB170: + .loc 2 79 3 view .LVU1148 + .loc 2 79 10 is_stmt 0 view .LVU1149 + subq $8, %rsp + pushq %r14 + movl -60(%rbp), %r9d + movl $195, %r8d + leaq .LC0(%rip), %rcx + leaq .LC41(%rip), %rdx + movl $2, %esi + movq %r15, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL761: + .loc 2 79 10 view .LVU1150 +.LBE170: +.LBE169: + .loc 1 195 191 is_stmt 1 discriminator 2 view .LVU1151 + .loc 1 196 5 view .LVU1152 + .loc 1 196 30 is_stmt 0 view .LVU1153 + movq %r12, %rdx + movl $4, %esi + movq %rbx, %rdi + call lex_ctx_create_lexeme +.LVL762: + movq %rax, %r12 +.LVL763: + .loc 1 196 5 discriminator 1 view .LVU1154 + addq $16, %rsp + cmpq $0, -56(%rbp) + je .L756 +.L742: + movq %r12, %rsi + movq -56(%rbp), %rdi + call array_append@PLT +.LVL764: + .loc 1 196 89 is_stmt 1 discriminator 2 view .LVU1155 + testq %rbx, %rbx + je .L743 + testb $7, %bl + jne .L743 +.L744: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L757 + movq (%rbx), %rbx +.LVL765: + .loc 1 196 89 is_stmt 0 discriminator 2 view .LVU1156 + testq %rbx, %rbx + je .L758 +.L746: + movq %r13, %rsi + movq %rbx, %rdi + call fconsume@PLT +.LVL766: + .loc 1 196 132 is_stmt 1 discriminator 3 view .LVU1157 + .loc 1 197 1 is_stmt 0 view .LVU1158 + leaq -40(%rbp), %rsp + popq %rbx + popq %r12 + popq %r13 +.LVL767: + .loc 1 197 1 view .LVU1159 + popq %r14 + popq %r15 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 +.LVL768: + .loc 1 197 1 view .LVU1160 + ret +.LVL769: +.L754: + .cfi_restore_state + .loc 1 195 3 discriminator 1 view .LVU1161 + call __asan_report_load8@PLT +.LVL770: +.L755: + leaq .Lubsan_data139(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL771: + jmp .L741 +.LVL772: +.L756: + .loc 1 196 5 discriminator 1 view .LVU1162 + leaq .Lubsan_data141(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL773: + jmp .L742 +.L743: + .loc 1 196 89 discriminator 2 view .LVU1163 + movq %rbx, %rsi + leaq .Lubsan_data275(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL774: + jmp .L744 +.L757: + .loc 1 196 89 discriminator 2 view .LVU1164 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL775: +.L758: + .loc 1 196 89 discriminator 2 view .LVU1165 + leaq .Lubsan_data142(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL776: + jmp .L746 + .cfi_endproc +.LFE62: + .size lex_ctx_consume_identifier, .-lex_ctx_consume_identifier + .section .rodata + .align 32 +.LC42: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0mconsumed end of file\n" + .zero 35 + .align 32 +.LC43: + .string "\033[1;37m%s:%u\033[0m: \033[1;36mminutiae: \033[0mconsumed end of line\n" + .zero 35 + .align 32 +.LC44: + .string "\033[1;37m%s:%u\033[0m: \033[0;34mlog: \033[0mLexed %zu lexemes from \"%s\"\n" + .zero 33 + .text + .type lex_ctx_process_impl, @function +lex_ctx_process_impl: +.LASANPC68: +.LVL777: +.LFB68: + .loc 1 397 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 397 1 is_stmt 0 view .LVU1167 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $24, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, -56(%rbp) + movq %rsi, %rbx + .loc 1 398 17 is_stmt 1 view .LVU1168 + .loc 1 398 39 is_stmt 0 view .LVU1169 + call array_new@PLT +.LVL778: + .loc 1 398 39 view .LVU1170 + movq %rax, %r14 +.LVL779: + .loc 1 399 3 is_stmt 1 view .LVU1171 + .loc 1 399 19 is_stmt 0 view .LVU1172 + testq %rbx, %rbx + je .L760 + testb $7, %bl + jne .L760 +.LVL780: +.L761: + .loc 1 399 19 view .LVU1173 + leaq 16(%rbx), %rdx + cmpq $-16, %rbx + jnb .L830 +.L762: + leaq 16(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L831 + movq 16(%rbx), %rdx + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L832 + movq 8(%rbx), %rsi + movq g_comp_args(%rip), %rdi + call diagn_new@PLT +.LVL781: + .loc 1 399 17 discriminator 1 view .LVU1174 + movq %rax, g_diagnostics(%rip) + .loc 1 400 2 is_stmt 1 view .LVU1175 +.LVL782: + .loc 1 401 3 view .LVU1176 + .loc 1 400 7 is_stmt 0 view .LVU1177 + movl $0, %r15d + .loc 1 401 9 view .LVU1178 + jmp .L765 +.LVL783: +.L760: + .loc 1 399 19 view .LVU1179 + movq %rbx, %rsi + leaq .Lubsan_data276(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL784: + .loc 1 399 19 view .LVU1180 + jmp .L761 +.L830: + .loc 1 399 19 view .LVU1181 + movq %rbx, %rsi + leaq .Lubsan_data277(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL785: + jmp .L762 +.L831: + .loc 1 399 19 view .LVU1182 + call __asan_report_load8@PLT +.LVL786: +.L832: + call __asan_report_load8@PLT +.LVL787: +.L766: +.LBB171: + .loc 1 403 51 view .LVU1183 + movq %rbx, %rsi + leaq .Lubsan_data278(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL788: + jmp .L767 +.L838: + .loc 1 403 51 view .LVU1184 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL789: +.L839: + .loc 1 403 51 view .LVU1185 + leaq .Lubsan_data143(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL790: + jmp .L769 +.LVL791: +.L770: + .loc 1 404 48 view .LVU1186 + movq %rbx, %rsi + leaq .Lubsan_data279(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL792: + jmp .L771 +.L840: + .loc 1 404 48 view .LVU1187 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL793: +.L841: + .loc 1 404 48 view .LVU1188 + leaq .Lubsan_data144(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL794: + jmp .L773 +.LVL795: +.L774: + .loc 1 409 11 is_stmt 1 view .LVU1189 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL796: + .loc 1 409 11 is_stmt 0 view .LVU1190 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L833 + movq stdout(%rip), %r12 +.LVL797: + .loc 1 409 11 view .LVU1191 + testq %r12, %r12 + je .L834 +.L783: +.LVL798: +.LBB172: +.LBI172: + .loc 2 77 1 is_stmt 1 view .LVU1192 +.LBB173: + .loc 2 79 3 view .LVU1193 + .loc 2 79 10 is_stmt 0 view .LVU1194 + movl $409, %r8d + leaq .LC0(%rip), %rcx + leaq .LC42(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL799: + .loc 2 79 10 view .LVU1195 +.LBE173: +.LBE172: + .loc 1 410 11 is_stmt 1 view .LVU1196 + .loc 1 410 34 is_stmt 0 view .LVU1197 + movl $0, %edx + movl $38, %esi + movq %rbx, %rdi + call lex_ctx_create_lexeme +.LVL800: + movq %rax, %r12 + .loc 1 410 11 discriminator 1 view .LVU1198 + testq %r14, %r14 + je .L835 +.L784: + movq %r12, %rsi + movq %r14, %rdi + call array_append@PLT +.LVL801: + .loc 1 411 11 is_stmt 1 view .LVU1199 + .loc 1 412 11 view .LVU1200 + .loc 1 411 23 is_stmt 0 view .LVU1201 + movl $1, %r15d +.LVL802: +.L765: + .loc 1 411 23 view .LVU1202 +.LBE171: + .loc 1 401 30 is_stmt 1 view .LVU1203 + .loc 1 401 11 is_stmt 0 view .LVU1204 + testq %rbx, %rbx + je .L809 + testb $7, %bl + jne .L809 +.L810: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L836 + movq (%rbx), %r12 + testq %r12, %r12 + je .L837 +.L812: + movq %r12, %rdi + call feof@PLT +.LVL803: + .loc 1 401 30 discriminator 1 view .LVU1205 + testl %eax, %eax + jne .L813 + testb %r15b, %r15b + jne .L813 +.LBB176: + .loc 1 403 21 is_stmt 1 view .LVU1206 + .loc 1 403 51 is_stmt 0 view .LVU1207 + testq %rbx, %rbx + je .L766 + testb $7, %bl + jne .L766 +.L767: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L838 + movq (%rbx), %r12 + testq %r12, %r12 + je .L839 +.L769: + movl $0, %esi + movq %r12, %rdi + call fpeek@PLT +.LVL804: + movl %eax, %r12d +.LVL805: + .loc 1 404 21 is_stmt 1 view .LVU1208 + .loc 1 404 48 is_stmt 0 view .LVU1209 + testq %rbx, %rbx + je .L770 + testb $7, %bl + jne .L770 +.L771: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L840 + movq (%rbx), %r13 + testq %r13, %r13 + je .L841 +.L773: + movl $1, %esi + movq %r13, %rdi + call fpeek@PLT +.LVL806: + .loc 1 406 7 is_stmt 1 view .LVU1210 + cmpb $-1, %r12b + je .L774 + jl .L775 + cmpb $57, %r12b + jg .L775 + cmpb $10, %r12b + jl .L775 + leal -10(%r12), %edx + cmpb $47, %dl + ja .L775 + movzbl %dl, %edx + leaq .L777(%rip), %rcx + movslq (%rcx,%rdx,4), %rdx + addq %rcx, %rdx + notrack jmp *%rdx + .section .rodata + .align 4 + .align 4 +.L777: + .long .L781-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L780-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L779-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L775-.L777 + .long .L778-.L777 + .long .L776-.L777 + .long .L776-.L777 + .long .L776-.L777 + .long .L776-.L777 + .long .L776-.L777 + .long .L776-.L777 + .long .L776-.L777 + .long .L776-.L777 + .long .L776-.L777 + .text +.LVL807: +.L833: + .loc 1 409 11 is_stmt 0 view .LVU1211 + call __asan_report_load8@PLT +.LVL808: +.L834: + .loc 1 409 11 view .LVU1212 + leaq .Lubsan_data145(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL809: + jmp .L783 +.L835: + .loc 1 410 11 discriminator 1 view .LVU1213 + leaq .Lubsan_data147(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL810: + jmp .L784 +.LVL811: +.L781: + .loc 1 414 11 is_stmt 1 view .LVU1214 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL812: + .loc 1 414 11 is_stmt 0 view .LVU1215 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L842 + movq stdout(%rip), %r12 +.LVL813: + .loc 1 414 11 view .LVU1216 + testq %r12, %r12 + je .L843 +.L787: +.LVL814: +.LBB174: +.LBI174: + .loc 2 77 1 is_stmt 1 view .LVU1217 +.LBB175: + .loc 2 79 3 view .LVU1218 + .loc 2 79 10 is_stmt 0 view .LVU1219 + movl $414, %r8d + leaq .LC0(%rip), %rcx + leaq .LC43(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL815: + .loc 2 79 10 view .LVU1220 +.LBE175: +.LBE174: + .loc 1 415 11 is_stmt 1 view .LVU1221 + .loc 1 415 34 is_stmt 0 view .LVU1222 + movl $1, %edx + movl $36, %esi + movq %rbx, %rdi + call lex_ctx_create_lexeme +.LVL816: + movq %rax, %r12 + .loc 1 415 11 discriminator 1 view .LVU1223 + testq %r14, %r14 + je .L844 +.L788: + movq %r12, %rsi + movq %r14, %rdi + call array_append@PLT +.LVL817: + .loc 1 416 11 is_stmt 1 view .LVU1224 + testq %rbx, %rbx + je .L789 + testb $7, %bl + jne .L789 +.L790: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L845 + movq (%rbx), %r12 + testq %r12, %r12 + je .L846 +.L792: + movl $1, %esi + movq %r12, %rdi + call fconsume@PLT +.LVL818: + .loc 1 417 11 view .LVU1225 + jmp .L765 +.LVL819: +.L842: + .loc 1 414 11 is_stmt 0 view .LVU1226 + call __asan_report_load8@PLT +.LVL820: +.L843: + .loc 1 414 11 view .LVU1227 + leaq .Lubsan_data148(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL821: + jmp .L787 +.L844: + .loc 1 415 11 discriminator 1 view .LVU1228 + leaq .Lubsan_data150(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL822: + jmp .L788 +.L789: + .loc 1 416 11 view .LVU1229 + movq %rbx, %rsi + leaq .Lubsan_data280(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL823: + jmp .L790 +.L845: + .loc 1 416 11 view .LVU1230 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL824: +.L846: + .loc 1 416 11 view .LVU1231 + leaq .Lubsan_data151(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL825: + jmp .L792 +.LVL826: +.L778: + .loc 1 419 11 is_stmt 1 view .LVU1232 + .loc 1 419 14 is_stmt 0 view .LVU1233 + cmpb $120, %al + je .L847 + .loc 1 424 11 is_stmt 1 view .LVU1234 + movq %r14, %rsi + movq %rbx, %rdi + call lex_ctx_consume_octal +.LVL827: + .loc 1 425 11 view .LVU1235 + jmp .L765 +.LVL828: +.L847: + .loc 1 421 15 view .LVU1236 + movq %r14, %rsi + movq %rbx, %rdi + call lex_ctx_consume_hexadecimal +.LVL829: + .loc 1 422 15 view .LVU1237 + jmp .L765 +.LVL830: +.L776: + .loc 1 428 11 view .LVU1238 + movq %r14, %rsi + movq %rbx, %rdi + call lex_ctx_consume_number +.LVL831: + .loc 1 429 11 view .LVU1239 + jmp .L765 +.LVL832: +.L780: + .loc 1 431 11 view .LVU1240 + movq %r14, %rsi + movq %rbx, %rdi + call lex_ctx_consume_string +.LVL833: + .loc 1 432 11 view .LVU1241 + jmp .L765 +.LVL834: +.L779: + .loc 1 434 11 view .LVU1242 + movq %r14, %rsi + movq %rbx, %rdi + call lex_ctx_consume_character +.LVL835: + .loc 1 435 11 view .LVU1243 + jmp .L765 +.LVL836: +.L775: + .loc 1 437 11 view .LVU1244 + .loc 1 437 15 is_stmt 0 view .LVU1245 + movsbl %r12b, %edi + call isident_f@PLT +.LVL837: + .loc 1 437 14 discriminator 1 view .LVU1246 + testl %eax, %eax + jne .L848 + .loc 1 442 16 is_stmt 1 view .LVU1247 + .loc 1 442 22 is_stmt 0 view .LVU1248 + call __ctype_b_loc@PLT +.LVL838: + movq %rax, %r13 + .loc 1 442 21 discriminator 1 view .LVU1249 + testq %rax, %rax + je .L795 + testb $7, %al + jne .L795 +.L796: + movq %r13, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L849 + movq 0(%r13), %r13 + .loc 1 442 40 discriminator 1 view .LVU1250 + movsbq %r12b, %r12 + .loc 1 442 39 discriminator 1 view .LVU1251 + addq %r12, %r12 +.LVL839: + .loc 1 442 39 discriminator 1 view .LVU1252 + leaq 0(%r13,%r12), %rdx + js .L798 + cmpq %r13, %rdx + jnb .L799 +.L800: + movq %r13, %rsi + leaq .Lubsan_data282(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL840: + jmp .L799 +.LVL841: +.L848: + .loc 1 439 15 is_stmt 1 view .LVU1253 + movq %r14, %rsi + movq %rbx, %rdi + call lex_ctx_consume_identifier +.LVL842: + .loc 1 440 15 view .LVU1254 + jmp .L765 +.L795: + .loc 1 442 21 is_stmt 0 discriminator 1 view .LVU1255 + movq %r13, %rsi + leaq .Lubsan_data281(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL843: + jmp .L796 +.L849: + movq %r13, %rdi + call __asan_report_load8@PLT +.LVL844: +.L798: + .loc 1 442 39 discriminator 1 view .LVU1256 + cmpq %rdx, %r13 + jb .L800 +.L799: + addq %r13, %r12 + je .L801 + testb $1, %r12b + jne .L801 +.L802: + movq %r12, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %edx + movq %r12, %rax + andl $7, %eax + addl $1, %eax + cmpb %dl, %al + jl .L803 + testb %dl, %dl + jne .L850 +.L803: + movzwl (%r12), %eax + .loc 1 442 19 discriminator 1 view .LVU1257 + testb $32, %ah + je .L804 + .loc 1 444 15 is_stmt 1 view .LVU1258 + testq %rbx, %rbx + je .L805 + testb $7, %bl + jne .L805 +.L806: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L851 + movq (%rbx), %r12 + testq %r12, %r12 + je .L852 +.L808: + movl $1, %esi + movq %r12, %rdi + call fconsume@PLT +.LVL845: + .loc 1 445 15 view .LVU1259 + jmp .L765 +.L801: + .loc 1 442 39 is_stmt 0 discriminator 1 view .LVU1260 + movq %r12, %rsi + leaq .Lubsan_data283(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL846: + jmp .L802 +.L850: + movq %r12, %rdi + call __asan_report_load2@PLT +.LVL847: +.L805: + .loc 1 444 15 view .LVU1261 + movq %rbx, %rsi + leaq .Lubsan_data284(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL848: + jmp .L806 +.L851: + .loc 1 444 15 view .LVU1262 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL849: +.L852: + .loc 1 444 15 view .LVU1263 + leaq .Lubsan_data152(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL850: + jmp .L808 +.L804: + .loc 1 447 11 is_stmt 1 view .LVU1264 + movq %r14, %rsi + movq %rbx, %rdi + call lex_ctx_consume_nonliteral +.LVL851: + .loc 1 448 11 view .LVU1265 + jmp .L765 +.LVL852: +.L809: + .loc 1 448 11 is_stmt 0 view .LVU1266 +.LBE176: + .loc 1 401 11 view .LVU1267 + movq %rbx, %rsi + leaq .Lubsan_data285(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL853: + jmp .L810 +.L836: + .loc 1 401 11 view .LVU1268 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL854: +.L837: + .loc 1 401 11 view .LVU1269 + leaq .Lubsan_data153(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL855: + jmp .L812 +.L813: + .loc 1 451 3 is_stmt 1 view .LVU1270 + testq %rbx, %rbx + je .L815 + testb $7, %bl + jne .L815 +.L816: + leaq 16(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L853 + movq 16(%rbx), %r13 + testq %r14, %r14 + je .L854 +.L818: + movq %r14, %rdi + call array_length@PLT +.LVL856: + movq %rax, %rbx +.LVL857: + .loc 1 451 3 is_stmt 0 discriminator 1 view .LVU1271 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L855 + movq stdout(%rip), %r12 + testq %r12, %r12 + je .L856 +.L820: +.LVL858: +.LBB177: +.LBI177: + .loc 2 77 1 is_stmt 1 view .LVU1272 +.LBB178: + .loc 2 79 3 view .LVU1273 + .loc 2 79 10 is_stmt 0 view .LVU1274 + subq $8, %rsp + pushq %r13 + movq %rbx, %r9 + movl $451, %r8d + leaq .LC0(%rip), %rcx + leaq .LC44(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL859: + .loc 2 79 10 view .LVU1275 +.LBE178: +.LBE177: + .loc 1 452 3 is_stmt 1 view .LVU1276 + addq $16, %rsp + movq -56(%rbp), %rax + testq %rax, %rax + je .L821 + testb $7, %al + jne .L821 +.L822: + movq -56(%rbp), %rax + leaq 8(%rax), %rdx + cmpq $-8, %rax + jnb .L857 +.L823: + movq -56(%rbp), %rax + leaq 8(%rax), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L858 + movq -56(%rbp), %rax + movq 8(%rax), %rbx + testq %rbx, %rbx + je .L859 +.L825: + movq %r14, %rsi + movq %rbx, %rdi + call array_append@PLT +.LVL860: + .loc 1 453 17 view .LVU1277 + .loc 1 453 41 is_stmt 0 view .LVU1278 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L860 + movq stdout(%rip), %r12 + movq g_diagnostics(%rip), %rbx + testq %rbx, %rbx + je .L861 +.L827: + testq %r12, %r12 + je .L862 +.L828: + movq %r12, %rsi + movq %rbx, %rdi + call diagn_flush@PLT +.LVL861: + movq %rax, %rbx +.LVL862: + .loc 1 454 3 is_stmt 1 view .LVU1279 + movq g_diagnostics(%rip), %r12 + testq %r12, %r12 + je .L863 +.LVL863: +.L829: + .loc 1 454 3 is_stmt 0 view .LVU1280 + movq %r12, %rdi + call diagn_free@PLT +.LVL864: + .loc 1 455 3 is_stmt 1 view .LVU1281 + .loc 1 456 1 is_stmt 0 view .LVU1282 + movq %rbx, %rax + leaq -40(%rbp), %rsp + popq %rbx +.LVL865: + .loc 1 456 1 view .LVU1283 + popq %r12 + popq %r13 + popq %r14 +.LVL866: + .loc 1 456 1 view .LVU1284 + popq %r15 +.LVL867: + .loc 1 456 1 view .LVU1285 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 +.LVL868: + .loc 1 456 1 view .LVU1286 + ret +.LVL869: +.L815: + .cfi_restore_state + .loc 1 451 3 view .LVU1287 + movq %rbx, %rsi + leaq .Lubsan_data286(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL870: + jmp .L816 +.L853: + .loc 1 451 3 view .LVU1288 + call __asan_report_load8@PLT +.LVL871: +.L854: + .loc 1 451 3 view .LVU1289 + leaq .Lubsan_data154(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL872: + jmp .L818 +.LVL873: +.L855: + .loc 1 451 3 discriminator 1 view .LVU1290 + call __asan_report_load8@PLT +.LVL874: +.L856: + leaq .Lubsan_data155(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL875: + jmp .L820 +.L821: + .loc 1 452 3 view .LVU1291 + movq -56(%rbp), %rsi + leaq .Lubsan_data287(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL876: + jmp .L822 +.L857: + movq %rax, %rsi + leaq .Lubsan_data288(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL877: + jmp .L823 +.L858: + call __asan_report_load8@PLT +.LVL878: +.L859: + leaq .Lubsan_data157(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL879: + jmp .L825 +.L860: + .loc 1 453 41 view .LVU1292 + call __asan_report_load8@PLT +.LVL880: +.L861: + leaq .Lubsan_data158(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL881: + jmp .L827 +.L862: + leaq .Lubsan_data159(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL882: + jmp .L828 +.LVL883: +.L863: + .loc 1 454 3 view .LVU1293 + leaq .Lubsan_data160(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL884: + .loc 1 454 3 view .LVU1294 + jmp .L829 + .cfi_endproc +.LFE68: + .size lex_ctx_process_impl, .-lex_ctx_process_impl + .section .rodata + .align 32 +.LC45: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mcreated lexer %p\n" + .zero 40 + .text + .globl lex_ctx_new + .type lex_ctx_new, @function +lex_ctx_new: +.LASANPC69: +.LVL885: +.LFB69: + .loc 1 460 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 460 1 is_stmt 0 view .LVU1296 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 13, -24 + .cfi_offset 12, -32 + .cfi_offset 3, -40 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %r12 + .loc 1 461 3 is_stmt 1 view .LVU1297 + .loc 1 461 19 is_stmt 0 view .LVU1298 + movl $16, %edx + movl $1, %esi + leaq __func__.2(%rip), %rdi +.LVL886: + .loc 1 461 19 view .LVU1299 + call __chk_calloc_impl@PLT +.LVL887: + movq %rax, %rbx +.LVL888: + .loc 1 462 3 is_stmt 1 view .LVU1300 + .loc 1 462 23 is_stmt 0 view .LVU1301 + call array_new@PLT +.LVL889: + .loc 1 462 23 view .LVU1302 + movq %rax, %r13 + .loc 1 462 21 discriminator 1 view .LVU1303 + testq %rbx, %rbx + je .L865 + testb $7, %bl + jne .L865 +.L866: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L874 + movq %r13, (%rbx) + .loc 1 463 3 is_stmt 1 view .LVU1304 + .loc 1 463 26 is_stmt 0 view .LVU1305 + call array_new@PLT +.LVL890: + movq %rax, %r13 + .loc 1 463 24 discriminator 1 view .LVU1306 + testq %rbx, %rbx + je .L868 + testb $7, %bl + jne .L868 +.L869: + leaq 8(%rbx), %rdx + cmpq $-8, %rbx + jnb .L875 +.L870: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L876 + movq %r13, 8(%rbx) + .loc 1 464 3 is_stmt 1 view .LVU1307 + .loc 1 464 15 is_stmt 0 view .LVU1308 + movq %r12, g_comp_args(%rip) + .loc 1 465 3 is_stmt 1 view .LVU1309 + .loc 1 465 127 is_stmt 0 view .LVU1310 + movl %ebx, %r13d + .loc 1 465 3 view .LVU1311 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L877 + .loc 1 465 3 view .LVU1312 + movq stdout(%rip), %r12 +.LVL891: + .loc 1 465 3 view .LVU1313 + testq %r12, %r12 + je .L878 +.LVL892: +.L873: +.LBB179: +.LBI179: + .loc 2 77 1 is_stmt 1 view .LVU1314 +.LBB180: + .loc 2 79 3 view .LVU1315 + .loc 2 79 10 is_stmt 0 view .LVU1316 + movq %r13, %r9 + movl $465, %r8d + leaq .LC0(%rip), %rcx + leaq .LC45(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL893: + .loc 2 79 10 view .LVU1317 +.LBE180: +.LBE179: + .loc 1 466 3 is_stmt 1 view .LVU1318 + .loc 1 467 1 is_stmt 0 view .LVU1319 + movq %rbx, %rax + addq $8, %rsp + popq %rbx +.LVL894: + .loc 1 467 1 view .LVU1320 + popq %r12 + popq %r13 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL895: +.L865: + .cfi_restore_state + .loc 1 462 21 discriminator 1 view .LVU1321 + movq %rbx, %rsi + leaq .Lubsan_data289(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL896: + jmp .L866 +.L874: + .loc 1 462 21 discriminator 1 view .LVU1322 + movq %rbx, %rdi + call __asan_report_store8@PLT +.LVL897: +.L868: + .loc 1 463 24 discriminator 1 view .LVU1323 + movq %rbx, %rsi + leaq .Lubsan_data290(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL898: + jmp .L869 +.L875: + .loc 1 463 24 discriminator 1 view .LVU1324 + movq %rbx, %rsi + leaq .Lubsan_data291(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL899: + jmp .L870 +.L876: + .loc 1 463 24 discriminator 1 view .LVU1325 + call __asan_report_store8@PLT +.LVL900: +.L877: + .loc 1 465 3 view .LVU1326 + call __asan_report_load8@PLT +.LVL901: +.L878: + .loc 1 465 3 view .LVU1327 + leaq .Lubsan_data164(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL902: + .loc 1 465 3 view .LVU1328 + jmp .L873 + .cfi_endproc +.LFE69: + .size lex_ctx_new, .-lex_ctx_new + .globl lex_ctx_load_file + .type lex_ctx_load_file, @function +lex_ctx_load_file: +.LASANPC70: +.LVL903: +.LFB70: + .loc 1 473 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 473 1 is_stmt 0 view .LVU1330 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r12 + pushq %rbx + .cfi_offset 12, -24 + .cfi_offset 3, -32 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + movq %rsi, %rdi +.LVL904: + .loc 1 473 1 view .LVU1331 + movq %rdx, %rsi +.LVL905: + .loc 1 474 3 is_stmt 1 view .LVU1332 + .loc 1 474 35 is_stmt 0 view .LVU1333 + call io_read_file_into_memstream@PLT +.LVL906: + .loc 1 474 35 view .LVU1334 + movq %rax, %r12 + .loc 1 474 3 discriminator 1 view .LVU1335 + testq %rbx, %rbx + je .L880 + testb $7, %bl + jne .L880 +.L881: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L884 + movq (%rbx), %rbx +.LVL907: + .loc 1 474 3 discriminator 1 view .LVU1336 + testq %rbx, %rbx + je .L885 +.L883: + movq %r12, %rsi + movq %rbx, %rdi + call array_append@PLT +.LVL908: + .loc 1 475 1 view .LVU1337 + popq %rbx + popq %r12 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL909: +.L880: + .cfi_restore_state + .loc 1 474 3 discriminator 1 view .LVU1338 + movq %rbx, %rsi + leaq .Lubsan_data292(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL910: + jmp .L881 +.L884: + .loc 1 474 3 discriminator 1 view .LVU1339 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL911: +.L885: + .loc 1 474 3 discriminator 1 view .LVU1340 + leaq .Lubsan_data167(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL912: + jmp .L883 + .cfi_endproc +.LFE70: + .size lex_ctx_load_file, .-lex_ctx_load_file + .globl lex_ctx_process + .type lex_ctx_process, @function +lex_ctx_process: +.LASANPC71: +.LVL913: +.LFB71: + .loc 1 479 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 479 1 is_stmt 0 view .LVU1342 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + .cfi_offset 14, -24 + .cfi_offset 13, -32 + .cfi_offset 12, -40 + .cfi_offset 3, -48 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + .loc 1 480 3 is_stmt 1 view .LVU1343 +.LVL914: + .loc 1 481 3 view .LVU1344 + .loc 1 481 23 discriminator 1 view .LVU1345 +.LBB181: + .loc 1 481 28 discriminator 1 view .LVU1346 + .loc 1 481 35 is_stmt 0 discriminator 1 view .LVU1347 + movl $0, %r12d +.LBE181: + .loc 1 480 12 view .LVU1348 + movl $0, %r13d +.LBB182: + .loc 1 481 23 view .LVU1349 + jmp .L887 +.LVL915: +.L897: + .loc 1 483 5 is_stmt 1 view .LVU1350 + .loc 1 483 25 is_stmt 0 view .LVU1351 + movq %rbx, %rdi + call lex_ctx_process_impl +.LVL916: + .loc 1 483 22 discriminator 1 view .LVU1352 + addq %rax, %r13 +.LVL917: + .loc 1 481 125 is_stmt 1 discriminator 4 view .LVU1353 + addq $1, %r12 +.LVL918: +.L887: + .loc 1 481 78 discriminator 1 view .LVU1354 + .loc 1 481 46 is_stmt 0 discriminator 1 view .LVU1355 + testq %rbx, %rbx + je .L888 + testb $7, %bl + jne .L888 +.L889: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L898 + movq (%rbx), %r14 + testq %r14, %r14 + je .L899 +.L891: + movq %r14, %rdi + call array_length@PLT +.LVL919: + .loc 1 481 78 discriminator 1 view .LVU1356 + cmpq %rax, %r12 + jnb .L886 + .loc 1 481 91 discriminator 3 view .LVU1357 + testq %rbx, %rbx + je .L893 + testb $7, %bl + jne .L893 +.L894: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L900 + movq (%rbx), %r14 + testq %r14, %r14 + je .L901 +.L896: + movq %r12, %rsi + movq %r14, %rdi + call array_get@PLT +.LVL920: + movq %rax, %rsi +.LVL921: + .loc 1 481 78 discriminator 1 view .LVU1358 + testq %rax, %rax + jne .L897 +.LVL922: +.L886: + .loc 1 481 78 discriminator 1 view .LVU1359 +.LBE182: + .loc 1 486 1 view .LVU1360 + movq %r13, %rax + popq %rbx +.LVL923: + .loc 1 486 1 view .LVU1361 + popq %r12 +.LVL924: + .loc 1 486 1 view .LVU1362 + popq %r13 +.LVL925: + .loc 1 486 1 view .LVU1363 + popq %r14 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL926: +.L888: + .cfi_restore_state +.LBB183: + .loc 1 481 46 discriminator 1 view .LVU1364 + movq %rbx, %rsi + leaq .Lubsan_data293(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL927: + jmp .L889 +.L898: + .loc 1 481 46 discriminator 1 view .LVU1365 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL928: +.L899: + .loc 1 481 46 discriminator 1 view .LVU1366 + leaq .Lubsan_data168(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL929: + jmp .L891 +.L893: + .loc 1 481 91 discriminator 3 view .LVU1367 + movq %rbx, %rsi + leaq .Lubsan_data294(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL930: + jmp .L894 +.L900: + .loc 1 481 91 discriminator 3 view .LVU1368 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL931: +.L901: + .loc 1 481 91 discriminator 3 view .LVU1369 + leaq .Lubsan_data169(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL932: + jmp .L896 +.LBE183: + .cfi_endproc +.LFE71: + .size lex_ctx_process, .-lex_ctx_process + .globl lex_ctx_free + .type lex_ctx_free, @function +lex_ctx_free: +.LASANPC73: +.LVL933: +.LFB73: + .loc 1 497 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 497 1 is_stmt 0 view .LVU1371 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r12 + pushq %rbx + .cfi_offset 12, -24 + .cfi_offset 3, -32 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + .loc 1 498 3 is_stmt 1 view .LVU1372 + testq %rdi, %rdi + je .L903 + testb $7, %dil + jne .L903 +.LVL934: +.L904: + .loc 1 498 3 is_stmt 0 view .LVU1373 + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L912 + movq (%rbx), %r12 + testq %r12, %r12 + je .L913 +.L906: + movq io_free_memstream@GOTPCREL(%rip), %rsi + movq %r12, %rdi + call array_free_cb@PLT +.LVL935: + .loc 1 499 3 is_stmt 1 view .LVU1374 + testq %rbx, %rbx + je .L907 + testb $7, %bl + jne .L907 +.L908: + leaq 8(%rbx), %rdx + cmpq $-8, %rbx + jnb .L914 +.L909: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L915 + movq 8(%rbx), %r12 + testq %r12, %r12 + je .L916 +.L911: + leaq lex_ctx_free_lexeme_arrays(%rip), %rsi + movq %r12, %rdi + call array_free_cb@PLT +.LVL936: + .loc 1 500 3 view .LVU1375 + movq %rbx, %rsi + leaq __func__.0(%rip), %rdi + call __chk_free_impl@PLT +.LVL937: + .loc 1 501 1 is_stmt 0 view .LVU1376 + popq %rbx +.LVL938: + .loc 1 501 1 view .LVU1377 + popq %r12 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL939: +.L903: + .cfi_restore_state + .loc 1 498 3 view .LVU1378 + movq %rbx, %rsi + leaq .Lubsan_data295(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL940: + jmp .L904 +.L912: + .loc 1 498 3 view .LVU1379 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL941: +.L913: + .loc 1 498 3 view .LVU1380 + leaq .Lubsan_data170(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL942: + jmp .L906 +.L907: + .loc 1 499 3 view .LVU1381 + movq %rbx, %rsi + leaq .Lubsan_data296(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL943: + jmp .L908 +.L914: + .loc 1 499 3 view .LVU1382 + movq %rbx, %rsi + leaq .Lubsan_data297(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL944: + jmp .L909 +.L915: + .loc 1 499 3 view .LVU1383 + call __asan_report_load8@PLT +.LVL945: +.L916: + leaq .Lubsan_data171(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL946: + jmp .L911 + .cfi_endproc +.LFE73: + .size lex_ctx_free, .-lex_ctx_free + .section .data.rel.local,"aw" + .align 32 + .type .Lubsan_data297, @object + .size .Lubsan_data297, 16 +.Lubsan_data297: + .quad .LC0 + .long 499 + .long 3 + .zero 48 + .align 32 + .type .Lubsan_data296, @object + .size .Lubsan_data296, 32 +.Lubsan_data296: + .quad .LC0 + .long 499 + .long 3 + .quad .Lubsan_type8 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data295, @object + .size .Lubsan_data295, 32 +.Lubsan_data295: + .quad .LC0 + .long 498 + .long 3 + .quad .Lubsan_type8 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data294, @object + .size .Lubsan_data294, 32 +.Lubsan_data294: + .quad .LC0 + .long 481 + .long 91 + .quad .Lubsan_type8 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data293, @object + .size .Lubsan_data293, 32 +.Lubsan_data293: + .quad .LC0 + .long 481 + .long 46 + .quad .Lubsan_type8 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data292, @object + .size .Lubsan_data292, 32 +.Lubsan_data292: + .quad .LC0 + .long 474 + .long 3 + .quad .Lubsan_type8 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data291, @object + .size .Lubsan_data291, 16 +.Lubsan_data291: + .quad .LC0 + .long 463 + .long 24 + .zero 48 + .align 32 + .type .Lubsan_data290, @object + .size .Lubsan_data290, 32 +.Lubsan_data290: + .quad .LC0 + .long 463 + .long 24 + .quad .Lubsan_type8 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data289, @object + .size .Lubsan_data289, 32 +.Lubsan_data289: + .quad .LC0 + .long 462 + .long 21 + .quad .Lubsan_type8 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data288, @object + .size .Lubsan_data288, 16 +.Lubsan_data288: + .quad .LC0 + .long 452 + .long 3 + .zero 48 + .align 32 + .type .Lubsan_data287, @object + .size .Lubsan_data287, 32 +.Lubsan_data287: + .quad .LC0 + .long 452 + .long 3 + .quad .Lubsan_type8 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type8, @object + .size .Lubsan_type8, 24 +.Lubsan_type8: + .value -1 + .value 0 + .string "'struct lexer_impl'" + .zero 40 + .section .data.rel.local + .align 32 + .type .Lubsan_data286, @object + .size .Lubsan_data286, 32 +.Lubsan_data286: + .quad .LC0 + .long 451 + .long 3 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data285, @object + .size .Lubsan_data285, 32 +.Lubsan_data285: + .quad .LC0 + .long 401 + .long 11 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data284, @object + .size .Lubsan_data284, 32 +.Lubsan_data284: + .quad .LC0 + .long 444 + .long 15 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data283, @object + .size .Lubsan_data283, 32 +.Lubsan_data283: + .quad .LC0 + .long 442 + .long 39 + .quad .Lubsan_type4 + .byte 1 + .byte 0 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data282, @object + .size .Lubsan_data282, 16 +.Lubsan_data282: + .quad .LC0 + .long 442 + .long 39 + .zero 48 + .align 32 + .type .Lubsan_data281, @object + .size .Lubsan_data281, 32 +.Lubsan_data281: + .quad .LC0 + .long 442 + .long 21 + .quad .Lubsan_type3 + .byte 3 + .byte 0 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data280, @object + .size .Lubsan_data280, 32 +.Lubsan_data280: + .quad .LC0 + .long 416 + .long 11 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data279, @object + .size .Lubsan_data279, 32 +.Lubsan_data279: + .quad .LC0 + .long 404 + .long 48 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data278, @object + .size .Lubsan_data278, 32 +.Lubsan_data278: + .quad .LC0 + .long 403 + .long 51 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data277, @object + .size .Lubsan_data277, 16 +.Lubsan_data277: + .quad .LC0 + .long 399 + .long 19 + .zero 48 + .align 32 + .type .Lubsan_data276, @object + .size .Lubsan_data276, 32 +.Lubsan_data276: + .quad .LC0 + .long 399 + .long 19 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data275, @object + .size .Lubsan_data275, 32 +.Lubsan_data275: + .quad .LC0 + .long 196 + .long 89 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data274, @object + .size .Lubsan_data274, 16 +.Lubsan_data274: + .quad .LC0 + .long 195 + .long 3 + .zero 48 + .align 32 + .type .Lubsan_data273, @object + .size .Lubsan_data273, 32 +.Lubsan_data273: + .quad .LC0 + .long 195 + .long 162 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data272, @object + .size .Lubsan_data272, 16 +.Lubsan_data272: + .quad .LC0 + .long 195 + .long 151 + .zero 48 + .align 32 + .type .Lubsan_data271, @object + .size .Lubsan_data271, 32 +.Lubsan_data271: + .quad .LC0 + .long 195 + .long 151 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data270, @object + .size .Lubsan_data270, 32 +.Lubsan_data270: + .quad .LC0 + .long 189 + .long 57 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data269, @object + .size .Lubsan_data269, 32 +.Lubsan_data269: + .quad .LC0 + .long 391 + .long 87 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data268, @object + .size .Lubsan_data268, 32 +.Lubsan_data268: + .quad .LC0 + .long 388 + .long 7 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data267, @object + .size .Lubsan_data267, 32 +.Lubsan_data267: + .quad .LC0 + .long 320 + .long 14 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data266, @object + .size .Lubsan_data266, 32 +.Lubsan_data266: + .quad .LC0 + .long 319 + .long 17 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data265, @object + .size .Lubsan_data265, 24 +.Lubsan_data265: + .quad .LC0 + .long 121 + .long 3 + .quad .Lubsan_type7 + .zero 40 + .align 32 + .type .Lubsan_data264, @object + .size .Lubsan_data264, 24 +.Lubsan_data264: + .quad .LC0 + .long 115 + .long 3 + .quad .Lubsan_type6 + .zero 40 + .align 32 + .type .Lubsan_data263, @object + .size .Lubsan_data263, 32 +.Lubsan_data263: + .quad .LC0 + .long 121 + .long 3 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data262, @object + .size .Lubsan_data262, 16 +.Lubsan_data262: + .quad .LC0 + .long 117 + .long 7 + .zero 48 + .align 32 + .type .Lubsan_data261, @object + .size .Lubsan_data261, 32 +.Lubsan_data261: + .quad .LC0 + .long 117 + .long 7 + .quad .Lubsan_type5 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data260, @object + .size .Lubsan_data260, 16 +.Lubsan_data260: + .quad .LC0 + .long 115 + .long 3 + .zero 48 + .align 32 + .type .Lubsan_data259, @object + .size .Lubsan_data259, 32 +.Lubsan_data259: + .quad .LC0 + .long 115 + .long 147 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data258, @object + .size .Lubsan_data258, 16 +.Lubsan_data258: + .quad .LC0 + .long 115 + .long 136 + .zero 48 + .align 32 + .type .Lubsan_data257, @object + .size .Lubsan_data257, 32 +.Lubsan_data257: + .quad .LC0 + .long 115 + .long 136 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data256, @object + .size .Lubsan_data256, 16 +.Lubsan_data256: + .quad .LC0 + .long 113 + .long 72 + .zero 48 + .align 32 + .type .Lubsan_data255, @object + .size .Lubsan_data255, 32 +.Lubsan_data255: + .quad .LC0 + .long 113 + .long 72 + .quad .Lubsan_type5 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data254, @object + .size .Lubsan_data254, 32 +.Lubsan_data254: + .quad .LC0 + .long 128 + .long 3 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data253, @object + .size .Lubsan_data253, 32 +.Lubsan_data253: + .quad .LC0 + .long 104 + .long 57 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data252, @object + .size .Lubsan_data252, 32 +.Lubsan_data252: + .quad .LC0 + .long 106 + .long 16 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data251, @object + .size .Lubsan_data251, 24 +.Lubsan_data251: + .quad .LC0 + .long 260 + .long 3 + .quad .Lubsan_type6 + .zero 40 + .align 32 + .type .Lubsan_data250, @object + .size .Lubsan_data250, 32 +.Lubsan_data250: + .quad .LC0 + .long 269 + .long 3 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data249, @object + .size .Lubsan_data249, 32 +.Lubsan_data249: + .quad .LC0 + .long 262 + .long 3 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data248, @object + .size .Lubsan_data248, 16 +.Lubsan_data248: + .quad .LC0 + .long 260 + .long 3 + .zero 48 + .align 32 + .type .Lubsan_data247, @object + .size .Lubsan_data247, 32 +.Lubsan_data247: + .quad .LC0 + .long 260 + .long 170 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data246, @object + .size .Lubsan_data246, 16 +.Lubsan_data246: + .quad .LC0 + .long 260 + .long 159 + .zero 48 + .align 32 + .type .Lubsan_data245, @object + .size .Lubsan_data245, 32 +.Lubsan_data245: + .quad .LC0 + .long 260 + .long 159 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data244, @object + .size .Lubsan_data244, 32 +.Lubsan_data244: + .quad .LC0 + .long 237 + .long 57 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data243, @object + .size .Lubsan_data243, 32 +.Lubsan_data243: + .quad .LC0 + .long 239 + .long 16 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data242, @object + .size .Lubsan_data242, 24 +.Lubsan_data242: + .quad .LC0 + .long 221 + .long 3 + .quad .Lubsan_type6 + .zero 40 + .align 32 + .type .Lubsan_data241, @object + .size .Lubsan_data241, 32 +.Lubsan_data241: + .quad .LC0 + .long 229 + .long 3 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data240, @object + .size .Lubsan_data240, 32 +.Lubsan_data240: + .quad .LC0 + .long 222 + .long 92 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data239, @object + .size .Lubsan_data239, 16 +.Lubsan_data239: + .quad .LC0 + .long 221 + .long 3 + .zero 48 + .align 32 + .type .Lubsan_data238, @object + .size .Lubsan_data238, 32 +.Lubsan_data238: + .quad .LC0 + .long 221 + .long 167 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data237, @object + .size .Lubsan_data237, 16 +.Lubsan_data237: + .quad .LC0 + .long 221 + .long 156 + .zero 48 + .align 32 + .type .Lubsan_data236, @object + .size .Lubsan_data236, 32 +.Lubsan_data236: + .quad .LC0 + .long 221 + .long 156 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data235, @object + .size .Lubsan_data235, 32 +.Lubsan_data235: + .quad .LC0 + .long 203 + .long 57 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data234, @object + .size .Lubsan_data234, 32 +.Lubsan_data234: + .quad .LC0 + .long 205 + .long 16 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data233, @object + .size .Lubsan_data233, 32 +.Lubsan_data233: + .quad .LC0 + .long 293 + .long 93 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data232, @object + .size .Lubsan_data232, 16 +.Lubsan_data232: + .quad .LC0 + .long 292 + .long 3 + .zero 48 + .align 32 + .type .Lubsan_data231, @object + .size .Lubsan_data231, 32 +.Lubsan_data231: + .quad .LC0 + .long 292 + .long 164 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data230, @object + .size .Lubsan_data230, 16 +.Lubsan_data230: + .quad .LC0 + .long 292 + .long 153 + .zero 48 + .align 32 + .type .Lubsan_data229, @object + .size .Lubsan_data229, 32 +.Lubsan_data229: + .quad .LC0 + .long 292 + .long 153 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data228, @object + .size .Lubsan_data228, 32 +.Lubsan_data228: + .quad .LC0 + .long 277 + .long 57 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data227, @object + .size .Lubsan_data227, 32 +.Lubsan_data227: + .quad .LC0 + .long 281 + .long 32 + .quad .Lubsan_type4 + .byte 1 + .byte 0 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data226, @object + .size .Lubsan_data226, 16 +.Lubsan_data226: + .quad .LC0 + .long 281 + .long 32 + .zero 48 + .align 32 + .type .Lubsan_data225, @object + .size .Lubsan_data225, 32 +.Lubsan_data225: + .quad .LC0 + .long 281 + .long 14 + .quad .Lubsan_type3 + .byte 3 + .byte 0 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data224, @object + .size .Lubsan_data224, 24 +.Lubsan_data224: + .quad .LC0 + .long 97 + .long 3 + .quad .Lubsan_type7 + .zero 40 + .data + .align 32 + .type .Lubsan_type7, @object + .size .Lubsan_type7, 15 +.Lubsan_type7: + .value 0 + .value 13 + .string "'long int'" + .zero 49 + .section .data.rel.local + .align 32 + .type .Lubsan_data223, @object + .size .Lubsan_data223, 24 +.Lubsan_data223: + .quad .LC0 + .long 92 + .long 3 + .quad .Lubsan_type6 + .zero 40 + .data + .align 32 + .type .Lubsan_type6, @object + .size .Lubsan_type6, 10 +.Lubsan_type6: + .value 0 + .value 11 + .string "'int'" + .zero 54 + .section .data.rel.local + .align 32 + .type .Lubsan_data222, @object + .size .Lubsan_data222, 32 +.Lubsan_data222: + .quad .LC0 + .long 97 + .long 3 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data221, @object + .size .Lubsan_data221, 16 +.Lubsan_data221: + .quad .LC0 + .long 93 + .long 7 + .zero 48 + .align 32 + .type .Lubsan_data220, @object + .size .Lubsan_data220, 32 +.Lubsan_data220: + .quad .LC0 + .long 93 + .long 7 + .quad .Lubsan_type5 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type5, @object + .size .Lubsan_type5, 30 +.Lubsan_type5: + .value -1 + .value 0 + .string "'struct compilation_args'" + .zero 34 + .section .data.rel.local + .align 32 + .type .Lubsan_data219, @object + .size .Lubsan_data219, 16 +.Lubsan_data219: + .quad .LC0 + .long 92 + .long 3 + .zero 48 + .align 32 + .type .Lubsan_data218, @object + .size .Lubsan_data218, 32 +.Lubsan_data218: + .quad .LC0 + .long 92 + .long 171 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data217, @object + .size .Lubsan_data217, 16 +.Lubsan_data217: + .quad .LC0 + .long 92 + .long 160 + .zero 48 + .align 32 + .type .Lubsan_data216, @object + .size .Lubsan_data216, 32 +.Lubsan_data216: + .quad .LC0 + .long 92 + .long 160 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data215, @object + .size .Lubsan_data215, 32 +.Lubsan_data215: + .quad .LC0 + .long 86 + .long 57 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data214, @object + .size .Lubsan_data214, 32 +.Lubsan_data214: + .quad .LC0 + .long 182 + .long 93 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data213, @object + .size .Lubsan_data213, 16 +.Lubsan_data213: + .quad .LC0 + .long 181 + .long 3 + .zero 48 + .align 32 + .type .Lubsan_data212, @object + .size .Lubsan_data212, 32 +.Lubsan_data212: + .quad .LC0 + .long 181 + .long 158 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data211, @object + .size .Lubsan_data211, 16 +.Lubsan_data211: + .quad .LC0 + .long 181 + .long 147 + .zero 48 + .align 32 + .type .Lubsan_data210, @object + .size .Lubsan_data210, 32 +.Lubsan_data210: + .quad .LC0 + .long 181 + .long 147 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data209, @object + .size .Lubsan_data209, 32 +.Lubsan_data209: + .quad .LC0 + .long 170 + .long 57 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data208, @object + .size .Lubsan_data208, 32 +.Lubsan_data208: + .quad .LC0 + .long 177 + .long 34 + .quad .Lubsan_type4 + .byte 1 + .byte 0 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data207, @object + .size .Lubsan_data207, 16 +.Lubsan_data207: + .quad .LC0 + .long 177 + .long 34 + .zero 48 + .align 32 + .type .Lubsan_data206, @object + .size .Lubsan_data206, 32 +.Lubsan_data206: + .quad .LC0 + .long 177 + .long 16 + .quad .Lubsan_type3 + .byte 3 + .byte 0 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data205, @object + .size .Lubsan_data205, 32 +.Lubsan_data205: + .quad .LC0 + .long 163 + .long 94 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data204, @object + .size .Lubsan_data204, 16 +.Lubsan_data204: + .quad .LC0 + .long 162 + .long 3 + .zero 48 + .align 32 + .type .Lubsan_data203, @object + .size .Lubsan_data203, 32 +.Lubsan_data203: + .quad .LC0 + .long 162 + .long 165 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data202, @object + .size .Lubsan_data202, 16 +.Lubsan_data202: + .quad .LC0 + .long 162 + .long 154 + .zero 48 + .align 32 + .type .Lubsan_data201, @object + .size .Lubsan_data201, 32 +.Lubsan_data201: + .quad .LC0 + .long 162 + .long 154 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data200, @object + .size .Lubsan_data200, 32 +.Lubsan_data200: + .quad .LC0 + .long 154 + .long 57 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data199, @object + .size .Lubsan_data199, 32 +.Lubsan_data199: + .quad .LC0 + .long 158 + .long 34 + .quad .Lubsan_type4 + .byte 1 + .byte 0 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data198, @object + .size .Lubsan_data198, 16 +.Lubsan_data198: + .quad .LC0 + .long 158 + .long 34 + .zero 48 + .align 32 + .type .Lubsan_data197, @object + .size .Lubsan_data197, 32 +.Lubsan_data197: + .quad .LC0 + .long 158 + .long 16 + .quad .Lubsan_type3 + .byte 3 + .byte 0 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data196, @object + .size .Lubsan_data196, 32 +.Lubsan_data196: + .quad .LC0 + .long 312 + .long 93 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data195, @object + .size .Lubsan_data195, 16 +.Lubsan_data195: + .quad .LC0 + .long 311 + .long 3 + .zero 48 + .align 32 + .type .Lubsan_data194, @object + .size .Lubsan_data194, 32 +.Lubsan_data194: + .quad .LC0 + .long 311 + .long 170 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data193, @object + .size .Lubsan_data193, 16 +.Lubsan_data193: + .quad .LC0 + .long 311 + .long 159 + .zero 48 + .align 32 + .type .Lubsan_data192, @object + .size .Lubsan_data192, 32 +.Lubsan_data192: + .quad .LC0 + .long 311 + .long 159 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data191, @object + .size .Lubsan_data191, 32 +.Lubsan_data191: + .quad .LC0 + .long 300 + .long 57 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data190, @object + .size .Lubsan_data190, 32 +.Lubsan_data190: + .quad .LC0 + .long 307 + .long 34 + .quad .Lubsan_type4 + .byte 1 + .byte 0 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data189, @object + .size .Lubsan_data189, 16 +.Lubsan_data189: + .quad .LC0 + .long 307 + .long 34 + .zero 48 + .align 32 + .type .Lubsan_data188, @object + .size .Lubsan_data188, 32 +.Lubsan_data188: + .quad .LC0 + .long 307 + .long 16 + .quad .Lubsan_type3 + .byte 3 + .byte 0 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data187, @object + .size .Lubsan_data187, 32 +.Lubsan_data187: + .quad .LC0 + .long 146 + .long 94 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data186, @object + .size .Lubsan_data186, 16 +.Lubsan_data186: + .quad .LC0 + .long 145 + .long 3 + .zero 48 + .align 32 + .type .Lubsan_data185, @object + .size .Lubsan_data185, 32 +.Lubsan_data185: + .quad .LC0 + .long 145 + .long 169 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data184, @object + .size .Lubsan_data184, 16 +.Lubsan_data184: + .quad .LC0 + .long 145 + .long 158 + .zero 48 + .align 32 + .type .Lubsan_data183, @object + .size .Lubsan_data183, 32 +.Lubsan_data183: + .quad .LC0 + .long 145 + .long 158 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data182, @object + .size .Lubsan_data182, 32 +.Lubsan_data182: + .quad .LC0 + .long 137 + .long 57 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data181, @object + .size .Lubsan_data181, 32 +.Lubsan_data181: + .quad .LC0 + .long 141 + .long 34 + .quad .Lubsan_type4 + .byte 1 + .byte 0 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type4, @object + .size .Lubsan_type4, 31 +.Lubsan_type4: + .value -1 + .value 0 + .string "'const short unsigned int'" + .zero 33 + .section .data.rel.local + .align 32 + .type .Lubsan_data180, @object + .size .Lubsan_data180, 16 +.Lubsan_data180: + .quad .LC0 + .long 141 + .long 34 + .zero 48 + .align 32 + .type .Lubsan_data179, @object + .size .Lubsan_data179, 32 +.Lubsan_data179: + .quad .LC0 + .long 141 + .long 16 + .quad .Lubsan_type3 + .byte 3 + .byte 0 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type3, @object + .size .Lubsan_type3, 33 +.Lubsan_type3: + .value -1 + .value 0 + .string "'const short unsigned int *'" + .zero 63 + .section .data.rel.local + .align 32 + .type .Lubsan_data178, @object + .size .Lubsan_data178, 16 +.Lubsan_data178: + .quad .LC0 + .long 66 + .long 16 + .zero 48 + .align 32 + .type .Lubsan_data177, @object + .size .Lubsan_data177, 32 +.Lubsan_data177: + .quad .LC0 + .long 66 + .long 16 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data176, @object + .size .Lubsan_data176, 32 +.Lubsan_data176: + .quad .LC0 + .long 65 + .long 18 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data175, @object + .size .Lubsan_data175, 16 +.Lubsan_data175: + .quad .LC0 + .long 64 + .long 23 + .zero 48 + .align 32 + .type .Lubsan_data174, @object + .size .Lubsan_data174, 32 +.Lubsan_data174: + .quad .LC0 + .long 64 + .long 23 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type2, @object + .size .Lubsan_type2, 23 +.Lubsan_type2: + .value -1 + .value 0 + .string "'struct '" + .zero 41 + .section .data.rel.local + .align 32 + .type .Lubsan_data173, @object + .size .Lubsan_data173, 32 +.Lubsan_data173: + .quad .LC0 + .long 64 + .long 35 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data172, @object + .size .Lubsan_data172, 32 +.Lubsan_data172: + .quad .LC0 + .long 73 + .long 57 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type1, @object + .size .Lubsan_type1, 23 +.Lubsan_type1: + .value -1 + .value 0 + .string "'struct '" + .zero 41 + .section .data.rel.local + .align 32 + .type .Lubsan_data171, @object + .size .Lubsan_data171, 40 +.Lubsan_data171: + .quad .LC0 + .long 499 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data170, @object + .size .Lubsan_data170, 40 +.Lubsan_data170: + .quad .LC0 + .long 498 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data169, @object + .size .Lubsan_data169, 40 +.Lubsan_data169: + .quad .LC0 + .long 481 + .long 91 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data168, @object + .size .Lubsan_data168, 40 +.Lubsan_data168: + .quad .LC0 + .long 481 + .long 46 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data167, @object + .size .Lubsan_data167, 40 +.Lubsan_data167: + .quad .LC0 + .long 474 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data164, @object + .size .Lubsan_data164, 40 +.Lubsan_data164: + .quad .LC0 + .long 465 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data163, @object + .size .Lubsan_data163, 40 +.Lubsan_data163: + .quad .LC0 + .long 492 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data161, @object + .size .Lubsan_data161, 40 +.Lubsan_data161: + .quad .LC0 + .long 491 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data160, @object + .size .Lubsan_data160, 40 +.Lubsan_data160: + .quad .LC0 + .long 454 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data159, @object + .size .Lubsan_data159, 40 +.Lubsan_data159: + .quad .LC0 + .long 453 + .long 41 + .quad 0 + .long 0 + .long 0 + .long 2 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data158, @object + .size .Lubsan_data158, 40 +.Lubsan_data158: + .quad .LC0 + .long 453 + .long 41 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data157, @object + .size .Lubsan_data157, 40 +.Lubsan_data157: + .quad .LC0 + .long 452 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data155, @object + .size .Lubsan_data155, 40 +.Lubsan_data155: + .quad .LC0 + .long 451 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data154, @object + .size .Lubsan_data154, 40 +.Lubsan_data154: + .quad .LC0 + .long 451 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data153, @object + .size .Lubsan_data153, 40 +.Lubsan_data153: + .quad .LC0 + .long 401 + .long 11 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data152, @object + .size .Lubsan_data152, 40 +.Lubsan_data152: + .quad .LC0 + .long 444 + .long 15 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data151, @object + .size .Lubsan_data151, 40 +.Lubsan_data151: + .quad .LC0 + .long 416 + .long 11 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data150, @object + .size .Lubsan_data150, 40 +.Lubsan_data150: + .quad .LC0 + .long 415 + .long 11 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data148, @object + .size .Lubsan_data148, 40 +.Lubsan_data148: + .quad .LC0 + .long 414 + .long 11 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data147, @object + .size .Lubsan_data147, 40 +.Lubsan_data147: + .quad .LC0 + .long 410 + .long 11 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data145, @object + .size .Lubsan_data145, 40 +.Lubsan_data145: + .quad .LC0 + .long 409 + .long 11 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data144, @object + .size .Lubsan_data144, 40 +.Lubsan_data144: + .quad .LC0 + .long 404 + .long 48 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data143, @object + .size .Lubsan_data143, 40 +.Lubsan_data143: + .quad .LC0 + .long 403 + .long 51 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data142, @object + .size .Lubsan_data142, 40 +.Lubsan_data142: + .quad .LC0 + .long 196 + .long 89 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data141, @object + .size .Lubsan_data141, 40 +.Lubsan_data141: + .quad .LC0 + .long 196 + .long 5 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data139, @object + .size .Lubsan_data139, 40 +.Lubsan_data139: + .quad .LC0 + .long 195 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data138, @object + .size .Lubsan_data138, 40 +.Lubsan_data138: + .quad .LC0 + .long 195 + .long 162 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data137, @object + .size .Lubsan_data137, 40 +.Lubsan_data137: + .quad .LC0 + .long 189 + .long 57 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data136, @object + .size .Lubsan_data136, 40 +.Lubsan_data136: + .quad .LC0 + .long 391 + .long 87 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data135, @object + .size .Lubsan_data135, 40 +.Lubsan_data135: + .quad .LC0 + .long 391 + .long 5 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data134, @object + .size .Lubsan_data134, 40 +.Lubsan_data134: + .quad .LC0 + .long 388 + .long 7 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data132, @object + .size .Lubsan_data132, 40 +.Lubsan_data132: + .quad .LC0 + .long 387 + .long 7 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data130, @object + .size .Lubsan_data130, 40 +.Lubsan_data130: + .quad .LC0 + .long 340 + .long 182 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data128, @object + .size .Lubsan_data128, 40 +.Lubsan_data128: + .quad .LC0 + .long 340 + .long 55 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data126, @object + .size .Lubsan_data126, 40 +.Lubsan_data126: + .quad .LC0 + .long 339 + .long 176 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data124, @object + .size .Lubsan_data124, 40 +.Lubsan_data124: + .quad .LC0 + .long 339 + .long 52 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data122, @object + .size .Lubsan_data122, 40 +.Lubsan_data122: + .quad .LC0 + .long 338 + .long 190 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data120, @object + .size .Lubsan_data120, 40 +.Lubsan_data120: + .quad .LC0 + .long 338 + .long 59 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data118, @object + .size .Lubsan_data118, 40 +.Lubsan_data118: + .quad .LC0 + .long 337 + .long 184 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data116, @object + .size .Lubsan_data116, 40 +.Lubsan_data116: + .quad .LC0 + .long 337 + .long 56 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data114, @object + .size .Lubsan_data114, 40 +.Lubsan_data114: + .quad .LC0 + .long 336 + .long 180 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data112, @object + .size .Lubsan_data112, 40 +.Lubsan_data112: + .quad .LC0 + .long 336 + .long 54 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data110, @object + .size .Lubsan_data110, 40 +.Lubsan_data110: + .quad .LC0 + .long 335 + .long 176 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data108, @object + .size .Lubsan_data108, 40 +.Lubsan_data108: + .quad .LC0 + .long 335 + .long 52 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data106, @object + .size .Lubsan_data106, 40 +.Lubsan_data106: + .quad .LC0 + .long 334 + .long 178 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data104, @object + .size .Lubsan_data104, 40 +.Lubsan_data104: + .quad .LC0 + .long 334 + .long 53 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data102, @object + .size .Lubsan_data102, 40 +.Lubsan_data102: + .quad .LC0 + .long 332 + .long 17 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data100, @object + .size .Lubsan_data100, 40 +.Lubsan_data100: + .quad .LC0 + .long 331 + .long 17 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data98, @object + .size .Lubsan_data98, 40 +.Lubsan_data98: + .quad .LC0 + .long 330 + .long 17 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data96, @object + .size .Lubsan_data96, 40 +.Lubsan_data96: + .quad .LC0 + .long 329 + .long 17 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data94, @object + .size .Lubsan_data94, 40 +.Lubsan_data94: + .quad .LC0 + .long 328 + .long 17 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data92, @object + .size .Lubsan_data92, 40 +.Lubsan_data92: + .quad .LC0 + .long 327 + .long 17 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data90, @object + .size .Lubsan_data90, 40 +.Lubsan_data90: + .quad .LC0 + .long 326 + .long 17 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data89, @object + .size .Lubsan_data89, 40 +.Lubsan_data89: + .quad .LC0 + .long 320 + .long 14 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data88, @object + .size .Lubsan_data88, 40 +.Lubsan_data88: + .quad .LC0 + .long 319 + .long 17 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data87, @object + .size .Lubsan_data87, 40 +.Lubsan_data87: + .quad .LC0 + .long 121 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data86, @object + .size .Lubsan_data86, 40 +.Lubsan_data86: + .quad .LC0 + .long 120 + .long 5 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data85, @object + .size .Lubsan_data85, 40 +.Lubsan_data85: + .quad .LC0 + .long 118 + .long 5 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data83, @object + .size .Lubsan_data83, 40 +.Lubsan_data83: + .quad .LC0 + .long 115 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data82, @object + .size .Lubsan_data82, 40 +.Lubsan_data82: + .quad .LC0 + .long 115 + .long 147 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data80, @object + .size .Lubsan_data80, 40 +.Lubsan_data80: + .quad .LC0 + .long 113 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data79, @object + .size .Lubsan_data79, 40 +.Lubsan_data79: + .quad .LC0 + .long 129 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data78, @object + .size .Lubsan_data78, 40 +.Lubsan_data78: + .quad .LC0 + .long 128 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data77, @object + .size .Lubsan_data77, 40 +.Lubsan_data77: + .quad .LC0 + .long 126 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 4 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data76, @object + .size .Lubsan_data76, 40 +.Lubsan_data76: + .quad .LC0 + .long 126 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data75, @object + .size .Lubsan_data75, 40 +.Lubsan_data75: + .quad .LC0 + .long 104 + .long 57 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data74, @object + .size .Lubsan_data74, 40 +.Lubsan_data74: + .quad .LC0 + .long 106 + .long 16 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data73, @object + .size .Lubsan_data73, 40 +.Lubsan_data73: + .quad .LC0 + .long 270 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data72, @object + .size .Lubsan_data72, 40 +.Lubsan_data72: + .quad .LC0 + .long 269 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data71, @object + .size .Lubsan_data71, 40 +.Lubsan_data71: + .quad .LC0 + .long 267 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 4 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data70, @object + .size .Lubsan_data70, 40 +.Lubsan_data70: + .quad .LC0 + .long 267 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data69, @object + .size .Lubsan_data69, 40 +.Lubsan_data69: + .quad .LC0 + .long 262 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data68, @object + .size .Lubsan_data68, 40 +.Lubsan_data68: + .quad .LC0 + .long 261 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data66, @object + .size .Lubsan_data66, 40 +.Lubsan_data66: + .quad .LC0 + .long 260 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data65, @object + .size .Lubsan_data65, 40 +.Lubsan_data65: + .quad .LC0 + .long 260 + .long 170 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data64, @object + .size .Lubsan_data64, 40 +.Lubsan_data64: + .quad .LC0 + .long 258 + .long 5 + .quad 0 + .long 0 + .long 0 + .long 4 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data63, @object + .size .Lubsan_data63, 40 +.Lubsan_data63: + .quad .LC0 + .long 258 + .long 5 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data62, @object + .size .Lubsan_data62, 40 +.Lubsan_data62: + .quad .LC0 + .long 237 + .long 57 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data61, @object + .size .Lubsan_data61, 40 +.Lubsan_data61: + .quad .LC0 + .long 239 + .long 16 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data60, @object + .size .Lubsan_data60, 40 +.Lubsan_data60: + .quad .LC0 + .long 230 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data59, @object + .size .Lubsan_data59, 40 +.Lubsan_data59: + .quad .LC0 + .long 229 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data58, @object + .size .Lubsan_data58, 40 +.Lubsan_data58: + .quad .LC0 + .long 227 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 4 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data57, @object + .size .Lubsan_data57, 40 +.Lubsan_data57: + .quad .LC0 + .long 227 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data56, @object + .size .Lubsan_data56, 40 +.Lubsan_data56: + .quad .LC0 + .long 222 + .long 92 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data55, @object + .size .Lubsan_data55, 40 +.Lubsan_data55: + .quad .LC0 + .long 222 + .long 5 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data53, @object + .size .Lubsan_data53, 40 +.Lubsan_data53: + .quad .LC0 + .long 221 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data52, @object + .size .Lubsan_data52, 40 +.Lubsan_data52: + .quad .LC0 + .long 221 + .long 167 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data51, @object + .size .Lubsan_data51, 40 +.Lubsan_data51: + .quad .LC0 + .long 203 + .long 57 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data50, @object + .size .Lubsan_data50, 40 +.Lubsan_data50: + .quad .LC0 + .long 205 + .long 16 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data49, @object + .size .Lubsan_data49, 40 +.Lubsan_data49: + .quad .LC0 + .long 293 + .long 93 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data48, @object + .size .Lubsan_data48, 40 +.Lubsan_data48: + .quad .LC0 + .long 293 + .long 5 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data46, @object + .size .Lubsan_data46, 40 +.Lubsan_data46: + .quad .LC0 + .long 292 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data45, @object + .size .Lubsan_data45, 40 +.Lubsan_data45: + .quad .LC0 + .long 292 + .long 164 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data44, @object + .size .Lubsan_data44, 40 +.Lubsan_data44: + .quad .LC0 + .long 277 + .long 57 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data43, @object + .size .Lubsan_data43, 40 +.Lubsan_data43: + .quad .LC0 + .long 97 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data42, @object + .size .Lubsan_data42, 40 +.Lubsan_data42: + .quad .LC0 + .long 96 + .long 5 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data41, @object + .size .Lubsan_data41, 40 +.Lubsan_data41: + .quad .LC0 + .long 94 + .long 5 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data39, @object + .size .Lubsan_data39, 40 +.Lubsan_data39: + .quad .LC0 + .long 92 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data38, @object + .size .Lubsan_data38, 40 +.Lubsan_data38: + .quad .LC0 + .long 92 + .long 171 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data37, @object + .size .Lubsan_data37, 40 +.Lubsan_data37: + .quad .LC0 + .long 86 + .long 57 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data36, @object + .size .Lubsan_data36, 40 +.Lubsan_data36: + .quad .LC0 + .long 182 + .long 93 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data35, @object + .size .Lubsan_data35, 40 +.Lubsan_data35: + .quad .LC0 + .long 182 + .long 5 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data33, @object + .size .Lubsan_data33, 40 +.Lubsan_data33: + .quad .LC0 + .long 181 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data32, @object + .size .Lubsan_data32, 40 +.Lubsan_data32: + .quad .LC0 + .long 181 + .long 158 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data31, @object + .size .Lubsan_data31, 40 +.Lubsan_data31: + .quad .LC0 + .long 170 + .long 57 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data30, @object + .size .Lubsan_data30, 40 +.Lubsan_data30: + .quad .LC0 + .long 163 + .long 94 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data29, @object + .size .Lubsan_data29, 40 +.Lubsan_data29: + .quad .LC0 + .long 163 + .long 5 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data27, @object + .size .Lubsan_data27, 40 +.Lubsan_data27: + .quad .LC0 + .long 162 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data26, @object + .size .Lubsan_data26, 40 +.Lubsan_data26: + .quad .LC0 + .long 162 + .long 165 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data25, @object + .size .Lubsan_data25, 40 +.Lubsan_data25: + .quad .LC0 + .long 154 + .long 57 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data24, @object + .size .Lubsan_data24, 40 +.Lubsan_data24: + .quad .LC0 + .long 312 + .long 93 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data23, @object + .size .Lubsan_data23, 40 +.Lubsan_data23: + .quad .LC0 + .long 312 + .long 5 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data21, @object + .size .Lubsan_data21, 40 +.Lubsan_data21: + .quad .LC0 + .long 311 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data20, @object + .size .Lubsan_data20, 40 +.Lubsan_data20: + .quad .LC0 + .long 311 + .long 170 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data19, @object + .size .Lubsan_data19, 40 +.Lubsan_data19: + .quad .LC0 + .long 300 + .long 57 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data18, @object + .size .Lubsan_data18, 40 +.Lubsan_data18: + .quad .LC0 + .long 146 + .long 94 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data17, @object + .size .Lubsan_data17, 40 +.Lubsan_data17: + .quad .LC0 + .long 146 + .long 5 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data15, @object + .size .Lubsan_data15, 40 +.Lubsan_data15: + .quad .LC0 + .long 145 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data14, @object + .size .Lubsan_data14, 40 +.Lubsan_data14: + .quad .LC0 + .long 145 + .long 169 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data13, @object + .size .Lubsan_data13, 40 +.Lubsan_data13: + .quad .LC0 + .long 137 + .long 57 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data12, @object + .size .Lubsan_data12, 40 +.Lubsan_data12: + .quad .LC0 + .long 64 + .long 35 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data11, @object + .size .Lubsan_data11, 40 +.Lubsan_data11: + .quad .LC0 + .long 73 + .long 57 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .section .rodata + .align 32 + .type __func__.0, @object + .size __func__.0, 13 +__func__.0: + .string "lex_ctx_free" + .zero 51 + .align 32 + .type __func__.1, @object + .size __func__.1, 22 +__func__.1: + .string "lex_ctx_create_lexeme" + .zero 42 + .align 32 + .type __func__.2, @object + .size __func__.2, 12 +__func__.2: + .string "lex_ctx_new" + .zero 52 + .bss + .align 32 + .type g_comp_args, @object + .size g_comp_args, 8 +g_comp_args: + .zero 64 + .align 32 + .type g_diagnostics, @object + .size g_diagnostics, 8 +g_diagnostics: + .zero 64 + .section .data.rel.local + .align 16 + .type .LASANLOC1, @object + .size .LASANLOC1, 16 +.LASANLOC1: + .quad .LC0 + .long 500 + .long 20 + .align 16 + .type .LASANLOC2, @object + .size .LASANLOC2, 16 +.LASANLOC2: + .quad .LC0 + .long 63 + .long 40 + .align 16 + .type .LASANLOC3, @object + .size .LASANLOC3, 16 +.LASANLOC3: + .quad .LC0 + .long 461 + .long 38 + .align 16 + .type .LASANLOC4, @object + .size .LASANLOC4, 16 +.LASANLOC4: + .quad .LC0 + .long 56 + .long 33 + .align 16 + .type .LASANLOC5, @object + .size .LASANLOC5, 16 +.LASANLOC5: + .quad .LC0 + .long 55 + .long 16 + .section .rodata.str1.1,"aMS",@progbits,1 +.LC46: + .string "*.Lubsan_data297" +.LC47: + .string "*.Lubsan_data296" +.LC48: + .string "*.Lubsan_data295" +.LC49: + .string "*.Lubsan_data294" +.LC50: + .string "*.Lubsan_data293" +.LC51: + .string "*.Lubsan_data292" +.LC52: + .string "*.Lubsan_data291" +.LC53: + .string "*.Lubsan_data290" +.LC54: + .string "*.Lubsan_data289" +.LC55: + .string "*.Lubsan_data288" +.LC56: + .string "*.Lubsan_data287" +.LC57: + .string "*.Lubsan_type8" +.LC58: + .string "*.Lubsan_data286" +.LC59: + .string "*.Lubsan_data285" +.LC60: + .string "*.Lubsan_data284" +.LC61: + .string "*.Lubsan_data283" +.LC62: + .string "*.Lubsan_data282" +.LC63: + .string "*.Lubsan_data281" +.LC64: + .string "*.Lubsan_data280" +.LC65: + .string "*.Lubsan_data279" +.LC66: + .string "*.Lubsan_data278" +.LC67: + .string "*.Lubsan_data277" +.LC68: + .string "*.Lubsan_data276" +.LC69: + .string "*.Lubsan_data275" +.LC70: + .string "*.Lubsan_data274" +.LC71: + .string "*.Lubsan_data273" +.LC72: + .string "*.Lubsan_data272" +.LC73: + .string "*.Lubsan_data271" +.LC74: + .string "*.Lubsan_data270" +.LC75: + .string "*.Lubsan_data269" +.LC76: + .string "*.Lubsan_data268" +.LC77: + .string "*.Lubsan_data267" +.LC78: + .string "*.Lubsan_data266" +.LC79: + .string "*.Lubsan_data265" +.LC80: + .string "*.Lubsan_data264" +.LC81: + .string "*.Lubsan_data263" +.LC82: + .string "*.Lubsan_data262" +.LC83: + .string "*.Lubsan_data261" +.LC84: + .string "*.Lubsan_data260" +.LC85: + .string "*.Lubsan_data259" +.LC86: + .string "*.Lubsan_data258" +.LC87: + .string "*.Lubsan_data257" +.LC88: + .string "*.Lubsan_data256" +.LC89: + .string "*.Lubsan_data255" +.LC90: + .string "*.Lubsan_data254" +.LC91: + .string "*.Lubsan_data253" +.LC92: + .string "*.Lubsan_data252" +.LC93: + .string "*.Lubsan_data251" +.LC94: + .string "*.Lubsan_data250" +.LC95: + .string "*.Lubsan_data249" +.LC96: + .string "*.Lubsan_data248" +.LC97: + .string "*.Lubsan_data247" +.LC98: + .string "*.Lubsan_data246" +.LC99: + .string "*.Lubsan_data245" +.LC100: + .string "*.Lubsan_data244" +.LC101: + .string "*.Lubsan_data243" +.LC102: + .string "*.Lubsan_data242" +.LC103: + .string "*.Lubsan_data241" +.LC104: + .string "*.Lubsan_data240" +.LC105: + .string "*.Lubsan_data239" +.LC106: + .string "*.Lubsan_data238" +.LC107: + .string "*.Lubsan_data237" +.LC108: + .string "*.Lubsan_data236" +.LC109: + .string "*.Lubsan_data235" +.LC110: + .string "*.Lubsan_data234" +.LC111: + .string "*.Lubsan_data233" +.LC112: + .string "*.Lubsan_data232" +.LC113: + .string "*.Lubsan_data231" +.LC114: + .string "*.Lubsan_data230" +.LC115: + .string "*.Lubsan_data229" +.LC116: + .string "*.Lubsan_data228" +.LC117: + .string "*.Lubsan_data227" +.LC118: + .string "*.Lubsan_data226" +.LC119: + .string "*.Lubsan_data225" +.LC120: + .string "*.Lubsan_data224" +.LC121: + .string "*.Lubsan_type7" +.LC122: + .string "*.Lubsan_data223" +.LC123: + .string "*.Lubsan_type6" +.LC124: + .string "*.Lubsan_data222" +.LC125: + .string "*.Lubsan_data221" +.LC126: + .string "*.Lubsan_data220" +.LC127: + .string "*.Lubsan_type5" +.LC128: + .string "*.Lubsan_data219" +.LC129: + .string "*.Lubsan_data218" +.LC130: + .string "*.Lubsan_data217" +.LC131: + .string "*.Lubsan_data216" +.LC132: + .string "*.Lubsan_data215" +.LC133: + .string "*.Lubsan_data214" +.LC134: + .string "*.Lubsan_data213" +.LC135: + .string "*.Lubsan_data212" +.LC136: + .string "*.Lubsan_data211" +.LC137: + .string "*.Lubsan_data210" +.LC138: + .string "*.Lubsan_data209" +.LC139: + .string "*.Lubsan_data208" +.LC140: + .string "*.Lubsan_data207" +.LC141: + .string "*.Lubsan_data206" +.LC142: + .string "*.Lubsan_data205" +.LC143: + .string "*.Lubsan_data204" +.LC144: + .string "*.Lubsan_data203" +.LC145: + .string "*.Lubsan_data202" +.LC146: + .string "*.Lubsan_data201" +.LC147: + .string "*.Lubsan_data200" +.LC148: + .string "*.Lubsan_data199" +.LC149: + .string "*.Lubsan_data198" +.LC150: + .string "*.Lubsan_data197" +.LC151: + .string "*.Lubsan_data196" +.LC152: + .string "*.Lubsan_data195" +.LC153: + .string "*.Lubsan_data194" +.LC154: + .string "*.Lubsan_data193" +.LC155: + .string "*.Lubsan_data192" +.LC156: + .string "*.Lubsan_data191" +.LC157: + .string "*.Lubsan_data190" +.LC158: + .string "*.Lubsan_data189" +.LC159: + .string "*.Lubsan_data188" +.LC160: + .string "*.Lubsan_data187" +.LC161: + .string "*.Lubsan_data186" +.LC162: + .string "*.Lubsan_data185" +.LC163: + .string "*.Lubsan_data184" +.LC164: + .string "*.Lubsan_data183" +.LC165: + .string "*.Lubsan_data182" +.LC166: + .string "*.Lubsan_data181" +.LC167: + .string "*.Lubsan_type4" +.LC168: + .string "*.Lubsan_data180" +.LC169: + .string "*.Lubsan_data179" +.LC170: + .string "*.Lubsan_type3" +.LC171: + .string "*.Lubsan_data178" +.LC172: + .string "*.Lubsan_data177" +.LC173: + .string "*.Lubsan_data176" +.LC174: + .string "*.Lubsan_data175" +.LC175: + .string "*.Lubsan_data174" +.LC176: + .string "*.Lubsan_type2" +.LC177: + .string "*.Lubsan_data173" +.LC178: + .string "*.Lubsan_data172" +.LC179: + .string "*.Lubsan_type1" +.LC180: + .string "*.Lubsan_data171" +.LC181: + .string "*.Lubsan_data170" +.LC182: + .string "*.Lubsan_data169" +.LC183: + .string "*.Lubsan_data168" +.LC184: + .string "*.Lubsan_data167" +.LC185: + .string "*.Lubsan_data164" +.LC186: + .string "*.Lubsan_data163" +.LC187: + .string "*.Lubsan_data161" +.LC188: + .string "*.Lubsan_data160" +.LC189: + .string "*.Lubsan_data159" +.LC190: + .string "*.Lubsan_data158" +.LC191: + .string "*.Lubsan_data157" +.LC192: + .string "*.Lubsan_data155" +.LC193: + .string "*.Lubsan_data154" +.LC194: + .string "*.Lubsan_data153" +.LC195: + .string "*.Lubsan_data152" +.LC196: + .string "*.Lubsan_data151" +.LC197: + .string "*.Lubsan_data150" +.LC198: + .string "*.Lubsan_data148" +.LC199: + .string "*.Lubsan_data147" +.LC200: + .string "*.Lubsan_data145" +.LC201: + .string "*.Lubsan_data144" +.LC202: + .string "*.Lubsan_data143" +.LC203: + .string "*.Lubsan_data142" +.LC204: + .string "*.Lubsan_data141" +.LC205: + .string "*.Lubsan_data139" +.LC206: + .string "*.Lubsan_data138" +.LC207: + .string "*.Lubsan_data137" +.LC208: + .string "*.Lubsan_data136" +.LC209: + .string "*.Lubsan_data135" +.LC210: + .string "*.Lubsan_data134" +.LC211: + .string "*.Lubsan_data132" +.LC212: + .string "*.Lubsan_data130" +.LC213: + .string "*.Lubsan_data128" +.LC214: + .string "*.Lubsan_data126" +.LC215: + .string "*.Lubsan_data124" +.LC216: + .string "*.Lubsan_data122" +.LC217: + .string "*.Lubsan_data120" +.LC218: + .string "*.Lubsan_data118" +.LC219: + .string "*.Lubsan_data116" +.LC220: + .string "*.Lubsan_data114" +.LC221: + .string "*.Lubsan_data112" +.LC222: + .string "*.Lubsan_data110" +.LC223: + .string "*.Lubsan_data108" +.LC224: + .string "*.Lubsan_data106" +.LC225: + .string "*.Lubsan_data104" +.LC226: + .string "*.Lubsan_data102" +.LC227: + .string "*.Lubsan_data100" +.LC228: + .string "*.Lubsan_data98" +.LC229: + .string "*.Lubsan_data96" +.LC230: + .string "*.Lubsan_data94" +.LC231: + .string "*.Lubsan_data92" +.LC232: + .string "*.Lubsan_data90" +.LC233: + .string "*.Lubsan_data89" +.LC234: + .string "*.Lubsan_data88" +.LC235: + .string "*.Lubsan_data87" +.LC236: + .string "*.Lubsan_data86" +.LC237: + .string "*.Lubsan_data85" +.LC238: + .string "*.Lubsan_data83" +.LC239: + .string "*.Lubsan_data82" +.LC240: + .string "*.Lubsan_data80" +.LC241: + .string "*.Lubsan_data79" +.LC242: + .string "*.Lubsan_data78" +.LC243: + .string "*.Lubsan_data77" +.LC244: + .string "*.Lubsan_data76" +.LC245: + .string "*.Lubsan_data75" +.LC246: + .string "*.Lubsan_data74" +.LC247: + .string "*.Lubsan_data73" +.LC248: + .string "*.Lubsan_data72" +.LC249: + .string "*.Lubsan_data71" +.LC250: + .string "*.Lubsan_data70" +.LC251: + .string "*.Lubsan_data69" +.LC252: + .string "*.Lubsan_data68" +.LC253: + .string "*.Lubsan_data66" +.LC254: + .string "*.Lubsan_data65" +.LC255: + .string "*.Lubsan_data64" +.LC256: + .string "*.Lubsan_data63" +.LC257: + .string "*.Lubsan_data62" +.LC258: + .string "*.Lubsan_data61" +.LC259: + .string "*.Lubsan_data60" +.LC260: + .string "*.Lubsan_data59" +.LC261: + .string "*.Lubsan_data58" +.LC262: + .string "*.Lubsan_data57" +.LC263: + .string "*.Lubsan_data56" +.LC264: + .string "*.Lubsan_data55" +.LC265: + .string "*.Lubsan_data53" +.LC266: + .string "*.Lubsan_data52" +.LC267: + .string "*.Lubsan_data51" +.LC268: + .string "*.Lubsan_data50" +.LC269: + .string "*.Lubsan_data49" +.LC270: + .string "*.Lubsan_data48" +.LC271: + .string "*.Lubsan_data46" +.LC272: + .string "*.Lubsan_data45" +.LC273: + .string "*.Lubsan_data44" +.LC274: + .string "*.Lubsan_data43" +.LC275: + .string "*.Lubsan_data42" +.LC276: + .string "*.Lubsan_data41" +.LC277: + .string "*.Lubsan_data39" +.LC278: + .string "*.Lubsan_data38" +.LC279: + .string "*.Lubsan_data37" +.LC280: + .string "*.Lubsan_data36" +.LC281: + .string "*.Lubsan_data35" +.LC282: + .string "*.Lubsan_data33" +.LC283: + .string "*.Lubsan_data32" +.LC284: + .string "*.Lubsan_data31" +.LC285: + .string "*.Lubsan_data30" +.LC286: + .string "*.Lubsan_data29" +.LC287: + .string "*.Lubsan_data27" +.LC288: + .string "*.Lubsan_data26" +.LC289: + .string "*.Lubsan_data25" +.LC290: + .string "*.Lubsan_data24" +.LC291: + .string "*.Lubsan_data23" +.LC292: + .string "*.Lubsan_data21" +.LC293: + .string "*.Lubsan_data20" +.LC294: + .string "*.Lubsan_data19" +.LC295: + .string "*.Lubsan_data18" +.LC296: + .string "*.Lubsan_data17" +.LC297: + .string "*.Lubsan_data15" +.LC298: + .string "*.Lubsan_data14" +.LC299: + .string "*.Lubsan_data13" +.LC300: + .string "*.Lubsan_data12" +.LC301: + .string "*.Lubsan_data11" +.LC302: + .string "__func__" +.LC303: + .string "g_comp_args" +.LC304: + .string "g_diagnostics" +.LC305: + .string "*.LC27" +.LC306: + .string "*.LC30" +.LC307: + .string "*.LC37" +.LC308: + .string "*.LC35" +.LC309: + .string "*.LC43" +.LC310: + .string "*.LC20" +.LC311: + .string "*.LC24" +.LC312: + .string "*.LC14" +.LC313: + .string "*.LC10" +.LC314: + .string "*.LC29" +.LC315: + .string "*.LC6" +.LC316: + .string "*.LC28" +.LC317: + .string "*.LC42" +.LC318: + .string "*.LC34" +.LC319: + .string "*.LC38" +.LC320: + .string "*.LC33" +.LC321: + .string "*.LC18" +.LC322: + .string "*.LC15" +.LC323: + .string "*.LC2" +.LC324: + .string "*.LC22" +.LC325: + .string "*.LC40" +.LC326: + .string "*.LC36" +.LC327: + .string "*.LC21" +.LC328: + .string "*.LC39" +.LC329: + .string "*.LC13" +.LC330: + .string "*.LC11" +.LC331: + .string "*.LC1" +.LC332: + .string "*.LC9" +.LC333: + .string "*.LC12" +.LC334: + .string "*.LC7" +.LC335: + .string "*.LC16" +.LC336: + .string "*.LC0" +.LC337: + .string "*.LC17" +.LC338: + .string "*.LC45" +.LC339: + .string "*.LC4" +.LC340: + .string "*.LC44" +.LC341: + .string "*.LC25" +.LC342: + .string "*.LC41" +.LC343: + .string "*.LC19" +.LC344: + .string "*.LC3" +.LC345: + .string "*.LC8" +.LC346: + .string "*.LC5" +.LC347: + .string "*.LC23" +.LC348: + .string "*.LC32" +.LC349: + .string "*.LC26" +.LC350: + .string "*.LC31" + .section .data.rel.local + .align 32 + .type .LASAN0, @object + .size .LASAN0, 19648 +.LASAN0: + .quad .Lubsan_data297 + .quad 16 + .quad 64 + .quad .LC46 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data296 + .quad 32 + .quad 64 + .quad .LC47 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data295 + .quad 32 + .quad 64 + .quad .LC48 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data294 + .quad 32 + .quad 64 + .quad .LC49 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data293 + .quad 32 + .quad 64 + .quad .LC50 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data292 + .quad 32 + .quad 64 + .quad .LC51 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data291 + .quad 16 + .quad 64 + .quad .LC52 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data290 + .quad 32 + .quad 64 + .quad .LC53 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data289 + .quad 32 + .quad 64 + .quad .LC54 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data288 + .quad 16 + .quad 64 + .quad .LC55 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data287 + .quad 32 + .quad 64 + .quad .LC56 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type8 + .quad 24 + .quad 64 + .quad .LC57 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data286 + .quad 32 + .quad 64 + .quad .LC58 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data285 + .quad 32 + .quad 64 + .quad .LC59 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data284 + .quad 32 + .quad 64 + .quad .LC60 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data283 + .quad 32 + .quad 64 + .quad .LC61 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data282 + .quad 16 + .quad 64 + .quad .LC62 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data281 + .quad 32 + .quad 64 + .quad .LC63 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data280 + .quad 32 + .quad 64 + .quad .LC64 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data279 + .quad 32 + .quad 64 + .quad .LC65 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data278 + .quad 32 + .quad 64 + .quad .LC66 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data277 + .quad 16 + .quad 64 + .quad .LC67 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data276 + .quad 32 + .quad 64 + .quad .LC68 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data275 + .quad 32 + .quad 64 + .quad .LC69 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data274 + .quad 16 + .quad 64 + .quad .LC70 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data273 + .quad 32 + .quad 64 + .quad .LC71 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data272 + .quad 16 + .quad 64 + .quad .LC72 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data271 + .quad 32 + .quad 64 + .quad .LC73 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data270 + .quad 32 + .quad 64 + .quad .LC74 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data269 + .quad 32 + .quad 64 + .quad .LC75 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data268 + .quad 32 + .quad 64 + .quad .LC76 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data267 + .quad 32 + .quad 64 + .quad .LC77 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data266 + .quad 32 + .quad 64 + .quad .LC78 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data265 + .quad 24 + .quad 64 + .quad .LC79 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data264 + .quad 24 + .quad 64 + .quad .LC80 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data263 + .quad 32 + .quad 64 + .quad .LC81 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data262 + .quad 16 + .quad 64 + .quad .LC82 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data261 + .quad 32 + .quad 64 + .quad .LC83 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data260 + .quad 16 + .quad 64 + .quad .LC84 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data259 + .quad 32 + .quad 64 + .quad .LC85 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data258 + .quad 16 + .quad 64 + .quad .LC86 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data257 + .quad 32 + .quad 64 + .quad .LC87 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data256 + .quad 16 + .quad 64 + .quad .LC88 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data255 + .quad 32 + .quad 64 + .quad .LC89 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data254 + .quad 32 + .quad 64 + .quad .LC90 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data253 + .quad 32 + .quad 64 + .quad .LC91 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data252 + .quad 32 + .quad 64 + .quad .LC92 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data251 + .quad 24 + .quad 64 + .quad .LC93 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data250 + .quad 32 + .quad 64 + .quad .LC94 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data249 + .quad 32 + .quad 64 + .quad .LC95 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data248 + .quad 16 + .quad 64 + .quad .LC96 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data247 + .quad 32 + .quad 64 + .quad .LC97 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data246 + .quad 16 + .quad 64 + .quad .LC98 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data245 + .quad 32 + .quad 64 + .quad .LC99 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data244 + .quad 32 + .quad 64 + .quad .LC100 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data243 + .quad 32 + .quad 64 + .quad .LC101 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data242 + .quad 24 + .quad 64 + .quad .LC102 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data241 + .quad 32 + .quad 64 + .quad .LC103 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data240 + .quad 32 + .quad 64 + .quad .LC104 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data239 + .quad 16 + .quad 64 + .quad .LC105 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data238 + .quad 32 + .quad 64 + .quad .LC106 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data237 + .quad 16 + .quad 64 + .quad .LC107 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data236 + .quad 32 + .quad 64 + .quad .LC108 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data235 + .quad 32 + .quad 64 + .quad .LC109 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data234 + .quad 32 + .quad 64 + .quad .LC110 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data233 + .quad 32 + .quad 64 + .quad .LC111 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data232 + .quad 16 + .quad 64 + .quad .LC112 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data231 + .quad 32 + .quad 64 + .quad .LC113 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data230 + .quad 16 + .quad 64 + .quad .LC114 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data229 + .quad 32 + .quad 64 + .quad .LC115 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data228 + .quad 32 + .quad 64 + .quad .LC116 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data227 + .quad 32 + .quad 64 + .quad .LC117 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data226 + .quad 16 + .quad 64 + .quad .LC118 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data225 + .quad 32 + .quad 64 + .quad .LC119 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data224 + .quad 24 + .quad 64 + .quad .LC120 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type7 + .quad 15 + .quad 64 + .quad .LC121 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data223 + .quad 24 + .quad 64 + .quad .LC122 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type6 + .quad 10 + .quad 64 + .quad .LC123 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data222 + .quad 32 + .quad 64 + .quad .LC124 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data221 + .quad 16 + .quad 64 + .quad .LC125 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data220 + .quad 32 + .quad 64 + .quad .LC126 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type5 + .quad 30 + .quad 64 + .quad .LC127 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data219 + .quad 16 + .quad 64 + .quad .LC128 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data218 + .quad 32 + .quad 64 + .quad .LC129 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data217 + .quad 16 + .quad 64 + .quad .LC130 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data216 + .quad 32 + .quad 64 + .quad .LC131 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data215 + .quad 32 + .quad 64 + .quad .LC132 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data214 + .quad 32 + .quad 64 + .quad .LC133 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data213 + .quad 16 + .quad 64 + .quad .LC134 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data212 + .quad 32 + .quad 64 + .quad .LC135 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data211 + .quad 16 + .quad 64 + .quad .LC136 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data210 + .quad 32 + .quad 64 + .quad .LC137 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data209 + .quad 32 + .quad 64 + .quad .LC138 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data208 + .quad 32 + .quad 64 + .quad .LC139 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data207 + .quad 16 + .quad 64 + .quad .LC140 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data206 + .quad 32 + .quad 64 + .quad .LC141 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data205 + .quad 32 + .quad 64 + .quad .LC142 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data204 + .quad 16 + .quad 64 + .quad .LC143 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data203 + .quad 32 + .quad 64 + .quad .LC144 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data202 + .quad 16 + .quad 64 + .quad .LC145 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data201 + .quad 32 + .quad 64 + .quad .LC146 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data200 + .quad 32 + .quad 64 + .quad .LC147 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data199 + .quad 32 + .quad 64 + .quad .LC148 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data198 + .quad 16 + .quad 64 + .quad .LC149 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data197 + .quad 32 + .quad 64 + .quad .LC150 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data196 + .quad 32 + .quad 64 + .quad .LC151 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data195 + .quad 16 + .quad 64 + .quad .LC152 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data194 + .quad 32 + .quad 64 + .quad .LC153 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data193 + .quad 16 + .quad 64 + .quad .LC154 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data192 + .quad 32 + .quad 64 + .quad .LC155 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data191 + .quad 32 + .quad 64 + .quad .LC156 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data190 + .quad 32 + .quad 64 + .quad .LC157 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data189 + .quad 16 + .quad 64 + .quad .LC158 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data188 + .quad 32 + .quad 64 + .quad .LC159 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data187 + .quad 32 + .quad 64 + .quad .LC160 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data186 + .quad 16 + .quad 64 + .quad .LC161 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data185 + .quad 32 + .quad 64 + .quad .LC162 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data184 + .quad 16 + .quad 64 + .quad .LC163 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data183 + .quad 32 + .quad 64 + .quad .LC164 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data182 + .quad 32 + .quad 64 + .quad .LC165 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data181 + .quad 32 + .quad 64 + .quad .LC166 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type4 + .quad 31 + .quad 64 + .quad .LC167 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data180 + .quad 16 + .quad 64 + .quad .LC168 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data179 + .quad 32 + .quad 64 + .quad .LC169 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type3 + .quad 33 + .quad 96 + .quad .LC170 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data178 + .quad 16 + .quad 64 + .quad .LC171 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data177 + .quad 32 + .quad 64 + .quad .LC172 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data176 + .quad 32 + .quad 64 + .quad .LC173 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data175 + .quad 16 + .quad 64 + .quad .LC174 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data174 + .quad 32 + .quad 64 + .quad .LC175 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type2 + .quad 23 + .quad 64 + .quad .LC176 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data173 + .quad 32 + .quad 64 + .quad .LC177 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data172 + .quad 32 + .quad 64 + .quad .LC178 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type1 + .quad 23 + .quad 64 + .quad .LC179 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data171 + .quad 40 + .quad 96 + .quad .LC180 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data170 + .quad 40 + .quad 96 + .quad .LC181 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data169 + .quad 40 + .quad 96 + .quad .LC182 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data168 + .quad 40 + .quad 96 + .quad .LC183 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data167 + .quad 40 + .quad 96 + .quad .LC184 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data164 + .quad 40 + .quad 96 + .quad .LC185 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data163 + .quad 40 + .quad 96 + .quad .LC186 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data161 + .quad 40 + .quad 96 + .quad .LC187 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data160 + .quad 40 + .quad 96 + .quad .LC188 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data159 + .quad 40 + .quad 96 + .quad .LC189 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data158 + .quad 40 + .quad 96 + .quad .LC190 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data157 + .quad 40 + .quad 96 + .quad .LC191 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data155 + .quad 40 + .quad 96 + .quad .LC192 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data154 + .quad 40 + .quad 96 + .quad .LC193 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data153 + .quad 40 + .quad 96 + .quad .LC194 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data152 + .quad 40 + .quad 96 + .quad .LC195 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data151 + .quad 40 + .quad 96 + .quad .LC196 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data150 + .quad 40 + .quad 96 + .quad .LC197 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data148 + .quad 40 + .quad 96 + .quad .LC198 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data147 + .quad 40 + .quad 96 + .quad .LC199 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data145 + .quad 40 + .quad 96 + .quad .LC200 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data144 + .quad 40 + .quad 96 + .quad .LC201 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data143 + .quad 40 + .quad 96 + .quad .LC202 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data142 + .quad 40 + .quad 96 + .quad .LC203 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data141 + .quad 40 + .quad 96 + .quad .LC204 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data139 + .quad 40 + .quad 96 + .quad .LC205 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data138 + .quad 40 + .quad 96 + .quad .LC206 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data137 + .quad 40 + .quad 96 + .quad .LC207 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data136 + .quad 40 + .quad 96 + .quad .LC208 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data135 + .quad 40 + .quad 96 + .quad .LC209 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data134 + .quad 40 + .quad 96 + .quad .LC210 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data132 + .quad 40 + .quad 96 + .quad .LC211 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data130 + .quad 40 + .quad 96 + .quad .LC212 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data128 + .quad 40 + .quad 96 + .quad .LC213 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data126 + .quad 40 + .quad 96 + .quad .LC214 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data124 + .quad 40 + .quad 96 + .quad .LC215 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data122 + .quad 40 + .quad 96 + .quad .LC216 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data120 + .quad 40 + .quad 96 + .quad .LC217 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data118 + .quad 40 + .quad 96 + .quad .LC218 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data116 + .quad 40 + .quad 96 + .quad .LC219 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data114 + .quad 40 + .quad 96 + .quad .LC220 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data112 + .quad 40 + .quad 96 + .quad .LC221 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data110 + .quad 40 + .quad 96 + .quad .LC222 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data108 + .quad 40 + .quad 96 + .quad .LC223 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data106 + .quad 40 + .quad 96 + .quad .LC224 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data104 + .quad 40 + .quad 96 + .quad .LC225 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data102 + .quad 40 + .quad 96 + .quad .LC226 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data100 + .quad 40 + .quad 96 + .quad .LC227 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data98 + .quad 40 + .quad 96 + .quad .LC228 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data96 + .quad 40 + .quad 96 + .quad .LC229 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data94 + .quad 40 + .quad 96 + .quad .LC230 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data92 + .quad 40 + .quad 96 + .quad .LC231 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data90 + .quad 40 + .quad 96 + .quad .LC232 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data89 + .quad 40 + .quad 96 + .quad .LC233 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data88 + .quad 40 + .quad 96 + .quad .LC234 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data87 + .quad 40 + .quad 96 + .quad .LC235 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data86 + .quad 40 + .quad 96 + .quad .LC236 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data85 + .quad 40 + .quad 96 + .quad .LC237 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data83 + .quad 40 + .quad 96 + .quad .LC238 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data82 + .quad 40 + .quad 96 + .quad .LC239 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data80 + .quad 40 + .quad 96 + .quad .LC240 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data79 + .quad 40 + .quad 96 + .quad .LC241 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data78 + .quad 40 + .quad 96 + .quad .LC242 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data77 + .quad 40 + .quad 96 + .quad .LC243 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data76 + .quad 40 + .quad 96 + .quad .LC244 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data75 + .quad 40 + .quad 96 + .quad .LC245 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data74 + .quad 40 + .quad 96 + .quad .LC246 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data73 + .quad 40 + .quad 96 + .quad .LC247 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data72 + .quad 40 + .quad 96 + .quad .LC248 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data71 + .quad 40 + .quad 96 + .quad .LC249 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data70 + .quad 40 + .quad 96 + .quad .LC250 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data69 + .quad 40 + .quad 96 + .quad .LC251 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data68 + .quad 40 + .quad 96 + .quad .LC252 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data66 + .quad 40 + .quad 96 + .quad .LC253 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data65 + .quad 40 + .quad 96 + .quad .LC254 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data64 + .quad 40 + .quad 96 + .quad .LC255 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data63 + .quad 40 + .quad 96 + .quad .LC256 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data62 + .quad 40 + .quad 96 + .quad .LC257 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data61 + .quad 40 + .quad 96 + .quad .LC258 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data60 + .quad 40 + .quad 96 + .quad .LC259 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data59 + .quad 40 + .quad 96 + .quad .LC260 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data58 + .quad 40 + .quad 96 + .quad .LC261 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data57 + .quad 40 + .quad 96 + .quad .LC262 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data56 + .quad 40 + .quad 96 + .quad .LC263 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data55 + .quad 40 + .quad 96 + .quad .LC264 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data53 + .quad 40 + .quad 96 + .quad .LC265 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data52 + .quad 40 + .quad 96 + .quad .LC266 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data51 + .quad 40 + .quad 96 + .quad .LC267 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data50 + .quad 40 + .quad 96 + .quad .LC268 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data49 + .quad 40 + .quad 96 + .quad .LC269 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data48 + .quad 40 + .quad 96 + .quad .LC270 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data46 + .quad 40 + .quad 96 + .quad .LC271 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data45 + .quad 40 + .quad 96 + .quad .LC272 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data44 + .quad 40 + .quad 96 + .quad .LC273 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data43 + .quad 40 + .quad 96 + .quad .LC274 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data42 + .quad 40 + .quad 96 + .quad .LC275 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data41 + .quad 40 + .quad 96 + .quad .LC276 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data39 + .quad 40 + .quad 96 + .quad .LC277 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data38 + .quad 40 + .quad 96 + .quad .LC278 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data37 + .quad 40 + .quad 96 + .quad .LC279 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data36 + .quad 40 + .quad 96 + .quad .LC280 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data35 + .quad 40 + .quad 96 + .quad .LC281 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data33 + .quad 40 + .quad 96 + .quad .LC282 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data32 + .quad 40 + .quad 96 + .quad .LC283 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data31 + .quad 40 + .quad 96 + .quad .LC284 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data30 + .quad 40 + .quad 96 + .quad .LC285 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data29 + .quad 40 + .quad 96 + .quad .LC286 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data27 + .quad 40 + .quad 96 + .quad .LC287 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data26 + .quad 40 + .quad 96 + .quad .LC288 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data25 + .quad 40 + .quad 96 + .quad .LC289 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data24 + .quad 40 + .quad 96 + .quad .LC290 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data23 + .quad 40 + .quad 96 + .quad .LC291 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data21 + .quad 40 + .quad 96 + .quad .LC292 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data20 + .quad 40 + .quad 96 + .quad .LC293 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data19 + .quad 40 + .quad 96 + .quad .LC294 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data18 + .quad 40 + .quad 96 + .quad .LC295 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data17 + .quad 40 + .quad 96 + .quad .LC296 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data15 + .quad 40 + .quad 96 + .quad .LC297 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data14 + .quad 40 + .quad 96 + .quad .LC298 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data13 + .quad 40 + .quad 96 + .quad .LC299 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data12 + .quad 40 + .quad 96 + .quad .LC300 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data11 + .quad 40 + .quad 96 + .quad .LC301 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad __func__.0 + .quad 13 + .quad 64 + .quad .LC302 + .quad .LC0 + .quad 0 + .quad .LASANLOC1 + .quad 0 + .quad __func__.1 + .quad 22 + .quad 64 + .quad .LC302 + .quad .LC0 + .quad 0 + .quad .LASANLOC2 + .quad 0 + .quad __func__.2 + .quad 12 + .quad 64 + .quad .LC302 + .quad .LC0 + .quad 0 + .quad .LASANLOC3 + .quad 0 + .quad g_comp_args + .quad 8 + .quad 64 + .quad .LC303 + .quad .LC0 + .quad 0 + .quad .LASANLOC4 + .quad 0 + .quad g_diagnostics + .quad 8 + .quad 64 + .quad .LC304 + .quad .LC0 + .quad 0 + .quad .LASANLOC5 + .quad 0 + .quad .LC27 + .quad 69 + .quad 128 + .quad .LC305 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC30 + .quad 87 + .quad 128 + .quad .LC306 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC37 + .quad 68 + .quad 128 + .quad .LC307 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC35 + .quad 75 + .quad 128 + .quad .LC308 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC43 + .quad 61 + .quad 96 + .quad .LC309 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC20 + .quad 73 + .quad 128 + .quad .LC310 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC24 + .quad 68 + .quad 128 + .quad .LC311 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC14 + .quad 4 + .quad 64 + .quad .LC312 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC10 + .quad 35 + .quad 96 + .quad .LC313 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC29 + .quad 68 + .quad 128 + .quad .LC314 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC6 + .quad 79 + .quad 128 + .quad .LC315 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC28 + .quad 85 + .quad 128 + .quad .LC316 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC42 + .quad 61 + .quad 96 + .quad .LC317 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC34 + .quad 92 + .quad 128 + .quad .LC318 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC38 + .quad 88 + .quad 128 + .quad .LC319 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC33 + .quad 72 + .quad 128 + .quad .LC320 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC18 + .quad 67 + .quad 128 + .quad .LC321 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC15 + .quad 3 + .quad 64 + .quad .LC322 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC2 + .quad 77 + .quad 128 + .quad .LC323 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC22 + .quad 73 + .quad 128 + .quad .LC324 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC40 + .quad 66 + .quad 128 + .quad .LC325 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC36 + .quad 85 + .quad 128 + .quad .LC326 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC21 + .quad 74 + .quad 128 + .quad .LC327 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC39 + .quad 71 + .quad 128 + .quad .LC328 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC13 + .quad 43 + .quad 96 + .quad .LC329 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC11 + .quad 10 + .quad 64 + .quad .LC330 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC1 + .quad 67 + .quad 128 + .quad .LC331 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC9 + .quad 43 + .quad 96 + .quad .LC332 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC12 + .quad 77 + .quad 128 + .quad .LC333 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC7 + .quad 72 + .quad 128 + .quad .LC334 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC16 + .quad 68 + .quad 128 + .quad .LC335 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC0 + .quad 12 + .quad 64 + .quad .LC336 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC17 + .quad 106 + .quad 160 + .quad .LC337 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC45 + .quad 56 + .quad 96 + .quad .LC338 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC4 + .quad 73 + .quad 128 + .quad .LC339 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC44 + .quad 63 + .quad 96 + .quad .LC340 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC25 + .quad 67 + .quad 128 + .quad .LC341 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC41 + .quad 70 + .quad 128 + .quad .LC342 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC19 + .quad 77 + .quad 128 + .quad .LC343 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC3 + .quad 78 + .quad 128 + .quad .LC344 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC8 + .quad 74 + .quad 128 + .quad .LC345 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC5 + .quad 66 + .quad 128 + .quad .LC346 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC23 + .quad 74 + .quad 128 + .quad .LC347 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC32 + .quad 89 + .quad 128 + .quad .LC348 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC26 + .quad 86 + .quad 128 + .quad .LC349 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC31 + .quad 70 + .quad 128 + .quad .LC350 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .text + .type _sub_D_00099_0, @function +_sub_D_00099_0: +.LFB74: + .cfi_startproc + .loc 1 501 1 is_stmt 1 view .LVU1384 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl $307, %esi + leaq .LASAN0(%rip), %rdi + call __asan_unregister_globals@PLT + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE74: + .size _sub_D_00099_0, .-_sub_D_00099_0 + .section .fini_array.00099,"aw" + .align 8 + .quad _sub_D_00099_0 + .text + .type _sub_I_00099_1, @function +_sub_I_00099_1: +.LFB75: + .cfi_startproc + .loc 1 501 1 view .LVU1385 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + call __asan_init@PLT + call __asan_version_mismatch_check_v8@PLT + movl $307, %esi + leaq .LASAN0(%rip), %rdi + call __asan_register_globals@PLT + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE75: + .size _sub_I_00099_1, .-_sub_I_00099_1 + .section .init_array.00099,"aw" + .align 8 + .quad _sub_I_00099_1 + .text +.Letext0: + .file 3 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" + .file 4 "/usr/include/bits/types.h" + .file 5 "/usr/include/bits/stdint-intn.h" + .file 6 "include/array.h" + .file 7 "/usr/include/bits/stdint-uintn.h" + .file 8 "/usr/include/stdint.h" + .file 9 "/usr/include/bits/types/struct_FILE.h" + .file 10 "/usr/include/bits/types/FILE.h" + .file 11 "/usr/include/stdio.h" + .file 12 "include/io.h" + .file 13 "include/lexer.h" + .file 14 "include/diagnostics.h" + .file 15 "include/generic.h" + .file 16 "include/stdio-ext.h" + .file 17 "/usr/include/bits/stdio2-decl.h" + .file 18 "/usr/include/ctype.h" + .file 19 "" + .section .debug_info,"",@progbits +.Ldebug_info0: + .long 0x5d9e + .value 0x5 + .byte 0x1 + .byte 0x8 + .long .Ldebug_abbrev0 + .uleb128 0x2f + .long .LASF221 + .byte 0x1d + .long .LASF0 + .long .LASF1 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .long .Ldebug_line0 + .uleb128 0xd + .long .LASF8 + .byte 0x3 + .byte 0xd6 + .byte 0x1b + .long 0x3a + .uleb128 0x11 + .byte 0x8 + .byte 0x7 + .long .LASF2 + .uleb128 0x30 + .byte 0x4 + .byte 0x5 + .string "int" + .uleb128 0x11 + .byte 0x8 + .byte 0x5 + .long .LASF3 + .uleb128 0x11 + .byte 0x8 + .byte 0x5 + .long .LASF4 + .uleb128 0x11 + .byte 0x1 + .byte 0x8 + .long .LASF5 + .uleb128 0x11 + .byte 0x2 + .byte 0x7 + .long .LASF6 + .uleb128 0x16 + .long 0x5d + .uleb128 0x11 + .byte 0x4 + .byte 0x7 + .long .LASF7 + .uleb128 0xd + .long .LASF9 + .byte 0x4 + .byte 0x25 + .byte 0x15 + .long 0x7c + .uleb128 0x11 + .byte 0x1 + .byte 0x6 + .long .LASF10 + .uleb128 0xd + .long .LASF11 + .byte 0x4 + .byte 0x26 + .byte 0x17 + .long 0x56 + .uleb128 0x11 + .byte 0x2 + .byte 0x5 + .long .LASF12 + .uleb128 0xd + .long .LASF13 + .byte 0x4 + .byte 0x2d + .byte 0x1b + .long 0x3a + .uleb128 0xd + .long .LASF14 + .byte 0x4 + .byte 0x98 + .byte 0x12 + .long 0x48 + .uleb128 0xd + .long .LASF15 + .byte 0x4 + .byte 0x99 + .byte 0x12 + .long 0x48 + .uleb128 0x31 + .byte 0x8 + .uleb128 0xc + .long 0xc1 + .uleb128 0x11 + .byte 0x1 + .byte 0x6 + .long .LASF16 + .uleb128 0x16 + .long 0xc1 + .uleb128 0xd + .long .LASF17 + .byte 0x5 + .byte 0x18 + .byte 0x12 + .long 0x70 + .uleb128 0x11 + .byte 0x8 + .byte 0x7 + .long .LASF18 + .uleb128 0xd + .long .LASF19 + .byte 0x6 + .byte 0xb + .byte 0x1c + .long 0xec + .uleb128 0xc + .long 0xf1 + .uleb128 0x19 + .long .LASF54 + .uleb128 0xd + .long .LASF20 + .byte 0x6 + .byte 0xc + .byte 0x10 + .long 0x102 + .uleb128 0xc + .long 0x107 + .uleb128 0x32 + .long 0x112 + .uleb128 0x8 + .long 0xba + .byte 0 + .uleb128 0xd + .long .LASF21 + .byte 0x7 + .byte 0x18 + .byte 0x13 + .long 0x83 + .uleb128 0xd + .long .LASF22 + .byte 0x7 + .byte 0x1b + .byte 0x14 + .long 0x96 + .uleb128 0xd + .long .LASF23 + .byte 0x8 + .byte 0x4f + .byte 0x1b + .long 0x3a + .uleb128 0x1f + .long .LASF65 + .byte 0xd8 + .byte 0x9 + .byte 0x31 + .byte 0x8 + .long 0x2bd + .uleb128 0x7 + .long .LASF24 + .byte 0x9 + .byte 0x33 + .byte 0x7 + .long 0x41 + .byte 0 + .uleb128 0x7 + .long .LASF25 + .byte 0x9 + .byte 0x36 + .byte 0x9 + .long 0xbc + .byte 0x8 + .uleb128 0x7 + .long .LASF26 + .byte 0x9 + .byte 0x37 + .byte 0x9 + .long 0xbc + .byte 0x10 + .uleb128 0x7 + .long .LASF27 + .byte 0x9 + .byte 0x38 + .byte 0x9 + .long 0xbc + .byte 0x18 + .uleb128 0x7 + .long .LASF28 + .byte 0x9 + .byte 0x39 + .byte 0x9 + .long 0xbc + .byte 0x20 + .uleb128 0x7 + .long .LASF29 + .byte 0x9 + .byte 0x3a + .byte 0x9 + .long 0xbc + .byte 0x28 + .uleb128 0x7 + .long .LASF30 + .byte 0x9 + .byte 0x3b + .byte 0x9 + .long 0xbc + .byte 0x30 + .uleb128 0x7 + .long .LASF31 + .byte 0x9 + .byte 0x3c + .byte 0x9 + .long 0xbc + .byte 0x38 + .uleb128 0x7 + .long .LASF32 + .byte 0x9 + .byte 0x3d + .byte 0x9 + .long 0xbc + .byte 0x40 + .uleb128 0x7 + .long .LASF33 + .byte 0x9 + .byte 0x40 + .byte 0x9 + .long 0xbc + .byte 0x48 + .uleb128 0x7 + .long .LASF34 + .byte 0x9 + .byte 0x41 + .byte 0x9 + .long 0xbc + .byte 0x50 + .uleb128 0x7 + .long .LASF35 + .byte 0x9 + .byte 0x42 + .byte 0x9 + .long 0xbc + .byte 0x58 + .uleb128 0x7 + .long .LASF36 + .byte 0x9 + .byte 0x44 + .byte 0x16 + .long 0x2d6 + .byte 0x60 + .uleb128 0x7 + .long .LASF37 + .byte 0x9 + .byte 0x46 + .byte 0x14 + .long 0x2db + .byte 0x68 + .uleb128 0x7 + .long .LASF38 + .byte 0x9 + .byte 0x48 + .byte 0x7 + .long 0x41 + .byte 0x70 + .uleb128 0x7 + .long .LASF39 + .byte 0x9 + .byte 0x49 + .byte 0x7 + .long 0x41 + .byte 0x74 + .uleb128 0x7 + .long .LASF40 + .byte 0x9 + .byte 0x4a + .byte 0xb + .long 0xa2 + .byte 0x78 + .uleb128 0x7 + .long .LASF41 + .byte 0x9 + .byte 0x4d + .byte 0x12 + .long 0x5d + .byte 0x80 + .uleb128 0x7 + .long .LASF42 + .byte 0x9 + .byte 0x4e + .byte 0xf + .long 0x7c + .byte 0x82 + .uleb128 0x7 + .long .LASF43 + .byte 0x9 + .byte 0x4f + .byte 0x8 + .long 0x2e0 + .byte 0x83 + .uleb128 0x7 + .long .LASF44 + .byte 0x9 + .byte 0x51 + .byte 0xf + .long 0x2f0 + .byte 0x88 + .uleb128 0x7 + .long .LASF45 + .byte 0x9 + .byte 0x59 + .byte 0xd + .long 0xae + .byte 0x90 + .uleb128 0x7 + .long .LASF46 + .byte 0x9 + .byte 0x5b + .byte 0x17 + .long 0x2fa + .byte 0x98 + .uleb128 0x7 + .long .LASF47 + .byte 0x9 + .byte 0x5c + .byte 0x19 + .long 0x304 + .byte 0xa0 + .uleb128 0x7 + .long .LASF48 + .byte 0x9 + .byte 0x5d + .byte 0x14 + .long 0x2db + .byte 0xa8 + .uleb128 0x7 + .long .LASF49 + .byte 0x9 + .byte 0x5e + .byte 0x9 + .long 0xba + .byte 0xb0 + .uleb128 0x7 + .long .LASF50 + .byte 0x9 + .byte 0x5f + .byte 0xa + .long 0x2e + .byte 0xb8 + .uleb128 0x7 + .long .LASF51 + .byte 0x9 + .byte 0x60 + .byte 0x7 + .long 0x41 + .byte 0xc0 + .uleb128 0x7 + .long .LASF52 + .byte 0x9 + .byte 0x62 + .byte 0x8 + .long 0x309 + .byte 0xc4 + .byte 0 + .uleb128 0xd + .long .LASF53 + .byte 0xa + .byte 0x7 + .byte 0x19 + .long 0x136 + .uleb128 0x33 + .long .LASF222 + .byte 0x9 + .byte 0x2b + .byte 0xe + .uleb128 0x19 + .long .LASF55 + .uleb128 0xc + .long 0x2d1 + .uleb128 0xc + .long 0x136 + .uleb128 0x1a + .long 0xc1 + .long 0x2f0 + .uleb128 0x1b + .long 0x3a + .byte 0 + .byte 0 + .uleb128 0xc + .long 0x2c9 + .uleb128 0x19 + .long .LASF56 + .uleb128 0xc + .long 0x2f5 + .uleb128 0x19 + .long .LASF57 + .uleb128 0xc + .long 0x2ff + .uleb128 0x1a + .long 0xc1 + .long 0x319 + .uleb128 0x1b + .long 0x3a + .byte 0x13 + .byte 0 + .uleb128 0xc + .long 0xc8 + .uleb128 0x16 + .long 0x319 + .uleb128 0x23 + .long 0x319 + .uleb128 0xc + .long 0x2bd + .uleb128 0x23 + .long 0x328 + .uleb128 0x24 + .long .LASF58 + .byte 0x96 + .long 0x328 + .uleb128 0x24 + .long .LASF59 + .byte 0x97 + .long 0x328 + .uleb128 0xd + .long .LASF60 + .byte 0xc + .byte 0x6 + .byte 0xf + .long 0x328 + .uleb128 0x1c + .byte 0x20 + .byte 0xc + .byte 0x8 + .byte 0x9 + .long 0x390 + .uleb128 0x34 + .string "ptr" + .byte 0xc + .byte 0xa + .byte 0xa + .long 0x346 + .byte 0 + .uleb128 0x7 + .long .LASF61 + .byte 0xc + .byte 0xb + .byte 0xc + .long 0x390 + .byte 0x8 + .uleb128 0x7 + .long .LASF62 + .byte 0xc + .byte 0xc + .byte 0xf + .long 0x319 + .byte 0x10 + .uleb128 0x7 + .long .LASF63 + .byte 0xc + .byte 0xd + .byte 0xa + .long 0x2e + .byte 0x18 + .byte 0 + .uleb128 0xc + .long 0x112 + .uleb128 0xd + .long .LASF64 + .byte 0xc + .byte 0xe + .byte 0x4 + .long 0x3a6 + .uleb128 0x16 + .long 0x395 + .uleb128 0xc + .long 0x352 + .uleb128 0xc + .long 0x64 + .uleb128 0x1f + .long .LASF66 + .byte 0x10 + .byte 0xd + .byte 0x9 + .byte 0x10 + .long 0x3d8 + .uleb128 0x7 + .long .LASF67 + .byte 0xd + .byte 0xb + .byte 0xb + .long 0xe0 + .byte 0 + .uleb128 0x7 + .long .LASF68 + .byte 0xd + .byte 0xc + .byte 0xb + .long 0xe0 + .byte 0x8 + .byte 0 + .uleb128 0xd + .long .LASF69 + .byte 0xd + .byte 0xd + .byte 0x4 + .long 0x3e4 + .uleb128 0xc + .long 0x3b0 + .uleb128 0x25 + .long .LASF119 + .long 0x69 + .byte 0xd + .byte 0x1d + .long 0x4ef + .uleb128 0x6 + .long .LASF70 + .byte 0 + .uleb128 0x6 + .long .LASF71 + .byte 0x1 + .uleb128 0x6 + .long .LASF72 + .byte 0x2 + .uleb128 0x6 + .long .LASF73 + .byte 0x3 + .uleb128 0x6 + .long .LASF74 + .byte 0x4 + .uleb128 0x6 + .long .LASF75 + .byte 0x5 + .uleb128 0x6 + .long .LASF76 + .byte 0x6 + .uleb128 0x6 + .long .LASF77 + .byte 0x7 + .uleb128 0x6 + .long .LASF78 + .byte 0x8 + .uleb128 0x1d + .string "Dot" + .byte 0x9 + .uleb128 0x1d + .string "Add" + .byte 0xa + .uleb128 0x6 + .long .LASF79 + .byte 0xb + .uleb128 0x1d + .string "Div" + .byte 0xc + .uleb128 0x6 + .long .LASF80 + .byte 0xd + .uleb128 0x6 + .long .LASF81 + .byte 0xe + .uleb128 0x6 + .long .LASF82 + .byte 0xf + .uleb128 0x6 + .long .LASF83 + .byte 0x10 + .uleb128 0x6 + .long .LASF84 + .byte 0x11 + .uleb128 0x6 + .long .LASF85 + .byte 0x12 + .uleb128 0x6 + .long .LASF86 + .byte 0x13 + .uleb128 0x6 + .long .LASF87 + .byte 0x14 + .uleb128 0x6 + .long .LASF88 + .byte 0x15 + .uleb128 0x6 + .long .LASF89 + .byte 0x16 + .uleb128 0x6 + .long .LASF90 + .byte 0x17 + .uleb128 0x6 + .long .LASF91 + .byte 0x18 + .uleb128 0x6 + .long .LASF92 + .byte 0x19 + .uleb128 0x1d + .string "Not" + .byte 0x1a + .uleb128 0x6 + .long .LASF93 + .byte 0x1b + .uleb128 0x6 + .long .LASF94 + .byte 0x1c + .uleb128 0x6 + .long .LASF95 + .byte 0x1d + .uleb128 0x6 + .long .LASF96 + .byte 0x1e + .uleb128 0x6 + .long .LASF97 + .byte 0x1f + .uleb128 0x6 + .long .LASF98 + .byte 0x20 + .uleb128 0x6 + .long .LASF99 + .byte 0x21 + .uleb128 0x6 + .long .LASF100 + .byte 0x22 + .uleb128 0x6 + .long .LASF101 + .byte 0x23 + .uleb128 0x6 + .long .LASF102 + .byte 0x24 + .uleb128 0x6 + .long .LASF103 + .byte 0x25 + .uleb128 0x6 + .long .LASF104 + .byte 0x26 + .uleb128 0x6 + .long .LASF105 + .byte 0x27 + .uleb128 0x6 + .long .LASF106 + .byte 0x28 + .byte 0 + .uleb128 0x1c + .byte 0x18 + .byte 0xd + .byte 0x34 + .byte 0x9 + .long 0x520 + .uleb128 0x7 + .long .LASF107 + .byte 0xd + .byte 0x36 + .byte 0xc + .long 0x11e + .byte 0 + .uleb128 0x7 + .long .LASF108 + .byte 0xd + .byte 0x37 + .byte 0xc + .long 0x11e + .byte 0x8 + .uleb128 0x7 + .long .LASF109 + .byte 0xd + .byte 0x38 + .byte 0x14 + .long 0x3e9 + .byte 0x10 + .byte 0 + .uleb128 0xd + .long .LASF110 + .byte 0xd + .byte 0x39 + .byte 0x4 + .long 0x52c + .uleb128 0xc + .long 0x4ef + .uleb128 0x1c + .byte 0x1 + .byte 0xe + .byte 0xa + .byte 0x3 + .long 0x545 + .uleb128 0x26 + .long .LASF112 + .byte 0xc + .long 0x545 + .byte 0 + .uleb128 0x11 + .byte 0x1 + .byte 0x2 + .long .LASF111 + .uleb128 0x1c + .byte 0x1 + .byte 0xe + .byte 0xe + .byte 0x3 + .long 0x560 + .uleb128 0x26 + .long .LASF113 + .byte 0x10 + .long 0x545 + .byte 0 + .uleb128 0x1f + .long .LASF114 + .byte 0x18 + .byte 0xe + .byte 0x8 + .byte 0x8 + .long 0x5a2 + .uleb128 0x7 + .long .LASF115 + .byte 0xe + .byte 0xd + .byte 0x5 + .long 0x531 + .byte 0 + .uleb128 0x7 + .long .LASF116 + .byte 0xe + .byte 0x11 + .byte 0x5 + .long 0x54c + .byte 0x1 + .uleb128 0x7 + .long .LASF117 + .byte 0xe + .byte 0x12 + .byte 0xa + .long 0x5a2 + .byte 0x8 + .uleb128 0x7 + .long .LASF118 + .byte 0xe + .byte 0x13 + .byte 0xa + .long 0x2e + .byte 0x10 + .byte 0 + .uleb128 0xc + .long 0xbc + .uleb128 0x25 + .long .LASF120 + .long 0x69 + .byte 0xe + .byte 0x16 + .long 0x5c9 + .uleb128 0x6 + .long .LASF121 + .byte 0 + .uleb128 0x6 + .long .LASF122 + .byte 0x1 + .uleb128 0x6 + .long .LASF123 + .byte 0x2 + .byte 0 + .uleb128 0xd + .long .LASF124 + .byte 0xe + .byte 0x1e + .byte 0x21 + .long 0x5d5 + .uleb128 0xc + .long 0x5da + .uleb128 0x19 + .long .LASF125 + .uleb128 0x35 + .byte 0x7 + .byte 0x4 + .long 0x69 + .byte 0x12 + .byte 0x2f + .byte 0x1 + .long 0x63e + .uleb128 0x13 + .long .LASF126 + .value 0x100 + .uleb128 0x13 + .long .LASF127 + .value 0x200 + .uleb128 0x13 + .long .LASF128 + .value 0x400 + .uleb128 0x13 + .long .LASF129 + .value 0x800 + .uleb128 0x13 + .long .LASF130 + .value 0x1000 + .uleb128 0x13 + .long .LASF131 + .value 0x2000 + .uleb128 0x13 + .long .LASF132 + .value 0x4000 + .uleb128 0x13 + .long .LASF133 + .value 0x8000 + .uleb128 0x6 + .long .LASF134 + .byte 0x1 + .uleb128 0x6 + .long .LASF135 + .byte 0x2 + .uleb128 0x6 + .long .LASF136 + .byte 0x4 + .uleb128 0x6 + .long .LASF137 + .byte 0x8 + .byte 0 + .uleb128 0x27 + .long .LASF138 + .byte 0x37 + .byte 0x10 + .long 0x5c9 + .uleb128 0x9 + .byte 0x3 + .quad g_diagnostics + .uleb128 0x27 + .long .LASF139 + .byte 0x38 + .byte 0x21 + .long 0x668 + .uleb128 0x9 + .byte 0x3 + .quad g_comp_args + .uleb128 0xc + .long 0x560 + .uleb128 0x18 + .long .LASF140 + .byte 0xf + .byte 0x51 + .long 0x67e + .uleb128 0x8 + .long 0xba + .byte 0 + .uleb128 0x18 + .long .LASF141 + .byte 0xf + .byte 0x50 + .long 0x694 + .uleb128 0x8 + .long 0x319 + .uleb128 0x8 + .long 0xba + .byte 0 + .uleb128 0x18 + .long .LASF142 + .byte 0xc + .byte 0x1d + .long 0x6a5 + .uleb128 0x8 + .long 0x395 + .byte 0 + .uleb128 0x18 + .long .LASF143 + .byte 0x6 + .byte 0x27 + .long 0x6bb + .uleb128 0x8 + .long 0xe0 + .uleb128 0x8 + .long 0xf6 + .byte 0 + .uleb128 0x10 + .long .LASF145 + .byte 0x10 + .byte 0xd + .byte 0x5 + .long 0x41 + .long 0x6d1 + .uleb128 0x8 + .long 0x41 + .byte 0 + .uleb128 0x18 + .long .LASF144 + .byte 0xe + .byte 0x28 + .long 0x6f7 + .uleb128 0x8 + .long 0x5c9 + .uleb128 0x8 + .long 0x319 + .uleb128 0x8 + .long 0x5a7 + .uleb128 0x8 + .long 0x520 + .uleb128 0x8 + .long 0x319 + .uleb128 0x20 + .byte 0 + .uleb128 0x10 + .long .LASF146 + .byte 0x10 + .byte 0xb + .byte 0x5 + .long 0x41 + .long 0x70d + .uleb128 0x8 + .long 0x41 + .byte 0 + .uleb128 0x28 + .long .LASF147 + .value 0x311 + .byte 0x11 + .long 0x48 + .long 0x723 + .uleb128 0x8 + .long 0x328 + .byte 0 + .uleb128 0x18 + .long .LASF148 + .byte 0xe + .byte 0x21 + .long 0x734 + .uleb128 0x8 + .long 0x5c9 + .byte 0 + .uleb128 0x10 + .long .LASF149 + .byte 0xe + .byte 0x2c + .byte 0xa + .long 0x11e + .long 0x74f + .uleb128 0x8 + .long 0x5c9 + .uleb128 0x8 + .long 0x346 + .byte 0 + .uleb128 0x28 + .long .LASF150 + .value 0x35e + .byte 0xc + .long 0x41 + .long 0x765 + .uleb128 0x8 + .long 0x328 + .byte 0 + .uleb128 0x29 + .long .LASF160 + .byte 0x12 + .byte 0x4f + .byte 0x23 + .long 0x771 + .uleb128 0xc + .long 0x3ab + .uleb128 0x10 + .long .LASF151 + .byte 0x10 + .byte 0xe + .byte 0x5 + .long 0x41 + .long 0x78c + .uleb128 0x8 + .long 0x41 + .byte 0 + .uleb128 0x10 + .long .LASF152 + .byte 0x10 + .byte 0x9 + .byte 0x5 + .long 0x41 + .long 0x7a7 + .uleb128 0x8 + .long 0x328 + .uleb128 0x8 + .long 0x48 + .byte 0 + .uleb128 0x10 + .long .LASF153 + .byte 0x10 + .byte 0x6 + .byte 0x5 + .long 0x41 + .long 0x7c2 + .uleb128 0x8 + .long 0x328 + .uleb128 0x8 + .long 0x48 + .byte 0 + .uleb128 0x10 + .long .LASF154 + .byte 0xe + .byte 0x24 + .byte 0x9 + .long 0x5c9 + .long 0x7e2 + .uleb128 0x8 + .long 0x668 + .uleb128 0x8 + .long 0x390 + .uleb128 0x8 + .long 0x31e + .byte 0 + .uleb128 0x10 + .long .LASF155 + .byte 0x6 + .byte 0x21 + .byte 0x7 + .long 0xba + .long 0x7fd + .uleb128 0x8 + .long 0xe0 + .uleb128 0x8 + .long 0x2e + .byte 0 + .uleb128 0x10 + .long .LASF156 + .byte 0x6 + .byte 0x24 + .byte 0x8 + .long 0x2e + .long 0x813 + .uleb128 0x8 + .long 0xe0 + .byte 0 + .uleb128 0x10 + .long .LASF157 + .byte 0x6 + .byte 0x1e + .byte 0x7 + .long 0xba + .long 0x82e + .uleb128 0x8 + .long 0xe0 + .uleb128 0x8 + .long 0xba + .byte 0 + .uleb128 0x10 + .long .LASF158 + .byte 0xc + .byte 0x1a + .byte 0xd + .long 0x395 + .long 0x849 + .uleb128 0x8 + .long 0x346 + .uleb128 0x8 + .long 0x31e + .byte 0 + .uleb128 0x10 + .long .LASF159 + .byte 0x11 + .byte 0x31 + .byte 0xc + .long 0x41 + .long 0x86a + .uleb128 0x8 + .long 0x32d + .uleb128 0x8 + .long 0x41 + .uleb128 0x8 + .long 0x323 + .uleb128 0x20 + .byte 0 + .uleb128 0x29 + .long .LASF161 + .byte 0x6 + .byte 0xf + .byte 0x9 + .long 0xe0 + .uleb128 0x10 + .long .LASF162 + .byte 0xf + .byte 0x52 + .byte 0x7 + .long 0xba + .long 0x896 + .uleb128 0x8 + .long 0x319 + .uleb128 0x8 + .long 0x2e + .uleb128 0x8 + .long 0x2e + .byte 0 + .uleb128 0x2a + .long .LASF167 + .value 0x1f0 + .quad .LFB73 + .quad .LFE73-.LFB73 + .uleb128 0x1 + .byte 0x9c + .long 0xa0b + .uleb128 0xf + .long .LASF163 + .value 0x1f0 + .byte 0x17 + .long 0x3d8 + .long .LLST168 + .long .LVUS168 + .uleb128 0x21 + .long .LASF174 + .long 0xa1b + .uleb128 0x9 + .byte 0x3 + .quad __func__.0 + .uleb128 0x2 + .quad .LVL935 + .long 0x6a5 + .long 0x8f2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL936 + .long 0x6a5 + .long 0x917 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x9 + .byte 0x3 + .quad lex_ctx_free_lexeme_arrays + .byte 0 + .uleb128 0x2 + .quad .LVL937 + .long 0x67e + .long 0x93c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad __func__.0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL940 + .long 0x5d50 + .long 0x961 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data295 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL941 + .long 0x5d59 + .long 0x979 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL942 + .long 0x5d62 + .long 0x998 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data170 + .byte 0 + .uleb128 0x2 + .quad .LVL943 + .long 0x5d50 + .long 0x9bd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data296 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL944 + .long 0x5d6b + .long 0x9e2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data297 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL945 + .long 0x5d59 + .uleb128 0x5 + .quad .LVL946 + .long 0x5d62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data171 + .byte 0 + .byte 0 + .uleb128 0x1a + .long 0xc8 + .long 0xa1b + .uleb128 0x1b + .long 0x3a + .byte 0xc + .byte 0 + .uleb128 0x16 + .long 0xa0b + .uleb128 0x1e + .long .LASF179 + .value 0x1e9 + .quad .LFB72 + .quad .LFE72-.LFB72 + .uleb128 0x1 + .byte 0x9c + .long 0xb32 + .uleb128 0xf + .long .LASF164 + .value 0x1e9 + .byte 0x25 + .long 0xe0 + .long .LLST0 + .long .LVUS0 + .uleb128 0xa + .long 0x5d27 + .quad .LBI82 + .value .LVU6 + .quad .LBB82 + .quad .LBE82-.LBB82 + .value 0x1eb + .byte 0x3 + .long 0xad2 + .uleb128 0x3 + .long 0x5d43 + .long .LLST1 + .long .LVUS1 + .uleb128 0x3 + .long 0x5d38 + .long .LLST2 + .long .LVUS2 + .uleb128 0x5 + .quad .LVL3 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x1eb + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL4 + .long 0x6a5 + .long 0xaea + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL7 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL8 + .long 0x5d62 + .long 0xb16 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data161 + .byte 0 + .uleb128 0x5 + .quad .LVL9 + .long 0x5d62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data163 + .byte 0 + .byte 0 + .uleb128 0x2b + .long .LASF170 + .value 0x1de + .long 0x11e + .quad .LFB71 + .quad .LFE71-.LFB71 + .uleb128 0x1 + .byte 0x9c + .long 0xcab + .uleb128 0xf + .long .LASF163 + .value 0x1de + .byte 0x1a + .long 0x3d8 + .long .LLST163 + .long .LVUS163 + .uleb128 0xe + .long .LASF165 + .value 0x1e0 + .byte 0xc + .long 0x11e + .long .LLST164 + .long .LVUS164 + .uleb128 0xe + .long .LASF166 + .value 0x1e1 + .byte 0xf + .long 0x395 + .long .LLST165 + .long .LVUS165 + .uleb128 0x36 + .long .LLRL166 + .uleb128 0x37 + .string "i" + .byte 0x1 + .value 0x1e1 + .byte 0x23 + .long 0x2e + .long .LLST167 + .long .LVUS167 + .uleb128 0x2 + .quad .LVL916 + .long 0xf8d + .long 0xbbf + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL919 + .long 0x7fd + .long 0xbd7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL920 + .long 0x7e2 + .long 0xbf5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL927 + .long 0x5d50 + .long 0xc1a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data293 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL928 + .long 0x5d59 + .long 0xc32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL929 + .long 0x5d62 + .long 0xc51 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data168 + .byte 0 + .uleb128 0x2 + .quad .LVL930 + .long 0x5d50 + .long 0xc76 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data294 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL931 + .long 0x5d59 + .long 0xc8e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL932 + .long 0x5d62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data169 + .byte 0 + .byte 0 + .byte 0 + .uleb128 0x2a + .long .LASF168 + .value 0x1d6 + .quad .LFB70 + .quad .LFE70-.LFB70 + .uleb128 0x1 + .byte 0x9c + .long 0xd9b + .uleb128 0xf + .long .LASF163 + .value 0x1d6 + .byte 0x1c + .long 0x3d8 + .long .LLST160 + .long .LVUS160 + .uleb128 0xf + .long .LASF169 + .value 0x1d7 + .byte 0x1b + .long 0x346 + .long .LLST161 + .long .LVUS161 + .uleb128 0xf + .long .LASF62 + .value 0x1d8 + .byte 0x26 + .long 0x31e + .long .LLST162 + .long .LVUS162 + .uleb128 0x2 + .quad .LVL906 + .long 0x82e + .long 0xd24 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x3 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x3 + .byte 0xa3 + .uleb128 0x1 + .byte 0x51 + .byte 0 + .uleb128 0x2 + .quad .LVL908 + .long 0x813 + .long 0xd42 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL910 + .long 0x5d50 + .long 0xd67 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data292 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL911 + .long 0x5d59 + .long 0xd7f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL912 + .long 0x5d62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data167 + .byte 0 + .byte 0 + .uleb128 0x2b + .long .LASF171 + .value 0x1cb + .long 0x3d8 + .quad .LFB69 + .quad .LFE69-.LFB69 + .uleb128 0x1 + .byte 0x9c + .long 0xf78 + .uleb128 0xf + .long .LASF172 + .value 0x1cb + .byte 0x27 + .long 0x668 + .long .LLST156 + .long .LVUS156 + .uleb128 0xe + .long .LASF173 + .value 0x1cd + .byte 0xb + .long 0x3d8 + .long .LLST157 + .long .LVUS157 + .uleb128 0x21 + .long .LASF174 + .long 0xf88 + .uleb128 0x9 + .byte 0x3 + .quad __func__.2 + .uleb128 0xa + .long 0x5d27 + .quad .LBI179 + .value .LVU1314 + .quad .LBB179 + .quad .LBE179-.LBB179 + .value 0x1d1 + .byte 0x3 + .long 0xe78 + .uleb128 0x3 + .long 0x5d43 + .long .LLST158 + .long .LVUS158 + .uleb128 0x3 + .long 0x5d38 + .long .LLST159 + .long .LVUS159 + .uleb128 0x5 + .quad .LVL893 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC45 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x1d1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL887 + .long 0x876 + .long 0xea1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad __func__.2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x31 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x40 + .byte 0 + .uleb128 0x4 + .quad .LVL889 + .long 0x86a + .uleb128 0x4 + .quad .LVL890 + .long 0x86a + .uleb128 0x2 + .quad .LVL896 + .long 0x5d50 + .long 0xee0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data289 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL897 + .long 0x5d74 + .long 0xef8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL898 + .long 0x5d50 + .long 0xf1d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data290 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL899 + .long 0x5d6b + .long 0xf42 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data291 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL900 + .long 0x5d74 + .uleb128 0x4 + .quad .LVL901 + .long 0x5d59 + .uleb128 0x5 + .quad .LVL902 + .long 0x5d62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data164 + .byte 0 + .byte 0 + .uleb128 0x1a + .long 0xc8 + .long 0xf88 + .uleb128 0x1b + .long 0x3a + .byte 0xb + .byte 0 + .uleb128 0x16 + .long 0xf78 + .uleb128 0x38 + .long .LASF198 + .byte 0x1 + .value 0x18b + .byte 0x1 + .long 0x11e + .quad .LFB68 + .quad .LFE68-.LFB68 + .uleb128 0x1 + .byte 0x9c + .long 0x190d + .uleb128 0xf + .long .LASF163 + .value 0x18b + .byte 0x1f + .long 0x3d8 + .long .LLST142 + .long .LVUS142 + .uleb128 0xf + .long .LASF166 + .value 0x18c + .byte 0x23 + .long 0x395 + .long .LLST143 + .long .LVUS143 + .uleb128 0xe + .long .LASF164 + .value 0x18e + .byte 0x1d + .long 0xe0 + .long .LLST144 + .long .LVUS144 + .uleb128 0xe + .long .LASF175 + .value 0x190 + .byte 0x7 + .long 0x545 + .long .LLST145 + .long .LVUS145 + .uleb128 0xe + .long .LASF176 + .value 0x1c5 + .byte 0x1d + .long 0x11e + .long .LLST146 + .long .LVUS146 + .uleb128 0x22 + .long .LLRL147 + .long 0x15d0 + .uleb128 0xe + .long .LASF177 + .value 0x193 + .byte 0x21 + .long 0x7c + .long .LLST148 + .long .LVUS148 + .uleb128 0xe + .long .LASF178 + .value 0x194 + .byte 0x21 + .long 0x7c + .long .LLST149 + .long .LVUS149 + .uleb128 0xa + .long 0x5d27 + .quad .LBI172 + .value .LVU1192 + .quad .LBB172 + .quad .LBE172-.LBB172 + .value 0x199 + .byte 0xb + .long 0x10c0 + .uleb128 0x3 + .long 0x5d43 + .long .LLST150 + .long .LVUS150 + .uleb128 0x3 + .long 0x5d38 + .long .LLST151 + .long .LVUS151 + .uleb128 0x5 + .quad .LVL799 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC42 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x199 + .byte 0 + .byte 0 + .uleb128 0xa + .long 0x5d27 + .quad .LBI174 + .value .LVU1217 + .quad .LBB174 + .quad .LBE174-.LBB174 + .value 0x19e + .byte 0xb + .long 0x113b + .uleb128 0x3 + .long 0x5d43 + .long .LLST152 + .long .LVUS152 + .uleb128 0x3 + .long 0x5d38 + .long .LLST153 + .long .LVUS153 + .uleb128 0x5 + .quad .LVL815 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC43 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x19e + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL788 + .long 0x5d50 + .long 0x1160 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data278 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL789 + .long 0x5d59 + .long 0x1178 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL790 + .long 0x5d62 + .long 0x1197 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data143 + .byte 0 + .uleb128 0x2 + .quad .LVL792 + .long 0x5d50 + .long 0x11bc + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data279 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL793 + .long 0x5d59 + .long 0x11d4 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL794 + .long 0x5d62 + .long 0x11f3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data144 + .byte 0 + .uleb128 0x2 + .quad .LVL800 + .long 0x5b0a + .long 0x1216 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x8 + .byte 0x26 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x30 + .byte 0 + .uleb128 0x2 + .quad .LVL801 + .long 0x813 + .long 0x1234 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL804 + .long 0x7a7 + .long 0x1251 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x30 + .byte 0 + .uleb128 0x2 + .quad .LVL806 + .long 0x7a7 + .long 0x126e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .uleb128 0x4 + .quad .LVL808 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL809 + .long 0x5d62 + .long 0x129a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data145 + .byte 0 + .uleb128 0x2 + .quad .LVL810 + .long 0x5d62 + .long 0x12b9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data147 + .byte 0 + .uleb128 0x2 + .quad .LVL816 + .long 0x5b0a + .long 0x12dc + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x8 + .byte 0x24 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .uleb128 0x2 + .quad .LVL817 + .long 0x813 + .long 0x12fa + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL818 + .long 0x78c + .long 0x1317 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .uleb128 0x4 + .quad .LVL820 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL821 + .long 0x5d62 + .long 0x1343 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data148 + .byte 0 + .uleb128 0x2 + .quad .LVL822 + .long 0x5d62 + .long 0x1362 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data150 + .byte 0 + .uleb128 0x2 + .quad .LVL823 + .long 0x5d50 + .long 0x1387 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data280 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL824 + .long 0x5d59 + .long 0x139f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL825 + .long 0x5d62 + .long 0x13be + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data151 + .byte 0 + .uleb128 0x2 + .quad .LVL827 + .long 0x2e53 + .long 0x13dc + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL829 + .long 0x2a27 + .long 0x13fa + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL831 + .long 0x41fe + .long 0x1418 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL833 + .long 0x38e5 + .long 0x1436 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL835 + .long 0x3297 + .long 0x1454 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL837 + .long 0x776 + .long 0x1472 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x8 + .byte 0x7c + .sleb128 0 + .byte 0x8 + .byte 0x38 + .byte 0x24 + .byte 0x8 + .byte 0x38 + .byte 0x26 + .byte 0 + .uleb128 0x4 + .quad .LVL838 + .long 0x765 + .uleb128 0x2 + .quad .LVL840 + .long 0x5d6b + .long 0x14a4 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data282 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL842 + .long 0x3e99 + .long 0x14c2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL843 + .long 0x5d50 + .long 0x14e7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data281 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL844 + .long 0x5d59 + .long 0x14ff + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL845 + .long 0x78c + .long 0x151c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .uleb128 0x2 + .quad .LVL846 + .long 0x5d50 + .long 0x1541 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data283 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL847 + .long 0x5d7d + .long 0x1559 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL848 + .long 0x5d50 + .long 0x157e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data284 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL849 + .long 0x5d59 + .long 0x1596 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL850 + .long 0x5d62 + .long 0x15b5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data152 + .byte 0 + .uleb128 0x5 + .quad .LVL851 + .long 0x190d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0xa + .long 0x5d27 + .quad .LBI177 + .value .LVU1272 + .quad .LBB177 + .quad .LBE177-.LBB177 + .value 0x1c3 + .byte 0x3 + .long 0x1651 + .uleb128 0x3 + .long 0x5d43 + .long .LLST154 + .long .LVUS154 + .uleb128 0x3 + .long 0x5d38 + .long .LLST155 + .long .LVUS155 + .uleb128 0x5 + .quad .LVL859 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC44 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x1c3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x4 + .quad .LVL778 + .long 0x86a + .uleb128 0x4 + .quad .LVL781 + .long 0x7c2 + .uleb128 0x2 + .quad .LVL784 + .long 0x5d50 + .long 0x1690 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data276 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL785 + .long 0x5d6b + .long 0x16b5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data277 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL786 + .long 0x5d59 + .uleb128 0x4 + .quad .LVL787 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL803 + .long 0x74f + .long 0x16e7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL853 + .long 0x5d50 + .long 0x170c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data285 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL854 + .long 0x5d59 + .long 0x1724 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL855 + .long 0x5d62 + .long 0x1743 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data153 + .byte 0 + .uleb128 0x2 + .quad .LVL856 + .long 0x7fd + .long 0x175b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL860 + .long 0x813 + .long 0x1779 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL861 + .long 0x734 + .long 0x1797 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL864 + .long 0x723 + .long 0x17af + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL870 + .long 0x5d50 + .long 0x17d4 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data286 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL871 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL872 + .long 0x5d62 + .long 0x1800 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data154 + .byte 0 + .uleb128 0x4 + .quad .LVL874 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL875 + .long 0x5d62 + .long 0x182c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data155 + .byte 0 + .uleb128 0x2 + .quad .LVL876 + .long 0x5d50 + .long 0x1853 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data287 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .byte 0 + .uleb128 0x2 + .quad .LVL877 + .long 0x5d6b + .long 0x187a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data288 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .byte 0 + .uleb128 0x4 + .quad .LVL878 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL879 + .long 0x5d62 + .long 0x18a6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data157 + .byte 0 + .uleb128 0x4 + .quad .LVL880 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL881 + .long 0x5d62 + .long 0x18d2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data158 + .byte 0 + .uleb128 0x2 + .quad .LVL882 + .long 0x5d62 + .long 0x18f1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data159 + .byte 0 + .uleb128 0x5 + .quad .LVL884 + .long 0x5d62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data160 + .byte 0 + .byte 0 + .uleb128 0x1e + .long .LASF180 + .value 0x13c + .quad .LFB67 + .quad .LFE67-.LFB67 + .uleb128 0x1 + .byte 0x9c + .long 0x2a27 + .uleb128 0xf + .long .LASF166 + .value 0x13c + .byte 0x29 + .long 0x395 + .long .LLST79 + .long .LVUS79 + .uleb128 0xf + .long .LASF164 + .value 0x13d + .byte 0x25 + .long 0xe0 + .long .LLST80 + .long .LVUS80 + .uleb128 0xe + .long .LASF177 + .value 0x13f + .byte 0x7 + .long 0x41 + .long .LLST81 + .long .LVUS81 + .uleb128 0xe + .long .LASF178 + .value 0x140 + .byte 0x7 + .long 0x41 + .long .LLST82 + .long .LVUS82 + .uleb128 0xe + .long .LASF181 + .value 0x141 + .byte 0x14 + .long 0x3e9 + .long .LLST83 + .long .LVUS83 + .uleb128 0xe + .long .LASF107 + .value 0x142 + .byte 0xc + .long 0x11e + .long .LLST84 + .long .LVUS84 + .uleb128 0xa + .long 0x5d27 + .quad .LBI111 + .value .LVU743 + .quad .LBB111 + .quad .LBE111-.LBB111 + .value 0x146 + .byte 0x11 + .long 0x1a1d + .uleb128 0x3 + .long 0x5d43 + .long .LLST85 + .long .LVUS85 + .uleb128 0x3 + .long 0x5d38 + .long .LLST86 + .long .LVUS86 + .uleb128 0x5 + .quad .LVL533 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC19 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x146 + .byte 0 + .byte 0 + .uleb128 0xa + .long 0x5d27 + .quad .LBI113 + .value .LVU765 + .quad .LBB113 + .quad .LBE113-.LBB113 + .value 0x147 + .byte 0x11 + .long 0x1a98 + .uleb128 0x3 + .long 0x5d43 + .long .LLST87 + .long .LVUS87 + .uleb128 0x3 + .long 0x5d38 + .long .LLST88 + .long .LVUS88 + .uleb128 0x5 + .quad .LVL546 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC20 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x147 + .byte 0 + .byte 0 + .uleb128 0xa + .long 0x5d27 + .quad .LBI115 + .value .LVU780 + .quad .LBB115 + .quad .LBE115-.LBB115 + .value 0x148 + .byte 0x11 + .long 0x1b13 + .uleb128 0x3 + .long 0x5d43 + .long .LLST89 + .long .LVUS89 + .uleb128 0x3 + .long 0x5d38 + .long .LLST90 + .long .LVUS90 + .uleb128 0x5 + .quad .LVL554 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC21 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x148 + .byte 0 + .byte 0 + .uleb128 0xa + .long 0x5d27 + .quad .LBI117 + .value .LVU795 + .quad .LBB117 + .quad .LBE117-.LBB117 + .value 0x149 + .byte 0x11 + .long 0x1b8e + .uleb128 0x3 + .long 0x5d43 + .long .LLST91 + .long .LVUS91 + .uleb128 0x3 + .long 0x5d38 + .long .LLST92 + .long .LVUS92 + .uleb128 0x5 + .quad .LVL562 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC22 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x149 + .byte 0 + .byte 0 + .uleb128 0xa + .long 0x5d27 + .quad .LBI119 + .value .LVU810 + .quad .LBB119 + .quad .LBE119-.LBB119 + .value 0x14a + .byte 0x11 + .long 0x1c09 + .uleb128 0x3 + .long 0x5d43 + .long .LLST93 + .long .LVUS93 + .uleb128 0x3 + .long 0x5d38 + .long .LLST94 + .long .LVUS94 + .uleb128 0x5 + .quad .LVL570 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC23 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x14a + .byte 0 + .byte 0 + .uleb128 0xa + .long 0x5d27 + .quad .LBI121 + .value .LVU825 + .quad .LBB121 + .quad .LBE121-.LBB121 + .value 0x14b + .byte 0x11 + .long 0x1c84 + .uleb128 0x3 + .long 0x5d43 + .long .LLST95 + .long .LVUS95 + .uleb128 0x3 + .long 0x5d38 + .long .LLST96 + .long .LVUS96 + .uleb128 0x5 + .quad .LVL578 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC24 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x14b + .byte 0 + .byte 0 + .uleb128 0xa + .long 0x5d27 + .quad .LBI123 + .value .LVU840 + .quad .LBB123 + .quad .LBE123-.LBB123 + .value 0x14c + .byte 0x11 + .long 0x1cff + .uleb128 0x3 + .long 0x5d43 + .long .LLST97 + .long .LVUS97 + .uleb128 0x3 + .long 0x5d38 + .long .LLST98 + .long .LVUS98 + .uleb128 0x5 + .quad .LVL586 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC25 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x14c + .byte 0 + .byte 0 + .uleb128 0x17 + .long 0x5d27 + .quad .LBI125 + .value .LVU858 + .long .LLRL99 + .value 0x14e + .byte 0xb2 + .long 0x1d6e + .uleb128 0x3 + .long 0x5d43 + .long .LLST100 + .long .LVUS100 + .uleb128 0x3 + .long 0x5d38 + .long .LLST101 + .long .LVUS101 + .uleb128 0x5 + .quad .LVL594 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC27 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x14e + .byte 0 + .byte 0 + .uleb128 0xa + .long 0x5d27 + .quad .LBI129 + .value .LVU869 + .quad .LBB129 + .quad .LBE129-.LBB129 + .value 0x14e + .byte 0x35 + .long 0x1de9 + .uleb128 0x3 + .long 0x5d43 + .long .LLST102 + .long .LVUS102 + .uleb128 0x3 + .long 0x5d38 + .long .LLST103 + .long .LVUS103 + .uleb128 0x5 + .quad .LVL599 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC26 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x14e + .byte 0 + .byte 0 + .uleb128 0x17 + .long 0x5d27 + .quad .LBI131 + .value .LVU888 + .long .LLRL104 + .value 0x14f + .byte 0xb0 + .long 0x1e58 + .uleb128 0x3 + .long 0x5d43 + .long .LLST105 + .long .LVUS105 + .uleb128 0x3 + .long 0x5d38 + .long .LLST106 + .long .LVUS106 + .uleb128 0x5 + .quad .LVL610 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC29 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x14f + .byte 0 + .byte 0 + .uleb128 0xa + .long 0x5d27 + .quad .LBI135 + .value .LVU899 + .quad .LBB135 + .quad .LBE135-.LBB135 + .value 0x14f + .byte 0x34 + .long 0x1ed3 + .uleb128 0x3 + .long 0x5d43 + .long .LLST107 + .long .LVUS107 + .uleb128 0x3 + .long 0x5d38 + .long .LLST108 + .long .LVUS108 + .uleb128 0x5 + .quad .LVL615 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC28 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x14f + .byte 0 + .byte 0 + .uleb128 0x17 + .long 0x5d27 + .quad .LBI137 + .value .LVU918 + .long .LLRL109 + .value 0x150 + .byte 0xb4 + .long 0x1f42 + .uleb128 0x3 + .long 0x5d43 + .long .LLST110 + .long .LVUS110 + .uleb128 0x3 + .long 0x5d38 + .long .LLST111 + .long .LVUS111 + .uleb128 0x5 + .quad .LVL626 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC31 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x150 + .byte 0 + .byte 0 + .uleb128 0xa + .long 0x5d27 + .quad .LBI141 + .value .LVU929 + .quad .LBB141 + .quad .LBE141-.LBB141 + .value 0x150 + .byte 0x36 + .long 0x1fbd + .uleb128 0x3 + .long 0x5d43 + .long .LLST112 + .long .LVUS112 + .uleb128 0x3 + .long 0x5d38 + .long .LLST113 + .long .LVUS113 + .uleb128 0x5 + .quad .LVL631 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC30 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x150 + .byte 0 + .byte 0 + .uleb128 0x17 + .long 0x5d27 + .quad .LBI143 + .value .LVU948 + .long .LLRL114 + .value 0x151 + .byte 0xb8 + .long 0x202c + .uleb128 0x3 + .long 0x5d43 + .long .LLST115 + .long .LVUS115 + .uleb128 0x3 + .long 0x5d38 + .long .LLST116 + .long .LVUS116 + .uleb128 0x5 + .quad .LVL642 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC33 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x151 + .byte 0 + .byte 0 + .uleb128 0xa + .long 0x5d27 + .quad .LBI147 + .value .LVU959 + .quad .LBB147 + .quad .LBE147-.LBB147 + .value 0x151 + .byte 0x38 + .long 0x20a7 + .uleb128 0x3 + .long 0x5d43 + .long .LLST117 + .long .LVUS117 + .uleb128 0x3 + .long 0x5d38 + .long .LLST118 + .long .LVUS118 + .uleb128 0x5 + .quad .LVL647 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x151 + .byte 0 + .byte 0 + .uleb128 0x17 + .long 0x5d27 + .quad .LBI149 + .value .LVU978 + .long .LLRL119 + .value 0x152 + .byte 0xbe + .long 0x2116 + .uleb128 0x3 + .long 0x5d43 + .long .LLST120 + .long .LVUS120 + .uleb128 0x3 + .long 0x5d38 + .long .LLST121 + .long .LVUS121 + .uleb128 0x5 + .quad .LVL658 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC35 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x152 + .byte 0 + .byte 0 + .uleb128 0xa + .long 0x5d27 + .quad .LBI153 + .value .LVU989 + .quad .LBB153 + .quad .LBE153-.LBB153 + .value 0x152 + .byte 0x3b + .long 0x2191 + .uleb128 0x3 + .long 0x5d43 + .long .LLST122 + .long .LVUS122 + .uleb128 0x3 + .long 0x5d38 + .long .LLST123 + .long .LVUS123 + .uleb128 0x5 + .quad .LVL663 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC34 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x152 + .byte 0 + .byte 0 + .uleb128 0x17 + .long 0x5d27 + .quad .LBI155 + .value .LVU1008 + .long .LLRL124 + .value 0x153 + .byte 0xb0 + .long 0x2200 + .uleb128 0x3 + .long 0x5d43 + .long .LLST125 + .long .LVUS125 + .uleb128 0x3 + .long 0x5d38 + .long .LLST126 + .long .LVUS126 + .uleb128 0x5 + .quad .LVL674 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC37 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x153 + .byte 0 + .byte 0 + .uleb128 0xa + .long 0x5d27 + .quad .LBI159 + .value .LVU1019 + .quad .LBB159 + .quad .LBE159-.LBB159 + .value 0x153 + .byte 0x34 + .long 0x227b + .uleb128 0x3 + .long 0x5d43 + .long .LLST127 + .long .LVUS127 + .uleb128 0x3 + .long 0x5d38 + .long .LLST128 + .long .LVUS128 + .uleb128 0x5 + .quad .LVL679 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC36 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x153 + .byte 0 + .byte 0 + .uleb128 0x17 + .long 0x5d27 + .quad .LBI161 + .value .LVU1038 + .long .LLRL129 + .value 0x154 + .byte 0xb6 + .long 0x22ea + .uleb128 0x3 + .long 0x5d43 + .long .LLST130 + .long .LVUS130 + .uleb128 0x3 + .long 0x5d38 + .long .LLST131 + .long .LVUS131 + .uleb128 0x5 + .quad .LVL690 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC39 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x154 + .byte 0 + .byte 0 + .uleb128 0xa + .long 0x5d27 + .quad .LBI165 + .value .LVU1049 + .quad .LBB165 + .quad .LBE165-.LBB165 + .value 0x154 + .byte 0x37 + .long 0x2365 + .uleb128 0x3 + .long 0x5d43 + .long .LLST132 + .long .LVUS132 + .uleb128 0x3 + .long 0x5d38 + .long .LLST133 + .long .LVUS133 + .uleb128 0x5 + .quad .LVL695 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC38 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x154 + .byte 0 + .byte 0 + .uleb128 0xa + .long 0x5d27 + .quad .LBI167 + .value .LVU1092 + .quad .LBB167 + .quad .LBE167-.LBB167 + .value 0x183 + .byte 0x7 + .long 0x23e6 + .uleb128 0x3 + .long 0x5d43 + .long .LLST134 + .long .LVUS134 + .uleb128 0x3 + .long 0x5d38 + .long .LLST135 + .long .LVUS135 + .uleb128 0x5 + .quad .LVL716 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC40 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x183 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL516 + .long 0x7a7 + .long 0x2403 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x30 + .byte 0 + .uleb128 0x2 + .quad .LVL519 + .long 0x7a7 + .long 0x2420 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .uleb128 0x2 + .quad .LVL522 + .long 0x5d50 + .long 0x2445 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data266 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL523 + .long 0x5d59 + .long 0x245d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL524 + .long 0x5d62 + .long 0x247c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data88 + .byte 0 + .uleb128 0x2 + .quad .LVL526 + .long 0x5d50 + .long 0x24a1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data267 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL527 + .long 0x5d59 + .long 0x24b9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL528 + .long 0x5d62 + .long 0x24d8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data89 + .byte 0 + .uleb128 0x2 + .quad .LVL535 + .long 0x5b0a + .long 0x24f6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL536 + .long 0x813 + .long 0x2514 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL538 + .long 0x78c + .long 0x2532 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL540 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL541 + .long 0x5d62 + .long 0x255e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data90 + .byte 0 + .uleb128 0x4 + .quad .LVL548 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL549 + .long 0x5d62 + .long 0x258a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data92 + .byte 0 + .uleb128 0x4 + .quad .LVL556 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL557 + .long 0x5d62 + .long 0x25b6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data94 + .byte 0 + .uleb128 0x4 + .quad .LVL564 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL565 + .long 0x5d62 + .long 0x25e2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data96 + .byte 0 + .uleb128 0x4 + .quad .LVL572 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL573 + .long 0x5d62 + .long 0x260e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data98 + .byte 0 + .uleb128 0x4 + .quad .LVL580 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL581 + .long 0x5d62 + .long 0x263a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data100 + .byte 0 + .uleb128 0x4 + .quad .LVL588 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL589 + .long 0x5d62 + .long 0x2666 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data102 + .byte 0 + .uleb128 0x4 + .quad .LVL601 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL602 + .long 0x5d62 + .long 0x2692 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data104 + .byte 0 + .uleb128 0x4 + .quad .LVL604 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL605 + .long 0x5d62 + .long 0x26be + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data106 + .byte 0 + .uleb128 0x4 + .quad .LVL617 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL618 + .long 0x5d62 + .long 0x26ea + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data108 + .byte 0 + .uleb128 0x4 + .quad .LVL620 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL621 + .long 0x5d62 + .long 0x2716 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data110 + .byte 0 + .uleb128 0x4 + .quad .LVL633 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL634 + .long 0x5d62 + .long 0x2742 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data112 + .byte 0 + .uleb128 0x4 + .quad .LVL636 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL637 + .long 0x5d62 + .long 0x276e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data114 + .byte 0 + .uleb128 0x4 + .quad .LVL649 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL650 + .long 0x5d62 + .long 0x279a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data116 + .byte 0 + .uleb128 0x4 + .quad .LVL652 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL653 + .long 0x5d62 + .long 0x27c6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data118 + .byte 0 + .uleb128 0x4 + .quad .LVL665 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL666 + .long 0x5d62 + .long 0x27f2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data120 + .byte 0 + .uleb128 0x4 + .quad .LVL668 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL669 + .long 0x5d62 + .long 0x281e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data122 + .byte 0 + .uleb128 0x4 + .quad .LVL681 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL682 + .long 0x5d62 + .long 0x284a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data124 + .byte 0 + .uleb128 0x4 + .quad .LVL684 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL685 + .long 0x5d62 + .long 0x2876 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data126 + .byte 0 + .uleb128 0x4 + .quad .LVL697 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL698 + .long 0x5d62 + .long 0x28a2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data128 + .byte 0 + .uleb128 0x4 + .quad .LVL700 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL701 + .long 0x5d62 + .long 0x28ce + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data130 + .byte 0 + .uleb128 0x2 + .quad .LVL705 + .long 0x4e50 + .long 0x28ec + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL707 + .long 0x55da + .long 0x290a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL718 + .long 0x78c + .long 0x2927 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .uleb128 0x4 + .quad .LVL720 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL721 + .long 0x5d62 + .long 0x2953 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data132 + .byte 0 + .uleb128 0x2 + .quad .LVL722 + .long 0x5d50 + .long 0x2978 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data268 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL723 + .long 0x5d59 + .long 0x2990 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL724 + .long 0x5d62 + .long 0x29af + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data134 + .byte 0 + .uleb128 0x2 + .quad .LVL736 + .long 0x5d62 + .long 0x29ce + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data135 + .byte 0 + .uleb128 0x2 + .quad .LVL737 + .long 0x5d50 + .long 0x29f3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data269 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL738 + .long 0x5d59 + .long 0x2a0b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL739 + .long 0x5d62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data136 + .byte 0 + .byte 0 + .uleb128 0x1e + .long .LASF182 + .value 0x129 + .quad .LFB66 + .quad .LFE66-.LFB66 + .uleb128 0x1 + .byte 0x9c + .long 0x2e53 + .uleb128 0xf + .long .LASF166 + .value 0x129 + .byte 0x2a + .long 0x395 + .long .LLST17 + .long .LVUS17 + .uleb128 0xf + .long .LASF164 + .value 0x12a + .byte 0x26 + .long 0xe0 + .long .LLST18 + .long .LVUS18 + .uleb128 0xe + .long .LASF107 + .value 0x12c + .byte 0xc + .long 0x11e + .long .LLST19 + .long .LVUS19 + .uleb128 0xe + .long .LASF177 + .value 0x12c + .byte 0x1c + .long 0x41 + .long .LLST20 + .long .LVUS20 + .uleb128 0xa + .long 0x5d27 + .quad .LBI86 + .value .LVU178 + .quad .LBB86 + .quad .LBE86-.LBB86 + .value 0x137 + .byte 0x3 + .long 0x2b18 + .uleb128 0x3 + .long 0x5d43 + .long .LLST21 + .long .LVUS21 + .uleb128 0x3 + .long 0x5d38 + .long .LLST22 + .long .LVUS22 + .uleb128 0x5 + .quad .LVL119 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x137 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x5 + .byte 0x91 + .sleb128 -76 + .byte 0x94 + .byte 0x4 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL95 + .long 0x4a39 + .long 0x2b38 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .byte 0 + .uleb128 0x2 + .quad .LVL96 + .long 0x5d50 + .long 0x2b5d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data188 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL97 + .long 0x5d59 + .long 0x2b75 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL99 + .long 0x7a7 + .long 0x2b93 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL101 + .long 0x765 + .uleb128 0x2 + .quad .LVL103 + .long 0x5d6b + .long 0x2bc5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data189 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL104 + .long 0x5d50 + .long 0x2bea + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data190 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL105 + .long 0x5d7d + .long 0x2c02 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL106 + .long 0x5d50 + .long 0x2c27 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data191 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL107 + .long 0x5d59 + .long 0x2c3f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL108 + .long 0x5d62 + .long 0x2c5e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data19 + .byte 0 + .uleb128 0x2 + .quad .LVL110 + .long 0x70d + .long 0x2c76 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL111 + .long 0x5d6b + .long 0x2c9b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data195 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL112 + .long 0x5d50 + .long 0x2cc0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data192 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL113 + .long 0x5d6b + .long 0x2ce5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data193 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL114 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL115 + .long 0x5d50 + .long 0x2d17 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data194 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL116 + .long 0x5d59 + .long 0x2d2f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL117 + .long 0x5d62 + .long 0x2d4e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data20 + .byte 0 + .uleb128 0x2 + .quad .LVL120 + .long 0x5b0a + .long 0x2d71 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x30 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL121 + .long 0x813 + .long 0x2d91 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL122 + .long 0x78c + .long 0x2daf + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL128 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL129 + .long 0x5d62 + .long 0x2ddb + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data21 + .byte 0 + .uleb128 0x2 + .quad .LVL130 + .long 0x5d62 + .long 0x2dfa + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data23 + .byte 0 + .uleb128 0x2 + .quad .LVL131 + .long 0x5d50 + .long 0x2e1f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data196 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL132 + .long 0x5d59 + .long 0x2e37 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL133 + .long 0x5d62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data24 + .byte 0 + .byte 0 + .uleb128 0x1e + .long .LASF183 + .value 0x112 + .quad .LFB65 + .quad .LFE65-.LFB65 + .uleb128 0x1 + .byte 0x9c + .long 0x3297 + .uleb128 0xf + .long .LASF166 + .value 0x112 + .byte 0x24 + .long 0x395 + .long .LLST42 + .long .LVUS42 + .uleb128 0xf + .long .LASF164 + .value 0x113 + .byte 0x20 + .long 0xe0 + .long .LLST43 + .long .LVUS43 + .uleb128 0xe + .long .LASF107 + .value 0x115 + .byte 0xc + .long 0x11e + .long .LLST44 + .long .LVUS44 + .uleb128 0xe + .long .LASF177 + .value 0x115 + .byte 0x1c + .long 0x41 + .long .LLST45 + .long .LVUS45 + .uleb128 0xa + .long 0x5d27 + .quad .LBI94 + .value .LVU421 + .quad .LBB94 + .quad .LBE94-.LBB94 + .value 0x124 + .byte 0x3 + .long 0x2f44 + .uleb128 0x3 + .long 0x5d43 + .long .LLST46 + .long .LVUS46 + .uleb128 0x3 + .long 0x5d38 + .long .LLST47 + .long .LVUS47 + .uleb128 0x5 + .quad .LVL296 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x124 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x5 + .byte 0x91 + .sleb128 -80 + .byte 0x94 + .byte 0x4 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL269 + .long 0x5d50 + .long 0x2f69 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data225 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL270 + .long 0x5d59 + .long 0x2f81 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL272 + .long 0x70d + .long 0x2f99 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL273 + .long 0x5d6b + .long 0x2fbe + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data232 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL275 + .long 0x5d50 + .long 0x2fe3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data227 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL276 + .long 0x5d7d + .long 0x2ffb + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL277 + .long 0x41fe + .long 0x301b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .byte 0 + .uleb128 0x2 + .quad .LVL279 + .long 0x7a7 + .long 0x3039 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL281 + .long 0x6f7 + .long 0x3051 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL282 + .long 0x765 + .uleb128 0x2 + .quad .LVL283 + .long 0x5d6b + .long 0x3083 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data226 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL285 + .long 0x5d50 + .long 0x30a8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data228 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL286 + .long 0x5d59 + .long 0x30c0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL287 + .long 0x5d62 + .long 0x30df + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data44 + .byte 0 + .uleb128 0x2 + .quad .LVL289 + .long 0x5d50 + .long 0x3104 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data229 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL290 + .long 0x5d6b + .long 0x3129 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data230 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL291 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL292 + .long 0x5d50 + .long 0x315b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data231 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL293 + .long 0x5d59 + .long 0x3173 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL294 + .long 0x5d62 + .long 0x3192 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data45 + .byte 0 + .uleb128 0x2 + .quad .LVL297 + .long 0x5b0a + .long 0x31b5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x30 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL298 + .long 0x813 + .long 0x31d5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL300 + .long 0x78c + .long 0x31f3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL305 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL306 + .long 0x5d62 + .long 0x321f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data46 + .byte 0 + .uleb128 0x2 + .quad .LVL307 + .long 0x5d62 + .long 0x323e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data48 + .byte 0 + .uleb128 0x2 + .quad .LVL308 + .long 0x5d50 + .long 0x3263 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data233 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL309 + .long 0x5d59 + .long 0x327b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL310 + .long 0x5d62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data49 + .byte 0 + .byte 0 + .uleb128 0x14 + .long .LASF184 + .byte 0xea + .quad .LFB64 + .quad .LFE64-.LFB64 + .uleb128 0x1 + .byte 0x9c + .long 0x38e5 + .uleb128 0xb + .long .LASF166 + .byte 0xea + .byte 0x28 + .long 0x395 + .long .LLST58 + .long .LVUS58 + .uleb128 0xb + .long .LASF164 + .byte 0xeb + .byte 0x24 + .long 0xe0 + .long .LLST59 + .long .LVUS59 + .uleb128 0x9 + .long .LASF107 + .byte 0xed + .byte 0xc + .long 0x11e + .long .LLST60 + .long .LVUS60 + .uleb128 0x9 + .long .LASF177 + .byte 0xed + .byte 0x1c + .long 0x41 + .long .LLST61 + .long .LVUS61 + .uleb128 0x39 + .long .LASF189 + .byte 0x1 + .value 0x108 + .byte 0x1 + .quad .L420 + .uleb128 0x9 + .long .LASF185 + .byte 0xfc + .byte 0xc + .long 0x520 + .long .LLST62 + .long .LVUS62 + .uleb128 0xe + .long .LASF186 + .value 0x109 + .byte 0x1d + .long 0x11e + .long .LLST63 + .long .LVUS63 + .uleb128 0xe + .long .LASF187 + .value 0x10a + .byte 0x1d + .long 0x520 + .long .LLST64 + .long .LVUS64 + .uleb128 0x22 + .long .LLRL65 + .long 0x33de + .uleb128 0x9 + .long .LASF178 + .byte 0xef + .byte 0x9 + .long 0x41 + .long .LLST66 + .long .LVUS66 + .uleb128 0x2 + .quad .LVL377 + .long 0x5d50 + .long 0x338c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data243 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL378 + .long 0x5d59 + .long 0x33a4 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL379 + .long 0x5d62 + .long 0x33c3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data61 + .byte 0 + .uleb128 0x5 + .quad .LVL386 + .long 0x7a7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0xa + .long 0x5d27 + .quad .LBI104 + .value .LVU591 + .quad .LBB104 + .quad .LBE104-.LBB104 + .value 0x104 + .byte 0x3 + .long 0x345f + .uleb128 0x3 + .long 0x5d43 + .long .LLST67 + .long .LVUS67 + .uleb128 0x3 + .long 0x5d38 + .long .LLST68 + .long .LVUS68 + .uleb128 0x5 + .quad .LVL412 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC12 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x3 + .byte 0xa + .value 0x104 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL383 + .long 0x7a7 + .long 0x347d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL390 + .long 0x5d50 + .long 0x34a2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data244 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL391 + .long 0x5d59 + .long 0x34ba + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL392 + .long 0x5d62 + .long 0x34d9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data62 + .byte 0 + .uleb128 0x2 + .quad .LVL395 + .long 0x5b0a + .long 0x34fc + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x33 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL399 + .long 0x6d1 + .long 0x353b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x9 + .byte 0x3 + .quad .LC11 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x30 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x4 + .byte 0x91 + .sleb128 -80 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x9 + .byte 0x3 + .quad .LC10 + .byte 0 + .uleb128 0x2 + .quad .LVL400 + .long 0x70d + .long 0x3553 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL401 + .long 0x5d6b + .long 0x3578 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data248 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL403 + .long 0x5d62 + .long 0x3597 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data63 + .byte 0 + .uleb128 0x2 + .quad .LVL404 + .long 0x5d62 + .long 0x35b6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data64 + .byte 0 + .uleb128 0x2 + .quad .LVL405 + .long 0x5d50 + .long 0x35db + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data245 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL406 + .long 0x5d6b + .long 0x3600 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data246 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL407 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL408 + .long 0x5d50 + .long 0x3632 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data247 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL409 + .long 0x5d59 + .long 0x364a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL410 + .long 0x5d62 + .long 0x3669 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data65 + .byte 0 + .uleb128 0x2 + .quad .LVL413 + .long 0x813 + .long 0x368b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x4 + .byte 0x91 + .sleb128 -80 + .byte 0x6 + .byte 0 + .uleb128 0x2 + .quad .LVL415 + .long 0x78c + .long 0x36a9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL417 + .long 0x5d86 + .long 0x36da + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data251 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x8 + .byte 0x7d + .sleb128 0 + .byte 0x8 + .byte 0x20 + .byte 0x24 + .byte 0x8 + .byte 0x20 + .byte 0x26 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x9 + .byte 0xfe + .byte 0 + .uleb128 0x4 + .quad .LVL418 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL419 + .long 0x5d62 + .long 0x3706 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data66 + .byte 0 + .uleb128 0x2 + .quad .LVL420 + .long 0x5d62 + .long 0x3725 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data68 + .byte 0 + .uleb128 0x2 + .quad .LVL421 + .long 0x5d50 + .long 0x374a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data249 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL422 + .long 0x5d59 + .long 0x3762 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL423 + .long 0x5d62 + .long 0x3781 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data69 + .byte 0 + .uleb128 0x2 + .quad .LVL425 + .long 0x5a3a + .long 0x3799 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL427 + .long 0x5b0a + .long 0x37bc + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL430 + .long 0x6d1 + .long 0x37f1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x30 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x31 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x9 + .byte 0x3 + .quad .LC13 + .byte 0 + .uleb128 0x2 + .quad .LVL432 + .long 0x78c + .long 0x380f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL433 + .long 0x813 + .long 0x382f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL436 + .long 0x5d62 + .long 0x384e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data70 + .byte 0 + .uleb128 0x2 + .quad .LVL437 + .long 0x5d62 + .long 0x386d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data71 + .byte 0 + .uleb128 0x2 + .quad .LVL438 + .long 0x5d50 + .long 0x3892 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data250 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL439 + .long 0x5d59 + .long 0x38aa + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL440 + .long 0x5d62 + .long 0x38c9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data72 + .byte 0 + .uleb128 0x5 + .quad .LVL441 + .long 0x5d62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data73 + .byte 0 + .byte 0 + .uleb128 0x14 + .long .LASF188 + .byte 0xc8 + .quad .LFB63 + .quad .LFE63-.LFB63 + .uleb128 0x1 + .byte 0x9c + .long 0x3e99 + .uleb128 0xb + .long .LASF166 + .byte 0xc8 + .byte 0x25 + .long 0x395 + .long .LLST48 + .long .LVUS48 + .uleb128 0xb + .long .LASF164 + .byte 0xc9 + .byte 0x21 + .long 0xe0 + .long .LLST49 + .long .LVUS49 + .uleb128 0x9 + .long .LASF107 + .byte 0xcb + .byte 0xc + .long 0x11e + .long .LLST50 + .long .LVUS50 + .uleb128 0x9 + .long .LASF177 + .byte 0xcb + .byte 0x1c + .long 0x41 + .long .LLST51 + .long .LVUS51 + .uleb128 0x2c + .long .LASF189 + .byte 0xe0 + .quad .L356 + .uleb128 0x9 + .long .LASF186 + .byte 0xe1 + .byte 0x1d + .long 0x11e + .long .LLST52 + .long .LVUS52 + .uleb128 0x9 + .long .LASF185 + .byte 0xe2 + .byte 0x1d + .long 0x520 + .long .LLST53 + .long .LVUS53 + .uleb128 0x22 + .long .LLRL54 + .long 0x3a14 + .uleb128 0x9 + .long .LASF178 + .byte 0xcd + .byte 0x9 + .long 0x41 + .long .LLST55 + .long .LVUS55 + .uleb128 0x2 + .quad .LVL314 + .long 0x5d50 + .long 0x39c2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data234 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL315 + .long 0x5d59 + .long 0x39da + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL316 + .long 0x5d62 + .long 0x39f9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data50 + .byte 0 + .uleb128 0x5 + .quad .LVL323 + .long 0x7a7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x15 + .long 0x5d27 + .quad .LBI99 + .value .LVU493 + .quad .LBB99 + .quad .LBE99-.LBB99 + .byte 0xdd + .long 0x3a92 + .uleb128 0x3 + .long 0x5d43 + .long .LLST56 + .long .LVUS56 + .uleb128 0x3 + .long 0x5d38 + .long .LLST57 + .long .LVUS57 + .uleb128 0x5 + .quad .LVL343 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0xdd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL320 + .long 0x7a7 + .long 0x3ab0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL327 + .long 0x5d50 + .long 0x3ad5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data235 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL328 + .long 0x5d59 + .long 0x3aed + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL329 + .long 0x5d62 + .long 0x3b0c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data51 + .byte 0 + .uleb128 0x2 + .quad .LVL333 + .long 0x70d + .long 0x3b24 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL334 + .long 0x5d6b + .long 0x3b49 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data239 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL336 + .long 0x5d50 + .long 0x3b6e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data236 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL337 + .long 0x5d6b + .long 0x3b93 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data237 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL338 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL339 + .long 0x5d50 + .long 0x3bc5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data238 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL340 + .long 0x5d59 + .long 0x3bdd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL341 + .long 0x5d62 + .long 0x3bfc + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data52 + .byte 0 + .uleb128 0x2 + .quad .LVL344 + .long 0x5b0a + .long 0x3c1f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL345 + .long 0x813 + .long 0x3c3f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL347 + .long 0x78c + .long 0x3c5d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL350 + .long 0x5d86 + .long 0x3c8e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data242 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x8 + .byte 0x7d + .sleb128 0 + .byte 0x8 + .byte 0x20 + .byte 0x24 + .byte 0x8 + .byte 0x20 + .byte 0x26 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x9 + .byte 0xfe + .byte 0 + .uleb128 0x4 + .quad .LVL351 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL352 + .long 0x5d62 + .long 0x3cba + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data53 + .byte 0 + .uleb128 0x2 + .quad .LVL353 + .long 0x5d62 + .long 0x3cd9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data55 + .byte 0 + .uleb128 0x2 + .quad .LVL354 + .long 0x5d50 + .long 0x3cfe + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data240 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL355 + .long 0x5d59 + .long 0x3d16 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL356 + .long 0x5d62 + .long 0x3d35 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data56 + .byte 0 + .uleb128 0x2 + .quad .LVL358 + .long 0x5a3a + .long 0x3d4d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL360 + .long 0x5b0a + .long 0x3d70 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL363 + .long 0x6d1 + .long 0x3da5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x30 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x31 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x9 + .byte 0x3 + .quad .LC9 + .byte 0 + .uleb128 0x2 + .quad .LVL365 + .long 0x78c + .long 0x3dc3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL366 + .long 0x813 + .long 0x3de3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL368 + .long 0x5d62 + .long 0x3e02 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data57 + .byte 0 + .uleb128 0x2 + .quad .LVL369 + .long 0x5d62 + .long 0x3e21 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data58 + .byte 0 + .uleb128 0x2 + .quad .LVL370 + .long 0x5d50 + .long 0x3e46 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data241 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL371 + .long 0x5d59 + .long 0x3e5e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL372 + .long 0x5d62 + .long 0x3e7d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data59 + .byte 0 + .uleb128 0x5 + .quad .LVL373 + .long 0x5d62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data60 + .byte 0 + .byte 0 + .uleb128 0x14 + .long .LASF190 + .byte 0xba + .quad .LFB62 + .quad .LFE62-.LFB62 + .uleb128 0x1 + .byte 0x9c + .long 0x41fe + .uleb128 0xb + .long .LASF166 + .byte 0xba + .byte 0x29 + .long 0x395 + .long .LLST136 + .long .LVUS136 + .uleb128 0xb + .long .LASF164 + .byte 0xbb + .byte 0x24 + .long 0xe0 + .long .LLST137 + .long .LVUS137 + .uleb128 0x9 + .long .LASF107 + .byte 0xbd + .byte 0xc + .long 0x11e + .long .LLST138 + .long .LVUS138 + .uleb128 0x9 + .long .LASF177 + .byte 0xbd + .byte 0x1c + .long 0x41 + .long .LLST139 + .long .LVUS139 + .uleb128 0x15 + .long 0x5d27 + .quad .LBI169 + .value .LVU1147 + .quad .LBB169 + .quad .LBE169-.LBB169 + .byte 0xc3 + .long 0x3f82 + .uleb128 0x3 + .long 0x5d43 + .long .LLST140 + .long .LVUS140 + .uleb128 0x3 + .long 0x5d38 + .long .LLST141 + .long .LVUS141 + .uleb128 0x5 + .quad .LVL761 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC41 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0xc3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x5 + .byte 0x91 + .sleb128 -76 + .byte 0x94 + .byte 0x4 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL744 + .long 0x7a7 + .long 0x3fa0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL746 + .long 0x6bb + .uleb128 0x2 + .quad .LVL747 + .long 0x70d + .long 0x3fc5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL748 + .long 0x5d6b + .long 0x3fea + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data274 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL750 + .long 0x5d50 + .long 0x400f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data270 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL751 + .long 0x5d59 + .long 0x4027 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL752 + .long 0x5d62 + .long 0x4046 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data137 + .byte 0 + .uleb128 0x2 + .quad .LVL754 + .long 0x5d50 + .long 0x406b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data271 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL755 + .long 0x5d6b + .long 0x4090 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data272 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL756 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL757 + .long 0x5d50 + .long 0x40c2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data273 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL758 + .long 0x5d59 + .long 0x40da + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL759 + .long 0x5d62 + .long 0x40f9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data138 + .byte 0 + .uleb128 0x2 + .quad .LVL762 + .long 0x5b0a + .long 0x411c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x34 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL764 + .long 0x813 + .long 0x413c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL766 + .long 0x78c + .long 0x415a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL770 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL771 + .long 0x5d62 + .long 0x4186 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data139 + .byte 0 + .uleb128 0x2 + .quad .LVL773 + .long 0x5d62 + .long 0x41a5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data141 + .byte 0 + .uleb128 0x2 + .quad .LVL774 + .long 0x5d50 + .long 0x41ca + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data275 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL775 + .long 0x5d59 + .long 0x41e2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL776 + .long 0x5d62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data142 + .byte 0 + .byte 0 + .uleb128 0x14 + .long .LASF191 + .byte 0xa7 + .quad .LFB61 + .quad .LFE61-.LFB61 + .uleb128 0x1 + .byte 0x9c + .long 0x4622 + .uleb128 0xb + .long .LASF166 + .byte 0xa7 + .byte 0x25 + .long 0x395 + .long .LLST30 + .long .LVUS30 + .uleb128 0xb + .long .LASF164 + .byte 0xa8 + .byte 0x21 + .long 0xe0 + .long .LLST31 + .long .LVUS31 + .uleb128 0x9 + .long .LASF107 + .byte 0xaa + .byte 0xc + .long 0x11e + .long .LLST32 + .long .LVUS32 + .uleb128 0x9 + .long .LASF177 + .byte 0xaa + .byte 0x1c + .long 0x41 + .long .LLST33 + .long .LVUS33 + .uleb128 0x15 + .long 0x5d27 + .quad .LBI90 + .value .LVU302 + .quad .LBB90 + .quad .LBE90-.LBB90 + .byte 0xb5 + .long 0x42e7 + .uleb128 0x3 + .long 0x5d43 + .long .LLST34 + .long .LVUS34 + .uleb128 0x3 + .long 0x5d38 + .long .LLST35 + .long .LVUS35 + .uleb128 0x5 + .quad .LVL206 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0xb5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x5 + .byte 0x91 + .sleb128 -76 + .byte 0x94 + .byte 0x4 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL182 + .long 0x4622 + .long 0x4307 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .byte 0 + .uleb128 0x2 + .quad .LVL183 + .long 0x5d50 + .long 0x432c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data206 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL184 + .long 0x5d59 + .long 0x4344 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL186 + .long 0x7a7 + .long 0x4362 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL188 + .long 0x765 + .uleb128 0x2 + .quad .LVL190 + .long 0x5d6b + .long 0x4394 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data207 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL191 + .long 0x5d50 + .long 0x43b9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data208 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL192 + .long 0x5d7d + .long 0x43d1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL193 + .long 0x5d50 + .long 0x43f6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data209 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL194 + .long 0x5d59 + .long 0x440e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL195 + .long 0x5d62 + .long 0x442d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data31 + .byte 0 + .uleb128 0x2 + .quad .LVL197 + .long 0x70d + .long 0x4445 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL198 + .long 0x5d6b + .long 0x446a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data213 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL199 + .long 0x5d50 + .long 0x448f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data210 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL200 + .long 0x5d6b + .long 0x44b4 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data211 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL201 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL202 + .long 0x5d50 + .long 0x44e6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data212 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL203 + .long 0x5d59 + .long 0x44fe + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL204 + .long 0x5d62 + .long 0x451d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data32 + .byte 0 + .uleb128 0x2 + .quad .LVL207 + .long 0x5b0a + .long 0x4540 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x30 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL208 + .long 0x813 + .long 0x4560 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL209 + .long 0x78c + .long 0x457e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL215 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL216 + .long 0x5d62 + .long 0x45aa + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data33 + .byte 0 + .uleb128 0x2 + .quad .LVL217 + .long 0x5d62 + .long 0x45c9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data35 + .byte 0 + .uleb128 0x2 + .quad .LVL218 + .long 0x5d50 + .long 0x45ee + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data214 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL219 + .long 0x5d59 + .long 0x4606 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL220 + .long 0x5d62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data36 + .byte 0 + .byte 0 + .uleb128 0x14 + .long .LASF192 + .byte 0x96 + .quad .LFB60 + .quad .LFE60-.LFB60 + .uleb128 0x1 + .byte 0x9c + .long 0x4a39 + .uleb128 0xb + .long .LASF166 + .byte 0x96 + .byte 0x2c + .long 0x395 + .long .LLST23 + .long .LVUS23 + .uleb128 0xb + .long .LASF164 + .byte 0x97 + .byte 0x28 + .long 0xe0 + .long .LLST24 + .long .LVUS24 + .uleb128 0x9 + .long .LASF193 + .byte 0x99 + .byte 0x7 + .long 0x545 + .long .LLST25 + .long .LVUS25 + .uleb128 0x9 + .long .LASF107 + .byte 0x9a + .byte 0xc + .long 0x11e + .long .LLST26 + .long .LVUS26 + .uleb128 0x9 + .long .LASF177 + .byte 0x9a + .byte 0x1c + .long 0x41 + .long .LLST27 + .long .LVUS27 + .uleb128 0x15 + .long 0x5d27 + .quad .LBI88 + .value .LVU243 + .quad .LBB88 + .quad .LBE88-.LBB88 + .byte 0xa2 + .long 0x471e + .uleb128 0x3 + .long 0x5d43 + .long .LLST28 + .long .LVUS28 + .uleb128 0x3 + .long 0x5d38 + .long .LLST29 + .long .LVUS29 + .uleb128 0x5 + .quad .LVL164 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC4 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0xa2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x5 + .byte 0x91 + .sleb128 -68 + .byte 0x94 + .byte 0x4 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL137 + .long 0x5d50 + .long 0x4743 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data197 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL138 + .long 0x5d59 + .long 0x475b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL139 + .long 0x70d + .long 0x4773 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL140 + .long 0x5d6b + .long 0x4798 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data204 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL141 + .long 0x5d50 + .long 0x47bd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data199 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL142 + .long 0x5d7d + .long 0x47d5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL145 + .long 0x7a7 + .long 0x47f3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL148 + .long 0x765 + .uleb128 0x2 + .quad .LVL150 + .long 0x5d6b + .long 0x4825 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data198 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL152 + .long 0x5d50 + .long 0x484a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data200 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL153 + .long 0x5d59 + .long 0x4862 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL154 + .long 0x5d62 + .long 0x4881 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data25 + .byte 0 + .uleb128 0x2 + .quad .LVL156 + .long 0x5d50 + .long 0x48a6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data201 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL157 + .long 0x5d6b + .long 0x48cb + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data202 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL158 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL159 + .long 0x5d50 + .long 0x48fd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data203 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL160 + .long 0x5d59 + .long 0x4915 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL161 + .long 0x5d62 + .long 0x4934 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data26 + .byte 0 + .uleb128 0x2 + .quad .LVL165 + .long 0x5b0a + .long 0x4957 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x31 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL166 + .long 0x813 + .long 0x4977 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -80 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL167 + .long 0x78c + .long 0x4995 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL173 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL174 + .long 0x5d62 + .long 0x49c1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data27 + .byte 0 + .uleb128 0x2 + .quad .LVL175 + .long 0x5d62 + .long 0x49e0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data29 + .byte 0 + .uleb128 0x2 + .quad .LVL176 + .long 0x5d50 + .long 0x4a05 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data205 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL177 + .long 0x5d59 + .long 0x4a1d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL178 + .long 0x5d62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data30 + .byte 0 + .byte 0 + .uleb128 0x14 + .long .LASF194 + .byte 0x85 + .quad .LFB59 + .quad .LFE59-.LFB59 + .uleb128 0x1 + .byte 0x9c + .long 0x4e50 + .uleb128 0xb + .long .LASF166 + .byte 0x85 + .byte 0x30 + .long 0x395 + .long .LLST10 + .long .LVUS10 + .uleb128 0xb + .long .LASF164 + .byte 0x86 + .byte 0x2c + .long 0xe0 + .long .LLST11 + .long .LVUS11 + .uleb128 0x9 + .long .LASF195 + .byte 0x88 + .byte 0x7 + .long 0x545 + .long .LLST12 + .long .LVUS12 + .uleb128 0x9 + .long .LASF107 + .byte 0x89 + .byte 0xc + .long 0x11e + .long .LLST13 + .long .LVUS13 + .uleb128 0x9 + .long .LASF177 + .byte 0x89 + .byte 0x1c + .long 0x41 + .long .LLST14 + .long .LVUS14 + .uleb128 0x15 + .long 0x5d27 + .quad .LBI84 + .value .LVU118 + .quad .LBB84 + .quad .LBE84-.LBB84 + .byte 0x91 + .long 0x4b35 + .uleb128 0x3 + .long 0x5d43 + .long .LLST15 + .long .LVUS15 + .uleb128 0x3 + .long 0x5d38 + .long .LLST16 + .long .LVUS16 + .uleb128 0x5 + .quad .LVL77 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x91 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x5 + .byte 0x91 + .sleb128 -68 + .byte 0x94 + .byte 0x4 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL50 + .long 0x5d50 + .long 0x4b5a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data179 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL51 + .long 0x5d59 + .long 0x4b72 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL52 + .long 0x70d + .long 0x4b8a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL53 + .long 0x5d6b + .long 0x4baf + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data186 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL54 + .long 0x5d50 + .long 0x4bd4 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data181 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL55 + .long 0x5d7d + .long 0x4bec + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL58 + .long 0x7a7 + .long 0x4c0a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL61 + .long 0x765 + .uleb128 0x2 + .quad .LVL63 + .long 0x5d6b + .long 0x4c3c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data180 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL65 + .long 0x5d50 + .long 0x4c61 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data182 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL66 + .long 0x5d59 + .long 0x4c79 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL67 + .long 0x5d62 + .long 0x4c98 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data13 + .byte 0 + .uleb128 0x2 + .quad .LVL69 + .long 0x5d50 + .long 0x4cbd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data183 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL70 + .long 0x5d6b + .long 0x4ce2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data184 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL71 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL72 + .long 0x5d50 + .long 0x4d14 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data185 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL73 + .long 0x5d59 + .long 0x4d2c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL74 + .long 0x5d62 + .long 0x4d4b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data14 + .byte 0 + .uleb128 0x2 + .quad .LVL78 + .long 0x5b0a + .long 0x4d6e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x31 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL79 + .long 0x813 + .long 0x4d8e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -80 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL80 + .long 0x78c + .long 0x4dac + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL86 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL87 + .long 0x5d62 + .long 0x4dd8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data15 + .byte 0 + .uleb128 0x2 + .quad .LVL88 + .long 0x5d62 + .long 0x4df7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data17 + .byte 0 + .uleb128 0x2 + .quad .LVL89 + .long 0x5d50 + .long 0x4e1c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data187 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL90 + .long 0x5d59 + .long 0x4e34 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL91 + .long 0x5d62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data18 + .byte 0 + .byte 0 + .uleb128 0x14 + .long .LASF196 + .byte 0x65 + .quad .LFB58 + .quad .LFE58-.LFB58 + .uleb128 0x1 + .byte 0x9c + .long 0x55da + .uleb128 0xb + .long .LASF166 + .byte 0x65 + .byte 0x2b + .long 0x395 + .long .LLST69 + .long .LVUS69 + .uleb128 0xb + .long .LASF164 + .byte 0x66 + .byte 0x27 + .long 0xe0 + .long .LLST70 + .long .LVUS70 + .uleb128 0x9 + .long .LASF107 + .byte 0x68 + .byte 0xc + .long 0x11e + .long .LLST71 + .long .LVUS71 + .uleb128 0x9 + .long .LASF177 + .byte 0x68 + .byte 0x1c + .long 0x41 + .long .LLST72 + .long .LVUS72 + .uleb128 0x2c + .long .LASF189 + .byte 0x7b + .quad .LDL1 + .uleb128 0x3a + .long .LASF186 + .byte 0x1 + .byte 0x7c + .byte 0x1d + .long 0x11e + .uleb128 0x9 + .long .LASF185 + .byte 0x7d + .byte 0x1d + .long 0x520 + .long .LLST73 + .long .LVUS73 + .uleb128 0x3b + .quad .LBB106 + .quad .LBE106-.LBB106 + .long 0x4f84 + .uleb128 0x9 + .long .LASF178 + .byte 0x6a + .byte 0x9 + .long 0x41 + .long .LLST74 + .long .LVUS74 + .uleb128 0x2 + .quad .LVL448 + .long 0x7a7 + .long 0x4f2b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL452 + .long 0x5d50 + .long 0x4f50 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data252 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL453 + .long 0x5d59 + .long 0x4f68 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL454 + .long 0x5d62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data74 + .byte 0 + .byte 0 + .uleb128 0x15 + .long 0x5d27 + .quad .LBI107 + .value .LVU659 + .quad .LBB107 + .quad .LBE107-.LBB107 + .byte 0x71 + .long 0x5002 + .uleb128 0x3 + .long 0x5d43 + .long .LLST75 + .long .LVUS75 + .uleb128 0x3 + .long 0x5d38 + .long .LLST76 + .long .LVUS76 + .uleb128 0x5 + .quad .LVL462 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC17 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x71 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x15 + .long 0x5d27 + .quad .LBI109 + .value .LVU696 + .quad .LBB109 + .quad .LBE109-.LBB109 + .byte 0x73 + .long 0x5080 + .uleb128 0x3 + .long 0x5d43 + .long .LLST77 + .long .LVUS77 + .uleb128 0x3 + .long 0x5d38 + .long .LLST78 + .long .LVUS78 + .uleb128 0x5 + .quad .LVL494 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC18 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x73 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL445 + .long 0x7a7 + .long 0x50a0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .byte 0 + .uleb128 0x2 + .quad .LVL456 + .long 0x5d50 + .long 0x50c5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data253 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL457 + .long 0x5d59 + .long 0x50dd + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL458 + .long 0x5d62 + .long 0x50fc + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data75 + .byte 0 + .uleb128 0x2 + .quad .LVL463 + .long 0x70d + .long 0x5114 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL464 + .long 0x5d6b + .long 0x5139 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data260 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL466 + .long 0x5a3a + .long 0x5151 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL467 + .long 0x5b0a + .long 0x5175 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x8 + .byte 0x28 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL471 + .long 0x6d1 + .long 0x51aa + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x30 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x31 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x9 + .byte 0x3 + .quad .LC16 + .byte 0 + .uleb128 0x2 + .quad .LVL473 + .long 0x78c + .long 0x51ca + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .byte 0 + .uleb128 0x2 + .quad .LVL474 + .long 0x813 + .long 0x51ea + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -80 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL476 + .long 0x5d62 + .long 0x5209 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data76 + .byte 0 + .uleb128 0x2 + .quad .LVL477 + .long 0x5d62 + .long 0x5228 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data77 + .byte 0 + .uleb128 0x2 + .quad .LVL478 + .long 0x5d50 + .long 0x524d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data254 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL479 + .long 0x5d59 + .long 0x5265 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL480 + .long 0x5d62 + .long 0x5284 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data78 + .byte 0 + .uleb128 0x2 + .quad .LVL481 + .long 0x5d62 + .long 0x52a3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data79 + .byte 0 + .uleb128 0x2 + .quad .LVL483 + .long 0x5d50 + .long 0x52c8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data255 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL484 + .long 0x5d6b + .long 0x52ed + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data256 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL485 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL486 + .long 0x5d62 + .long 0x5319 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data80 + .byte 0 + .uleb128 0x2 + .quad .LVL487 + .long 0x5d50 + .long 0x533e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data257 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL488 + .long 0x5d6b + .long 0x5363 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data258 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL489 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL490 + .long 0x5d50 + .long 0x5395 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data259 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL491 + .long 0x5d59 + .long 0x53ad + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL492 + .long 0x5d62 + .long 0x53cc + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data82 + .byte 0 + .uleb128 0x2 + .quad .LVL495 + .long 0x5b0a + .long 0x53f0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x8 + .byte 0x28 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL496 + .long 0x813 + .long 0x5410 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -80 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL498 + .long 0x78c + .long 0x542e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL501 + .long 0x5d8f + .long 0x545e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data264 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x8 + .byte 0x7d + .sleb128 0 + .byte 0x8 + .byte 0x20 + .byte 0x24 + .byte 0x8 + .byte 0x20 + .byte 0x26 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x32 + .byte 0 + .uleb128 0x4 + .quad .LVL502 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL503 + .long 0x5d62 + .long 0x548a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data83 + .byte 0 + .uleb128 0x2 + .quad .LVL504 + .long 0x5d50 + .long 0x54af + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data261 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL505 + .long 0x5d6b + .long 0x54d4 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data262 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL506 + .long 0x5d62 + .long 0x54f3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data85 + .byte 0 + .uleb128 0x2 + .quad .LVL507 + .long 0x5b0a + .long 0x5516 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x8 + .byte 0x24 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .uleb128 0x2 + .quad .LVL508 + .long 0x813 + .long 0x5536 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -80 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL509 + .long 0x5d62 + .long 0x5555 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data86 + .byte 0 + .uleb128 0x2 + .quad .LVL510 + .long 0x5d86 + .long 0x5581 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data265 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x32 + .byte 0 + .uleb128 0x2 + .quad .LVL511 + .long 0x5d50 + .long 0x55a6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data263 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL512 + .long 0x5d59 + .long 0x55be + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL513 + .long 0x5d62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data87 + .byte 0 + .byte 0 + .uleb128 0x14 + .long .LASF197 + .byte 0x53 + .quad .LFB57 + .quad .LFE57-.LFB57 + .uleb128 0x1 + .byte 0x9c + .long 0x5a3a + .uleb128 0xb + .long .LASF166 + .byte 0x53 + .byte 0x26 + .long 0x395 + .long .LLST36 + .long .LVUS36 + .uleb128 0xb + .long .LASF164 + .byte 0x54 + .byte 0x22 + .long 0xe0 + .long .LLST37 + .long .LVUS37 + .uleb128 0x9 + .long .LASF107 + .byte 0x56 + .byte 0xc + .long 0x11e + .long .LLST38 + .long .LVUS38 + .uleb128 0x9 + .long .LASF177 + .byte 0x56 + .byte 0x1c + .long 0x41 + .long .LLST39 + .long .LVUS39 + .uleb128 0x15 + .long 0x5d27 + .quad .LBI92 + .value .LVU353 + .quad .LBB92 + .quad .LBE92-.LBB92 + .byte 0x5c + .long 0x56c3 + .uleb128 0x3 + .long 0x5d43 + .long .LLST40 + .long .LVUS40 + .uleb128 0x3 + .long 0x5d38 + .long .LLST41 + .long .LVUS41 + .uleb128 0x5 + .quad .LVL241 + .long 0x849 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x5c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x5 + .byte 0x91 + .sleb128 -76 + .byte 0x94 + .byte 0x4 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL225 + .long 0x7a7 + .long 0x56e1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL227 + .long 0x70d + .long 0x56f9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL228 + .long 0x5d6b + .long 0x571e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data219 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL230 + .long 0x5d50 + .long 0x5743 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data215 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL231 + .long 0x5d59 + .long 0x575b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL232 + .long 0x5d62 + .long 0x577a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data37 + .byte 0 + .uleb128 0x2 + .quad .LVL234 + .long 0x5d50 + .long 0x579f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data216 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL235 + .long 0x5d6b + .long 0x57c4 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data217 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL236 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL237 + .long 0x5d50 + .long 0x57f6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data218 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL238 + .long 0x5d59 + .long 0x580e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL239 + .long 0x5d62 + .long 0x582d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data38 + .byte 0 + .uleb128 0x2 + .quad .LVL242 + .long 0x5b0a + .long 0x5851 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x8 + .byte 0x27 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL244 + .long 0x813 + .long 0x5871 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL246 + .long 0x78c + .long 0x588f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL250 + .long 0x5d86 + .long 0x58c0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data223 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x8 + .byte 0x7c + .sleb128 0 + .byte 0x8 + .byte 0x20 + .byte 0x24 + .byte 0x8 + .byte 0x20 + .byte 0x26 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x9 + .byte 0xfe + .byte 0 + .uleb128 0x4 + .quad .LVL251 + .long 0x5d59 + .uleb128 0x2 + .quad .LVL252 + .long 0x5d62 + .long 0x58ec + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data39 + .byte 0 + .uleb128 0x2 + .quad .LVL253 + .long 0x5d50 + .long 0x5911 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data220 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL254 + .long 0x5d6b + .long 0x5936 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data221 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL256 + .long 0x5d62 + .long 0x5955 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data41 + .byte 0 + .uleb128 0x2 + .quad .LVL258 + .long 0x5b0a + .long 0x5978 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x8 + .byte 0x24 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .uleb128 0x2 + .quad .LVL260 + .long 0x813 + .long 0x5998 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -72 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL261 + .long 0x5d62 + .long 0x59b7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data42 + .byte 0 + .uleb128 0x2 + .quad .LVL262 + .long 0x5d86 + .long 0x59e1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data224 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .uleb128 0x2 + .quad .LVL263 + .long 0x5d50 + .long 0x5a06 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data222 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL264 + .long 0x5d59 + .long 0x5a1e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL265 + .long 0x5d62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data43 + .byte 0 + .byte 0 + .uleb128 0x2d + .long .LASF199 + .byte 0x47 + .long 0x11e + .quad .LFB56 + .quad .LFE56-.LFB56 + .uleb128 0x1 + .byte 0x9c + .long 0x5b0a + .uleb128 0xb + .long .LASF166 + .byte 0x47 + .byte 0x27 + .long 0x395 + .long .LLST3 + .long .LVUS3 + .uleb128 0x9 + .long .LASF107 + .byte 0x49 + .byte 0xc + .long 0x11e + .long .LLST4 + .long .LVUS4 + .uleb128 0x9 + .long .LASF177 + .byte 0x49 + .byte 0x1c + .long 0x41 + .long .LLST5 + .long .LVUS5 + .uleb128 0x2 + .quad .LVL14 + .long 0x7a7 + .long 0x5ab1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL20 + .long 0x5d50 + .long 0x5ad6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data172 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL21 + .long 0x5d59 + .long 0x5aee + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL22 + .long 0x5d62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data11 + .byte 0 + .byte 0 + .uleb128 0x2d + .long .LASF200 + .byte 0x3b + .long 0x520 + .quad .LFB55 + .quad .LFE55-.LFB55 + .uleb128 0x1 + .byte 0x9c + .long 0x5d12 + .uleb128 0xb + .long .LASF166 + .byte 0x3b + .byte 0x2a + .long 0x3a1 + .long .LLST6 + .long .LVUS6 + .uleb128 0xb + .long .LASF119 + .byte 0x3c + .byte 0x29 + .long 0x3e9 + .long .LLST7 + .long .LVUS7 + .uleb128 0xb + .long .LASF107 + .byte 0x3d + .byte 0x21 + .long 0x11e + .long .LLST8 + .long .LVUS8 + .uleb128 0x9 + .long .LASF185 + .byte 0x3f + .byte 0xc + .long 0x520 + .long .LLST9 + .long .LVUS9 + .uleb128 0x21 + .long .LASF174 + .long 0x5d22 + .uleb128 0x9 + .byte 0x3 + .quad __func__.1 + .uleb128 0x2 + .quad .LVL27 + .long 0x876 + .long 0x5bb2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad __func__.1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x31 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x48 + .byte 0 + .uleb128 0x2 + .quad .LVL31 + .long 0x70d + .long 0x5bca + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL36 + .long 0x5d50 + .long 0x5bef + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data173 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL37 + .long 0x5d59 + .long 0x5c07 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL38 + .long 0x5d62 + .long 0x5c26 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data12 + .byte 0 + .uleb128 0x2 + .quad .LVL39 + .long 0x5d50 + .long 0x5c4b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data174 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL40 + .long 0x5d6b + .long 0x5c70 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data175 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL41 + .long 0x5d74 + .uleb128 0x2 + .quad .LVL42 + .long 0x5d50 + .long 0x5ca2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data176 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL43 + .long 0x5d74 + .long 0x5cba + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL44 + .long 0x5d50 + .long 0x5cdf + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data177 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL45 + .long 0x5d6b + .long 0x5d04 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data178 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x4 + .quad .LVL46 + .long 0x5d98 + .byte 0 + .uleb128 0x1a + .long 0xc8 + .long 0x5d22 + .uleb128 0x1b + .long 0x3a + .byte 0x15 + .byte 0 + .uleb128 0x16 + .long 0x5d12 + .uleb128 0x3c + .long .LASF223 + .byte 0x2 + .byte 0x4d + .byte 0x1 + .long 0x41 + .byte 0x3 + .long 0x5d50 + .uleb128 0x2e + .long .LASF201 + .byte 0x4d + .byte 0x1b + .long 0x32d + .uleb128 0x2e + .long .LASF202 + .byte 0x4d + .byte 0x3c + .long 0x323 + .uleb128 0x20 + .byte 0 + .uleb128 0x12 + .long .LASF203 + .long .LASF205 + .uleb128 0x12 + .long .LASF204 + .long .LASF206 + .uleb128 0x12 + .long .LASF207 + .long .LASF208 + .uleb128 0x12 + .long .LASF209 + .long .LASF210 + .uleb128 0x12 + .long .LASF211 + .long .LASF212 + .uleb128 0x12 + .long .LASF213 + .long .LASF214 + .uleb128 0x12 + .long .LASF215 + .long .LASF216 + .uleb128 0x12 + .long .LASF217 + .long .LASF218 + .uleb128 0x12 + .long .LASF219 + .long .LASF220 + .byte 0 + .section .debug_abbrev,"",@progbits +.Ldebug_abbrev0: + .uleb128 0x1 + .uleb128 0x49 + .byte 0 + .uleb128 0x2 + .uleb128 0x18 + .uleb128 0x7e + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x2 + .uleb128 0x48 + .byte 0x1 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x3 + .uleb128 0x5 + .byte 0 + .uleb128 0x31 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x4 + .uleb128 0x48 + .byte 0 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x5 + .uleb128 0x48 + .byte 0x1 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x6 + .uleb128 0x28 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x1c + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x7 + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x8 + .uleb128 0x5 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x9 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0xa + .uleb128 0x1d + .byte 0x1 + .uleb128 0x31 + .uleb128 0x13 + .uleb128 0x52 + .uleb128 0x1 + .uleb128 0x2138 + .uleb128 0x5 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x58 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x59 + .uleb128 0x5 + .uleb128 0x57 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xb + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0xc + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0x21 + .sleb128 8 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xd + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xe + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0xf + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x10 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x11 + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .byte 0 + .byte 0 + .uleb128 0x12 + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x6e + .uleb128 0xe + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 19 + .uleb128 0x3b + .uleb128 0x21 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x13 + .uleb128 0x28 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x1c + .uleb128 0x5 + .byte 0 + .byte 0 + .uleb128 0x14 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x15 + .uleb128 0x1d + .byte 0x1 + .uleb128 0x31 + .uleb128 0x13 + .uleb128 0x52 + .uleb128 0x1 + .uleb128 0x2138 + .uleb128 0x5 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x58 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x59 + .uleb128 0xb + .uleb128 0x57 + .uleb128 0x21 + .sleb128 3 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x16 + .uleb128 0x26 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x17 + .uleb128 0x1d + .byte 0x1 + .uleb128 0x31 + .uleb128 0x13 + .uleb128 0x52 + .uleb128 0x1 + .uleb128 0x2138 + .uleb128 0x5 + .uleb128 0x55 + .uleb128 0x17 + .uleb128 0x58 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x59 + .uleb128 0x5 + .uleb128 0x57 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x18 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 6 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x19 + .uleb128 0x13 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x1a + .uleb128 0x1 + .byte 0x1 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x1b + .uleb128 0x21 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2f + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x1c + .uleb128 0x13 + .byte 0x1 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x1d + .uleb128 0x28 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x1c + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x1e + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x1f + .uleb128 0x13 + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x20 + .uleb128 0x18 + .byte 0 + .byte 0 + .byte 0 + .uleb128 0x21 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x34 + .uleb128 0x19 + .uleb128 0x2 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x22 + .uleb128 0xb + .byte 0x1 + .uleb128 0x55 + .uleb128 0x17 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x23 + .uleb128 0x37 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x24 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 11 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 14 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x25 + .uleb128 0x4 + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3e + .uleb128 0x21 + .sleb128 7 + .uleb128 0xb + .uleb128 0x21 + .sleb128 4 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 6 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x26 + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 14 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 9 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0xd + .uleb128 0x21 + .sleb128 1 + .uleb128 0x6b + .uleb128 0x21 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x27 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x28 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 11 + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x29 + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x2a + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x2b + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x2c + .uleb128 0xa + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x11 + .uleb128 0x1 + .byte 0 + .byte 0 + .uleb128 0x2d + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x2e + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 2 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x2f + .uleb128 0x11 + .byte 0x1 + .uleb128 0x25 + .uleb128 0xe + .uleb128 0x13 + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x1f + .uleb128 0x1b + .uleb128 0x1f + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x10 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x30 + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x8 + .byte 0 + .byte 0 + .uleb128 0x31 + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x32 + .uleb128 0x15 + .byte 0x1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x33 + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x34 + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x35 + .uleb128 0x4 + .byte 0x1 + .uleb128 0x3e + .uleb128 0xb + .uleb128 0xb + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x36 + .uleb128 0xb + .byte 0x1 + .uleb128 0x55 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x37 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x38 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x39 + .uleb128 0xa + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x11 + .uleb128 0x1 + .byte 0 + .byte 0 + .uleb128 0x3a + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x3b + .uleb128 0xb + .byte 0x1 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x3c + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x20 + .uleb128 0xb + .uleb128 0x34 + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .byte 0 + .section .debug_loclists,"",@progbits + .long .Ldebug_loc3-.Ldebug_loc2 +.Ldebug_loc2: + .value 0x5 + .byte 0x8 + .byte 0 + .long 0 +.Ldebug_loc0: +.LVUS168: + .uleb128 0 + .uleb128 .LVU1373 + .uleb128 .LVU1373 + .uleb128 .LVU1377 + .uleb128 .LVU1377 + .uleb128 .LVU1378 + .uleb128 .LVU1378 + .uleb128 0 +.LLST168: + .byte 0x4 + .uleb128 .LVL933-.Ltext0 + .uleb128 .LVL934-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL934-.Ltext0 + .uleb128 .LVL938-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL938-.Ltext0 + .uleb128 .LVL939-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL939-.Ltext0 + .uleb128 .LFE73-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS0: + .uleb128 0 + .uleb128 .LVU5 + .uleb128 .LVU5 + .uleb128 .LVU12 + .uleb128 .LVU12 + .uleb128 .LVU13 + .uleb128 .LVU13 + .uleb128 0 +.LLST0: + .byte 0x4 + .uleb128 .LVL0-.Ltext0 + .uleb128 .LVL1-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL1-.Ltext0 + .uleb128 .LVL5-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL5-.Ltext0 + .uleb128 .LVL6-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL6-.Ltext0 + .uleb128 .LFE72-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS1: + .uleb128 .LVU6 + .uleb128 .LVU9 +.LLST1: + .byte 0x4 + .uleb128 .LVL2-.Ltext0 + .uleb128 .LVL3-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC1 + .byte 0x9f + .byte 0 +.LVUS2: + .uleb128 .LVU6 + .uleb128 .LVU9 +.LLST2: + .byte 0x4 + .uleb128 .LVL2-.Ltext0 + .uleb128 .LVL3-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS163: + .uleb128 0 + .uleb128 .LVU1350 + .uleb128 .LVU1350 + .uleb128 .LVU1361 + .uleb128 .LVU1361 + .uleb128 .LVU1364 + .uleb128 .LVU1364 + .uleb128 0 +.LLST163: + .byte 0x4 + .uleb128 .LVL913-.Ltext0 + .uleb128 .LVL915-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL915-.Ltext0 + .uleb128 .LVL923-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL923-.Ltext0 + .uleb128 .LVL926-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL926-.Ltext0 + .uleb128 .LFE71-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS164: + .uleb128 .LVU1344 + .uleb128 .LVU1350 + .uleb128 .LVU1350 + .uleb128 .LVU1363 + .uleb128 .LVU1363 + .uleb128 .LVU1364 + .uleb128 .LVU1364 + .uleb128 0 +.LLST164: + .byte 0x4 + .uleb128 .LVL914-.Ltext0 + .uleb128 .LVL915-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL915-.Ltext0 + .uleb128 .LVL925-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL925-.Ltext0 + .uleb128 .LVL926-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL926-.Ltext0 + .uleb128 .LFE71-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS165: + .uleb128 .LVU1350 + .uleb128 .LVU1352 + .uleb128 .LVU1358 + .uleb128 .LVU1359 +.LLST165: + .byte 0x4 + .uleb128 .LVL915-.Ltext0 + .uleb128 .LVL916-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL921-.Ltext0 + .uleb128 .LVL922-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0 +.LVUS167: + .uleb128 .LVU1347 + .uleb128 .LVU1350 + .uleb128 .LVU1350 + .uleb128 .LVU1362 + .uleb128 .LVU1364 + .uleb128 0 +.LLST167: + .byte 0x4 + .uleb128 .LVL914-.Ltext0 + .uleb128 .LVL915-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL915-.Ltext0 + .uleb128 .LVL924-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL926-.Ltext0 + .uleb128 .LFE71-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS160: + .uleb128 0 + .uleb128 .LVU1331 + .uleb128 .LVU1331 + .uleb128 .LVU1336 + .uleb128 .LVU1336 + .uleb128 .LVU1338 + .uleb128 .LVU1338 + .uleb128 .LVU1340 + .uleb128 .LVU1340 + .uleb128 0 +.LLST160: + .byte 0x4 + .uleb128 .LVL903-.Ltext0 + .uleb128 .LVL904-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL904-.Ltext0 + .uleb128 .LVL907-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL907-.Ltext0 + .uleb128 .LVL909-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL909-.Ltext0 + .uleb128 .LVL911-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL911-.Ltext0 + .uleb128 .LFE70-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS161: + .uleb128 0 + .uleb128 .LVU1332 + .uleb128 .LVU1332 + .uleb128 .LVU1334 + .uleb128 .LVU1334 + .uleb128 0 +.LLST161: + .byte 0x4 + .uleb128 .LVL903-.Ltext0 + .uleb128 .LVL905-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL905-.Ltext0 + .uleb128 .LVL906-1-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL906-1-.Ltext0 + .uleb128 .LFE70-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0 +.LVUS162: + .uleb128 0 + .uleb128 .LVU1334 + .uleb128 .LVU1334 + .uleb128 0 +.LLST162: + .byte 0x4 + .uleb128 .LVL903-.Ltext0 + .uleb128 .LVL906-1-.Ltext0 + .uleb128 0x1 + .byte 0x51 + .byte 0x4 + .uleb128 .LVL906-1-.Ltext0 + .uleb128 .LFE70-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x51 + .byte 0x9f + .byte 0 +.LVUS156: + .uleb128 0 + .uleb128 .LVU1299 + .uleb128 .LVU1299 + .uleb128 .LVU1313 + .uleb128 .LVU1313 + .uleb128 .LVU1314 + .uleb128 .LVU1314 + .uleb128 .LVU1321 + .uleb128 .LVU1321 + .uleb128 .LVU1327 + .uleb128 .LVU1327 + .uleb128 .LVU1328 + .uleb128 .LVU1328 + .uleb128 0 +.LLST156: + .byte 0x4 + .uleb128 .LVL885-.Ltext0 + .uleb128 .LVL886-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL886-.Ltext0 + .uleb128 .LVL891-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL891-.Ltext0 + .uleb128 .LVL892-.Ltext0 + .uleb128 0x9 + .byte 0x3 + .quad g_comp_args + .byte 0x4 + .uleb128 .LVL892-.Ltext0 + .uleb128 .LVL895-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL895-.Ltext0 + .uleb128 .LVL901-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL901-.Ltext0 + .uleb128 .LVL902-1-.Ltext0 + .uleb128 0x9 + .byte 0x3 + .quad g_comp_args + .byte 0x4 + .uleb128 .LVL902-1-.Ltext0 + .uleb128 .LFE69-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS157: + .uleb128 .LVU1300 + .uleb128 .LVU1302 + .uleb128 .LVU1302 + .uleb128 .LVU1320 + .uleb128 .LVU1320 + .uleb128 .LVU1321 + .uleb128 .LVU1321 + .uleb128 0 +.LLST157: + .byte 0x4 + .uleb128 .LVL888-.Ltext0 + .uleb128 .LVL889-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL889-1-.Ltext0 + .uleb128 .LVL894-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL894-.Ltext0 + .uleb128 .LVL895-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL895-.Ltext0 + .uleb128 .LFE69-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS158: + .uleb128 .LVU1314 + .uleb128 .LVU1317 +.LLST158: + .byte 0x4 + .uleb128 .LVL892-.Ltext0 + .uleb128 .LVL893-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC45 + .byte 0x9f + .byte 0 +.LVUS159: + .uleb128 .LVU1314 + .uleb128 .LVU1317 +.LLST159: + .byte 0x4 + .uleb128 .LVL892-.Ltext0 + .uleb128 .LVL893-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS142: + .uleb128 0 + .uleb128 .LVU1170 + .uleb128 .LVU1170 + .uleb128 .LVU1286 + .uleb128 .LVU1286 + .uleb128 .LVU1287 + .uleb128 .LVU1287 + .uleb128 0 +.LLST142: + .byte 0x4 + .uleb128 .LVL777-.Ltext0 + .uleb128 .LVL778-1-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL778-1-.Ltext0 + .uleb128 .LVL868-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL868-.Ltext0 + .uleb128 .LVL869-.Ltext0 + .uleb128 0x2 + .byte 0x77 + .sleb128 -64 + .byte 0x4 + .uleb128 .LVL869-.Ltext0 + .uleb128 .LFE68-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0 +.LVUS143: + .uleb128 0 + .uleb128 .LVU1170 + .uleb128 .LVU1170 + .uleb128 .LVU1271 + .uleb128 .LVU1271 + .uleb128 .LVU1287 + .uleb128 .LVU1287 + .uleb128 .LVU1290 + .uleb128 .LVU1290 + .uleb128 0 +.LLST143: + .byte 0x4 + .uleb128 .LVL777-.Ltext0 + .uleb128 .LVL778-1-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL778-1-.Ltext0 + .uleb128 .LVL857-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL857-.Ltext0 + .uleb128 .LVL869-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL869-.Ltext0 + .uleb128 .LVL873-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL873-.Ltext0 + .uleb128 .LFE68-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0 +.LVUS144: + .uleb128 .LVU1171 + .uleb128 .LVU1173 + .uleb128 .LVU1173 + .uleb128 .LVU1179 + .uleb128 .LVU1179 + .uleb128 .LVU1180 + .uleb128 .LVU1180 + .uleb128 .LVU1284 + .uleb128 .LVU1287 + .uleb128 0 +.LLST144: + .byte 0x4 + .uleb128 .LVL779-.Ltext0 + .uleb128 .LVL780-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL780-.Ltext0 + .uleb128 .LVL783-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL783-.Ltext0 + .uleb128 .LVL784-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL784-1-.Ltext0 + .uleb128 .LVL866-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL869-.Ltext0 + .uleb128 .LFE68-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0 +.LVUS145: + .uleb128 .LVU1176 + .uleb128 .LVU1179 + .uleb128 .LVU1183 + .uleb128 .LVU1200 + .uleb128 .LVU1200 + .uleb128 .LVU1202 + .uleb128 .LVU1202 + .uleb128 .LVU1285 + .uleb128 .LVU1287 + .uleb128 0 +.LLST145: + .byte 0x4 + .uleb128 .LVL782-.Ltext0 + .uleb128 .LVL783-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL787-.Ltext0 + .uleb128 .LVL801-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0x4 + .uleb128 .LVL801-.Ltext0 + .uleb128 .LVL802-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL802-.Ltext0 + .uleb128 .LVL867-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0x4 + .uleb128 .LVL869-.Ltext0 + .uleb128 .LFE68-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0 +.LVUS146: + .uleb128 .LVU1279 + .uleb128 .LVU1280 + .uleb128 .LVU1280 + .uleb128 .LVU1283 + .uleb128 .LVU1283 + .uleb128 .LVU1287 + .uleb128 .LVU1293 + .uleb128 .LVU1294 + .uleb128 .LVU1294 + .uleb128 0 +.LLST146: + .byte 0x4 + .uleb128 .LVL862-.Ltext0 + .uleb128 .LVL863-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL863-.Ltext0 + .uleb128 .LVL865-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL865-.Ltext0 + .uleb128 .LVL869-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL883-.Ltext0 + .uleb128 .LVL884-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL884-1-.Ltext0 + .uleb128 .LFE68-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS148: + .uleb128 .LVU1186 + .uleb128 .LVU1191 + .uleb128 .LVU1208 + .uleb128 .LVU1212 + .uleb128 .LVU1214 + .uleb128 .LVU1216 + .uleb128 .LVU1226 + .uleb128 .LVU1227 + .uleb128 .LVU1232 + .uleb128 .LVU1252 + .uleb128 .LVU1253 + .uleb128 .LVU1256 +.LLST148: + .byte 0x4 + .uleb128 .LVL791-.Ltext0 + .uleb128 .LVL797-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL805-.Ltext0 + .uleb128 .LVL808-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL811-.Ltext0 + .uleb128 .LVL813-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL819-.Ltext0 + .uleb128 .LVL820-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL826-.Ltext0 + .uleb128 .LVL839-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL841-.Ltext0 + .uleb128 .LVL844-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS149: + .uleb128 .LVU1189 + .uleb128 .LVU1190 + .uleb128 .LVU1210 + .uleb128 .LVU1211 + .uleb128 .LVU1214 + .uleb128 .LVU1215 + .uleb128 .LVU1232 + .uleb128 .LVU1235 + .uleb128 .LVU1236 + .uleb128 .LVU1237 + .uleb128 .LVU1238 + .uleb128 .LVU1239 + .uleb128 .LVU1240 + .uleb128 .LVU1241 + .uleb128 .LVU1242 + .uleb128 .LVU1243 + .uleb128 .LVU1244 + .uleb128 .LVU1246 +.LLST149: + .byte 0x4 + .uleb128 .LVL795-.Ltext0 + .uleb128 .LVL796-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL806-.Ltext0 + .uleb128 .LVL807-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL811-.Ltext0 + .uleb128 .LVL812-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL826-.Ltext0 + .uleb128 .LVL827-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL828-.Ltext0 + .uleb128 .LVL829-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL830-.Ltext0 + .uleb128 .LVL831-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL832-.Ltext0 + .uleb128 .LVL833-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL834-.Ltext0 + .uleb128 .LVL835-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL836-.Ltext0 + .uleb128 .LVL837-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0 +.LVUS150: + .uleb128 .LVU1192 + .uleb128 .LVU1195 +.LLST150: + .byte 0x4 + .uleb128 .LVL798-.Ltext0 + .uleb128 .LVL799-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC42 + .byte 0x9f + .byte 0 +.LVUS151: + .uleb128 .LVU1192 + .uleb128 .LVU1195 +.LLST151: + .byte 0x4 + .uleb128 .LVL798-.Ltext0 + .uleb128 .LVL799-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS152: + .uleb128 .LVU1217 + .uleb128 .LVU1220 +.LLST152: + .byte 0x4 + .uleb128 .LVL814-.Ltext0 + .uleb128 .LVL815-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC43 + .byte 0x9f + .byte 0 +.LVUS153: + .uleb128 .LVU1217 + .uleb128 .LVU1220 +.LLST153: + .byte 0x4 + .uleb128 .LVL814-.Ltext0 + .uleb128 .LVL815-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS154: + .uleb128 .LVU1272 + .uleb128 .LVU1275 +.LLST154: + .byte 0x4 + .uleb128 .LVL858-.Ltext0 + .uleb128 .LVL859-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC44 + .byte 0x9f + .byte 0 +.LVUS155: + .uleb128 .LVU1272 + .uleb128 .LVU1275 +.LLST155: + .byte 0x4 + .uleb128 .LVL858-.Ltext0 + .uleb128 .LVL859-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS79: + .uleb128 0 + .uleb128 .LVU726 + .uleb128 .LVU726 + .uleb128 .LVU756 + .uleb128 .LVU756 + .uleb128 .LVU759 + .uleb128 .LVU759 + .uleb128 .LVU1097 + .uleb128 .LVU1097 + .uleb128 .LVU1099 + .uleb128 .LVU1099 + .uleb128 .LVU1103 + .uleb128 .LVU1103 + .uleb128 .LVU1104 + .uleb128 .LVU1104 + .uleb128 .LVU1117 + .uleb128 .LVU1117 + .uleb128 0 +.LLST79: + .byte 0x4 + .uleb128 .LVL514-.Ltext0 + .uleb128 .LVL515-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL515-.Ltext0 + .uleb128 .LVL537-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL537-.Ltext0 + .uleb128 .LVL539-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL539-.Ltext0 + .uleb128 .LVL717-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL717-.Ltext0 + .uleb128 .LVL719-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL719-.Ltext0 + .uleb128 .LVL723-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL723-.Ltext0 + .uleb128 .LVL725-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL725-.Ltext0 + .uleb128 .LVL738-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL738-.Ltext0 + .uleb128 .LFE67-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS80: + .uleb128 0 + .uleb128 .LVU726 + .uleb128 .LVU726 + .uleb128 .LVU732 + .uleb128 .LVU732 + .uleb128 .LVU733 + .uleb128 .LVU733 + .uleb128 .LVU758 + .uleb128 .LVU758 + .uleb128 .LVU759 + .uleb128 .LVU759 + .uleb128 .LVU1091 + .uleb128 .LVU1091 + .uleb128 .LVU1099 + .uleb128 .LVU1099 + .uleb128 .LVU1100 + .uleb128 .LVU1100 + .uleb128 .LVU1104 + .uleb128 .LVU1104 + .uleb128 0 +.LLST80: + .byte 0x4 + .uleb128 .LVL514-.Ltext0 + .uleb128 .LVL515-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL515-.Ltext0 + .uleb128 .LVL520-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL520-.Ltext0 + .uleb128 .LVL521-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL521-.Ltext0 + .uleb128 .LVL538-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL538-.Ltext0 + .uleb128 .LVL539-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL539-.Ltext0 + .uleb128 .LVL714-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL714-.Ltext0 + .uleb128 .LVL719-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL719-.Ltext0 + .uleb128 .LVL720-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL720-.Ltext0 + .uleb128 .LVL725-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL725-.Ltext0 + .uleb128 .LFE67-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS81: + .uleb128 .LVU727 + .uleb128 .LVU728 + .uleb128 .LVU728 + .uleb128 .LVU732 + .uleb128 .LVU736 + .uleb128 .LVU737 + .uleb128 .LVU737 + .uleb128 .LVU742 + .uleb128 .LVU759 + .uleb128 .LVU760 + .uleb128 .LVU761 + .uleb128 .LVU764 + .uleb128 .LVU774 + .uleb128 .LVU775 + .uleb128 .LVU776 + .uleb128 .LVU779 + .uleb128 .LVU789 + .uleb128 .LVU790 + .uleb128 .LVU791 + .uleb128 .LVU794 + .uleb128 .LVU804 + .uleb128 .LVU805 + .uleb128 .LVU806 + .uleb128 .LVU809 + .uleb128 .LVU819 + .uleb128 .LVU820 + .uleb128 .LVU821 + .uleb128 .LVU824 + .uleb128 .LVU834 + .uleb128 .LVU835 + .uleb128 .LVU836 + .uleb128 .LVU839 + .uleb128 .LVU849 + .uleb128 .LVU850 + .uleb128 .LVU851 + .uleb128 .LVU857 + .uleb128 .LVU865 + .uleb128 .LVU868 + .uleb128 .LVU877 + .uleb128 .LVU878 + .uleb128 .LVU879 + .uleb128 .LVU880 + .uleb128 .LVU881 + .uleb128 .LVU887 + .uleb128 .LVU895 + .uleb128 .LVU898 + .uleb128 .LVU907 + .uleb128 .LVU908 + .uleb128 .LVU909 + .uleb128 .LVU910 + .uleb128 .LVU911 + .uleb128 .LVU917 + .uleb128 .LVU925 + .uleb128 .LVU928 + .uleb128 .LVU937 + .uleb128 .LVU938 + .uleb128 .LVU939 + .uleb128 .LVU940 + .uleb128 .LVU941 + .uleb128 .LVU947 + .uleb128 .LVU955 + .uleb128 .LVU958 + .uleb128 .LVU967 + .uleb128 .LVU968 + .uleb128 .LVU969 + .uleb128 .LVU970 + .uleb128 .LVU971 + .uleb128 .LVU977 + .uleb128 .LVU985 + .uleb128 .LVU988 + .uleb128 .LVU997 + .uleb128 .LVU998 + .uleb128 .LVU999 + .uleb128 .LVU1000 + .uleb128 .LVU1001 + .uleb128 .LVU1007 + .uleb128 .LVU1015 + .uleb128 .LVU1018 + .uleb128 .LVU1027 + .uleb128 .LVU1028 + .uleb128 .LVU1029 + .uleb128 .LVU1030 + .uleb128 .LVU1031 + .uleb128 .LVU1037 + .uleb128 .LVU1045 + .uleb128 .LVU1048 + .uleb128 .LVU1057 + .uleb128 .LVU1058 + .uleb128 .LVU1059 + .uleb128 .LVU1060 + .uleb128 .LVU1061 + .uleb128 .LVU1070 + .uleb128 .LVU1071 + .uleb128 .LVU1081 + .uleb128 .LVU1082 + .uleb128 .LVU1088 + .uleb128 .LVU1089 + .uleb128 .LVU1105 + .uleb128 .LVU1106 + .uleb128 .LVU1107 + .uleb128 .LVU1108 + .uleb128 .LVU1109 + .uleb128 .LVU1110 + .uleb128 .LVU1111 + .uleb128 .LVU1112 + .uleb128 .LVU1113 +.LLST81: + .byte 0x4 + .uleb128 .LVL517-.Ltext0 + .uleb128 .LVL518-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL518-.Ltext0 + .uleb128 .LVL520-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL525-.Ltext0 + .uleb128 .LVL526-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL526-1-.Ltext0 + .uleb128 .LVL531-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL539-.Ltext0 + .uleb128 .LVL540-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL542-.Ltext0 + .uleb128 .LVL544-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL547-.Ltext0 + .uleb128 .LVL548-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL550-.Ltext0 + .uleb128 .LVL552-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL555-.Ltext0 + .uleb128 .LVL556-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL558-.Ltext0 + .uleb128 .LVL560-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL563-.Ltext0 + .uleb128 .LVL564-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL566-.Ltext0 + .uleb128 .LVL568-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL571-.Ltext0 + .uleb128 .LVL572-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL574-.Ltext0 + .uleb128 .LVL576-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL579-.Ltext0 + .uleb128 .LVL580-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL582-.Ltext0 + .uleb128 .LVL584-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL587-.Ltext0 + .uleb128 .LVL588-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL590-.Ltext0 + .uleb128 .LVL592-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL595-.Ltext0 + .uleb128 .LVL597-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL600-.Ltext0 + .uleb128 .LVL601-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL603-.Ltext0 + .uleb128 .LVL604-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL606-.Ltext0 + .uleb128 .LVL608-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL611-.Ltext0 + .uleb128 .LVL613-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL616-.Ltext0 + .uleb128 .LVL617-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL619-.Ltext0 + .uleb128 .LVL620-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL622-.Ltext0 + .uleb128 .LVL624-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL627-.Ltext0 + .uleb128 .LVL629-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL632-.Ltext0 + .uleb128 .LVL633-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL635-.Ltext0 + .uleb128 .LVL636-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL638-.Ltext0 + .uleb128 .LVL640-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL643-.Ltext0 + .uleb128 .LVL645-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL648-.Ltext0 + .uleb128 .LVL649-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL651-.Ltext0 + .uleb128 .LVL652-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL654-.Ltext0 + .uleb128 .LVL656-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL659-.Ltext0 + .uleb128 .LVL661-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL664-.Ltext0 + .uleb128 .LVL665-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL667-.Ltext0 + .uleb128 .LVL668-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL670-.Ltext0 + .uleb128 .LVL672-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL675-.Ltext0 + .uleb128 .LVL677-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL680-.Ltext0 + .uleb128 .LVL681-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL683-.Ltext0 + .uleb128 .LVL684-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL686-.Ltext0 + .uleb128 .LVL688-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL691-.Ltext0 + .uleb128 .LVL693-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL696-.Ltext0 + .uleb128 .LVL697-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL699-.Ltext0 + .uleb128 .LVL700-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL702-.Ltext0 + .uleb128 .LVL703-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL704-.Ltext0 + .uleb128 .LVL709-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL710-.Ltext0 + .uleb128 .LVL711-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL712-.Ltext0 + .uleb128 .LVL726-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL727-.Ltext0 + .uleb128 .LVL728-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL729-.Ltext0 + .uleb128 .LVL730-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL731-.Ltext0 + .uleb128 .LVL732-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL733-.Ltext0 + .uleb128 .LVL734-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS82: + .uleb128 .LVU729 + .uleb128 .LVU732 + .uleb128 .LVU740 + .uleb128 .LVU741 + .uleb128 .LVU761 + .uleb128 .LVU763 + .uleb128 .LVU776 + .uleb128 .LVU778 + .uleb128 .LVU791 + .uleb128 .LVU793 + .uleb128 .LVU806 + .uleb128 .LVU808 + .uleb128 .LVU821 + .uleb128 .LVU823 + .uleb128 .LVU836 + .uleb128 .LVU838 + .uleb128 .LVU851 + .uleb128 .LVU856 + .uleb128 .LVU865 + .uleb128 .LVU867 + .uleb128 .LVU881 + .uleb128 .LVU886 + .uleb128 .LVU895 + .uleb128 .LVU897 + .uleb128 .LVU911 + .uleb128 .LVU916 + .uleb128 .LVU925 + .uleb128 .LVU927 + .uleb128 .LVU941 + .uleb128 .LVU946 + .uleb128 .LVU955 + .uleb128 .LVU957 + .uleb128 .LVU971 + .uleb128 .LVU976 + .uleb128 .LVU985 + .uleb128 .LVU987 + .uleb128 .LVU1001 + .uleb128 .LVU1006 + .uleb128 .LVU1015 + .uleb128 .LVU1017 + .uleb128 .LVU1031 + .uleb128 .LVU1036 + .uleb128 .LVU1045 + .uleb128 .LVU1047 + .uleb128 .LVU1061 + .uleb128 .LVU1072 + .uleb128 .LVU1073 + .uleb128 .LVU1074 + .uleb128 .LVU1075 + .uleb128 .LVU1090 + .uleb128 .LVU1104 + .uleb128 .LVU1114 +.LLST82: + .byte 0x4 + .uleb128 .LVL519-.Ltext0 + .uleb128 .LVL520-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL529-.Ltext0 + .uleb128 .LVL530-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL542-.Ltext0 + .uleb128 .LVL543-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL550-.Ltext0 + .uleb128 .LVL551-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL558-.Ltext0 + .uleb128 .LVL559-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL566-.Ltext0 + .uleb128 .LVL567-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL574-.Ltext0 + .uleb128 .LVL575-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL582-.Ltext0 + .uleb128 .LVL583-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL590-.Ltext0 + .uleb128 .LVL591-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL595-.Ltext0 + .uleb128 .LVL596-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL606-.Ltext0 + .uleb128 .LVL607-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL611-.Ltext0 + .uleb128 .LVL612-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL622-.Ltext0 + .uleb128 .LVL623-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL627-.Ltext0 + .uleb128 .LVL628-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL638-.Ltext0 + .uleb128 .LVL639-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL643-.Ltext0 + .uleb128 .LVL644-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL654-.Ltext0 + .uleb128 .LVL655-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL659-.Ltext0 + .uleb128 .LVL660-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL670-.Ltext0 + .uleb128 .LVL671-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL675-.Ltext0 + .uleb128 .LVL676-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL686-.Ltext0 + .uleb128 .LVL687-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL691-.Ltext0 + .uleb128 .LVL692-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL702-.Ltext0 + .uleb128 .LVL705-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL706-.Ltext0 + .uleb128 .LVL707-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL708-.Ltext0 + .uleb128 .LVL713-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL725-.Ltext0 + .uleb128 .LVL735-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0 +.LVUS83: + .uleb128 .LVU748 + .uleb128 .LVU751 + .uleb128 .LVU751 + .uleb128 .LVU753 + .uleb128 .LVU770 + .uleb128 .LVU774 + .uleb128 .LVU785 + .uleb128 .LVU789 + .uleb128 .LVU800 + .uleb128 .LVU804 + .uleb128 .LVU815 + .uleb128 .LVU819 + .uleb128 .LVU830 + .uleb128 .LVU834 + .uleb128 .LVU845 + .uleb128 .LVU849 + .uleb128 .LVU853 + .uleb128 .LVU874 + .uleb128 .LVU874 + .uleb128 .LVU877 + .uleb128 .LVU877 + .uleb128 .LVU881 + .uleb128 .LVU883 + .uleb128 .LVU904 + .uleb128 .LVU904 + .uleb128 .LVU907 + .uleb128 .LVU907 + .uleb128 .LVU911 + .uleb128 .LVU913 + .uleb128 .LVU934 + .uleb128 .LVU934 + .uleb128 .LVU937 + .uleb128 .LVU937 + .uleb128 .LVU941 + .uleb128 .LVU943 + .uleb128 .LVU964 + .uleb128 .LVU964 + .uleb128 .LVU967 + .uleb128 .LVU967 + .uleb128 .LVU971 + .uleb128 .LVU973 + .uleb128 .LVU994 + .uleb128 .LVU994 + .uleb128 .LVU997 + .uleb128 .LVU997 + .uleb128 .LVU1001 + .uleb128 .LVU1003 + .uleb128 .LVU1024 + .uleb128 .LVU1024 + .uleb128 .LVU1027 + .uleb128 .LVU1027 + .uleb128 .LVU1031 + .uleb128 .LVU1033 + .uleb128 .LVU1054 + .uleb128 .LVU1054 + .uleb128 .LVU1057 + .uleb128 .LVU1057 + .uleb128 .LVU1061 + .uleb128 .LVU1063 + .uleb128 .LVU1075 + .uleb128 .LVU1076 + .uleb128 .LVU1082 + .uleb128 .LVU1083 + .uleb128 .LVU1089 + .uleb128 .LVU1104 + .uleb128 .LVU1106 + .uleb128 .LVU1106 + .uleb128 .LVU1110 + .uleb128 .LVU1110 + .uleb128 .LVU1114 +.LLST83: + .byte 0x4 + .uleb128 .LVL533-.Ltext0 + .uleb128 .LVL534-.Ltext0 + .uleb128 0x3 + .byte 0x8 + .byte 0x22 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL534-.Ltext0 + .uleb128 .LVL535-1-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL546-.Ltext0 + .uleb128 .LVL547-.Ltext0 + .uleb128 0x2 + .byte 0x37 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL554-.Ltext0 + .uleb128 .LVL555-.Ltext0 + .uleb128 0x2 + .byte 0x38 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL562-.Ltext0 + .uleb128 .LVL563-.Ltext0 + .uleb128 0x2 + .byte 0x35 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL570-.Ltext0 + .uleb128 .LVL571-.Ltext0 + .uleb128 0x2 + .byte 0x36 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL578-.Ltext0 + .uleb128 .LVL579-.Ltext0 + .uleb128 0x3 + .byte 0x8 + .byte 0x25 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL586-.Ltext0 + .uleb128 .LVL587-.Ltext0 + .uleb128 0x2 + .byte 0x39 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL590-.Ltext0 + .uleb128 .LVL599-.Ltext0 + .uleb128 0x2 + .byte 0x3d + .byte 0x9f + .byte 0x4 + .uleb128 .LVL599-.Ltext0 + .uleb128 .LVL600-.Ltext0 + .uleb128 0x2 + .byte 0x42 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL600-.Ltext0 + .uleb128 .LVL606-.Ltext0 + .uleb128 0x2 + .byte 0x3d + .byte 0x9f + .byte 0x4 + .uleb128 .LVL606-.Ltext0 + .uleb128 .LVL615-.Ltext0 + .uleb128 0x2 + .byte 0x3a + .byte 0x9f + .byte 0x4 + .uleb128 .LVL615-.Ltext0 + .uleb128 .LVL616-.Ltext0 + .uleb128 0x2 + .byte 0x3f + .byte 0x9f + .byte 0x4 + .uleb128 .LVL616-.Ltext0 + .uleb128 .LVL622-.Ltext0 + .uleb128 0x2 + .byte 0x3a + .byte 0x9f + .byte 0x4 + .uleb128 .LVL622-.Ltext0 + .uleb128 .LVL631-.Ltext0 + .uleb128 0x2 + .byte 0x3b + .byte 0x9f + .byte 0x4 + .uleb128 .LVL631-.Ltext0 + .uleb128 .LVL632-.Ltext0 + .uleb128 0x2 + .byte 0x40 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL632-.Ltext0 + .uleb128 .LVL638-.Ltext0 + .uleb128 0x2 + .byte 0x3b + .byte 0x9f + .byte 0x4 + .uleb128 .LVL638-.Ltext0 + .uleb128 .LVL647-.Ltext0 + .uleb128 0x2 + .byte 0x3e + .byte 0x9f + .byte 0x4 + .uleb128 .LVL647-.Ltext0 + .uleb128 .LVL648-.Ltext0 + .uleb128 0x2 + .byte 0x43 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL648-.Ltext0 + .uleb128 .LVL654-.Ltext0 + .uleb128 0x2 + .byte 0x3e + .byte 0x9f + .byte 0x4 + .uleb128 .LVL654-.Ltext0 + .uleb128 .LVL663-.Ltext0 + .uleb128 0x2 + .byte 0x4e + .byte 0x9f + .byte 0x4 + .uleb128 .LVL663-.Ltext0 + .uleb128 .LVL664-.Ltext0 + .uleb128 0x3 + .byte 0x8 + .byte 0x21 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL664-.Ltext0 + .uleb128 .LVL670-.Ltext0 + .uleb128 0x2 + .byte 0x4e + .byte 0x9f + .byte 0x4 + .uleb128 .LVL670-.Ltext0 + .uleb128 .LVL679-.Ltext0 + .uleb128 0x2 + .byte 0x4a + .byte 0x9f + .byte 0x4 + .uleb128 .LVL679-.Ltext0 + .uleb128 .LVL680-.Ltext0 + .uleb128 0x2 + .byte 0x4b + .byte 0x9f + .byte 0x4 + .uleb128 .LVL680-.Ltext0 + .uleb128 .LVL686-.Ltext0 + .uleb128 0x2 + .byte 0x4a + .byte 0x9f + .byte 0x4 + .uleb128 .LVL686-.Ltext0 + .uleb128 .LVL695-.Ltext0 + .uleb128 0x2 + .byte 0x48 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL695-.Ltext0 + .uleb128 .LVL696-.Ltext0 + .uleb128 0x2 + .byte 0x49 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL696-.Ltext0 + .uleb128 .LVL702-.Ltext0 + .uleb128 0x2 + .byte 0x48 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL702-.Ltext0 + .uleb128 .LVL708-.Ltext0 + .uleb128 0x2 + .byte 0x3c + .byte 0x9f + .byte 0x4 + .uleb128 .LVL708-.Ltext0 + .uleb128 .LVL710-.Ltext0 + .uleb128 0x2 + .byte 0x4c + .byte 0x9f + .byte 0x4 + .uleb128 .LVL710-.Ltext0 + .uleb128 .LVL712-.Ltext0 + .uleb128 0x2 + .byte 0x4d + .byte 0x9f + .byte 0x4 + .uleb128 .LVL725-.Ltext0 + .uleb128 .LVL727-.Ltext0 + .uleb128 0x2 + .byte 0x3c + .byte 0x9f + .byte 0x4 + .uleb128 .LVL727-.Ltext0 + .uleb128 .LVL731-.Ltext0 + .uleb128 0x2 + .byte 0x4c + .byte 0x9f + .byte 0x4 + .uleb128 .LVL731-.Ltext0 + .uleb128 .LVL735-.Ltext0 + .uleb128 0x2 + .byte 0x4d + .byte 0x9f + .byte 0 +.LVUS84: + .uleb128 .LVU731 + .uleb128 .LVU732 + .uleb128 .LVU740 + .uleb128 .LVU751 + .uleb128 .LVU751 + .uleb128 .LVU758 + .uleb128 .LVU759 + .uleb128 .LVU875 + .uleb128 .LVU875 + .uleb128 .LVU877 + .uleb128 .LVU877 + .uleb128 .LVU905 + .uleb128 .LVU905 + .uleb128 .LVU907 + .uleb128 .LVU907 + .uleb128 .LVU935 + .uleb128 .LVU935 + .uleb128 .LVU937 + .uleb128 .LVU937 + .uleb128 .LVU965 + .uleb128 .LVU965 + .uleb128 .LVU967 + .uleb128 .LVU967 + .uleb128 .LVU995 + .uleb128 .LVU995 + .uleb128 .LVU997 + .uleb128 .LVU997 + .uleb128 .LVU1025 + .uleb128 .LVU1025 + .uleb128 .LVU1027 + .uleb128 .LVU1027 + .uleb128 .LVU1055 + .uleb128 .LVU1055 + .uleb128 .LVU1057 + .uleb128 .LVU1057 + .uleb128 .LVU1114 + .uleb128 .LVU1114 + .uleb128 0 +.LLST84: + .byte 0x4 + .uleb128 .LVL519-.Ltext0 + .uleb128 .LVL520-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL529-.Ltext0 + .uleb128 .LVL534-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL534-.Ltext0 + .uleb128 .LVL538-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL539-.Ltext0 + .uleb128 .LVL599-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL599-.Ltext0 + .uleb128 .LVL600-.Ltext0 + .uleb128 0x2 + .byte 0x32 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL600-.Ltext0 + .uleb128 .LVL615-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL615-.Ltext0 + .uleb128 .LVL616-.Ltext0 + .uleb128 0x2 + .byte 0x32 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL616-.Ltext0 + .uleb128 .LVL631-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL631-.Ltext0 + .uleb128 .LVL632-.Ltext0 + .uleb128 0x2 + .byte 0x32 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL632-.Ltext0 + .uleb128 .LVL647-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL647-.Ltext0 + .uleb128 .LVL648-.Ltext0 + .uleb128 0x2 + .byte 0x32 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL648-.Ltext0 + .uleb128 .LVL663-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL663-.Ltext0 + .uleb128 .LVL664-.Ltext0 + .uleb128 0x2 + .byte 0x32 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL664-.Ltext0 + .uleb128 .LVL679-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL679-.Ltext0 + .uleb128 .LVL680-.Ltext0 + .uleb128 0x2 + .byte 0x32 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL680-.Ltext0 + .uleb128 .LVL695-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL695-.Ltext0 + .uleb128 .LVL696-.Ltext0 + .uleb128 0x2 + .byte 0x32 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL696-.Ltext0 + .uleb128 .LVL735-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL735-.Ltext0 + .uleb128 .LFE67-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS85: + .uleb128 .LVU743 + .uleb128 .LVU746 +.LLST85: + .byte 0x4 + .uleb128 .LVL532-.Ltext0 + .uleb128 .LVL533-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC19 + .byte 0x9f + .byte 0 +.LVUS86: + .uleb128 .LVU743 + .uleb128 .LVU746 +.LLST86: + .byte 0x4 + .uleb128 .LVL532-.Ltext0 + .uleb128 .LVL533-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS87: + .uleb128 .LVU765 + .uleb128 .LVU768 +.LLST87: + .byte 0x4 + .uleb128 .LVL545-.Ltext0 + .uleb128 .LVL546-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC20 + .byte 0x9f + .byte 0 +.LVUS88: + .uleb128 .LVU765 + .uleb128 .LVU768 +.LLST88: + .byte 0x4 + .uleb128 .LVL545-.Ltext0 + .uleb128 .LVL546-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS89: + .uleb128 .LVU780 + .uleb128 .LVU783 +.LLST89: + .byte 0x4 + .uleb128 .LVL553-.Ltext0 + .uleb128 .LVL554-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC21 + .byte 0x9f + .byte 0 +.LVUS90: + .uleb128 .LVU780 + .uleb128 .LVU783 +.LLST90: + .byte 0x4 + .uleb128 .LVL553-.Ltext0 + .uleb128 .LVL554-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS91: + .uleb128 .LVU795 + .uleb128 .LVU798 +.LLST91: + .byte 0x4 + .uleb128 .LVL561-.Ltext0 + .uleb128 .LVL562-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC22 + .byte 0x9f + .byte 0 +.LVUS92: + .uleb128 .LVU795 + .uleb128 .LVU798 +.LLST92: + .byte 0x4 + .uleb128 .LVL561-.Ltext0 + .uleb128 .LVL562-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS93: + .uleb128 .LVU810 + .uleb128 .LVU813 +.LLST93: + .byte 0x4 + .uleb128 .LVL569-.Ltext0 + .uleb128 .LVL570-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC23 + .byte 0x9f + .byte 0 +.LVUS94: + .uleb128 .LVU810 + .uleb128 .LVU813 +.LLST94: + .byte 0x4 + .uleb128 .LVL569-.Ltext0 + .uleb128 .LVL570-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS95: + .uleb128 .LVU825 + .uleb128 .LVU828 +.LLST95: + .byte 0x4 + .uleb128 .LVL577-.Ltext0 + .uleb128 .LVL578-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC24 + .byte 0x9f + .byte 0 +.LVUS96: + .uleb128 .LVU825 + .uleb128 .LVU828 +.LLST96: + .byte 0x4 + .uleb128 .LVL577-.Ltext0 + .uleb128 .LVL578-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS97: + .uleb128 .LVU840 + .uleb128 .LVU843 +.LLST97: + .byte 0x4 + .uleb128 .LVL585-.Ltext0 + .uleb128 .LVL586-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC25 + .byte 0x9f + .byte 0 +.LVUS98: + .uleb128 .LVU840 + .uleb128 .LVU843 +.LLST98: + .byte 0x4 + .uleb128 .LVL585-.Ltext0 + .uleb128 .LVL586-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS100: + .uleb128 .LVU858 + .uleb128 .LVU861 +.LLST100: + .byte 0x4 + .uleb128 .LVL593-.Ltext0 + .uleb128 .LVL594-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC27 + .byte 0x9f + .byte 0 +.LVUS101: + .uleb128 .LVU858 + .uleb128 .LVU861 +.LLST101: + .byte 0x4 + .uleb128 .LVL593-.Ltext0 + .uleb128 .LVL594-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS102: + .uleb128 .LVU869 + .uleb128 .LVU872 +.LLST102: + .byte 0x4 + .uleb128 .LVL598-.Ltext0 + .uleb128 .LVL599-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC26 + .byte 0x9f + .byte 0 +.LVUS103: + .uleb128 .LVU869 + .uleb128 .LVU872 +.LLST103: + .byte 0x4 + .uleb128 .LVL598-.Ltext0 + .uleb128 .LVL599-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS105: + .uleb128 .LVU888 + .uleb128 .LVU891 +.LLST105: + .byte 0x4 + .uleb128 .LVL609-.Ltext0 + .uleb128 .LVL610-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC29 + .byte 0x9f + .byte 0 +.LVUS106: + .uleb128 .LVU888 + .uleb128 .LVU891 +.LLST106: + .byte 0x4 + .uleb128 .LVL609-.Ltext0 + .uleb128 .LVL610-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS107: + .uleb128 .LVU899 + .uleb128 .LVU902 +.LLST107: + .byte 0x4 + .uleb128 .LVL614-.Ltext0 + .uleb128 .LVL615-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC28 + .byte 0x9f + .byte 0 +.LVUS108: + .uleb128 .LVU899 + .uleb128 .LVU902 +.LLST108: + .byte 0x4 + .uleb128 .LVL614-.Ltext0 + .uleb128 .LVL615-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS110: + .uleb128 .LVU918 + .uleb128 .LVU921 +.LLST110: + .byte 0x4 + .uleb128 .LVL625-.Ltext0 + .uleb128 .LVL626-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC31 + .byte 0x9f + .byte 0 +.LVUS111: + .uleb128 .LVU918 + .uleb128 .LVU921 +.LLST111: + .byte 0x4 + .uleb128 .LVL625-.Ltext0 + .uleb128 .LVL626-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS112: + .uleb128 .LVU929 + .uleb128 .LVU932 +.LLST112: + .byte 0x4 + .uleb128 .LVL630-.Ltext0 + .uleb128 .LVL631-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC30 + .byte 0x9f + .byte 0 +.LVUS113: + .uleb128 .LVU929 + .uleb128 .LVU932 +.LLST113: + .byte 0x4 + .uleb128 .LVL630-.Ltext0 + .uleb128 .LVL631-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS115: + .uleb128 .LVU948 + .uleb128 .LVU951 +.LLST115: + .byte 0x4 + .uleb128 .LVL641-.Ltext0 + .uleb128 .LVL642-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC33 + .byte 0x9f + .byte 0 +.LVUS116: + .uleb128 .LVU948 + .uleb128 .LVU951 +.LLST116: + .byte 0x4 + .uleb128 .LVL641-.Ltext0 + .uleb128 .LVL642-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS117: + .uleb128 .LVU959 + .uleb128 .LVU962 +.LLST117: + .byte 0x4 + .uleb128 .LVL646-.Ltext0 + .uleb128 .LVL647-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC32 + .byte 0x9f + .byte 0 +.LVUS118: + .uleb128 .LVU959 + .uleb128 .LVU962 +.LLST118: + .byte 0x4 + .uleb128 .LVL646-.Ltext0 + .uleb128 .LVL647-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS120: + .uleb128 .LVU978 + .uleb128 .LVU981 +.LLST120: + .byte 0x4 + .uleb128 .LVL657-.Ltext0 + .uleb128 .LVL658-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC35 + .byte 0x9f + .byte 0 +.LVUS121: + .uleb128 .LVU978 + .uleb128 .LVU981 +.LLST121: + .byte 0x4 + .uleb128 .LVL657-.Ltext0 + .uleb128 .LVL658-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS122: + .uleb128 .LVU989 + .uleb128 .LVU992 +.LLST122: + .byte 0x4 + .uleb128 .LVL662-.Ltext0 + .uleb128 .LVL663-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC34 + .byte 0x9f + .byte 0 +.LVUS123: + .uleb128 .LVU989 + .uleb128 .LVU992 +.LLST123: + .byte 0x4 + .uleb128 .LVL662-.Ltext0 + .uleb128 .LVL663-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS125: + .uleb128 .LVU1008 + .uleb128 .LVU1011 +.LLST125: + .byte 0x4 + .uleb128 .LVL673-.Ltext0 + .uleb128 .LVL674-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC37 + .byte 0x9f + .byte 0 +.LVUS126: + .uleb128 .LVU1008 + .uleb128 .LVU1011 +.LLST126: + .byte 0x4 + .uleb128 .LVL673-.Ltext0 + .uleb128 .LVL674-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS127: + .uleb128 .LVU1019 + .uleb128 .LVU1022 +.LLST127: + .byte 0x4 + .uleb128 .LVL678-.Ltext0 + .uleb128 .LVL679-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC36 + .byte 0x9f + .byte 0 +.LVUS128: + .uleb128 .LVU1019 + .uleb128 .LVU1022 +.LLST128: + .byte 0x4 + .uleb128 .LVL678-.Ltext0 + .uleb128 .LVL679-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS130: + .uleb128 .LVU1038 + .uleb128 .LVU1041 +.LLST130: + .byte 0x4 + .uleb128 .LVL689-.Ltext0 + .uleb128 .LVL690-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC39 + .byte 0x9f + .byte 0 +.LVUS131: + .uleb128 .LVU1038 + .uleb128 .LVU1041 +.LLST131: + .byte 0x4 + .uleb128 .LVL689-.Ltext0 + .uleb128 .LVL690-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS132: + .uleb128 .LVU1049 + .uleb128 .LVU1052 +.LLST132: + .byte 0x4 + .uleb128 .LVL694-.Ltext0 + .uleb128 .LVL695-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC38 + .byte 0x9f + .byte 0 +.LVUS133: + .uleb128 .LVU1049 + .uleb128 .LVU1052 +.LLST133: + .byte 0x4 + .uleb128 .LVL694-.Ltext0 + .uleb128 .LVL695-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS134: + .uleb128 .LVU1092 + .uleb128 .LVU1095 +.LLST134: + .byte 0x4 + .uleb128 .LVL715-.Ltext0 + .uleb128 .LVL716-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC40 + .byte 0x9f + .byte 0 +.LVUS135: + .uleb128 .LVU1092 + .uleb128 .LVU1095 +.LLST135: + .byte 0x4 + .uleb128 .LVL715-.Ltext0 + .uleb128 .LVL716-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS17: + .uleb128 0 + .uleb128 .LVU145 + .uleb128 .LVU145 + .uleb128 .LVU189 + .uleb128 .LVU189 + .uleb128 .LVU193 + .uleb128 .LVU193 + .uleb128 0 +.LLST17: + .byte 0x4 + .uleb128 .LVL92-.Ltext0 + .uleb128 .LVL94-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL94-.Ltext0 + .uleb128 .LVL123-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL123-.Ltext0 + .uleb128 .LVL127-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL127-.Ltext0 + .uleb128 .LFE66-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS18: + .uleb128 0 + .uleb128 .LVU145 + .uleb128 .LVU145 + .uleb128 .LVU192 + .uleb128 .LVU192 + .uleb128 .LVU193 + .uleb128 .LVU193 + .uleb128 0 +.LLST18: + .byte 0x4 + .uleb128 .LVL92-.Ltext0 + .uleb128 .LVL94-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL94-.Ltext0 + .uleb128 .LVL126-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL126-.Ltext0 + .uleb128 .LVL127-.Ltext0 + .uleb128 0x2 + .byte 0x77 + .sleb128 -64 + .byte 0x4 + .uleb128 .LVL127-.Ltext0 + .uleb128 .LFE66-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0 +.LVUS19: + .uleb128 .LVU141 + .uleb128 .LVU145 + .uleb128 .LVU145 + .uleb128 .LVU190 + .uleb128 .LVU190 + .uleb128 .LVU191 + .uleb128 .LVU193 + .uleb128 0 +.LLST19: + .byte 0x4 + .uleb128 .LVL93-.Ltext0 + .uleb128 .LVL94-.Ltext0 + .uleb128 0x2 + .byte 0x32 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL94-.Ltext0 + .uleb128 .LVL124-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL124-.Ltext0 + .uleb128 .LVL125-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0x4 + .uleb128 .LVL127-.Ltext0 + .uleb128 .LFE66-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0 +.LVUS20: + .uleb128 .LVU145 + .uleb128 .LVU146 + .uleb128 .LVU146 + .uleb128 .LVU148 + .uleb128 .LVU154 + .uleb128 .LVU159 + .uleb128 .LVU159 + .uleb128 .LVU163 +.LLST20: + .byte 0x4 + .uleb128 .LVL94-.Ltext0 + .uleb128 .LVL95-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL95-1-.Ltext0 + .uleb128 .LVL97-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL100-.Ltext0 + .uleb128 .LVL101-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL101-1-.Ltext0 + .uleb128 .LVL102-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS21: + .uleb128 .LVU178 + .uleb128 .LVU181 +.LLST21: + .byte 0x4 + .uleb128 .LVL118-.Ltext0 + .uleb128 .LVL119-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC3 + .byte 0x9f + .byte 0 +.LVUS22: + .uleb128 .LVU178 + .uleb128 .LVU181 +.LLST22: + .byte 0x4 + .uleb128 .LVL118-.Ltext0 + .uleb128 .LVL119-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS42: + .uleb128 0 + .uleb128 .LVU387 + .uleb128 .LVU387 + .uleb128 .LVU430 + .uleb128 .LVU430 + .uleb128 .LVU435 + .uleb128 .LVU435 + .uleb128 .LVU439 + .uleb128 .LVU439 + .uleb128 0 +.LLST42: + .byte 0x4 + .uleb128 .LVL266-.Ltext0 + .uleb128 .LVL268-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL268-.Ltext0 + .uleb128 .LVL299-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL299-.Ltext0 + .uleb128 .LVL304-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL304-.Ltext0 + .uleb128 .LVL309-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL309-.Ltext0 + .uleb128 .LFE65-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS43: + .uleb128 0 + .uleb128 .LVU387 + .uleb128 .LVU387 + .uleb128 .LVU434 + .uleb128 .LVU434 + .uleb128 .LVU435 + .uleb128 .LVU435 + .uleb128 0 +.LLST43: + .byte 0x4 + .uleb128 .LVL266-.Ltext0 + .uleb128 .LVL268-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL268-.Ltext0 + .uleb128 .LVL303-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL303-.Ltext0 + .uleb128 .LVL304-.Ltext0 + .uleb128 0x2 + .byte 0x77 + .sleb128 -64 + .byte 0x4 + .uleb128 .LVL304-.Ltext0 + .uleb128 .LFE65-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0 +.LVUS44: + .uleb128 .LVU383 + .uleb128 .LVU387 + .uleb128 .LVU387 + .uleb128 .LVU432 + .uleb128 .LVU432 + .uleb128 .LVU433 + .uleb128 .LVU435 + .uleb128 0 +.LLST44: + .byte 0x4 + .uleb128 .LVL267-.Ltext0 + .uleb128 .LVL268-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL268-.Ltext0 + .uleb128 .LVL301-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL301-.Ltext0 + .uleb128 .LVL302-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL304-.Ltext0 + .uleb128 .LFE65-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS45: + .uleb128 .LVU387 + .uleb128 .LVU394 + .uleb128 .LVU396 + .uleb128 .LVU401 + .uleb128 .LVU403 + .uleb128 .LVU406 + .uleb128 .LVU406 + .uleb128 .LVU411 + .uleb128 .LVU414 + .uleb128 .LVU419 +.LLST45: + .byte 0x4 + .uleb128 .LVL268-.Ltext0 + .uleb128 .LVL271-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL274-.Ltext0 + .uleb128 .LVL278-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL280-.Ltext0 + .uleb128 .LVL281-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL281-1-.Ltext0 + .uleb128 .LVL284-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL288-.Ltext0 + .uleb128 .LVL293-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS46: + .uleb128 .LVU421 + .uleb128 .LVU424 +.LLST46: + .byte 0x4 + .uleb128 .LVL295-.Ltext0 + .uleb128 .LVL296-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC7 + .byte 0x9f + .byte 0 +.LVUS47: + .uleb128 .LVU421 + .uleb128 .LVU424 +.LLST47: + .byte 0x4 + .uleb128 .LVL295-.Ltext0 + .uleb128 .LVL296-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS58: + .uleb128 0 + .uleb128 .LVU536 + .uleb128 .LVU536 + .uleb128 .LVU598 + .uleb128 .LVU598 + .uleb128 .LVU600 + .uleb128 .LVU600 + .uleb128 .LVU604 + .uleb128 .LVU604 + .uleb128 .LVU605 + .uleb128 .LVU605 + .uleb128 .LVU613 + .uleb128 .LVU613 + .uleb128 .LVU617 + .uleb128 .LVU617 + .uleb128 .LVU622 + .uleb128 .LVU622 + .uleb128 0 +.LLST58: + .byte 0x4 + .uleb128 .LVL374-.Ltext0 + .uleb128 .LVL376-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL376-.Ltext0 + .uleb128 .LVL414-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL414-.Ltext0 + .uleb128 .LVL416-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL416-.Ltext0 + .uleb128 .LVL422-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL422-.Ltext0 + .uleb128 .LVL424-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL424-.Ltext0 + .uleb128 .LVL431-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL431-.Ltext0 + .uleb128 .LVL435-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL435-.Ltext0 + .uleb128 .LVL439-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL439-.Ltext0 + .uleb128 .LFE64-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS59: + .uleb128 0 + .uleb128 .LVU536 + .uleb128 .LVU536 + .uleb128 .LVU616 + .uleb128 .LVU616 + .uleb128 .LVU617 + .uleb128 .LVU617 + .uleb128 0 +.LLST59: + .byte 0x4 + .uleb128 .LVL374-.Ltext0 + .uleb128 .LVL376-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL376-.Ltext0 + .uleb128 .LVL434-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL434-.Ltext0 + .uleb128 .LVL435-.Ltext0 + .uleb128 0x2 + .byte 0x77 + .sleb128 -64 + .byte 0x4 + .uleb128 .LVL435-.Ltext0 + .uleb128 .LFE64-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0 +.LVUS60: + .uleb128 .LVU532 + .uleb128 .LVU536 + .uleb128 .LVU536 + .uleb128 .LVU560 + .uleb128 .LVU560 + .uleb128 .LVU561 + .uleb128 .LVU561 + .uleb128 .LVU607 +.LLST60: + .byte 0x4 + .uleb128 .LVL375-.Ltext0 + .uleb128 .LVL376-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL376-.Ltext0 + .uleb128 .LVL388-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL388-.Ltext0 + .uleb128 .LVL389-.Ltext0 + .uleb128 0x3 + .byte 0x7f + .sleb128 -1 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL389-.Ltext0 + .uleb128 .LVL426-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS61: + .uleb128 .LVU536 + .uleb128 .LVU537 + .uleb128 .LVU537 + .uleb128 .LVU544 + .uleb128 .LVU547 + .uleb128 .LVU551 + .uleb128 .LVU551 + .uleb128 .LVU561 + .uleb128 .LVU565 + .uleb128 .LVU575 + .uleb128 .LVU605 + .uleb128 .LVU610 +.LLST61: + .byte 0x4 + .uleb128 .LVL376-.Ltext0 + .uleb128 .LVL377-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL377-1-.Ltext0 + .uleb128 .LVL382-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL384-.Ltext0 + .uleb128 .LVL385-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL385-.Ltext0 + .uleb128 .LVL389-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL393-.Ltext0 + .uleb128 .LVL397-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL424-.Ltext0 + .uleb128 .LVL428-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS62: + .uleb128 .LVU572 + .uleb128 .LVU576 + .uleb128 .LVU576 + .uleb128 .LVU582 + .uleb128 .LVU582 + .uleb128 .LVU583 + .uleb128 .LVU583 + .uleb128 .LVU605 +.LLST62: + .byte 0x4 + .uleb128 .LVL396-.Ltext0 + .uleb128 .LVL398-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL398-.Ltext0 + .uleb128 .LVL402-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0x4 + .uleb128 .LVL402-.Ltext0 + .uleb128 .LVL403-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL403-1-.Ltext0 + .uleb128 .LVL424-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0 +.LVUS63: + .uleb128 .LVU607 + .uleb128 .LVU609 + .uleb128 .LVU609 + .uleb128 .LVU615 + .uleb128 .LVU617 + .uleb128 0 +.LLST63: + .byte 0x4 + .uleb128 .LVL426-.Ltext0 + .uleb128 .LVL427-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL427-1-.Ltext0 + .uleb128 .LVL433-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL435-.Ltext0 + .uleb128 .LFE64-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS64: + .uleb128 .LVU610 + .uleb128 .LVU611 + .uleb128 .LVU611 + .uleb128 .LVU615 + .uleb128 .LVU617 + .uleb128 .LVU618 + .uleb128 .LVU618 + .uleb128 0 +.LLST64: + .byte 0x4 + .uleb128 .LVL428-.Ltext0 + .uleb128 .LVL429-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL429-.Ltext0 + .uleb128 .LVL433-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL435-.Ltext0 + .uleb128 .LVL436-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL436-1-.Ltext0 + .uleb128 .LFE64-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS66: + .uleb128 .LVU552 + .uleb128 .LVU558 + .uleb128 .LVU565 + .uleb128 .LVU566 +.LLST66: + .byte 0x4 + .uleb128 .LVL386-.Ltext0 + .uleb128 .LVL387-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL393-.Ltext0 + .uleb128 .LVL394-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0 +.LVUS67: + .uleb128 .LVU591 + .uleb128 .LVU594 +.LLST67: + .byte 0x4 + .uleb128 .LVL411-.Ltext0 + .uleb128 .LVL412-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC12 + .byte 0x9f + .byte 0 +.LVUS68: + .uleb128 .LVU591 + .uleb128 .LVU594 +.LLST68: + .byte 0x4 + .uleb128 .LVL411-.Ltext0 + .uleb128 .LVL412-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS48: + .uleb128 0 + .uleb128 .LVU447 + .uleb128 .LVU447 + .uleb128 .LVU502 + .uleb128 .LVU502 + .uleb128 .LVU507 + .uleb128 .LVU507 + .uleb128 .LVU511 + .uleb128 .LVU511 + .uleb128 .LVU512 + .uleb128 .LVU512 + .uleb128 .LVU520 + .uleb128 .LVU520 + .uleb128 .LVU522 + .uleb128 .LVU522 + .uleb128 .LVU527 + .uleb128 .LVU527 + .uleb128 0 +.LLST48: + .byte 0x4 + .uleb128 .LVL311-.Ltext0 + .uleb128 .LVL313-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL313-.Ltext0 + .uleb128 .LVL346-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL346-.Ltext0 + .uleb128 .LVL349-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL349-.Ltext0 + .uleb128 .LVL355-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL355-.Ltext0 + .uleb128 .LVL357-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL357-.Ltext0 + .uleb128 .LVL364-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL364-.Ltext0 + .uleb128 .LVL367-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL367-.Ltext0 + .uleb128 .LVL371-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL371-.Ltext0 + .uleb128 .LFE63-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS49: + .uleb128 0 + .uleb128 .LVU447 + .uleb128 .LVU447 + .uleb128 .LVU506 + .uleb128 .LVU506 + .uleb128 .LVU507 + .uleb128 .LVU507 + .uleb128 0 +.LLST49: + .byte 0x4 + .uleb128 .LVL311-.Ltext0 + .uleb128 .LVL313-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL313-.Ltext0 + .uleb128 .LVL348-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL348-.Ltext0 + .uleb128 .LVL349-.Ltext0 + .uleb128 0x2 + .byte 0x77 + .sleb128 -64 + .byte 0x4 + .uleb128 .LVL349-.Ltext0 + .uleb128 .LFE63-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0 +.LVUS50: + .uleb128 .LVU443 + .uleb128 .LVU447 + .uleb128 .LVU447 + .uleb128 .LVU471 + .uleb128 .LVU471 + .uleb128 .LVU472 + .uleb128 .LVU472 + .uleb128 .LVU505 + .uleb128 .LVU507 + .uleb128 .LVU514 +.LLST50: + .byte 0x4 + .uleb128 .LVL312-.Ltext0 + .uleb128 .LVL313-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL313-.Ltext0 + .uleb128 .LVL325-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL325-.Ltext0 + .uleb128 .LVL326-.Ltext0 + .uleb128 0x3 + .byte 0x7f + .sleb128 -1 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL326-.Ltext0 + .uleb128 .LVL347-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL349-.Ltext0 + .uleb128 .LVL359-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS51: + .uleb128 .LVU447 + .uleb128 .LVU448 + .uleb128 .LVU448 + .uleb128 .LVU455 + .uleb128 .LVU458 + .uleb128 .LVU462 + .uleb128 .LVU462 + .uleb128 .LVU472 + .uleb128 .LVU476 + .uleb128 .LVU483 + .uleb128 .LVU486 + .uleb128 .LVU491 + .uleb128 .LVU512 + .uleb128 .LVU517 +.LLST51: + .byte 0x4 + .uleb128 .LVL313-.Ltext0 + .uleb128 .LVL314-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL314-1-.Ltext0 + .uleb128 .LVL319-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL321-.Ltext0 + .uleb128 .LVL322-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL322-.Ltext0 + .uleb128 .LVL326-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL330-.Ltext0 + .uleb128 .LVL332-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL335-.Ltext0 + .uleb128 .LVL340-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL357-.Ltext0 + .uleb128 .LVL361-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS52: + .uleb128 .LVU514 + .uleb128 .LVU516 + .uleb128 .LVU516 + .uleb128 0 +.LLST52: + .byte 0x4 + .uleb128 .LVL359-.Ltext0 + .uleb128 .LVL360-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL360-1-.Ltext0 + .uleb128 .LFE63-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS53: + .uleb128 .LVU517 + .uleb128 .LVU518 + .uleb128 .LVU518 + .uleb128 .LVU522 + .uleb128 .LVU522 + .uleb128 .LVU523 + .uleb128 .LVU523 + .uleb128 0 +.LLST53: + .byte 0x4 + .uleb128 .LVL361-.Ltext0 + .uleb128 .LVL362-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL362-.Ltext0 + .uleb128 .LVL367-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL367-.Ltext0 + .uleb128 .LVL368-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL368-1-.Ltext0 + .uleb128 .LFE63-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS55: + .uleb128 .LVU463 + .uleb128 .LVU469 + .uleb128 .LVU476 + .uleb128 .LVU477 +.LLST55: + .byte 0x4 + .uleb128 .LVL323-.Ltext0 + .uleb128 .LVL324-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL330-.Ltext0 + .uleb128 .LVL331-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0 +.LVUS56: + .uleb128 .LVU493 + .uleb128 .LVU496 +.LLST56: + .byte 0x4 + .uleb128 .LVL342-.Ltext0 + .uleb128 .LVL343-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC8 + .byte 0x9f + .byte 0 +.LVUS57: + .uleb128 .LVU493 + .uleb128 .LVU496 +.LLST57: + .byte 0x4 + .uleb128 .LVL342-.Ltext0 + .uleb128 .LVL343-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS136: + .uleb128 0 + .uleb128 .LVU1125 + .uleb128 .LVU1125 + .uleb128 .LVU1156 + .uleb128 .LVU1156 + .uleb128 .LVU1161 + .uleb128 .LVU1161 + .uleb128 .LVU1165 + .uleb128 .LVU1165 + .uleb128 0 +.LLST136: + .byte 0x4 + .uleb128 .LVL740-.Ltext0 + .uleb128 .LVL742-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL742-.Ltext0 + .uleb128 .LVL765-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL765-.Ltext0 + .uleb128 .LVL769-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL769-.Ltext0 + .uleb128 .LVL775-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL775-.Ltext0 + .uleb128 .LFE62-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS137: + .uleb128 0 + .uleb128 .LVU1125 + .uleb128 .LVU1125 + .uleb128 .LVU1160 + .uleb128 .LVU1160 + .uleb128 .LVU1161 + .uleb128 .LVU1161 + .uleb128 0 +.LLST137: + .byte 0x4 + .uleb128 .LVL740-.Ltext0 + .uleb128 .LVL742-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL742-.Ltext0 + .uleb128 .LVL768-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL768-.Ltext0 + .uleb128 .LVL769-.Ltext0 + .uleb128 0x2 + .byte 0x77 + .sleb128 -64 + .byte 0x4 + .uleb128 .LVL769-.Ltext0 + .uleb128 .LFE62-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0 +.LVUS138: + .uleb128 .LVU1121 + .uleb128 .LVU1125 + .uleb128 .LVU1125 + .uleb128 .LVU1154 + .uleb128 .LVU1154 + .uleb128 .LVU1159 + .uleb128 .LVU1161 + .uleb128 .LVU1162 + .uleb128 .LVU1162 + .uleb128 0 +.LLST138: + .byte 0x4 + .uleb128 .LVL741-.Ltext0 + .uleb128 .LVL742-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL742-.Ltext0 + .uleb128 .LVL763-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL763-.Ltext0 + .uleb128 .LVL767-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL769-.Ltext0 + .uleb128 .LVL772-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL772-.Ltext0 + .uleb128 .LFE62-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS139: + .uleb128 .LVU1129 + .uleb128 .LVU1132 +.LLST139: + .byte 0x4 + .uleb128 .LVL745-.Ltext0 + .uleb128 .LVL746-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0 +.LVUS140: + .uleb128 .LVU1147 + .uleb128 .LVU1150 +.LLST140: + .byte 0x4 + .uleb128 .LVL760-.Ltext0 + .uleb128 .LVL761-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC41 + .byte 0x9f + .byte 0 +.LVUS141: + .uleb128 .LVU1147 + .uleb128 .LVU1150 +.LLST141: + .byte 0x4 + .uleb128 .LVL760-.Ltext0 + .uleb128 .LVL761-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0 +.LVUS30: + .uleb128 0 + .uleb128 .LVU269 + .uleb128 .LVU269 + .uleb128 .LVU313 + .uleb128 .LVU313 + .uleb128 .LVU317 + .uleb128 .LVU317 + .uleb128 0 +.LLST30: + .byte 0x4 + .uleb128 .LVL179-.Ltext0 + .uleb128 .LVL181-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL181-.Ltext0 + .uleb128 .LVL210-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL210-.Ltext0 + .uleb128 .LVL214-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL214-.Ltext0 + .uleb128 .LFE61-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS31: + .uleb128 0 + .uleb128 .LVU269 + .uleb128 .LVU269 + .uleb128 .LVU316 + .uleb128 .LVU316 + .uleb128 .LVU317 + .uleb128 .LVU317 + .uleb128 0 +.LLST31: + .byte 0x4 + .uleb128 .LVL179-.Ltext0 + .uleb128 .LVL181-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL181-.Ltext0 + .uleb128 .LVL213-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL213-.Ltext0 + .uleb128 .LVL214-.Ltext0 + .uleb128 0x2 + .byte 0x77 + .sleb128 -64 + .byte 0x4 + .uleb128 .LVL214-.Ltext0 + .uleb128 .LFE61-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0 +.LVUS32: + .uleb128 .LVU265 + .uleb128 .LVU269 + .uleb128 .LVU269 + .uleb128 .LVU314 + .uleb128 .LVU314 + .uleb128 .LVU315 + .uleb128 .LVU317 + .uleb128 0 +.LLST32: + .byte 0x4 + .uleb128 .LVL180-.Ltext0 + .uleb128 .LVL181-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL181-.Ltext0 + .uleb128 .LVL211-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL211-.Ltext0 + .uleb128 .LVL212-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0x4 + .uleb128 .LVL214-.Ltext0 + .uleb128 .LFE61-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0 +.LVUS33: + .uleb128 .LVU269 + .uleb128 .LVU270 + .uleb128 .LVU270 + .uleb128 .LVU272 + .uleb128 .LVU278 + .uleb128 .LVU283 + .uleb128 .LVU283 + .uleb128 .LVU287 +.LLST33: + .byte 0x4 + .uleb128 .LVL181-.Ltext0 + .uleb128 .LVL182-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL182-1-.Ltext0 + .uleb128 .LVL184-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL187-.Ltext0 + .uleb128 .LVL188-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL188-1-.Ltext0 + .uleb128 .LVL189-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS34: + .uleb128 .LVU302 + .uleb128 .LVU305 +.LLST34: + .byte 0x4 + .uleb128 .LVL205-.Ltext0 + .uleb128 .LVL206-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC5 + .byte 0x9f + .byte 0 +.LVUS35: + .uleb128 .LVU302 + .uleb128 .LVU305 +.LLST35: + .byte 0x4 + .uleb128 .LVL205-.Ltext0 + .uleb128 .LVL206-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS23: + .uleb128 0 + .uleb128 .LVU207 + .uleb128 .LVU207 + .uleb128 .LVU253 + .uleb128 .LVU253 + .uleb128 .LVU257 + .uleb128 .LVU257 + .uleb128 0 +.LLST23: + .byte 0x4 + .uleb128 .LVL134-.Ltext0 + .uleb128 .LVL136-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL136-.Ltext0 + .uleb128 .LVL168-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL168-.Ltext0 + .uleb128 .LVL172-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL172-.Ltext0 + .uleb128 .LFE60-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS24: + .uleb128 0 + .uleb128 .LVU207 + .uleb128 .LVU207 + .uleb128 .LVU256 + .uleb128 .LVU256 + .uleb128 .LVU257 + .uleb128 .LVU257 + .uleb128 0 +.LLST24: + .byte 0x4 + .uleb128 .LVL134-.Ltext0 + .uleb128 .LVL136-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL136-.Ltext0 + .uleb128 .LVL171-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0x4 + .uleb128 .LVL171-.Ltext0 + .uleb128 .LVL172-.Ltext0 + .uleb128 0x3 + .byte 0x77 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL172-.Ltext0 + .uleb128 .LFE60-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0 +.LVUS25: + .uleb128 .LVU201 + .uleb128 .LVU207 + .uleb128 .LVU207 + .uleb128 .LVU242 +.LLST25: + .byte 0x4 + .uleb128 .LVL135-.Ltext0 + .uleb128 .LVL136-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL136-.Ltext0 + .uleb128 .LVL162-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -68 + .byte 0 +.LVUS26: + .uleb128 .LVU202 + .uleb128 .LVU207 + .uleb128 .LVU207 + .uleb128 .LVU254 + .uleb128 .LVU254 + .uleb128 .LVU255 + .uleb128 .LVU257 + .uleb128 0 +.LLST26: + .byte 0x4 + .uleb128 .LVL135-.Ltext0 + .uleb128 .LVL136-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL136-.Ltext0 + .uleb128 .LVL169-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL169-.Ltext0 + .uleb128 .LVL170-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0x4 + .uleb128 .LVL172-.Ltext0 + .uleb128 .LFE60-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0 +.LVUS27: + .uleb128 .LVU207 + .uleb128 .LVU208 + .uleb128 .LVU215 + .uleb128 .LVU216 + .uleb128 .LVU220 + .uleb128 .LVU223 + .uleb128 .LVU223 + .uleb128 .LVU231 +.LLST27: + .byte 0x4 + .uleb128 .LVL136-.Ltext0 + .uleb128 .LVL138-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL142-.Ltext0 + .uleb128 .LVL143-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL146-.Ltext0 + .uleb128 .LVL147-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL147-.Ltext0 + .uleb128 .LVL149-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS28: + .uleb128 .LVU243 + .uleb128 .LVU246 +.LLST28: + .byte 0x4 + .uleb128 .LVL163-.Ltext0 + .uleb128 .LVL164-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC4 + .byte 0x9f + .byte 0 +.LVUS29: + .uleb128 .LVU243 + .uleb128 .LVU246 +.LLST29: + .byte 0x4 + .uleb128 .LVL163-.Ltext0 + .uleb128 .LVL164-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS10: + .uleb128 0 + .uleb128 .LVU82 + .uleb128 .LVU82 + .uleb128 .LVU129 + .uleb128 .LVU129 + .uleb128 .LVU133 + .uleb128 .LVU133 + .uleb128 0 +.LLST10: + .byte 0x4 + .uleb128 .LVL47-.Ltext0 + .uleb128 .LVL49-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL49-.Ltext0 + .uleb128 .LVL81-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL81-.Ltext0 + .uleb128 .LVL85-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL85-.Ltext0 + .uleb128 .LFE59-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS11: + .uleb128 0 + .uleb128 .LVU82 + .uleb128 .LVU82 + .uleb128 .LVU132 + .uleb128 .LVU132 + .uleb128 .LVU133 + .uleb128 .LVU133 + .uleb128 0 +.LLST11: + .byte 0x4 + .uleb128 .LVL47-.Ltext0 + .uleb128 .LVL49-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL49-.Ltext0 + .uleb128 .LVL84-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0x4 + .uleb128 .LVL84-.Ltext0 + .uleb128 .LVL85-.Ltext0 + .uleb128 0x3 + .byte 0x77 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL85-.Ltext0 + .uleb128 .LFE59-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0 +.LVUS12: + .uleb128 .LVU76 + .uleb128 .LVU82 + .uleb128 .LVU82 + .uleb128 .LVU117 +.LLST12: + .byte 0x4 + .uleb128 .LVL48-.Ltext0 + .uleb128 .LVL49-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL49-.Ltext0 + .uleb128 .LVL75-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -68 + .byte 0 +.LVUS13: + .uleb128 .LVU77 + .uleb128 .LVU82 + .uleb128 .LVU82 + .uleb128 .LVU130 + .uleb128 .LVU130 + .uleb128 .LVU131 + .uleb128 .LVU133 + .uleb128 0 +.LLST13: + .byte 0x4 + .uleb128 .LVL48-.Ltext0 + .uleb128 .LVL49-.Ltext0 + .uleb128 0x2 + .byte 0x32 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL49-.Ltext0 + .uleb128 .LVL82-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL82-.Ltext0 + .uleb128 .LVL83-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0x4 + .uleb128 .LVL85-.Ltext0 + .uleb128 .LFE59-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0 +.LVUS14: + .uleb128 .LVU82 + .uleb128 .LVU83 + .uleb128 .LVU90 + .uleb128 .LVU91 + .uleb128 .LVU95 + .uleb128 .LVU98 + .uleb128 .LVU98 + .uleb128 .LVU106 +.LLST14: + .byte 0x4 + .uleb128 .LVL49-.Ltext0 + .uleb128 .LVL51-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL55-.Ltext0 + .uleb128 .LVL56-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL59-.Ltext0 + .uleb128 .LVL60-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL60-.Ltext0 + .uleb128 .LVL62-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS15: + .uleb128 .LVU118 + .uleb128 .LVU121 +.LLST15: + .byte 0x4 + .uleb128 .LVL76-.Ltext0 + .uleb128 .LVL77-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC2 + .byte 0x9f + .byte 0 +.LVUS16: + .uleb128 .LVU118 + .uleb128 .LVU121 +.LLST16: + .byte 0x4 + .uleb128 .LVL76-.Ltext0 + .uleb128 .LVL77-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS69: + .uleb128 0 + .uleb128 .LVU630 + .uleb128 .LVU630 + .uleb128 .LVU677 + .uleb128 .LVU677 + .uleb128 .LVU679 + .uleb128 .LVU679 + .uleb128 .LVU684 + .uleb128 .LVU684 + .uleb128 .LVU686 + .uleb128 .LVU686 + .uleb128 .LVU708 + .uleb128 .LVU708 + .uleb128 .LVU712 + .uleb128 .LVU712 + .uleb128 .LVU721 + .uleb128 .LVU721 + .uleb128 0 +.LLST69: + .byte 0x4 + .uleb128 .LVL442-.Ltext0 + .uleb128 .LVL444-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL444-.Ltext0 + .uleb128 .LVL472-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL472-.Ltext0 + .uleb128 .LVL475-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL475-.Ltext0 + .uleb128 .LVL479-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL479-.Ltext0 + .uleb128 .LVL482-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL482-.Ltext0 + .uleb128 .LVL497-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL497-.Ltext0 + .uleb128 .LVL500-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL500-.Ltext0 + .uleb128 .LVL512-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL512-.Ltext0 + .uleb128 .LFE58-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS70: + .uleb128 0 + .uleb128 .LVU630 + .uleb128 .LVU630 + .uleb128 .LVU711 + .uleb128 .LVU711 + .uleb128 .LVU712 + .uleb128 .LVU712 + .uleb128 0 +.LLST70: + .byte 0x4 + .uleb128 .LVL442-.Ltext0 + .uleb128 .LVL444-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL444-.Ltext0 + .uleb128 .LVL499-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0x4 + .uleb128 .LVL499-.Ltext0 + .uleb128 .LVL500-.Ltext0 + .uleb128 0x3 + .byte 0x77 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL500-.Ltext0 + .uleb128 .LFE58-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -80 + .byte 0 +.LVUS71: + .uleb128 .LVU627 + .uleb128 .LVU630 + .uleb128 .LVU630 + .uleb128 .LVU642 + .uleb128 .LVU642 + .uleb128 .LVU643 + .uleb128 .LVU643 + .uleb128 .LVU674 + .uleb128 .LVU674 + .uleb128 .LVU686 + .uleb128 .LVU686 + .uleb128 .LVU710 + .uleb128 .LVU710 + .uleb128 .LVU711 + .uleb128 .LVU711 + .uleb128 .LVU712 + .uleb128 .LVU712 + .uleb128 0 +.LLST71: + .byte 0x4 + .uleb128 .LVL443-.Ltext0 + .uleb128 .LVL444-.Ltext0 + .uleb128 0x2 + .byte 0x32 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL444-.Ltext0 + .uleb128 .LVL450-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL450-.Ltext0 + .uleb128 .LVL451-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL451-.Ltext0 + .uleb128 .LVL469-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL469-.Ltext0 + .uleb128 .LVL482-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL482-.Ltext0 + .uleb128 .LVL498-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL498-.Ltext0 + .uleb128 .LVL499-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL499-.Ltext0 + .uleb128 .LVL500-.Ltext0 + .uleb128 0x2 + .byte 0x77 + .sleb128 -64 + .byte 0x4 + .uleb128 .LVL500-.Ltext0 + .uleb128 .LFE58-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS72: + .uleb128 .LVU632 + .uleb128 .LVU636 + .uleb128 .LVU636 + .uleb128 .LVU643 + .uleb128 .LVU643 + .uleb128 .LVU644 + .uleb128 .LVU644 + .uleb128 .LVU647 + .uleb128 .LVU651 + .uleb128 .LVU655 + .uleb128 .LVU668 + .uleb128 .LVU673 +.LLST72: + .byte 0x4 + .uleb128 .LVL446-.Ltext0 + .uleb128 .LVL447-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL447-.Ltext0 + .uleb128 .LVL451-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL451-.Ltext0 + .uleb128 .LVL452-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL452-1-.Ltext0 + .uleb128 .LVL455-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL459-.Ltext0 + .uleb128 .LVL460-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL465-.Ltext0 + .uleb128 .LVL468-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS73: + .uleb128 .LVU673 + .uleb128 .LVU675 + .uleb128 .LVU675 + .uleb128 .LVU679 + .uleb128 .LVU679 + .uleb128 .LVU680 + .uleb128 .LVU680 + .uleb128 .LVU686 +.LLST73: + .byte 0x4 + .uleb128 .LVL468-.Ltext0 + .uleb128 .LVL470-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL470-.Ltext0 + .uleb128 .LVL475-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL475-.Ltext0 + .uleb128 .LVL476-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL476-1-.Ltext0 + .uleb128 .LVL482-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS74: + .uleb128 .LVU637 + .uleb128 .LVU640 +.LLST74: + .byte 0x4 + .uleb128 .LVL448-.Ltext0 + .uleb128 .LVL449-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0 +.LVUS75: + .uleb128 .LVU659 + .uleb128 .LVU662 +.LLST75: + .byte 0x4 + .uleb128 .LVL461-.Ltext0 + .uleb128 .LVL462-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC17 + .byte 0x9f + .byte 0 +.LVUS76: + .uleb128 .LVU659 + .uleb128 .LVU662 +.LLST76: + .byte 0x4 + .uleb128 .LVL461-.Ltext0 + .uleb128 .LVL462-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS77: + .uleb128 .LVU696 + .uleb128 .LVU699 +.LLST77: + .byte 0x4 + .uleb128 .LVL493-.Ltext0 + .uleb128 .LVL494-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC18 + .byte 0x9f + .byte 0 +.LVUS78: + .uleb128 .LVU696 + .uleb128 .LVU699 +.LLST78: + .byte 0x4 + .uleb128 .LVL493-.Ltext0 + .uleb128 .LVL494-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS36: + .uleb128 0 + .uleb128 .LVU329 + .uleb128 .LVU329 + .uleb128 .LVU366 + .uleb128 .LVU366 + .uleb128 .LVU370 + .uleb128 .LVU370 + .uleb128 .LVU379 + .uleb128 .LVU379 + .uleb128 0 +.LLST36: + .byte 0x4 + .uleb128 .LVL221-.Ltext0 + .uleb128 .LVL223-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL223-.Ltext0 + .uleb128 .LVL245-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL245-.Ltext0 + .uleb128 .LVL249-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL249-.Ltext0 + .uleb128 .LVL264-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL264-.Ltext0 + .uleb128 .LFE57-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS37: + .uleb128 0 + .uleb128 .LVU329 + .uleb128 .LVU329 + .uleb128 .LVU369 + .uleb128 .LVU369 + .uleb128 .LVU370 + .uleb128 .LVU370 + .uleb128 0 +.LLST37: + .byte 0x4 + .uleb128 .LVL221-.Ltext0 + .uleb128 .LVL223-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL223-.Ltext0 + .uleb128 .LVL248-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0x4 + .uleb128 .LVL248-.Ltext0 + .uleb128 .LVL249-.Ltext0 + .uleb128 0x2 + .byte 0x77 + .sleb128 -64 + .byte 0x4 + .uleb128 .LVL249-.Ltext0 + .uleb128 .LFE57-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -72 + .byte 0 +.LVUS38: + .uleb128 .LVU325 + .uleb128 .LVU329 + .uleb128 .LVU329 + .uleb128 .LVU364 + .uleb128 .LVU364 + .uleb128 .LVU368 + .uleb128 .LVU370 + .uleb128 .LVU372 + .uleb128 .LVU372 + .uleb128 .LVU373 + .uleb128 .LVU373 + .uleb128 .LVU375 + .uleb128 .LVU375 + .uleb128 0 +.LLST38: + .byte 0x4 + .uleb128 .LVL222-.Ltext0 + .uleb128 .LVL223-.Ltext0 + .uleb128 0x2 + .byte 0x32 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL223-.Ltext0 + .uleb128 .LVL243-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL243-.Ltext0 + .uleb128 .LVL247-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL249-.Ltext0 + .uleb128 .LVL255-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL255-.Ltext0 + .uleb128 .LVL257-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL257-.Ltext0 + .uleb128 .LVL259-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL259-.Ltext0 + .uleb128 .LFE57-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS39: + .uleb128 .LVU329 + .uleb128 .LVU331 + .uleb128 .LVU333 + .uleb128 .LVU338 + .uleb128 .LVU345 + .uleb128 .LVU346 +.LLST39: + .byte 0x4 + .uleb128 .LVL223-.Ltext0 + .uleb128 .LVL224-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL225-.Ltext0 + .uleb128 .LVL226-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL233-.Ltext0 + .uleb128 .LVL234-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0 +.LVUS40: + .uleb128 .LVU353 + .uleb128 .LVU356 +.LLST40: + .byte 0x4 + .uleb128 .LVL240-.Ltext0 + .uleb128 .LVL241-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC6 + .byte 0x9f + .byte 0 +.LVUS41: + .uleb128 .LVU353 + .uleb128 .LVU356 +.LLST41: + .byte 0x4 + .uleb128 .LVL240-.Ltext0 + .uleb128 .LVL241-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0 +.LVUS3: + .uleb128 0 + .uleb128 .LVU22 + .uleb128 .LVU22 + .uleb128 .LVU32 + .uleb128 .LVU32 + .uleb128 .LVU35 + .uleb128 .LVU35 + .uleb128 0 +.LLST3: + .byte 0x4 + .uleb128 .LVL10-.Ltext0 + .uleb128 .LVL12-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL12-.Ltext0 + .uleb128 .LVL16-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL16-.Ltext0 + .uleb128 .LVL19-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL19-.Ltext0 + .uleb128 .LFE56-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS4: + .uleb128 .LVU18 + .uleb128 .LVU22 + .uleb128 .LVU22 + .uleb128 .LVU33 + .uleb128 .LVU33 + .uleb128 .LVU34 + .uleb128 .LVU34 + .uleb128 .LVU35 + .uleb128 .LVU35 + .uleb128 0 +.LLST4: + .byte 0x4 + .uleb128 .LVL11-.Ltext0 + .uleb128 .LVL12-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL12-.Ltext0 + .uleb128 .LVL17-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL17-.Ltext0 + .uleb128 .LVL18-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL18-.Ltext0 + .uleb128 .LVL19-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL19-.Ltext0 + .uleb128 .LFE56-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS5: + .uleb128 .LVU26 + .uleb128 .LVU30 +.LLST5: + .byte 0x4 + .uleb128 .LVL14-.Ltext0 + .uleb128 .LVL15-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0 +.LVUS6: + .uleb128 0 + .uleb128 .LVU44 + .uleb128 .LVU44 + .uleb128 .LVU48 + .uleb128 .LVU48 + .uleb128 .LVU61 + .uleb128 .LVU61 + .uleb128 .LVU64 + .uleb128 .LVU64 + .uleb128 0 +.LLST6: + .byte 0x4 + .uleb128 .LVL23-.Ltext0 + .uleb128 .LVL26-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL26-.Ltext0 + .uleb128 .LVL30-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL30-.Ltext0 + .uleb128 .LVL35-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL35-.Ltext0 + .uleb128 .LVL37-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL37-.Ltext0 + .uleb128 .LFE55-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS7: + .uleb128 0 + .uleb128 .LVU43 + .uleb128 .LVU43 + .uleb128 .LVU59 + .uleb128 .LVU59 + .uleb128 .LVU61 + .uleb128 .LVU61 + .uleb128 0 +.LLST7: + .byte 0x4 + .uleb128 .LVL23-.Ltext0 + .uleb128 .LVL25-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL25-.Ltext0 + .uleb128 .LVL33-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL33-.Ltext0 + .uleb128 .LVL35-.Ltext0 + .uleb128 0x2 + .byte 0x70 + .sleb128 16 + .byte 0x4 + .uleb128 .LVL35-.Ltext0 + .uleb128 .LFE55-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS8: + .uleb128 0 + .uleb128 .LVU42 + .uleb128 .LVU42 + .uleb128 .LVU60 + .uleb128 .LVU60 + .uleb128 .LVU61 + .uleb128 .LVU61 + .uleb128 0 +.LLST8: + .byte 0x4 + .uleb128 .LVL23-.Ltext0 + .uleb128 .LVL24-.Ltext0 + .uleb128 0x1 + .byte 0x51 + .byte 0x4 + .uleb128 .LVL24-.Ltext0 + .uleb128 .LVL34-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL34-.Ltext0 + .uleb128 .LVL35-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x51 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL35-.Ltext0 + .uleb128 .LFE55-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0 +.LVUS9: + .uleb128 .LVU45 + .uleb128 .LVU47 + .uleb128 .LVU47 + .uleb128 .LVU58 + .uleb128 .LVU58 + .uleb128 .LVU61 + .uleb128 .LVU61 + .uleb128 .LVU62 + .uleb128 .LVU62 + .uleb128 0 +.LLST9: + .byte 0x4 + .uleb128 .LVL28-.Ltext0 + .uleb128 .LVL29-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL29-.Ltext0 + .uleb128 .LVL32-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL32-.Ltext0 + .uleb128 .LVL35-.Ltext0 + .uleb128 0x3 + .byte 0x75 + .sleb128 -16 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL35-.Ltext0 + .uleb128 .LVL36-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL36-1-.Ltext0 + .uleb128 .LFE55-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.Ldebug_loc3: + .section .debug_aranges,"",@progbits + .long 0x2c + .value 0x2 + .long .Ldebug_info0 + .byte 0x8 + .byte 0 + .value 0 + .value 0 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .quad 0 + .quad 0 + .section .debug_rnglists,"",@progbits +.Ldebug_ranges0: + .long .Ldebug_ranges3-.Ldebug_ranges2 +.Ldebug_ranges2: + .value 0x5 + .byte 0x8 + .byte 0 + .long 0 +.LLRL54: + .byte 0x4 + .uleb128 .LBB96-.Ltext0 + .uleb128 .LBE96-.Ltext0 + .byte 0x4 + .uleb128 .LBB97-.Ltext0 + .uleb128 .LBE97-.Ltext0 + .byte 0x4 + .uleb128 .LBB98-.Ltext0 + .uleb128 .LBE98-.Ltext0 + .byte 0 +.LLRL65: + .byte 0x4 + .uleb128 .LBB101-.Ltext0 + .uleb128 .LBE101-.Ltext0 + .byte 0x4 + .uleb128 .LBB102-.Ltext0 + .uleb128 .LBE102-.Ltext0 + .byte 0x4 + .uleb128 .LBB103-.Ltext0 + .uleb128 .LBE103-.Ltext0 + .byte 0 +.LLRL99: + .byte 0x4 + .uleb128 .LBB125-.Ltext0 + .uleb128 .LBE125-.Ltext0 + .byte 0x4 + .uleb128 .LBB128-.Ltext0 + .uleb128 .LBE128-.Ltext0 + .byte 0 +.LLRL104: + .byte 0x4 + .uleb128 .LBB131-.Ltext0 + .uleb128 .LBE131-.Ltext0 + .byte 0x4 + .uleb128 .LBB134-.Ltext0 + .uleb128 .LBE134-.Ltext0 + .byte 0 +.LLRL109: + .byte 0x4 + .uleb128 .LBB137-.Ltext0 + .uleb128 .LBE137-.Ltext0 + .byte 0x4 + .uleb128 .LBB140-.Ltext0 + .uleb128 .LBE140-.Ltext0 + .byte 0 +.LLRL114: + .byte 0x4 + .uleb128 .LBB143-.Ltext0 + .uleb128 .LBE143-.Ltext0 + .byte 0x4 + .uleb128 .LBB146-.Ltext0 + .uleb128 .LBE146-.Ltext0 + .byte 0 +.LLRL119: + .byte 0x4 + .uleb128 .LBB149-.Ltext0 + .uleb128 .LBE149-.Ltext0 + .byte 0x4 + .uleb128 .LBB152-.Ltext0 + .uleb128 .LBE152-.Ltext0 + .byte 0 +.LLRL124: + .byte 0x4 + .uleb128 .LBB155-.Ltext0 + .uleb128 .LBE155-.Ltext0 + .byte 0x4 + .uleb128 .LBB158-.Ltext0 + .uleb128 .LBE158-.Ltext0 + .byte 0 +.LLRL129: + .byte 0x4 + .uleb128 .LBB161-.Ltext0 + .uleb128 .LBE161-.Ltext0 + .byte 0x4 + .uleb128 .LBB164-.Ltext0 + .uleb128 .LBE164-.Ltext0 + .byte 0 +.LLRL147: + .byte 0x4 + .uleb128 .LBB171-.Ltext0 + .uleb128 .LBE171-.Ltext0 + .byte 0x4 + .uleb128 .LBB176-.Ltext0 + .uleb128 .LBE176-.Ltext0 + .byte 0 +.LLRL166: + .byte 0x4 + .uleb128 .LBB181-.Ltext0 + .uleb128 .LBE181-.Ltext0 + .byte 0x4 + .uleb128 .LBB182-.Ltext0 + .uleb128 .LBE182-.Ltext0 + .byte 0x4 + .uleb128 .LBB183-.Ltext0 + .uleb128 .LBE183-.Ltext0 + .byte 0 +.Ldebug_ranges3: + .section .debug_line,"",@progbits +.Ldebug_line0: + .section .debug_str,"MS",@progbits,1 +.LASF206: + .string "__builtin___asan_report_load8" +.LASF43: + .string "_shortbuf" +.LASF222: + .string "_IO_lock_t" +.LASF121: + .string "DiagnosticWarning" +.LASF148: + .string "diagn_free" +.LASF59: + .string "stderr" +.LASF32: + .string "_IO_buf_end" +.LASF160: + .string "__ctype_b_loc" +.LASF163: + .string "self" +.LASF138: + .string "g_diagnostics" +.LASF61: + .string "buffer" +.LASF203: + .string "__ubsan_handle_type_mismatch_v1" +.LASF108: + .string "stream_offs" +.LASF209: + .string "__ubsan_handle_pointer_overflow" +.LASF30: + .string "_IO_write_end" +.LASF7: + .string "unsigned int" +.LASF134: + .string "_ISblank" +.LASF48: + .string "_freeres_list" +.LASF220: + .string "__builtin___asan_report_store4" +.LASF212: + .string "__builtin___asan_report_store8" +.LASF24: + .string "_flags" +.LASF145: + .string "isident" +.LASF191: + .string "lex_ctx_consume_number" +.LASF36: + .string "_markers" +.LASF215: + .string "__ubsan_handle_add_overflow" +.LASF19: + .string "array_t" +.LASF112: + .string "warn_multichar" +.LASF217: + .string "__ubsan_handle_sub_overflow" +.LASF165: + .string "nr_lexing_errors" +.LASF85: + .string "StarAssign" +.LASF144: + .string "diagn_push" +.LASF74: + .string "Identifier" +.LASF154: + .string "diagn_new" +.LASF17: + .string "int8_t" +.LASF58: + .string "stdout" +.LASF185: + .string "lexeme" +.LASF35: + .string "_IO_save_end" +.LASF118: + .string "nr_filenames" +.LASF56: + .string "_IO_codecvt" +.LASF131: + .string "_ISspace" +.LASF167: + .string "lex_ctx_free" +.LASF172: + .string "comp_args" +.LASF197: + .string "lex_ctx_consume_comment" +.LASF218: + .string "__builtin___ubsan_handle_sub_overflow" +.LASF18: + .string "long long unsigned int" +.LASF169: + .string "file" +.LASF122: + .string "DiagnosticError" +.LASF187: + .string "err_lexeme" +.LASF34: + .string "_IO_backup_base" +.LASF99: + .string "BitwiseXorAssign" +.LASF170: + .string "lex_ctx_process" +.LASF45: + .string "_offset" +.LASF208: + .string "__builtin___ubsan_handle_nonnull_arg" +.LASF125: + .string "diagnostic_impl" +.LASF127: + .string "_ISlower" +.LASF38: + .string "_fileno" +.LASF142: + .string "io_free_memstream" +.LASF140: + .string "__chk_free_impl_nofn" +.LASF149: + .string "diagn_flush" +.LASF67: + .string "memstreams" +.LASF97: + .string "BitwiseOrAssign" +.LASF123: + .string "DiagnosticNote" +.LASF8: + .string "size_t" +.LASF186: + .string "length_to_eol" +.LASF175: + .string "reached_eof" +.LASF105: + .string "Comment" +.LASF78: + .string "RightBrace" +.LASF130: + .string "_ISxdigit" +.LASF141: + .string "__chk_free_impl" +.LASF27: + .string "_IO_read_base" +.LASF111: + .string "_Bool" +.LASF95: + .string "BitwiseAnd" +.LASF92: + .string "AssignAssign" +.LASF13: + .string "__uint64_t" +.LASF216: + .string "__builtin___ubsan_handle_add_overflow" +.LASF62: + .string "path" +.LASF202: + .string "__fmt" +.LASF195: + .string "past_decimal" +.LASF201: + .string "__stream" +.LASF119: + .string "lexeme_type" +.LASF16: + .string "char" +.LASF207: + .string "__ubsan_handle_nonnull_arg" +.LASF159: + .string "__fprintf_chk" +.LASF51: + .string "_mode" +.LASF124: + .string "diagn_t" +.LASF79: + .string "Minus" +.LASF55: + .string "_IO_marker" +.LASF25: + .string "_IO_read_ptr" +.LASF139: + .string "g_comp_args" +.LASF117: + .string "filenames" +.LASF180: + .string "lex_ctx_consume_nonliteral" +.LASF156: + .string "array_length" +.LASF146: + .string "isoctdigit" +.LASF21: + .string "uint8_t" +.LASF88: + .string "Decrement" +.LASF54: + .string "array_impl" +.LASF28: + .string "_IO_write_base" +.LASF77: + .string "LeftBrace" +.LASF4: + .string "long long int" +.LASF68: + .string "lexeme_arrays" +.LASF33: + .string "_IO_save_base" +.LASF98: + .string "BitwiseAndAssign" +.LASF135: + .string "_IScntrl" +.LASF161: + .string "array_new" +.LASF183: + .string "lex_ctx_consume_octal" +.LASF168: + .string "lex_ctx_load_file" +.LASF76: + .string "RightParen" +.LASF198: + .string "lex_ctx_process_impl" +.LASF152: + .string "fconsume" +.LASF194: + .string "lex_ctx_consume_hexadecimal_float" +.LASF73: + .string "CharacterLiteral" +.LASF129: + .string "_ISdigit" +.LASF96: + .string "BitwiseXor" +.LASF182: + .string "lex_ctx_consume_hexadecimal" +.LASF86: + .string "ModulusAssign" +.LASF63: + .string "size" +.LASF49: + .string "_freeres_buf" +.LASF93: + .string "NotAssign" +.LASF87: + .string "Increment" +.LASF84: + .string "DivAssign" +.LASF147: + .string "ftell" +.LASF50: + .string "__pad5" +.LASF205: + .string "__builtin___ubsan_handle_type_mismatch_v1" +.LASF210: + .string "__builtin___ubsan_handle_pointer_overflow" +.LASF193: + .string "past_point" +.LASF158: + .string "io_read_file_into_memstream" +.LASF42: + .string "_vtable_offset" +.LASF9: + .string "__int8_t" +.LASF120: + .string "diagn_type" +.LASF221: + .ascii "GNU C17 13.3.1 202" + .string "40614 -mtune=generic -march=x86-64 -ggdb -Os -Og -std=gnu17 -p -fanalyzer -fsanitize=address,undefined,leak -fstack-protector-strong -fstack-clash-protection -fstrict-aliasing -ftrivial-auto-var-init=zero -fno-omit-frame-pointer -fno-common -fcf-protection" +.LASF162: + .string "__chk_calloc_impl" +.LASF151: + .string "isident_f" +.LASF126: + .string "_ISupper" +.LASF184: + .string "lex_ctx_consume_character" +.LASF171: + .string "lex_ctx_new" +.LASF200: + .string "lex_ctx_create_lexeme" +.LASF47: + .string "_wide_data" +.LASF83: + .string "MinusAssign" +.LASF115: + .string "warn_flags" +.LASF173: + .string "lexer" +.LASF106: + .string "MultiComment" +.LASF136: + .string "_ISpunct" +.LASF26: + .string "_IO_read_end" +.LASF91: + .string "Assign" +.LASF132: + .string "_ISprint" +.LASF12: + .string "short int" +.LASF90: + .string "LogicalAnd" +.LASF3: + .string "long int" +.LASF75: + .string "LeftParen" +.LASF188: + .string "lex_ctx_consume_string" +.LASF20: + .string "array_free_callback_t" +.LASF107: + .string "length" +.LASF60: + .string "fptr_t" +.LASF192: + .string "lex_ctx_consume_decimal_float" +.LASF178: + .string "next" +.LASF72: + .string "StringLiteral" +.LASF57: + .string "_IO_wide_data" +.LASF22: + .string "uint64_t" +.LASF189: + .string "unterminated" +.LASF176: + .string "nr_errors" +.LASF223: + .string "fprintf" +.LASF155: + .string "array_get" +.LASF89: + .string "LogicalOr" +.LASF11: + .string "__uint8_t" +.LASF133: + .string "_ISgraph" +.LASF110: + .string "lexeme_t" +.LASF103: + .string "Semi" +.LASF23: + .string "uintptr_t" +.LASF44: + .string "_lock" +.LASF179: + .string "lex_ctx_free_lexeme_arrays" +.LASF2: + .string "long unsigned int" +.LASF40: + .string "_old_offset" +.LASF65: + .string "_IO_FILE" +.LASF164: + .string "lexemes" +.LASF128: + .string "_ISalpha" +.LASF153: + .string "fpeek" +.LASF213: + .string "__asan_report_load2" +.LASF204: + .string "__asan_report_load8" +.LASF190: + .string "lex_ctx_consume_identifier" +.LASF219: + .string "__asan_report_store4" +.LASF109: + .string "type" +.LASF5: + .string "unsigned char" +.LASF211: + .string "__asan_report_store8" +.LASF196: + .string "lex_ctx_consume_multicomment" +.LASF113: + .string "tokenize_comments" +.LASF29: + .string "_IO_write_ptr" +.LASF100: + .string "BitwiseNegate" +.LASF81: + .string "Modulus" +.LASF150: + .string "feof" +.LASF101: + .string "BwdSlash" +.LASF116: + .string "parse_flags" +.LASF102: + .string "Newline" +.LASF157: + .string "array_append" +.LASF137: + .string "_ISalnum" +.LASF94: + .string "BitwiseOr" +.LASF46: + .string "_codecvt" +.LASF114: + .string "compilation_args" +.LASF82: + .string "AddAssign" +.LASF69: + .string "lexer_t" +.LASF14: + .string "__off_t" +.LASF10: + .string "signed char" +.LASF6: + .string "short unsigned int" +.LASF66: + .string "lexer_impl" +.LASF181: + .string "lex_type" +.LASF177: + .string "current" +.LASF174: + .string "__func__" +.LASF80: + .string "Star" +.LASF37: + .string "_chain" +.LASF71: + .string "FloatingLiteral" +.LASF64: + .string "memstream_t" +.LASF53: + .string "FILE" +.LASF39: + .string "_flags2" +.LASF70: + .string "NumericLiteral" +.LASF41: + .string "_cur_column" +.LASF143: + .string "array_free_cb" +.LASF199: + .string "lex_ctx_length_until_eol" +.LASF104: + .string "EndOfFile" +.LASF15: + .string "__off64_t" +.LASF52: + .string "_unused2" +.LASF31: + .string "_IO_buf_base" +.LASF166: + .string "stream" +.LASF214: + .string "__builtin___asan_report_load2" + .section .debug_line_str,"MS",@progbits,1 +.LASF1: + .string "/home/unazed/Programming/c/ucc-0.2.0" +.LASF0: + .string "src/lexer.c" + .ident "GCC: (Gentoo 13.3.1_p20240614 p17) 13.3.1 20240614" + .section .note.GNU-stack,"",@progbits + .section .note.gnu.property,"a" + .align 8 + .long 1f - 0f + .long 4f - 1f + .long 5 +0: + .string "GNU" +1: + .align 8 + .long 0xc0000002 + .long 3f - 2f +2: + .long 0x3 +3: + .align 8 +4: diff --git a/build/main.d b/build/main.d new file mode 100644 index 0000000..b6bf96b --- /dev/null +++ b/build/main.d @@ -0,0 +1,10 @@ +build/main.o: src/main.c include/generic.h include/ansi-colors.h \ + include/io.h include/lexer.h include/array.h include/tokenizer.h \ + include/diagnostics.h +include/generic.h: +include/ansi-colors.h: +include/io.h: +include/lexer.h: +include/array.h: +include/tokenizer.h: +include/diagnostics.h: diff --git a/build/main.i b/build/main.i new file mode 100644 index 0000000..0832ecf --- /dev/null +++ b/build/main.i @@ -0,0 +1,4111 @@ +# 0 "src/main.c" +# 1 "/home/unazed/Programming/c/ucc-0.2.0//" +# 0 "" +# 0 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 0 "" 2 +# 1 "src/main.c" +# 1 "include/generic.h" 1 + + +# 1 "include/ansi-colors.h" 1 + + +# 1 "include/io.h" 1 + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 1 3 4 +# 9 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 3 4 +# 1 "/usr/include/stdint.h" 1 3 4 +# 26 "/usr/include/stdint.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 33 "/usr/include/bits/libc-header-start.h" 3 4 +# 1 "/usr/include/features.h" 1 3 4 +# 394 "/usr/include/features.h" 3 4 +# 1 "/usr/include/features-time64.h" 1 3 4 +# 20 "/usr/include/features-time64.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 21 "/usr/include/features-time64.h" 2 3 4 +# 1 "/usr/include/bits/timesize.h" 1 3 4 +# 19 "/usr/include/bits/timesize.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/bits/timesize.h" 2 3 4 +# 22 "/usr/include/features-time64.h" 2 3 4 +# 395 "/usr/include/features.h" 2 3 4 +# 503 "/usr/include/features.h" 3 4 +# 1 "/usr/include/sys/cdefs.h" 1 3 4 +# 576 "/usr/include/sys/cdefs.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 577 "/usr/include/sys/cdefs.h" 2 3 4 +# 1 "/usr/include/bits/long-double.h" 1 3 4 +# 578 "/usr/include/sys/cdefs.h" 2 3 4 +# 504 "/usr/include/features.h" 2 3 4 +# 527 "/usr/include/features.h" 3 4 +# 1 "/usr/include/gnu/stubs.h" 1 3 4 +# 10 "/usr/include/gnu/stubs.h" 3 4 +# 1 "/usr/include/gnu/stubs-64.h" 1 3 4 +# 11 "/usr/include/gnu/stubs.h" 2 3 4 +# 528 "/usr/include/features.h" 2 3 4 +# 34 "/usr/include/bits/libc-header-start.h" 2 3 4 +# 27 "/usr/include/stdint.h" 2 3 4 +# 1 "/usr/include/bits/types.h" 1 3 4 +# 27 "/usr/include/bits/types.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 28 "/usr/include/bits/types.h" 2 3 4 +# 1 "/usr/include/bits/timesize.h" 1 3 4 +# 19 "/usr/include/bits/timesize.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/bits/timesize.h" 2 3 4 +# 29 "/usr/include/bits/types.h" 2 3 4 + + + +# 31 "/usr/include/bits/types.h" 3 4 +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; + + +typedef signed char __int8_t; +typedef unsigned char __uint8_t; +typedef signed short int __int16_t; +typedef unsigned short int __uint16_t; +typedef signed int __int32_t; +typedef unsigned int __uint32_t; + +typedef signed long int __int64_t; +typedef unsigned long int __uint64_t; + + + + + + +typedef __int8_t __int_least8_t; +typedef __uint8_t __uint_least8_t; +typedef __int16_t __int_least16_t; +typedef __uint16_t __uint_least16_t; +typedef __int32_t __int_least32_t; +typedef __uint32_t __uint_least32_t; +typedef __int64_t __int_least64_t; +typedef __uint64_t __uint_least64_t; + + + +typedef long int __quad_t; +typedef unsigned long int __u_quad_t; + + + + + + + +typedef long int __intmax_t; +typedef unsigned long int __uintmax_t; +# 141 "/usr/include/bits/types.h" 3 4 +# 1 "/usr/include/bits/typesizes.h" 1 3 4 +# 142 "/usr/include/bits/types.h" 2 3 4 +# 1 "/usr/include/bits/time64.h" 1 3 4 +# 143 "/usr/include/bits/types.h" 2 3 4 + + +typedef unsigned long int __dev_t; +typedef unsigned int __uid_t; +typedef unsigned int __gid_t; +typedef unsigned long int __ino_t; +typedef unsigned long int __ino64_t; +typedef unsigned int __mode_t; +typedef unsigned long int __nlink_t; +typedef long int __off_t; +typedef long int __off64_t; +typedef int __pid_t; +typedef struct { int __val[2]; } __fsid_t; +typedef long int __clock_t; +typedef unsigned long int __rlim_t; +typedef unsigned long int __rlim64_t; +typedef unsigned int __id_t; +typedef long int __time_t; +typedef unsigned int __useconds_t; +typedef long int __suseconds_t; +typedef long int __suseconds64_t; + +typedef int __daddr_t; +typedef int __key_t; + + +typedef int __clockid_t; + + +typedef void * __timer_t; + + +typedef long int __blksize_t; + + + + +typedef long int __blkcnt_t; +typedef long int __blkcnt64_t; + + +typedef unsigned long int __fsblkcnt_t; +typedef unsigned long int __fsblkcnt64_t; + + +typedef unsigned long int __fsfilcnt_t; +typedef unsigned long int __fsfilcnt64_t; + + +typedef long int __fsword_t; + +typedef long int __ssize_t; + + +typedef long int __syscall_slong_t; + +typedef unsigned long int __syscall_ulong_t; + + + +typedef __off64_t __loff_t; +typedef char *__caddr_t; + + +typedef long int __intptr_t; + + +typedef unsigned int __socklen_t; + + + + +typedef int __sig_atomic_t; +# 28 "/usr/include/stdint.h" 2 3 4 +# 1 "/usr/include/bits/wchar.h" 1 3 4 +# 29 "/usr/include/stdint.h" 2 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 30 "/usr/include/stdint.h" 2 3 4 + + + + +# 1 "/usr/include/bits/stdint-intn.h" 1 3 4 +# 24 "/usr/include/bits/stdint-intn.h" 3 4 +typedef __int8_t int8_t; +typedef __int16_t int16_t; +typedef __int32_t int32_t; +typedef __int64_t int64_t; +# 35 "/usr/include/stdint.h" 2 3 4 + + +# 1 "/usr/include/bits/stdint-uintn.h" 1 3 4 +# 24 "/usr/include/bits/stdint-uintn.h" 3 4 +typedef __uint8_t uint8_t; +typedef __uint16_t uint16_t; +typedef __uint32_t uint32_t; +typedef __uint64_t uint64_t; +# 38 "/usr/include/stdint.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdint-least.h" 1 3 4 +# 25 "/usr/include/bits/stdint-least.h" 3 4 +typedef __int_least8_t int_least8_t; +typedef __int_least16_t int_least16_t; +typedef __int_least32_t int_least32_t; +typedef __int_least64_t int_least64_t; + + +typedef __uint_least8_t uint_least8_t; +typedef __uint_least16_t uint_least16_t; +typedef __uint_least32_t uint_least32_t; +typedef __uint_least64_t uint_least64_t; +# 42 "/usr/include/stdint.h" 2 3 4 + + + + + +typedef signed char int_fast8_t; + +typedef long int int_fast16_t; +typedef long int int_fast32_t; +typedef long int int_fast64_t; +# 60 "/usr/include/stdint.h" 3 4 +typedef unsigned char uint_fast8_t; + +typedef unsigned long int uint_fast16_t; +typedef unsigned long int uint_fast32_t; +typedef unsigned long int uint_fast64_t; +# 76 "/usr/include/stdint.h" 3 4 +typedef long int intptr_t; + + +typedef unsigned long int uintptr_t; +# 90 "/usr/include/stdint.h" 3 4 +typedef __intmax_t intmax_t; +typedef __uintmax_t uintmax_t; +# 10 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 2 3 4 +# 4 "include/io.h" 2 +# 1 "/usr/include/stdio.h" 1 3 4 +# 28 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 29 "/usr/include/stdio.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 214 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 +typedef long unsigned int size_t; +# 35 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdarg.h" 1 3 4 +# 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdarg.h" 3 4 +typedef __builtin_va_list __gnuc_va_list; +# 38 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/include/bits/types/__fpos_t.h" 1 3 4 + + + + +# 1 "/usr/include/bits/types/__mbstate_t.h" 1 3 4 +# 13 "/usr/include/bits/types/__mbstate_t.h" 3 4 +typedef struct +{ + int __count; + union + { + unsigned int __wch; + char __wchb[4]; + } __value; +} __mbstate_t; +# 6 "/usr/include/bits/types/__fpos_t.h" 2 3 4 + + + + +typedef struct _G_fpos_t +{ + __off_t __pos; + __mbstate_t __state; +} __fpos_t; +# 41 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/__fpos64_t.h" 1 3 4 +# 10 "/usr/include/bits/types/__fpos64_t.h" 3 4 +typedef struct _G_fpos64_t +{ + __off64_t __pos; + __mbstate_t __state; +} __fpos64_t; +# 42 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/__FILE.h" 1 3 4 + + + +struct _IO_FILE; +typedef struct _IO_FILE __FILE; +# 43 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/FILE.h" 1 3 4 + + + +struct _IO_FILE; + + +typedef struct _IO_FILE FILE; +# 44 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/struct_FILE.h" 1 3 4 +# 35 "/usr/include/bits/types/struct_FILE.h" 3 4 +struct _IO_FILE; +struct _IO_marker; +struct _IO_codecvt; +struct _IO_wide_data; + + + + +typedef void _IO_lock_t; + + + + + +struct _IO_FILE +{ + int _flags; + + + char *_IO_read_ptr; + char *_IO_read_end; + char *_IO_read_base; + char *_IO_write_base; + char *_IO_write_ptr; + char *_IO_write_end; + char *_IO_buf_base; + char *_IO_buf_end; + + + char *_IO_save_base; + char *_IO_backup_base; + char *_IO_save_end; + + struct _IO_marker *_markers; + + struct _IO_FILE *_chain; + + int _fileno; + int _flags2; + __off_t _old_offset; + + + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + + _IO_lock_t *_lock; + + + + + + + + __off64_t _offset; + + struct _IO_codecvt *_codecvt; + struct _IO_wide_data *_wide_data; + struct _IO_FILE *_freeres_list; + void *_freeres_buf; + size_t __pad5; + int _mode; + + char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; +}; +# 45 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/include/bits/types/cookie_io_functions_t.h" 1 3 4 +# 27 "/usr/include/bits/types/cookie_io_functions_t.h" 3 4 +typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf, + size_t __nbytes); + + + + + + + +typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf, + size_t __nbytes); + + + + + + + +typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w); + + +typedef int cookie_close_function_t (void *__cookie); + + + + + + +typedef struct _IO_cookie_io_functions_t +{ + cookie_read_function_t *read; + cookie_write_function_t *write; + cookie_seek_function_t *seek; + cookie_close_function_t *close; +} cookie_io_functions_t; +# 48 "/usr/include/stdio.h" 2 3 4 + + + + + +typedef __gnuc_va_list va_list; +# 64 "/usr/include/stdio.h" 3 4 +typedef __off_t off_t; +# 78 "/usr/include/stdio.h" 3 4 +typedef __ssize_t ssize_t; + + + + + + +typedef __fpos_t fpos_t; +# 129 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/stdio_lim.h" 1 3 4 +# 130 "/usr/include/stdio.h" 2 3 4 +# 149 "/usr/include/stdio.h" 3 4 +extern FILE *stdin; +extern FILE *stdout; +extern FILE *stderr; + + + + + + +extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); + +extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int renameat (int __oldfd, const char *__old, int __newfd, + const char *__new) __attribute__ ((__nothrow__ , __leaf__)); +# 184 "/usr/include/stdio.h" 3 4 +extern int fclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 194 "/usr/include/stdio.h" 3 4 +extern FILE *tmpfile (void) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); +# 211 "/usr/include/stdio.h" 3 4 +extern char *tmpnam (char[20]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + +extern char *tmpnam_r (char __s[20]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +# 228 "/usr/include/stdio.h" 3 4 +extern char *tempnam (const char *__dir, const char *__pfx) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__malloc__ (__builtin_free, 1))); + + + + + + +extern int fflush (FILE *__stream); +# 245 "/usr/include/stdio.h" 3 4 +extern int fflush_unlocked (FILE *__stream); +# 264 "/usr/include/stdio.h" 3 4 +extern FILE *fopen (const char *__restrict __filename, + const char *__restrict __modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *freopen (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (3))); +# 299 "/usr/include/stdio.h" 3 4 +extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + + +extern FILE *fopencookie (void *__restrict __magic_cookie, + const char *__restrict __modes, + cookie_io_functions_t __io_funcs) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); +# 334 "/usr/include/stdio.h" 3 4 +extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__nonnull__ (1))); + + + +extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, + size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int fprintf (FILE *__restrict __stream, + const char *__restrict __format, ...) __attribute__ ((__nonnull__ (1))); + + + + +extern int printf (const char *__restrict __format, ...); + +extern int sprintf (char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__)); + + + + + +extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nonnull__ (1))); + + + + +extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); + +extern int vsprintf (char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nothrow__)); + + + +extern int snprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); + +extern int vsnprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); + + + + + +extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, + __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__)); +extern int __asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); +extern int asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); + + + + +extern int vdprintf (int __fd, const char *__restrict __fmt, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 2, 0))); +extern int dprintf (int __fd, const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); + + + + + + + +extern int fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); + +extern int sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +# 1 "/usr/include/bits/floatn.h" 1 3 4 +# 119 "/usr/include/bits/floatn.h" 3 4 +# 1 "/usr/include/bits/floatn-common.h" 1 3 4 +# 24 "/usr/include/bits/floatn-common.h" 3 4 +# 1 "/usr/include/bits/long-double.h" 1 3 4 +# 25 "/usr/include/bits/floatn-common.h" 2 3 4 +# 120 "/usr/include/bits/floatn.h" 2 3 4 +# 438 "/usr/include/stdio.h" 2 3 4 +# 463 "/usr/include/stdio.h" 3 4 +extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") + + __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") + __attribute__ ((__warn_unused_result__)); +extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__)) + + ; +# 490 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); + + +extern int vsscanf (const char *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); +# 540 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") + + + + __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") + + __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); +extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__format__ (__scanf__, 2, 0))); +# 575 "/usr/include/stdio.h" 3 4 +extern int fgetc (FILE *__stream) __attribute__ ((__nonnull__ (1))); +extern int getc (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + + + + +extern int getchar (void); + + + + + + +extern int getc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); +extern int getchar_unlocked (void); +# 600 "/usr/include/stdio.h" 3 4 +extern int fgetc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 611 "/usr/include/stdio.h" 3 4 +extern int fputc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); +extern int putc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + +extern int putchar (int __c); +# 627 "/usr/include/stdio.h" 3 4 +extern int fputc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + + +extern int putc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); +extern int putchar_unlocked (int __c); + + + + + + +extern int getw (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + +extern int putw (int __w, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + + +extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1))) __attribute__ ((__nonnull__ (3))); +# 694 "/usr/include/stdio.h" 3 4 +extern __ssize_t __getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))); +extern __ssize_t getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))); + + + + + + + +extern __ssize_t getline (char **__restrict __lineptr, + size_t *__restrict __n, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (3))); + + + + + + + +extern int fputs (const char *__restrict __s, FILE *__restrict __stream) + __attribute__ ((__nonnull__ (2))); + + + + + +extern int puts (const char *__s); + + + + + + +extern int ungetc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + +extern size_t fread (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__nonnull__ (4))); + + + + +extern size_t fwrite (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __s) __attribute__ ((__nonnull__ (4))); +# 766 "/usr/include/stdio.h" 3 4 +extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__nonnull__ (4))); +extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) + __attribute__ ((__nonnull__ (4))); + + + + + + + +extern int fseek (FILE *__stream, long int __off, int __whence) + __attribute__ ((__nonnull__ (1))); + + + + +extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern void rewind (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 803 "/usr/include/stdio.h" 3 4 +extern int fseeko (FILE *__stream, __off_t __off, int __whence) + __attribute__ ((__nonnull__ (1))); + + + + +extern __off_t ftello (FILE *__stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +# 829 "/usr/include/stdio.h" 3 4 +extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) + __attribute__ ((__nonnull__ (1))); + + + + +extern int fsetpos (FILE *__stream, const fpos_t *__pos) __attribute__ ((__nonnull__ (1))); +# 860 "/usr/include/stdio.h" 3 4 +extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + +extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + +extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern void perror (const char *__s) __attribute__ ((__cold__)); + + + + +extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +# 897 "/usr/include/stdio.h" 3 4 +extern int pclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + + + + +extern FILE *popen (const char *__command, const char *__modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + + + +extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))); +# 941 "/usr/include/stdio.h" 3 4 +extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + +extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 959 "/usr/include/stdio.h" 3 4 +extern int __uflow (FILE *); +extern int __overflow (FILE *, int); + + + +# 1 "/usr/include/bits/stdio2-decl.h" 1 3 4 +# 26 "/usr/include/bits/stdio2-decl.h" 3 4 +extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))); +extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + ...) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 2))); +extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 2))); + + + + + +extern int __fprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, ...) + __attribute__ ((__nonnull__ (1))); +extern int __printf_chk (int __flag, const char *__restrict __format, ...); +extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nonnull__ (1))); +extern int __vprintf_chk (int __flag, const char *__restrict __format, + __gnuc_va_list __ap); + + +extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt, + ...) __attribute__ ((__format__ (__printf__, 3, 4))); +extern int __vdprintf_chk (int __fd, int __flag, + const char *__restrict __fmt, __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 3, 0))); +# 96 "/usr/include/bits/stdio2-decl.h" 3 4 +extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets") + + + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2))); +extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk") + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer"))) + ; + +extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, + FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__nonnull__ (4))); + +extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread") + + + __attribute__ ((__warn_unused_result__)); +extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk") + + + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer"))) + ; + +extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (5))); +# 145 "/usr/include/bits/stdio2-decl.h" 3 4 +extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked") + + + __attribute__ ((__warn_unused_result__)); +extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk") + + + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer"))) + ; + +extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (5))); +# 965 "/usr/include/stdio.h" 2 3 4 +# 976 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/stdio.h" 1 3 4 +# 46 "/usr/include/bits/stdio.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +getchar (void) +{ + return getc (stdin); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +fgetc_unlocked (FILE *__fp) +{ + return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +} + + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +getc_unlocked (FILE *__fp) +{ + return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +getchar_unlocked (void) +{ + return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +putchar (int __c) +{ + return putc (__c, stdout); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +fputc_unlocked (int __c, FILE *__stream) +{ + return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); +} + + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +putc_unlocked (int __c, FILE *__stream) +{ + return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +putchar_unlocked (int __c) +{ + return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); +} +# 127 "/usr/include/bits/stdio.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) feof_unlocked (FILE *__stream) +{ + return (((__stream)->_flags & 0x0010) != 0); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) ferror_unlocked (FILE *__stream) +{ + return (((__stream)->_flags & 0x0020) != 0); +} +# 977 "/usr/include/stdio.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdio2.h" 1 3 4 +# 27 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) +{ + return __builtin___sprintf_chk (__s, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, + __builtin_va_arg_pack ()); +} + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) + +{ + return __builtin___vsprintf_chk (__s, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, __ap); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) + +{ + return __builtin___snprintf_chk (__s, __n, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, + __builtin_va_arg_pack ()); +} + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) + +{ + return __builtin___vsnprintf_chk (__s, __n, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, __ap); +} + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) int +fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...) +{ + return __fprintf_chk (__stream, 3 - 1, __fmt, + __builtin_va_arg_pack ()); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +printf (const char *__restrict __fmt, ...) +{ + return __printf_chk (3 - 1, __fmt, __builtin_va_arg_pack ()); +} + + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +vprintf (const char *__restrict __fmt, __gnuc_va_list __ap) +{ + + return __vfprintf_chk (stdout, 3 - 1, __fmt, __ap); + + + +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) int +vfprintf (FILE *__restrict __stream, + const char *__restrict __fmt, __gnuc_va_list __ap) +{ + return __vfprintf_chk (__stream, 3 - 1, __fmt, __ap); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +dprintf (int __fd, const char *__restrict __fmt, ...) +{ + return __dprintf_chk (__fd, 3 - 1, __fmt, + __builtin_va_arg_pack ()); +} + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap) +{ + return __vdprintf_chk (__fd, 3 - 1, __fmt, __ap); +} +# 194 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1))) +__attribute__ ((__nonnull__ (3))) char * +fgets (char *__restrict __s, int __n, FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__s, 1); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))) && (((long unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))))) + return __fgets_alias (__s, __n, __stream); + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (sizeof (char)))) && !(((long unsigned int) (__n)) <= (sz) / (sizeof (char))))) + return __fgets_chk_warn (__s, sz, __n, __stream); + return __fgets_chk (__s, sz, __n, __stream); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))) size_t +fread (void *__restrict __ptr, size_t __size, size_t __n, + FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__ptr, 0); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((long unsigned int) (__n)) <= ((sz)) / ((__size)))))) + return __fread_alias (__ptr, __size, __n, __stream); + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (__size))) && !(((long unsigned int) (__n)) <= (sz) / (__size)))) + return __fread_chk_warn (__ptr, sz, __size, __n, __stream); + return __fread_chk (__ptr, sz, __size, __n, __stream); +} +# 234 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))) size_t +fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, + FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__ptr, 0); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((long unsigned int) (__n)) <= ((sz)) / ((__size)))))) + { + + if (__builtin_constant_p (__size) + && __builtin_constant_p (__n) + && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2)) + && __size * __n <= 8) + { + size_t __cnt = __size * __n; + char *__cptr = (char *) __ptr; + if (__cnt == 0) + return 0; + + for (; __cnt > 0; --__cnt) + { + int __c = getc_unlocked (__stream); + if (__c == (-1)) + break; + *__cptr++ = __c; + } + return (__cptr - (char *) __ptr) / __size; + } + + return __fread_unlocked_alias (__ptr, __size, __n, __stream); + } + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (__size))) && !(((long unsigned int) (__n)) <= (sz) / (__size)))) + return __fread_unlocked_chk_warn (__ptr, sz, __size, __n, __stream); + return __fread_unlocked_chk (__ptr, sz, __size, __n, __stream); + +} +# 981 "/usr/include/stdio.h" 2 3 4 + + + +# 5 "include/io.h" 2 + + +# 6 "include/io.h" +typedef FILE* fptr_t; + +typedef struct +{ + fptr_t ptr; + uint8_t* buffer; + const char* path; + size_t size; +} *memstream_t; + +__attribute__((warn_unused_result, nonnull)) +fptr_t io_open_file (const char* filename, const char* mode); + +__attribute__((warn_unused_result, nonnull)) +uint8_t* io_alloc_file_buffer (fptr_t file); + +__attribute__((nonnull (1, 2))) +size_t io_read_file_into_buffer (fptr_t file, uint8_t* const buffer, uint64_t buffer_size); + +__attribute__((nonnull (1), warn_unused_result)) +memstream_t io_read_file_into_memstream (fptr_t file, const char* const path); + +__attribute__((nonnull)) +void io_free_memstream (memstream_t stream); + +__attribute__((nonnull)) +void io_close_file (fptr_t file); +# 4 "include/ansi-colors.h" 2 +# 34 "include/ansi-colors.h" +void cprintf (const char* ccode, const char* fmt, ...); + +__attribute__((nonnull (1))) +void cfprintf (fptr_t file, const char* ccode, const char* fmt, ...); +# 4 "include/generic.h" 2 + +# 1 "/usr/include/errno.h" 1 3 4 +# 28 "/usr/include/errno.h" 3 4 +# 1 "/usr/include/bits/errno.h" 1 3 4 +# 26 "/usr/include/bits/errno.h" 3 4 +# 1 "/usr/include/linux/errno.h" 1 3 4 +# 1 "/usr/include/asm/errno.h" 1 3 4 +# 1 "/usr/include/asm-generic/errno.h" 1 3 4 + + + + +# 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 +# 6 "/usr/include/asm-generic/errno.h" 2 3 4 +# 2 "/usr/include/asm/errno.h" 2 3 4 +# 2 "/usr/include/linux/errno.h" 2 3 4 +# 27 "/usr/include/bits/errno.h" 2 3 4 +# 29 "/usr/include/errno.h" 2 3 4 + + + + + + + + + +# 37 "/usr/include/errno.h" 3 4 +extern int *__errno_location (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +# 52 "/usr/include/errno.h" 3 4 + +# 6 "include/generic.h" 2 +# 1 "/usr/include/stdlib.h" 1 3 4 +# 26 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/stdlib.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 329 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 +typedef int wchar_t; +# 33 "/usr/include/stdlib.h" 2 3 4 + + + + + + + +# 1 "/usr/include/bits/waitflags.h" 1 3 4 +# 41 "/usr/include/stdlib.h" 2 3 4 +# 1 "/usr/include/bits/waitstatus.h" 1 3 4 +# 42 "/usr/include/stdlib.h" 2 3 4 +# 59 "/usr/include/stdlib.h" 3 4 +typedef struct + { + int quot; + int rem; + } div_t; + + + +typedef struct + { + long int quot; + long int rem; + } ldiv_t; + + + + + +__extension__ typedef struct + { + long long int quot; + long long int rem; + } lldiv_t; +# 98 "/usr/include/stdlib.h" 3 4 +extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + +extern double atof (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + +extern int atoi (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + +extern long int atol (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + +__extension__ extern long long int atoll (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + +extern double strtod (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern float strtof (const char *__restrict __nptr, + char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern long double strtold (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 177 "/usr/include/stdlib.h" 3 4 +extern long int strtol (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern unsigned long int strtoul (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +__extension__ +extern long long int strtoq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtouq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +__extension__ +extern long long int strtoll (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtoull (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 480 "/usr/include/stdlib.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) atoi (const char *__nptr) +{ + return (int) strtol (__nptr, (char **) ((void *)0), 10); +} +extern __inline __attribute__ ((__gnu_inline__)) long int +__attribute__ ((__nothrow__ , __leaf__)) atol (const char *__nptr) +{ + return strtol (__nptr, (char **) ((void *)0), 10); +} + + +__extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int +__attribute__ ((__nothrow__ , __leaf__)) atoll (const char *__nptr) +{ + return strtoll (__nptr, (char **) ((void *)0), 10); +} +# 505 "/usr/include/stdlib.h" 3 4 +extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + +extern long int a64l (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + + +# 1 "/usr/include/sys/types.h" 1 3 4 +# 27 "/usr/include/sys/types.h" 3 4 + + + + + + +typedef __u_char u_char; +typedef __u_short u_short; +typedef __u_int u_int; +typedef __u_long u_long; +typedef __quad_t quad_t; +typedef __u_quad_t u_quad_t; +typedef __fsid_t fsid_t; + + +typedef __loff_t loff_t; + + + + +typedef __ino_t ino_t; +# 59 "/usr/include/sys/types.h" 3 4 +typedef __dev_t dev_t; + + + + +typedef __gid_t gid_t; + + + + +typedef __mode_t mode_t; + + + + +typedef __nlink_t nlink_t; + + + + +typedef __uid_t uid_t; +# 97 "/usr/include/sys/types.h" 3 4 +typedef __pid_t pid_t; + + + + + +typedef __id_t id_t; +# 114 "/usr/include/sys/types.h" 3 4 +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; + + + + + +typedef __key_t key_t; + + + + +# 1 "/usr/include/bits/types/clock_t.h" 1 3 4 + + + + + + +typedef __clock_t clock_t; +# 127 "/usr/include/sys/types.h" 2 3 4 + +# 1 "/usr/include/bits/types/clockid_t.h" 1 3 4 + + + + + + +typedef __clockid_t clockid_t; +# 129 "/usr/include/sys/types.h" 2 3 4 +# 1 "/usr/include/bits/types/time_t.h" 1 3 4 +# 10 "/usr/include/bits/types/time_t.h" 3 4 +typedef __time_t time_t; +# 130 "/usr/include/sys/types.h" 2 3 4 +# 1 "/usr/include/bits/types/timer_t.h" 1 3 4 + + + + + + +typedef __timer_t timer_t; +# 131 "/usr/include/sys/types.h" 2 3 4 +# 144 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 145 "/usr/include/sys/types.h" 2 3 4 + + + +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; + + + + + + + +typedef __uint8_t u_int8_t; +typedef __uint16_t u_int16_t; +typedef __uint32_t u_int32_t; +typedef __uint64_t u_int64_t; + + +typedef int register_t __attribute__ ((__mode__ (__word__))); +# 176 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/include/endian.h" 1 3 4 +# 24 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/bits/endian.h" 1 3 4 +# 35 "/usr/include/bits/endian.h" 3 4 +# 1 "/usr/include/bits/endianness.h" 1 3 4 +# 36 "/usr/include/bits/endian.h" 2 3 4 +# 25 "/usr/include/endian.h" 2 3 4 +# 35 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/bits/byteswap.h" 1 3 4 +# 33 "/usr/include/bits/byteswap.h" 3 4 +static __inline __uint16_t +__bswap_16 (__uint16_t __bsx) +{ + + return __builtin_bswap16 (__bsx); + + + +} + + + + + + +static __inline __uint32_t +__bswap_32 (__uint32_t __bsx) +{ + + return __builtin_bswap32 (__bsx); + + + +} +# 69 "/usr/include/bits/byteswap.h" 3 4 +__extension__ static __inline __uint64_t +__bswap_64 (__uint64_t __bsx) +{ + + return __builtin_bswap64 (__bsx); + + + +} +# 36 "/usr/include/endian.h" 2 3 4 +# 1 "/usr/include/bits/uintn-identity.h" 1 3 4 +# 32 "/usr/include/bits/uintn-identity.h" 3 4 +static __inline __uint16_t +__uint16_identity (__uint16_t __x) +{ + return __x; +} + +static __inline __uint32_t +__uint32_identity (__uint32_t __x) +{ + return __x; +} + +static __inline __uint64_t +__uint64_identity (__uint64_t __x) +{ + return __x; +} +# 37 "/usr/include/endian.h" 2 3 4 +# 177 "/usr/include/sys/types.h" 2 3 4 + + +# 1 "/usr/include/sys/select.h" 1 3 4 +# 30 "/usr/include/sys/select.h" 3 4 +# 1 "/usr/include/bits/select.h" 1 3 4 +# 31 "/usr/include/sys/select.h" 2 3 4 + + +# 1 "/usr/include/bits/types/sigset_t.h" 1 3 4 + + + +# 1 "/usr/include/bits/types/__sigset_t.h" 1 3 4 + + + + +typedef struct +{ + unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; +} __sigset_t; +# 5 "/usr/include/bits/types/sigset_t.h" 2 3 4 + + +typedef __sigset_t sigset_t; +# 34 "/usr/include/sys/select.h" 2 3 4 + + + +# 1 "/usr/include/bits/types/struct_timeval.h" 1 3 4 + + + + + + + +struct timeval +{ + + + + + __time_t tv_sec; + __suseconds_t tv_usec; + +}; +# 38 "/usr/include/sys/select.h" 2 3 4 + +# 1 "/usr/include/bits/types/struct_timespec.h" 1 3 4 +# 11 "/usr/include/bits/types/struct_timespec.h" 3 4 +struct timespec +{ + + + + __time_t tv_sec; + + + + + __syscall_slong_t tv_nsec; +# 31 "/usr/include/bits/types/struct_timespec.h" 3 4 +}; +# 40 "/usr/include/sys/select.h" 2 3 4 + + + +typedef __suseconds_t suseconds_t; + + + + + +typedef long int __fd_mask; +# 59 "/usr/include/sys/select.h" 3 4 +typedef struct + { + + + + + + + __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; + + + } fd_set; + + + + + + +typedef __fd_mask fd_mask; +# 91 "/usr/include/sys/select.h" 3 4 + +# 102 "/usr/include/sys/select.h" 3 4 +extern int select (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout); +# 127 "/usr/include/sys/select.h" 3 4 +extern int pselect (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + const struct timespec *__restrict __timeout, + const __sigset_t *__restrict __sigmask); +# 150 "/usr/include/sys/select.h" 3 4 +# 1 "/usr/include/bits/select2.h" 1 3 4 +# 23 "/usr/include/bits/select2.h" 3 4 +# 1 "/usr/include/bits/select-decl.h" 1 3 4 +# 27 "/usr/include/bits/select-decl.h" 3 4 +extern long int __fdelt_chk (long int __d); +extern long int __fdelt_warn (long int __d) + __attribute__((__warning__ ("bit outside of fd_set selected"))); +# 24 "/usr/include/bits/select2.h" 2 3 4 +# 151 "/usr/include/sys/select.h" 2 3 4 + + + +# 180 "/usr/include/sys/types.h" 2 3 4 + + + + + +typedef __blksize_t blksize_t; + + + + + + +typedef __blkcnt_t blkcnt_t; + + + +typedef __fsblkcnt_t fsblkcnt_t; + + + +typedef __fsfilcnt_t fsfilcnt_t; +# 227 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 +# 23 "/usr/include/bits/pthreadtypes.h" 3 4 +# 1 "/usr/include/bits/thread-shared-types.h" 1 3 4 +# 44 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/pthreadtypes-arch.h" 1 3 4 +# 21 "/usr/include/bits/pthreadtypes-arch.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 22 "/usr/include/bits/pthreadtypes-arch.h" 2 3 4 +# 45 "/usr/include/bits/thread-shared-types.h" 2 3 4 + +# 1 "/usr/include/bits/atomic_wide_counter.h" 1 3 4 +# 25 "/usr/include/bits/atomic_wide_counter.h" 3 4 +typedef union +{ + __extension__ unsigned long long int __value64; + struct + { + unsigned int __low; + unsigned int __high; + } __value32; +} __atomic_wide_counter; +# 47 "/usr/include/bits/thread-shared-types.h" 2 3 4 + + + + +typedef struct __pthread_internal_list +{ + struct __pthread_internal_list *__prev; + struct __pthread_internal_list *__next; +} __pthread_list_t; + +typedef struct __pthread_internal_slist +{ + struct __pthread_internal_slist *__next; +} __pthread_slist_t; +# 76 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/struct_mutex.h" 1 3 4 +# 22 "/usr/include/bits/struct_mutex.h" 3 4 +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; + + unsigned int __nusers; + + + + int __kind; + + short __spins; + short __elision; + __pthread_list_t __list; +# 53 "/usr/include/bits/struct_mutex.h" 3 4 +}; +# 77 "/usr/include/bits/thread-shared-types.h" 2 3 4 +# 89 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/struct_rwlock.h" 1 3 4 +# 23 "/usr/include/bits/struct_rwlock.h" 3 4 +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; + + int __cur_writer; + int __shared; + signed char __rwelision; + + + + + unsigned char __pad1[7]; + + + unsigned long int __pad2; + + + unsigned int __flags; +# 55 "/usr/include/bits/struct_rwlock.h" 3 4 +}; +# 90 "/usr/include/bits/thread-shared-types.h" 2 3 4 + + + + +struct __pthread_cond_s +{ + __atomic_wide_counter __wseq; + __atomic_wide_counter __g1_start; + unsigned int __g_refs[2] ; + unsigned int __g_size[2]; + unsigned int __g1_orig_size; + unsigned int __wrefs; + unsigned int __g_signals[2]; +}; + +typedef unsigned int __tss_t; +typedef unsigned long int __thrd_t; + +typedef struct +{ + int __data ; +} __once_flag; +# 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 + + + +typedef unsigned long int pthread_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_mutexattr_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_condattr_t; + + + +typedef unsigned int pthread_key_t; + + + +typedef int pthread_once_t; + + +union pthread_attr_t +{ + char __size[56]; + long int __align; +}; + +typedef union pthread_attr_t pthread_attr_t; + + + + +typedef union +{ + struct __pthread_mutex_s __data; + char __size[40]; + long int __align; +} pthread_mutex_t; + + +typedef union +{ + struct __pthread_cond_s __data; + char __size[48]; + __extension__ long long int __align; +} pthread_cond_t; + + + + + +typedef union +{ + struct __pthread_rwlock_arch_t __data; + char __size[56]; + long int __align; +} pthread_rwlock_t; + +typedef union +{ + char __size[8]; + long int __align; +} pthread_rwlockattr_t; + + + + + +typedef volatile int pthread_spinlock_t; + + + + +typedef union +{ + char __size[32]; + long int __align; +} pthread_barrier_t; + +typedef union +{ + char __size[4]; + int __align; +} pthread_barrierattr_t; +# 228 "/usr/include/sys/types.h" 2 3 4 + + + +# 515 "/usr/include/stdlib.h" 2 3 4 + + + + + + +extern long int random (void) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +extern char *initstate (unsigned int __seed, char *__statebuf, + size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +struct random_data + { + int32_t *fptr; + int32_t *rptr; + int32_t *state; + int rand_type; + int rand_deg; + int rand_sep; + int32_t *end_ptr; + }; + +extern int random_r (struct random_data *__restrict __buf, + int32_t *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int srandom_r (unsigned int __seed, struct random_data *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, + size_t __statelen, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); + +extern int setstate_r (char *__restrict __statebuf, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern int rand (void) __attribute__ ((__nothrow__ , __leaf__)); + +extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int nrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int jrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__)); +extern unsigned short int *seed48 (unsigned short int __seed16v[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +struct drand48_data + { + unsigned short int __x[3]; + unsigned short int __old_x[3]; + unsigned short int __c; + unsigned short int __init; + __extension__ unsigned long long int __a; + + }; + + +extern int drand48_r (struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int erand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int lrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int nrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int mrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int jrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int srand48_r (long int __seedval, struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int seed48_r (unsigned short int __seed16v[3], + struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int lcong48_r (unsigned short int __param[7], + struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern __uint32_t arc4random (void) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + +extern void arc4random_buf (void *__buf, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern __uint32_t arc4random_uniform (__uint32_t __upper_bound) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + +extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__)); + +extern void *calloc (size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) __attribute__ ((__warn_unused_result__)); + + + + + + +extern void *realloc (void *__ptr, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); + + +extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__alloc_size__ (2, 3))) + __attribute__ ((__malloc__ (__builtin_free, 1))); + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__ (reallocarray, 1))); + + + +# 1 "/usr/include/alloca.h" 1 3 4 +# 24 "/usr/include/alloca.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 25 "/usr/include/alloca.h" 2 3 4 + + + + + + + +extern void *alloca (size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + +# 707 "/usr/include/stdlib.h" 2 3 4 + + + + + +extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__)); + + + + +extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + + +extern void *aligned_alloc (size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) + __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__)); + + + +extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + +extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void quick_exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + +extern char *getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 786 "/usr/include/stdlib.h" 3 4 +extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int setenv (const char *__name, const char *__value, int __replace) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + +extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int clearenv (void) __attribute__ ((__nothrow__ , __leaf__)); +# 814 "/usr/include/stdlib.h" 3 4 +extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 827 "/usr/include/stdlib.h" 3 4 +extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 849 "/usr/include/stdlib.h" 3 4 +extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 870 "/usr/include/stdlib.h" 3 4 +extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 923 "/usr/include/stdlib.h" 3 4 +extern int system (const char *__command) __attribute__ ((__warn_unused_result__)); +# 940 "/usr/include/stdlib.h" 3 4 +extern char *realpath (const char *__restrict __name, + char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + + + +typedef int (*__compar_fn_t) (const void *, const void *); +# 960 "/usr/include/stdlib.h" 3 4 +extern void *bsearch (const void *__key, const void *__base, + size_t __nmemb, size_t __size, __compar_fn_t __compar) + __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__)); + + +# 1 "/usr/include/bits/stdlib-bsearch.h" 1 3 4 +# 19 "/usr/include/bits/stdlib-bsearch.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) void * +bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) +{ + size_t __l, __u, __idx; + const void *__p; + int __comparison; + + __l = 0; + __u = __nmemb; + while (__l < __u) + { + __idx = (__l + __u) / 2; + __p = (const void *) (((const char *) __base) + (__idx * __size)); + __comparison = (*__compar) (__key, __p); + if (__comparison < 0) + __u = __idx; + else if (__comparison > 0) + __l = __idx + 1; + else + { + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wcast-qual" + + return (void *) __p; + +#pragma GCC diagnostic pop + + } + } + + return ((void *)0); +} +# 966 "/usr/include/stdlib.h" 2 3 4 + + + + +extern void qsort (void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); +# 980 "/usr/include/stdlib.h" 3 4 +extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); +extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); + + +__extension__ extern long long int llabs (long long int __x) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); + + + + + + +extern div_t div (int __numer, int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); +extern ldiv_t ldiv (long int __numer, long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); + + +__extension__ extern lldiv_t lldiv (long long int __numer, + long long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); +# 1012 "/usr/include/stdlib.h" 3 4 +extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); + + + + +extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); + + + + +extern char *gcvt (double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); + + + + +extern char *qecvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); +extern char *qfcvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); +extern char *qgcvt (long double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); + + + + +extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + +extern int qecvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int qfcvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + + + + + +extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int mbtowc (wchar_t *__restrict __pwc, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern size_t mbstowcs (wchar_t *__restrict __pwcs, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__read_only__, 2))); + +extern size_t wcstombs (char *__restrict __s, + const wchar_t *__restrict __pwcs, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))) + __attribute__ ((__access__ (__read_only__, 2))); + + + + + + +extern int rpmatch (const char *__response) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 1099 "/usr/include/stdlib.h" 3 4 +extern int getsubopt (char **__restrict __optionp, + char *const *__restrict __tokens, + char **__restrict __valuep) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__)); +# 1145 "/usr/include/stdlib.h" 3 4 +extern int getloadavg (double __loadavg[], int __nelem) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 1155 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/bits/stdlib-float.h" 1 3 4 +# 24 "/usr/include/bits/stdlib-float.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) double +__attribute__ ((__nothrow__ , __leaf__)) atof (const char *__nptr) +{ + return strtod (__nptr, (char **) ((void *)0)); +} +# 1156 "/usr/include/stdlib.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdlib.h" 1 3 4 +# 23 "/usr/include/bits/stdlib.h" 3 4 +extern char *__realpath_chk (const char *__restrict __name, + char *__restrict __resolved, + size_t __resolvedlen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +extern char *__realpath_alias (const char *__restrict __name, char *__restrict __resolved) __asm__ ("" "realpath") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__warn_unused_result__)); +extern char *__realpath_chk_warn (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) __asm__ ("" "__realpath_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + __attribute__ ((__warn_unused_result__)) + __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer"))) + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * +__attribute__ ((__nothrow__ , __leaf__)) realpath (const char *__restrict __name, char *__restrict __resolved) +{ + size_t sz = __builtin_dynamic_object_size (__resolved, 1); + + if (sz == (size_t) -1) + return __realpath_alias (__name, __resolved); + + + + + + return __realpath_chk (__name, __resolved, sz); +} + + +extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen, + size_t __nreal) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) + __attribute__ ((__access__ (__write_only__, 2, 3))); +extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) __asm__ ("" "ptsname_r") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3))); +extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__ptsname_r_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf"))) + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) ptsname_r (int __fd, char *__buf, size_t __buflen) +{ + return (((__builtin_constant_p (__builtin_dynamic_object_size (__buf, 1)) && (__builtin_dynamic_object_size (__buf, 1)) == (long unsigned int) -1) || (((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((long unsigned int) (__buflen)) <= ((__builtin_dynamic_object_size (__buf, 1))) / ((sizeof (char))))) && (((long unsigned int) (__buflen)) <= ((__builtin_dynamic_object_size (__buf, 1))) / ((sizeof (char)))))) ? __ptsname_r_alias (__fd, __buf, __buflen) : ((((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((long unsigned int) (__buflen)) <= (__builtin_dynamic_object_size (__buf, 1)) / (sizeof (char)))) && !(((long unsigned int) (__buflen)) <= (__builtin_dynamic_object_size (__buf, 1)) / (sizeof (char)))) ? __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_dynamic_object_size (__buf, 1)) : __ptsname_r_chk (__fd, __buf, __buflen, __builtin_dynamic_object_size (__buf, 1)))) + + ; +} + + +extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +extern int __wctomb_alias (char *__s, wchar_t __wchar) __asm__ ("" "wctomb") __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__warn_unused_result__)); + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int +__attribute__ ((__nothrow__ , __leaf__)) wctomb (char *__s, wchar_t __wchar) +{ + + + + + + + + if (__builtin_dynamic_object_size (__s, 1) != (size_t) -1 + && 16 > __builtin_dynamic_object_size (__s, 1)) + return __wctomb_chk (__s, __wchar, __builtin_dynamic_object_size (__s, 1)); + return __wctomb_alias (__s, __wchar); +} + + +extern size_t __mbstowcs_chk (wchar_t *__restrict __dst, + const char *__restrict __src, + size_t __len, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __mbstowcs_nulldst (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) __asm__ ("" "mbstowcs") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) __asm__ ("" "mbstowcs") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__mbstowcs_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) + +{ + if (__builtin_constant_p (__dst == ((void *)0)) && __dst == ((void *)0)) + return __mbstowcs_nulldst (__dst, __src, __len); + else + return (((__builtin_constant_p (__builtin_dynamic_object_size (__dst, 1)) && (__builtin_dynamic_object_size (__dst, 1)) == (long unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (wchar_t))))) && (((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (wchar_t)))))) ? __mbstowcs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t)))) && !(((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t)))) ? __mbstowcs_chk_warn (__dst, __src, __len, (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t))) : __mbstowcs_chk (__dst, __src, __len, (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t))))) + ; +} + +extern size_t __wcstombs_chk (char *__restrict __dst, + const wchar_t *__restrict __src, + size_t __len, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __wcstombs_alias (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) __asm__ ("" "wcstombs") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __wcstombs_chk_warn (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__wcstombs_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len"))); + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) + +{ + return (((__builtin_constant_p (__builtin_dynamic_object_size (__dst, 1)) && (__builtin_dynamic_object_size (__dst, 1)) == (long unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (char))))) && (((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (char)))))) ? __wcstombs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (char)))) && !(((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (char)))) ? __wcstombs_chk_warn (__dst, __src, __len, __builtin_dynamic_object_size (__dst, 1)) : __wcstombs_chk (__dst, __src, __len, __builtin_dynamic_object_size (__dst, 1)))) + + ; +} +# 1160 "/usr/include/stdlib.h" 2 3 4 + + + + + + + + +# 7 "include/generic.h" 2 + +# 1 "/usr/include/string.h" 1 3 4 +# 26 "/usr/include/string.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/string.h" 2 3 4 + + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 34 "/usr/include/string.h" 2 3 4 +# 43 "/usr/include/string.h" 3 4 +extern void *memcpy (void *__restrict __dest, const void *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void *memmove (void *__dest, const void *__src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern void *memccpy (void *__restrict __dest, const void *__restrict __src, + int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 4))); + + + + +extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern int memcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 80 "/usr/include/string.h" 3 4 +extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 107 "/usr/include/string.h" 3 4 +extern void *memchr (const void *__s, int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 141 "/usr/include/string.h" 3 4 +extern char *strcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern char *strcat (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncat (char *__restrict __dest, const char *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int strncmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcoll (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern size_t strxfrm (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +# 1 "/usr/include/bits/types/locale_t.h" 1 3 4 +# 22 "/usr/include/bits/types/locale_t.h" 3 4 +# 1 "/usr/include/bits/types/__locale_t.h" 1 3 4 +# 27 "/usr/include/bits/types/__locale_t.h" 3 4 +struct __locale_struct +{ + + struct __locale_data *__locales[13]; + + + const unsigned short int *__ctype_b; + const int *__ctype_tolower; + const int *__ctype_toupper; + + + const char *__names[13]; +}; + +typedef struct __locale_struct *__locale_t; +# 23 "/usr/include/bits/types/locale_t.h" 2 3 4 + +typedef __locale_t locale_t; +# 173 "/usr/include/string.h" 2 3 4 + + +extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + +extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, + locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + + + +extern char *strdup (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern char *strndup (const char *__string, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); +# 246 "/usr/include/string.h" 3 4 +extern char *strchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 273 "/usr/include/string.h" 3 4 +extern char *strrchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 286 "/usr/include/string.h" 3 4 +extern char *strchrnul (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern size_t strcspn (const char *__s, const char *__reject) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern size_t strspn (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 323 "/usr/include/string.h" 3 4 +extern char *strpbrk (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 350 "/usr/include/string.h" 3 4 +extern char *strstr (const char *__haystack, const char *__needle) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strtok (char *__restrict __s, const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *__strtok_r (char *__restrict __s, + const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); + +extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); +# 380 "/usr/include/string.h" 3 4 +extern char *strcasestr (const char *__haystack, const char *__needle) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + + +extern void *memmem (const void *__haystack, size_t __haystacklen, + const void *__needle, size_t __needlelen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))) + __attribute__ ((__access__ (__read_only__, 1, 2))) + __attribute__ ((__access__ (__read_only__, 3, 4))); + + + +extern void *__mempcpy (void *__restrict __dest, + const void *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern void *mempcpy (void *__restrict __dest, + const void *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern size_t strlen (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern size_t strnlen (const char *__string, size_t __maxlen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern char *strerror (int __errnum) __attribute__ ((__nothrow__ , __leaf__)); +# 432 "/usr/include/string.h" 3 4 +extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__nonnull__ (2))) + __attribute__ ((__access__ (__write_only__, 2, 3))); +# 458 "/usr/include/string.h" 3 4 +extern char *strerror_l (int __errnum, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); + + + +# 1 "/usr/include/strings.h" 1 3 4 +# 23 "/usr/include/strings.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 24 "/usr/include/strings.h" 2 3 4 + + + + + + + + + + +extern int bcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bcopy (const void *__src, void *__dest, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 68 "/usr/include/strings.h" 3 4 +extern char *index (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 96 "/usr/include/strings.h" 3 4 +extern char *rindex (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int ffs (int __i) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + + + +extern int ffsl (long int __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +__extension__ extern int ffsll (long long int __ll) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + +extern int strcasecmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + +extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + + +extern int strncasecmp_l (const char *__s1, const char *__s2, + size_t __n, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); + + + + + + + + +# 1 "/usr/include/bits/strings_fortified.h" 1 3 4 +# 22 "/usr/include/bits/strings_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void +__attribute__ ((__nothrow__ , __leaf__)) bcopy (const void *__src, void *__dest, size_t __len) +{ + (void) __builtin___memmove_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 0)); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void +__attribute__ ((__nothrow__ , __leaf__)) bzero (void *__dest, size_t __len) +{ + (void) __builtin___memset_chk (__dest, '\0', __len, + __builtin_dynamic_object_size (__dest, 0)); +} +# 145 "/usr/include/strings.h" 2 3 4 +# 463 "/usr/include/string.h" 2 3 4 + + + +extern void explicit_bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) + __attribute__ ((__access__ (__write_only__, 1))); + + + +extern char *strsep (char **__restrict __stringp, + const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__)); +# 489 "/usr/include/string.h" 3 4 +extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + +extern char *__stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern size_t strlcpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +extern size_t strlcat (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__read_write__, 1, 3))); +# 548 "/usr/include/string.h" 3 4 +# 1 "/usr/include/bits/string_fortified.h" 1 3 4 +# 25 "/usr/include/bits/string_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * +__attribute__ ((__nothrow__ , __leaf__)) memcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) + +{ + return __builtin___memcpy_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 0)); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * +__attribute__ ((__nothrow__ , __leaf__)) memmove (void *__dest, const void *__src, size_t __len) +{ + return __builtin___memmove_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 0)); +} +# 56 "/usr/include/bits/string_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * +__attribute__ ((__nothrow__ , __leaf__)) memset (void *__dest, int __ch, size_t __len) +{ + return __builtin___memset_chk (__dest, __ch, __len, + __builtin_dynamic_object_size (__dest, 0)); +} + + + + +void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1))); + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void +__attribute__ ((__nothrow__ , __leaf__)) explicit_bzero (void *__dest, size_t __len) +{ + __explicit_bzero_chk (__dest, __len, __builtin_dynamic_object_size (__dest, 0)); +} + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strcpy (char *__restrict __dest, const char *__restrict __src) +{ + return __builtin___strcpy_chk (__dest, __src, __builtin_dynamic_object_size (__dest, 1)); +} + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) stpcpy (char *__restrict __dest, const char *__restrict __src) +{ + return __builtin___stpcpy_chk (__dest, __src, __builtin_dynamic_object_size (__dest, 1)); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strncpy (char *__restrict __dest, const char *__restrict __src, size_t __len) + +{ + return __builtin___strncpy_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 1)); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) stpncpy (char *__dest, const char *__src, size_t __n) +{ + return __builtin___stpncpy_chk (__dest, __src, __n, + __builtin_dynamic_object_size (__dest, 1)); +} +# 127 "/usr/include/bits/string_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strcat (char *__restrict __dest, const char *__restrict __src) +{ + return __builtin___strcat_chk (__dest, __src, __builtin_dynamic_object_size (__dest, 1)); +} + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strncat (char *__restrict __dest, const char *__restrict __src, size_t __len) + +{ + return __builtin___strncat_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 1)); +} + + +extern size_t __strlcpy_chk (char *__dest, const char *__src, size_t __n, + size_t __destlen) __attribute__ ((__nothrow__ , __leaf__)); +extern size_t __strlcpy_alias (char *__dest, const char *__src, size_t __n) __asm__ ("" "strlcpy") __attribute__ ((__nothrow__ , __leaf__)) + + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) strlcpy (char *__restrict __dest, const char *__restrict __src, size_t __n) + +{ + if (__builtin_dynamic_object_size (__dest, 1) != (size_t) -1 + && (!__builtin_constant_p (__n > __builtin_dynamic_object_size (__dest, 1)) + || __n > __builtin_dynamic_object_size (__dest, 1))) + return __strlcpy_chk (__dest, __src, __n, __builtin_dynamic_object_size (__dest, 1)); + return __strlcpy_alias (__dest, __src, __n); +} + +extern size_t __strlcat_chk (char *__dest, const char *__src, size_t __n, + size_t __destlen) __attribute__ ((__nothrow__ , __leaf__)); +extern size_t __strlcat_alias (char *__dest, const char *__src, size_t __n) __asm__ ("" "strlcat") __attribute__ ((__nothrow__ , __leaf__)) + + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) strlcat (char *__restrict __dest, const char *__restrict __src, size_t __n) + +{ + if (__builtin_dynamic_object_size (__dest, 1) != (size_t) -1 + && (!__builtin_constant_p (__n > __builtin_dynamic_object_size (__dest, 1)) + || __n > __builtin_dynamic_object_size (__dest, 1))) + return __strlcat_chk (__dest, __src, __n, __builtin_dynamic_object_size (__dest, 1)); + return __strlcat_alias (__dest, __src, __n); +} +# 549 "/usr/include/string.h" 2 3 4 + + + + +# 9 "include/generic.h" 2 +# 1 "/usr/include/inttypes.h" 1 3 4 +# 34 "/usr/include/inttypes.h" 3 4 +typedef int __gwchar_t; +# 327 "/usr/include/inttypes.h" 3 4 + + + + + +typedef struct + { + long int quot; + long int rem; + } imaxdiv_t; +# 351 "/usr/include/inttypes.h" 3 4 +extern intmax_t imaxabs (intmax_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + +extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + +extern intmax_t strtoimax (const char *__restrict __nptr, + char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); + + +extern uintmax_t strtoumax (const char *__restrict __nptr, + char ** __restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); + + +extern intmax_t wcstoimax (const __gwchar_t *__restrict __nptr, + __gwchar_t **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)); + + +extern uintmax_t wcstoumax (const __gwchar_t *__restrict __nptr, + __gwchar_t ** __restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)); +# 415 "/usr/include/inttypes.h" 3 4 + +# 10 "include/generic.h" 2 +# 80 "include/generic.h" + +# 80 "include/generic.h" +void __chk_free_impl (const char* fn, void* ptr); +void __chk_free_impl_nofn (void* ptr); +void* __chk_calloc_impl (const char* fn, size_t nmemb, size_t size); +void* __chk_realloc_impl (const char* fn, void* ptr, size_t size); + + +void dbg_mem_dump_stats (void); +# 2 "src/main.c" 2 +# 1 "include/lexer.h" 1 + + + +# 1 "include/array.h" 1 + +# 11 "include/array.h" +typedef struct array_impl *array_t; +typedef void (*array_free_callback_t)(void* item); + +__attribute__((warn_unused_result)) +array_t array_new (void); + +__attribute__((warn_unused_result)) +array_t array_new_sized (size_t size); + +__attribute__((nonnull (1))) +void* array_insert (array_t, size_t idx, void* item); + +__attribute__((nonnull (1))) +void* array_remove (array_t, size_t idx); + +__attribute__((nonnull (1), warn_unused_result)) +void* array_pop (array_t); + +__attribute__((nonnull (1))) +void* array_append (array_t, void* item); + +__attribute__((nonnull)) +void* array_get (array_t, size_t idx); + +__attribute__((nonnull)) +size_t array_length (array_t); + +__attribute__((nonnull (1))) +void array_free_cb (array_t, array_free_callback_t); + +__attribute__((nonnull (1))) +void array_free (array_t); +# 5 "include/lexer.h" 2 + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdbool.h" 1 3 4 +# 8 "include/lexer.h" 2 + +typedef struct lexer_impl +{ + array_t memstreams; + array_t lexeme_arrays; +} *lexer_t; + +struct compilation_args; + +__attribute__((warn_unused_result)) +lexer_t lex_ctx_new (struct compilation_args* comp_args); + +__attribute__((nonnull)) +void lex_ctx_load_file (lexer_t, fptr_t file, const char* const path); + +__attribute__((nonnull)) +uint64_t lex_ctx_process (lexer_t lexer); + +__attribute__((nonnull)) +void lex_ctx_free (lexer_t lexer); + +enum lexeme_type +{ + NumericLiteral, + FloatingLiteral, + StringLiteral, + CharacterLiteral, + Identifier, + LeftParen, RightParen, + LeftBrace, RightBrace, + Dot, + Add, Minus, Div, Star, Modulus, + AddAssign, MinusAssign, DivAssign, StarAssign, ModulusAssign, + Increment, Decrement, + LogicalOr, LogicalAnd, + Assign, AssignAssign, + Not, NotAssign, + BitwiseOr, BitwiseAnd, BitwiseXor, + BitwiseOrAssign, BitwiseAndAssign, BitwiseXorAssign, + BitwiseNegate, + BwdSlash, Newline, Semi, EndOfFile, + Comment, MultiComment +}; + +typedef struct +{ + uint64_t length; + uint64_t stream_offs; + enum lexeme_type type; +} *lexeme_t; +# 3 "src/main.c" 2 +# 1 "include/tokenizer.h" 1 + + + + +typedef struct tkn_impl* tkn_t; + +__attribute__((nonnull)) +void tkn_free (tkn_t); + +void tkn_process (tkn_t); + +__attribute__((malloc (tkn_free), nonnull)) +tkn_t tkn_new (lexer_t); +# 4 "src/main.c" 2 +# 1 "include/diagnostics.h" 1 + + + + + + + +struct compilation_args +{ + struct + { + +# 12 "include/diagnostics.h" 3 4 + _Bool +# 12 "include/diagnostics.h" + warn_multichar: 1; + } warn_flags; + struct + { + +# 16 "include/diagnostics.h" 3 4 + _Bool +# 16 "include/diagnostics.h" + tokenize_comments: 1; + } parse_flags; + char** filenames; + size_t nr_filenames; +}; + +enum diagn_type +{ + DiagnosticWarning, + DiagnosticError, + DiagnosticNote +}; + +struct diagnostic; +typedef struct diagnostic_impl* diagn_t; + +__attribute__((nonnull)) +void diagn_free (diagn_t); + +__attribute__((warn_unused_result, malloc (diagn_free))) +diagn_t diagn_new (struct compilation_args* comp_args, uint8_t* src_stream, + const char* const path); + +__attribute__((nonnull (1, 4), format (printf, 5, 6))) +void diagn_push (diagn_t, const char* warn_name_opt, enum diagn_type type, + lexeme_t lexeme, const char* fmt, ...); + +__attribute__((nonnull)) +uint64_t diagn_flush (diagn_t, fptr_t file); +# 5 "src/main.c" 2 + + +# 1 "/usr/include/argp.h" 1 3 4 +# 24 "/usr/include/argp.h" 3 4 +# 1 "/usr/include/ctype.h" 1 3 4 +# 28 "/usr/include/ctype.h" 3 4 + +# 46 "/usr/include/ctype.h" 3 4 + +# 46 "/usr/include/ctype.h" 3 4 +enum +{ + _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), + _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), + _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), + _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), + _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), + _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), + _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), + _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), + _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), + _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), + _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), + _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) +}; +# 79 "/usr/include/ctype.h" 3 4 +extern const unsigned short int **__ctype_b_loc (void) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +extern const __int32_t **__ctype_tolower_loc (void) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +extern const __int32_t **__ctype_toupper_loc (void) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +# 108 "/usr/include/ctype.h" 3 4 +extern int isalnum (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isalpha (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int iscntrl (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isdigit (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int islower (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isgraph (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isprint (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int ispunct (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isspace (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isupper (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isxdigit (int) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int tolower (int __c) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int toupper (int __c) __attribute__ ((__nothrow__ , __leaf__)); + + + + +extern int isblank (int) __attribute__ ((__nothrow__ , __leaf__)); +# 142 "/usr/include/ctype.h" 3 4 +extern int isascii (int __c) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int toascii (int __c) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int _toupper (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int _tolower (int) __attribute__ ((__nothrow__ , __leaf__)); +# 206 "/usr/include/ctype.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) tolower (int __c) +{ + return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c; +} + +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) toupper (int __c) +{ + return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c; +} +# 251 "/usr/include/ctype.h" 3 4 +extern int isalnum_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isalpha_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int iscntrl_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isdigit_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int islower_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isgraph_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isprint_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int ispunct_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isspace_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isupper_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isxdigit_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); + +extern int isblank_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int __tolower_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); +extern int tolower_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int __toupper_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); +extern int toupper_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); +# 327 "/usr/include/ctype.h" 3 4 + +# 25 "/usr/include/argp.h" 2 3 4 +# 1 "/usr/include/getopt.h" 1 3 4 +# 35 "/usr/include/getopt.h" 3 4 +# 1 "/usr/include/bits/getopt_core.h" 1 3 4 +# 28 "/usr/include/bits/getopt_core.h" 3 4 + + + + + + + + +extern char *optarg; +# 50 "/usr/include/bits/getopt_core.h" 3 4 +extern int optind; + + + + +extern int opterr; + + + +extern int optopt; +# 91 "/usr/include/bits/getopt_core.h" 3 4 +extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); + + +# 36 "/usr/include/getopt.h" 2 3 4 +# 1 "/usr/include/bits/getopt_ext.h" 1 3 4 +# 27 "/usr/include/bits/getopt_ext.h" 3 4 + +# 50 "/usr/include/bits/getopt_ext.h" 3 4 +struct option +{ + const char *name; + + + int has_arg; + int *flag; + int val; +}; + + + + + + + +extern int getopt_long (int ___argc, char *const *___argv, + const char *__shortopts, + const struct option *__longopts, int *__longind) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); +extern int getopt_long_only (int ___argc, char *const *___argv, + const char *__shortopts, + const struct option *__longopts, int *__longind) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); + + +# 37 "/usr/include/getopt.h" 2 3 4 +# 26 "/usr/include/argp.h" 2 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/limits.h" 1 3 4 +# 34 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/limits.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/syslimits.h" 1 3 4 + + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/limits.h" 1 3 4 +# 205 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/limits.h" 3 4 +# 1 "/usr/include/limits.h" 1 3 4 +# 26 "/usr/include/limits.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/limits.h" 2 3 4 +# 195 "/usr/include/limits.h" 3 4 +# 1 "/usr/include/bits/posix1_lim.h" 1 3 4 +# 27 "/usr/include/bits/posix1_lim.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 28 "/usr/include/bits/posix1_lim.h" 2 3 4 +# 161 "/usr/include/bits/posix1_lim.h" 3 4 +# 1 "/usr/include/bits/local_lim.h" 1 3 4 +# 38 "/usr/include/bits/local_lim.h" 3 4 +# 1 "/usr/include/linux/limits.h" 1 3 4 +# 39 "/usr/include/bits/local_lim.h" 2 3 4 +# 81 "/usr/include/bits/local_lim.h" 3 4 +# 1 "/usr/include/bits/pthread_stack_min-dynamic.h" 1 3 4 +# 29 "/usr/include/bits/pthread_stack_min-dynamic.h" 3 4 +# 1 "/usr/include/bits/pthread_stack_min.h" 1 3 4 +# 30 "/usr/include/bits/pthread_stack_min-dynamic.h" 2 3 4 +# 82 "/usr/include/bits/local_lim.h" 2 3 4 +# 162 "/usr/include/bits/posix1_lim.h" 2 3 4 +# 196 "/usr/include/limits.h" 2 3 4 + + + +# 1 "/usr/include/bits/posix2_lim.h" 1 3 4 +# 200 "/usr/include/limits.h" 2 3 4 +# 206 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/limits.h" 2 3 4 +# 8 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/syslimits.h" 2 3 4 +# 35 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/limits.h" 2 3 4 +# 27 "/usr/include/argp.h" 2 3 4 + + + + + + + + +typedef int error_t; + + + + + + + +struct argp_option +{ + + + const char *name; + + + + int key; + + + + const char *arg; + + + int flags; + + + + + + const char *doc; +# 73 "/usr/include/argp.h" 3 4 + int group; +}; +# 108 "/usr/include/argp.h" 3 4 +struct argp; +struct argp_state; +struct argp_child; + + +typedef error_t (*argp_parser_t) (int __key, char *__arg, + struct argp_state *__state); +# 182 "/usr/include/argp.h" 3 4 +struct argp +{ + + + const struct argp_option *options; +# 195 "/usr/include/argp.h" 3 4 + argp_parser_t parser; + + + + + + + const char *args_doc; + + + + + const char *doc; + + + + + + + + const struct argp_child *children; +# 227 "/usr/include/argp.h" 3 4 + char *(*help_filter) (int __key, const char *__text, void *__input); + + + + + const char *argp_domain; +}; +# 248 "/usr/include/argp.h" 3 4 +struct argp_child +{ + + const struct argp *argp; + + + int flags; + + + + + + const char *header; + + + + + + + + int group; +}; + + + +struct argp_state +{ + + const struct argp *root_argp; + + + int argc; + char **argv; + + + int next; + + + unsigned flags; + + + + + + unsigned arg_num; + + + + + int quoted; + + + void *input; + + + void **child_inputs; + + + void *hook; + + + + char *name; + + + FILE *err_stream; + FILE *out_stream; + + void *pstate; +}; +# 370 "/usr/include/argp.h" 3 4 +extern error_t argp_parse (const struct argp *__restrict __argp, + int __argc, char **__restrict __argv, + unsigned __flags, int *__restrict __arg_index, + void *__restrict __input); +extern error_t __argp_parse (const struct argp *__restrict __argp, + int __argc, char **__restrict __argv, + unsigned __flags, int *__restrict __arg_index, + void *__restrict __input); + + + + + + + +extern const char *argp_program_version; + + + + + + +extern void (*argp_program_version_hook) (FILE *__restrict __stream, + struct argp_state *__restrict + __state); + + + + + + +extern const char *argp_program_bug_address; + + + + +extern error_t argp_err_exit_status; +# 439 "/usr/include/argp.h" 3 4 +extern void argp_help (const struct argp *__restrict __argp, + FILE *__restrict __stream, + unsigned __flags, char *__restrict __name); +extern void __argp_help (const struct argp *__restrict __argp, + FILE *__restrict __stream, unsigned __flags, + char *__name); +# 456 "/usr/include/argp.h" 3 4 +extern void argp_state_help (const struct argp_state *__restrict __state, + FILE *__restrict __stream, + unsigned int __flags); +extern void __argp_state_help (const struct argp_state *__restrict __state, + FILE *__restrict __stream, + unsigned int __flags); + + +extern void argp_usage (const struct argp_state *__state); +extern void __argp_usage (const struct argp_state *__state); + + + + +extern void argp_error (const struct argp_state *__restrict __state, + const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); +extern void __argp_error (const struct argp_state *__restrict __state, + const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); +# 485 "/usr/include/argp.h" 3 4 +extern void argp_failure (const struct argp_state *__restrict __state, + int __status, int __errnum, + const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 4, 5))); +extern void __argp_failure (const struct argp_state *__restrict __state, + int __status, int __errnum, + const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 4, 5))); + + +extern int _option_is_short (const struct argp_option *__opt) __attribute__ ((__nothrow__ , __leaf__)); +extern int __option_is_short (const struct argp_option *__opt) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int _option_is_end (const struct argp_option *__opt) __attribute__ ((__nothrow__ , __leaf__)); +extern int __option_is_end (const struct argp_option *__opt) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern void *_argp_input (const struct argp *__restrict __argp, + const struct argp_state *__restrict __state) + __attribute__ ((__nothrow__ , __leaf__)); +extern void *__argp_input (const struct argp *__restrict __argp, + const struct argp_state *__restrict __state) + __attribute__ ((__nothrow__ , __leaf__)); +# 525 "/usr/include/argp.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) void +argp_usage (const struct argp_state *__state) +{ + argp_state_help (__state, stderr, (0x02 | 0x04 | 0x100)); +} + +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) _option_is_short (const struct argp_option *__opt) +{ + if (__opt->flags & 0x8) + return 0; + else + { + int __key = __opt->key; + return __key > 0 && __key <= (0x7f * 2 + 1) && ((*__ctype_b_loc ())[(int) ((__key))] & (unsigned short int) _ISprint); + } +} + +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) _option_is_end (const struct argp_option *__opt) +{ + return !__opt->key && !__opt->name && !__opt->doc && !__opt->group; +} +# 562 "/usr/include/argp.h" 3 4 + +# 8 "src/main.c" 2 + + + + +# 11 "src/main.c" +const char* arg_program_version = "0.2.0"; +const char *argp_program_bug_address = ""; +static char doc[] = "C compiler written in C"; +static char args_doc[] = "[FILENAMES...]"; + +static struct argp_option options[] = { + { "warn", 'W', "WARNING", 0, "Toggle specific warning conditions", 0 }, + { "compiler", 'C', "COMPILER", 0, "Toggle specific compilation flags", 0}, + { 0 } +}; + +static +# 22 "src/main.c" 3 4 + _Bool + +# 23 "src/main.c" +parse_warning_opt (struct compilation_args* args, char* arg) +{ + +# 25 "src/main.c" 3 4 + _Bool +# 25 "src/main.c" + invert = +# 25 "src/main.c" 3 4 + 1 +# 25 "src/main.c" + ; + +# 26 "src/main.c" 3 4 + _Bool +# 26 "src/main.c" + is_valid_flag = +# 26 "src/main.c" 3 4 + 0 +# 26 "src/main.c" + ; + if (!strncmp (arg, "no-", 3)) + { + invert = +# 29 "src/main.c" 3 4 + 0 +# 29 "src/main.c" + ; + arg += 3; + } + if (!strcmp (arg, "multichar")) + { + args->warn_flags.warn_multichar = invert; + is_valid_flag = +# 35 "src/main.c" 3 4 + 1 +# 35 "src/main.c" + ; + } + return is_valid_flag; +} + +static +# 40 "src/main.c" 3 4 + _Bool + +# 41 "src/main.c" +parse_compiler_opt (struct compilation_args* args, char* arg) +{ + +# 43 "src/main.c" 3 4 + _Bool +# 43 "src/main.c" + invert = +# 43 "src/main.c" 3 4 + 1 +# 43 "src/main.c" + ; + +# 44 "src/main.c" 3 4 + _Bool +# 44 "src/main.c" + is_valid_flag = +# 44 "src/main.c" 3 4 + 0 +# 44 "src/main.c" + ; + if (!strncmp (arg, "no-", 3)) + { + invert = +# 47 "src/main.c" 3 4 + 0 +# 47 "src/main.c" + ; + arg += 3; + } + if (!strcmp (arg, "tokenize-comments")) + { + args->parse_flags.tokenize_comments = invert; + is_valid_flag = +# 53 "src/main.c" 3 4 + 1 +# 53 "src/main.c" + ; + } + return is_valid_flag; +} + +static error_t +parse_opt (int key, char* arg, struct argp_state* state) +{ + struct compilation_args* arguments = state->input; + switch (key) + { + case +# 64 "src/main.c" 3 4 + 0 +# 64 "src/main.c" + : + arguments->filenames = &state->argv[state->next - 1]; + arguments->nr_filenames = (uint32_t)(state->argc - state->next) + 1; + state->next = state->argc; + break; + case 'W': + if (arg == +# 70 "src/main.c" 3 4 + ((void *)0) +# 70 "src/main.c" + ) + argp_error (state, "The -W flag requires a valid warning specifier"); + if (!parse_warning_opt (arguments, arg)) + argp_error (state, "Unknown warning specifier \"%s\"", arg); + break; + case 'C': + if (arg == +# 76 "src/main.c" 3 4 + ((void *)0) +# 76 "src/main.c" + ) + argp_error (state, "The -C flag requires a valid compilation flag specifier"); + if (!parse_compiler_opt (arguments, arg)) + argp_error (state, "Unknown compilation flag \"%s\"", arg); + break; + case +# 81 "src/main.c" 3 4 + 0x1000001 +# 81 "src/main.c" + : + if (state->arg_num < 1) + { + argp_usage (state); + exit ( +# 85 "src/main.c" 3 4 + 1 +# 85 "src/main.c" + ); + } + break; + default: + return +# 89 "src/main.c" 3 4 + 7 +# 89 "src/main.c" + ; + } + return 0; +} + +static struct argp argp = { + options, parse_opt, args_doc, doc, +# 95 "src/main.c" 3 4 + ((void *)0) +# 95 "src/main.c" + , +# 95 "src/main.c" 3 4 + ((void *)0) +# 95 "src/main.c" + , +# 95 "src/main.c" 3 4 + ((void *)0) + +# 96 "src/main.c" +}; + +static void +set_default_flags (struct compilation_args* args) +{ + args->parse_flags.tokenize_comments = +# 101 "src/main.c" 3 4 + 0 +# 101 "src/main.c" + ; + args->warn_flags.warn_multichar = +# 102 "src/main.c" 3 4 + 1 +# 102 "src/main.c" + ; +} + + +static void +dbg_dump_comp_args (struct compilation_args* args) +{ + fprintf (( +# 109 "src/main.c" 3 4 + stdout +# 109 "src/main.c" + ), "\033[1;" "37m" "%s:%" +# 109 "src/main.c" 3 4 + "u" +# 109 "src/main.c" + "\033[0m" ": " "\033[0;" "34m" "log: " "\033[0m" "Compilation flags:" "\n", "src/main.c", 109); + fprintf (( +# 110 "src/main.c" 3 4 + stdout +# 110 "src/main.c" + ), "\033[1;" "37m" "%s:%" +# 110 "src/main.c" 3 4 + "u" +# 110 "src/main.c" + "\033[0m" ": " "\033[0;" "34m" "log: " "\033[0m" "\tTokenize comments? %s" "\n", "src/main.c", 110, args->parse_flags.tokenize_comments? "Yes": "No"); + fprintf (( +# 111 "src/main.c" 3 4 + stdout +# 111 "src/main.c" + ), "\033[1;" "37m" "%s:%" +# 111 "src/main.c" 3 4 + "u" +# 111 "src/main.c" + "\033[0m" ": " "\033[0;" "34m" "log: " "\033[0m" "Warnings:" "\n", "src/main.c", 111); + fprintf (( +# 112 "src/main.c" 3 4 + stdout +# 112 "src/main.c" + ), "\033[1;" "37m" "%s:%" +# 112 "src/main.c" 3 4 + "u" +# 112 "src/main.c" + "\033[0m" ": " "\033[0;" "34m" "log: " "\033[0m" "\tWarn on multi-char. character literals? %s" "\n", "src/main.c", 112, args->warn_flags.warn_multichar? "Yes": "No"); +} + + +int +main (int argc, char **argv) +{ + struct compilation_args args = { 0 }; + set_default_flags (&args); + argp_parse (&argp, argc, argv, 0, 0, &args); + + dbg_dump_comp_args (&args); + + fprintf (( +# 125 "src/main.c" 3 4 + stdout +# 125 "src/main.c" + ), "\033[1;" "37m" "%s:%" +# 125 "src/main.c" 3 4 + "u" +# 125 "src/main.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "Read in " "\033[1;" "37m" "%zu" "\033[0m" " filename(s):" "\n", "src/main.c", 125, args.nr_filenames); + + for (size_t i = 0; i < args.nr_filenames; ++i) + fprintf (( +# 128 "src/main.c" 3 4 + stdout +# 128 "src/main.c" + ), "\033[1;" "37m" "%s:%" +# 128 "src/main.c" 3 4 + "u" +# 128 "src/main.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "%zu. " "\033[1;" "37m" "%s" "\033[0m" "\n", "src/main.c", 128, i, args.filenames[i]); + __extension__ __auto_type lexer = lex_ctx_new (&args); + for (size_t i = 0; i < args.nr_filenames; ++i) + { + __extension__ __auto_type fptr = io_open_file (args.filenames[i], "r"); + if (fptr != +# 133 "src/main.c" 3 4 + ((void *)0) +# 133 "src/main.c" + ) + { + lex_ctx_load_file (lexer, fptr, args.filenames[i]); + io_close_file (fptr); + } + } + __extension__ __auto_type nr_errors = lex_ctx_process (lexer); + __extension__ __auto_type tokenizer = tkn_new (lexer); + if (nr_errors > 0) + { + fprintf (( +# 143 "src/main.c" 3 4 + stdout +# 143 "src/main.c" + ), "\033[1;" "37m" "%s:%" +# 143 "src/main.c" 3 4 + "u" +# 143 "src/main.c" + "\033[0m" ": " "\033[0;" "34m" "log: " "\033[0m" "encountered %" +# 143 "src/main.c" 3 4 + "l" "u" +# 143 "src/main.c" + " error(s) during lexing, exiting" "\n", "src/main.c", 143, nr_errors) + ; + goto finalize; + } + +finalize: + tkn_free (tokenizer); + lex_ctx_free (lexer); + + dbg_mem_dump_stats (); + + return +# 154 "src/main.c" 3 4 + 0 +# 154 "src/main.c" + ; +} diff --git a/build/main.o b/build/main.o new file mode 100644 index 0000000..4cd91ed Binary files /dev/null and b/build/main.o differ diff --git a/build/main.s b/build/main.s new file mode 100644 index 0000000..20c3a4a --- /dev/null +++ b/build/main.s @@ -0,0 +1,8954 @@ + .file "main.c" + .text +.Ltext0: + .file 0 "/home/unazed/Programming/c/ucc-0.2.0" "src/main.c" + .section .rodata + .align 32 +.LC0: + .string "Yes" + .zero 60 + .align 32 +.LC1: + .string "No" + .zero 61 + .align 32 +.LC2: + .string "src/main.c" + .zero 53 + .align 32 +.LC3: + .string "\033[1;37m%s:%u\033[0m: \033[0;34mlog: \033[0mCompilation flags:\n" + .zero 42 + .align 32 +.LC4: + .string "\033[1;37m%s:%u\033[0m: \033[0;34mlog: \033[0m\tTokenize comments? %s\n" + .zero 38 + .align 32 +.LC5: + .string "\033[1;37m%s:%u\033[0m: \033[0;34mlog: \033[0mWarnings:\n" + .zero 51 + .align 32 +.LC6: + .string "\033[1;37m%s:%u\033[0m: \033[0;34mlog: \033[0m\tWarn on multi-char. character literals? %s\n" + .zero 49 + .text + .type dbg_dump_comp_args, @function +dbg_dump_comp_args: +.LASANPC62: +.LVL0: +.LFB62: + .file 1 "src/main.c" + .loc 1 108 1 view -0 + .cfi_startproc + .loc 1 108 1 is_stmt 0 view .LVU1 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 13, -24 + .cfi_offset 12, -32 + .cfi_offset 3, -40 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + .loc 1 109 3 is_stmt 1 view .LVU2 + leaq stdout(%rip), %rdi +.LVL1: + .loc 1 109 3 is_stmt 0 view .LVU3 + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L19 + movq stdout(%rip), %r12 + testq %r12, %r12 + je .L20 +.L3: +.LVL2: +.LBB21: +.LBI21: + .file 2 "/usr/include/bits/stdio2.h" + .loc 2 77 1 is_stmt 1 view .LVU4 +.LBB22: + .loc 2 79 3 view .LVU5 + .loc 2 79 10 is_stmt 0 view .LVU6 + movl $109, %r8d + leaq .LC2(%rip), %rcx + leaq .LC3(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL3: + .loc 2 79 10 view .LVU7 +.LBE22: +.LBE21: + .loc 1 110 3 is_stmt 1 view .LVU8 + .loc 1 110 137 is_stmt 0 view .LVU9 + testq %rbx, %rbx + je .L4 + testb $7, %bl + jne .L4 +.L5: + leaq 1(%rbx), %rdx + cmpq $-1, %rbx + jnb .L21 +.L6: + .loc 1 110 3 view .LVU10 + testb $1, 1(%rbx) + je .L17 + .loc 1 110 3 discriminator 1 view .LVU11 + leaq .LC0(%rip), %r13 +.L7: + .loc 1 110 3 discriminator 4 view .LVU12 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L22 + movq stdout(%rip), %r12 + testq %r12, %r12 + je .L23 +.L9: +.LVL4: +.LBB23: +.LBI23: + .loc 2 77 1 is_stmt 1 view .LVU13 +.LBB24: + .loc 2 79 3 view .LVU14 + .loc 2 79 10 is_stmt 0 view .LVU15 + movq %r13, %r9 + movl $110, %r8d + leaq .LC2(%rip), %rcx + leaq .LC4(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL5: + .loc 2 79 10 view .LVU16 +.LBE24: +.LBE23: + .loc 1 111 3 is_stmt 1 view .LVU17 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L24 + movq stdout(%rip), %r12 + testq %r12, %r12 + je .L25 +.L11: +.LVL6: +.LBB25: +.LBI25: + .loc 2 77 1 view .LVU18 +.LBB26: + .loc 2 79 3 view .LVU19 + .loc 2 79 10 is_stmt 0 view .LVU20 + movl $111, %r8d + leaq .LC2(%rip), %rcx + leaq .LC5(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL7: + .loc 2 79 10 view .LVU21 +.LBE26: +.LBE25: + .loc 1 112 3 is_stmt 1 view .LVU22 + .loc 1 112 154 is_stmt 0 view .LVU23 + testq %rbx, %rbx + je .L12 + testb $7, %bl + jne .L12 +.L13: + .loc 1 112 3 view .LVU24 + testb $1, (%rbx) + je .L18 + .loc 1 112 3 discriminator 1 view .LVU25 + leaq .LC0(%rip), %r12 +.L14: + .loc 1 112 3 discriminator 4 view .LVU26 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L26 + movq stdout(%rip), %rbx +.LVL8: + .loc 1 112 3 discriminator 4 view .LVU27 + testq %rbx, %rbx + je .L27 +.L16: +.LVL9: +.LBB27: +.LBI27: + .loc 2 77 1 is_stmt 1 view .LVU28 +.LBB28: + .loc 2 79 3 view .LVU29 + .loc 2 79 10 is_stmt 0 view .LVU30 + movq %r12, %r9 + movl $112, %r8d + leaq .LC2(%rip), %rcx + leaq .LC6(%rip), %rdx + movl $2, %esi + movq %rbx, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL10: + .loc 2 79 10 view .LVU31 +.LBE28: +.LBE27: + .loc 1 113 1 view .LVU32 + addq $8, %rsp + popq %rbx + popq %r12 + popq %r13 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL11: +.L19: + .cfi_restore_state + .loc 1 109 3 view .LVU33 + call __asan_report_load8@PLT +.LVL12: +.L20: + leaq .Lubsan_data11(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL13: + jmp .L3 +.L4: + .loc 1 110 137 view .LVU34 + movq %rbx, %rsi + leaq .Lubsan_data43(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL14: + jmp .L5 +.L21: + .loc 1 110 137 view .LVU35 + movq %rbx, %rsi + leaq .Lubsan_data44(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL15: + jmp .L6 +.L17: + .loc 1 110 3 discriminator 2 view .LVU36 + leaq .LC1(%rip), %r13 + jmp .L7 +.L22: + .loc 1 110 3 discriminator 4 view .LVU37 + call __asan_report_load8@PLT +.LVL16: +.L23: + leaq .Lubsan_data13(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL17: + jmp .L9 +.L24: + .loc 1 111 3 view .LVU38 + call __asan_report_load8@PLT +.LVL18: +.L25: + leaq .Lubsan_data15(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL19: + jmp .L11 +.L12: + .loc 1 112 154 view .LVU39 + movq %rbx, %rsi + leaq .Lubsan_data45(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL20: + jmp .L13 +.L18: + .loc 1 112 3 discriminator 2 view .LVU40 + leaq .LC1(%rip), %r12 + jmp .L14 +.L26: + .loc 1 112 3 discriminator 4 view .LVU41 + call __asan_report_load8@PLT +.LVL21: +.L27: + .loc 1 112 3 discriminator 4 view .LVU42 + leaq .Lubsan_data17(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL22: + jmp .L16 + .cfi_endproc +.LFE62: + .size dbg_dump_comp_args, .-dbg_dump_comp_args + .type set_default_flags, @function +set_default_flags: +.LASANPC61: +.LVL23: +.LFB61: + .loc 1 100 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 100 1 is_stmt 0 view .LVU44 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %rbx + subq $8, %rsp + .cfi_offset 3, -24 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + .loc 1 101 3 is_stmt 1 view .LVU45 + .loc 1 101 39 is_stmt 0 view .LVU46 + testq %rdi, %rdi + je .L29 + testb $7, %dil + jne .L29 +.LVL24: +.L30: + .loc 1 101 39 view .LVU47 + leaq 1(%rbx), %rdx + cmpq $-1, %rbx + jnb .L36 +.L31: + leaq 1(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %eax + movq %rdi, %rdx + andl $7, %edx + cmpb %dl, %al + jg .L32 + testb %al, %al + jne .L37 +.L32: + movzbl 1(%rbx), %eax + andl $-2, %eax + movb %al, 1(%rbx) + .loc 1 102 3 is_stmt 1 view .LVU48 + .loc 1 102 35 is_stmt 0 view .LVU49 + testq %rbx, %rbx + je .L33 + testb $7, %bl + jne .L33 +.L34: + movq %rbx, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %eax + testb %al, %al + je .L35 + jle .L38 +.L35: + movzbl (%rbx), %eax + orl $1, %eax + movb %al, (%rbx) + .loc 1 103 1 view .LVU50 + addq $8, %rsp + popq %rbx +.LVL25: + .loc 1 103 1 view .LVU51 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL26: +.L29: + .cfi_restore_state + .loc 1 101 39 view .LVU52 + movq %rbx, %rsi + leaq .Lubsan_data46(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL27: + jmp .L30 +.L36: + .loc 1 101 39 view .LVU53 + movq %rbx, %rsi + leaq .Lubsan_data47(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL28: + jmp .L31 +.L37: + .loc 1 101 39 view .LVU54 + call __asan_report_store1@PLT +.LVL29: +.L33: + .loc 1 102 35 view .LVU55 + movq %rbx, %rsi + leaq .Lubsan_data48(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL30: + jmp .L34 +.L38: + .loc 1 102 35 view .LVU56 + movq %rbx, %rdi + call __asan_report_store1@PLT +.LVL31: + .cfi_endproc +.LFE61: + .size set_default_flags, .-set_default_flags + .section .rodata + .align 32 +.LC7: + .string "no-" + .zero 60 + .align 32 +.LC8: + .string "multichar" + .zero 54 + .text + .type parse_warning_opt, @function +parse_warning_opt: +.LASANPC58: +.LVL32: +.LFB58: + .loc 1 24 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 24 1 is_stmt 0 view .LVU58 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 13, -24 + .cfi_offset 12, -32 + .cfi_offset 3, -40 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %r12 + movq %rsi, %rbx + .loc 1 25 2 is_stmt 1 view .LVU59 +.LVL33: + .loc 1 26 2 view .LVU60 + .loc 1 27 3 view .LVU61 + .loc 1 27 8 is_stmt 0 view .LVU62 + testq %rsi, %rsi + je .L50 +.LVL34: +.L40: + .loc 1 27 8 view .LVU63 + movl $3, %edx + leaq .LC7(%rip), %rsi + movq %rbx, %rdi + call strncmp@PLT +.LVL35: + .loc 1 27 6 discriminator 1 view .LVU64 + testl %eax, %eax + jne .L41 + .loc 1 29 7 is_stmt 1 view .LVU65 +.LVL36: + .loc 1 30 7 view .LVU66 + .loc 1 30 11 is_stmt 0 view .LVU67 + leaq 3(%rbx), %rdx + cmpq $-3, %rbx + jnb .L51 +.L42: + addq $3, %rbx +.LVL37: + .loc 1 32 3 is_stmt 1 view .LVU68 + .loc 1 29 14 is_stmt 0 view .LVU69 + movl $0, %r13d +.LVL38: +.L43: + .loc 1 32 8 view .LVU70 + leaq .LC8(%rip), %rsi + movq %rbx, %rdi + call strcmp@PLT +.LVL39: + .loc 1 32 6 discriminator 1 view .LVU71 + testl %eax, %eax + jne .L49 + .loc 1 34 7 is_stmt 1 view .LVU72 + .loc 1 34 39 is_stmt 0 view .LVU73 + testq %r12, %r12 + je .L45 + testb $7, %r12b + jne .L45 +.L46: + .loc 1 34 39 view .LVU74 + movq %r12, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %eax + testb %al, %al + je .L47 + jle .L52 +.L47: + movzbl (%r12), %eax + andl $-2, %eax + orl %eax, %r13d + movb %r13b, (%r12) + .loc 1 35 7 is_stmt 1 view .LVU75 +.LVL40: + .loc 1 35 21 is_stmt 0 view .LVU76 + movl $1, %eax +.LVL41: +.L39: + .loc 1 38 1 view .LVU77 + addq $8, %rsp + popq %rbx +.LVL42: + .loc 1 38 1 view .LVU78 + popq %r12 +.LVL43: + .loc 1 38 1 view .LVU79 + popq %r13 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL44: +.L50: + .cfi_restore_state + .loc 1 27 8 view .LVU80 + leaq .Lubsan_data19(%rip), %rdi +.LVL45: + .loc 1 27 8 view .LVU81 + call __ubsan_handle_nonnull_arg@PLT +.LVL46: + jmp .L40 +.LVL47: +.L51: + .loc 1 30 11 view .LVU82 + movq %rbx, %rsi + leaq .Lubsan_data49(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL48: + jmp .L42 +.LVL49: +.L41: + .loc 1 32 3 is_stmt 1 view .LVU83 + .loc 1 32 8 is_stmt 0 view .LVU84 + testq %rbx, %rbx + je .L53 + movl $1, %r13d + jmp .L43 +.L53: + leaq .Lubsan_data21(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL50: + movl $1, %r13d + jmp .L43 +.LVL51: +.L45: + .loc 1 34 39 view .LVU85 + movq %r12, %rsi + leaq .Lubsan_data50(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL52: + jmp .L46 +.L52: + .loc 1 34 39 view .LVU86 + movq %r12, %rdi + call __asan_report_store1@PLT +.LVL53: +.L49: + .loc 1 26 7 view .LVU87 + movl $0, %eax + .loc 1 37 3 is_stmt 1 view .LVU88 + .loc 1 37 10 is_stmt 0 view .LVU89 + jmp .L39 + .cfi_endproc +.LFE58: + .size parse_warning_opt, .-parse_warning_opt + .section .rodata + .align 32 +.LC9: + .string "tokenize-comments" + .zero 46 + .text + .type parse_compiler_opt, @function +parse_compiler_opt: +.LASANPC59: +.LVL54: +.LFB59: + .loc 1 42 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 42 1 is_stmt 0 view .LVU91 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 13, -24 + .cfi_offset 12, -32 + .cfi_offset 3, -40 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %r12 + movq %rsi, %rbx + .loc 1 43 2 is_stmt 1 view .LVU92 +.LVL55: + .loc 1 44 2 view .LVU93 + .loc 1 45 3 view .LVU94 + .loc 1 45 8 is_stmt 0 view .LVU95 + testq %rsi, %rsi + je .L66 +.LVL56: +.L55: + .loc 1 45 8 view .LVU96 + movl $3, %edx + leaq .LC7(%rip), %rsi + movq %rbx, %rdi + call strncmp@PLT +.LVL57: + .loc 1 45 6 discriminator 1 view .LVU97 + testl %eax, %eax + jne .L56 + .loc 1 47 7 is_stmt 1 view .LVU98 +.LVL58: + .loc 1 48 7 view .LVU99 + .loc 1 48 11 is_stmt 0 view .LVU100 + leaq 3(%rbx), %rdx + cmpq $-3, %rbx + jnb .L67 +.L57: + addq $3, %rbx +.LVL59: + .loc 1 50 3 is_stmt 1 view .LVU101 + .loc 1 47 14 is_stmt 0 view .LVU102 + movl $0, %r13d +.LVL60: +.L58: + .loc 1 50 8 view .LVU103 + leaq .LC9(%rip), %rsi + movq %rbx, %rdi + call strcmp@PLT +.LVL61: + .loc 1 50 6 discriminator 1 view .LVU104 + testl %eax, %eax + jne .L65 + .loc 1 52 7 is_stmt 1 view .LVU105 + .loc 1 52 43 is_stmt 0 view .LVU106 + testq %r12, %r12 + je .L60 + testb $7, %r12b + jne .L60 +.L61: + .loc 1 52 43 view .LVU107 + leaq 1(%r12), %rdx + cmpq $-1, %r12 + jnb .L68 +.L62: + leaq 1(%r12), %rdi + movq %rdi, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %eax + movq %rdi, %rdx + andl $7, %edx + cmpb %dl, %al + jg .L63 + testb %al, %al + jne .L69 +.L63: + movzbl 1(%r12), %eax + andl $-2, %eax + orl %eax, %r13d + movb %r13b, 1(%r12) + .loc 1 53 7 is_stmt 1 view .LVU108 +.LVL62: + .loc 1 53 21 is_stmt 0 view .LVU109 + movl $1, %eax +.LVL63: +.L54: + .loc 1 56 1 view .LVU110 + addq $8, %rsp + popq %rbx +.LVL64: + .loc 1 56 1 view .LVU111 + popq %r12 +.LVL65: + .loc 1 56 1 view .LVU112 + popq %r13 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL66: +.L66: + .cfi_restore_state + .loc 1 45 8 view .LVU113 + leaq .Lubsan_data23(%rip), %rdi +.LVL67: + .loc 1 45 8 view .LVU114 + call __ubsan_handle_nonnull_arg@PLT +.LVL68: + jmp .L55 +.LVL69: +.L67: + .loc 1 48 11 view .LVU115 + movq %rbx, %rsi + leaq .Lubsan_data51(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL70: + jmp .L57 +.LVL71: +.L56: + .loc 1 50 3 is_stmt 1 view .LVU116 + .loc 1 50 8 is_stmt 0 view .LVU117 + testq %rbx, %rbx + je .L70 + movl $1, %r13d + jmp .L58 +.L70: + leaq .Lubsan_data25(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL72: + movl $1, %r13d + jmp .L58 +.LVL73: +.L60: + .loc 1 52 43 view .LVU118 + movq %r12, %rsi + leaq .Lubsan_data52(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL74: + jmp .L61 +.L68: + .loc 1 52 43 view .LVU119 + movq %r12, %rsi + leaq .Lubsan_data53(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL75: + jmp .L62 +.L69: + .loc 1 52 43 view .LVU120 + call __asan_report_store1@PLT +.LVL76: +.L65: + .loc 1 44 7 view .LVU121 + movl $0, %eax + .loc 1 55 3 is_stmt 1 view .LVU122 + .loc 1 55 10 is_stmt 0 view .LVU123 + jmp .L54 + .cfi_endproc +.LFE59: + .size parse_compiler_opt, .-parse_compiler_opt + .section .rodata + .align 32 +.LC10: + .string "The -W flag requires a valid warning specifier" + .zero 49 + .align 32 +.LC11: + .string "Unknown warning specifier \"%s\"" + .zero 33 + .align 32 +.LC12: + .string "The -C flag requires a valid compilation flag specifier" + .zero 40 + .align 32 +.LC13: + .string "Unknown compilation flag \"%s\"" + .zero 34 + .text + .type parse_opt, @function +parse_opt: +.LASANPC60: +.LVL77: +.LFB60: + .loc 1 60 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 60 1 is_stmt 0 view .LVU125 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $24, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movl %edi, %r12d + movq %rsi, %r14 + movq %rdx, %rbx + .loc 1 61 3 is_stmt 1 view .LVU126 + .loc 1 61 28 is_stmt 0 view .LVU127 + testq %rdx, %rdx + je .L72 + testb $7, %dl + jne .L72 +.LVL78: +.L73: + .loc 1 61 28 view .LVU128 + leaq 40(%rbx), %rdx + cmpq $-40, %rbx + jnb .L119 +.L74: + leaq 40(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L120 + movq 40(%rbx), %r13 +.LVL79: + .loc 1 62 3 is_stmt 1 view .LVU129 + cmpl $87, %r12d + je .L76 + jg .L77 + testl %r12d, %r12d + je .L78 + cmpl $67, %r12d + jne .L121 + .loc 1 76 7 view .LVU130 + .loc 1 76 10 is_stmt 0 view .LVU131 + testq %r14, %r14 + je .L122 +.L111: + .loc 1 78 7 is_stmt 1 view .LVU132 + .loc 1 78 12 is_stmt 0 view .LVU133 + movq %r14, %rsi + movq %r13, %rdi + call parse_compiler_opt +.LVL80: + .loc 1 78 10 discriminator 1 view .LVU134 + testb %al, %al + je .L123 + .loc 1 91 10 view .LVU135 + movl $0, %eax + jmp .L71 +.LVL81: +.L72: + .loc 1 61 28 view .LVU136 + movq %rbx, %rsi +.LVL82: + .loc 1 61 28 view .LVU137 + leaq .Lubsan_data54(%rip), %rdi +.LVL83: + .loc 1 61 28 view .LVU138 + call __ubsan_handle_type_mismatch_v1@PLT +.LVL84: + .loc 1 61 28 view .LVU139 + jmp .L73 +.L119: + .loc 1 61 28 view .LVU140 + movq %rbx, %rsi + leaq .Lubsan_data55(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL85: + jmp .L74 +.L120: + .loc 1 61 28 view .LVU141 + call __asan_report_load8@PLT +.LVL86: +.L121: + .loc 1 62 3 view .LVU142 + movl $7, %eax + jmp .L71 +.L77: + cmpl $16777217, %r12d + jne .L124 + .loc 1 82 7 is_stmt 1 view .LVU143 + .loc 1 82 16 is_stmt 0 view .LVU144 + testq %rbx, %rbx + je .L112 + testb $7, %bl + jne .L112 +.L113: + .loc 1 82 16 view .LVU145 + leaq 32(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %eax + testb %al, %al + je .L114 + cmpb $3, %al + jle .L125 +.L114: + .loc 1 82 10 view .LVU146 + cmpl $0, 32(%rbx) + je .L126 + .loc 1 91 10 view .LVU147 + movl $0, %eax + jmp .L71 +.L124: + .loc 1 62 3 view .LVU148 + movl $7, %eax + jmp .L71 +.L78: + .loc 1 65 7 is_stmt 1 view .LVU149 + .loc 1 65 36 is_stmt 0 view .LVU150 + testq %rbx, %rbx + je .L82 + testb $7, %bl + jne .L82 +.L83: + .loc 1 65 36 view .LVU151 + leaq 16(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L127 + movq 16(%rbx), %r15 + .loc 1 65 48 view .LVU152 + testq %rbx, %rbx + je .L85 + testb $7, %bl + jne .L85 +.L86: + leaq 24(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %eax + testb %al, %al + je .L87 + cmpb $3, %al + jle .L128 +.L87: + movl 24(%rbx), %eax + movl %eax, -52(%rbp) + cltq + .loc 1 65 42 view .LVU153 + leaq -8(,%rax,8), %r14 +.LVL87: + .loc 1 65 30 view .LVU154 + leaq (%r15,%r14), %rdx + testq %r14, %r14 + js .L88 + cmpq %r15, %rdx + jnb .L89 +.L90: + movq %r15, %rsi + leaq .Lubsan_data58(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL88: + jmp .L89 +.LVL89: +.L82: + .loc 1 65 36 view .LVU155 + movq %rbx, %rsi + leaq .Lubsan_data56(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL90: + jmp .L83 +.L127: + .loc 1 65 36 view .LVU156 + call __asan_report_load8@PLT +.LVL91: +.L85: + .loc 1 65 48 view .LVU157 + movq %rbx, %rsi + leaq .Lubsan_data57(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL92: + jmp .L86 +.L128: + .loc 1 65 48 view .LVU158 + call __asan_report_load4@PLT +.LVL93: +.L88: + .loc 1 65 30 view .LVU159 + cmpq %rdx, %r15 + jb .L90 +.L89: + addq %r15, %r14 + .loc 1 65 28 view .LVU160 + testq %r13, %r13 + je .L91 + testb $7, %r13b + jne .L91 +.L92: + leaq 8(%r13), %rdx + cmpq $-8, %r13 + jnb .L129 +.L93: + leaq 8(%r13), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L130 + movq %r14, 8(%r13) + .loc 1 66 7 is_stmt 1 view .LVU161 + .loc 1 66 49 is_stmt 0 view .LVU162 + testq %rbx, %rbx + je .L95 + testb $7, %bl + jne .L95 +.L96: + leaq 8(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %eax + testb %al, %al + je .L97 + cmpb $3, %al + jle .L131 +.L97: + movl 8(%rbx), %r14d + .loc 1 66 63 view .LVU163 + testq %rbx, %rbx + je .L98 + testb $7, %bl + jne .L98 +.L99: + .loc 1 66 56 view .LVU164 + movl %r14d, %r15d + subl -52(%rbp), %r15d + jo .L132 +.L100: + .loc 1 66 71 view .LVU165 + leal 1(%r15), %r15d + .loc 1 66 31 view .LVU166 + testq %r13, %r13 + je .L102 + testb $7, %r13b + jne .L102 +.L103: + leaq 16(%r13), %rdx + cmpq $-16, %r13 + jnb .L133 +.L104: + leaq 16(%r13), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L134 + movq %r15, 16(%r13) + .loc 1 67 7 is_stmt 1 view .LVU167 + .loc 1 67 26 is_stmt 0 view .LVU168 + testq %rbx, %rbx + je .L106 + testb $7, %bl + jne .L106 +.L107: + .loc 1 67 19 view .LVU169 + testq %rbx, %rbx + je .L108 + testb $7, %bl + jne .L108 +.L109: + movl %r14d, 24(%rbx) + .loc 1 68 7 is_stmt 1 view .LVU170 + .loc 1 91 10 is_stmt 0 view .LVU171 + movl %r12d, %eax +.L71: + .loc 1 92 1 view .LVU172 + addq $24, %rsp + popq %rbx +.LVL94: + .loc 1 92 1 view .LVU173 + popq %r12 +.LVL95: + .loc 1 92 1 view .LVU174 + popq %r13 +.LVL96: + .loc 1 92 1 view .LVU175 + popq %r14 + popq %r15 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL97: +.L91: + .cfi_restore_state + .loc 1 65 28 view .LVU176 + movq %r13, %rsi + leaq .Lubsan_data59(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL98: + jmp .L92 +.L129: + .loc 1 65 28 view .LVU177 + movq %r13, %rsi + leaq .Lubsan_data60(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL99: + jmp .L93 +.L130: + .loc 1 65 28 view .LVU178 + call __asan_report_store8@PLT +.LVL100: +.L95: + .loc 1 66 49 view .LVU179 + movq %rbx, %rsi + leaq .Lubsan_data61(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL101: + jmp .L96 +.L131: + .loc 1 66 49 view .LVU180 + call __asan_report_load4@PLT +.LVL102: +.L98: + .loc 1 66 63 view .LVU181 + movq %rbx, %rsi + leaq .Lubsan_data62(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL103: + jmp .L99 +.L132: + .loc 1 66 56 view .LVU182 + movslq -52(%rbp), %rdx + movslq %r14d, %rax + movq %rax, %rsi + leaq .Lubsan_data68(%rip), %rdi + call __ubsan_handle_sub_overflow@PLT +.LVL104: + jmp .L100 +.L102: + .loc 1 66 31 view .LVU183 + movq %r13, %rsi + leaq .Lubsan_data63(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL105: + jmp .L103 +.L133: + .loc 1 66 31 view .LVU184 + movq %r13, %rsi + leaq .Lubsan_data64(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL106: + jmp .L104 +.L134: + .loc 1 66 31 view .LVU185 + call __asan_report_store8@PLT +.LVL107: +.L106: + .loc 1 67 26 view .LVU186 + movq %rbx, %rsi + leaq .Lubsan_data65(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL108: + jmp .L107 +.L108: + .loc 1 67 19 view .LVU187 + movq %rbx, %rsi + leaq .Lubsan_data66(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL109: + jmp .L109 +.LVL110: +.L76: + .loc 1 70 7 is_stmt 1 view .LVU188 + .loc 1 70 10 is_stmt 0 view .LVU189 + testq %r14, %r14 + je .L135 +.L110: + .loc 1 72 7 is_stmt 1 view .LVU190 + .loc 1 72 12 is_stmt 0 view .LVU191 + movq %r14, %rsi + movq %r13, %rdi + call parse_warning_opt +.LVL111: + .loc 1 72 10 discriminator 1 view .LVU192 + testb %al, %al + je .L136 + .loc 1 91 10 view .LVU193 + movl $0, %eax + jmp .L71 +.L135: + .loc 1 71 9 is_stmt 1 view .LVU194 + leaq .LC10(%rip), %rsi + movq %rbx, %rdi + movl $0, %eax + call argp_error@PLT +.LVL112: + jmp .L110 +.L136: + .loc 1 73 9 view .LVU195 + movq %r14, %rdx + leaq .LC11(%rip), %rsi + movq %rbx, %rdi + call argp_error@PLT +.LVL113: + .loc 1 91 10 is_stmt 0 view .LVU196 + movl $0, %eax + jmp .L71 +.L122: + .loc 1 77 9 is_stmt 1 view .LVU197 + leaq .LC12(%rip), %rsi + movq %rbx, %rdi + movl $0, %eax + call argp_error@PLT +.LVL114: + jmp .L111 +.L123: + .loc 1 79 9 view .LVU198 + movq %r14, %rdx + leaq .LC13(%rip), %rsi + movq %rbx, %rdi + call argp_error@PLT +.LVL115: + .loc 1 91 10 is_stmt 0 view .LVU199 + movl $0, %eax + jmp .L71 +.L112: + .loc 1 82 16 view .LVU200 + movq %rbx, %rsi + leaq .Lubsan_data67(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL116: + jmp .L113 +.L125: + .loc 1 82 16 view .LVU201 + call __asan_report_load4@PLT +.LVL117: +.L126: + .loc 1 84 9 is_stmt 1 view .LVU202 +.LBB29: +.LBI29: + .file 3 "/usr/include/argp.h" + .loc 3 526 1 view .LVU203 +.LBB30: + .loc 3 528 3 view .LVU204 + leaq stderr(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L137 + movl $262, %edx + movq stderr(%rip), %rsi + movq %rbx, %rdi + call argp_state_help@PLT +.LVL118: + .loc 3 528 3 is_stmt 0 view .LVU205 +.LBE30: +.LBE29: + .loc 1 85 9 is_stmt 1 view .LVU206 + call __asan_handle_no_return@PLT +.LVL119: + movl $1, %edi + call exit@PLT +.LVL120: +.L137: +.LBB32: +.LBB31: + .loc 3 528 3 is_stmt 0 view .LVU207 + call __asan_report_load8@PLT +.LVL121: +.LBE31: +.LBE32: + .cfi_endproc +.LFE60: + .size parse_opt, .-parse_opt + .globl __asan_stack_malloc_1 + .section .rodata.str1.1,"aMS",@progbits,1 +.LC14: + .string "1 32 24 8 args:119" + .section .rodata + .align 32 +.LC15: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mRead in \033[1;37m%zu\033[0m filename(s):\n" + .zero 53 + .align 32 +.LC16: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0m%zu. \033[1;37m%s\033[0m\n" + .zero 38 + .align 32 +.LC17: + .string "r" + .zero 62 + .align 32 +.LC18: + .string "\033[1;37m%s:%u\033[0m: \033[0;34mlog: \033[0mencountered %lu error(s) during lexing, exiting\n" + .zero 45 + .text + .globl main + .type main, @function +main: +.LASANPC63: +.LVL122: +.LFB63: + .loc 1 118 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 118 1 is_stmt 0 view .LVU209 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $168, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 +1: call *mcount@GOTPCREL(%rip) + movl %edi, %r14d + movq %rsi, %r13 + leaq -176(%rbp), %rax + movq %rax, -192(%rbp) + movq %rax, -200(%rbp) + cmpl $0, __asan_option_detect_stack_use_after_return(%rip) + jne .L189 +.LVL123: +.L138: + .loc 1 118 1 view .LVU210 + movq -192(%rbp), %rcx + leaq 128(%rcx), %rbx + movq $1102416563, (%rcx) + leaq .LC14(%rip), %rax + movq %rax, 8(%rcx) + leaq .LASANPC63(%rip), %rax + movq %rax, 16(%rcx) + movq %rcx, %rax + shrq $3, %rax + movq %rax, -208(%rbp) + movl $-235802127, 2147450880(%rax) + movl $-218103808, 2147450884(%rax) + movl $-202116109, 2147450888(%rax) + .loc 1 118 1 view .LVU211 + movq %fs:40, %rax + movq %rax, -56(%rbp) + xorl %eax, %eax + .loc 1 119 3 is_stmt 1 view .LVU212 + .loc 1 119 27 is_stmt 0 discriminator 1 view .LVU213 + leaq 32(%rcx), %rdi + movq %rdi, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %edx + leaq 55(%rcx), %rax + movq %rax, %rcx + shrq $3, %rcx + movzbl 2147450880(%rcx), %ecx + andl $7, %eax + cmpb %al, %cl + setle %sil + testb %cl, %cl + setne %al + testb %al, %sil + jne .L188 + testb %dl, %dl + setne %cl + setle %al + testb %al, %cl + jne .L188 + pxor %xmm0, %xmm0 + movaps %xmm0, -96(%rbx) + movq $0, -80(%rbx) + .loc 1 120 3 is_stmt 1 view .LVU214 + leaq -96(%rbx), %r12 + movq %r12, %rdi + call set_default_flags +.LVL124: + .loc 1 121 3 view .LVU215 + movq %r12, %r9 + movl $0, %r8d + movl $0, %ecx + movq %r13, %rdx + movl %r14d, %esi + leaq argp(%rip), %rdi + call argp_parse@PLT +.LVL125: + .loc 1 123 3 view .LVU216 + movq %r12, %rdi + call dbg_dump_comp_args +.LVL126: + .loc 1 125 3 view .LVU217 + leaq -80(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L190 + movq -80(%rbx), %r13 +.LVL127: + .loc 1 125 3 is_stmt 0 view .LVU218 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L191 + movq stdout(%rip), %r12 + testq %r12, %r12 + je .L192 +.L146: +.LVL128: +.LBB33: +.LBI33: + .loc 2 77 1 is_stmt 1 view .LVU219 +.LBB34: + .loc 2 79 3 view .LVU220 + .loc 2 79 10 is_stmt 0 view .LVU221 + movq %r13, %r9 + movl $125, %r8d + leaq .LC2(%rip), %rcx + leaq .LC15(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL129: + .loc 2 79 10 view .LVU222 +.LBE34: +.LBE33: + .loc 1 127 3 is_stmt 1 view .LVU223 +.LBB35: + .loc 1 127 8 view .LVU224 + .loc 1 127 15 is_stmt 0 view .LVU225 + movl $0, %r13d + .loc 1 127 3 view .LVU226 + jmp .L147 +.LVL130: +.L189: + .loc 1 127 3 view .LVU227 +.LBE35: + .loc 1 118 1 view .LVU228 + movl $96, %edi +.LVL131: + .loc 1 118 1 view .LVU229 + call __asan_stack_malloc_1@PLT +.LVL132: + .loc 1 118 1 view .LVU230 + testq %rax, %rax + je .L138 + movq %rax, -192(%rbp) + jmp .L138 +.L188: + .loc 1 119 27 discriminator 1 view .LVU231 + movl $24, %esi + call __asan_report_store_n@PLT +.LVL133: +.L190: + .loc 1 125 3 view .LVU232 + call __asan_report_load8@PLT +.LVL134: +.L191: + .loc 1 125 3 view .LVU233 + call __asan_report_load8@PLT +.LVL135: +.L192: + leaq .Lubsan_data27(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL136: + jmp .L146 +.LVL137: +.L198: +.LBB38: + .loc 1 128 128 view .LVU234 + call __asan_report_load8@PLT +.LVL138: +.L149: + .loc 1 128 138 view .LVU235 + cmpq %rdx, %r12 + jb .L151 +.L150: + .loc 1 128 5 view .LVU236 + addq %r14, %r12 + je .L152 + testb $7, %r12b + jne .L152 +.L153: + movq %r12, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L193 + movq (%r12), %r14 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L194 + movq stdout(%rip), %r12 + testq %r12, %r12 + je .L195 +.L156: +.LVL139: +.LBB36: +.LBI36: + .loc 2 77 1 is_stmt 1 view .LVU237 +.LBB37: + .loc 2 79 3 view .LVU238 + .loc 2 79 10 is_stmt 0 view .LVU239 + subq $8, %rsp + pushq %r14 + movq %r13, %r9 + movl $128, %r8d + leaq .LC2(%rip), %rcx + leaq .LC16(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL140: + .loc 2 79 10 view .LVU240 +.LBE37: +.LBE36: + .loc 1 127 45 is_stmt 1 discriminator 3 view .LVU241 + addq $1, %r13 +.LVL141: + .loc 1 127 45 is_stmt 0 discriminator 3 view .LVU242 + addq $16, %rsp +.LVL142: +.L147: + .loc 1 127 24 is_stmt 1 discriminator 1 view .LVU243 + .loc 1 127 30 is_stmt 0 discriminator 1 view .LVU244 + leaq -80(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L196 + .loc 1 127 24 discriminator 1 view .LVU245 + cmpq -80(%rbx), %r13 + jnb .L197 + .loc 1 128 5 is_stmt 1 view .LVU246 + .loc 1 128 128 is_stmt 0 view .LVU247 + leaq -88(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L198 + movq -88(%rbx), %r12 + .loc 1 128 138 view .LVU248 + leaq 0(,%r13,8), %r14 + leaq (%r12,%r14), %rdx + testq %r14, %r14 + js .L149 + cmpq %r12, %rdx + jnb .L150 +.L151: + movq %r12, %rsi + leaq .Lubsan_data69(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL143: + jmp .L150 +.L152: + .loc 1 128 5 view .LVU249 + movq %r12, %rsi + leaq .Lubsan_data70(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL144: + jmp .L153 +.L193: + movq %r12, %rdi + call __asan_report_load8@PLT +.LVL145: +.L194: + call __asan_report_load8@PLT +.LVL146: +.L195: + leaq .Lubsan_data29(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL147: + jmp .L156 +.L196: + .loc 1 127 30 discriminator 1 view .LVU250 + call __asan_report_load8@PLT +.LVL148: +.L197: +.LBE38: + .loc 1 129 17 is_stmt 1 view .LVU251 + .loc 1 129 37 is_stmt 0 view .LVU252 + leaq -96(%rbx), %rdi + call lex_ctx_new@PLT +.LVL149: + movq %rax, -184(%rbp) +.LVL150: + .loc 1 130 3 is_stmt 1 view .LVU253 +.LBB39: + .loc 1 130 8 view .LVU254 + .loc 1 130 15 is_stmt 0 view .LVU255 + movl $0, %r15d + .loc 1 130 3 view .LVU256 + jmp .L159 +.LVL151: +.L207: +.LBB40: + .loc 1 132 56 view .LVU257 + call __asan_report_load8@PLT +.LVL152: +.L161: + .loc 1 132 66 view .LVU258 + cmpq %rdx, %r13 + jb .L163 +.L162: + .loc 1 132 38 view .LVU259 + addq %r12, %r13 + je .L164 + testb $7, %r13b + jne .L164 +.L165: + movq %r13, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L199 + movq 0(%r13), %r13 + testq %r13, %r13 + je .L200 +.L167: + leaq .LC17(%rip), %rsi + movq %r13, %rdi + call io_open_file@PLT +.LVL153: + movq %rax, %r14 +.LVL154: + .loc 1 133 5 is_stmt 1 view .LVU260 + .loc 1 133 8 is_stmt 0 view .LVU261 + testq %rax, %rax + je .L168 + .loc 1 135 9 is_stmt 1 view .LVU262 + .loc 1 135 45 is_stmt 0 view .LVU263 + leaq -88(%rbx), %rdi + movq %rdi, %rax +.LVL155: + .loc 1 135 45 view .LVU264 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L201 + movq -88(%rbx), %r13 + .loc 1 135 55 view .LVU265 + leaq 0(%r13,%r12), %rdx + testq %r12, %r12 + js .L170 + cmpq %r13, %rdx + jnb .L171 +.L172: + movq %r13, %rsi + leaq .Lubsan_data73(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL156: + jmp .L171 +.LVL157: +.L164: + .loc 1 132 38 view .LVU266 + movq %r13, %rsi + leaq .Lubsan_data72(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL158: + jmp .L165 +.L199: + movq %r13, %rdi + call __asan_report_load8@PLT +.LVL159: +.L200: + leaq .Lubsan_data31(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL160: + jmp .L167 +.LVL161: +.L201: + .loc 1 135 45 view .LVU267 + call __asan_report_load8@PLT +.LVL162: +.L170: + .loc 1 135 55 view .LVU268 + cmpq %rdx, %r13 + jb .L172 +.L171: + .loc 1 135 9 view .LVU269 + addq %r12, %r13 + je .L173 + testb $7, %r13b + jne .L173 +.L174: + movq %r13, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L202 + movq 0(%r13), %r12 + cmpq $0, -184(%rbp) + je .L203 +.L176: + testq %r12, %r12 + je .L204 +.L177: + movq %r12, %rdx + movq %r14, %rsi + movq -184(%rbp), %rdi + call lex_ctx_load_file@PLT +.LVL163: + .loc 1 136 9 is_stmt 1 view .LVU270 + movq %r14, %rdi + call io_close_file@PLT +.LVL164: +.L168: + .loc 1 136 9 is_stmt 0 view .LVU271 +.LBE40: + .loc 1 130 45 is_stmt 1 discriminator 2 view .LVU272 + addq $1, %r15 +.LVL165: +.L159: + .loc 1 130 24 discriminator 1 view .LVU273 + .loc 1 130 30 is_stmt 0 discriminator 1 view .LVU274 + leaq -80(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L205 + .loc 1 130 24 discriminator 1 view .LVU275 + cmpq -80(%rbx), %r15 + jnb .L206 +.LBB41: + .loc 1 132 19 is_stmt 1 view .LVU276 + .loc 1 132 56 is_stmt 0 view .LVU277 + leaq -88(%rbx), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L207 + movq -88(%rbx), %r13 + .loc 1 132 66 view .LVU278 + leaq 0(,%r15,8), %r12 + leaq 0(%r13,%r12), %rdx + testq %r12, %r12 + js .L161 + cmpq %r13, %rdx + jnb .L162 +.L163: + movq %r13, %rsi + leaq .Lubsan_data71(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL166: + jmp .L162 +.LVL167: +.L173: + .loc 1 135 9 view .LVU279 + movq %r13, %rsi + leaq .Lubsan_data74(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL168: + jmp .L174 +.L202: + movq %r13, %rdi + call __asan_report_load8@PLT +.LVL169: +.L203: + leaq .Lubsan_data33(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL170: + jmp .L176 +.L204: + leaq .Lubsan_data35(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL171: + jmp .L177 +.LVL172: +.L205: + .loc 1 135 9 view .LVU280 +.LBE41: + .loc 1 130 30 discriminator 1 view .LVU281 + call __asan_report_load8@PLT +.LVL173: +.L206: +.LBE39: + .loc 1 139 17 is_stmt 1 view .LVU282 + .loc 1 139 41 is_stmt 0 view .LVU283 + cmpq $0, -184(%rbp) + je .L208 +.L180: + movq -184(%rbp), %rbx + movq %rbx, %rdi + call lex_ctx_process@PLT +.LVL174: + movq %rax, %r12 +.LVL175: + .loc 1 140 17 is_stmt 1 view .LVU284 + .loc 1 140 41 is_stmt 0 view .LVU285 + testq %rbx, %rbx + je .L209 +.LVL176: +.L181: + .loc 1 140 41 view .LVU286 + movq -184(%rbp), %rdi + call tkn_new@PLT +.LVL177: + movq %rax, %rbx +.LVL178: + .loc 1 141 3 is_stmt 1 view .LVU287 + .loc 1 141 6 is_stmt 0 view .LVU288 + testq %r12, %r12 + jne .L210 +.LVL179: +.L182: + .loc 1 149 3 is_stmt 1 view .LVU289 + testq %rbx, %rbx + je .L211 +.L185: + movq %rbx, %rdi + call tkn_free@PLT +.LVL180: + .loc 1 150 3 view .LVU290 + cmpq $0, -184(%rbp) + je .L212 +.L186: + movq -184(%rbp), %rdi + call lex_ctx_free@PLT +.LVL181: + .loc 1 152 3 view .LVU291 + call dbg_mem_dump_stats@PLT +.LVL182: + .loc 1 154 3 view .LVU292 + .loc 1 118 1 is_stmt 0 view .LVU293 + movq -192(%rbp), %rsi + cmpq %rsi, -200(%rbp) + jne .L213 + movq -208(%rbp), %rax + movq $0, 2147450880(%rax) + movl $0, 2147450888(%rax) +.LVL183: +.L140: + .loc 1 155 1 view .LVU294 + movq -56(%rbp), %rax + subq %fs:40, %rax + jne .L214 + movl $0, %eax + leaq -40(%rbp), %rsp + popq %rbx +.LVL184: + .loc 1 155 1 view .LVU295 + popq %r12 +.LVL185: + .loc 1 155 1 view .LVU296 + popq %r13 + popq %r14 + popq %r15 +.LVL186: + .loc 1 155 1 view .LVU297 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL187: +.L208: + .cfi_restore_state + .loc 1 139 41 view .LVU298 + leaq .Lubsan_data37(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL188: + jmp .L180 +.LVL189: +.L209: + .loc 1 140 41 view .LVU299 + leaq .Lubsan_data38(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL190: + .loc 1 140 41 view .LVU300 + jmp .L181 +.LVL191: +.L210: + .loc 1 143 7 is_stmt 1 view .LVU301 + leaq stdout(%rip), %rdi + movq %rdi, %rax +.LVL192: + .loc 1 143 7 is_stmt 0 view .LVU302 + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L215 + movq stdout(%rip), %r13 + testq %r13, %r13 + je .L216 +.L184: +.LVL193: +.LBB42: +.LBI42: + .loc 2 77 1 is_stmt 1 view .LVU303 +.LBB43: + .loc 2 79 3 view .LVU304 + .loc 2 79 10 is_stmt 0 view .LVU305 + movq %r12, %r9 + movl $143, %r8d + leaq .LC2(%rip), %rcx + leaq .LC18(%rip), %rdx + movl $2, %esi + movq %r13, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL194: + .loc 2 79 10 view .LVU306 +.LBE43: +.LBE42: + .loc 1 145 7 is_stmt 1 view .LVU307 + jmp .L182 +.L215: + .loc 1 143 7 is_stmt 0 view .LVU308 + call __asan_report_load8@PLT +.LVL195: +.L216: + leaq .Lubsan_data39(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL196: + jmp .L184 +.L211: + .loc 1 149 3 view .LVU309 + leaq .Lubsan_data41(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL197: + jmp .L185 +.L212: + .loc 1 150 3 view .LVU310 + leaq .Lubsan_data42(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL198: + jmp .L186 +.L213: + .loc 1 118 1 view .LVU311 + movq %rsi, %rax + movq $1172321806, (%rsi) +.LVL199: + .loc 1 118 1 view .LVU312 + movq -208(%rbp), %rsi + movabsq $-723401728380766731, %rcx + movq %rcx, 2147450880(%rsi) + movl $-168430091, 2147450888(%rsi) + movq 120(%rax), %rax + movb $0, (%rax) + jmp .L140 +.L214: + .loc 1 155 1 view .LVU313 + call __stack_chk_fail@PLT +.LVL200: + .cfi_endproc +.LFE63: + .size main, .-main + .section .data.rel.local,"aw" + .align 32 + .type .Lubsan_data74, @object + .size .Lubsan_data74, 32 +.Lubsan_data74: + .quad .LC2 + .long 135 + .long 9 + .quad .Lubsan_type4 + .byte 3 + .byte 0 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data73, @object + .size .Lubsan_data73, 16 +.Lubsan_data73: + .quad .LC2 + .long 135 + .long 55 + .zero 48 + .align 32 + .type .Lubsan_data72, @object + .size .Lubsan_data72, 32 +.Lubsan_data72: + .quad .LC2 + .long 132 + .long 38 + .quad .Lubsan_type4 + .byte 3 + .byte 0 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data71, @object + .size .Lubsan_data71, 16 +.Lubsan_data71: + .quad .LC2 + .long 132 + .long 66 + .zero 48 + .align 32 + .type .Lubsan_data70, @object + .size .Lubsan_data70, 32 +.Lubsan_data70: + .quad .LC2 + .long 128 + .long 5 + .quad .Lubsan_type4 + .byte 3 + .byte 0 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type4, @object + .size .Lubsan_type4, 13 +.Lubsan_type4: + .value -1 + .value 0 + .string "'char *'" + .zero 51 + .section .data.rel.local + .align 32 + .type .Lubsan_data69, @object + .size .Lubsan_data69, 16 +.Lubsan_data69: + .quad .LC2 + .long 128 + .long 138 + .zero 48 + .align 32 + .type .Lubsan_data68, @object + .size .Lubsan_data68, 24 +.Lubsan_data68: + .quad .LC2 + .long 66 + .long 56 + .quad .Lubsan_type3 + .zero 40 + .data + .align 32 + .type .Lubsan_type3, @object + .size .Lubsan_type3, 10 +.Lubsan_type3: + .value 0 + .value 11 + .string "'int'" + .zero 54 + .section .data.rel.local + .align 32 + .type .Lubsan_data67, @object + .size .Lubsan_data67, 32 +.Lubsan_data67: + .quad .LC2 + .long 82 + .long 16 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data66, @object + .size .Lubsan_data66, 32 +.Lubsan_data66: + .quad .LC2 + .long 67 + .long 19 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data65, @object + .size .Lubsan_data65, 32 +.Lubsan_data65: + .quad .LC2 + .long 67 + .long 26 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data64, @object + .size .Lubsan_data64, 16 +.Lubsan_data64: + .quad .LC2 + .long 66 + .long 31 + .zero 48 + .align 32 + .type .Lubsan_data63, @object + .size .Lubsan_data63, 32 +.Lubsan_data63: + .quad .LC2 + .long 66 + .long 31 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data62, @object + .size .Lubsan_data62, 32 +.Lubsan_data62: + .quad .LC2 + .long 66 + .long 63 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data61, @object + .size .Lubsan_data61, 32 +.Lubsan_data61: + .quad .LC2 + .long 66 + .long 49 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data60, @object + .size .Lubsan_data60, 16 +.Lubsan_data60: + .quad .LC2 + .long 65 + .long 28 + .zero 48 + .align 32 + .type .Lubsan_data59, @object + .size .Lubsan_data59, 32 +.Lubsan_data59: + .quad .LC2 + .long 65 + .long 28 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data58, @object + .size .Lubsan_data58, 16 +.Lubsan_data58: + .quad .LC2 + .long 65 + .long 30 + .zero 48 + .align 32 + .type .Lubsan_data57, @object + .size .Lubsan_data57, 32 +.Lubsan_data57: + .quad .LC2 + .long 65 + .long 48 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data56, @object + .size .Lubsan_data56, 32 +.Lubsan_data56: + .quad .LC2 + .long 65 + .long 36 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data55, @object + .size .Lubsan_data55, 16 +.Lubsan_data55: + .quad .LC2 + .long 61 + .long 28 + .zero 48 + .align 32 + .type .Lubsan_data54, @object + .size .Lubsan_data54, 32 +.Lubsan_data54: + .quad .LC2 + .long 61 + .long 28 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type2, @object + .size .Lubsan_type2, 24 +.Lubsan_type2: + .value -1 + .value 0 + .string "'struct argp_state'" + .zero 40 + .section .data.rel.local + .align 32 + .type .Lubsan_data53, @object + .size .Lubsan_data53, 16 +.Lubsan_data53: + .quad .LC2 + .long 52 + .long 43 + .zero 48 + .align 32 + .type .Lubsan_data52, @object + .size .Lubsan_data52, 32 +.Lubsan_data52: + .quad .LC2 + .long 52 + .long 43 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data51, @object + .size .Lubsan_data51, 16 +.Lubsan_data51: + .quad .LC2 + .long 48 + .long 11 + .zero 48 + .align 32 + .type .Lubsan_data50, @object + .size .Lubsan_data50, 32 +.Lubsan_data50: + .quad .LC2 + .long 34 + .long 39 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data49, @object + .size .Lubsan_data49, 16 +.Lubsan_data49: + .quad .LC2 + .long 30 + .long 11 + .zero 48 + .align 32 + .type .Lubsan_data48, @object + .size .Lubsan_data48, 32 +.Lubsan_data48: + .quad .LC2 + .long 102 + .long 35 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data47, @object + .size .Lubsan_data47, 16 +.Lubsan_data47: + .quad .LC2 + .long 101 + .long 39 + .zero 48 + .align 32 + .type .Lubsan_data46, @object + .size .Lubsan_data46, 32 +.Lubsan_data46: + .quad .LC2 + .long 101 + .long 39 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data45, @object + .size .Lubsan_data45, 32 +.Lubsan_data45: + .quad .LC2 + .long 112 + .long 154 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data44, @object + .size .Lubsan_data44, 16 +.Lubsan_data44: + .quad .LC2 + .long 110 + .long 137 + .zero 48 + .align 32 + .type .Lubsan_data43, @object + .size .Lubsan_data43, 32 +.Lubsan_data43: + .quad .LC2 + .long 110 + .long 137 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type1, @object + .size .Lubsan_type1, 30 +.Lubsan_type1: + .value -1 + .value 0 + .string "'struct compilation_args'" + .zero 34 + .section .data.rel.local + .align 32 + .type .Lubsan_data42, @object + .size .Lubsan_data42, 40 +.Lubsan_data42: + .quad .LC2 + .long 150 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data41, @object + .size .Lubsan_data41, 40 +.Lubsan_data41: + .quad .LC2 + .long 149 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data39, @object + .size .Lubsan_data39, 40 +.Lubsan_data39: + .quad .LC2 + .long 143 + .long 7 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data38, @object + .size .Lubsan_data38, 40 +.Lubsan_data38: + .quad .LC2 + .long 140 + .long 41 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data37, @object + .size .Lubsan_data37, 40 +.Lubsan_data37: + .quad .LC2 + .long 139 + .long 41 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data35, @object + .size .Lubsan_data35, 40 +.Lubsan_data35: + .quad .LC2 + .long 135 + .long 9 + .quad 0 + .long 0 + .long 0 + .long 3 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data33, @object + .size .Lubsan_data33, 40 +.Lubsan_data33: + .quad .LC2 + .long 135 + .long 9 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data31, @object + .size .Lubsan_data31, 40 +.Lubsan_data31: + .quad .LC2 + .long 132 + .long 38 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data29, @object + .size .Lubsan_data29, 40 +.Lubsan_data29: + .quad .LC2 + .long 128 + .long 5 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data27, @object + .size .Lubsan_data27, 40 +.Lubsan_data27: + .quad .LC2 + .long 125 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data25, @object + .size .Lubsan_data25, 40 +.Lubsan_data25: + .quad .LC2 + .long 50 + .long 8 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data23, @object + .size .Lubsan_data23, 40 +.Lubsan_data23: + .quad .LC2 + .long 45 + .long 8 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data21, @object + .size .Lubsan_data21, 40 +.Lubsan_data21: + .quad .LC2 + .long 32 + .long 8 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data19, @object + .size .Lubsan_data19, 40 +.Lubsan_data19: + .quad .LC2 + .long 27 + .long 8 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data17, @object + .size .Lubsan_data17, 40 +.Lubsan_data17: + .quad .LC2 + .long 112 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data15, @object + .size .Lubsan_data15, 40 +.Lubsan_data15: + .quad .LC2 + .long 111 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data13, @object + .size .Lubsan_data13, 40 +.Lubsan_data13: + .quad .LC2 + .long 110 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data11, @object + .size .Lubsan_data11, 40 +.Lubsan_data11: + .quad .LC2 + .long 109 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type argp, @object + .size argp, 56 +argp: + .quad options + .quad parse_opt + .quad args_doc + .quad doc + .quad 0 + .quad 0 + .quad 0 + .zero 40 + .section .rodata + .align 32 +.LC19: + .string "warn" + .zero 59 + .align 32 +.LC20: + .string "WARNING" + .zero 56 + .align 32 +.LC21: + .string "Toggle specific warning conditions" + .zero 61 + .align 32 +.LC22: + .string "compiler" + .zero 55 + .align 32 +.LC23: + .string "COMPILER" + .zero 55 + .align 32 +.LC24: + .string "Toggle specific compilation flags" + .zero 62 + .section .data.rel.local + .align 32 + .type options, @object + .size options, 144 +options: + .quad .LC19 + .long 87 + .zero 4 + .quad .LC20 + .long 0 + .zero 4 + .quad .LC21 + .long 0 + .zero 4 + .quad .LC22 + .long 67 + .zero 4 + .quad .LC23 + .long 0 + .zero 4 + .quad .LC24 + .long 0 + .zero 4 + .quad 0 + .zero 40 + .zero 48 + .data + .align 32 + .type args_doc, @object + .size args_doc, 15 +args_doc: + .string "[FILENAMES...]" + .zero 49 + .align 32 + .type doc, @object + .size doc, 24 +doc: + .string "C compiler written in C" + .zero 40 + .globl argp_program_bug_address + .section .rodata + .align 32 +.LC25: + .string "" + .zero 38 + .section .data.rel.local + .align 32 + .type argp_program_bug_address, @object + .size argp_program_bug_address, 8 +argp_program_bug_address: + .quad .LC25 + .zero 56 + .globl arg_program_version + .section .rodata + .align 32 +.LC26: + .string "0.2.0" + .zero 58 + .section .data.rel.local + .align 32 + .type arg_program_version, @object + .size arg_program_version, 8 +arg_program_version: + .quad .LC26 + .zero 56 + .align 16 + .type .LASANLOC1, @object + .size .LASANLOC1, 16 +.LASANLOC1: + .quad .LC2 + .long 94 + .long 20 + .align 16 + .type .LASANLOC2, @object + .size .LASANLOC2, 16 +.LASANLOC2: + .quad .LC2 + .long 16 + .long 27 + .align 16 + .type .LASANLOC3, @object + .size .LASANLOC3, 16 +.LASANLOC3: + .quad .LC2 + .long 14 + .long 13 + .align 16 + .type .LASANLOC4, @object + .size .LASANLOC4, 16 +.LASANLOC4: + .quad .LC2 + .long 13 + .long 13 + .globl __odr_asan.argp_program_bug_address + .bss + .type __odr_asan.argp_program_bug_address, @object + .size __odr_asan.argp_program_bug_address, 1 +__odr_asan.argp_program_bug_address: + .zero 1 + .section .rodata.str1.1 +.LC27: + .string "/usr/include/argp.h" + .section .data.rel.local + .align 16 + .type .LASANLOC5, @object + .size .LASANLOC5, 16 +.LASANLOC5: + .quad .LC27 + .long 401 + .long 20 + .globl __odr_asan.arg_program_version + .bss + .type __odr_asan.arg_program_version, @object + .size __odr_asan.arg_program_version, 1 +__odr_asan.arg_program_version: + .zero 1 + .section .data.rel.local + .align 16 + .type .LASANLOC6, @object + .size .LASANLOC6, 16 +.LASANLOC6: + .quad .LC2 + .long 11 + .long 13 + .section .rodata.str1.1 +.LC28: + .string "*.Lubsan_data74" +.LC29: + .string "*.Lubsan_data73" +.LC30: + .string "*.Lubsan_data72" +.LC31: + .string "*.Lubsan_data71" +.LC32: + .string "*.Lubsan_data70" +.LC33: + .string "*.Lubsan_type4" +.LC34: + .string "*.Lubsan_data69" +.LC35: + .string "*.Lubsan_data68" +.LC36: + .string "*.Lubsan_type3" +.LC37: + .string "*.Lubsan_data67" +.LC38: + .string "*.Lubsan_data66" +.LC39: + .string "*.Lubsan_data65" +.LC40: + .string "*.Lubsan_data64" +.LC41: + .string "*.Lubsan_data63" +.LC42: + .string "*.Lubsan_data62" +.LC43: + .string "*.Lubsan_data61" +.LC44: + .string "*.Lubsan_data60" +.LC45: + .string "*.Lubsan_data59" +.LC46: + .string "*.Lubsan_data58" +.LC47: + .string "*.Lubsan_data57" +.LC48: + .string "*.Lubsan_data56" +.LC49: + .string "*.Lubsan_data55" +.LC50: + .string "*.Lubsan_data54" +.LC51: + .string "*.Lubsan_type2" +.LC52: + .string "*.Lubsan_data53" +.LC53: + .string "*.Lubsan_data52" +.LC54: + .string "*.Lubsan_data51" +.LC55: + .string "*.Lubsan_data50" +.LC56: + .string "*.Lubsan_data49" +.LC57: + .string "*.Lubsan_data48" +.LC58: + .string "*.Lubsan_data47" +.LC59: + .string "*.Lubsan_data46" +.LC60: + .string "*.Lubsan_data45" +.LC61: + .string "*.Lubsan_data44" +.LC62: + .string "*.Lubsan_data43" +.LC63: + .string "*.Lubsan_type1" +.LC64: + .string "*.Lubsan_data42" +.LC65: + .string "*.Lubsan_data41" +.LC66: + .string "*.Lubsan_data39" +.LC67: + .string "*.Lubsan_data38" +.LC68: + .string "*.Lubsan_data37" +.LC69: + .string "*.Lubsan_data35" +.LC70: + .string "*.Lubsan_data33" +.LC71: + .string "*.Lubsan_data31" +.LC72: + .string "*.Lubsan_data29" +.LC73: + .string "*.Lubsan_data27" +.LC74: + .string "*.Lubsan_data25" +.LC75: + .string "*.Lubsan_data23" +.LC76: + .string "*.Lubsan_data21" +.LC77: + .string "*.Lubsan_data19" +.LC78: + .string "*.Lubsan_data17" +.LC79: + .string "*.Lubsan_data15" +.LC80: + .string "*.Lubsan_data13" +.LC81: + .string "*.Lubsan_data11" +.LC82: + .string "argp" +.LC83: + .string "options" +.LC84: + .string "args_doc" +.LC85: + .string "doc" +.LC86: + .string "argp_program_bug_address" +.LC87: + .string "arg_program_version" +.LC88: + .string "*.LC15" +.LC89: + .string "*.LC21" +.LC90: + .string "*.LC12" +.LC91: + .string "*.LC0" +.LC92: + .string "*.LC13" +.LC93: + .string "*.LC24" +.LC94: + .string "*.LC3" +.LC95: + .string "*.LC1" +.LC96: + .string "*.LC10" +.LC97: + .string "*.LC6" +.LC98: + .string "*.LC9" +.LC99: + .string "*.LC25" +.LC100: + .string "*.LC19" +.LC101: + .string "*.LC7" +.LC102: + .string "*.LC23" +.LC103: + .string "*.LC4" +.LC104: + .string "*.LC20" +.LC105: + .string "*.LC5" +.LC106: + .string "*.LC11" +.LC107: + .string "*.LC8" +.LC108: + .string "*.LC16" +.LC109: + .string "*.LC18" +.LC110: + .string "*.LC17" +.LC111: + .string "*.LC2" +.LC112: + .string "*.LC22" +.LC113: + .string "*.LC26" + .section .data.rel.local + .align 32 + .type .LASAN0, @object + .size .LASAN0, 5504 +.LASAN0: + .quad .Lubsan_data74 + .quad 32 + .quad 64 + .quad .LC28 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data73 + .quad 16 + .quad 64 + .quad .LC29 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data72 + .quad 32 + .quad 64 + .quad .LC30 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data71 + .quad 16 + .quad 64 + .quad .LC31 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data70 + .quad 32 + .quad 64 + .quad .LC32 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type4 + .quad 13 + .quad 64 + .quad .LC33 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data69 + .quad 16 + .quad 64 + .quad .LC34 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data68 + .quad 24 + .quad 64 + .quad .LC35 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type3 + .quad 10 + .quad 64 + .quad .LC36 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data67 + .quad 32 + .quad 64 + .quad .LC37 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data66 + .quad 32 + .quad 64 + .quad .LC38 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data65 + .quad 32 + .quad 64 + .quad .LC39 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data64 + .quad 16 + .quad 64 + .quad .LC40 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data63 + .quad 32 + .quad 64 + .quad .LC41 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data62 + .quad 32 + .quad 64 + .quad .LC42 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data61 + .quad 32 + .quad 64 + .quad .LC43 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data60 + .quad 16 + .quad 64 + .quad .LC44 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data59 + .quad 32 + .quad 64 + .quad .LC45 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data58 + .quad 16 + .quad 64 + .quad .LC46 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data57 + .quad 32 + .quad 64 + .quad .LC47 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data56 + .quad 32 + .quad 64 + .quad .LC48 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data55 + .quad 16 + .quad 64 + .quad .LC49 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data54 + .quad 32 + .quad 64 + .quad .LC50 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type2 + .quad 24 + .quad 64 + .quad .LC51 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data53 + .quad 16 + .quad 64 + .quad .LC52 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data52 + .quad 32 + .quad 64 + .quad .LC53 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data51 + .quad 16 + .quad 64 + .quad .LC54 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data50 + .quad 32 + .quad 64 + .quad .LC55 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data49 + .quad 16 + .quad 64 + .quad .LC56 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data48 + .quad 32 + .quad 64 + .quad .LC57 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data47 + .quad 16 + .quad 64 + .quad .LC58 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data46 + .quad 32 + .quad 64 + .quad .LC59 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data45 + .quad 32 + .quad 64 + .quad .LC60 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data44 + .quad 16 + .quad 64 + .quad .LC61 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data43 + .quad 32 + .quad 64 + .quad .LC62 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type1 + .quad 30 + .quad 64 + .quad .LC63 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data42 + .quad 40 + .quad 96 + .quad .LC64 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data41 + .quad 40 + .quad 96 + .quad .LC65 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data39 + .quad 40 + .quad 96 + .quad .LC66 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data38 + .quad 40 + .quad 96 + .quad .LC67 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data37 + .quad 40 + .quad 96 + .quad .LC68 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data35 + .quad 40 + .quad 96 + .quad .LC69 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data33 + .quad 40 + .quad 96 + .quad .LC70 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data31 + .quad 40 + .quad 96 + .quad .LC71 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data29 + .quad 40 + .quad 96 + .quad .LC72 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data27 + .quad 40 + .quad 96 + .quad .LC73 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data25 + .quad 40 + .quad 96 + .quad .LC74 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data23 + .quad 40 + .quad 96 + .quad .LC75 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data21 + .quad 40 + .quad 96 + .quad .LC76 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data19 + .quad 40 + .quad 96 + .quad .LC77 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data17 + .quad 40 + .quad 96 + .quad .LC78 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data15 + .quad 40 + .quad 96 + .quad .LC79 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data13 + .quad 40 + .quad 96 + .quad .LC80 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data11 + .quad 40 + .quad 96 + .quad .LC81 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad argp + .quad 56 + .quad 96 + .quad .LC82 + .quad .LC2 + .quad 0 + .quad .LASANLOC1 + .quad 0 + .quad options + .quad 144 + .quad 192 + .quad .LC83 + .quad .LC2 + .quad 0 + .quad .LASANLOC2 + .quad 0 + .quad args_doc + .quad 15 + .quad 64 + .quad .LC84 + .quad .LC2 + .quad 0 + .quad .LASANLOC3 + .quad 0 + .quad doc + .quad 24 + .quad 64 + .quad .LC85 + .quad .LC2 + .quad 0 + .quad .LASANLOC4 + .quad 0 + .quad argp_program_bug_address + .quad 8 + .quad 64 + .quad .LC86 + .quad .LC2 + .quad 0 + .quad .LASANLOC5 + .quad __odr_asan.argp_program_bug_address + .quad arg_program_version + .quad 8 + .quad 64 + .quad .LC87 + .quad .LC2 + .quad 0 + .quad .LASANLOC6 + .quad __odr_asan.arg_program_version + .quad .LC15 + .quad 75 + .quad 128 + .quad .LC88 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC21 + .quad 35 + .quad 96 + .quad .LC89 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC12 + .quad 56 + .quad 96 + .quad .LC90 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC0 + .quad 4 + .quad 64 + .quad .LC91 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC13 + .quad 30 + .quad 64 + .quad .LC92 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC24 + .quad 34 + .quad 96 + .quad .LC93 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC3 + .quad 54 + .quad 96 + .quad .LC94 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC1 + .quad 3 + .quad 64 + .quad .LC95 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC10 + .quad 47 + .quad 96 + .quad .LC96 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC6 + .quad 79 + .quad 128 + .quad .LC97 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC9 + .quad 18 + .quad 64 + .quad .LC98 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC25 + .quad 26 + .quad 64 + .quad .LC99 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC19 + .quad 5 + .quad 64 + .quad .LC100 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC7 + .quad 4 + .quad 64 + .quad .LC101 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC23 + .quad 9 + .quad 64 + .quad .LC102 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC4 + .quad 58 + .quad 96 + .quad .LC103 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC20 + .quad 8 + .quad 64 + .quad .LC104 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC5 + .quad 45 + .quad 96 + .quad .LC105 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC11 + .quad 31 + .quad 64 + .quad .LC106 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC8 + .quad 10 + .quad 64 + .quad .LC107 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC16 + .quad 58 + .quad 96 + .quad .LC108 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC18 + .quad 83 + .quad 128 + .quad .LC109 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC17 + .quad 2 + .quad 64 + .quad .LC110 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC2 + .quad 11 + .quad 64 + .quad .LC111 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC22 + .quad 9 + .quad 64 + .quad .LC112 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .quad .LC26 + .quad 6 + .quad 64 + .quad .LC113 + .quad .LC2 + .quad 0 + .quad 0 + .quad 0 + .text + .type _sub_D_00099_0, @function +_sub_D_00099_0: +.LFB64: + .cfi_startproc + .loc 1 155 1 is_stmt 1 view .LVU314 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl $86, %esi + leaq .LASAN0(%rip), %rdi + call __asan_unregister_globals@PLT + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE64: + .size _sub_D_00099_0, .-_sub_D_00099_0 + .section .fini_array.00099,"aw" + .align 8 + .quad _sub_D_00099_0 + .text + .type _sub_I_00099_1, @function +_sub_I_00099_1: +.LFB65: + .cfi_startproc + .loc 1 155 1 view .LVU315 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + call __asan_init@PLT + call __asan_version_mismatch_check_v8@PLT + movl $86, %esi + leaq .LASAN0(%rip), %rdi + call __asan_register_globals@PLT + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE65: + .size _sub_I_00099_1, .-_sub_I_00099_1 + .section .init_array.00099,"aw" + .align 8 + .quad _sub_I_00099_1 + .text +.Letext0: + .file 4 "/usr/include/bits/types.h" + .file 5 "/usr/include/bits/stdint-uintn.h" + .file 6 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" + .file 7 "/usr/include/bits/types/struct_FILE.h" + .file 8 "/usr/include/bits/types/FILE.h" + .file 9 "/usr/include/stdio.h" + .file 10 "include/io.h" + .file 11 "include/array.h" + .file 12 "include/lexer.h" + .file 13 "include/tokenizer.h" + .file 14 "include/diagnostics.h" + .file 15 "/usr/include/bits/stdio2-decl.h" + .file 16 "/usr/include/string.h" + .file 17 "/usr/include/stdlib.h" + .file 18 "" + .file 19 "include/generic.h" + .section .debug_info,"",@progbits +.Ldebug_info0: + .long 0x1b0d + .value 0x5 + .byte 0x1 + .byte 0x8 + .long .Ldebug_abbrev0 + .uleb128 0x27 + .long .LASF157 + .byte 0x1d + .long .LASF0 + .long .LASF1 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .long .Ldebug_line0 + .uleb128 0xb + .byte 0x1 + .byte 0x8 + .long .LASF2 + .uleb128 0xb + .byte 0x2 + .byte 0x7 + .long .LASF3 + .uleb128 0xb + .byte 0x4 + .byte 0x7 + .long .LASF4 + .uleb128 0xb + .byte 0x8 + .byte 0x7 + .long .LASF5 + .uleb128 0xb + .byte 0x1 + .byte 0x6 + .long .LASF6 + .uleb128 0xb + .byte 0x2 + .byte 0x5 + .long .LASF7 + .uleb128 0x28 + .byte 0x4 + .byte 0x5 + .string "int" + .uleb128 0x9 + .long .LASF9 + .byte 0x4 + .byte 0x2a + .byte 0x16 + .long 0x3c + .uleb128 0xb + .byte 0x8 + .byte 0x5 + .long .LASF8 + .uleb128 0x9 + .long .LASF10 + .byte 0x4 + .byte 0x2d + .byte 0x1b + .long 0x43 + .uleb128 0x9 + .long .LASF11 + .byte 0x4 + .byte 0x98 + .byte 0x12 + .long 0x6b + .uleb128 0x9 + .long .LASF12 + .byte 0x4 + .byte 0x99 + .byte 0x12 + .long 0x6b + .uleb128 0x29 + .byte 0x8 + .uleb128 0xe + .long 0x96 + .uleb128 0x6 + .long 0xa2 + .uleb128 0xb + .byte 0x1 + .byte 0x6 + .long .LASF13 + .uleb128 0x12 + .long 0xa2 + .uleb128 0x9 + .long .LASF14 + .byte 0x5 + .byte 0x1a + .byte 0x14 + .long 0x5f + .uleb128 0x9 + .long .LASF15 + .byte 0x5 + .byte 0x1b + .byte 0x14 + .long 0x72 + .uleb128 0x9 + .long .LASF16 + .byte 0x6 + .byte 0xd6 + .byte 0x1b + .long 0x43 + .uleb128 0x13 + .long .LASF57 + .byte 0xd8 + .byte 0x7 + .byte 0x31 + .byte 0x8 + .long 0x259 + .uleb128 0x3 + .long .LASF17 + .byte 0x7 + .byte 0x33 + .byte 0x7 + .long 0x58 + .byte 0 + .uleb128 0x3 + .long .LASF18 + .byte 0x7 + .byte 0x36 + .byte 0x9 + .long 0x9d + .byte 0x8 + .uleb128 0x3 + .long .LASF19 + .byte 0x7 + .byte 0x37 + .byte 0x9 + .long 0x9d + .byte 0x10 + .uleb128 0x3 + .long .LASF20 + .byte 0x7 + .byte 0x38 + .byte 0x9 + .long 0x9d + .byte 0x18 + .uleb128 0x3 + .long .LASF21 + .byte 0x7 + .byte 0x39 + .byte 0x9 + .long 0x9d + .byte 0x20 + .uleb128 0x3 + .long .LASF22 + .byte 0x7 + .byte 0x3a + .byte 0x9 + .long 0x9d + .byte 0x28 + .uleb128 0x3 + .long .LASF23 + .byte 0x7 + .byte 0x3b + .byte 0x9 + .long 0x9d + .byte 0x30 + .uleb128 0x3 + .long .LASF24 + .byte 0x7 + .byte 0x3c + .byte 0x9 + .long 0x9d + .byte 0x38 + .uleb128 0x3 + .long .LASF25 + .byte 0x7 + .byte 0x3d + .byte 0x9 + .long 0x9d + .byte 0x40 + .uleb128 0x3 + .long .LASF26 + .byte 0x7 + .byte 0x40 + .byte 0x9 + .long 0x9d + .byte 0x48 + .uleb128 0x3 + .long .LASF27 + .byte 0x7 + .byte 0x41 + .byte 0x9 + .long 0x9d + .byte 0x50 + .uleb128 0x3 + .long .LASF28 + .byte 0x7 + .byte 0x42 + .byte 0x9 + .long 0x9d + .byte 0x58 + .uleb128 0x3 + .long .LASF29 + .byte 0x7 + .byte 0x44 + .byte 0x16 + .long 0x272 + .byte 0x60 + .uleb128 0x3 + .long .LASF30 + .byte 0x7 + .byte 0x46 + .byte 0x14 + .long 0x277 + .byte 0x68 + .uleb128 0x3 + .long .LASF31 + .byte 0x7 + .byte 0x48 + .byte 0x7 + .long 0x58 + .byte 0x70 + .uleb128 0x3 + .long .LASF32 + .byte 0x7 + .byte 0x49 + .byte 0x7 + .long 0x58 + .byte 0x74 + .uleb128 0x3 + .long .LASF33 + .byte 0x7 + .byte 0x4a + .byte 0xb + .long 0x7e + .byte 0x78 + .uleb128 0x3 + .long .LASF34 + .byte 0x7 + .byte 0x4d + .byte 0x12 + .long 0x35 + .byte 0x80 + .uleb128 0x3 + .long .LASF35 + .byte 0x7 + .byte 0x4e + .byte 0xf + .long 0x4a + .byte 0x82 + .uleb128 0x3 + .long .LASF36 + .byte 0x7 + .byte 0x4f + .byte 0x8 + .long 0x27c + .byte 0x83 + .uleb128 0x3 + .long .LASF37 + .byte 0x7 + .byte 0x51 + .byte 0xf + .long 0x28c + .byte 0x88 + .uleb128 0x3 + .long .LASF38 + .byte 0x7 + .byte 0x59 + .byte 0xd + .long 0x8a + .byte 0x90 + .uleb128 0x3 + .long .LASF39 + .byte 0x7 + .byte 0x5b + .byte 0x17 + .long 0x296 + .byte 0x98 + .uleb128 0x3 + .long .LASF40 + .byte 0x7 + .byte 0x5c + .byte 0x19 + .long 0x2a0 + .byte 0xa0 + .uleb128 0x3 + .long .LASF41 + .byte 0x7 + .byte 0x5d + .byte 0x14 + .long 0x277 + .byte 0xa8 + .uleb128 0x3 + .long .LASF42 + .byte 0x7 + .byte 0x5e + .byte 0x9 + .long 0x96 + .byte 0xb0 + .uleb128 0x3 + .long .LASF43 + .byte 0x7 + .byte 0x5f + .byte 0xa + .long 0xc6 + .byte 0xb8 + .uleb128 0x3 + .long .LASF44 + .byte 0x7 + .byte 0x60 + .byte 0x7 + .long 0x58 + .byte 0xc0 + .uleb128 0x3 + .long .LASF45 + .byte 0x7 + .byte 0x62 + .byte 0x8 + .long 0x2a5 + .byte 0xc4 + .byte 0 + .uleb128 0x9 + .long .LASF46 + .byte 0x8 + .byte 0x7 + .byte 0x19 + .long 0xd2 + .uleb128 0x2a + .long .LASF158 + .byte 0x7 + .byte 0x2b + .byte 0xe + .uleb128 0x14 + .long .LASF47 + .uleb128 0x6 + .long 0x26d + .uleb128 0x6 + .long 0xd2 + .uleb128 0x15 + .long 0xa2 + .long 0x28c + .uleb128 0x16 + .long 0x43 + .byte 0 + .byte 0 + .uleb128 0x6 + .long 0x265 + .uleb128 0x14 + .long .LASF48 + .uleb128 0x6 + .long 0x291 + .uleb128 0x14 + .long .LASF49 + .uleb128 0x6 + .long 0x29b + .uleb128 0x15 + .long 0xa2 + .long 0x2b5 + .uleb128 0x16 + .long 0x43 + .byte 0x13 + .byte 0 + .uleb128 0x6 + .long 0xa9 + .uleb128 0xe + .long 0x2b5 + .uleb128 0x12 + .long 0x2b5 + .uleb128 0x6 + .long 0x259 + .uleb128 0xe + .long 0x2c4 + .uleb128 0x1d + .long .LASF50 + .byte 0x96 + .long 0x2c4 + .uleb128 0x1d + .long .LASF51 + .byte 0x97 + .long 0x2c4 + .uleb128 0x9 + .long .LASF52 + .byte 0xa + .byte 0x6 + .byte 0xf + .long 0x2c4 + .uleb128 0xb + .byte 0x8 + .byte 0x5 + .long .LASF53 + .uleb128 0xb + .byte 0x8 + .byte 0x7 + .long .LASF54 + .uleb128 0x9 + .long .LASF55 + .byte 0xb + .byte 0xb + .byte 0x1c + .long 0x308 + .uleb128 0x6 + .long 0x30d + .uleb128 0x14 + .long .LASF56 + .uleb128 0x13 + .long .LASF58 + .byte 0x10 + .byte 0xc + .byte 0x9 + .byte 0x10 + .long 0x33a + .uleb128 0x3 + .long .LASF59 + .byte 0xc + .byte 0xb + .byte 0xb + .long 0x2fc + .byte 0 + .uleb128 0x3 + .long .LASF60 + .byte 0xc + .byte 0xc + .byte 0xb + .long 0x2fc + .byte 0x8 + .byte 0 + .uleb128 0x9 + .long .LASF61 + .byte 0xc + .byte 0xd + .byte 0x4 + .long 0x346 + .uleb128 0x6 + .long 0x312 + .uleb128 0x9 + .long .LASF62 + .byte 0xd + .byte 0x5 + .byte 0x1a + .long 0x357 + .uleb128 0x6 + .long 0x35c + .uleb128 0x14 + .long .LASF63 + .uleb128 0x1e + .byte 0xa + .long 0x372 + .uleb128 0x1f + .long .LASF65 + .byte 0xc + .long 0x372 + .byte 0 + .uleb128 0xb + .byte 0x1 + .byte 0x2 + .long .LASF64 + .uleb128 0x1e + .byte 0xe + .long 0x38a + .uleb128 0x1f + .long .LASF66 + .byte 0x10 + .long 0x372 + .byte 0 + .uleb128 0x13 + .long .LASF67 + .byte 0x18 + .byte 0xe + .byte 0x8 + .byte 0x8 + .long 0x3cc + .uleb128 0x3 + .long .LASF68 + .byte 0xe + .byte 0xd + .byte 0x5 + .long 0x361 + .byte 0 + .uleb128 0x3 + .long .LASF69 + .byte 0xe + .byte 0x11 + .byte 0x5 + .long 0x379 + .byte 0x1 + .uleb128 0x3 + .long .LASF70 + .byte 0xe + .byte 0x12 + .byte 0xa + .long 0x3cc + .byte 0x8 + .uleb128 0x3 + .long .LASF71 + .byte 0xe + .byte 0x13 + .byte 0xa + .long 0xc6 + .byte 0x10 + .byte 0 + .uleb128 0x6 + .long 0x9d + .uleb128 0xe + .long 0x3cc + .uleb128 0x6 + .long 0x58 + .uleb128 0xe + .long 0x3d6 + .uleb128 0x9 + .long .LASF72 + .byte 0x3 + .byte 0x23 + .byte 0xd + .long 0x58 + .uleb128 0x13 + .long .LASF73 + .byte 0x30 + .byte 0x3 + .byte 0x2b + .byte 0x8 + .long 0x445 + .uleb128 0x3 + .long .LASF74 + .byte 0x3 + .byte 0x2f + .byte 0xf + .long 0x2b5 + .byte 0 + .uleb128 0x17 + .string "key" + .byte 0x33 + .byte 0x7 + .long 0x58 + .byte 0x8 + .uleb128 0x17 + .string "arg" + .byte 0x37 + .byte 0xf + .long 0x2b5 + .byte 0x10 + .uleb128 0x3 + .long .LASF75 + .byte 0x3 + .byte 0x3a + .byte 0x7 + .long 0x58 + .byte 0x18 + .uleb128 0x17 + .string "doc" + .byte 0x40 + .byte 0xf + .long 0x2b5 + .byte 0x20 + .uleb128 0x3 + .long .LASF76 + .byte 0x3 + .byte 0x49 + .byte 0x7 + .long 0x58 + .byte 0x28 + .byte 0 + .uleb128 0x12 + .long 0x3ec + .uleb128 0x9 + .long .LASF77 + .byte 0x3 + .byte 0x71 + .byte 0x13 + .long 0x456 + .uleb128 0x6 + .long 0x45b + .uleb128 0x20 + .long 0x3e0 + .long 0x474 + .uleb128 0x4 + .long 0x58 + .uleb128 0x4 + .long 0x9d + .uleb128 0x4 + .long 0x474 + .byte 0 + .uleb128 0x6 + .long 0x479 + .uleb128 0x2b + .long .LASF78 + .byte 0x60 + .byte 0x3 + .value 0x111 + .byte 0x8 + .long 0x53e + .uleb128 0x7 + .long .LASF79 + .value 0x114 + .byte 0x16 + .long 0x61f + .byte 0 + .uleb128 0x7 + .long .LASF80 + .value 0x117 + .byte 0x7 + .long 0x58 + .byte 0x8 + .uleb128 0x7 + .long .LASF81 + .value 0x118 + .byte 0xa + .long 0x3cc + .byte 0x10 + .uleb128 0x7 + .long .LASF82 + .value 0x11b + .byte 0x7 + .long 0x58 + .byte 0x18 + .uleb128 0x7 + .long .LASF75 + .value 0x11e + .byte 0xc + .long 0x3c + .byte 0x1c + .uleb128 0x7 + .long .LASF83 + .value 0x124 + .byte 0xc + .long 0x3c + .byte 0x20 + .uleb128 0x7 + .long .LASF84 + .value 0x129 + .byte 0x7 + .long 0x58 + .byte 0x24 + .uleb128 0x7 + .long .LASF85 + .value 0x12c + .byte 0x9 + .long 0x96 + .byte 0x28 + .uleb128 0x7 + .long .LASF86 + .value 0x12f + .byte 0xa + .long 0x629 + .byte 0x30 + .uleb128 0x7 + .long .LASF87 + .value 0x132 + .byte 0x9 + .long 0x96 + .byte 0x38 + .uleb128 0x7 + .long .LASF74 + .value 0x136 + .byte 0x9 + .long 0x9d + .byte 0x40 + .uleb128 0x7 + .long .LASF88 + .value 0x139 + .byte 0x9 + .long 0x2c4 + .byte 0x48 + .uleb128 0x7 + .long .LASF89 + .value 0x13a + .byte 0x9 + .long 0x2c4 + .byte 0x50 + .uleb128 0x7 + .long .LASF90 + .value 0x13c + .byte 0x9 + .long 0x96 + .byte 0x58 + .byte 0 + .uleb128 0x12 + .long 0x479 + .uleb128 0x13 + .long .LASF91 + .byte 0x38 + .byte 0x3 + .byte 0xb6 + .byte 0x8 + .long 0x5ab + .uleb128 0x3 + .long .LASF92 + .byte 0x3 + .byte 0xba + .byte 0x1d + .long 0x5b0 + .byte 0 + .uleb128 0x3 + .long .LASF93 + .byte 0x3 + .byte 0xc3 + .byte 0x11 + .long 0x44a + .byte 0x8 + .uleb128 0x3 + .long .LASF94 + .byte 0x3 + .byte 0xca + .byte 0xf + .long 0x2b5 + .byte 0x10 + .uleb128 0x17 + .string "doc" + .byte 0xcf + .byte 0xf + .long 0x2b5 + .byte 0x18 + .uleb128 0x3 + .long .LASF95 + .byte 0x3 + .byte 0xd7 + .byte 0x1c + .long 0x5fc + .byte 0x20 + .uleb128 0x3 + .long .LASF96 + .byte 0x3 + .byte 0xe3 + .byte 0xb + .long 0x61a + .byte 0x28 + .uleb128 0x3 + .long .LASF97 + .byte 0x3 + .byte 0xe8 + .byte 0xf + .long 0x2b5 + .byte 0x30 + .byte 0 + .uleb128 0x12 + .long 0x543 + .uleb128 0x6 + .long 0x445 + .uleb128 0x13 + .long .LASF98 + .byte 0x20 + .byte 0x3 + .byte 0xf8 + .byte 0x8 + .long 0x5f7 + .uleb128 0x3 + .long .LASF91 + .byte 0x3 + .byte 0xfb + .byte 0x16 + .long 0x61f + .byte 0 + .uleb128 0x3 + .long .LASF75 + .byte 0x3 + .byte 0xfe + .byte 0x7 + .long 0x58 + .byte 0x8 + .uleb128 0x7 + .long .LASF99 + .value 0x104 + .byte 0xf + .long 0x2b5 + .byte 0x10 + .uleb128 0x7 + .long .LASF76 + .value 0x10c + .byte 0x7 + .long 0x58 + .byte 0x18 + .byte 0 + .uleb128 0x12 + .long 0x5b5 + .uleb128 0x6 + .long 0x5f7 + .uleb128 0x20 + .long 0x9d + .long 0x61a + .uleb128 0x4 + .long 0x58 + .uleb128 0x4 + .long 0x2b5 + .uleb128 0x4 + .long 0x96 + .byte 0 + .uleb128 0x6 + .long 0x601 + .uleb128 0x6 + .long 0x5ab + .uleb128 0xe + .long 0x61f + .uleb128 0x6 + .long 0x96 + .uleb128 0x2c + .long .LASF100 + .byte 0x3 + .value 0x191 + .byte 0x14 + .long 0x2b5 + .uleb128 0x2d + .long .LASF101 + .byte 0x1 + .byte 0xb + .byte 0xd + .long 0x2b5 + .uleb128 0x9 + .byte 0x3 + .quad arg_program_version + .uleb128 0x2e + .long 0x62e + .uleb128 0x9 + .byte 0x3 + .quad argp_program_bug_address + .uleb128 0x15 + .long 0xa2 + .long 0x670 + .uleb128 0x16 + .long 0x43 + .byte 0x17 + .byte 0 + .uleb128 0x2f + .string "doc" + .byte 0x1 + .byte 0xd + .byte 0xd + .long 0x660 + .uleb128 0x9 + .byte 0x3 + .quad doc + .uleb128 0x15 + .long 0xa2 + .long 0x696 + .uleb128 0x16 + .long 0x43 + .byte 0xe + .byte 0 + .uleb128 0x1a + .long .LASF94 + .byte 0xe + .byte 0xd + .long 0x686 + .uleb128 0x9 + .byte 0x3 + .quad args_doc + .uleb128 0x15 + .long 0x3ec + .long 0x6bb + .uleb128 0x16 + .long 0x43 + .byte 0x2 + .byte 0 + .uleb128 0x1a + .long .LASF92 + .byte 0x10 + .byte 0x1b + .long 0x6ab + .uleb128 0x9 + .byte 0x3 + .quad options + .uleb128 0x1a + .long .LASF91 + .byte 0x5e + .byte 0x14 + .long 0x543 + .uleb128 0x9 + .byte 0x3 + .quad argp + .uleb128 0xf + .long .LASF102 + .byte 0xf + .byte 0x31 + .byte 0xc + .long 0x58 + .long 0x706 + .uleb128 0x4 + .long 0x2c9 + .uleb128 0x4 + .long 0x58 + .uleb128 0x4 + .long 0x2ba + .uleb128 0x1b + .byte 0 + .uleb128 0x21 + .long .LASF106 + .value 0x1c8 + .long 0x721 + .uleb128 0x4 + .long 0x726 + .uleb128 0x4 + .long 0x2c9 + .uleb128 0x4 + .long 0x3c + .byte 0 + .uleb128 0x6 + .long 0x53e + .uleb128 0xe + .long 0x721 + .uleb128 0xf + .long .LASF103 + .byte 0x10 + .byte 0x9c + .byte 0xc + .long 0x58 + .long 0x746 + .uleb128 0x4 + .long 0x2b5 + .uleb128 0x4 + .long 0x2b5 + .byte 0 + .uleb128 0xf + .long .LASF104 + .byte 0x10 + .byte 0x9f + .byte 0xc + .long 0x58 + .long 0x766 + .uleb128 0x4 + .long 0x2b5 + .uleb128 0x4 + .long 0x2b5 + .uleb128 0x4 + .long 0xc6 + .byte 0 + .uleb128 0x30 + .long .LASF105 + .byte 0x11 + .value 0x2f4 + .byte 0xd + .long 0x779 + .uleb128 0x4 + .long 0x58 + .byte 0 + .uleb128 0x21 + .long .LASF107 + .value 0x1d6 + .long 0x790 + .uleb128 0x4 + .long 0x726 + .uleb128 0x4 + .long 0x2ba + .uleb128 0x1b + .byte 0 + .uleb128 0x31 + .long .LASF159 + .byte 0x13 + .byte 0x56 + .byte 0x6 + .uleb128 0x18 + .long .LASF108 + .byte 0xc + .byte 0x1b + .long 0x7a9 + .uleb128 0x4 + .long 0x33a + .byte 0 + .uleb128 0x18 + .long .LASF109 + .byte 0xd + .byte 0x8 + .long 0x7ba + .uleb128 0x4 + .long 0x34b + .byte 0 + .uleb128 0xf + .long .LASF110 + .byte 0xd + .byte 0xd + .byte 0x7 + .long 0x34b + .long 0x7d0 + .uleb128 0x4 + .long 0x33a + .byte 0 + .uleb128 0xf + .long .LASF111 + .byte 0xc + .byte 0x18 + .byte 0xa + .long 0xba + .long 0x7e6 + .uleb128 0x4 + .long 0x33a + .byte 0 + .uleb128 0x18 + .long .LASF112 + .byte 0xa + .byte 0x20 + .long 0x7f7 + .uleb128 0x4 + .long 0x2e2 + .byte 0 + .uleb128 0x18 + .long .LASF113 + .byte 0xc + .byte 0x15 + .long 0x812 + .uleb128 0x4 + .long 0x33a + .uleb128 0x4 + .long 0x2e2 + .uleb128 0x4 + .long 0x2bf + .byte 0 + .uleb128 0xf + .long .LASF114 + .byte 0xa + .byte 0x11 + .byte 0x8 + .long 0x2e2 + .long 0x82d + .uleb128 0x4 + .long 0x2b5 + .uleb128 0x4 + .long 0x2b5 + .byte 0 + .uleb128 0xf + .long .LASF115 + .byte 0xc + .byte 0x12 + .byte 0x9 + .long 0x33a + .long 0x843 + .uleb128 0x4 + .long 0x843 + .byte 0 + .uleb128 0x6 + .long 0x38a + .uleb128 0x32 + .long .LASF116 + .byte 0x3 + .value 0x172 + .byte 0x10 + .long 0x3e0 + .long 0x878 + .uleb128 0x4 + .long 0x624 + .uleb128 0x4 + .long 0x58 + .uleb128 0x4 + .long 0x3d1 + .uleb128 0x4 + .long 0x3c + .uleb128 0x4 + .long 0x3db + .uleb128 0x4 + .long 0x98 + .byte 0 + .uleb128 0x33 + .long .LASF160 + .byte 0x1 + .byte 0x75 + .byte 0x1 + .long 0x58 + .quad .LFB63 + .quad .LFE63-.LFB63 + .uleb128 0x1 + .byte 0x9c + .long 0xf43 + .uleb128 0x10 + .long .LASF80 + .byte 0x75 + .byte 0xb + .long 0x58 + .long .LLST24 + .long .LVUS24 + .uleb128 0x10 + .long .LASF81 + .byte 0x75 + .byte 0x18 + .long 0x3cc + .long .LLST25 + .long .LVUS25 + .uleb128 0x34 + .long .LASF121 + .byte 0x1 + .byte 0x77 + .byte 0x1b + .long 0x38a + .uleb128 0xd + .long .LASF117 + .byte 0x81 + .byte 0x1d + .long 0x33a + .long .LLST26 + .long .LVUS26 + .uleb128 0xd + .long .LASF118 + .byte 0x8b + .byte 0x1d + .long 0xba + .long .LLST27 + .long .LVUS27 + .uleb128 0xd + .long .LASF119 + .byte 0x8c + .byte 0x1d + .long 0x34b + .long .LLST28 + .long .LVUS28 + .uleb128 0x35 + .long .LASF161 + .byte 0x1 + .byte 0x94 + .byte 0x1 + .quad .L182 + .uleb128 0x22 + .long .LLRL31 + .long 0xa55 + .uleb128 0x23 + .string "i" + .byte 0x7f + .long 0xc6 + .long .LLST32 + .long .LVUS32 + .uleb128 0x11 + .long 0x1a7b + .quad .LBI36 + .byte .LVU237 + .quad .LBB36 + .quad .LBE36-.LBB36 + .byte 0x80 + .byte 0x5 + .long 0x9ac + .uleb128 0x8 + .long 0x1a97 + .long .LLST33 + .long .LVUS33 + .uleb128 0x8 + .long 0x1a8c + .long .LLST34 + .long .LVUS34 + .uleb128 0xa + .quad .LVL140 + .long 0x6e5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC16 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x80 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x5 + .quad .LVL138 + .long 0x1aa4 + .uleb128 0x2 + .quad .LVL143 + .long 0x1aad + .long 0x9de + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data69 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL144 + .long 0x1ab6 + .long 0xa03 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data70 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL145 + .long 0x1aa4 + .long 0xa1b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL146 + .long 0x1aa4 + .uleb128 0x2 + .quad .LVL147 + .long 0x1abf + .long 0xa47 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data29 + .byte 0 + .uleb128 0x5 + .quad .LVL148 + .long 0x1aa4 + .byte 0 + .uleb128 0x36 + .quad .LBB39 + .quad .LBE39-.LBB39 + .long 0xc3f + .uleb128 0x23 + .string "i" + .byte 0x82 + .long 0xc6 + .long .LLST35 + .long .LVUS35 + .uleb128 0x22 + .long .LLRL36 + .long 0xc31 + .uleb128 0xd + .long .LASF120 + .byte 0x84 + .byte 0x1f + .long 0x2e2 + .long .LLST37 + .long .LVUS37 + .uleb128 0x5 + .quad .LVL152 + .long 0x1aa4 + .uleb128 0x2 + .quad .LVL153 + .long 0x812 + .long 0xac8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x9 + .byte 0x3 + .quad .LC17 + .byte 0 + .uleb128 0x2 + .quad .LVL156 + .long 0x1aad + .long 0xaed + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data73 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL158 + .long 0x1ab6 + .long 0xb12 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data72 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL159 + .long 0x1aa4 + .long 0xb2a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL160 + .long 0x1abf + .long 0xb49 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data31 + .byte 0 + .uleb128 0x5 + .quad .LVL162 + .long 0x1aa4 + .uleb128 0x2 + .quad .LVL163 + .long 0x7f7 + .long 0xb7c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -200 + .byte 0x6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL164 + .long 0x7e6 + .long 0xb94 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL166 + .long 0x1aad + .long 0xbb9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data71 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL168 + .long 0x1ab6 + .long 0xbde + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data74 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL169 + .long 0x1aa4 + .long 0xbf6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL170 + .long 0x1abf + .long 0xc15 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data33 + .byte 0 + .uleb128 0xa + .quad .LVL171 + .long 0x1abf + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data35 + .byte 0 + .byte 0 + .uleb128 0x5 + .quad .LVL173 + .long 0x1aa4 + .byte 0 + .uleb128 0x11 + .long 0x1a7b + .quad .LBI33 + .byte .LVU219 + .quad .LBB33 + .quad .LBE33-.LBB33 + .byte 0x7d + .byte 0x3 + .long 0xcbd + .uleb128 0x8 + .long 0x1a97 + .long .LLST29 + .long .LVUS29 + .uleb128 0x8 + .long 0x1a8c + .long .LLST30 + .long .LVUS30 + .uleb128 0xa + .quad .LVL129 + .long 0x6e5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC15 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x7d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x11 + .long 0x1a7b + .quad .LBI42 + .byte .LVU303 + .quad .LBB42 + .quad .LBE42-.LBB42 + .byte 0x8f + .byte 0x7 + .long 0xd3b + .uleb128 0x8 + .long 0x1a97 + .long .LLST38 + .long .LVUS38 + .uleb128 0x8 + .long 0x1a8c + .long .LLST39 + .long .LVUS39 + .uleb128 0xa + .quad .LVL194 + .long 0x6e5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC18 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x8f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x2 + .quad .LVL124 + .long 0x127a + .long 0xd53 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL125 + .long 0x848 + .long 0xd8e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad argp + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x1 + .byte 0x30 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x1 + .byte 0x30 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL126 + .long 0xf43 + .long 0xda6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL132 + .long 0x1ac8 + .uleb128 0x2 + .quad .LVL133 + .long 0x1ad1 + .long 0xdca + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x48 + .byte 0 + .uleb128 0x5 + .quad .LVL134 + .long 0x1aa4 + .uleb128 0x5 + .quad .LVL135 + .long 0x1aa4 + .uleb128 0x2 + .quad .LVL136 + .long 0x1abf + .long 0xe03 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data27 + .byte 0 + .uleb128 0x2 + .quad .LVL149 + .long 0x82d + .long 0xe1c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x3 + .byte 0x73 + .sleb128 -96 + .byte 0 + .uleb128 0x2 + .quad .LVL174 + .long 0x7d0 + .long 0xe34 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL177 + .long 0x7ba + .long 0xe4e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -200 + .byte 0x6 + .byte 0 + .uleb128 0x2 + .quad .LVL180 + .long 0x7a9 + .long 0xe66 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL181 + .long 0x798 + .long 0xe80 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x4 + .byte 0x91 + .sleb128 -200 + .byte 0x6 + .byte 0 + .uleb128 0x5 + .quad .LVL182 + .long 0x790 + .uleb128 0x2 + .quad .LVL188 + .long 0x1abf + .long 0xeac + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data37 + .byte 0 + .uleb128 0x2 + .quad .LVL190 + .long 0x1abf + .long 0xecb + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data38 + .byte 0 + .uleb128 0x5 + .quad .LVL195 + .long 0x1aa4 + .uleb128 0x2 + .quad .LVL196 + .long 0x1abf + .long 0xef7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data39 + .byte 0 + .uleb128 0x2 + .quad .LVL197 + .long 0x1abf + .long 0xf16 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data41 + .byte 0 + .uleb128 0x2 + .quad .LVL198 + .long 0x1abf + .long 0xf35 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data42 + .byte 0 + .uleb128 0x5 + .quad .LVL200 + .long 0x1ada + .byte 0 + .uleb128 0x24 + .long .LASF122 + .byte 0x6b + .quad .LFB62 + .quad .LFE62-.LFB62 + .uleb128 0x1 + .byte 0x9c + .long 0x127a + .uleb128 0x10 + .long .LASF121 + .byte 0x6b + .byte 0x2e + .long 0x843 + .long .LLST0 + .long .LVUS0 + .uleb128 0x11 + .long 0x1a7b + .quad .LBI21 + .byte .LVU4 + .quad .LBB21 + .quad .LBE21-.LBB21 + .byte 0x6d + .byte 0x3 + .long 0xfea + .uleb128 0x8 + .long 0x1a97 + .long .LLST1 + .long .LVUS1 + .uleb128 0x8 + .long 0x1a8c + .long .LLST2 + .long .LVUS2 + .uleb128 0xa + .quad .LVL3 + .long 0x6e5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x6d + .byte 0 + .byte 0 + .uleb128 0x11 + .long 0x1a7b + .quad .LBI23 + .byte .LVU13 + .quad .LBB23 + .quad .LBE23-.LBB23 + .byte 0x6e + .byte 0x3 + .long 0x1068 + .uleb128 0x8 + .long 0x1a97 + .long .LLST3 + .long .LVUS3 + .uleb128 0x8 + .long 0x1a8c + .long .LLST4 + .long .LVUS4 + .uleb128 0xa + .quad .LVL5 + .long 0x6e5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC4 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x6e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x11 + .long 0x1a7b + .quad .LBI25 + .byte .LVU18 + .quad .LBB25 + .quad .LBE25-.LBB25 + .byte 0x6f + .byte 0x3 + .long 0x10e0 + .uleb128 0x8 + .long 0x1a97 + .long .LLST5 + .long .LVUS5 + .uleb128 0x8 + .long 0x1a8c + .long .LLST6 + .long .LVUS6 + .uleb128 0xa + .quad .LVL7 + .long 0x6e5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x6f + .byte 0 + .byte 0 + .uleb128 0x11 + .long 0x1a7b + .quad .LBI27 + .byte .LVU28 + .quad .LBB27 + .quad .LBE27-.LBB27 + .byte 0x70 + .byte 0x3 + .long 0x115e + .uleb128 0x8 + .long 0x1a97 + .long .LLST7 + .long .LVUS7 + .uleb128 0x8 + .long 0x1a8c + .long .LLST8 + .long .LVUS8 + .uleb128 0xa + .quad .LVL10 + .long 0x6e5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x70 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x5 + .quad .LVL12 + .long 0x1aa4 + .uleb128 0x2 + .quad .LVL13 + .long 0x1abf + .long 0x118a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data11 + .byte 0 + .uleb128 0x2 + .quad .LVL14 + .long 0x1ab6 + .long 0x11af + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data43 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL15 + .long 0x1aad + .long 0x11d4 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data44 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL16 + .long 0x1aa4 + .uleb128 0x2 + .quad .LVL17 + .long 0x1abf + .long 0x1200 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data13 + .byte 0 + .uleb128 0x5 + .quad .LVL18 + .long 0x1aa4 + .uleb128 0x2 + .quad .LVL19 + .long 0x1abf + .long 0x122c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data15 + .byte 0 + .uleb128 0x2 + .quad .LVL20 + .long 0x1ab6 + .long 0x1251 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data45 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL21 + .long 0x1aa4 + .uleb128 0xa + .quad .LVL22 + .long 0x1abf + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data17 + .byte 0 + .byte 0 + .uleb128 0x24 + .long .LASF123 + .byte 0x63 + .quad .LFB61 + .quad .LFE61-.LFB61 + .uleb128 0x1 + .byte 0x9c + .long 0x133a + .uleb128 0x10 + .long .LASF121 + .byte 0x63 + .byte 0x2d + .long 0x843 + .long .LLST9 + .long .LVUS9 + .uleb128 0x2 + .quad .LVL27 + .long 0x1ab6 + .long 0x12ce + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data46 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL28 + .long 0x1aad + .long 0x12f3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data47 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL29 + .long 0x1ae3 + .uleb128 0x2 + .quad .LVL30 + .long 0x1ab6 + .long 0x1325 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data48 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0xa + .quad .LVL31 + .long 0x1ae3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x1c + .long .LASF126 + .byte 0x3b + .long 0x3e0 + .quad .LFB60 + .quad .LFE60-.LFB60 + .uleb128 0x1 + .byte 0x9c + .long 0x1791 + .uleb128 0x19 + .string "key" + .byte 0x3b + .byte 0x10 + .long 0x58 + .long .LLST18 + .long .LVUS18 + .uleb128 0x19 + .string "arg" + .byte 0x3b + .byte 0x1b + .long 0x9d + .long .LLST19 + .long .LVUS19 + .uleb128 0x10 + .long .LASF124 + .byte 0x3b + .byte 0x33 + .long 0x474 + .long .LLST20 + .long .LVUS20 + .uleb128 0xd + .long .LASF125 + .byte 0x3d + .byte 0x1c + .long 0x843 + .long .LLST21 + .long .LVUS21 + .uleb128 0x37 + .long 0x1a5f + .quad .LBI29 + .byte .LVU203 + .long .LLRL22 + .byte 0x1 + .byte 0x54 + .byte 0x9 + .long 0x13f9 + .uleb128 0x8 + .long 0x1a6d + .long .LLST23 + .long .LVUS23 + .uleb128 0x2 + .quad .LVL118 + .long 0x706 + .long 0x13eb + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x3 + .byte 0xa + .value 0x106 + .byte 0 + .uleb128 0x5 + .quad .LVL121 + .long 0x1aa4 + .byte 0 + .uleb128 0x2 + .quad .LVL80 + .long 0x1791 + .long 0x1417 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL84 + .long 0x1ab6 + .long 0x143c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data54 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL85 + .long 0x1aad + .long 0x1461 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data55 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL86 + .long 0x1aa4 + .uleb128 0x2 + .quad .LVL88 + .long 0x1aad + .long 0x1493 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data58 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7f + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL90 + .long 0x1ab6 + .long 0x14b8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data56 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL91 + .long 0x1aa4 + .uleb128 0x2 + .quad .LVL92 + .long 0x1ab6 + .long 0x14ea + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data57 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL93 + .long 0x1aec + .uleb128 0x2 + .quad .LVL98 + .long 0x1ab6 + .long 0x151c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data59 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL99 + .long 0x1aad + .long 0x1541 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data60 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL100 + .long 0x1af5 + .uleb128 0x2 + .quad .LVL101 + .long 0x1ab6 + .long 0x1573 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data61 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL102 + .long 0x1aec + .uleb128 0x2 + .quad .LVL103 + .long 0x1ab6 + .long 0x15a5 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data62 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL104 + .long 0x1afe + .long 0x15df + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data68 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x8 + .byte 0x7e + .sleb128 0 + .byte 0x8 + .byte 0x20 + .byte 0x24 + .byte 0x8 + .byte 0x20 + .byte 0x26 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0xb + .byte 0x91 + .sleb128 -68 + .byte 0x94 + .byte 0x4 + .byte 0x8 + .byte 0x20 + .byte 0x24 + .byte 0x8 + .byte 0x20 + .byte 0x26 + .byte 0 + .uleb128 0x2 + .quad .LVL105 + .long 0x1ab6 + .long 0x1604 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data63 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL106 + .long 0x1aad + .long 0x1629 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data64 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL107 + .long 0x1af5 + .uleb128 0x2 + .quad .LVL108 + .long 0x1ab6 + .long 0x165b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data65 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL109 + .long 0x1ab6 + .long 0x1680 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data66 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL111 + .long 0x1907 + .long 0x169e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL112 + .long 0x779 + .long 0x16c3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x9 + .byte 0x3 + .quad .LC10 + .byte 0 + .uleb128 0x2 + .quad .LVL113 + .long 0x779 + .long 0x16ee + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x9 + .byte 0x3 + .quad .LC11 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL114 + .long 0x779 + .long 0x1713 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x9 + .byte 0x3 + .quad .LC12 + .byte 0 + .uleb128 0x2 + .quad .LVL115 + .long 0x779 + .long 0x173e + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x9 + .byte 0x3 + .quad .LC13 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL116 + .long 0x1ab6 + .long 0x1763 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data67 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL117 + .long 0x1aec + .uleb128 0x5 + .quad .LVL119 + .long 0x1b07 + .uleb128 0xa + .quad .LVL120 + .long 0x766 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .byte 0 + .uleb128 0x1c + .long .LASF127 + .byte 0x29 + .long 0x372 + .quad .LFB59 + .quad .LFE59-.LFB59 + .uleb128 0x1 + .byte 0x9c + .long 0x1907 + .uleb128 0x10 + .long .LASF121 + .byte 0x29 + .byte 0x2e + .long 0x843 + .long .LLST14 + .long .LVUS14 + .uleb128 0x19 + .string "arg" + .byte 0x29 + .byte 0x3a + .long 0x9d + .long .LLST15 + .long .LVUS15 + .uleb128 0xd + .long .LASF128 + .byte 0x2b + .byte 0x7 + .long 0x372 + .long .LLST16 + .long .LVUS16 + .uleb128 0xd + .long .LASF129 + .byte 0x2c + .byte 0x7 + .long 0x372 + .long .LLST17 + .long .LVUS17 + .uleb128 0x2 + .quad .LVL57 + .long 0x746 + .long 0x1827 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x9 + .byte 0x3 + .quad .LC7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x33 + .byte 0 + .uleb128 0x2 + .quad .LVL61 + .long 0x72b + .long 0x184c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x9 + .byte 0x3 + .quad .LC9 + .byte 0 + .uleb128 0x2 + .quad .LVL68 + .long 0x1abf + .long 0x186b + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data23 + .byte 0 + .uleb128 0x2 + .quad .LVL70 + .long 0x1aad + .long 0x1890 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data51 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL72 + .long 0x1abf + .long 0x18af + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data25 + .byte 0 + .uleb128 0x2 + .quad .LVL74 + .long 0x1ab6 + .long 0x18d4 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data52 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL75 + .long 0x1aad + .long 0x18f9 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data53 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x5 + .quad .LVL76 + .long 0x1ae3 + .byte 0 + .uleb128 0x1c + .long .LASF130 + .byte 0x17 + .long 0x372 + .quad .LFB58 + .quad .LFE58-.LFB58 + .uleb128 0x1 + .byte 0x9c + .long 0x1a5f + .uleb128 0x10 + .long .LASF121 + .byte 0x17 + .byte 0x2d + .long 0x843 + .long .LLST10 + .long .LVUS10 + .uleb128 0x19 + .string "arg" + .byte 0x17 + .byte 0x39 + .long 0x9d + .long .LLST11 + .long .LVUS11 + .uleb128 0xd + .long .LASF128 + .byte 0x19 + .byte 0x7 + .long 0x372 + .long .LLST12 + .long .LVUS12 + .uleb128 0xd + .long .LASF129 + .byte 0x1a + .byte 0x7 + .long 0x372 + .long .LLST13 + .long .LVUS13 + .uleb128 0x2 + .quad .LVL35 + .long 0x746 + .long 0x199d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x9 + .byte 0x3 + .quad .LC7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x33 + .byte 0 + .uleb128 0x2 + .quad .LVL39 + .long 0x72b + .long 0x19c2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x9 + .byte 0x3 + .quad .LC8 + .byte 0 + .uleb128 0x2 + .quad .LVL46 + .long 0x1abf + .long 0x19e1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data19 + .byte 0 + .uleb128 0x2 + .quad .LVL48 + .long 0x1aad + .long 0x1a06 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data49 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x2 + .quad .LVL50 + .long 0x1abf + .long 0x1a25 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data21 + .byte 0 + .uleb128 0x2 + .quad .LVL52 + .long 0x1ab6 + .long 0x1a4a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data50 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0xa + .quad .LVL53 + .long 0x1ae3 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x38 + .long .LASF131 + .byte 0x3 + .value 0x20e + .byte 0x1 + .byte 0x3 + .long 0x1a7b + .uleb128 0x39 + .long .LASF132 + .byte 0x3 + .value 0x20e + .byte 0x26 + .long 0x721 + .byte 0 + .uleb128 0x3a + .long .LASF162 + .byte 0x2 + .byte 0x4d + .byte 0x1 + .long 0x58 + .byte 0x3 + .long 0x1aa4 + .uleb128 0x25 + .long .LASF133 + .byte 0x4d + .byte 0x1b + .long 0x2c9 + .uleb128 0x25 + .long .LASF134 + .byte 0x4d + .byte 0x3c + .long 0x2ba + .uleb128 0x1b + .byte 0 + .uleb128 0xc + .long .LASF135 + .long .LASF137 + .uleb128 0xc + .long .LASF136 + .long .LASF138 + .uleb128 0xc + .long .LASF139 + .long .LASF140 + .uleb128 0xc + .long .LASF141 + .long .LASF142 + .uleb128 0x26 + .long .LASF145 + .long .LASF145 + .uleb128 0xc + .long .LASF143 + .long .LASF144 + .uleb128 0x26 + .long .LASF146 + .long .LASF146 + .uleb128 0xc + .long .LASF147 + .long .LASF148 + .uleb128 0xc + .long .LASF149 + .long .LASF150 + .uleb128 0xc + .long .LASF151 + .long .LASF152 + .uleb128 0xc + .long .LASF153 + .long .LASF154 + .uleb128 0xc + .long .LASF155 + .long .LASF156 + .byte 0 + .section .debug_abbrev,"",@progbits +.Ldebug_abbrev0: + .uleb128 0x1 + .uleb128 0x49 + .byte 0 + .uleb128 0x2 + .uleb128 0x18 + .uleb128 0x7e + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x2 + .uleb128 0x48 + .byte 0x1 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x3 + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x4 + .uleb128 0x5 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x5 + .uleb128 0x48 + .byte 0 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x6 + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0x21 + .sleb128 8 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x7 + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 3 + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x8 + .uleb128 0x5 + .byte 0 + .uleb128 0x31 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x9 + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xa + .uleb128 0x48 + .byte 0x1 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xb + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .byte 0 + .byte 0 + .uleb128 0xc + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x6e + .uleb128 0xe + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 18 + .uleb128 0x3b + .uleb128 0x21 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0xd + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0xe + .uleb128 0x37 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xf + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x10 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x11 + .uleb128 0x1d + .byte 0x1 + .uleb128 0x31 + .uleb128 0x13 + .uleb128 0x52 + .uleb128 0x1 + .uleb128 0x2138 + .uleb128 0xb + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x58 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x59 + .uleb128 0xb + .uleb128 0x57 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x12 + .uleb128 0x26 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x13 + .uleb128 0x13 + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x14 + .uleb128 0x13 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x15 + .uleb128 0x1 + .byte 0x1 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x16 + .uleb128 0x21 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2f + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x17 + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0x21 + .sleb128 3 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x18 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 6 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x19 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x1a + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x1b + .uleb128 0x18 + .byte 0 + .byte 0 + .byte 0 + .uleb128 0x1c + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x1d + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 9 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 14 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x1e + .uleb128 0x13 + .byte 0x1 + .uleb128 0xb + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3a + .uleb128 0x21 + .sleb128 14 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 3 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x1f + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 14 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 9 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0xd + .uleb128 0x21 + .sleb128 1 + .uleb128 0x6b + .uleb128 0x21 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x20 + .uleb128 0x15 + .byte 0x1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x21 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 3 + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0x21 + .sleb128 13 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x22 + .uleb128 0xb + .byte 0x1 + .uleb128 0x55 + .uleb128 0x17 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x23 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 15 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x24 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x25 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 2 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x26 + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x6e + .uleb128 0xe + .uleb128 0x3 + .uleb128 0xe + .byte 0 + .byte 0 + .uleb128 0x27 + .uleb128 0x11 + .byte 0x1 + .uleb128 0x25 + .uleb128 0xe + .uleb128 0x13 + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x1f + .uleb128 0x1b + .uleb128 0x1f + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x10 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x28 + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x8 + .byte 0 + .byte 0 + .uleb128 0x29 + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x2a + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x2b + .uleb128 0x13 + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x2c + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x2d + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x2 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x2e + .uleb128 0x34 + .byte 0 + .uleb128 0x47 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x2f + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x30 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x87 + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x31 + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x32 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x33 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x34 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x35 + .uleb128 0xa + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x11 + .uleb128 0x1 + .byte 0 + .byte 0 + .uleb128 0x36 + .uleb128 0xb + .byte 0x1 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x37 + .uleb128 0x1d + .byte 0x1 + .uleb128 0x31 + .uleb128 0x13 + .uleb128 0x52 + .uleb128 0x1 + .uleb128 0x2138 + .uleb128 0xb + .uleb128 0x55 + .uleb128 0x17 + .uleb128 0x58 + .uleb128 0xb + .uleb128 0x59 + .uleb128 0xb + .uleb128 0x57 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x38 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x20 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x39 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x3a + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x20 + .uleb128 0xb + .uleb128 0x34 + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .byte 0 + .section .debug_loclists,"",@progbits + .long .Ldebug_loc3-.Ldebug_loc2 +.Ldebug_loc2: + .value 0x5 + .byte 0x8 + .byte 0 + .long 0 +.Ldebug_loc0: +.LVUS24: + .uleb128 0 + .uleb128 .LVU210 + .uleb128 .LVU210 + .uleb128 .LVU227 + .uleb128 .LVU227 + .uleb128 .LVU229 + .uleb128 .LVU229 + .uleb128 .LVU234 + .uleb128 .LVU234 + .uleb128 0 +.LLST24: + .byte 0x4 + .uleb128 .LVL122-.Ltext0 + .uleb128 .LVL123-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL123-.Ltext0 + .uleb128 .LVL130-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL130-.Ltext0 + .uleb128 .LVL131-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL131-.Ltext0 + .uleb128 .LVL137-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL137-.Ltext0 + .uleb128 .LFE63-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS25: + .uleb128 0 + .uleb128 .LVU210 + .uleb128 .LVU210 + .uleb128 .LVU218 + .uleb128 .LVU218 + .uleb128 .LVU227 + .uleb128 .LVU227 + .uleb128 .LVU230 + .uleb128 .LVU230 + .uleb128 .LVU233 + .uleb128 .LVU233 + .uleb128 0 +.LLST25: + .byte 0x4 + .uleb128 .LVL122-.Ltext0 + .uleb128 .LVL123-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL123-.Ltext0 + .uleb128 .LVL127-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL127-.Ltext0 + .uleb128 .LVL130-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL130-.Ltext0 + .uleb128 .LVL132-1-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL132-1-.Ltext0 + .uleb128 .LVL134-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL134-.Ltext0 + .uleb128 .LFE63-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0 +.LVUS26: + .uleb128 .LVU253 + .uleb128 .LVU257 + .uleb128 .LVU257 + .uleb128 .LVU294 + .uleb128 .LVU298 + .uleb128 .LVU312 +.LLST26: + .byte 0x4 + .uleb128 .LVL150-.Ltext0 + .uleb128 .LVL151-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL151-.Ltext0 + .uleb128 .LVL183-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -200 + .byte 0x4 + .uleb128 .LVL187-.Ltext0 + .uleb128 .LVL199-.Ltext0 + .uleb128 0x3 + .byte 0x91 + .sleb128 -200 + .byte 0 +.LVUS27: + .uleb128 .LVU284 + .uleb128 .LVU286 + .uleb128 .LVU286 + .uleb128 .LVU296 + .uleb128 .LVU299 + .uleb128 .LVU300 + .uleb128 .LVU300 + .uleb128 0 +.LLST27: + .byte 0x4 + .uleb128 .LVL175-.Ltext0 + .uleb128 .LVL176-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL176-.Ltext0 + .uleb128 .LVL185-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL189-.Ltext0 + .uleb128 .LVL190-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL190-1-.Ltext0 + .uleb128 .LFE63-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS28: + .uleb128 .LVU287 + .uleb128 .LVU289 + .uleb128 .LVU289 + .uleb128 .LVU295 + .uleb128 .LVU301 + .uleb128 .LVU302 + .uleb128 .LVU302 + .uleb128 0 +.LLST28: + .byte 0x4 + .uleb128 .LVL178-.Ltext0 + .uleb128 .LVL179-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL179-.Ltext0 + .uleb128 .LVL184-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL191-.Ltext0 + .uleb128 .LVL192-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL192-.Ltext0 + .uleb128 .LFE63-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS32: + .uleb128 .LVU225 + .uleb128 .LVU227 + .uleb128 .LVU234 + .uleb128 .LVU257 +.LLST32: + .byte 0x4 + .uleb128 .LVL129-.Ltext0 + .uleb128 .LVL130-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL137-.Ltext0 + .uleb128 .LVL151-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS33: + .uleb128 .LVU237 + .uleb128 .LVU240 +.LLST33: + .byte 0x4 + .uleb128 .LVL139-.Ltext0 + .uleb128 .LVL140-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC16 + .byte 0x9f + .byte 0 +.LVUS34: + .uleb128 .LVU237 + .uleb128 .LVU240 +.LLST34: + .byte 0x4 + .uleb128 .LVL139-.Ltext0 + .uleb128 .LVL140-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS35: + .uleb128 .LVU255 + .uleb128 .LVU257 + .uleb128 .LVU257 + .uleb128 .LVU297 + .uleb128 .LVU298 + .uleb128 0 +.LLST35: + .byte 0x4 + .uleb128 .LVL150-.Ltext0 + .uleb128 .LVL151-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL151-.Ltext0 + .uleb128 .LVL186-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0x4 + .uleb128 .LVL187-.Ltext0 + .uleb128 .LFE63-.Ltext0 + .uleb128 0x1 + .byte 0x5f + .byte 0 +.LVUS37: + .uleb128 .LVU260 + .uleb128 .LVU264 + .uleb128 .LVU264 + .uleb128 .LVU266 + .uleb128 .LVU267 + .uleb128 .LVU273 + .uleb128 .LVU279 + .uleb128 .LVU280 +.LLST37: + .byte 0x4 + .uleb128 .LVL154-.Ltext0 + .uleb128 .LVL155-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL155-.Ltext0 + .uleb128 .LVL157-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL161-.Ltext0 + .uleb128 .LVL165-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL167-.Ltext0 + .uleb128 .LVL172-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0 +.LVUS29: + .uleb128 .LVU219 + .uleb128 .LVU222 +.LLST29: + .byte 0x4 + .uleb128 .LVL128-.Ltext0 + .uleb128 .LVL129-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC15 + .byte 0x9f + .byte 0 +.LVUS30: + .uleb128 .LVU219 + .uleb128 .LVU222 +.LLST30: + .byte 0x4 + .uleb128 .LVL128-.Ltext0 + .uleb128 .LVL129-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS38: + .uleb128 .LVU303 + .uleb128 .LVU306 +.LLST38: + .byte 0x4 + .uleb128 .LVL193-.Ltext0 + .uleb128 .LVL194-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC18 + .byte 0x9f + .byte 0 +.LVUS39: + .uleb128 .LVU303 + .uleb128 .LVU306 +.LLST39: + .byte 0x4 + .uleb128 .LVL193-.Ltext0 + .uleb128 .LVL194-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS0: + .uleb128 0 + .uleb128 .LVU3 + .uleb128 .LVU3 + .uleb128 .LVU27 + .uleb128 .LVU27 + .uleb128 .LVU33 + .uleb128 .LVU33 + .uleb128 .LVU42 + .uleb128 .LVU42 + .uleb128 0 +.LLST0: + .byte 0x4 + .uleb128 .LVL0-.Ltext0 + .uleb128 .LVL1-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL1-.Ltext0 + .uleb128 .LVL8-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL8-.Ltext0 + .uleb128 .LVL11-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL11-.Ltext0 + .uleb128 .LVL21-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL21-.Ltext0 + .uleb128 .LFE62-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS1: + .uleb128 .LVU4 + .uleb128 .LVU7 +.LLST1: + .byte 0x4 + .uleb128 .LVL2-.Ltext0 + .uleb128 .LVL3-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC3 + .byte 0x9f + .byte 0 +.LVUS2: + .uleb128 .LVU4 + .uleb128 .LVU7 +.LLST2: + .byte 0x4 + .uleb128 .LVL2-.Ltext0 + .uleb128 .LVL3-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS3: + .uleb128 .LVU13 + .uleb128 .LVU16 +.LLST3: + .byte 0x4 + .uleb128 .LVL4-.Ltext0 + .uleb128 .LVL5-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC4 + .byte 0x9f + .byte 0 +.LVUS4: + .uleb128 .LVU13 + .uleb128 .LVU16 +.LLST4: + .byte 0x4 + .uleb128 .LVL4-.Ltext0 + .uleb128 .LVL5-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS5: + .uleb128 .LVU18 + .uleb128 .LVU21 +.LLST5: + .byte 0x4 + .uleb128 .LVL6-.Ltext0 + .uleb128 .LVL7-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC5 + .byte 0x9f + .byte 0 +.LVUS6: + .uleb128 .LVU18 + .uleb128 .LVU21 +.LLST6: + .byte 0x4 + .uleb128 .LVL6-.Ltext0 + .uleb128 .LVL7-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS7: + .uleb128 .LVU28 + .uleb128 .LVU31 +.LLST7: + .byte 0x4 + .uleb128 .LVL9-.Ltext0 + .uleb128 .LVL10-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC6 + .byte 0x9f + .byte 0 +.LVUS8: + .uleb128 .LVU28 + .uleb128 .LVU31 +.LLST8: + .byte 0x4 + .uleb128 .LVL9-.Ltext0 + .uleb128 .LVL10-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS9: + .uleb128 0 + .uleb128 .LVU47 + .uleb128 .LVU47 + .uleb128 .LVU51 + .uleb128 .LVU51 + .uleb128 .LVU52 + .uleb128 .LVU52 + .uleb128 0 +.LLST9: + .byte 0x4 + .uleb128 .LVL23-.Ltext0 + .uleb128 .LVL24-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL24-.Ltext0 + .uleb128 .LVL25-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL25-.Ltext0 + .uleb128 .LVL26-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL26-.Ltext0 + .uleb128 .LFE61-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS18: + .uleb128 0 + .uleb128 .LVU128 + .uleb128 .LVU128 + .uleb128 .LVU136 + .uleb128 .LVU136 + .uleb128 .LVU138 + .uleb128 .LVU138 + .uleb128 .LVU174 + .uleb128 .LVU174 + .uleb128 .LVU176 + .uleb128 .LVU176 + .uleb128 0 +.LLST18: + .byte 0x4 + .uleb128 .LVL77-.Ltext0 + .uleb128 .LVL78-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL78-.Ltext0 + .uleb128 .LVL81-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL81-.Ltext0 + .uleb128 .LVL83-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL83-.Ltext0 + .uleb128 .LVL95-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL95-.Ltext0 + .uleb128 .LVL97-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL97-.Ltext0 + .uleb128 .LFE60-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS19: + .uleb128 0 + .uleb128 .LVU128 + .uleb128 .LVU128 + .uleb128 .LVU136 + .uleb128 .LVU136 + .uleb128 .LVU137 + .uleb128 .LVU137 + .uleb128 .LVU154 + .uleb128 .LVU154 + .uleb128 .LVU155 + .uleb128 .LVU155 + .uleb128 .LVU159 + .uleb128 .LVU159 + .uleb128 .LVU188 + .uleb128 .LVU188 + .uleb128 0 +.LLST19: + .byte 0x4 + .uleb128 .LVL77-.Ltext0 + .uleb128 .LVL78-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL78-.Ltext0 + .uleb128 .LVL81-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL81-.Ltext0 + .uleb128 .LVL82-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL82-.Ltext0 + .uleb128 .LVL87-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL87-.Ltext0 + .uleb128 .LVL89-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL89-.Ltext0 + .uleb128 .LVL93-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0x4 + .uleb128 .LVL93-.Ltext0 + .uleb128 .LVL110-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL110-.Ltext0 + .uleb128 .LFE60-.Ltext0 + .uleb128 0x1 + .byte 0x5e + .byte 0 +.LVUS20: + .uleb128 0 + .uleb128 .LVU128 + .uleb128 .LVU128 + .uleb128 .LVU136 + .uleb128 .LVU136 + .uleb128 .LVU139 + .uleb128 .LVU139 + .uleb128 .LVU173 + .uleb128 .LVU173 + .uleb128 .LVU176 + .uleb128 .LVU176 + .uleb128 0 +.LLST20: + .byte 0x4 + .uleb128 .LVL77-.Ltext0 + .uleb128 .LVL78-.Ltext0 + .uleb128 0x1 + .byte 0x51 + .byte 0x4 + .uleb128 .LVL78-.Ltext0 + .uleb128 .LVL81-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL81-.Ltext0 + .uleb128 .LVL84-1-.Ltext0 + .uleb128 0x1 + .byte 0x51 + .byte 0x4 + .uleb128 .LVL84-1-.Ltext0 + .uleb128 .LVL94-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL94-.Ltext0 + .uleb128 .LVL97-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x51 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL97-.Ltext0 + .uleb128 .LFE60-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS21: + .uleb128 .LVU129 + .uleb128 .LVU136 + .uleb128 .LVU142 + .uleb128 .LVU175 + .uleb128 .LVU176 + .uleb128 0 +.LLST21: + .byte 0x4 + .uleb128 .LVL79-.Ltext0 + .uleb128 .LVL81-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL86-.Ltext0 + .uleb128 .LVL96-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL97-.Ltext0 + .uleb128 .LFE60-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS23: + .uleb128 .LVU203 + .uleb128 .LVU205 + .uleb128 .LVU207 + .uleb128 0 +.LLST23: + .byte 0x4 + .uleb128 .LVL117-.Ltext0 + .uleb128 .LVL118-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL120-.Ltext0 + .uleb128 .LFE60-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS14: + .uleb128 0 + .uleb128 .LVU96 + .uleb128 .LVU96 + .uleb128 .LVU112 + .uleb128 .LVU112 + .uleb128 .LVU113 + .uleb128 .LVU113 + .uleb128 .LVU114 + .uleb128 .LVU114 + .uleb128 0 +.LLST14: + .byte 0x4 + .uleb128 .LVL54-.Ltext0 + .uleb128 .LVL56-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL56-.Ltext0 + .uleb128 .LVL65-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL65-.Ltext0 + .uleb128 .LVL66-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL66-.Ltext0 + .uleb128 .LVL67-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL67-.Ltext0 + .uleb128 .LFE59-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS15: + .uleb128 0 + .uleb128 .LVU96 + .uleb128 .LVU96 + .uleb128 .LVU111 + .uleb128 .LVU113 + .uleb128 0 +.LLST15: + .byte 0x4 + .uleb128 .LVL54-.Ltext0 + .uleb128 .LVL56-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL56-.Ltext0 + .uleb128 .LVL64-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL66-.Ltext0 + .uleb128 .LFE59-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS16: + .uleb128 .LVU93 + .uleb128 .LVU99 + .uleb128 .LVU99 + .uleb128 .LVU103 + .uleb128 .LVU113 + .uleb128 .LVU115 + .uleb128 .LVU115 + .uleb128 .LVU116 + .uleb128 .LVU116 + .uleb128 .LVU118 +.LLST16: + .byte 0x4 + .uleb128 .LVL55-.Ltext0 + .uleb128 .LVL58-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL58-.Ltext0 + .uleb128 .LVL60-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL66-.Ltext0 + .uleb128 .LVL69-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL69-.Ltext0 + .uleb128 .LVL71-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL71-.Ltext0 + .uleb128 .LVL73-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0 +.LVUS17: + .uleb128 .LVU94 + .uleb128 .LVU109 + .uleb128 .LVU109 + .uleb128 .LVU110 + .uleb128 .LVU113 + .uleb128 0 +.LLST17: + .byte 0x4 + .uleb128 .LVL55-.Ltext0 + .uleb128 .LVL62-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL62-.Ltext0 + .uleb128 .LVL63-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL66-.Ltext0 + .uleb128 .LFE59-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0 +.LVUS10: + .uleb128 0 + .uleb128 .LVU63 + .uleb128 .LVU63 + .uleb128 .LVU79 + .uleb128 .LVU79 + .uleb128 .LVU80 + .uleb128 .LVU80 + .uleb128 .LVU81 + .uleb128 .LVU81 + .uleb128 0 +.LLST10: + .byte 0x4 + .uleb128 .LVL32-.Ltext0 + .uleb128 .LVL34-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL34-.Ltext0 + .uleb128 .LVL43-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL43-.Ltext0 + .uleb128 .LVL44-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL44-.Ltext0 + .uleb128 .LVL45-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL45-.Ltext0 + .uleb128 .LFE58-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS11: + .uleb128 0 + .uleb128 .LVU63 + .uleb128 .LVU63 + .uleb128 .LVU78 + .uleb128 .LVU80 + .uleb128 0 +.LLST11: + .byte 0x4 + .uleb128 .LVL32-.Ltext0 + .uleb128 .LVL34-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL34-.Ltext0 + .uleb128 .LVL42-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL44-.Ltext0 + .uleb128 .LFE58-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS12: + .uleb128 .LVU60 + .uleb128 .LVU66 + .uleb128 .LVU66 + .uleb128 .LVU70 + .uleb128 .LVU80 + .uleb128 .LVU82 + .uleb128 .LVU82 + .uleb128 .LVU83 + .uleb128 .LVU83 + .uleb128 .LVU85 +.LLST12: + .byte 0x4 + .uleb128 .LVL33-.Ltext0 + .uleb128 .LVL36-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL36-.Ltext0 + .uleb128 .LVL38-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL44-.Ltext0 + .uleb128 .LVL47-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL47-.Ltext0 + .uleb128 .LVL49-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL49-.Ltext0 + .uleb128 .LVL51-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0 +.LVUS13: + .uleb128 .LVU61 + .uleb128 .LVU76 + .uleb128 .LVU76 + .uleb128 .LVU77 + .uleb128 .LVU80 + .uleb128 0 +.LLST13: + .byte 0x4 + .uleb128 .LVL33-.Ltext0 + .uleb128 .LVL40-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL40-.Ltext0 + .uleb128 .LVL41-.Ltext0 + .uleb128 0x2 + .byte 0x31 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL44-.Ltext0 + .uleb128 .LFE58-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0 +.Ldebug_loc3: + .section .debug_aranges,"",@progbits + .long 0x2c + .value 0x2 + .long .Ldebug_info0 + .byte 0x8 + .byte 0 + .value 0 + .value 0 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .quad 0 + .quad 0 + .section .debug_rnglists,"",@progbits +.Ldebug_ranges0: + .long .Ldebug_ranges3-.Ldebug_ranges2 +.Ldebug_ranges2: + .value 0x5 + .byte 0x8 + .byte 0 + .long 0 +.LLRL22: + .byte 0x4 + .uleb128 .LBB29-.Ltext0 + .uleb128 .LBE29-.Ltext0 + .byte 0x4 + .uleb128 .LBB32-.Ltext0 + .uleb128 .LBE32-.Ltext0 + .byte 0 +.LLRL31: + .byte 0x4 + .uleb128 .LBB35-.Ltext0 + .uleb128 .LBE35-.Ltext0 + .byte 0x4 + .uleb128 .LBB38-.Ltext0 + .uleb128 .LBE38-.Ltext0 + .byte 0 +.LLRL36: + .byte 0x4 + .uleb128 .LBB40-.Ltext0 + .uleb128 .LBE40-.Ltext0 + .byte 0x4 + .uleb128 .LBB41-.Ltext0 + .uleb128 .LBE41-.Ltext0 + .byte 0 +.Ldebug_ranges3: + .section .debug_line,"",@progbits +.Ldebug_line0: + .section .debug_str,"MS",@progbits,1 +.LASF137: + .string "__builtin___asan_report_load8" +.LASF130: + .string "parse_warning_opt" +.LASF36: + .string "_shortbuf" +.LASF158: + .string "_IO_lock_t" +.LASF85: + .string "input" +.LASF51: + .string "stderr" +.LASF63: + .string "tkn_impl" +.LASF104: + .string "strncmp" +.LASF25: + .string "_IO_buf_end" +.LASF96: + .string "help_filter" +.LASF86: + .string "child_inputs" +.LASF75: + .string "flags" +.LASF139: + .string "__ubsan_handle_type_mismatch_v1" +.LASF136: + .string "__ubsan_handle_pointer_overflow" +.LASF23: + .string "_IO_write_end" +.LASF4: + .string "unsigned int" +.LASF82: + .string "next" +.LASF148: + .string "__builtin___asan_report_store1" +.LASF41: + .string "_freeres_list" +.LASF152: + .string "__builtin___asan_report_store8" +.LASF17: + .string "_flags" +.LASF79: + .string "root_argp" +.LASF116: + .string "argp_parse" +.LASF29: + .string "_markers" +.LASF143: + .string "__asan_report_store_n" +.LASF62: + .string "tkn_t" +.LASF55: + .string "array_t" +.LASF65: + .string "warn_multichar" +.LASF125: + .string "arguments" +.LASF101: + .string "arg_program_version" +.LASF14: + .string "uint32_t" +.LASF50: + .string "stdout" +.LASF28: + .string "_IO_save_end" +.LASF131: + .string "argp_usage" +.LASF48: + .string "_IO_codecvt" +.LASF108: + .string "lex_ctx_free" +.LASF54: + .string "long long unsigned int" +.LASF145: + .string "__asan_stack_malloc_1" +.LASF27: + .string "_IO_backup_base" +.LASF111: + .string "lex_ctx_process" +.LASF38: + .string "_offset" +.LASF142: + .string "__builtin___ubsan_handle_nonnull_arg" +.LASF129: + .string "is_valid_flag" +.LASF162: + .string "fprintf" +.LASF31: + .string "_fileno" +.LASF122: + .string "dbg_dump_comp_args" +.LASF59: + .string "memstreams" +.LASF73: + .string "argp_option" +.LASF16: + .string "size_t" +.LASF112: + .string "io_close_file" +.LASF94: + .string "args_doc" +.LASF154: + .string "__builtin___ubsan_handle_sub_overflow" +.LASF123: + .string "set_default_flags" +.LASF20: + .string "_IO_read_base" +.LASF64: + .string "_Bool" +.LASF114: + .string "io_open_file" +.LASF80: + .string "argc" +.LASF78: + .string "argp_state" +.LASF151: + .string "__asan_report_store8" +.LASF127: + .string "parse_compiler_opt" +.LASF10: + .string "__uint64_t" +.LASF134: + .string "__fmt" +.LASF159: + .string "dbg_mem_dump_stats" +.LASF156: + .string "__builtin___asan_handle_no_return" +.LASF133: + .string "__stream" +.LASF13: + .string "char" +.LASF141: + .string "__ubsan_handle_nonnull_arg" +.LASF102: + .string "__fprintf_chk" +.LASF44: + .string "_mode" +.LASF47: + .string "_IO_marker" +.LASF18: + .string "_IO_read_ptr" +.LASF70: + .string "filenames" +.LASF105: + .string "exit" +.LASF128: + .string "invert" +.LASF103: + .string "strcmp" +.LASF67: + .string "compilation_args" +.LASF97: + .string "argp_domain" +.LASF56: + .string "array_impl" +.LASF21: + .string "_IO_write_base" +.LASF53: + .string "long long int" +.LASF60: + .string "lexeme_arrays" +.LASF84: + .string "quoted" +.LASF107: + .string "argp_error" +.LASF26: + .string "_IO_save_base" +.LASF99: + .string "header" +.LASF113: + .string "lex_ctx_load_file" +.LASF71: + .string "nr_filenames" +.LASF42: + .string "_freeres_buf" +.LASF120: + .string "fptr" +.LASF109: + .string "tkn_free" +.LASF43: + .string "__pad5" +.LASF140: + .string "__builtin___ubsan_handle_type_mismatch_v1" +.LASF138: + .string "__builtin___ubsan_handle_pointer_overflow" +.LASF35: + .string "_vtable_offset" +.LASF157: + .ascii "GNU C17 13.3.1 202" + .string "40614 -mtune=generic -march=x86-64 -ggdb -Os -Og -std=gnu17 -p -fanalyzer -fsanitize=address,undefined,leak -fstack-protector-strong -fstack-clash-protection -fstrict-aliasing -ftrivial-auto-var-init=zero -fno-omit-frame-pointer -fno-common -fcf-protection" +.LASF91: + .string "argp" +.LASF121: + .string "args" +.LASF81: + .string "argv" +.LASF93: + .string "parser" +.LASF115: + .string "lex_ctx_new" +.LASF76: + .string "group" +.LASF68: + .string "warn_flags" +.LASF98: + .string "argp_child" +.LASF117: + .string "lexer" +.LASF89: + .string "out_stream" +.LASF19: + .string "_IO_read_end" +.LASF7: + .string "short int" +.LASF100: + .string "argp_program_bug_address" +.LASF8: + .string "long int" +.LASF92: + .string "options" +.LASF72: + .string "error_t" +.LASF52: + .string "fptr_t" +.LASF146: + .string "__stack_chk_fail" +.LASF126: + .string "parse_opt" +.LASF49: + .string "_IO_wide_data" +.LASF15: + .string "uint64_t" +.LASF118: + .string "nr_errors" +.LASF90: + .string "pstate" +.LASF106: + .string "argp_state_help" +.LASF74: + .string "name" +.LASF77: + .string "argp_parser_t" +.LASF110: + .string "tkn_new" +.LASF40: + .string "_wide_data" +.LASF88: + .string "err_stream" +.LASF37: + .string "_lock" +.LASF5: + .string "long unsigned int" +.LASF33: + .string "_old_offset" +.LASF57: + .string "_IO_FILE" +.LASF119: + .string "tokenizer" +.LASF144: + .string "__builtin___asan_report_store_n" +.LASF149: + .string "__asan_report_load4" +.LASF147: + .string "__asan_report_store1" +.LASF135: + .string "__asan_report_load8" +.LASF2: + .string "unsigned char" +.LASF9: + .string "__uint32_t" +.LASF66: + .string "tokenize_comments" +.LASF22: + .string "_IO_write_ptr" +.LASF161: + .string "finalize" +.LASF69: + .string "parse_flags" +.LASF124: + .string "state" +.LASF39: + .string "_codecvt" +.LASF83: + .string "arg_num" +.LASF61: + .string "lexer_t" +.LASF11: + .string "__off_t" +.LASF6: + .string "signed char" +.LASF3: + .string "short unsigned int" +.LASF58: + .string "lexer_impl" +.LASF160: + .string "main" +.LASF95: + .string "children" +.LASF30: + .string "_chain" +.LASF46: + .string "FILE" +.LASF132: + .string "__state" +.LASF32: + .string "_flags2" +.LASF34: + .string "_cur_column" +.LASF87: + .string "hook" +.LASF153: + .string "__ubsan_handle_sub_overflow" +.LASF12: + .string "__off64_t" +.LASF155: + .string "__asan_handle_no_return" +.LASF45: + .string "_unused2" +.LASF24: + .string "_IO_buf_base" +.LASF150: + .string "__builtin___asan_report_load4" + .section .debug_line_str,"MS",@progbits,1 +.LASF1: + .string "/home/unazed/Programming/c/ucc-0.2.0" +.LASF0: + .string "src/main.c" + .ident "GCC: (Gentoo 13.3.1_p20240614 p17) 13.3.1 20240614" + .section .note.GNU-stack,"",@progbits + .section .note.gnu.property,"a" + .align 8 + .long 1f - 0f + .long 4f - 1f + .long 5 +0: + .string "GNU" +1: + .align 8 + .long 0xc0000002 + .long 3f - 2f +2: + .long 0x3 +3: + .align 8 +4: diff --git a/build/stdio-ext.d b/build/stdio-ext.d new file mode 100644 index 0000000..8b8cb86 --- /dev/null +++ b/build/stdio-ext.d @@ -0,0 +1,2 @@ +build/stdio-ext.o: src/stdio-ext.c include/stdio-ext.h +include/stdio-ext.h: diff --git a/build/stdio-ext.i b/build/stdio-ext.i new file mode 100644 index 0000000..5cfcfec --- /dev/null +++ b/build/stdio-ext.i @@ -0,0 +1,1378 @@ +# 0 "src/stdio-ext.c" +# 1 "/home/unazed/Programming/c/ucc-0.2.0//" +# 0 "" +# 0 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 0 "" 2 +# 1 "src/stdio-ext.c" +# 1 "include/stdio-ext.h" 1 + + +# 1 "/usr/include/stdio.h" 1 3 4 +# 28 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 33 "/usr/include/bits/libc-header-start.h" 3 4 +# 1 "/usr/include/features.h" 1 3 4 +# 394 "/usr/include/features.h" 3 4 +# 1 "/usr/include/features-time64.h" 1 3 4 +# 20 "/usr/include/features-time64.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 21 "/usr/include/features-time64.h" 2 3 4 +# 1 "/usr/include/bits/timesize.h" 1 3 4 +# 19 "/usr/include/bits/timesize.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/bits/timesize.h" 2 3 4 +# 22 "/usr/include/features-time64.h" 2 3 4 +# 395 "/usr/include/features.h" 2 3 4 +# 503 "/usr/include/features.h" 3 4 +# 1 "/usr/include/sys/cdefs.h" 1 3 4 +# 576 "/usr/include/sys/cdefs.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 577 "/usr/include/sys/cdefs.h" 2 3 4 +# 1 "/usr/include/bits/long-double.h" 1 3 4 +# 578 "/usr/include/sys/cdefs.h" 2 3 4 +# 504 "/usr/include/features.h" 2 3 4 +# 527 "/usr/include/features.h" 3 4 +# 1 "/usr/include/gnu/stubs.h" 1 3 4 +# 10 "/usr/include/gnu/stubs.h" 3 4 +# 1 "/usr/include/gnu/stubs-64.h" 1 3 4 +# 11 "/usr/include/gnu/stubs.h" 2 3 4 +# 528 "/usr/include/features.h" 2 3 4 +# 34 "/usr/include/bits/libc-header-start.h" 2 3 4 +# 29 "/usr/include/stdio.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 214 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 + +# 214 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 +typedef long unsigned int size_t; +# 35 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdarg.h" 1 3 4 +# 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdarg.h" 3 4 +typedef __builtin_va_list __gnuc_va_list; +# 38 "/usr/include/stdio.h" 2 3 4 + +# 1 "/usr/include/bits/types.h" 1 3 4 +# 27 "/usr/include/bits/types.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 28 "/usr/include/bits/types.h" 2 3 4 +# 1 "/usr/include/bits/timesize.h" 1 3 4 +# 19 "/usr/include/bits/timesize.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/bits/timesize.h" 2 3 4 +# 29 "/usr/include/bits/types.h" 2 3 4 + + +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; + + +typedef signed char __int8_t; +typedef unsigned char __uint8_t; +typedef signed short int __int16_t; +typedef unsigned short int __uint16_t; +typedef signed int __int32_t; +typedef unsigned int __uint32_t; + +typedef signed long int __int64_t; +typedef unsigned long int __uint64_t; + + + + + + +typedef __int8_t __int_least8_t; +typedef __uint8_t __uint_least8_t; +typedef __int16_t __int_least16_t; +typedef __uint16_t __uint_least16_t; +typedef __int32_t __int_least32_t; +typedef __uint32_t __uint_least32_t; +typedef __int64_t __int_least64_t; +typedef __uint64_t __uint_least64_t; + + + +typedef long int __quad_t; +typedef unsigned long int __u_quad_t; + + + + + + + +typedef long int __intmax_t; +typedef unsigned long int __uintmax_t; +# 141 "/usr/include/bits/types.h" 3 4 +# 1 "/usr/include/bits/typesizes.h" 1 3 4 +# 142 "/usr/include/bits/types.h" 2 3 4 +# 1 "/usr/include/bits/time64.h" 1 3 4 +# 143 "/usr/include/bits/types.h" 2 3 4 + + +typedef unsigned long int __dev_t; +typedef unsigned int __uid_t; +typedef unsigned int __gid_t; +typedef unsigned long int __ino_t; +typedef unsigned long int __ino64_t; +typedef unsigned int __mode_t; +typedef unsigned long int __nlink_t; +typedef long int __off_t; +typedef long int __off64_t; +typedef int __pid_t; +typedef struct { int __val[2]; } __fsid_t; +typedef long int __clock_t; +typedef unsigned long int __rlim_t; +typedef unsigned long int __rlim64_t; +typedef unsigned int __id_t; +typedef long int __time_t; +typedef unsigned int __useconds_t; +typedef long int __suseconds_t; +typedef long int __suseconds64_t; + +typedef int __daddr_t; +typedef int __key_t; + + +typedef int __clockid_t; + + +typedef void * __timer_t; + + +typedef long int __blksize_t; + + + + +typedef long int __blkcnt_t; +typedef long int __blkcnt64_t; + + +typedef unsigned long int __fsblkcnt_t; +typedef unsigned long int __fsblkcnt64_t; + + +typedef unsigned long int __fsfilcnt_t; +typedef unsigned long int __fsfilcnt64_t; + + +typedef long int __fsword_t; + +typedef long int __ssize_t; + + +typedef long int __syscall_slong_t; + +typedef unsigned long int __syscall_ulong_t; + + + +typedef __off64_t __loff_t; +typedef char *__caddr_t; + + +typedef long int __intptr_t; + + +typedef unsigned int __socklen_t; + + + + +typedef int __sig_atomic_t; +# 40 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/__fpos_t.h" 1 3 4 + + + + +# 1 "/usr/include/bits/types/__mbstate_t.h" 1 3 4 +# 13 "/usr/include/bits/types/__mbstate_t.h" 3 4 +typedef struct +{ + int __count; + union + { + unsigned int __wch; + char __wchb[4]; + } __value; +} __mbstate_t; +# 6 "/usr/include/bits/types/__fpos_t.h" 2 3 4 + + + + +typedef struct _G_fpos_t +{ + __off_t __pos; + __mbstate_t __state; +} __fpos_t; +# 41 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/__fpos64_t.h" 1 3 4 +# 10 "/usr/include/bits/types/__fpos64_t.h" 3 4 +typedef struct _G_fpos64_t +{ + __off64_t __pos; + __mbstate_t __state; +} __fpos64_t; +# 42 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/__FILE.h" 1 3 4 + + + +struct _IO_FILE; +typedef struct _IO_FILE __FILE; +# 43 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/FILE.h" 1 3 4 + + + +struct _IO_FILE; + + +typedef struct _IO_FILE FILE; +# 44 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/struct_FILE.h" 1 3 4 +# 35 "/usr/include/bits/types/struct_FILE.h" 3 4 +struct _IO_FILE; +struct _IO_marker; +struct _IO_codecvt; +struct _IO_wide_data; + + + + +typedef void _IO_lock_t; + + + + + +struct _IO_FILE +{ + int _flags; + + + char *_IO_read_ptr; + char *_IO_read_end; + char *_IO_read_base; + char *_IO_write_base; + char *_IO_write_ptr; + char *_IO_write_end; + char *_IO_buf_base; + char *_IO_buf_end; + + + char *_IO_save_base; + char *_IO_backup_base; + char *_IO_save_end; + + struct _IO_marker *_markers; + + struct _IO_FILE *_chain; + + int _fileno; + int _flags2; + __off_t _old_offset; + + + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + + _IO_lock_t *_lock; + + + + + + + + __off64_t _offset; + + struct _IO_codecvt *_codecvt; + struct _IO_wide_data *_wide_data; + struct _IO_FILE *_freeres_list; + void *_freeres_buf; + size_t __pad5; + int _mode; + + char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; +}; +# 45 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/include/bits/types/cookie_io_functions_t.h" 1 3 4 +# 27 "/usr/include/bits/types/cookie_io_functions_t.h" 3 4 +typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf, + size_t __nbytes); + + + + + + + +typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf, + size_t __nbytes); + + + + + + + +typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w); + + +typedef int cookie_close_function_t (void *__cookie); + + + + + + +typedef struct _IO_cookie_io_functions_t +{ + cookie_read_function_t *read; + cookie_write_function_t *write; + cookie_seek_function_t *seek; + cookie_close_function_t *close; +} cookie_io_functions_t; +# 48 "/usr/include/stdio.h" 2 3 4 + + + + + +typedef __gnuc_va_list va_list; +# 64 "/usr/include/stdio.h" 3 4 +typedef __off_t off_t; +# 78 "/usr/include/stdio.h" 3 4 +typedef __ssize_t ssize_t; + + + + + + +typedef __fpos_t fpos_t; +# 129 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/stdio_lim.h" 1 3 4 +# 130 "/usr/include/stdio.h" 2 3 4 +# 149 "/usr/include/stdio.h" 3 4 +extern FILE *stdin; +extern FILE *stdout; +extern FILE *stderr; + + + + + + +extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); + +extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int renameat (int __oldfd, const char *__old, int __newfd, + const char *__new) __attribute__ ((__nothrow__ , __leaf__)); +# 184 "/usr/include/stdio.h" 3 4 +extern int fclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 194 "/usr/include/stdio.h" 3 4 +extern FILE *tmpfile (void) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); +# 211 "/usr/include/stdio.h" 3 4 +extern char *tmpnam (char[20]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + +extern char *tmpnam_r (char __s[20]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +# 228 "/usr/include/stdio.h" 3 4 +extern char *tempnam (const char *__dir, const char *__pfx) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__malloc__ (__builtin_free, 1))); + + + + + + +extern int fflush (FILE *__stream); +# 245 "/usr/include/stdio.h" 3 4 +extern int fflush_unlocked (FILE *__stream); +# 264 "/usr/include/stdio.h" 3 4 +extern FILE *fopen (const char *__restrict __filename, + const char *__restrict __modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *freopen (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (3))); +# 299 "/usr/include/stdio.h" 3 4 +extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + + +extern FILE *fopencookie (void *__restrict __magic_cookie, + const char *__restrict __modes, + cookie_io_functions_t __io_funcs) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); +# 334 "/usr/include/stdio.h" 3 4 +extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__nonnull__ (1))); + + + +extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, + size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int fprintf (FILE *__restrict __stream, + const char *__restrict __format, ...) __attribute__ ((__nonnull__ (1))); + + + + +extern int printf (const char *__restrict __format, ...); + +extern int sprintf (char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__)); + + + + + +extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nonnull__ (1))); + + + + +extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); + +extern int vsprintf (char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nothrow__)); + + + +extern int snprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); + +extern int vsnprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); + + + + + +extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, + __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__)); +extern int __asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); +extern int asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); + + + + +extern int vdprintf (int __fd, const char *__restrict __fmt, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 2, 0))); +extern int dprintf (int __fd, const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); + + + + + + + +extern int fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); + +extern int sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +# 1 "/usr/include/bits/floatn.h" 1 3 4 +# 119 "/usr/include/bits/floatn.h" 3 4 +# 1 "/usr/include/bits/floatn-common.h" 1 3 4 +# 24 "/usr/include/bits/floatn-common.h" 3 4 +# 1 "/usr/include/bits/long-double.h" 1 3 4 +# 25 "/usr/include/bits/floatn-common.h" 2 3 4 +# 120 "/usr/include/bits/floatn.h" 2 3 4 +# 438 "/usr/include/stdio.h" 2 3 4 +# 463 "/usr/include/stdio.h" 3 4 +extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") + + __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") + __attribute__ ((__warn_unused_result__)); +extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__)) + + ; +# 490 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); + + +extern int vsscanf (const char *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); +# 540 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") + + + + __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") + + __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); +extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__format__ (__scanf__, 2, 0))); +# 575 "/usr/include/stdio.h" 3 4 +extern int fgetc (FILE *__stream) __attribute__ ((__nonnull__ (1))); +extern int getc (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + + + + +extern int getchar (void); + + + + + + +extern int getc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); +extern int getchar_unlocked (void); +# 600 "/usr/include/stdio.h" 3 4 +extern int fgetc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 611 "/usr/include/stdio.h" 3 4 +extern int fputc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); +extern int putc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + +extern int putchar (int __c); +# 627 "/usr/include/stdio.h" 3 4 +extern int fputc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + + +extern int putc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); +extern int putchar_unlocked (int __c); + + + + + + +extern int getw (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + +extern int putw (int __w, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + + +extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1))) __attribute__ ((__nonnull__ (3))); +# 694 "/usr/include/stdio.h" 3 4 +extern __ssize_t __getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))); +extern __ssize_t getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))); + + + + + + + +extern __ssize_t getline (char **__restrict __lineptr, + size_t *__restrict __n, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (3))); + + + + + + + +extern int fputs (const char *__restrict __s, FILE *__restrict __stream) + __attribute__ ((__nonnull__ (2))); + + + + + +extern int puts (const char *__s); + + + + + + +extern int ungetc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + +extern size_t fread (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__nonnull__ (4))); + + + + +extern size_t fwrite (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __s) __attribute__ ((__nonnull__ (4))); +# 766 "/usr/include/stdio.h" 3 4 +extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__nonnull__ (4))); +extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) + __attribute__ ((__nonnull__ (4))); + + + + + + + +extern int fseek (FILE *__stream, long int __off, int __whence) + __attribute__ ((__nonnull__ (1))); + + + + +extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern void rewind (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 803 "/usr/include/stdio.h" 3 4 +extern int fseeko (FILE *__stream, __off_t __off, int __whence) + __attribute__ ((__nonnull__ (1))); + + + + +extern __off_t ftello (FILE *__stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +# 829 "/usr/include/stdio.h" 3 4 +extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) + __attribute__ ((__nonnull__ (1))); + + + + +extern int fsetpos (FILE *__stream, const fpos_t *__pos) __attribute__ ((__nonnull__ (1))); +# 860 "/usr/include/stdio.h" 3 4 +extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + +extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + +extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern void perror (const char *__s) __attribute__ ((__cold__)); + + + + +extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +# 897 "/usr/include/stdio.h" 3 4 +extern int pclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + + + + +extern FILE *popen (const char *__command, const char *__modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + + + +extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))); +# 941 "/usr/include/stdio.h" 3 4 +extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + +extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 959 "/usr/include/stdio.h" 3 4 +extern int __uflow (FILE *); +extern int __overflow (FILE *, int); + + + +# 1 "/usr/include/bits/stdio2-decl.h" 1 3 4 +# 26 "/usr/include/bits/stdio2-decl.h" 3 4 +extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))); +extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + ...) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 2))); +extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 2))); + + + + + +extern int __fprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, ...) + __attribute__ ((__nonnull__ (1))); +extern int __printf_chk (int __flag, const char *__restrict __format, ...); +extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nonnull__ (1))); +extern int __vprintf_chk (int __flag, const char *__restrict __format, + __gnuc_va_list __ap); + + +extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt, + ...) __attribute__ ((__format__ (__printf__, 3, 4))); +extern int __vdprintf_chk (int __fd, int __flag, + const char *__restrict __fmt, __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 3, 0))); +# 96 "/usr/include/bits/stdio2-decl.h" 3 4 +extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets") + + + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2))); +extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk") + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer"))) + ; + +extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, + FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__nonnull__ (4))); + +extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread") + + + __attribute__ ((__warn_unused_result__)); +extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk") + + + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer"))) + ; + +extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (5))); +# 145 "/usr/include/bits/stdio2-decl.h" 3 4 +extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked") + + + __attribute__ ((__warn_unused_result__)); +extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk") + + + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer"))) + ; + +extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (5))); +# 965 "/usr/include/stdio.h" 2 3 4 +# 976 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/stdio.h" 1 3 4 +# 46 "/usr/include/bits/stdio.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +getchar (void) +{ + return getc (stdin); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +fgetc_unlocked (FILE *__fp) +{ + return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +} + + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +getc_unlocked (FILE *__fp) +{ + return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +getchar_unlocked (void) +{ + return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +putchar (int __c) +{ + return putc (__c, stdout); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +fputc_unlocked (int __c, FILE *__stream) +{ + return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); +} + + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +putc_unlocked (int __c, FILE *__stream) +{ + return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +putchar_unlocked (int __c) +{ + return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); +} +# 127 "/usr/include/bits/stdio.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) feof_unlocked (FILE *__stream) +{ + return (((__stream)->_flags & 0x0010) != 0); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) ferror_unlocked (FILE *__stream) +{ + return (((__stream)->_flags & 0x0020) != 0); +} +# 977 "/usr/include/stdio.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdio2.h" 1 3 4 +# 27 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) +{ + return __builtin___sprintf_chk (__s, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, + __builtin_va_arg_pack ()); +} + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) + +{ + return __builtin___vsprintf_chk (__s, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, __ap); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) + +{ + return __builtin___snprintf_chk (__s, __n, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, + __builtin_va_arg_pack ()); +} + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) + +{ + return __builtin___vsnprintf_chk (__s, __n, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, __ap); +} + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) int +fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...) +{ + return __fprintf_chk (__stream, 3 - 1, __fmt, + __builtin_va_arg_pack ()); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +printf (const char *__restrict __fmt, ...) +{ + return __printf_chk (3 - 1, __fmt, __builtin_va_arg_pack ()); +} + + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +vprintf (const char *__restrict __fmt, __gnuc_va_list __ap) +{ + + return __vfprintf_chk (stdout, 3 - 1, __fmt, __ap); + + + +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) int +vfprintf (FILE *__restrict __stream, + const char *__restrict __fmt, __gnuc_va_list __ap) +{ + return __vfprintf_chk (__stream, 3 - 1, __fmt, __ap); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +dprintf (int __fd, const char *__restrict __fmt, ...) +{ + return __dprintf_chk (__fd, 3 - 1, __fmt, + __builtin_va_arg_pack ()); +} + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap) +{ + return __vdprintf_chk (__fd, 3 - 1, __fmt, __ap); +} +# 194 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1))) +__attribute__ ((__nonnull__ (3))) char * +fgets (char *__restrict __s, int __n, FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__s, 1); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))) && (((long unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))))) + return __fgets_alias (__s, __n, __stream); + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (sizeof (char)))) && !(((long unsigned int) (__n)) <= (sz) / (sizeof (char))))) + return __fgets_chk_warn (__s, sz, __n, __stream); + return __fgets_chk (__s, sz, __n, __stream); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))) size_t +fread (void *__restrict __ptr, size_t __size, size_t __n, + FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__ptr, 0); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((long unsigned int) (__n)) <= ((sz)) / ((__size)))))) + return __fread_alias (__ptr, __size, __n, __stream); + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (__size))) && !(((long unsigned int) (__n)) <= (sz) / (__size)))) + return __fread_chk_warn (__ptr, sz, __size, __n, __stream); + return __fread_chk (__ptr, sz, __size, __n, __stream); +} +# 234 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))) size_t +fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, + FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__ptr, 0); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((long unsigned int) (__n)) <= ((sz)) / ((__size)))))) + { + + if (__builtin_constant_p (__size) + && __builtin_constant_p (__n) + && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2)) + && __size * __n <= 8) + { + size_t __cnt = __size * __n; + char *__cptr = (char *) __ptr; + if (__cnt == 0) + return 0; + + for (; __cnt > 0; --__cnt) + { + int __c = getc_unlocked (__stream); + if (__c == (-1)) + break; + *__cptr++ = __c; + } + return (__cptr - (char *) __ptr) / __size; + } + + return __fread_unlocked_alias (__ptr, __size, __n, __stream); + } + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (__size))) && !(((long unsigned int) (__n)) <= (sz) / (__size)))) + return __fread_unlocked_chk_warn (__ptr, sz, __size, __n, __stream); + return __fread_unlocked_chk (__ptr, sz, __size, __n, __stream); + +} +# 981 "/usr/include/stdio.h" 2 3 4 + + + +# 4 "include/stdio-ext.h" 2 + + +# 5 "include/stdio-ext.h" +__attribute__((nonnull (1))) +int fpeek (FILE* stream, long lookahead); + +__attribute__((nonnull (1))) +int fconsume (FILE* stream, long offset); + +int isoctdigit (int ch); + +int isident (int ch); +int isident_f (int ch); +# 2 "src/stdio-ext.c" 2 + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdbool.h" 1 3 4 +# 4 "src/stdio-ext.c" 2 +# 1 "/usr/include/ctype.h" 1 3 4 +# 28 "/usr/include/ctype.h" 3 4 + +# 39 "/usr/include/ctype.h" 3 4 +# 1 "/usr/include/bits/endian.h" 1 3 4 +# 35 "/usr/include/bits/endian.h" 3 4 +# 1 "/usr/include/bits/endianness.h" 1 3 4 +# 36 "/usr/include/bits/endian.h" 2 3 4 +# 40 "/usr/include/ctype.h" 2 3 4 + + + + + + + +# 46 "/usr/include/ctype.h" 3 4 +enum +{ + _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), + _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), + _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), + _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), + _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), + _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), + _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), + _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), + _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), + _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), + _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), + _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) +}; +# 79 "/usr/include/ctype.h" 3 4 +extern const unsigned short int **__ctype_b_loc (void) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +extern const __int32_t **__ctype_tolower_loc (void) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +extern const __int32_t **__ctype_toupper_loc (void) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +# 108 "/usr/include/ctype.h" 3 4 +extern int isalnum (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isalpha (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int iscntrl (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isdigit (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int islower (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isgraph (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isprint (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int ispunct (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isspace (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isupper (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int isxdigit (int) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int tolower (int __c) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int toupper (int __c) __attribute__ ((__nothrow__ , __leaf__)); + + + + +extern int isblank (int) __attribute__ ((__nothrow__ , __leaf__)); +# 142 "/usr/include/ctype.h" 3 4 +extern int isascii (int __c) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int toascii (int __c) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int _toupper (int) __attribute__ ((__nothrow__ , __leaf__)); +extern int _tolower (int) __attribute__ ((__nothrow__ , __leaf__)); +# 206 "/usr/include/ctype.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) tolower (int __c) +{ + return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c; +} + +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) toupper (int __c) +{ + return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c; +} +# 237 "/usr/include/ctype.h" 3 4 +# 1 "/usr/include/bits/types/locale_t.h" 1 3 4 +# 22 "/usr/include/bits/types/locale_t.h" 3 4 +# 1 "/usr/include/bits/types/__locale_t.h" 1 3 4 +# 27 "/usr/include/bits/types/__locale_t.h" 3 4 +struct __locale_struct +{ + + struct __locale_data *__locales[13]; + + + const unsigned short int *__ctype_b; + const int *__ctype_tolower; + const int *__ctype_toupper; + + + const char *__names[13]; +}; + +typedef struct __locale_struct *__locale_t; +# 23 "/usr/include/bits/types/locale_t.h" 2 3 4 + +typedef __locale_t locale_t; +# 238 "/usr/include/ctype.h" 2 3 4 +# 251 "/usr/include/ctype.h" 3 4 +extern int isalnum_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isalpha_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int iscntrl_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isdigit_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int islower_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isgraph_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isprint_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int ispunct_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isspace_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isupper_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); +extern int isxdigit_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); + +extern int isblank_l (int, locale_t) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int __tolower_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); +extern int tolower_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int __toupper_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); +extern int toupper_l (int __c, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); +# 327 "/usr/include/ctype.h" 3 4 + +# 5 "src/stdio-ext.c" 2 + + +# 6 "src/stdio-ext.c" +int +fpeek (FILE* stream, long lookahead) +{ + fseek (stream, lookahead, +# 9 "src/stdio-ext.c" 3 4 + 1 +# 9 "src/stdio-ext.c" + ); + int c = fgetc (stream); + ungetc (c, stream); + fseek (stream, -lookahead, +# 12 "src/stdio-ext.c" 3 4 + 1 +# 12 "src/stdio-ext.c" + ); + return c; +} + +int +fconsume (FILE* stream, long offset) +{ + return fseek (stream, offset, +# 19 "src/stdio-ext.c" 3 4 + 1 +# 19 "src/stdio-ext.c" + ); +} + +int +isoctdigit (int ch) +{ + return '0' <= ch && ch <= '7'; +} + +int +isident_f (int ch) +{ + return +# 31 "src/stdio-ext.c" 3 4 + ((*__ctype_b_loc ())[(int) (( +# 31 "src/stdio-ext.c" + ch +# 31 "src/stdio-ext.c" 3 4 + ))] & (unsigned short int) _ISalpha) +# 31 "src/stdio-ext.c" + || ch == '$' || ch == '_'; +} + +int +isident (int ch) +{ + return +# 37 "src/stdio-ext.c" 3 4 + ((*__ctype_b_loc ())[(int) (( +# 37 "src/stdio-ext.c" + ch +# 37 "src/stdio-ext.c" 3 4 + ))] & (unsigned short int) _ISalnum) +# 37 "src/stdio-ext.c" + || ch == '$' || ch == '_'; +} diff --git a/build/stdio-ext.o b/build/stdio-ext.o new file mode 100644 index 0000000..233e749 Binary files /dev/null and b/build/stdio-ext.o differ diff --git a/build/stdio-ext.s b/build/stdio-ext.s new file mode 100644 index 0000000..ee7536d --- /dev/null +++ b/build/stdio-ext.s @@ -0,0 +1,2299 @@ + .file "stdio-ext.c" + .text +.Ltext0: + .file 0 "/home/unazed/Programming/c/ucc-0.2.0" "src/stdio-ext.c" + .globl fpeek + .type fpeek, @function +fpeek: +.LASANPC25: +.LVL0: +.LFB25: + .file 1 "src/stdio-ext.c" + .loc 1 8 1 view -0 + .cfi_startproc + .loc 1 8 1 is_stmt 0 view .LVU1 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + .cfi_offset 14, -24 + .cfi_offset 13, -32 + .cfi_offset 12, -40 + .cfi_offset 3, -48 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + movq %rsi, %r12 + .loc 1 9 3 is_stmt 1 view .LVU2 + movl $1, %edx + call fseek@PLT +.LVL1: + .loc 1 10 3 view .LVU3 + .loc 1 10 11 is_stmt 0 view .LVU4 + movq %rbx, %rdi + call fgetc@PLT +.LVL2: + movl %eax, %r13d +.LVL3: + .loc 1 11 3 is_stmt 1 view .LVU5 + movq %rbx, %rsi + movl %eax, %edi + call ungetc@PLT +.LVL4: + .loc 1 12 3 view .LVU6 + movq %r12, %r14 + negq %r14 + jo .L4 +.L2: + movl $1, %edx + movq %r14, %rsi + movq %rbx, %rdi + call fseek@PLT +.LVL5: + .loc 1 13 3 view .LVU7 + .loc 1 14 1 is_stmt 0 view .LVU8 + movl %r13d, %eax + popq %rbx +.LVL6: + .loc 1 14 1 view .LVU9 + popq %r12 +.LVL7: + .loc 1 14 1 view .LVU10 + popq %r13 +.LVL8: + .loc 1 14 1 view .LVU11 + popq %r14 +.LVL9: + .loc 1 14 1 view .LVU12 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL10: +.L4: + .cfi_restore_state + .loc 1 12 3 view .LVU13 + movq %r12, %rsi + leaq .Lubsan_data14(%rip), %rdi + call __ubsan_handle_negate_overflow@PLT +.LVL11: + jmp .L2 + .cfi_endproc +.LFE25: + .size fpeek, .-fpeek + .globl fconsume + .type fconsume, @function +fconsume: +.LASANPC26: +.LVL12: +.LFB26: + .loc 1 18 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 18 1 is_stmt 0 view .LVU15 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 +1: call *mcount@GOTPCREL(%rip) + .loc 1 19 3 is_stmt 1 view .LVU16 + .loc 1 19 10 is_stmt 0 view .LVU17 + movl $1, %edx + call fseek@PLT +.LVL13: + .loc 1 20 1 view .LVU18 + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE26: + .size fconsume, .-fconsume + .globl isoctdigit + .type isoctdigit, @function +isoctdigit: +.LASANPC27: +.LVL14: +.LFB27: + .loc 1 24 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 24 1 is_stmt 0 view .LVU20 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 +1: call *mcount@GOTPCREL(%rip) + .loc 1 25 3 is_stmt 1 view .LVU21 + .loc 1 25 20 is_stmt 0 view .LVU22 + subl $48, %edi +.LVL15: + .loc 1 25 20 view .LVU23 + cmpl $7, %edi + setbe %al + movzbl %al, %eax + .loc 1 26 1 view .LVU24 + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE27: + .size isoctdigit, .-isoctdigit + .globl isident_f + .type isident_f, @function +isident_f: +.LASANPC28: +.LVL16: +.LFB28: + .loc 1 30 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 30 1 is_stmt 0 view .LVU26 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 13, -24 + .cfi_offset 12, -32 + .cfi_offset 3, -40 +1: call *mcount@GOTPCREL(%rip) + movl %edi, %r12d + .loc 1 31 3 is_stmt 1 view .LVU27 + .loc 1 31 12 is_stmt 0 view .LVU28 + call __ctype_b_loc@PLT +.LVL17: + .loc 1 31 12 view .LVU29 + movq %rax, %rbx + .loc 1 31 11 discriminator 1 view .LVU30 + testq %rax, %rax + je .L8 + testb $7, %al + jne .L8 +.L9: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L22 + movq (%rbx), %r13 + .loc 1 31 29 discriminator 1 view .LVU31 + movslq %r12d, %rbx + addq %rbx, %rbx + leaq 0(%r13,%rbx), %rdx + js .L11 + cmpq %r13, %rdx + jnb .L12 +.L13: + movq %r13, %rsi + leaq .Lubsan_data16(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL18: + jmp .L12 +.L8: + .loc 1 31 11 discriminator 1 view .LVU32 + movq %rbx, %rsi + leaq .Lubsan_data15(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL19: + jmp .L9 +.L22: + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL20: +.L11: + .loc 1 31 29 discriminator 1 view .LVU33 + cmpq %rdx, %r13 + jb .L13 +.L12: + addq %rbx, %r13 + je .L14 + testb $1, %r13b + jne .L14 +.L15: + movq %r13, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %edx + movq %r13, %rax + andl $7, %eax + addl $1, %eax + cmpb %dl, %al + jl .L16 + testb %dl, %dl + jne .L23 +.L16: + movzwl 0(%r13), %eax + .loc 1 31 35 discriminator 1 view .LVU34 + testb $4, %ah + jne .L19 + .loc 1 31 28 discriminator 2 view .LVU35 + cmpl $36, %r12d + sete %al + .loc 1 31 41 discriminator 2 view .LVU36 + cmpl $95, %r12d + sete %dl + .loc 1 31 35 discriminator 2 view .LVU37 + testb %al, %al + jne .L21 + testb %dl, %dl + jne .L21 + .loc 1 31 35 discriminator 4 view .LVU38 + movl $0, %eax + .loc 1 31 35 view .LVU39 + jmp .L7 +.L14: + .loc 1 31 29 discriminator 1 view .LVU40 + movq %r13, %rsi + leaq .Lubsan_data17(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL21: + jmp .L15 +.L23: + movq %r13, %rdi + call __asan_report_load2@PLT +.LVL22: +.L21: + .loc 1 31 35 discriminator 3 view .LVU41 + movl $1, %eax + jmp .L7 +.L19: + .loc 1 31 35 discriminator 3 view .LVU42 + movl $1, %eax +.L7: + .loc 1 32 1 view .LVU43 + addq $8, %rsp + popq %rbx + popq %r12 +.LVL23: + .loc 1 32 1 view .LVU44 + popq %r13 + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE28: + .size isident_f, .-isident_f + .globl isident + .type isident, @function +isident: +.LASANPC29: +.LVL24: +.LFB29: + .loc 1 36 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 36 1 is_stmt 0 view .LVU46 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 13, -24 + .cfi_offset 12, -32 + .cfi_offset 3, -40 +1: call *mcount@GOTPCREL(%rip) + movl %edi, %r12d + .loc 1 37 3 is_stmt 1 view .LVU47 + .loc 1 37 12 is_stmt 0 view .LVU48 + call __ctype_b_loc@PLT +.LVL25: + .loc 1 37 12 view .LVU49 + movq %rax, %rbx + .loc 1 37 11 discriminator 1 view .LVU50 + testq %rax, %rax + je .L25 + testb $7, %al + jne .L25 +.L26: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L39 + movq (%rbx), %r13 + .loc 1 37 29 discriminator 1 view .LVU51 + movslq %r12d, %rbx + addq %rbx, %rbx + leaq 0(%r13,%rbx), %rdx + js .L28 + cmpq %r13, %rdx + jnb .L29 +.L30: + movq %r13, %rsi + leaq .Lubsan_data19(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL26: + jmp .L29 +.L25: + .loc 1 37 11 discriminator 1 view .LVU52 + movq %rbx, %rsi + leaq .Lubsan_data18(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL27: + jmp .L26 +.L39: + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL28: +.L28: + .loc 1 37 29 discriminator 1 view .LVU53 + cmpq %rdx, %r13 + jb .L30 +.L29: + addq %rbx, %r13 + je .L31 + testb $1, %r13b + jne .L31 +.L32: + movq %r13, %rax + shrq $3, %rax + movzbl 2147450880(%rax), %edx + movq %r13, %rax + andl $7, %eax + addl $1, %eax + cmpb %dl, %al + jl .L33 + testb %dl, %dl + jne .L40 +.L33: + .loc 1 37 35 discriminator 1 view .LVU54 + testb $8, 0(%r13) + jne .L36 + .loc 1 37 28 discriminator 2 view .LVU55 + cmpl $36, %r12d + sete %al + .loc 1 37 41 discriminator 2 view .LVU56 + cmpl $95, %r12d + sete %dl + .loc 1 37 35 discriminator 2 view .LVU57 + testb %al, %al + jne .L38 + testb %dl, %dl + jne .L38 + .loc 1 37 35 discriminator 4 view .LVU58 + movl $0, %eax + .loc 1 37 35 view .LVU59 + jmp .L24 +.L31: + .loc 1 37 29 discriminator 1 view .LVU60 + movq %r13, %rsi + leaq .Lubsan_data20(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL29: + jmp .L32 +.L40: + movq %r13, %rdi + call __asan_report_load2@PLT +.LVL30: +.L38: + .loc 1 37 35 discriminator 3 view .LVU61 + movl $1, %eax + jmp .L24 +.L36: + .loc 1 37 35 discriminator 3 view .LVU62 + movl $1, %eax +.L24: + .loc 1 38 1 view .LVU63 + addq $8, %rsp + popq %rbx + popq %r12 +.LVL31: + .loc 1 38 1 view .LVU64 + popq %r13 + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE29: + .size isident, .-isident + .section .rodata + .align 32 +.LC0: + .string "src/stdio-ext.c" + .zero 48 + .section .data.rel.local,"aw" + .align 32 + .type .Lubsan_data20, @object + .size .Lubsan_data20, 32 +.Lubsan_data20: + .quad .LC0 + .long 37 + .long 29 + .quad .Lubsan_type3 + .byte 1 + .byte 0 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data19, @object + .size .Lubsan_data19, 16 +.Lubsan_data19: + .quad .LC0 + .long 37 + .long 29 + .zero 48 + .align 32 + .type .Lubsan_data18, @object + .size .Lubsan_data18, 32 +.Lubsan_data18: + .quad .LC0 + .long 37 + .long 11 + .quad .Lubsan_type2 + .byte 3 + .byte 0 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data17, @object + .size .Lubsan_data17, 32 +.Lubsan_data17: + .quad .LC0 + .long 31 + .long 29 + .quad .Lubsan_type3 + .byte 1 + .byte 0 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type3, @object + .size .Lubsan_type3, 31 +.Lubsan_type3: + .value -1 + .value 0 + .string "'const short unsigned int'" + .zero 33 + .section .data.rel.local + .align 32 + .type .Lubsan_data16, @object + .size .Lubsan_data16, 16 +.Lubsan_data16: + .quad .LC0 + .long 31 + .long 29 + .zero 48 + .align 32 + .type .Lubsan_data15, @object + .size .Lubsan_data15, 32 +.Lubsan_data15: + .quad .LC0 + .long 31 + .long 11 + .quad .Lubsan_type2 + .byte 3 + .byte 0 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type2, @object + .size .Lubsan_type2, 33 +.Lubsan_type2: + .value -1 + .value 0 + .string "'const short unsigned int *'" + .zero 63 + .section .data.rel.local + .align 32 + .type .Lubsan_data14, @object + .size .Lubsan_data14, 24 +.Lubsan_data14: + .quad .LC0 + .long 12 + .long 3 + .quad .Lubsan_type1 + .zero 40 + .data + .align 32 + .type .Lubsan_type1, @object + .size .Lubsan_type1, 15 +.Lubsan_type1: + .value 0 + .value 13 + .string "'long int'" + .zero 49 + .section .rodata.str1.1,"aMS",@progbits,1 +.LC1: + .string "*.Lubsan_data20" +.LC2: + .string "*.Lubsan_data19" +.LC3: + .string "*.Lubsan_data18" +.LC4: + .string "*.Lubsan_data17" +.LC5: + .string "*.Lubsan_type3" +.LC6: + .string "*.Lubsan_data16" +.LC7: + .string "*.Lubsan_data15" +.LC8: + .string "*.Lubsan_type2" +.LC9: + .string "*.Lubsan_data14" +.LC10: + .string "*.Lubsan_type1" +.LC11: + .string "*.LC0" + .section .data.rel.local + .align 32 + .type .LASAN0, @object + .size .LASAN0, 704 +.LASAN0: + .quad .Lubsan_data20 + .quad 32 + .quad 64 + .quad .LC1 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data19 + .quad 16 + .quad 64 + .quad .LC2 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data18 + .quad 32 + .quad 64 + .quad .LC3 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data17 + .quad 32 + .quad 64 + .quad .LC4 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type3 + .quad 31 + .quad 64 + .quad .LC5 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data16 + .quad 16 + .quad 64 + .quad .LC6 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data15 + .quad 32 + .quad 64 + .quad .LC7 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type2 + .quad 33 + .quad 96 + .quad .LC8 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data14 + .quad 24 + .quad 64 + .quad .LC9 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type1 + .quad 15 + .quad 64 + .quad .LC10 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC0 + .quad 16 + .quad 64 + .quad .LC11 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .text + .type _sub_D_00099_0, @function +_sub_D_00099_0: +.LFB30: + .cfi_startproc + .loc 1 38 1 is_stmt 1 view .LVU65 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl $11, %esi + leaq .LASAN0(%rip), %rdi + call __asan_unregister_globals@PLT + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE30: + .size _sub_D_00099_0, .-_sub_D_00099_0 + .section .fini_array.00099,"aw" + .align 8 + .quad _sub_D_00099_0 + .text + .type _sub_I_00099_1, @function +_sub_I_00099_1: +.LFB31: + .cfi_startproc + .loc 1 38 1 view .LVU66 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + call __asan_init@PLT + call __asan_version_mismatch_check_v8@PLT + movl $11, %esi + leaq .LASAN0(%rip), %rdi + call __asan_register_globals@PLT + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE31: + .size _sub_I_00099_1, .-_sub_I_00099_1 + .section .init_array.00099,"aw" + .align 8 + .quad _sub_I_00099_1 + .text +.Letext0: + .file 2 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" + .file 3 "/usr/include/bits/types.h" + .file 4 "/usr/include/bits/types/struct_FILE.h" + .file 5 "/usr/include/bits/types/FILE.h" + .file 6 "/usr/include/stdio.h" + .file 7 "" + .file 8 "/usr/include/ctype.h" + .section .debug_info,"",@progbits +.Ldebug_info0: + .long 0x69c + .value 0x5 + .byte 0x1 + .byte 0x8 + .long .Ldebug_abbrev0 + .uleb128 0x14 + .long .LASF79 + .byte 0x1d + .long .LASF0 + .long .LASF1 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .long .Ldebug_line0 + .uleb128 0xa + .long .LASF9 + .byte 0x2 + .byte 0xd6 + .byte 0x1b + .long 0x3a + .uleb128 0x5 + .byte 0x8 + .byte 0x7 + .long .LASF2 + .uleb128 0x5 + .byte 0x4 + .byte 0x7 + .long .LASF3 + .uleb128 0x15 + .byte 0x8 + .uleb128 0x5 + .byte 0x1 + .byte 0x8 + .long .LASF4 + .uleb128 0x5 + .byte 0x2 + .byte 0x7 + .long .LASF5 + .uleb128 0x16 + .long 0x51 + .uleb128 0x5 + .byte 0x1 + .byte 0x6 + .long .LASF6 + .uleb128 0x5 + .byte 0x2 + .byte 0x5 + .long .LASF7 + .uleb128 0x17 + .byte 0x4 + .byte 0x5 + .string "int" + .uleb128 0x5 + .byte 0x8 + .byte 0x5 + .long .LASF8 + .uleb128 0xa + .long .LASF10 + .byte 0x3 + .byte 0x98 + .byte 0x12 + .long 0x72 + .uleb128 0xa + .long .LASF11 + .byte 0x3 + .byte 0x99 + .byte 0x12 + .long 0x72 + .uleb128 0x4 + .long 0x96 + .uleb128 0x5 + .byte 0x1 + .byte 0x6 + .long .LASF12 + .uleb128 0x18 + .long .LASF80 + .byte 0xd8 + .byte 0x4 + .byte 0x31 + .byte 0x8 + .long 0x207 + .uleb128 0x2 + .long .LASF13 + .byte 0x33 + .byte 0x7 + .long 0x6b + .byte 0 + .uleb128 0x2 + .long .LASF14 + .byte 0x36 + .byte 0x9 + .long 0x91 + .byte 0x8 + .uleb128 0x2 + .long .LASF15 + .byte 0x37 + .byte 0x9 + .long 0x91 + .byte 0x10 + .uleb128 0x2 + .long .LASF16 + .byte 0x38 + .byte 0x9 + .long 0x91 + .byte 0x18 + .uleb128 0x2 + .long .LASF17 + .byte 0x39 + .byte 0x9 + .long 0x91 + .byte 0x20 + .uleb128 0x2 + .long .LASF18 + .byte 0x3a + .byte 0x9 + .long 0x91 + .byte 0x28 + .uleb128 0x2 + .long .LASF19 + .byte 0x3b + .byte 0x9 + .long 0x91 + .byte 0x30 + .uleb128 0x2 + .long .LASF20 + .byte 0x3c + .byte 0x9 + .long 0x91 + .byte 0x38 + .uleb128 0x2 + .long .LASF21 + .byte 0x3d + .byte 0x9 + .long 0x91 + .byte 0x40 + .uleb128 0x2 + .long .LASF22 + .byte 0x40 + .byte 0x9 + .long 0x91 + .byte 0x48 + .uleb128 0x2 + .long .LASF23 + .byte 0x41 + .byte 0x9 + .long 0x91 + .byte 0x50 + .uleb128 0x2 + .long .LASF24 + .byte 0x42 + .byte 0x9 + .long 0x91 + .byte 0x58 + .uleb128 0x2 + .long .LASF25 + .byte 0x44 + .byte 0x16 + .long 0x220 + .byte 0x60 + .uleb128 0x2 + .long .LASF26 + .byte 0x46 + .byte 0x14 + .long 0x225 + .byte 0x68 + .uleb128 0x2 + .long .LASF27 + .byte 0x48 + .byte 0x7 + .long 0x6b + .byte 0x70 + .uleb128 0x2 + .long .LASF28 + .byte 0x49 + .byte 0x7 + .long 0x6b + .byte 0x74 + .uleb128 0x2 + .long .LASF29 + .byte 0x4a + .byte 0xb + .long 0x79 + .byte 0x78 + .uleb128 0x2 + .long .LASF30 + .byte 0x4d + .byte 0x12 + .long 0x51 + .byte 0x80 + .uleb128 0x2 + .long .LASF31 + .byte 0x4e + .byte 0xf + .long 0x5d + .byte 0x82 + .uleb128 0x2 + .long .LASF32 + .byte 0x4f + .byte 0x8 + .long 0x22a + .byte 0x83 + .uleb128 0x2 + .long .LASF33 + .byte 0x51 + .byte 0xf + .long 0x23a + .byte 0x88 + .uleb128 0x2 + .long .LASF34 + .byte 0x59 + .byte 0xd + .long 0x85 + .byte 0x90 + .uleb128 0x2 + .long .LASF35 + .byte 0x5b + .byte 0x17 + .long 0x244 + .byte 0x98 + .uleb128 0x2 + .long .LASF36 + .byte 0x5c + .byte 0x19 + .long 0x24e + .byte 0xa0 + .uleb128 0x2 + .long .LASF37 + .byte 0x5d + .byte 0x14 + .long 0x225 + .byte 0xa8 + .uleb128 0x2 + .long .LASF38 + .byte 0x5e + .byte 0x9 + .long 0x48 + .byte 0xb0 + .uleb128 0x2 + .long .LASF39 + .byte 0x5f + .byte 0xa + .long 0x2e + .byte 0xb8 + .uleb128 0x2 + .long .LASF40 + .byte 0x60 + .byte 0x7 + .long 0x6b + .byte 0xc0 + .uleb128 0x2 + .long .LASF41 + .byte 0x62 + .byte 0x8 + .long 0x253 + .byte 0xc4 + .byte 0 + .uleb128 0xa + .long .LASF42 + .byte 0x5 + .byte 0x7 + .byte 0x19 + .long 0x9d + .uleb128 0x19 + .long .LASF81 + .byte 0x4 + .byte 0x2b + .byte 0xe + .uleb128 0xe + .long .LASF43 + .uleb128 0x4 + .long 0x21b + .uleb128 0x4 + .long 0x9d + .uleb128 0x11 + .long 0x96 + .long 0x23a + .uleb128 0x12 + .long 0x3a + .byte 0 + .byte 0 + .uleb128 0x4 + .long 0x213 + .uleb128 0xe + .long .LASF44 + .uleb128 0x4 + .long 0x23f + .uleb128 0xe + .long .LASF45 + .uleb128 0x4 + .long 0x249 + .uleb128 0x11 + .long 0x96 + .long 0x263 + .uleb128 0x12 + .long 0x3a + .byte 0x13 + .byte 0 + .uleb128 0x4 + .long 0x207 + .uleb128 0x1a + .byte 0x7 + .byte 0x4 + .long 0x41 + .byte 0x8 + .byte 0x2f + .byte 0x1 + .long 0x2c7 + .uleb128 0x6 + .long .LASF46 + .value 0x100 + .uleb128 0x6 + .long .LASF47 + .value 0x200 + .uleb128 0x6 + .long .LASF48 + .value 0x400 + .uleb128 0x6 + .long .LASF49 + .value 0x800 + .uleb128 0x6 + .long .LASF50 + .value 0x1000 + .uleb128 0x6 + .long .LASF51 + .value 0x2000 + .uleb128 0x6 + .long .LASF52 + .value 0x4000 + .uleb128 0x6 + .long .LASF53 + .value 0x8000 + .uleb128 0xb + .long .LASF54 + .byte 0x1 + .uleb128 0xb + .long .LASF55 + .byte 0x2 + .uleb128 0xb + .long .LASF56 + .byte 0x4 + .uleb128 0xb + .long .LASF57 + .byte 0x8 + .byte 0 + .uleb128 0x4 + .long 0x58 + .uleb128 0x1b + .long .LASF82 + .byte 0x8 + .byte 0x4f + .byte 0x23 + .long 0x2d8 + .uleb128 0x4 + .long 0x2c7 + .uleb128 0xf + .long .LASF58 + .value 0x2db + .long 0x6b + .long 0x2f7 + .uleb128 0x7 + .long 0x6b + .uleb128 0x7 + .long 0x263 + .byte 0 + .uleb128 0xf + .long .LASF59 + .value 0x23f + .long 0x6b + .long 0x30c + .uleb128 0x7 + .long 0x263 + .byte 0 + .uleb128 0xf + .long .LASF60 + .value 0x30b + .long 0x6b + .long 0x32b + .uleb128 0x7 + .long 0x263 + .uleb128 0x7 + .long 0x72 + .uleb128 0x7 + .long 0x6b + .byte 0 + .uleb128 0x8 + .long .LASF61 + .byte 0x23 + .long 0x6b + .quad .LFB29 + .quad .LFE29-.LFB29 + .uleb128 0x1 + .byte 0x9c + .long 0x406 + .uleb128 0x10 + .string "ch" + .byte 0x23 + .byte 0xe + .long 0x6b + .long .LLST7 + .long .LVUS7 + .uleb128 0x13 + .quad .LVL25 + .long 0x2cc + .uleb128 0x3 + .quad .LVL26 + .long 0x672 + .long 0x38f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data19 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x3 + .quad .LVL27 + .long 0x67b + .long 0x3b4 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data18 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x3 + .quad .LVL28 + .long 0x684 + .long 0x3cc + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x3 + .quad .LVL29 + .long 0x67b + .long 0x3f1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data20 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0xc + .quad .LVL30 + .long 0x68d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x8 + .long .LASF62 + .byte 0x1d + .long 0x6b + .quad .LFB28 + .quad .LFE28-.LFB28 + .uleb128 0x1 + .byte 0x9c + .long 0x4e1 + .uleb128 0x10 + .string "ch" + .byte 0x1d + .byte 0x10 + .long 0x6b + .long .LLST6 + .long .LVUS6 + .uleb128 0x13 + .quad .LVL17 + .long 0x2cc + .uleb128 0x3 + .quad .LVL18 + .long 0x672 + .long 0x46a + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data16 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x3 + .quad .LVL19 + .long 0x67b + .long 0x48f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data15 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x3 + .quad .LVL20 + .long 0x684 + .long 0x4a7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x3 + .quad .LVL21 + .long 0x67b + .long 0x4cc + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data17 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0xc + .quad .LVL22 + .long 0x68d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x8 + .long .LASF63 + .byte 0x17 + .long 0x6b + .quad .LFB27 + .quad .LFE27-.LFB27 + .uleb128 0x1 + .byte 0x9c + .long 0x514 + .uleb128 0x10 + .string "ch" + .byte 0x17 + .byte 0x11 + .long 0x6b + .long .LLST5 + .long .LVUS5 + .byte 0 + .uleb128 0x8 + .long .LASF64 + .byte 0x11 + .long 0x6b + .quad .LFB26 + .quad .LFE26-.LFB26 + .uleb128 0x1 + .byte 0x9c + .long 0x57c + .uleb128 0xd + .long .LASF65 + .byte 0x11 + .byte 0x11 + .long 0x263 + .long .LLST3 + .long .LVUS3 + .uleb128 0xd + .long .LASF66 + .byte 0x11 + .byte 0x1e + .long 0x72 + .long .LLST4 + .long .LVUS4 + .uleb128 0xc + .quad .LVL13 + .long 0x30c + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x3 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x3 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .byte 0 + .uleb128 0x8 + .long .LASF67 + .byte 0x7 + .long 0x6b + .quad .LFB25 + .quad .LFE25-.LFB25 + .uleb128 0x1 + .byte 0x9c + .long 0x672 + .uleb128 0xd + .long .LASF65 + .byte 0x7 + .byte 0xe + .long 0x263 + .long .LLST0 + .long .LVUS0 + .uleb128 0xd + .long .LASF68 + .byte 0x7 + .byte 0x1b + .long 0x72 + .long .LLST1 + .long .LVUS1 + .uleb128 0x1c + .string "c" + .byte 0x1 + .byte 0xa + .byte 0x7 + .long 0x6b + .long .LLST2 + .long .LVUS2 + .uleb128 0x3 + .quad .LVL1 + .long 0x30c + .long 0x5f7 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .uleb128 0x3 + .quad .LVL2 + .long 0x2f7 + .long 0x60f + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x3 + .quad .LVL4 + .long 0x2dd + .long 0x62d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x3 + .quad .LVL5 + .long 0x30c + .long 0x650 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7e + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x31 + .byte 0 + .uleb128 0xc + .quad .LVL11 + .long 0x696 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data14 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x9 + .long .LASF69 + .long .LASF71 + .uleb128 0x9 + .long .LASF70 + .long .LASF72 + .uleb128 0x9 + .long .LASF73 + .long .LASF74 + .uleb128 0x9 + .long .LASF75 + .long .LASF76 + .uleb128 0x9 + .long .LASF77 + .long .LASF78 + .byte 0 + .section .debug_abbrev,"",@progbits +.Ldebug_abbrev0: + .uleb128 0x1 + .uleb128 0x49 + .byte 0 + .uleb128 0x2 + .uleb128 0x18 + .uleb128 0x7e + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x2 + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 4 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x3 + .uleb128 0x48 + .byte 0x1 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x4 + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0x21 + .sleb128 8 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x5 + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .byte 0 + .byte 0 + .uleb128 0x6 + .uleb128 0x28 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x1c + .uleb128 0x5 + .byte 0 + .byte 0 + .uleb128 0x7 + .uleb128 0x5 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x8 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x9 + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x6e + .uleb128 0xe + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 7 + .uleb128 0x3b + .uleb128 0x21 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0xa + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xb + .uleb128 0x28 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x1c + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0xc + .uleb128 0x48 + .byte 0x1 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xd + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0xe + .uleb128 0x13 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0xf + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 6 + .uleb128 0x3b + .uleb128 0x5 + .uleb128 0x39 + .uleb128 0x21 + .sleb128 12 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x10 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x11 + .uleb128 0x1 + .byte 0x1 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x12 + .uleb128 0x21 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2f + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x13 + .uleb128 0x48 + .byte 0 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x14 + .uleb128 0x11 + .byte 0x1 + .uleb128 0x25 + .uleb128 0xe + .uleb128 0x13 + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x1f + .uleb128 0x1b + .uleb128 0x1f + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x10 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x15 + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x16 + .uleb128 0x26 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x17 + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x8 + .byte 0 + .byte 0 + .uleb128 0x18 + .uleb128 0x13 + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x19 + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x1a + .uleb128 0x4 + .byte 0x1 + .uleb128 0x3e + .uleb128 0xb + .uleb128 0xb + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x1b + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x1c + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .byte 0 + .section .debug_loclists,"",@progbits + .long .Ldebug_loc3-.Ldebug_loc2 +.Ldebug_loc2: + .value 0x5 + .byte 0x8 + .byte 0 + .long 0 +.Ldebug_loc0: +.LVUS7: + .uleb128 0 + .uleb128 .LVU49 + .uleb128 .LVU49 + .uleb128 .LVU64 + .uleb128 .LVU64 + .uleb128 0 +.LLST7: + .byte 0x4 + .uleb128 .LVL24-.Ltext0 + .uleb128 .LVL25-1-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL25-1-.Ltext0 + .uleb128 .LVL31-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL31-.Ltext0 + .uleb128 .LFE29-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS6: + .uleb128 0 + .uleb128 .LVU29 + .uleb128 .LVU29 + .uleb128 .LVU44 + .uleb128 .LVU44 + .uleb128 0 +.LLST6: + .byte 0x4 + .uleb128 .LVL16-.Ltext0 + .uleb128 .LVL17-1-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL17-1-.Ltext0 + .uleb128 .LVL23-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL23-.Ltext0 + .uleb128 .LFE28-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS5: + .uleb128 0 + .uleb128 .LVU23 + .uleb128 .LVU23 + .uleb128 0 +.LLST5: + .byte 0x4 + .uleb128 .LVL14-.Ltext0 + .uleb128 .LVL15-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL15-.Ltext0 + .uleb128 .LFE27-.Ltext0 + .uleb128 0x3 + .byte 0x75 + .sleb128 48 + .byte 0x9f + .byte 0 +.LVUS3: + .uleb128 0 + .uleb128 .LVU18 + .uleb128 .LVU18 + .uleb128 0 +.LLST3: + .byte 0x4 + .uleb128 .LVL12-.Ltext0 + .uleb128 .LVL13-1-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL13-1-.Ltext0 + .uleb128 .LFE26-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS4: + .uleb128 0 + .uleb128 .LVU18 + .uleb128 .LVU18 + .uleb128 0 +.LLST4: + .byte 0x4 + .uleb128 .LVL12-.Ltext0 + .uleb128 .LVL13-1-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL13-1-.Ltext0 + .uleb128 .LFE26-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0 +.LVUS0: + .uleb128 0 + .uleb128 .LVU3 + .uleb128 .LVU3 + .uleb128 .LVU9 + .uleb128 .LVU9 + .uleb128 .LVU13 + .uleb128 .LVU13 + .uleb128 0 +.LLST0: + .byte 0x4 + .uleb128 .LVL0-.Ltext0 + .uleb128 .LVL1-1-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL1-1-.Ltext0 + .uleb128 .LVL6-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL6-.Ltext0 + .uleb128 .LVL10-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL10-.Ltext0 + .uleb128 .LFE25-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS1: + .uleb128 0 + .uleb128 .LVU3 + .uleb128 .LVU3 + .uleb128 .LVU10 + .uleb128 .LVU10 + .uleb128 .LVU12 + .uleb128 .LVU12 + .uleb128 .LVU13 + .uleb128 .LVU13 + .uleb128 0 +.LLST1: + .byte 0x4 + .uleb128 .LVL0-.Ltext0 + .uleb128 .LVL1-1-.Ltext0 + .uleb128 0x1 + .byte 0x54 + .byte 0x4 + .uleb128 .LVL1-1-.Ltext0 + .uleb128 .LVL7-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL7-.Ltext0 + .uleb128 .LVL9-.Ltext0 + .uleb128 0x4 + .byte 0x7e + .sleb128 0 + .byte 0x1f + .byte 0x9f + .byte 0x4 + .uleb128 .LVL9-.Ltext0 + .uleb128 .LVL10-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x54 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL10-.Ltext0 + .uleb128 .LFE25-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS2: + .uleb128 .LVU5 + .uleb128 .LVU6 + .uleb128 .LVU6 + .uleb128 .LVU11 + .uleb128 .LVU11 + .uleb128 .LVU13 + .uleb128 .LVU13 + .uleb128 0 +.LLST2: + .byte 0x4 + .uleb128 .LVL3-.Ltext0 + .uleb128 .LVL4-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL4-1-.Ltext0 + .uleb128 .LVL8-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL8-.Ltext0 + .uleb128 .LVL10-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL10-.Ltext0 + .uleb128 .LFE25-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.Ldebug_loc3: + .section .debug_aranges,"",@progbits + .long 0x2c + .value 0x2 + .long .Ldebug_info0 + .byte 0x8 + .byte 0 + .value 0 + .value 0 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .quad 0 + .quad 0 + .section .debug_line,"",@progbits +.Ldebug_line0: + .section .debug_str,"MS",@progbits,1 +.LASF21: + .string "_IO_buf_end" +.LASF70: + .string "__ubsan_handle_type_mismatch_v1" +.LASF29: + .string "_old_offset" +.LASF55: + .string "_IScntrl" +.LASF61: + .string "isident" +.LASF71: + .string "__builtin___ubsan_handle_pointer_overflow" +.LASF24: + .string "_IO_save_end" +.LASF72: + .string "__builtin___ubsan_handle_type_mismatch_v1" +.LASF7: + .string "short int" +.LASF9: + .string "size_t" +.LASF53: + .string "_ISgraph" +.LASF56: + .string "_ISpunct" +.LASF34: + .string "_offset" +.LASF73: + .string "__asan_report_load8" +.LASF18: + .string "_IO_write_ptr" +.LASF13: + .string "_flags" +.LASF59: + .string "fgetc" +.LASF20: + .string "_IO_buf_base" +.LASF25: + .string "_markers" +.LASF15: + .string "_IO_read_end" +.LASF49: + .string "_ISdigit" +.LASF38: + .string "_freeres_buf" +.LASF69: + .string "__ubsan_handle_pointer_overflow" +.LASF77: + .string "__ubsan_handle_negate_overflow" +.LASF54: + .string "_ISblank" +.LASF57: + .string "_ISalnum" +.LASF60: + .string "fseek" +.LASF51: + .string "_ISspace" +.LASF33: + .string "_lock" +.LASF8: + .string "long int" +.LASF66: + .string "offset" +.LASF65: + .string "stream" +.LASF30: + .string "_cur_column" +.LASF63: + .string "isoctdigit" +.LASF80: + .string "_IO_FILE" +.LASF4: + .string "unsigned char" +.LASF6: + .string "signed char" +.LASF35: + .string "_codecvt" +.LASF67: + .string "fpeek" +.LASF3: + .string "unsigned int" +.LASF43: + .string "_IO_marker" +.LASF32: + .string "_shortbuf" +.LASF17: + .string "_IO_write_base" +.LASF41: + .string "_unused2" +.LASF14: + .string "_IO_read_ptr" +.LASF5: + .string "short unsigned int" +.LASF12: + .string "char" +.LASF47: + .string "_ISlower" +.LASF75: + .string "__asan_report_load2" +.LASF36: + .string "_wide_data" +.LASF37: + .string "_freeres_list" +.LASF79: + .ascii "GNU C17 13.3.1 202" + .string "40614 -mtune=generic -march=x86-64 -ggdb -Os -Og -std=gnu17 -p -fanalyzer -fsanitize=address,undefined,leak -fstack-protector-strong -fstack-clash-protection -fstrict-aliasing -ftrivial-auto-var-init=zero -fno-omit-frame-pointer -fno-common -fcf-protection" +.LASF50: + .string "_ISxdigit" +.LASF39: + .string "__pad5" +.LASF68: + .string "lookahead" +.LASF76: + .string "__builtin___asan_report_load2" +.LASF44: + .string "_IO_codecvt" +.LASF2: + .string "long unsigned int" +.LASF19: + .string "_IO_write_end" +.LASF11: + .string "__off64_t" +.LASF10: + .string "__off_t" +.LASF26: + .string "_chain" +.LASF45: + .string "_IO_wide_data" +.LASF23: + .string "_IO_backup_base" +.LASF74: + .string "__builtin___asan_report_load8" +.LASF28: + .string "_flags2" +.LASF52: + .string "_ISprint" +.LASF40: + .string "_mode" +.LASF16: + .string "_IO_read_base" +.LASF46: + .string "_ISupper" +.LASF31: + .string "_vtable_offset" +.LASF22: + .string "_IO_save_base" +.LASF27: + .string "_fileno" +.LASF42: + .string "FILE" +.LASF82: + .string "__ctype_b_loc" +.LASF64: + .string "fconsume" +.LASF48: + .string "_ISalpha" +.LASF58: + .string "ungetc" +.LASF62: + .string "isident_f" +.LASF78: + .string "__builtin___ubsan_handle_negate_overflow" +.LASF81: + .string "_IO_lock_t" + .section .debug_line_str,"MS",@progbits,1 +.LASF1: + .string "/home/unazed/Programming/c/ucc-0.2.0" +.LASF0: + .string "src/stdio-ext.c" + .ident "GCC: (Gentoo 13.3.1_p20240614 p17) 13.3.1 20240614" + .section .note.GNU-stack,"",@progbits + .section .note.gnu.property,"a" + .align 8 + .long 1f - 0f + .long 4f - 1f + .long 5 +0: + .string "GNU" +1: + .align 8 + .long 0xc0000002 + .long 3f - 2f +2: + .long 0x3 +3: + .align 8 +4: diff --git a/build/tokenizer.d b/build/tokenizer.d new file mode 100644 index 0000000..8e0cb3d --- /dev/null +++ b/build/tokenizer.d @@ -0,0 +1,8 @@ +build/tokenizer.o: src/tokenizer.c include/tokenizer.h include/lexer.h \ + include/io.h include/array.h include/generic.h include/ansi-colors.h +include/tokenizer.h: +include/lexer.h: +include/io.h: +include/array.h: +include/generic.h: +include/ansi-colors.h: diff --git a/build/tokenizer.i b/build/tokenizer.i new file mode 100644 index 0000000..f7626fe --- /dev/null +++ b/build/tokenizer.i @@ -0,0 +1,3324 @@ +# 0 "src/tokenizer.c" +# 1 "/home/unazed/Programming/c/ucc-0.2.0//" +# 0 "" +# 0 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 0 "" 2 +# 1 "src/tokenizer.c" +# 1 "include/tokenizer.h" 1 + + +# 1 "include/lexer.h" 1 + + +# 1 "include/io.h" 1 + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 1 3 4 +# 9 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 3 4 +# 1 "/usr/include/stdint.h" 1 3 4 +# 26 "/usr/include/stdint.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 33 "/usr/include/bits/libc-header-start.h" 3 4 +# 1 "/usr/include/features.h" 1 3 4 +# 394 "/usr/include/features.h" 3 4 +# 1 "/usr/include/features-time64.h" 1 3 4 +# 20 "/usr/include/features-time64.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 21 "/usr/include/features-time64.h" 2 3 4 +# 1 "/usr/include/bits/timesize.h" 1 3 4 +# 19 "/usr/include/bits/timesize.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/bits/timesize.h" 2 3 4 +# 22 "/usr/include/features-time64.h" 2 3 4 +# 395 "/usr/include/features.h" 2 3 4 +# 503 "/usr/include/features.h" 3 4 +# 1 "/usr/include/sys/cdefs.h" 1 3 4 +# 576 "/usr/include/sys/cdefs.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 577 "/usr/include/sys/cdefs.h" 2 3 4 +# 1 "/usr/include/bits/long-double.h" 1 3 4 +# 578 "/usr/include/sys/cdefs.h" 2 3 4 +# 504 "/usr/include/features.h" 2 3 4 +# 527 "/usr/include/features.h" 3 4 +# 1 "/usr/include/gnu/stubs.h" 1 3 4 +# 10 "/usr/include/gnu/stubs.h" 3 4 +# 1 "/usr/include/gnu/stubs-64.h" 1 3 4 +# 11 "/usr/include/gnu/stubs.h" 2 3 4 +# 528 "/usr/include/features.h" 2 3 4 +# 34 "/usr/include/bits/libc-header-start.h" 2 3 4 +# 27 "/usr/include/stdint.h" 2 3 4 +# 1 "/usr/include/bits/types.h" 1 3 4 +# 27 "/usr/include/bits/types.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 28 "/usr/include/bits/types.h" 2 3 4 +# 1 "/usr/include/bits/timesize.h" 1 3 4 +# 19 "/usr/include/bits/timesize.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/bits/timesize.h" 2 3 4 +# 29 "/usr/include/bits/types.h" 2 3 4 + + + +# 31 "/usr/include/bits/types.h" 3 4 +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; + + +typedef signed char __int8_t; +typedef unsigned char __uint8_t; +typedef signed short int __int16_t; +typedef unsigned short int __uint16_t; +typedef signed int __int32_t; +typedef unsigned int __uint32_t; + +typedef signed long int __int64_t; +typedef unsigned long int __uint64_t; + + + + + + +typedef __int8_t __int_least8_t; +typedef __uint8_t __uint_least8_t; +typedef __int16_t __int_least16_t; +typedef __uint16_t __uint_least16_t; +typedef __int32_t __int_least32_t; +typedef __uint32_t __uint_least32_t; +typedef __int64_t __int_least64_t; +typedef __uint64_t __uint_least64_t; + + + +typedef long int __quad_t; +typedef unsigned long int __u_quad_t; + + + + + + + +typedef long int __intmax_t; +typedef unsigned long int __uintmax_t; +# 141 "/usr/include/bits/types.h" 3 4 +# 1 "/usr/include/bits/typesizes.h" 1 3 4 +# 142 "/usr/include/bits/types.h" 2 3 4 +# 1 "/usr/include/bits/time64.h" 1 3 4 +# 143 "/usr/include/bits/types.h" 2 3 4 + + +typedef unsigned long int __dev_t; +typedef unsigned int __uid_t; +typedef unsigned int __gid_t; +typedef unsigned long int __ino_t; +typedef unsigned long int __ino64_t; +typedef unsigned int __mode_t; +typedef unsigned long int __nlink_t; +typedef long int __off_t; +typedef long int __off64_t; +typedef int __pid_t; +typedef struct { int __val[2]; } __fsid_t; +typedef long int __clock_t; +typedef unsigned long int __rlim_t; +typedef unsigned long int __rlim64_t; +typedef unsigned int __id_t; +typedef long int __time_t; +typedef unsigned int __useconds_t; +typedef long int __suseconds_t; +typedef long int __suseconds64_t; + +typedef int __daddr_t; +typedef int __key_t; + + +typedef int __clockid_t; + + +typedef void * __timer_t; + + +typedef long int __blksize_t; + + + + +typedef long int __blkcnt_t; +typedef long int __blkcnt64_t; + + +typedef unsigned long int __fsblkcnt_t; +typedef unsigned long int __fsblkcnt64_t; + + +typedef unsigned long int __fsfilcnt_t; +typedef unsigned long int __fsfilcnt64_t; + + +typedef long int __fsword_t; + +typedef long int __ssize_t; + + +typedef long int __syscall_slong_t; + +typedef unsigned long int __syscall_ulong_t; + + + +typedef __off64_t __loff_t; +typedef char *__caddr_t; + + +typedef long int __intptr_t; + + +typedef unsigned int __socklen_t; + + + + +typedef int __sig_atomic_t; +# 28 "/usr/include/stdint.h" 2 3 4 +# 1 "/usr/include/bits/wchar.h" 1 3 4 +# 29 "/usr/include/stdint.h" 2 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 30 "/usr/include/stdint.h" 2 3 4 + + + + +# 1 "/usr/include/bits/stdint-intn.h" 1 3 4 +# 24 "/usr/include/bits/stdint-intn.h" 3 4 +typedef __int8_t int8_t; +typedef __int16_t int16_t; +typedef __int32_t int32_t; +typedef __int64_t int64_t; +# 35 "/usr/include/stdint.h" 2 3 4 + + +# 1 "/usr/include/bits/stdint-uintn.h" 1 3 4 +# 24 "/usr/include/bits/stdint-uintn.h" 3 4 +typedef __uint8_t uint8_t; +typedef __uint16_t uint16_t; +typedef __uint32_t uint32_t; +typedef __uint64_t uint64_t; +# 38 "/usr/include/stdint.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdint-least.h" 1 3 4 +# 25 "/usr/include/bits/stdint-least.h" 3 4 +typedef __int_least8_t int_least8_t; +typedef __int_least16_t int_least16_t; +typedef __int_least32_t int_least32_t; +typedef __int_least64_t int_least64_t; + + +typedef __uint_least8_t uint_least8_t; +typedef __uint_least16_t uint_least16_t; +typedef __uint_least32_t uint_least32_t; +typedef __uint_least64_t uint_least64_t; +# 42 "/usr/include/stdint.h" 2 3 4 + + + + + +typedef signed char int_fast8_t; + +typedef long int int_fast16_t; +typedef long int int_fast32_t; +typedef long int int_fast64_t; +# 60 "/usr/include/stdint.h" 3 4 +typedef unsigned char uint_fast8_t; + +typedef unsigned long int uint_fast16_t; +typedef unsigned long int uint_fast32_t; +typedef unsigned long int uint_fast64_t; +# 76 "/usr/include/stdint.h" 3 4 +typedef long int intptr_t; + + +typedef unsigned long int uintptr_t; +# 90 "/usr/include/stdint.h" 3 4 +typedef __intmax_t intmax_t; +typedef __uintmax_t uintmax_t; +# 10 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdint.h" 2 3 4 +# 4 "include/io.h" 2 +# 1 "/usr/include/stdio.h" 1 3 4 +# 28 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 29 "/usr/include/stdio.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 214 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 +typedef long unsigned int size_t; +# 35 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdarg.h" 1 3 4 +# 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdarg.h" 3 4 +typedef __builtin_va_list __gnuc_va_list; +# 38 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/include/bits/types/__fpos_t.h" 1 3 4 + + + + +# 1 "/usr/include/bits/types/__mbstate_t.h" 1 3 4 +# 13 "/usr/include/bits/types/__mbstate_t.h" 3 4 +typedef struct +{ + int __count; + union + { + unsigned int __wch; + char __wchb[4]; + } __value; +} __mbstate_t; +# 6 "/usr/include/bits/types/__fpos_t.h" 2 3 4 + + + + +typedef struct _G_fpos_t +{ + __off_t __pos; + __mbstate_t __state; +} __fpos_t; +# 41 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/__fpos64_t.h" 1 3 4 +# 10 "/usr/include/bits/types/__fpos64_t.h" 3 4 +typedef struct _G_fpos64_t +{ + __off64_t __pos; + __mbstate_t __state; +} __fpos64_t; +# 42 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/__FILE.h" 1 3 4 + + + +struct _IO_FILE; +typedef struct _IO_FILE __FILE; +# 43 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/FILE.h" 1 3 4 + + + +struct _IO_FILE; + + +typedef struct _IO_FILE FILE; +# 44 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/struct_FILE.h" 1 3 4 +# 35 "/usr/include/bits/types/struct_FILE.h" 3 4 +struct _IO_FILE; +struct _IO_marker; +struct _IO_codecvt; +struct _IO_wide_data; + + + + +typedef void _IO_lock_t; + + + + + +struct _IO_FILE +{ + int _flags; + + + char *_IO_read_ptr; + char *_IO_read_end; + char *_IO_read_base; + char *_IO_write_base; + char *_IO_write_ptr; + char *_IO_write_end; + char *_IO_buf_base; + char *_IO_buf_end; + + + char *_IO_save_base; + char *_IO_backup_base; + char *_IO_save_end; + + struct _IO_marker *_markers; + + struct _IO_FILE *_chain; + + int _fileno; + int _flags2; + __off_t _old_offset; + + + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + + _IO_lock_t *_lock; + + + + + + + + __off64_t _offset; + + struct _IO_codecvt *_codecvt; + struct _IO_wide_data *_wide_data; + struct _IO_FILE *_freeres_list; + void *_freeres_buf; + size_t __pad5; + int _mode; + + char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; +}; +# 45 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/include/bits/types/cookie_io_functions_t.h" 1 3 4 +# 27 "/usr/include/bits/types/cookie_io_functions_t.h" 3 4 +typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf, + size_t __nbytes); + + + + + + + +typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf, + size_t __nbytes); + + + + + + + +typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w); + + +typedef int cookie_close_function_t (void *__cookie); + + + + + + +typedef struct _IO_cookie_io_functions_t +{ + cookie_read_function_t *read; + cookie_write_function_t *write; + cookie_seek_function_t *seek; + cookie_close_function_t *close; +} cookie_io_functions_t; +# 48 "/usr/include/stdio.h" 2 3 4 + + + + + +typedef __gnuc_va_list va_list; +# 64 "/usr/include/stdio.h" 3 4 +typedef __off_t off_t; +# 78 "/usr/include/stdio.h" 3 4 +typedef __ssize_t ssize_t; + + + + + + +typedef __fpos_t fpos_t; +# 129 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/stdio_lim.h" 1 3 4 +# 130 "/usr/include/stdio.h" 2 3 4 +# 149 "/usr/include/stdio.h" 3 4 +extern FILE *stdin; +extern FILE *stdout; +extern FILE *stderr; + + + + + + +extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); + +extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int renameat (int __oldfd, const char *__old, int __newfd, + const char *__new) __attribute__ ((__nothrow__ , __leaf__)); +# 184 "/usr/include/stdio.h" 3 4 +extern int fclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 194 "/usr/include/stdio.h" 3 4 +extern FILE *tmpfile (void) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); +# 211 "/usr/include/stdio.h" 3 4 +extern char *tmpnam (char[20]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + +extern char *tmpnam_r (char __s[20]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +# 228 "/usr/include/stdio.h" 3 4 +extern char *tempnam (const char *__dir, const char *__pfx) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__malloc__ (__builtin_free, 1))); + + + + + + +extern int fflush (FILE *__stream); +# 245 "/usr/include/stdio.h" 3 4 +extern int fflush_unlocked (FILE *__stream); +# 264 "/usr/include/stdio.h" 3 4 +extern FILE *fopen (const char *__restrict __filename, + const char *__restrict __modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *freopen (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (3))); +# 299 "/usr/include/stdio.h" 3 4 +extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + + +extern FILE *fopencookie (void *__restrict __magic_cookie, + const char *__restrict __modes, + cookie_io_functions_t __io_funcs) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + +extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) __attribute__ ((__warn_unused_result__)); +# 334 "/usr/include/stdio.h" 3 4 +extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__nonnull__ (1))); + + + +extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, + size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int fprintf (FILE *__restrict __stream, + const char *__restrict __format, ...) __attribute__ ((__nonnull__ (1))); + + + + +extern int printf (const char *__restrict __format, ...); + +extern int sprintf (char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__)); + + + + + +extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nonnull__ (1))); + + + + +extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); + +extern int vsprintf (char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nothrow__)); + + + +extern int snprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); + +extern int vsnprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); + + + + + +extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, + __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__)); +extern int __asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); +extern int asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__)); + + + + +extern int vdprintf (int __fd, const char *__restrict __fmt, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 2, 0))); +extern int dprintf (int __fd, const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); + + + + + + + +extern int fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__)); + +extern int sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +# 1 "/usr/include/bits/floatn.h" 1 3 4 +# 119 "/usr/include/bits/floatn.h" 3 4 +# 1 "/usr/include/bits/floatn-common.h" 1 3 4 +# 24 "/usr/include/bits/floatn-common.h" 3 4 +# 1 "/usr/include/bits/long-double.h" 1 3 4 +# 25 "/usr/include/bits/floatn-common.h" 2 3 4 +# 120 "/usr/include/bits/floatn.h" 2 3 4 +# 438 "/usr/include/stdio.h" 2 3 4 +# 463 "/usr/include/stdio.h" 3 4 +extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") + + __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") + __attribute__ ((__warn_unused_result__)); +extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__)) + + ; +# 490 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); + + +extern int vsscanf (const char *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); +# 540 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") + + + + __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") + + __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__)); +extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__format__ (__scanf__, 2, 0))); +# 575 "/usr/include/stdio.h" 3 4 +extern int fgetc (FILE *__stream) __attribute__ ((__nonnull__ (1))); +extern int getc (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + + + + +extern int getchar (void); + + + + + + +extern int getc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); +extern int getchar_unlocked (void); +# 600 "/usr/include/stdio.h" 3 4 +extern int fgetc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 611 "/usr/include/stdio.h" 3 4 +extern int fputc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); +extern int putc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + +extern int putchar (int __c); +# 627 "/usr/include/stdio.h" 3 4 +extern int fputc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + + +extern int putc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); +extern int putchar_unlocked (int __c); + + + + + + +extern int getw (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + +extern int putw (int __w, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + + +extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1))) __attribute__ ((__nonnull__ (3))); +# 694 "/usr/include/stdio.h" 3 4 +extern __ssize_t __getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))); +extern __ssize_t getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))); + + + + + + + +extern __ssize_t getline (char **__restrict __lineptr, + size_t *__restrict __n, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (3))); + + + + + + + +extern int fputs (const char *__restrict __s, FILE *__restrict __stream) + __attribute__ ((__nonnull__ (2))); + + + + + +extern int puts (const char *__s); + + + + + + +extern int ungetc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2))); + + + + + + +extern size_t fread (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__nonnull__ (4))); + + + + +extern size_t fwrite (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __s) __attribute__ ((__nonnull__ (4))); +# 766 "/usr/include/stdio.h" 3 4 +extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__nonnull__ (4))); +extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) + __attribute__ ((__nonnull__ (4))); + + + + + + + +extern int fseek (FILE *__stream, long int __off, int __whence) + __attribute__ ((__nonnull__ (1))); + + + + +extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern void rewind (FILE *__stream) __attribute__ ((__nonnull__ (1))); +# 803 "/usr/include/stdio.h" 3 4 +extern int fseeko (FILE *__stream, __off_t __off, int __whence) + __attribute__ ((__nonnull__ (1))); + + + + +extern __off_t ftello (FILE *__stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +# 829 "/usr/include/stdio.h" 3 4 +extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) + __attribute__ ((__nonnull__ (1))); + + + + +extern int fsetpos (FILE *__stream, const fpos_t *__pos) __attribute__ ((__nonnull__ (1))); +# 860 "/usr/include/stdio.h" 3 4 +extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + +extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + +extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern void perror (const char *__s) __attribute__ ((__cold__)); + + + + +extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + + + +extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); +# 897 "/usr/include/stdio.h" 3 4 +extern int pclose (FILE *__stream) __attribute__ ((__nonnull__ (1))); + + + + + +extern FILE *popen (const char *__command, const char *__modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) __attribute__ ((__warn_unused_result__)); + + + + + + +extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))); +# 941 "/usr/include/stdio.h" 3 4 +extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (1))); + + +extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 959 "/usr/include/stdio.h" 3 4 +extern int __uflow (FILE *); +extern int __overflow (FILE *, int); + + + +# 1 "/usr/include/bits/stdio2-decl.h" 1 3 4 +# 26 "/usr/include/bits/stdio2-decl.h" 3 4 +extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))); +extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + ...) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 2))); +extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 2))); + + + + + +extern int __fprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, ...) + __attribute__ ((__nonnull__ (1))); +extern int __printf_chk (int __flag, const char *__restrict __format, ...); +extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, + __gnuc_va_list __ap) __attribute__ ((__nonnull__ (1))); +extern int __vprintf_chk (int __flag, const char *__restrict __format, + __gnuc_va_list __ap); + + +extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt, + ...) __attribute__ ((__format__ (__printf__, 3, 4))); +extern int __vdprintf_chk (int __fd, int __flag, + const char *__restrict __fmt, __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 3, 0))); +# 96 "/usr/include/bits/stdio2-decl.h" 3 4 +extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets") + + + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 2))); +extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk") + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer"))) + ; + +extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, + FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__nonnull__ (4))); + +extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread") + + + __attribute__ ((__warn_unused_result__)); +extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk") + + + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer"))) + ; + +extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (5))); +# 145 "/usr/include/bits/stdio2-decl.h" 3 4 +extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked") + + + __attribute__ ((__warn_unused_result__)); +extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk") + + + + + __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer"))) + ; + +extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) + __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (5))); +# 965 "/usr/include/stdio.h" 2 3 4 +# 976 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/stdio.h" 1 3 4 +# 46 "/usr/include/bits/stdio.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +getchar (void) +{ + return getc (stdin); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +fgetc_unlocked (FILE *__fp) +{ + return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +} + + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +getc_unlocked (FILE *__fp) +{ + return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +getchar_unlocked (void) +{ + return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +putchar (int __c) +{ + return putc (__c, stdout); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +fputc_unlocked (int __c, FILE *__stream) +{ + return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); +} + + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +putc_unlocked (int __c, FILE *__stream) +{ + return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +putchar_unlocked (int __c) +{ + return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); +} +# 127 "/usr/include/bits/stdio.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) feof_unlocked (FILE *__stream) +{ + return (((__stream)->_flags & 0x0010) != 0); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) ferror_unlocked (FILE *__stream) +{ + return (((__stream)->_flags & 0x0020) != 0); +} +# 977 "/usr/include/stdio.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdio2.h" 1 3 4 +# 27 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) +{ + return __builtin___sprintf_chk (__s, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, + __builtin_va_arg_pack ()); +} + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) + +{ + return __builtin___vsprintf_chk (__s, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, __ap); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) + +{ + return __builtin___snprintf_chk (__s, __n, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, + __builtin_va_arg_pack ()); +} + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) + +{ + return __builtin___vsnprintf_chk (__s, __n, 3 - 1, + __builtin_dynamic_object_size (__s, 1), __fmt, __ap); +} + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) int +fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...) +{ + return __fprintf_chk (__stream, 3 - 1, __fmt, + __builtin_va_arg_pack ()); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +printf (const char *__restrict __fmt, ...) +{ + return __printf_chk (3 - 1, __fmt, __builtin_va_arg_pack ()); +} + + + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +vprintf (const char *__restrict __fmt, __gnuc_va_list __ap) +{ + + return __vfprintf_chk (stdout, 3 - 1, __fmt, __ap); + + + +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) int +vfprintf (FILE *__restrict __stream, + const char *__restrict __fmt, __gnuc_va_list __ap) +{ + return __vfprintf_chk (__stream, 3 - 1, __fmt, __ap); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +dprintf (int __fd, const char *__restrict __fmt, ...) +{ + return __dprintf_chk (__fd, 3 - 1, __fmt, + __builtin_va_arg_pack ()); +} + + + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap) +{ + return __vdprintf_chk (__fd, 3 - 1, __fmt, __ap); +} +# 194 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__access__ (__write_only__, 1))) +__attribute__ ((__nonnull__ (3))) char * +fgets (char *__restrict __s, int __n, FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__s, 1); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))) && (((long unsigned int) (__n)) <= ((sz)) / ((sizeof (char))))))) + return __fgets_alias (__s, __n, __stream); + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (sizeof (char)))) && !(((long unsigned int) (__n)) <= (sz) / (sizeof (char))))) + return __fgets_chk_warn (__s, sz, __n, __stream); + return __fgets_chk (__s, sz, __n, __stream); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))) size_t +fread (void *__restrict __ptr, size_t __size, size_t __n, + FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__ptr, 0); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((long unsigned int) (__n)) <= ((sz)) / ((__size)))))) + return __fread_alias (__ptr, __size, __n, __stream); + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (__size))) && !(((long unsigned int) (__n)) <= (sz) / (__size)))) + return __fread_chk_warn (__ptr, sz, __size, __n, __stream); + return __fread_chk (__ptr, sz, __size, __n, __stream); +} +# 234 "/usr/include/bits/stdio2.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__nonnull__ (4))) size_t +fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, + FILE *__restrict __stream) +{ + size_t sz = __builtin_dynamic_object_size (__ptr, 0); + if (((__builtin_constant_p (sz) && (sz) == (long unsigned int) -1) || (((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= ((sz)) / ((__size)))) && (((long unsigned int) (__n)) <= ((sz)) / ((__size)))))) + { + + if (__builtin_constant_p (__size) + && __builtin_constant_p (__n) + && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2)) + && __size * __n <= 8) + { + size_t __cnt = __size * __n; + char *__cptr = (char *) __ptr; + if (__cnt == 0) + return 0; + + for (; __cnt > 0; --__cnt) + { + int __c = getc_unlocked (__stream); + if (__c == (-1)) + break; + *__cptr++ = __c; + } + return (__cptr - (char *) __ptr) / __size; + } + + return __fread_unlocked_alias (__ptr, __size, __n, __stream); + } + if ((((__typeof (__n)) 0 < (__typeof (__n)) -1 || (__builtin_constant_p (__n) && (__n) > 0)) && __builtin_constant_p ((((long unsigned int) (__n)) <= (sz) / (__size))) && !(((long unsigned int) (__n)) <= (sz) / (__size)))) + return __fread_unlocked_chk_warn (__ptr, sz, __size, __n, __stream); + return __fread_unlocked_chk (__ptr, sz, __size, __n, __stream); + +} +# 981 "/usr/include/stdio.h" 2 3 4 + + + +# 5 "include/io.h" 2 + + +# 6 "include/io.h" +typedef FILE* fptr_t; + +typedef struct +{ + fptr_t ptr; + uint8_t* buffer; + const char* path; + size_t size; +} *memstream_t; + +__attribute__((warn_unused_result, nonnull)) +fptr_t io_open_file (const char* filename, const char* mode); + +__attribute__((warn_unused_result, nonnull)) +uint8_t* io_alloc_file_buffer (fptr_t file); + +__attribute__((nonnull (1, 2))) +size_t io_read_file_into_buffer (fptr_t file, uint8_t* const buffer, uint64_t buffer_size); + +__attribute__((nonnull (1), warn_unused_result)) +memstream_t io_read_file_into_memstream (fptr_t file, const char* const path); + +__attribute__((nonnull)) +void io_free_memstream (memstream_t stream); + +__attribute__((nonnull)) +void io_close_file (fptr_t file); +# 4 "include/lexer.h" 2 +# 1 "include/array.h" 1 + + +# 1 "/usr/include/stdlib.h" 1 3 4 +# 26 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/stdlib.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 329 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 + +# 329 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 3 4 +typedef int wchar_t; +# 33 "/usr/include/stdlib.h" 2 3 4 + + + + + + + +# 1 "/usr/include/bits/waitflags.h" 1 3 4 +# 41 "/usr/include/stdlib.h" 2 3 4 +# 1 "/usr/include/bits/waitstatus.h" 1 3 4 +# 42 "/usr/include/stdlib.h" 2 3 4 +# 59 "/usr/include/stdlib.h" 3 4 +typedef struct + { + int quot; + int rem; + } div_t; + + + +typedef struct + { + long int quot; + long int rem; + } ldiv_t; + + + + + +__extension__ typedef struct + { + long long int quot; + long long int rem; + } lldiv_t; +# 98 "/usr/include/stdlib.h" 3 4 +extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + +extern double atof (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + +extern int atoi (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + +extern long int atol (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + +__extension__ extern long long int atoll (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + +extern double strtod (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern float strtof (const char *__restrict __nptr, + char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern long double strtold (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 177 "/usr/include/stdlib.h" 3 4 +extern long int strtol (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern unsigned long int strtoul (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +__extension__ +extern long long int strtoq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtouq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +__extension__ +extern long long int strtoll (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtoull (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 480 "/usr/include/stdlib.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +__attribute__ ((__nothrow__ , __leaf__)) atoi (const char *__nptr) +{ + return (int) strtol (__nptr, (char **) ((void *)0), 10); +} +extern __inline __attribute__ ((__gnu_inline__)) long int +__attribute__ ((__nothrow__ , __leaf__)) atol (const char *__nptr) +{ + return strtol (__nptr, (char **) ((void *)0), 10); +} + + +__extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int +__attribute__ ((__nothrow__ , __leaf__)) atoll (const char *__nptr) +{ + return strtoll (__nptr, (char **) ((void *)0), 10); +} +# 505 "/usr/include/stdlib.h" 3 4 +extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + +extern long int a64l (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + + +# 1 "/usr/include/sys/types.h" 1 3 4 +# 27 "/usr/include/sys/types.h" 3 4 + + + + + + +typedef __u_char u_char; +typedef __u_short u_short; +typedef __u_int u_int; +typedef __u_long u_long; +typedef __quad_t quad_t; +typedef __u_quad_t u_quad_t; +typedef __fsid_t fsid_t; + + +typedef __loff_t loff_t; + + + + +typedef __ino_t ino_t; +# 59 "/usr/include/sys/types.h" 3 4 +typedef __dev_t dev_t; + + + + +typedef __gid_t gid_t; + + + + +typedef __mode_t mode_t; + + + + +typedef __nlink_t nlink_t; + + + + +typedef __uid_t uid_t; +# 97 "/usr/include/sys/types.h" 3 4 +typedef __pid_t pid_t; + + + + + +typedef __id_t id_t; +# 114 "/usr/include/sys/types.h" 3 4 +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; + + + + + +typedef __key_t key_t; + + + + +# 1 "/usr/include/bits/types/clock_t.h" 1 3 4 + + + + + + +typedef __clock_t clock_t; +# 127 "/usr/include/sys/types.h" 2 3 4 + +# 1 "/usr/include/bits/types/clockid_t.h" 1 3 4 + + + + + + +typedef __clockid_t clockid_t; +# 129 "/usr/include/sys/types.h" 2 3 4 +# 1 "/usr/include/bits/types/time_t.h" 1 3 4 +# 10 "/usr/include/bits/types/time_t.h" 3 4 +typedef __time_t time_t; +# 130 "/usr/include/sys/types.h" 2 3 4 +# 1 "/usr/include/bits/types/timer_t.h" 1 3 4 + + + + + + +typedef __timer_t timer_t; +# 131 "/usr/include/sys/types.h" 2 3 4 +# 144 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 145 "/usr/include/sys/types.h" 2 3 4 + + + +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; + + + + + + + +typedef __uint8_t u_int8_t; +typedef __uint16_t u_int16_t; +typedef __uint32_t u_int32_t; +typedef __uint64_t u_int64_t; + + +typedef int register_t __attribute__ ((__mode__ (__word__))); +# 176 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/include/endian.h" 1 3 4 +# 24 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/bits/endian.h" 1 3 4 +# 35 "/usr/include/bits/endian.h" 3 4 +# 1 "/usr/include/bits/endianness.h" 1 3 4 +# 36 "/usr/include/bits/endian.h" 2 3 4 +# 25 "/usr/include/endian.h" 2 3 4 +# 35 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/bits/byteswap.h" 1 3 4 +# 33 "/usr/include/bits/byteswap.h" 3 4 +static __inline __uint16_t +__bswap_16 (__uint16_t __bsx) +{ + + return __builtin_bswap16 (__bsx); + + + +} + + + + + + +static __inline __uint32_t +__bswap_32 (__uint32_t __bsx) +{ + + return __builtin_bswap32 (__bsx); + + + +} +# 69 "/usr/include/bits/byteswap.h" 3 4 +__extension__ static __inline __uint64_t +__bswap_64 (__uint64_t __bsx) +{ + + return __builtin_bswap64 (__bsx); + + + +} +# 36 "/usr/include/endian.h" 2 3 4 +# 1 "/usr/include/bits/uintn-identity.h" 1 3 4 +# 32 "/usr/include/bits/uintn-identity.h" 3 4 +static __inline __uint16_t +__uint16_identity (__uint16_t __x) +{ + return __x; +} + +static __inline __uint32_t +__uint32_identity (__uint32_t __x) +{ + return __x; +} + +static __inline __uint64_t +__uint64_identity (__uint64_t __x) +{ + return __x; +} +# 37 "/usr/include/endian.h" 2 3 4 +# 177 "/usr/include/sys/types.h" 2 3 4 + + +# 1 "/usr/include/sys/select.h" 1 3 4 +# 30 "/usr/include/sys/select.h" 3 4 +# 1 "/usr/include/bits/select.h" 1 3 4 +# 31 "/usr/include/sys/select.h" 2 3 4 + + +# 1 "/usr/include/bits/types/sigset_t.h" 1 3 4 + + + +# 1 "/usr/include/bits/types/__sigset_t.h" 1 3 4 + + + + +typedef struct +{ + unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; +} __sigset_t; +# 5 "/usr/include/bits/types/sigset_t.h" 2 3 4 + + +typedef __sigset_t sigset_t; +# 34 "/usr/include/sys/select.h" 2 3 4 + + + +# 1 "/usr/include/bits/types/struct_timeval.h" 1 3 4 + + + + + + + +struct timeval +{ + + + + + __time_t tv_sec; + __suseconds_t tv_usec; + +}; +# 38 "/usr/include/sys/select.h" 2 3 4 + +# 1 "/usr/include/bits/types/struct_timespec.h" 1 3 4 +# 11 "/usr/include/bits/types/struct_timespec.h" 3 4 +struct timespec +{ + + + + __time_t tv_sec; + + + + + __syscall_slong_t tv_nsec; +# 31 "/usr/include/bits/types/struct_timespec.h" 3 4 +}; +# 40 "/usr/include/sys/select.h" 2 3 4 + + + +typedef __suseconds_t suseconds_t; + + + + + +typedef long int __fd_mask; +# 59 "/usr/include/sys/select.h" 3 4 +typedef struct + { + + + + + + + __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; + + + } fd_set; + + + + + + +typedef __fd_mask fd_mask; +# 91 "/usr/include/sys/select.h" 3 4 + +# 102 "/usr/include/sys/select.h" 3 4 +extern int select (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout); +# 127 "/usr/include/sys/select.h" 3 4 +extern int pselect (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + const struct timespec *__restrict __timeout, + const __sigset_t *__restrict __sigmask); +# 150 "/usr/include/sys/select.h" 3 4 +# 1 "/usr/include/bits/select2.h" 1 3 4 +# 23 "/usr/include/bits/select2.h" 3 4 +# 1 "/usr/include/bits/select-decl.h" 1 3 4 +# 27 "/usr/include/bits/select-decl.h" 3 4 +extern long int __fdelt_chk (long int __d); +extern long int __fdelt_warn (long int __d) + __attribute__((__warning__ ("bit outside of fd_set selected"))); +# 24 "/usr/include/bits/select2.h" 2 3 4 +# 151 "/usr/include/sys/select.h" 2 3 4 + + + +# 180 "/usr/include/sys/types.h" 2 3 4 + + + + + +typedef __blksize_t blksize_t; + + + + + + +typedef __blkcnt_t blkcnt_t; + + + +typedef __fsblkcnt_t fsblkcnt_t; + + + +typedef __fsfilcnt_t fsfilcnt_t; +# 227 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 +# 23 "/usr/include/bits/pthreadtypes.h" 3 4 +# 1 "/usr/include/bits/thread-shared-types.h" 1 3 4 +# 44 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/pthreadtypes-arch.h" 1 3 4 +# 21 "/usr/include/bits/pthreadtypes-arch.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 22 "/usr/include/bits/pthreadtypes-arch.h" 2 3 4 +# 45 "/usr/include/bits/thread-shared-types.h" 2 3 4 + +# 1 "/usr/include/bits/atomic_wide_counter.h" 1 3 4 +# 25 "/usr/include/bits/atomic_wide_counter.h" 3 4 +typedef union +{ + __extension__ unsigned long long int __value64; + struct + { + unsigned int __low; + unsigned int __high; + } __value32; +} __atomic_wide_counter; +# 47 "/usr/include/bits/thread-shared-types.h" 2 3 4 + + + + +typedef struct __pthread_internal_list +{ + struct __pthread_internal_list *__prev; + struct __pthread_internal_list *__next; +} __pthread_list_t; + +typedef struct __pthread_internal_slist +{ + struct __pthread_internal_slist *__next; +} __pthread_slist_t; +# 76 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/struct_mutex.h" 1 3 4 +# 22 "/usr/include/bits/struct_mutex.h" 3 4 +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; + + unsigned int __nusers; + + + + int __kind; + + short __spins; + short __elision; + __pthread_list_t __list; +# 53 "/usr/include/bits/struct_mutex.h" 3 4 +}; +# 77 "/usr/include/bits/thread-shared-types.h" 2 3 4 +# 89 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/struct_rwlock.h" 1 3 4 +# 23 "/usr/include/bits/struct_rwlock.h" 3 4 +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; + + int __cur_writer; + int __shared; + signed char __rwelision; + + + + + unsigned char __pad1[7]; + + + unsigned long int __pad2; + + + unsigned int __flags; +# 55 "/usr/include/bits/struct_rwlock.h" 3 4 +}; +# 90 "/usr/include/bits/thread-shared-types.h" 2 3 4 + + + + +struct __pthread_cond_s +{ + __atomic_wide_counter __wseq; + __atomic_wide_counter __g1_start; + unsigned int __g_refs[2] ; + unsigned int __g_size[2]; + unsigned int __g1_orig_size; + unsigned int __wrefs; + unsigned int __g_signals[2]; +}; + +typedef unsigned int __tss_t; +typedef unsigned long int __thrd_t; + +typedef struct +{ + int __data ; +} __once_flag; +# 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 + + + +typedef unsigned long int pthread_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_mutexattr_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_condattr_t; + + + +typedef unsigned int pthread_key_t; + + + +typedef int pthread_once_t; + + +union pthread_attr_t +{ + char __size[56]; + long int __align; +}; + +typedef union pthread_attr_t pthread_attr_t; + + + + +typedef union +{ + struct __pthread_mutex_s __data; + char __size[40]; + long int __align; +} pthread_mutex_t; + + +typedef union +{ + struct __pthread_cond_s __data; + char __size[48]; + __extension__ long long int __align; +} pthread_cond_t; + + + + + +typedef union +{ + struct __pthread_rwlock_arch_t __data; + char __size[56]; + long int __align; +} pthread_rwlock_t; + +typedef union +{ + char __size[8]; + long int __align; +} pthread_rwlockattr_t; + + + + + +typedef volatile int pthread_spinlock_t; + + + + +typedef union +{ + char __size[32]; + long int __align; +} pthread_barrier_t; + +typedef union +{ + char __size[4]; + int __align; +} pthread_barrierattr_t; +# 228 "/usr/include/sys/types.h" 2 3 4 + + + +# 515 "/usr/include/stdlib.h" 2 3 4 + + + + + + +extern long int random (void) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +extern char *initstate (unsigned int __seed, char *__statebuf, + size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +struct random_data + { + int32_t *fptr; + int32_t *rptr; + int32_t *state; + int rand_type; + int rand_deg; + int rand_sep; + int32_t *end_ptr; + }; + +extern int random_r (struct random_data *__restrict __buf, + int32_t *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int srandom_r (unsigned int __seed, struct random_data *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, + size_t __statelen, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); + +extern int setstate_r (char *__restrict __statebuf, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern int rand (void) __attribute__ ((__nothrow__ , __leaf__)); + +extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int nrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int jrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__)); +extern unsigned short int *seed48 (unsigned short int __seed16v[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +struct drand48_data + { + unsigned short int __x[3]; + unsigned short int __old_x[3]; + unsigned short int __c; + unsigned short int __init; + __extension__ unsigned long long int __a; + + }; + + +extern int drand48_r (struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int erand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int lrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int nrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int mrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int jrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int srand48_r (long int __seedval, struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int seed48_r (unsigned short int __seed16v[3], + struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int lcong48_r (unsigned short int __param[7], + struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern __uint32_t arc4random (void) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + +extern void arc4random_buf (void *__buf, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern __uint32_t arc4random_uniform (__uint32_t __upper_bound) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + +extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__)); + +extern void *calloc (size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) __attribute__ ((__warn_unused_result__)); + + + + + + +extern void *realloc (void *__ptr, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); + + +extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__alloc_size__ (2, 3))) + __attribute__ ((__malloc__ (__builtin_free, 1))); + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__ (reallocarray, 1))); + + + +# 1 "/usr/include/alloca.h" 1 3 4 +# 24 "/usr/include/alloca.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 25 "/usr/include/alloca.h" 2 3 4 + + + + + + + +extern void *alloca (size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + +# 707 "/usr/include/stdlib.h" 2 3 4 + + + + + +extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__)); + + + + +extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); + + + + +extern void *aligned_alloc (size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) + __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__)); + + + +extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + +extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void quick_exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + +extern char *getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 786 "/usr/include/stdlib.h" 3 4 +extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int setenv (const char *__name, const char *__value, int __replace) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + +extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int clearenv (void) __attribute__ ((__nothrow__ , __leaf__)); +# 814 "/usr/include/stdlib.h" 3 4 +extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 827 "/usr/include/stdlib.h" 3 4 +extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 849 "/usr/include/stdlib.h" 3 4 +extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 870 "/usr/include/stdlib.h" 3 4 +extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 923 "/usr/include/stdlib.h" 3 4 +extern int system (const char *__command) __attribute__ ((__warn_unused_result__)); +# 940 "/usr/include/stdlib.h" 3 4 +extern char *realpath (const char *__restrict __name, + char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); + + + + + + +typedef int (*__compar_fn_t) (const void *, const void *); +# 960 "/usr/include/stdlib.h" 3 4 +extern void *bsearch (const void *__key, const void *__base, + size_t __nmemb, size_t __size, __compar_fn_t __compar) + __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__)); + + +# 1 "/usr/include/bits/stdlib-bsearch.h" 1 3 4 +# 19 "/usr/include/bits/stdlib-bsearch.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) void * +bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) +{ + size_t __l, __u, __idx; + const void *__p; + int __comparison; + + __l = 0; + __u = __nmemb; + while (__l < __u) + { + __idx = (__l + __u) / 2; + __p = (const void *) (((const char *) __base) + (__idx * __size)); + __comparison = (*__compar) (__key, __p); + if (__comparison < 0) + __u = __idx; + else if (__comparison > 0) + __l = __idx + 1; + else + { + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wcast-qual" + + return (void *) __p; + +#pragma GCC diagnostic pop + + } + } + + return ((void *)0); +} +# 966 "/usr/include/stdlib.h" 2 3 4 + + + + +extern void qsort (void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); +# 980 "/usr/include/stdlib.h" 3 4 +extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); +extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); + + +__extension__ extern long long int llabs (long long int __x) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); + + + + + + +extern div_t div (int __numer, int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); +extern ldiv_t ldiv (long int __numer, long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); + + +__extension__ extern lldiv_t lldiv (long long int __numer, + long long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__)); +# 1012 "/usr/include/stdlib.h" 3 4 +extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); + + + + +extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); + + + + +extern char *gcvt (double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); + + + + +extern char *qecvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); +extern char *qfcvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__)); +extern char *qgcvt (long double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__)); + + + + +extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + +extern int qecvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int qfcvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + + + + + +extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int mbtowc (wchar_t *__restrict __pwc, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern size_t mbstowcs (wchar_t *__restrict __pwcs, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__read_only__, 2))); + +extern size_t wcstombs (char *__restrict __s, + const wchar_t *__restrict __pwcs, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))) + __attribute__ ((__access__ (__read_only__, 2))); + + + + + + +extern int rpmatch (const char *__response) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); +# 1099 "/usr/include/stdlib.h" 3 4 +extern int getsubopt (char **__restrict __optionp, + char *const *__restrict __tokens, + char **__restrict __valuep) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__)); +# 1145 "/usr/include/stdlib.h" 3 4 +extern int getloadavg (double __loadavg[], int __nelem) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 1155 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/bits/stdlib-float.h" 1 3 4 +# 24 "/usr/include/bits/stdlib-float.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) double +__attribute__ ((__nothrow__ , __leaf__)) atof (const char *__nptr) +{ + return strtod (__nptr, (char **) ((void *)0)); +} +# 1156 "/usr/include/stdlib.h" 2 3 4 + + + +# 1 "/usr/include/bits/stdlib.h" 1 3 4 +# 23 "/usr/include/bits/stdlib.h" 3 4 +extern char *__realpath_chk (const char *__restrict __name, + char *__restrict __resolved, + size_t __resolvedlen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +extern char *__realpath_alias (const char *__restrict __name, char *__restrict __resolved) __asm__ ("" "realpath") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__warn_unused_result__)); +extern char *__realpath_chk_warn (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) __asm__ ("" "__realpath_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + __attribute__ ((__warn_unused_result__)) + __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer"))) + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char * +__attribute__ ((__nothrow__ , __leaf__)) realpath (const char *__restrict __name, char *__restrict __resolved) +{ + size_t sz = __builtin_dynamic_object_size (__resolved, 1); + + if (sz == (size_t) -1) + return __realpath_alias (__name, __resolved); + + + + + + return __realpath_chk (__name, __resolved, sz); +} + + +extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen, + size_t __nreal) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) + __attribute__ ((__access__ (__write_only__, 2, 3))); +extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) __asm__ ("" "ptsname_r") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3))); +extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__ptsname_r_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf"))) + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int +__attribute__ ((__nothrow__ , __leaf__)) ptsname_r (int __fd, char *__buf, size_t __buflen) +{ + return (((__builtin_constant_p (__builtin_dynamic_object_size (__buf, 1)) && (__builtin_dynamic_object_size (__buf, 1)) == (long unsigned int) -1) || (((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((long unsigned int) (__buflen)) <= ((__builtin_dynamic_object_size (__buf, 1))) / ((sizeof (char))))) && (((long unsigned int) (__buflen)) <= ((__builtin_dynamic_object_size (__buf, 1))) / ((sizeof (char)))))) ? __ptsname_r_alias (__fd, __buf, __buflen) : ((((__typeof (__buflen)) 0 < (__typeof (__buflen)) -1 || (__builtin_constant_p (__buflen) && (__buflen) > 0)) && __builtin_constant_p ((((long unsigned int) (__buflen)) <= (__builtin_dynamic_object_size (__buf, 1)) / (sizeof (char)))) && !(((long unsigned int) (__buflen)) <= (__builtin_dynamic_object_size (__buf, 1)) / (sizeof (char)))) ? __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_dynamic_object_size (__buf, 1)) : __ptsname_r_chk (__fd, __buf, __buflen, __builtin_dynamic_object_size (__buf, 1)))) + + ; +} + + +extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)); +extern int __wctomb_alias (char *__s, wchar_t __wchar) __asm__ ("" "wctomb") __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__warn_unused_result__)); + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int +__attribute__ ((__nothrow__ , __leaf__)) wctomb (char *__s, wchar_t __wchar) +{ + + + + + + + + if (__builtin_dynamic_object_size (__s, 1) != (size_t) -1 + && 16 > __builtin_dynamic_object_size (__s, 1)) + return __wctomb_chk (__s, __wchar, __builtin_dynamic_object_size (__s, 1)); + return __wctomb_alias (__s, __wchar); +} + + +extern size_t __mbstowcs_chk (wchar_t *__restrict __dst, + const char *__restrict __src, + size_t __len, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __mbstowcs_nulldst (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) __asm__ ("" "mbstowcs") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) __asm__ ("" "mbstowcs") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__mbstowcs_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)"))) + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) + +{ + if (__builtin_constant_p (__dst == ((void *)0)) && __dst == ((void *)0)) + return __mbstowcs_nulldst (__dst, __src, __len); + else + return (((__builtin_constant_p (__builtin_dynamic_object_size (__dst, 1)) && (__builtin_dynamic_object_size (__dst, 1)) == (long unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (wchar_t))))) && (((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (wchar_t)))))) ? __mbstowcs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t)))) && !(((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t)))) ? __mbstowcs_chk_warn (__dst, __src, __len, (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t))) : __mbstowcs_chk (__dst, __src, __len, (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (wchar_t))))) + ; +} + +extern size_t __wcstombs_chk (char *__restrict __dst, + const wchar_t *__restrict __src, + size_t __len, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __wcstombs_alias (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) __asm__ ("" "wcstombs") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); +extern size_t __wcstombs_chk_warn (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__wcstombs_chk") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len"))); + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) + +{ + return (((__builtin_constant_p (__builtin_dynamic_object_size (__dst, 1)) && (__builtin_dynamic_object_size (__dst, 1)) == (long unsigned int) -1) || (((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (char))))) && (((long unsigned int) (__len)) <= ((__builtin_dynamic_object_size (__dst, 1))) / ((sizeof (char)))))) ? __wcstombs_alias (__dst, __src, __len) : ((((__typeof (__len)) 0 < (__typeof (__len)) -1 || (__builtin_constant_p (__len) && (__len) > 0)) && __builtin_constant_p ((((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (char)))) && !(((long unsigned int) (__len)) <= (__builtin_dynamic_object_size (__dst, 1)) / (sizeof (char)))) ? __wcstombs_chk_warn (__dst, __src, __len, __builtin_dynamic_object_size (__dst, 1)) : __wcstombs_chk (__dst, __src, __len, __builtin_dynamic_object_size (__dst, 1)))) + + ; +} +# 1160 "/usr/include/stdlib.h" 2 3 4 + + + + + + + + +# 4 "include/array.h" 2 + + + + + + + + +# 11 "include/array.h" +typedef struct array_impl *array_t; +typedef void (*array_free_callback_t)(void* item); + +__attribute__((warn_unused_result)) +array_t array_new (void); + +__attribute__((warn_unused_result)) +array_t array_new_sized (size_t size); + +__attribute__((nonnull (1))) +void* array_insert (array_t, size_t idx, void* item); + +__attribute__((nonnull (1))) +void* array_remove (array_t, size_t idx); + +__attribute__((nonnull (1), warn_unused_result)) +void* array_pop (array_t); + +__attribute__((nonnull (1))) +void* array_append (array_t, void* item); + +__attribute__((nonnull)) +void* array_get (array_t, size_t idx); + +__attribute__((nonnull)) +size_t array_length (array_t); + +__attribute__((nonnull (1))) +void array_free_cb (array_t, array_free_callback_t); + +__attribute__((nonnull (1))) +void array_free (array_t); +# 5 "include/lexer.h" 2 + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stdbool.h" 1 3 4 +# 8 "include/lexer.h" 2 + +typedef struct lexer_impl +{ + array_t memstreams; + array_t lexeme_arrays; +} *lexer_t; + +struct compilation_args; + +__attribute__((warn_unused_result)) +lexer_t lex_ctx_new (struct compilation_args* comp_args); + +__attribute__((nonnull)) +void lex_ctx_load_file (lexer_t, fptr_t file, const char* const path); + +__attribute__((nonnull)) +uint64_t lex_ctx_process (lexer_t lexer); + +__attribute__((nonnull)) +void lex_ctx_free (lexer_t lexer); + +enum lexeme_type +{ + NumericLiteral, + FloatingLiteral, + StringLiteral, + CharacterLiteral, + Identifier, + LeftParen, RightParen, + LeftBrace, RightBrace, + Dot, + Add, Minus, Div, Star, Modulus, + AddAssign, MinusAssign, DivAssign, StarAssign, ModulusAssign, + Increment, Decrement, + LogicalOr, LogicalAnd, + Assign, AssignAssign, + Not, NotAssign, + BitwiseOr, BitwiseAnd, BitwiseXor, + BitwiseOrAssign, BitwiseAndAssign, BitwiseXorAssign, + BitwiseNegate, + BwdSlash, Newline, Semi, EndOfFile, + Comment, MultiComment +}; + +typedef struct +{ + uint64_t length; + uint64_t stream_offs; + enum lexeme_type type; +} *lexeme_t; +# 4 "include/tokenizer.h" 2 + +typedef struct tkn_impl* tkn_t; + +__attribute__((nonnull)) +void tkn_free (tkn_t); + +void tkn_process (tkn_t); + +__attribute__((malloc (tkn_free), nonnull)) +tkn_t tkn_new (lexer_t); +# 2 "src/tokenizer.c" 2 +# 1 "include/generic.h" 1 + + +# 1 "include/ansi-colors.h" 1 + +# 34 "include/ansi-colors.h" +void cprintf (const char* ccode, const char* fmt, ...); + +__attribute__((nonnull (1))) +void cfprintf (fptr_t file, const char* ccode, const char* fmt, ...); +# 4 "include/generic.h" 2 + +# 1 "/usr/include/errno.h" 1 3 4 +# 28 "/usr/include/errno.h" 3 4 +# 1 "/usr/include/bits/errno.h" 1 3 4 +# 26 "/usr/include/bits/errno.h" 3 4 +# 1 "/usr/include/linux/errno.h" 1 3 4 +# 1 "/usr/include/asm/errno.h" 1 3 4 +# 1 "/usr/include/asm-generic/errno.h" 1 3 4 + + + + +# 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 +# 6 "/usr/include/asm-generic/errno.h" 2 3 4 +# 2 "/usr/include/asm/errno.h" 2 3 4 +# 2 "/usr/include/linux/errno.h" 2 3 4 +# 27 "/usr/include/bits/errno.h" 2 3 4 +# 29 "/usr/include/errno.h" 2 3 4 + + + + + + + + + +# 37 "/usr/include/errno.h" 3 4 +extern int *__errno_location (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +# 52 "/usr/include/errno.h" 3 4 + +# 6 "include/generic.h" 2 + + +# 1 "/usr/include/string.h" 1 3 4 +# 26 "/usr/include/string.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 27 "/usr/include/string.h" 2 3 4 + + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 34 "/usr/include/string.h" 2 3 4 +# 43 "/usr/include/string.h" 3 4 +extern void *memcpy (void *__restrict __dest, const void *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void *memmove (void *__dest, const void *__src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern void *memccpy (void *__restrict __dest, const void *__restrict __src, + int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 4))); + + + + +extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern int memcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 80 "/usr/include/string.h" 3 4 +extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 107 "/usr/include/string.h" 3 4 +extern void *memchr (const void *__s, int __c, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 141 "/usr/include/string.h" 3 4 +extern char *strcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern char *strcat (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern char *strncat (char *__restrict __dest, const char *__restrict __src, + size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int strncmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strcoll (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern size_t strxfrm (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +# 1 "/usr/include/bits/types/locale_t.h" 1 3 4 +# 22 "/usr/include/bits/types/locale_t.h" 3 4 +# 1 "/usr/include/bits/types/__locale_t.h" 1 3 4 +# 27 "/usr/include/bits/types/__locale_t.h" 3 4 +struct __locale_struct +{ + + struct __locale_data *__locales[13]; + + + const unsigned short int *__ctype_b; + const int *__ctype_tolower; + const int *__ctype_toupper; + + + const char *__names[13]; +}; + +typedef struct __locale_struct *__locale_t; +# 23 "/usr/include/bits/types/locale_t.h" 2 3 4 + +typedef __locale_t locale_t; +# 173 "/usr/include/string.h" 2 3 4 + + +extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + +extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, + locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) + __attribute__ ((__access__ (__write_only__, 1, 3))); + + + + + +extern char *strdup (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern char *strndup (const char *__string, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); +# 246 "/usr/include/string.h" 3 4 +extern char *strchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 273 "/usr/include/string.h" 3 4 +extern char *strrchr (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 286 "/usr/include/string.h" 3 4 +extern char *strchrnul (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern size_t strcspn (const char *__s, const char *__reject) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern size_t strspn (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 323 "/usr/include/string.h" 3 4 +extern char *strpbrk (const char *__s, const char *__accept) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); +# 350 "/usr/include/string.h" 3 4 +extern char *strstr (const char *__haystack, const char *__needle) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strtok (char *__restrict __s, const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *__strtok_r (char *__restrict __s, + const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); + +extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, + char **__restrict __save_ptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))); +# 380 "/usr/include/string.h" 3 4 +extern char *strcasestr (const char *__haystack, const char *__needle) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + + +extern void *memmem (const void *__haystack, size_t __haystacklen, + const void *__needle, size_t __needlelen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))) + __attribute__ ((__access__ (__read_only__, 1, 2))) + __attribute__ ((__access__ (__read_only__, 3, 4))); + + + +extern void *__mempcpy (void *__restrict __dest, + const void *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern void *mempcpy (void *__restrict __dest, + const void *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern size_t strlen (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern size_t strnlen (const char *__string, size_t __maxlen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + +extern char *strerror (int __errnum) __attribute__ ((__nothrow__ , __leaf__)); +# 432 "/usr/include/string.h" 3 4 +extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__ , __leaf__)) + + __attribute__ ((__nonnull__ (2))) + __attribute__ ((__access__ (__write_only__, 2, 3))); +# 458 "/usr/include/string.h" 3 4 +extern char *strerror_l (int __errnum, locale_t __l) __attribute__ ((__nothrow__ , __leaf__)); + + + +# 1 "/usr/include/strings.h" 1 3 4 +# 23 "/usr/include/strings.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" 1 3 4 +# 24 "/usr/include/strings.h" 2 3 4 + + + + + + + + + + +extern int bcmp (const void *__s1, const void *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bcopy (const void *__src, void *__dest, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 68 "/usr/include/strings.h" 3 4 +extern char *index (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); +# 96 "/usr/include/strings.h" 3 4 +extern char *rindex (const char *__s, int __c) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int ffs (int __i) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + + + +extern int ffsl (long int __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); +__extension__ extern int ffsll (long long int __ll) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + + +extern int strcasecmp (const char *__s1, const char *__s2) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + + +extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); + + + +extern int strncasecmp_l (const char *__s1, const char *__s2, + size_t __n, locale_t __loc) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); + + + + + + + + +# 1 "/usr/include/bits/strings_fortified.h" 1 3 4 +# 22 "/usr/include/bits/strings_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void +__attribute__ ((__nothrow__ , __leaf__)) bcopy (const void *__src, void *__dest, size_t __len) +{ + (void) __builtin___memmove_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 0)); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void +__attribute__ ((__nothrow__ , __leaf__)) bzero (void *__dest, size_t __len) +{ + (void) __builtin___memset_chk (__dest, '\0', __len, + __builtin_dynamic_object_size (__dest, 0)); +} +# 145 "/usr/include/strings.h" 2 3 4 +# 463 "/usr/include/string.h" 2 3 4 + + + +extern void explicit_bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) + __attribute__ ((__access__ (__write_only__, 1))); + + + +extern char *strsep (char **__restrict __stringp, + const char *__restrict __delim) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern char *strsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__)); +# 489 "/usr/include/string.h" 3 4 +extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + +extern char *__stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern char *stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern size_t strlcpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__write_only__, 1, 3))); + + + +extern size_t strlcat (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__access__ (__read_write__, 1, 3))); +# 548 "/usr/include/string.h" 3 4 +# 1 "/usr/include/bits/string_fortified.h" 1 3 4 +# 25 "/usr/include/bits/string_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * +__attribute__ ((__nothrow__ , __leaf__)) memcpy (void *__restrict __dest, const void *__restrict __src, size_t __len) + +{ + return __builtin___memcpy_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 0)); +} + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * +__attribute__ ((__nothrow__ , __leaf__)) memmove (void *__dest, const void *__src, size_t __len) +{ + return __builtin___memmove_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 0)); +} +# 56 "/usr/include/bits/string_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void * +__attribute__ ((__nothrow__ , __leaf__)) memset (void *__dest, int __ch, size_t __len) +{ + return __builtin___memset_chk (__dest, __ch, __len, + __builtin_dynamic_object_size (__dest, 0)); +} + + + + +void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1))); + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void +__attribute__ ((__nothrow__ , __leaf__)) explicit_bzero (void *__dest, size_t __len) +{ + __explicit_bzero_chk (__dest, __len, __builtin_dynamic_object_size (__dest, 0)); +} + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strcpy (char *__restrict __dest, const char *__restrict __src) +{ + return __builtin___strcpy_chk (__dest, __src, __builtin_dynamic_object_size (__dest, 1)); +} + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) stpcpy (char *__restrict __dest, const char *__restrict __src) +{ + return __builtin___stpcpy_chk (__dest, __src, __builtin_dynamic_object_size (__dest, 1)); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strncpy (char *__restrict __dest, const char *__restrict __src, size_t __len) + +{ + return __builtin___strncpy_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 1)); +} + + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) stpncpy (char *__dest, const char *__src, size_t __n) +{ + return __builtin___stpncpy_chk (__dest, __src, __n, + __builtin_dynamic_object_size (__dest, 1)); +} +# 127 "/usr/include/bits/string_fortified.h" 3 4 +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strcat (char *__restrict __dest, const char *__restrict __src) +{ + return __builtin___strcat_chk (__dest, __src, __builtin_dynamic_object_size (__dest, 1)); +} + + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) char * +__attribute__ ((__nothrow__ , __leaf__)) strncat (char *__restrict __dest, const char *__restrict __src, size_t __len) + +{ + return __builtin___strncat_chk (__dest, __src, __len, + __builtin_dynamic_object_size (__dest, 1)); +} + + +extern size_t __strlcpy_chk (char *__dest, const char *__src, size_t __n, + size_t __destlen) __attribute__ ((__nothrow__ , __leaf__)); +extern size_t __strlcpy_alias (char *__dest, const char *__src, size_t __n) __asm__ ("" "strlcpy") __attribute__ ((__nothrow__ , __leaf__)) + + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) strlcpy (char *__restrict __dest, const char *__restrict __src, size_t __n) + +{ + if (__builtin_dynamic_object_size (__dest, 1) != (size_t) -1 + && (!__builtin_constant_p (__n > __builtin_dynamic_object_size (__dest, 1)) + || __n > __builtin_dynamic_object_size (__dest, 1))) + return __strlcpy_chk (__dest, __src, __n, __builtin_dynamic_object_size (__dest, 1)); + return __strlcpy_alias (__dest, __src, __n); +} + +extern size_t __strlcat_chk (char *__dest, const char *__src, size_t __n, + size_t __destlen) __attribute__ ((__nothrow__ , __leaf__)); +extern size_t __strlcat_alias (char *__dest, const char *__src, size_t __n) __asm__ ("" "strlcat") __attribute__ ((__nothrow__ , __leaf__)) + + ; + +extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t +__attribute__ ((__nothrow__ , __leaf__)) strlcat (char *__restrict __dest, const char *__restrict __src, size_t __n) + +{ + if (__builtin_dynamic_object_size (__dest, 1) != (size_t) -1 + && (!__builtin_constant_p (__n > __builtin_dynamic_object_size (__dest, 1)) + || __n > __builtin_dynamic_object_size (__dest, 1))) + return __strlcat_chk (__dest, __src, __n, __builtin_dynamic_object_size (__dest, 1)); + return __strlcat_alias (__dest, __src, __n); +} +# 549 "/usr/include/string.h" 2 3 4 + + + + +# 9 "include/generic.h" 2 +# 1 "/usr/include/inttypes.h" 1 3 4 +# 34 "/usr/include/inttypes.h" 3 4 +typedef int __gwchar_t; +# 327 "/usr/include/inttypes.h" 3 4 + + + + + +typedef struct + { + long int quot; + long int rem; + } imaxdiv_t; +# 351 "/usr/include/inttypes.h" 3 4 +extern intmax_t imaxabs (intmax_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + +extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); + + +extern intmax_t strtoimax (const char *__restrict __nptr, + char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); + + +extern uintmax_t strtoumax (const char *__restrict __nptr, + char ** __restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__)); + + +extern intmax_t wcstoimax (const __gwchar_t *__restrict __nptr, + __gwchar_t **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)); + + +extern uintmax_t wcstoumax (const __gwchar_t *__restrict __nptr, + __gwchar_t ** __restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)); +# 415 "/usr/include/inttypes.h" 3 4 + +# 10 "include/generic.h" 2 +# 80 "include/generic.h" + +# 80 "include/generic.h" +void __chk_free_impl (const char* fn, void* ptr); +void __chk_free_impl_nofn (void* ptr); +void* __chk_calloc_impl (const char* fn, size_t nmemb, size_t size); +void* __chk_realloc_impl (const char* fn, void* ptr, size_t size); + + +void dbg_mem_dump_stats (void); +# 3 "src/tokenizer.c" 2 + + +struct token +{ + lexeme_t lexeme; +}; + +struct tkn_impl +{ + lexer_t lexer; + array_t tokens; +}; + +void +tkn_free (tkn_t self) +{ + fprintf (( +# 19 "src/tokenizer.c" 3 4 + stdout +# 19 "src/tokenizer.c" + ), "\033[1;" "37m" "%s:%" +# 19 "src/tokenizer.c" 3 4 + "u" +# 19 "src/tokenizer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "freeing tokenizer: %p" "\n", "src/tokenizer.c", 19, ((void *)((uintptr_t)self & 0xFFFFFFFF))); + __chk_free_impl (__func__, self); +} + +static void +tkn_process_impl (tkn_t self, array_t lexemes) +{ + +} + +void +tkn_process (tkn_t self) +{ + array_t lexemes; for (size_t i = 0; i < array_length (self->lexer->lexeme_arrays) && (lexemes = array_get (self->lexer->lexeme_arrays, i)); ++i) + tkn_process_impl (self, lexemes); +} + +tkn_t +tkn_new (lexer_t lexer) +{ + tkn_t tokenizer = __chk_calloc_impl (__func__, (1), (sizeof (*(tkn_t) +# 39 "src/tokenizer.c" 3 4 + ((void *)0) +# 39 "src/tokenizer.c" + ))); + tokenizer->lexer = lexer; + fprintf (( +# 41 "src/tokenizer.c" 3 4 + stdout +# 41 "src/tokenizer.c" + ), "\033[1;" "37m" "%s:%" +# 41 "src/tokenizer.c" 3 4 + "u" +# 41 "src/tokenizer.c" + "\033[0m" ": " "\033[1;" "34m" "verbose: " "\033[0m" "created tokeniser: %p" "\n", "src/tokenizer.c", 41, ((void *)((uintptr_t)tokenizer & 0xFFFFFFFF))); + return tokenizer; +} diff --git a/build/tokenizer.o b/build/tokenizer.o new file mode 100644 index 0000000..33ae56d Binary files /dev/null and b/build/tokenizer.o differ diff --git a/build/tokenizer.s b/build/tokenizer.s new file mode 100644 index 0000000..e9fc239 --- /dev/null +++ b/build/tokenizer.s @@ -0,0 +1,2907 @@ + .file "tokenizer.c" + .text +.Ltext0: + .file 0 "/home/unazed/Programming/c/ucc-0.2.0" "src/tokenizer.c" + .section .rodata + .align 32 +.LC0: + .string "src/tokenizer.c" + .zero 48 + .align 32 +.LC1: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mfreeing tokenizer: %p\n" + .zero 35 + .text + .globl tkn_free + .type tkn_free, @function +tkn_free: +.LASANPC53: +.LVL0: +.LFB53: + .file 1 "src/tokenizer.c" + .loc 1 18 1 view -0 + .cfi_startproc + .loc 1 18 1 is_stmt 0 view .LVU1 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 13, -24 + .cfi_offset 12, -32 + .cfi_offset 3, -40 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + .loc 1 19 3 is_stmt 1 view .LVU2 + .loc 1 19 134 is_stmt 0 view .LVU3 + movl %edi, %r13d + .loc 1 19 3 view .LVU4 + leaq stdout(%rip), %rdi +.LVL1: + .loc 1 19 3 view .LVU5 + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L4 + movq stdout(%rip), %r12 + testq %r12, %r12 + je .L5 +.L3: +.LVL2: +.LBB6: +.LBI6: + .file 2 "/usr/include/bits/stdio2.h" + .loc 2 77 1 is_stmt 1 view .LVU6 +.LBB7: + .loc 2 79 3 view .LVU7 + .loc 2 79 10 is_stmt 0 view .LVU8 + movq %r13, %r9 + movl $19, %r8d + leaq .LC0(%rip), %rcx + leaq .LC1(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL3: + .loc 2 79 10 view .LVU9 +.LBE7: +.LBE6: + .loc 1 20 3 is_stmt 1 view .LVU10 + movq %rbx, %rsi + leaq __func__.1(%rip), %rdi + call __chk_free_impl@PLT +.LVL4: + .loc 1 21 1 is_stmt 0 view .LVU11 + addq $8, %rsp + popq %rbx +.LVL5: + .loc 1 21 1 view .LVU12 + popq %r12 + popq %r13 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL6: +.L4: + .cfi_restore_state + .loc 1 19 3 view .LVU13 + call __asan_report_load8@PLT +.LVL7: +.L5: + leaq .Lubsan_data11(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL8: + jmp .L3 + .cfi_endproc +.LFE53: + .size tkn_free, .-tkn_free + .globl tkn_process + .type tkn_process, @function +tkn_process: +.LASANPC55: +.LVL9: +.LFB55: + .loc 1 31 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 31 1 is_stmt 0 view .LVU15 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 13, -24 + .cfi_offset 12, -32 + .cfi_offset 3, -40 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %rbx + .loc 1 32 3 is_stmt 1 view .LVU16 + .loc 1 32 20 discriminator 1 view .LVU17 +.LBB8: + .loc 1 32 25 discriminator 1 view .LVU18 +.LVL10: + .loc 1 32 32 is_stmt 0 discriminator 1 view .LVU19 + movl $0, %r13d + .loc 1 32 20 view .LVU20 + jmp .L7 +.LVL11: +.L25: + .loc 1 33 5 is_stmt 1 view .LVU21 + .loc 1 32 143 discriminator 4 view .LVU22 + addq $1, %r13 +.LVL12: +.L7: + .loc 1 32 85 discriminator 1 view .LVU23 + .loc 1 32 61 is_stmt 0 discriminator 1 view .LVU24 + testq %rbx, %rbx + je .L8 + testb $7, %bl + jne .L8 +.L9: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L26 + movq (%rbx), %r12 + .loc 1 32 43 discriminator 1 view .LVU25 + testq %r12, %r12 + je .L11 + testb $7, %r12b + jne .L11 +.L12: + leaq 8(%r12), %rdx + cmpq $-8, %r12 + jnb .L27 +.L13: + leaq 8(%r12), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L28 + movq 8(%r12), %r12 + testq %r12, %r12 + je .L29 +.L15: + movq %r12, %rdi + call array_length@PLT +.LVL13: + .loc 1 32 85 discriminator 1 view .LVU26 + cmpq %rax, %r13 + jnb .L6 + .loc 1 32 114 discriminator 3 view .LVU27 + testq %rbx, %rbx + je .L17 + testb $7, %bl + jne .L17 +.L18: + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L30 + movq (%rbx), %r12 + .loc 1 32 99 discriminator 3 view .LVU28 + testq %r12, %r12 + je .L20 + testb $7, %r12b + jne .L20 +.L21: + leaq 8(%r12), %rdx + cmpq $-8, %r12 + jnb .L31 +.L22: + leaq 8(%r12), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L32 + movq 8(%r12), %r12 + testq %r12, %r12 + je .L33 +.L24: + movq %r13, %rsi + movq %r12, %rdi + call array_get@PLT +.LVL14: + .loc 1 32 85 discriminator 1 view .LVU29 + testq %rax, %rax + jne .L25 +.LVL15: +.L6: + .loc 1 32 85 discriminator 1 view .LVU30 +.LBE8: + .loc 1 34 1 view .LVU31 + addq $8, %rsp + popq %rbx +.LVL16: + .loc 1 34 1 view .LVU32 + popq %r12 + popq %r13 +.LVL17: + .loc 1 34 1 view .LVU33 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL18: +.L8: + .cfi_restore_state +.LBB9: + .loc 1 32 61 discriminator 1 view .LVU34 + movq %rbx, %rsi + leaq .Lubsan_data17(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL19: + jmp .L9 +.L26: + .loc 1 32 61 discriminator 1 view .LVU35 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL20: +.L11: + .loc 1 32 43 discriminator 1 view .LVU36 + movq %r12, %rsi + leaq .Lubsan_data18(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL21: + jmp .L12 +.L27: + movq %r12, %rsi + leaq .Lubsan_data19(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL22: + jmp .L13 +.L28: + call __asan_report_load8@PLT +.LVL23: +.L29: + leaq .Lubsan_data13(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL24: + jmp .L15 +.L17: + .loc 1 32 114 discriminator 3 view .LVU37 + movq %rbx, %rsi + leaq .Lubsan_data20(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL25: + jmp .L18 +.L30: + .loc 1 32 114 discriminator 3 view .LVU38 + movq %rbx, %rdi + call __asan_report_load8@PLT +.LVL26: +.L20: + .loc 1 32 99 discriminator 3 view .LVU39 + movq %r12, %rsi + leaq .Lubsan_data21(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL27: + jmp .L21 +.L31: + movq %r12, %rsi + leaq .Lubsan_data22(%rip), %rdi + call __ubsan_handle_pointer_overflow@PLT +.LVL28: + jmp .L22 +.L32: + call __asan_report_load8@PLT +.LVL29: +.L33: + leaq .Lubsan_data14(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL30: + jmp .L24 +.LBE9: + .cfi_endproc +.LFE55: + .size tkn_process, .-tkn_process + .section .rodata + .align 32 +.LC2: + .string "\033[1;37m%s:%u\033[0m: \033[1;34mverbose: \033[0mcreated tokeniser: %p\n" + .zero 35 + .text + .globl tkn_new + .type tkn_new, @function +tkn_new: +.LASANPC56: +.LVL31: +.LFB56: + .loc 1 38 1 is_stmt 1 view -0 + .cfi_startproc + .loc 1 38 1 is_stmt 0 view .LVU41 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r13 + pushq %r12 + pushq %rbx + subq $8, %rsp + .cfi_offset 13, -24 + .cfi_offset 12, -32 + .cfi_offset 3, -40 +1: call *mcount@GOTPCREL(%rip) + movq %rdi, %r12 + .loc 1 39 3 is_stmt 1 view .LVU42 + .loc 1 39 21 is_stmt 0 view .LVU43 + movl $16, %edx + movl $1, %esi + leaq __func__.0(%rip), %rdi +.LVL32: + .loc 1 39 21 view .LVU44 + call __chk_calloc_impl@PLT +.LVL33: + movq %rax, %rbx +.LVL34: + .loc 1 40 3 is_stmt 1 view .LVU45 + .loc 1 40 20 is_stmt 0 view .LVU46 + testq %rax, %rax + je .L35 + testb $7, %al + jne .L35 +.LVL35: +.L36: + .loc 1 40 20 view .LVU47 + movq %rbx, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L40 + movq %r12, (%rbx) + .loc 1 41 3 is_stmt 1 view .LVU48 + .loc 1 41 139 is_stmt 0 view .LVU49 + movl %ebx, %r13d + .loc 1 41 3 view .LVU50 + leaq stdout(%rip), %rdi + movq %rdi, %rax + shrq $3, %rax + cmpb $0, 2147450880(%rax) + jne .L41 + .loc 1 41 3 view .LVU51 + movq stdout(%rip), %r12 +.LVL36: + .loc 1 41 3 view .LVU52 + testq %r12, %r12 + je .L42 +.LVL37: +.L39: +.LBB10: +.LBI10: + .loc 2 77 1 is_stmt 1 view .LVU53 +.LBB11: + .loc 2 79 3 view .LVU54 + .loc 2 79 10 is_stmt 0 view .LVU55 + movq %r13, %r9 + movl $41, %r8d + leaq .LC0(%rip), %rcx + leaq .LC2(%rip), %rdx + movl $2, %esi + movq %r12, %rdi + movl $0, %eax + call __fprintf_chk@PLT +.LVL38: + .loc 2 79 10 view .LVU56 +.LBE11: +.LBE10: + .loc 1 42 3 is_stmt 1 view .LVU57 + .loc 1 43 1 is_stmt 0 view .LVU58 + movq %rbx, %rax + addq $8, %rsp + popq %rbx +.LVL39: + .loc 1 43 1 view .LVU59 + popq %r12 + popq %r13 + popq %rbp + .cfi_remember_state + .cfi_def_cfa 7, 8 + ret +.LVL40: +.L35: + .cfi_restore_state + .loc 1 40 20 view .LVU60 + movq %rbx, %rsi + leaq .Lubsan_data23(%rip), %rdi + call __ubsan_handle_type_mismatch_v1@PLT +.LVL41: + .loc 1 40 20 view .LVU61 + jmp .L36 +.L40: + .loc 1 40 20 view .LVU62 + movq %rbx, %rdi + call __asan_report_store8@PLT +.LVL42: +.L41: + .loc 1 41 3 view .LVU63 + call __asan_report_load8@PLT +.LVL43: +.L42: + .loc 1 41 3 view .LVU64 + leaq .Lubsan_data15(%rip), %rdi + call __ubsan_handle_nonnull_arg@PLT +.LVL44: + .loc 1 41 3 view .LVU65 + jmp .L39 + .cfi_endproc +.LFE56: + .size tkn_new, .-tkn_new + .section .data.rel.local,"aw" + .align 32 + .type .Lubsan_data23, @object + .size .Lubsan_data23, 32 +.Lubsan_data23: + .quad .LC0 + .long 40 + .long 20 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data22, @object + .size .Lubsan_data22, 16 +.Lubsan_data22: + .quad .LC0 + .long 32 + .long 99 + .zero 48 + .align 32 + .type .Lubsan_data21, @object + .size .Lubsan_data21, 32 +.Lubsan_data21: + .quad .LC0 + .long 32 + .long 99 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data20, @object + .size .Lubsan_data20, 32 +.Lubsan_data20: + .quad .LC0 + .long 32 + .long 114 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .align 32 + .type .Lubsan_data19, @object + .size .Lubsan_data19, 16 +.Lubsan_data19: + .quad .LC0 + .long 32 + .long 43 + .zero 48 + .align 32 + .type .Lubsan_data18, @object + .size .Lubsan_data18, 32 +.Lubsan_data18: + .quad .LC0 + .long 32 + .long 43 + .quad .Lubsan_type2 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type2, @object + .size .Lubsan_type2, 24 +.Lubsan_type2: + .value -1 + .value 0 + .string "'struct lexer_impl'" + .zero 40 + .section .data.rel.local + .align 32 + .type .Lubsan_data17, @object + .size .Lubsan_data17, 32 +.Lubsan_data17: + .quad .LC0 + .long 32 + .long 61 + .quad .Lubsan_type1 + .byte 3 + .byte 3 + .zero 6 + .zero 32 + .data + .align 32 + .type .Lubsan_type1, @object + .size .Lubsan_type1, 22 +.Lubsan_type1: + .value -1 + .value 0 + .string "'struct tkn_impl'" + .zero 42 + .section .data.rel.local + .align 32 + .type .Lubsan_data15, @object + .size .Lubsan_data15, 40 +.Lubsan_data15: + .quad .LC0 + .long 41 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data14, @object + .size .Lubsan_data14, 40 +.Lubsan_data14: + .quad .LC0 + .long 32 + .long 99 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data13, @object + .size .Lubsan_data13, 40 +.Lubsan_data13: + .quad .LC0 + .long 32 + .long 43 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .align 32 + .type .Lubsan_data11, @object + .size .Lubsan_data11, 40 +.Lubsan_data11: + .quad .LC0 + .long 19 + .long 3 + .quad 0 + .long 0 + .long 0 + .long 1 + .zero 4 + .zero 56 + .section .rodata + .align 32 + .type __func__.0, @object + .size __func__.0, 8 +__func__.0: + .string "tkn_new" + .zero 56 + .align 32 + .type __func__.1, @object + .size __func__.1, 9 +__func__.1: + .string "tkn_free" + .zero 55 + .section .data.rel.local + .align 16 + .type .LASANLOC1, @object + .size .LASANLOC1, 16 +.LASANLOC1: + .quad .LC0 + .long 39 + .long 40 + .align 16 + .type .LASANLOC2, @object + .size .LASANLOC2, 16 +.LASANLOC2: + .quad .LC0 + .long 20 + .long 20 + .section .rodata.str1.1,"aMS",@progbits,1 +.LC3: + .string "*.Lubsan_data23" +.LC4: + .string "*.Lubsan_data22" +.LC5: + .string "*.Lubsan_data21" +.LC6: + .string "*.Lubsan_data20" +.LC7: + .string "*.Lubsan_data19" +.LC8: + .string "*.Lubsan_data18" +.LC9: + .string "*.Lubsan_type2" +.LC10: + .string "*.Lubsan_data17" +.LC11: + .string "*.Lubsan_type1" +.LC12: + .string "*.Lubsan_data15" +.LC13: + .string "*.Lubsan_data14" +.LC14: + .string "*.Lubsan_data13" +.LC15: + .string "*.Lubsan_data11" +.LC16: + .string "__func__" +.LC17: + .string "*.LC1" +.LC18: + .string "*.LC2" +.LC19: + .string "*.LC0" + .section .data.rel.local + .align 32 + .type .LASAN0, @object + .size .LASAN0, 1152 +.LASAN0: + .quad .Lubsan_data23 + .quad 32 + .quad 64 + .quad .LC3 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data22 + .quad 16 + .quad 64 + .quad .LC4 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data21 + .quad 32 + .quad 64 + .quad .LC5 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data20 + .quad 32 + .quad 64 + .quad .LC6 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data19 + .quad 16 + .quad 64 + .quad .LC7 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data18 + .quad 32 + .quad 64 + .quad .LC8 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type2 + .quad 24 + .quad 64 + .quad .LC9 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data17 + .quad 32 + .quad 64 + .quad .LC10 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_type1 + .quad 22 + .quad 64 + .quad .LC11 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data15 + .quad 40 + .quad 96 + .quad .LC12 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data14 + .quad 40 + .quad 96 + .quad .LC13 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data13 + .quad 40 + .quad 96 + .quad .LC14 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .Lubsan_data11 + .quad 40 + .quad 96 + .quad .LC15 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad __func__.0 + .quad 8 + .quad 64 + .quad .LC16 + .quad .LC0 + .quad 0 + .quad .LASANLOC1 + .quad 0 + .quad __func__.1 + .quad 9 + .quad 64 + .quad .LC16 + .quad .LC0 + .quad 0 + .quad .LASANLOC2 + .quad 0 + .quad .LC1 + .quad 61 + .quad 96 + .quad .LC17 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC2 + .quad 61 + .quad 96 + .quad .LC18 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .quad .LC0 + .quad 16 + .quad 64 + .quad .LC19 + .quad .LC0 + .quad 0 + .quad 0 + .quad 0 + .text + .type _sub_D_00099_0, @function +_sub_D_00099_0: +.LFB57: + .cfi_startproc + .loc 1 43 1 is_stmt 1 view .LVU66 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl $18, %esi + leaq .LASAN0(%rip), %rdi + call __asan_unregister_globals@PLT + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE57: + .size _sub_D_00099_0, .-_sub_D_00099_0 + .section .fini_array.00099,"aw" + .align 8 + .quad _sub_D_00099_0 + .text + .type _sub_I_00099_1, @function +_sub_I_00099_1: +.LFB58: + .cfi_startproc + .loc 1 43 1 view .LVU67 + endbr64 + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + call __asan_init@PLT + call __asan_version_mismatch_check_v8@PLT + movl $18, %esi + leaq .LASAN0(%rip), %rdi + call __asan_register_globals@PLT + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE58: + .size _sub_I_00099_1, .-_sub_I_00099_1 + .section .init_array.00099,"aw" + .align 8 + .quad _sub_I_00099_1 + .text +.Letext0: + .file 3 "/usr/include/bits/types.h" + .file 4 "/usr/include/stdint.h" + .file 5 "/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/stddef.h" + .file 6 "/usr/include/bits/types/struct_FILE.h" + .file 7 "/usr/include/bits/types/FILE.h" + .file 8 "include/array.h" + .file 9 "include/lexer.h" + .file 10 "include/tokenizer.h" + .file 11 "include/generic.h" + .file 12 "/usr/include/bits/stdio2-decl.h" + .file 13 "/usr/include/stdio.h" + .file 14 "" + .section .debug_info,"",@progbits +.Ldebug_info0: + .long 0x8d5 + .value 0x5 + .byte 0x1 + .byte 0x8 + .long .Ldebug_abbrev0 + .uleb128 0x1a + .long .LASF83 + .byte 0x1d + .long .LASF0 + .long .LASF1 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .long .Ldebug_line0 + .uleb128 0x6 + .byte 0x1 + .byte 0x8 + .long .LASF2 + .uleb128 0x6 + .byte 0x2 + .byte 0x7 + .long .LASF3 + .uleb128 0x6 + .byte 0x4 + .byte 0x7 + .long .LASF4 + .uleb128 0x6 + .byte 0x8 + .byte 0x7 + .long .LASF5 + .uleb128 0x6 + .byte 0x1 + .byte 0x6 + .long .LASF6 + .uleb128 0x6 + .byte 0x2 + .byte 0x5 + .long .LASF7 + .uleb128 0x1b + .byte 0x4 + .byte 0x5 + .string "int" + .uleb128 0x6 + .byte 0x8 + .byte 0x5 + .long .LASF8 + .uleb128 0x7 + .long .LASF9 + .byte 0x3 + .byte 0x98 + .byte 0x12 + .long 0x5f + .uleb128 0x7 + .long .LASF10 + .byte 0x3 + .byte 0x99 + .byte 0x12 + .long 0x5f + .uleb128 0x1c + .byte 0x8 + .uleb128 0x4 + .long 0x85 + .uleb128 0x6 + .byte 0x1 + .byte 0x6 + .long .LASF11 + .uleb128 0x11 + .long 0x85 + .uleb128 0x7 + .long .LASF12 + .byte 0x4 + .byte 0x4f + .byte 0x1b + .long 0x43 + .uleb128 0x7 + .long .LASF13 + .byte 0x5 + .byte 0xd6 + .byte 0x1b + .long 0x43 + .uleb128 0x12 + .long .LASF51 + .byte 0xd8 + .byte 0x6 + .byte 0x31 + .byte 0x8 + .long 0x230 + .uleb128 0x2 + .long .LASF14 + .byte 0x6 + .byte 0x33 + .byte 0x7 + .long 0x58 + .byte 0 + .uleb128 0x2 + .long .LASF15 + .byte 0x6 + .byte 0x36 + .byte 0x9 + .long 0x80 + .byte 0x8 + .uleb128 0x2 + .long .LASF16 + .byte 0x6 + .byte 0x37 + .byte 0x9 + .long 0x80 + .byte 0x10 + .uleb128 0x2 + .long .LASF17 + .byte 0x6 + .byte 0x38 + .byte 0x9 + .long 0x80 + .byte 0x18 + .uleb128 0x2 + .long .LASF18 + .byte 0x6 + .byte 0x39 + .byte 0x9 + .long 0x80 + .byte 0x20 + .uleb128 0x2 + .long .LASF19 + .byte 0x6 + .byte 0x3a + .byte 0x9 + .long 0x80 + .byte 0x28 + .uleb128 0x2 + .long .LASF20 + .byte 0x6 + .byte 0x3b + .byte 0x9 + .long 0x80 + .byte 0x30 + .uleb128 0x2 + .long .LASF21 + .byte 0x6 + .byte 0x3c + .byte 0x9 + .long 0x80 + .byte 0x38 + .uleb128 0x2 + .long .LASF22 + .byte 0x6 + .byte 0x3d + .byte 0x9 + .long 0x80 + .byte 0x40 + .uleb128 0x2 + .long .LASF23 + .byte 0x6 + .byte 0x40 + .byte 0x9 + .long 0x80 + .byte 0x48 + .uleb128 0x2 + .long .LASF24 + .byte 0x6 + .byte 0x41 + .byte 0x9 + .long 0x80 + .byte 0x50 + .uleb128 0x2 + .long .LASF25 + .byte 0x6 + .byte 0x42 + .byte 0x9 + .long 0x80 + .byte 0x58 + .uleb128 0x2 + .long .LASF26 + .byte 0x6 + .byte 0x44 + .byte 0x16 + .long 0x249 + .byte 0x60 + .uleb128 0x2 + .long .LASF27 + .byte 0x6 + .byte 0x46 + .byte 0x14 + .long 0x24e + .byte 0x68 + .uleb128 0x2 + .long .LASF28 + .byte 0x6 + .byte 0x48 + .byte 0x7 + .long 0x58 + .byte 0x70 + .uleb128 0x2 + .long .LASF29 + .byte 0x6 + .byte 0x49 + .byte 0x7 + .long 0x58 + .byte 0x74 + .uleb128 0x2 + .long .LASF30 + .byte 0x6 + .byte 0x4a + .byte 0xb + .long 0x66 + .byte 0x78 + .uleb128 0x2 + .long .LASF31 + .byte 0x6 + .byte 0x4d + .byte 0x12 + .long 0x35 + .byte 0x80 + .uleb128 0x2 + .long .LASF32 + .byte 0x6 + .byte 0x4e + .byte 0xf + .long 0x4a + .byte 0x82 + .uleb128 0x2 + .long .LASF33 + .byte 0x6 + .byte 0x4f + .byte 0x8 + .long 0x253 + .byte 0x83 + .uleb128 0x2 + .long .LASF34 + .byte 0x6 + .byte 0x51 + .byte 0xf + .long 0x263 + .byte 0x88 + .uleb128 0x2 + .long .LASF35 + .byte 0x6 + .byte 0x59 + .byte 0xd + .long 0x72 + .byte 0x90 + .uleb128 0x2 + .long .LASF36 + .byte 0x6 + .byte 0x5b + .byte 0x17 + .long 0x26d + .byte 0x98 + .uleb128 0x2 + .long .LASF37 + .byte 0x6 + .byte 0x5c + .byte 0x19 + .long 0x277 + .byte 0xa0 + .uleb128 0x2 + .long .LASF38 + .byte 0x6 + .byte 0x5d + .byte 0x14 + .long 0x24e + .byte 0xa8 + .uleb128 0x2 + .long .LASF39 + .byte 0x6 + .byte 0x5e + .byte 0x9 + .long 0x7e + .byte 0xb0 + .uleb128 0x2 + .long .LASF40 + .byte 0x6 + .byte 0x5f + .byte 0xa + .long 0x9d + .byte 0xb8 + .uleb128 0x2 + .long .LASF41 + .byte 0x6 + .byte 0x60 + .byte 0x7 + .long 0x58 + .byte 0xc0 + .uleb128 0x2 + .long .LASF42 + .byte 0x6 + .byte 0x62 + .byte 0x8 + .long 0x27c + .byte 0xc4 + .byte 0 + .uleb128 0x7 + .long .LASF43 + .byte 0x7 + .byte 0x7 + .byte 0x19 + .long 0xa9 + .uleb128 0x1d + .long .LASF84 + .byte 0x6 + .byte 0x2b + .byte 0xe + .uleb128 0xa + .long .LASF44 + .uleb128 0x4 + .long 0x244 + .uleb128 0x4 + .long 0xa9 + .uleb128 0xb + .long 0x85 + .long 0x263 + .uleb128 0xc + .long 0x43 + .byte 0 + .byte 0 + .uleb128 0x4 + .long 0x23c + .uleb128 0xa + .long .LASF45 + .uleb128 0x4 + .long 0x268 + .uleb128 0xa + .long .LASF46 + .uleb128 0x4 + .long 0x272 + .uleb128 0xb + .long 0x85 + .long 0x28c + .uleb128 0xc + .long 0x43 + .byte 0x13 + .byte 0 + .uleb128 0x4 + .long 0x8c + .uleb128 0x14 + .long 0x28c + .uleb128 0x4 + .long 0x230 + .uleb128 0x14 + .long 0x296 + .uleb128 0x1e + .long .LASF64 + .byte 0xd + .byte 0x96 + .byte 0xe + .long 0x296 + .uleb128 0x6 + .byte 0x8 + .byte 0x5 + .long .LASF47 + .uleb128 0x6 + .byte 0x8 + .byte 0x7 + .long .LASF48 + .uleb128 0x7 + .long .LASF49 + .byte 0x8 + .byte 0xb + .byte 0x1c + .long 0x2c6 + .uleb128 0x4 + .long 0x2cb + .uleb128 0xa + .long .LASF50 + .uleb128 0x12 + .long .LASF52 + .byte 0x10 + .byte 0x9 + .byte 0x9 + .byte 0x10 + .long 0x2f8 + .uleb128 0x2 + .long .LASF53 + .byte 0x9 + .byte 0xb + .byte 0xb + .long 0x2ba + .byte 0 + .uleb128 0x2 + .long .LASF54 + .byte 0x9 + .byte 0xc + .byte 0xb + .long 0x2ba + .byte 0x8 + .byte 0 + .uleb128 0x7 + .long .LASF55 + .byte 0x9 + .byte 0xd + .byte 0x4 + .long 0x304 + .uleb128 0x4 + .long 0x2d0 + .uleb128 0x7 + .long .LASF56 + .byte 0xa + .byte 0x5 + .byte 0x1a + .long 0x315 + .uleb128 0x4 + .long 0x31a + .uleb128 0x12 + .long .LASF57 + .byte 0x10 + .byte 0x1 + .byte 0xa + .byte 0x8 + .long 0x342 + .uleb128 0x2 + .long .LASF58 + .byte 0x1 + .byte 0xc + .byte 0xb + .long 0x2f8 + .byte 0 + .uleb128 0x2 + .long .LASF59 + .byte 0x1 + .byte 0xd + .byte 0xb + .long 0x2ba + .byte 0x8 + .byte 0 + .uleb128 0xd + .long .LASF60 + .byte 0xb + .byte 0x52 + .byte 0x7 + .long 0x7e + .long 0x362 + .uleb128 0x5 + .long 0x28c + .uleb128 0x5 + .long 0x9d + .uleb128 0x5 + .long 0x9d + .byte 0 + .uleb128 0xd + .long .LASF61 + .byte 0x8 + .byte 0x21 + .byte 0x7 + .long 0x7e + .long 0x37d + .uleb128 0x5 + .long 0x2ba + .uleb128 0x5 + .long 0x9d + .byte 0 + .uleb128 0xd + .long .LASF62 + .byte 0x8 + .byte 0x24 + .byte 0x8 + .long 0x9d + .long 0x393 + .uleb128 0x5 + .long 0x2ba + .byte 0 + .uleb128 0xd + .long .LASF63 + .byte 0xc + .byte 0x31 + .byte 0xc + .long 0x58 + .long 0x3b4 + .uleb128 0x5 + .long 0x29b + .uleb128 0x5 + .long 0x58 + .uleb128 0x5 + .long 0x291 + .uleb128 0x15 + .byte 0 + .uleb128 0x1f + .long .LASF85 + .byte 0xb + .byte 0x50 + .byte 0x6 + .long 0x3cb + .uleb128 0x5 + .long 0x28c + .uleb128 0x5 + .long 0x7e + .byte 0 + .uleb128 0x20 + .long .LASF86 + .byte 0x1 + .byte 0x25 + .byte 0x1 + .long 0x309 + .quad .LFB56 + .quad .LFE56-.LFB56 + .uleb128 0x1 + .byte 0x9c + .long 0x532 + .uleb128 0x13 + .long .LASF58 + .byte 0x25 + .byte 0x12 + .long 0x2f8 + .long .LLST7 + .long .LVUS7 + .uleb128 0x16 + .long .LASF65 + .byte 0x27 + .byte 0x9 + .long 0x309 + .long .LLST8 + .long .LVUS8 + .uleb128 0x17 + .long .LASF70 + .long 0x542 + .uleb128 0x9 + .byte 0x3 + .quad __func__.0 + .uleb128 0x18 + .long 0x880 + .quad .LBI10 + .byte .LVU53 + .quad .LBB10 + .quad .LBE10-.LBB10 + .byte 0x29 + .long 0x4a3 + .uleb128 0xe + .long 0x89d + .long .LLST9 + .long .LVUS9 + .uleb128 0xe + .long 0x891 + .long .LLST10 + .long .LVUS10 + .uleb128 0x8 + .quad .LVL38 + .long 0x393 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC2 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x2 + .byte 0x8 + .byte 0x29 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x3 + .quad .LVL33 + .long 0x342 + .long 0x4cc + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad __func__.0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x31 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x1 + .byte 0x40 + .byte 0 + .uleb128 0x3 + .quad .LVL41 + .long 0x8ab + .long 0x4f1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data23 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x3 + .quad .LVL42 + .long 0x8b4 + .long 0x509 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0xf + .quad .LVL43 + .long 0x8bd + .uleb128 0x8 + .quad .LVL44 + .long 0x8c6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data15 + .byte 0 + .byte 0 + .uleb128 0xb + .long 0x8c + .long 0x542 + .uleb128 0xc + .long 0x43 + .byte 0x7 + .byte 0 + .uleb128 0x11 + .long 0x532 + .uleb128 0x19 + .long .LASF68 + .byte 0x1e + .quad .LFB55 + .quad .LFE55-.LFB55 + .uleb128 0x1 + .byte 0x9c + .long 0x73a + .uleb128 0x13 + .long .LASF66 + .byte 0x1e + .byte 0x14 + .long 0x309 + .long .LLST3 + .long .LVUS3 + .uleb128 0x16 + .long .LASF67 + .byte 0x20 + .byte 0xb + .long 0x2ba + .long .LLST4 + .long .LVUS4 + .uleb128 0x21 + .long .LLRL5 + .uleb128 0x22 + .string "i" + .byte 0x1 + .byte 0x20 + .byte 0x20 + .long 0x9d + .long .LLST6 + .long .LVUS6 + .uleb128 0x3 + .quad .LVL13 + .long 0x37d + .long 0x5b8 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x3 + .quad .LVL14 + .long 0x362 + .long 0x5d6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .uleb128 0x3 + .quad .LVL19 + .long 0x8ab + .long 0x5fb + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data17 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x3 + .quad .LVL20 + .long 0x8bd + .long 0x613 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x3 + .quad .LVL21 + .long 0x8ab + .long 0x638 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data18 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x3 + .quad .LVL22 + .long 0x8cf + .long 0x65d + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data19 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0xf + .quad .LVL23 + .long 0x8bd + .uleb128 0x3 + .quad .LVL24 + .long 0x8c6 + .long 0x689 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data13 + .byte 0 + .uleb128 0x3 + .quad .LVL25 + .long 0x8ab + .long 0x6ae + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data20 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x3 + .quad .LVL26 + .long 0x8bd + .long 0x6c6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0x3 + .quad .LVL27 + .long 0x8ab + .long 0x6eb + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data21 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0x3 + .quad .LVL28 + .long 0x8cf + .long 0x710 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data22 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .byte 0 + .uleb128 0xf + .quad .LVL29 + .long 0x8bd + .uleb128 0x8 + .quad .LVL30 + .long 0x8c6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data14 + .byte 0 + .byte 0 + .byte 0 + .uleb128 0x23 + .long .LASF87 + .byte 0x1 + .byte 0x18 + .byte 0x1 + .long 0x75f + .uleb128 0x10 + .long .LASF66 + .byte 0x1 + .byte 0x18 + .byte 0x19 + .long 0x309 + .uleb128 0x10 + .long .LASF67 + .byte 0x1 + .byte 0x18 + .byte 0x27 + .long 0x2ba + .byte 0 + .uleb128 0x19 + .long .LASF69 + .byte 0x11 + .quad .LFB53 + .quad .LFE53-.LFB53 + .uleb128 0x1 + .byte 0x9c + .long 0x86b + .uleb128 0x13 + .long .LASF66 + .byte 0x11 + .byte 0x11 + .long 0x309 + .long .LLST0 + .long .LVUS0 + .uleb128 0x17 + .long .LASF70 + .long 0x87b + .uleb128 0x9 + .byte 0x3 + .quad __func__.1 + .uleb128 0x18 + .long 0x880 + .quad .LBI6 + .byte .LVU6 + .quad .LBB6 + .quad .LBE6-.LBB6 + .byte 0x13 + .long 0x81d + .uleb128 0xe + .long 0x89d + .long .LLST1 + .long .LVUS1 + .uleb128 0xe + .long 0x891 + .long .LLST2 + .long .LVUS2 + .uleb128 0x8 + .quad .LVL3 + .long 0x393 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x2 + .byte 0x7c + .sleb128 0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x1 + .byte 0x32 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x51 + .uleb128 0x9 + .byte 0x3 + .quad .LC1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x52 + .uleb128 0x9 + .byte 0x3 + .quad .LC0 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x58 + .uleb128 0x1 + .byte 0x43 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x59 + .uleb128 0x2 + .byte 0x7d + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0x3 + .quad .LVL4 + .long 0x3b4 + .long 0x842 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad __func__.1 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x54 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0 + .uleb128 0xf + .quad .LVL7 + .long 0x8bd + .uleb128 0x8 + .quad .LVL8 + .long 0x8c6 + .uleb128 0x1 + .uleb128 0x1 + .byte 0x55 + .uleb128 0x9 + .byte 0x3 + .quad .Lubsan_data11 + .byte 0 + .byte 0 + .uleb128 0xb + .long 0x8c + .long 0x87b + .uleb128 0xc + .long 0x43 + .byte 0x8 + .byte 0 + .uleb128 0x11 + .long 0x86b + .uleb128 0x24 + .long .LASF88 + .byte 0x2 + .byte 0x4d + .byte 0x1 + .long 0x58 + .byte 0x3 + .long 0x8ab + .uleb128 0x10 + .long .LASF71 + .byte 0x2 + .byte 0x4d + .byte 0x1b + .long 0x29b + .uleb128 0x10 + .long .LASF72 + .byte 0x2 + .byte 0x4d + .byte 0x3c + .long 0x291 + .uleb128 0x15 + .byte 0 + .uleb128 0x9 + .long .LASF73 + .long .LASF75 + .uleb128 0x9 + .long .LASF74 + .long .LASF76 + .uleb128 0x9 + .long .LASF77 + .long .LASF78 + .uleb128 0x9 + .long .LASF79 + .long .LASF80 + .uleb128 0x9 + .long .LASF81 + .long .LASF82 + .byte 0 + .section .debug_abbrev,"",@progbits +.Ldebug_abbrev0: + .uleb128 0x1 + .uleb128 0x49 + .byte 0 + .uleb128 0x2 + .uleb128 0x18 + .uleb128 0x7e + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x2 + .uleb128 0xd + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x38 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x3 + .uleb128 0x48 + .byte 0x1 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x4 + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0x21 + .sleb128 8 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x5 + .uleb128 0x5 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x6 + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0xe + .byte 0 + .byte 0 + .uleb128 0x7 + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x8 + .uleb128 0x48 + .byte 0x1 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x9 + .uleb128 0x2e + .byte 0 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x6e + .uleb128 0xe + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 14 + .uleb128 0x3b + .uleb128 0x21 + .sleb128 0 + .byte 0 + .byte 0 + .uleb128 0xa + .uleb128 0x13 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0xb + .uleb128 0x1 + .byte 0x1 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xc + .uleb128 0x21 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2f + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0xd + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0xe + .uleb128 0x5 + .byte 0 + .uleb128 0x31 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0xf + .uleb128 0x48 + .byte 0 + .uleb128 0x7d + .uleb128 0x1 + .uleb128 0x7f + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x10 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x11 + .uleb128 0x26 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x12 + .uleb128 0x13 + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x13 + .uleb128 0x5 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x14 + .uleb128 0x37 + .byte 0 + .uleb128 0x49 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x15 + .uleb128 0x18 + .byte 0 + .byte 0 + .byte 0 + .uleb128 0x16 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x17 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x34 + .uleb128 0x19 + .uleb128 0x2 + .uleb128 0x18 + .byte 0 + .byte 0 + .uleb128 0x18 + .uleb128 0x1d + .byte 0x1 + .uleb128 0x31 + .uleb128 0x13 + .uleb128 0x52 + .uleb128 0x1 + .uleb128 0x2138 + .uleb128 0xb + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x58 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x59 + .uleb128 0xb + .uleb128 0x57 + .uleb128 0x21 + .sleb128 3 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x19 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0x21 + .sleb128 1 + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0x21 + .sleb128 1 + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x1a + .uleb128 0x11 + .byte 0x1 + .uleb128 0x25 + .uleb128 0xe + .uleb128 0x13 + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x1f + .uleb128 0x1b + .uleb128 0x1f + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x10 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x1b + .uleb128 0x24 + .byte 0 + .uleb128 0xb + .uleb128 0xb + .uleb128 0x3e + .uleb128 0xb + .uleb128 0x3 + .uleb128 0x8 + .byte 0 + .byte 0 + .uleb128 0x1c + .uleb128 0xf + .byte 0 + .uleb128 0xb + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x1d + .uleb128 0x16 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .byte 0 + .byte 0 + .uleb128 0x1e + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .byte 0 + .byte 0 + .uleb128 0x1f + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x3c + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x20 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x11 + .uleb128 0x1 + .uleb128 0x12 + .uleb128 0x7 + .uleb128 0x40 + .uleb128 0x18 + .uleb128 0x7a + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x21 + .uleb128 0xb + .byte 0x1 + .uleb128 0x55 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x22 + .uleb128 0x34 + .byte 0 + .uleb128 0x3 + .uleb128 0x8 + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x2 + .uleb128 0x17 + .uleb128 0x2137 + .uleb128 0x17 + .byte 0 + .byte 0 + .uleb128 0x23 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .uleb128 0x24 + .uleb128 0x2e + .byte 0x1 + .uleb128 0x3f + .uleb128 0x19 + .uleb128 0x3 + .uleb128 0xe + .uleb128 0x3a + .uleb128 0xb + .uleb128 0x3b + .uleb128 0xb + .uleb128 0x39 + .uleb128 0xb + .uleb128 0x27 + .uleb128 0x19 + .uleb128 0x49 + .uleb128 0x13 + .uleb128 0x20 + .uleb128 0xb + .uleb128 0x34 + .uleb128 0x19 + .uleb128 0x1 + .uleb128 0x13 + .byte 0 + .byte 0 + .byte 0 + .section .debug_loclists,"",@progbits + .long .Ldebug_loc3-.Ldebug_loc2 +.Ldebug_loc2: + .value 0x5 + .byte 0x8 + .byte 0 + .long 0 +.Ldebug_loc0: +.LVUS7: + .uleb128 0 + .uleb128 .LVU44 + .uleb128 .LVU44 + .uleb128 .LVU52 + .uleb128 .LVU52 + .uleb128 .LVU53 + .uleb128 .LVU53 + .uleb128 .LVU60 + .uleb128 .LVU60 + .uleb128 .LVU64 + .uleb128 .LVU64 + .uleb128 .LVU65 + .uleb128 .LVU65 + .uleb128 0 +.LLST7: + .byte 0x4 + .uleb128 .LVL31-.Ltext0 + .uleb128 .LVL32-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL32-.Ltext0 + .uleb128 .LVL36-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL36-.Ltext0 + .uleb128 .LVL37-.Ltext0 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0x4 + .uleb128 .LVL37-.Ltext0 + .uleb128 .LVL40-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL40-.Ltext0 + .uleb128 .LVL43-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0x4 + .uleb128 .LVL43-.Ltext0 + .uleb128 .LVL44-1-.Ltext0 + .uleb128 0x2 + .byte 0x73 + .sleb128 0 + .byte 0x4 + .uleb128 .LVL44-1-.Ltext0 + .uleb128 .LFE56-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0 +.LVUS8: + .uleb128 .LVU45 + .uleb128 .LVU47 + .uleb128 .LVU47 + .uleb128 .LVU59 + .uleb128 .LVU59 + .uleb128 .LVU61 + .uleb128 .LVU61 + .uleb128 0 +.LLST8: + .byte 0x4 + .uleb128 .LVL34-.Ltext0 + .uleb128 .LVL35-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL35-.Ltext0 + .uleb128 .LVL39-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL39-.Ltext0 + .uleb128 .LVL41-1-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL41-1-.Ltext0 + .uleb128 .LFE56-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS9: + .uleb128 .LVU53 + .uleb128 .LVU56 +.LLST9: + .byte 0x4 + .uleb128 .LVL37-.Ltext0 + .uleb128 .LVL38-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC2 + .byte 0x9f + .byte 0 +.LVUS10: + .uleb128 .LVU53 + .uleb128 .LVU56 +.LLST10: + .byte 0x4 + .uleb128 .LVL37-.Ltext0 + .uleb128 .LVL38-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.LVUS3: + .uleb128 0 + .uleb128 .LVU21 + .uleb128 .LVU21 + .uleb128 .LVU32 + .uleb128 .LVU32 + .uleb128 .LVU34 + .uleb128 .LVU34 + .uleb128 0 +.LLST3: + .byte 0x4 + .uleb128 .LVL9-.Ltext0 + .uleb128 .LVL11-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL11-.Ltext0 + .uleb128 .LVL16-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL16-.Ltext0 + .uleb128 .LVL18-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL18-.Ltext0 + .uleb128 .LFE55-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS4: + .uleb128 .LVU21 + .uleb128 .LVU23 + .uleb128 .LVU29 + .uleb128 .LVU30 +.LLST4: + .byte 0x4 + .uleb128 .LVL11-.Ltext0 + .uleb128 .LVL12-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0x4 + .uleb128 .LVL14-.Ltext0 + .uleb128 .LVL15-.Ltext0 + .uleb128 0x1 + .byte 0x50 + .byte 0 +.LVUS6: + .uleb128 .LVU19 + .uleb128 .LVU21 + .uleb128 .LVU21 + .uleb128 .LVU33 + .uleb128 .LVU34 + .uleb128 0 +.LLST6: + .byte 0x4 + .uleb128 .LVL10-.Ltext0 + .uleb128 .LVL11-.Ltext0 + .uleb128 0x2 + .byte 0x30 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL11-.Ltext0 + .uleb128 .LVL17-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0x4 + .uleb128 .LVL18-.Ltext0 + .uleb128 .LFE55-.Ltext0 + .uleb128 0x1 + .byte 0x5d + .byte 0 +.LVUS0: + .uleb128 0 + .uleb128 .LVU5 + .uleb128 .LVU5 + .uleb128 .LVU12 + .uleb128 .LVU12 + .uleb128 .LVU13 + .uleb128 .LVU13 + .uleb128 0 +.LLST0: + .byte 0x4 + .uleb128 .LVL0-.Ltext0 + .uleb128 .LVL1-.Ltext0 + .uleb128 0x1 + .byte 0x55 + .byte 0x4 + .uleb128 .LVL1-.Ltext0 + .uleb128 .LVL5-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0x4 + .uleb128 .LVL5-.Ltext0 + .uleb128 .LVL6-.Ltext0 + .uleb128 0x4 + .byte 0xa3 + .uleb128 0x1 + .byte 0x55 + .byte 0x9f + .byte 0x4 + .uleb128 .LVL6-.Ltext0 + .uleb128 .LFE53-.Ltext0 + .uleb128 0x1 + .byte 0x53 + .byte 0 +.LVUS1: + .uleb128 .LVU6 + .uleb128 .LVU9 +.LLST1: + .byte 0x4 + .uleb128 .LVL2-.Ltext0 + .uleb128 .LVL3-.Ltext0 + .uleb128 0xa + .byte 0x3 + .quad .LC1 + .byte 0x9f + .byte 0 +.LVUS2: + .uleb128 .LVU6 + .uleb128 .LVU9 +.LLST2: + .byte 0x4 + .uleb128 .LVL2-.Ltext0 + .uleb128 .LVL3-.Ltext0 + .uleb128 0x1 + .byte 0x5c + .byte 0 +.Ldebug_loc3: + .section .debug_aranges,"",@progbits + .long 0x2c + .value 0x2 + .long .Ldebug_info0 + .byte 0x8 + .byte 0 + .value 0 + .value 0 + .quad .Ltext0 + .quad .Letext0-.Ltext0 + .quad 0 + .quad 0 + .section .debug_rnglists,"",@progbits +.Ldebug_ranges0: + .long .Ldebug_ranges3-.Ldebug_ranges2 +.Ldebug_ranges2: + .value 0x5 + .byte 0x8 + .byte 0 + .long 0 +.LLRL5: + .byte 0x4 + .uleb128 .LBB8-.Ltext0 + .uleb128 .LBE8-.Ltext0 + .byte 0x4 + .uleb128 .LBB9-.Ltext0 + .uleb128 .LBE9-.Ltext0 + .byte 0 +.Ldebug_ranges3: + .section .debug_line,"",@progbits +.Ldebug_line0: + .section .debug_str,"MS",@progbits,1 +.LASF50: + .string "array_impl" +.LASF73: + .string "__ubsan_handle_type_mismatch_v1" +.LASF61: + .string "array_get" +.LASF56: + .string "tkn_t" +.LASF57: + .string "tkn_impl" +.LASF25: + .string "_IO_save_end" +.LASF75: + .string "__builtin___ubsan_handle_type_mismatch_v1" +.LASF7: + .string "short int" +.LASF13: + .string "size_t" +.LASF35: + .string "_offset" +.LASF62: + .string "array_length" +.LASF19: + .string "_IO_write_ptr" +.LASF14: + .string "_flags" +.LASF86: + .string "tkn_new" +.LASF53: + .string "memstreams" +.LASF21: + .string "_IO_buf_base" +.LASF26: + .string "_markers" +.LASF16: + .string "_IO_read_end" +.LASF27: + .string "_chain" +.LASF39: + .string "_freeres_buf" +.LASF81: + .string "__ubsan_handle_pointer_overflow" +.LASF12: + .string "uintptr_t" +.LASF80: + .string "__builtin___ubsan_handle_nonnull_arg" +.LASF55: + .string "lexer_t" +.LASF82: + .string "__builtin___ubsan_handle_pointer_overflow" +.LASF47: + .string "long long int" +.LASF34: + .string "_lock" +.LASF76: + .string "__builtin___asan_report_store8" +.LASF65: + .string "tokenizer" +.LASF31: + .string "_cur_column" +.LASF88: + .string "fprintf" +.LASF54: + .string "lexeme_arrays" +.LASF32: + .string "_vtable_offset" +.LASF30: + .string "_old_offset" +.LASF67: + .string "lexemes" +.LASF2: + .string "unsigned char" +.LASF6: + .string "signed char" +.LASF66: + .string "self" +.LASF48: + .string "long long unsigned int" +.LASF4: + .string "unsigned int" +.LASF44: + .string "_IO_marker" +.LASF33: + .string "_shortbuf" +.LASF18: + .string "_IO_write_base" +.LASF42: + .string "_unused2" +.LASF15: + .string "_IO_read_ptr" +.LASF74: + .string "__asan_report_store8" +.LASF70: + .string "__func__" +.LASF22: + .string "_IO_buf_end" +.LASF58: + .string "lexer" +.LASF11: + .string "char" +.LASF51: + .string "_IO_FILE" +.LASF8: + .string "long int" +.LASF85: + .string "__chk_free_impl" +.LASF37: + .string "_wide_data" +.LASF38: + .string "_freeres_list" +.LASF83: + .ascii "GNU C17 13.3.1 202" + .string "40614 -mtune=generic -march=x86-64 -ggdb -Os -Og -std=gnu17 -p -fanalyzer -fsanitize=address,undefined,leak -fstack-protector-strong -fstack-clash-protection -fstrict-aliasing -ftrivial-auto-var-init=zero -fno-omit-frame-pointer -fno-common -fcf-protection" +.LASF87: + .string "tkn_process_impl" +.LASF40: + .string "__pad5" +.LASF3: + .string "short unsigned int" +.LASF72: + .string "__fmt" +.LASF52: + .string "lexer_impl" +.LASF5: + .string "long unsigned int" +.LASF69: + .string "tkn_free" +.LASF20: + .string "_IO_write_end" +.LASF10: + .string "__off64_t" +.LASF28: + .string "_fileno" +.LASF79: + .string "__ubsan_handle_nonnull_arg" +.LASF49: + .string "array_t" +.LASF46: + .string "_IO_wide_data" +.LASF59: + .string "tokens" +.LASF41: + .string "_mode" +.LASF9: + .string "__off_t" +.LASF24: + .string "_IO_backup_base" +.LASF29: + .string "_flags2" +.LASF45: + .string "_IO_codecvt" +.LASF17: + .string "_IO_read_base" +.LASF77: + .string "__asan_report_load8" +.LASF78: + .string "__builtin___asan_report_load8" +.LASF36: + .string "_codecvt" +.LASF23: + .string "_IO_save_base" +.LASF63: + .string "__fprintf_chk" +.LASF43: + .string "FILE" +.LASF71: + .string "__stream" +.LASF60: + .string "__chk_calloc_impl" +.LASF68: + .string "tkn_process" +.LASF64: + .string "stdout" +.LASF84: + .string "_IO_lock_t" + .section .debug_line_str,"MS",@progbits,1 +.LASF1: + .string "/home/unazed/Programming/c/ucc-0.2.0" +.LASF0: + .string "src/tokenizer.c" + .ident "GCC: (Gentoo 13.3.1_p20240614 p17) 13.3.1 20240614" + .section .note.GNU-stack,"",@progbits + .section .note.gnu.property,"a" + .align 8 + .long 1f - 0f + .long 4f - 1f + .long 5 +0: + .string "GNU" +1: + .align 8 + .long 0xc0000002 + .long 3f - 2f +2: + .long 0x3 +3: + .align 8 +4: diff --git a/compile_commands.json b/compile_commands.json index 2b8dd33..59b5168 100644 --- a/compile_commands.json +++ b/compile_commands.json @@ -1,304 +1,317 @@ [ { - "directory": "/home/unazed/Programming/c/ucc", + "directory": "/home/unazed/Programming/c/ucc-0.2.0", "arguments": [ "gcc", "-Wall", - "-O0", - "-fcf-protection=none", - "-ggdb", - "-fcompare-debug-second", - "-std=gnu17", - "-Wno-strict-prototypes", - "-Iinclude/", - "-MMD", - "-MP", - "-c", - "src//main.c", - "-o", - "build//main.o", - "-lm" - ], - "file": "src//main.c" - }, - { - "directory": "/home/unazed/Programming/c/ucc", - "arguments": [ - "gcc", - "-Wall", - "-O0", - "-fcf-protection=none", - "-ggdb", - "-fcompare-debug-second", + "-Werror", + "-Wextra", + "-Wpedantic", "-std=gnu17", - "-Wno-strict-prototypes", - "-Iinclude/", - "-MMD", - "-MP", - "-c", - "src//map.c", - "-o", - "build//map.o", - "-lm" - ], - "file": "src//map.c" - }, - { - "directory": "/home/unazed/Programming/c/ucc", - "arguments": [ - "gcc", - "-Wall", - "-O0", - "-fcf-protection=none", "-ggdb", - "-fcompare-debug-second", - "-std=gnu17", - "-Wno-strict-prototypes", - "-Iinclude/", - "-MMD", - "-MP", - "-c", - "src//thunk.c", - "-o", - "build//thunk.o", - "-lm" - ], - "file": "src//thunk.c" - }, - { - "directory": "/home/unazed/Programming/c/ucc", - "arguments": [ - "gcc", - "-Wall", - "-O0", - "-fcf-protection=none", - "-ggdb", - "-fcompare-debug-second", - "-std=gnu17", - "-Wno-strict-prototypes", - "-Iinclude/", + "-fanalyzer", + "-fsanitize=address,undefined,leak", + "-save-temps", + "-fno-omit-frame-pointer", + "-O2", + "-D_FORTIFY_SOURCE=2", + "-fstack-protector-strong", + "-Wformat=2", + "-Wformat-security", + "-Wconversion", + "-Wshadow", + "-Wcast-qual", + "-Wcast-align", + "-Wlogical-op", + "-Wmissing-declarations", + "-Wmissing-include-dirs", + "-Wredundant-decls", + "-Wswitch-default", + "-Wswitch-enum", + "-Wundef", + "-Wno-unused", + "-Wuninitialized", + "-Wfloat-equal", + "-Wdouble-promotion", + "-Wpointer-arith", + "-Wnull-dereference", + "-Wvla", + "-Wduplicated-cond", + "-Wduplicated-branches", + "-Wjump-misses-init", + "-Wstrict-prototypes", + "-Wstringop-truncation", + "-Wmissing-prototypes", + "-Wmissing-field-initializers", + "-Wwrite-strings", + "-fno-common", + "-fstack-clash-protection", + "-fstrict-aliasing", + "-ftrivial-auto-var-init=zero", + "-Wunreachable-code", + "-Wstrict-overflow=5", + "-Wno-incompatible-pointer-types", + "-D_DEBUG_LOGLEVEL=3", + "-Iinclude", "-MMD", "-MP", "-c", - "src//tokenizer.c", + "src/io.c", "-o", - "build//tokenizer.o", - "-lm" + "build/io.o" ], - "file": "src//tokenizer.c" + "file": "src/io.c" }, { - "directory": "/home/unazed/Programming/c/ucc", + "directory": "/home/unazed/Programming/c/ucc-0.2.0", "arguments": [ "gcc", "-Wall", - "-O0", - "-fcf-protection=none", - "-ggdb", - "-fcompare-debug-second", + "-Werror", + "-Wextra", + "-Wpedantic", "-std=gnu17", - "-Wno-strict-prototypes", - "-Iinclude/", - "-MMD", - "-MP", - "-c", - "src//list.c", - "-o", - "build//list.o", - "-lm" - ], - "file": "src//list.c" - }, - { - "directory": "/home/unazed/Programming/c/ucc", - "arguments": [ - "gcc", - "-Wall", - "-O0", - "-fcf-protection=none", "-ggdb", - "-fcompare-debug-second", - "-std=gnu17", - "-Wno-strict-prototypes", - "-Wno-format", - "-Wno-attributes", + "-fanalyzer", + "-fsanitize=address,undefined,leak", + "-save-temps", + "-fno-omit-frame-pointer", + "-O2", + "-D_FORTIFY_SOURCE=2", + "-fstack-protector-strong", + "-Wformat=2", + "-Wformat-security", + "-Wconversion", + "-Wshadow", + "-Wcast-qual", + "-Wcast-align", + "-Wlogical-op", + "-Wmissing-declarations", + "-Wmissing-include-dirs", + "-Wredundant-decls", + "-Wswitch-default", + "-Wswitch-enum", + "-Wundef", + "-Wno-unused", + "-Wuninitialized", + "-Wfloat-equal", + "-Wdouble-promotion", + "-Wpointer-arith", + "-Wnull-dereference", + "-Wvla", + "-Wduplicated-cond", + "-Wduplicated-branches", + "-Wjump-misses-init", + "-Wstrict-prototypes", + "-Wstringop-truncation", + "-Wmissing-prototypes", + "-Wmissing-field-initializers", + "-Wwrite-strings", + "-fno-common", + "-fstack-clash-protection", + "-fstrict-aliasing", + "-ftrivial-auto-var-init=zero", + "-Wunreachable-code", + "-Wstrict-overflow=5", + "-Wno-incompatible-pointer-types", + "-D_DEBUG_LOGLEVEL=3", "-Iinclude", "-MMD", "-MP", "-c", - "src/bytestream.c", + "src/lexer.c", "-o", - "build/bytestream.o", - "-lm" + "build/lexer.o" ], - "file": "src/bytestream.c" + "file": "src/lexer.c" }, { - "directory": "/home/unazed/Programming/c/ucc", + "directory": "/home/unazed/Programming/c/ucc-0.2.0", "arguments": [ "gcc", "-Wall", - "-O0", - "-fcf-protection=none", - "-ggdb", - "-fcompare-debug-second", + "-Werror", + "-Wextra", + "-Wpedantic", "-std=gnu17", - "-Wno-strict-prototypes", - "-Wno-format", - "-Wno-attributes", - "-Iinclude", - "-MMD", - "-MP", - "-c", - "src/list.c", - "-o", - "build/list.o", - "-lm" - ], - "file": "src/list.c" - }, - { - "directory": "/home/unazed/Programming/c/ucc", - "arguments": [ - "gcc", - "-Wall", - "-O0", - "-fcf-protection=none", "-ggdb", - "-fcompare-debug-second", - "-std=gnu17", - "-Wno-strict-prototypes", - "-Wno-format", - "-Wno-attributes", + "-fanalyzer", + "-fsanitize=address,undefined,leak", + "-save-temps", + "-fno-omit-frame-pointer", + "-O2", + "-D_FORTIFY_SOURCE=2", + "-fstack-protector-strong", + "-Wformat=2", + "-Wformat-security", + "-Wconversion", + "-Wshadow", + "-Wcast-qual", + "-Wcast-align", + "-Wlogical-op", + "-Wmissing-declarations", + "-Wmissing-include-dirs", + "-Wredundant-decls", + "-Wswitch-default", + "-Wswitch-enum", + "-Wundef", + "-Wno-unused", + "-Wuninitialized", + "-Wfloat-equal", + "-Wdouble-promotion", + "-Wpointer-arith", + "-Wnull-dereference", + "-Wvla", + "-Wduplicated-cond", + "-Wduplicated-branches", + "-Wjump-misses-init", + "-Wstrict-prototypes", + "-Wstringop-truncation", + "-Wmissing-prototypes", + "-Wmissing-field-initializers", + "-Wwrite-strings", + "-fno-common", + "-fstack-clash-protection", + "-fstrict-aliasing", + "-ftrivial-auto-var-init=zero", + "-Wunreachable-code", + "-Wstrict-overflow=5", + "-Wno-incompatible-pointer-types", + "-D_DEBUG_LOGLEVEL=3", "-Iinclude", "-MMD", "-MP", "-c", "src/main.c", "-o", - "build/main.o", - "-lm" + "build/main.o" ], "file": "src/main.c" }, { - "directory": "/home/unazed/Programming/c/ucc", + "directory": "/home/unazed/Programming/c/ucc-0.2.0", "arguments": [ "gcc", "-Wall", - "-O0", - "-fcf-protection=none", - "-ggdb", - "-fcompare-debug-second", - "-std=gnu17", - "-Wno-strict-prototypes", - "-Wno-format", - "-Wno-attributes", - "-Iinclude", - "-MMD", - "-MP", - "-c", - "src/map.c", - "-o", - "build/map.o", - "-lm" - ], - "file": "src/map.c" - }, - { - "directory": "/home/unazed/Programming/c/ucc", - "arguments": [ - "gcc", - "-Wall", - "-O0", - "-fcf-protection=none", - "-ggdb", - "-fcompare-debug-second", + "-Werror", + "-Wextra", + "-Wpedantic", "-std=gnu17", - "-Wno-strict-prototypes", - "-Wno-format", - "-Wno-attributes", - "-Iinclude", - "-MMD", - "-MP", - "-c", - "src/thunk.c", - "-o", - "build/thunk.o", - "-lm" - ], - "file": "src/thunk.c" - }, - { - "directory": "/home/unazed/Programming/c/ucc", - "arguments": [ - "gcc", - "-Wall", - "-O0", - "-fcf-protection=none", "-ggdb", - "-fcompare-debug-second", - "-std=gnu17", - "-Wno-strict-prototypes", - "-Wno-format", - "-Wno-attributes", + "-fanalyzer", + "-fsanitize=address,undefined,leak", + "-save-temps", + "-fno-omit-frame-pointer", + "-O2", + "-D_FORTIFY_SOURCE=2", + "-fstack-protector-strong", + "-Wformat=2", + "-Wformat-security", + "-Wconversion", + "-Wshadow", + "-Wcast-qual", + "-Wcast-align", + "-Wlogical-op", + "-Wmissing-declarations", + "-Wmissing-include-dirs", + "-Wredundant-decls", + "-Wswitch-default", + "-Wswitch-enum", + "-Wundef", + "-Wno-unused", + "-Wuninitialized", + "-Wfloat-equal", + "-Wdouble-promotion", + "-Wpointer-arith", + "-Wnull-dereference", + "-Wvla", + "-Wduplicated-cond", + "-Wduplicated-branches", + "-Wjump-misses-init", + "-Wstrict-prototypes", + "-Wstringop-truncation", + "-Wmissing-prototypes", + "-Wmissing-field-initializers", + "-Wwrite-strings", + "-fno-common", + "-fstack-clash-protection", + "-fstrict-aliasing", + "-ftrivial-auto-var-init=zero", + "-Wunreachable-code", + "-Wstrict-overflow=5", + "-Wno-incompatible-pointer-types", + "-D_DEBUG_LOGLEVEL=3", "-Iinclude", "-MMD", "-MP", "-c", - "src/tokenizer.c", + "src/array.c", "-o", - "build/tokenizer.o", - "-lm" + "build/array.o" ], - "file": "src/tokenizer.c" + "file": "src/array.c" }, { - "directory": "/home/unazed/Programming/c/ucc", + "directory": "/home/unazed/Programming/c/ucc-0.2.0", "arguments": [ "gcc", "-Wall", - "-O0", - "-fcf-protection=none", - "-ggdb", - "-fcompare-debug-second", + "-Werror", + "-Wextra", + "-Wpedantic", "-std=gnu17", - "-Wno-strict-prototypes", - "-Wno-format", - "-Wno-attributes", - "-Iinclude", - "-MMD", - "-MP", - "-c", - "src/parser.c", - "-o", - "build/parser.o", - "-lm" - ], - "file": "src/parser.c" - }, - { - "directory": "/home/unazed/Programming/c/ucc", - "arguments": [ - "gcc", - "-Wall", - "-O0", - "-fcf-protection=none", "-ggdb", - "-fcompare-debug-second", - "-std=gnu17", - "-Wno-strict-prototypes", - "-Wno-format", - "-Wno-attributes", + "-fanalyzer", + "-fsanitize=address,undefined,leak", + "-save-temps", + "-fno-omit-frame-pointer", + "-O2", + "-D_FORTIFY_SOURCE=2", + "-fstack-protector-strong", + "-Wformat=2", + "-Wformat-security", + "-Wconversion", + "-Wshadow", + "-Wcast-qual", + "-Wcast-align", + "-Wlogical-op", + "-Wmissing-declarations", + "-Wmissing-include-dirs", + "-Wredundant-decls", + "-Wswitch-default", + "-Wswitch-enum", + "-Wundef", + "-Wno-unused", + "-Wuninitialized", + "-Wfloat-equal", + "-Wdouble-promotion", + "-Wpointer-arith", + "-Wnull-dereference", + "-Wvla", + "-Wduplicated-cond", + "-Wduplicated-branches", + "-Wjump-misses-init", + "-Wstrict-prototypes", + "-Wstringop-truncation", + "-Wmissing-prototypes", + "-Wmissing-field-initializers", + "-Wwrite-strings", + "-fno-common", + "-fstack-clash-protection", + "-fstrict-aliasing", + "-ftrivial-auto-var-init=zero", + "-Wunreachable-code", + "-Wstrict-overflow=5", + "-Wno-incompatible-pointer-types", + "-D_DEBUG_LOGLEVEL=3", "-Iinclude", "-MMD", "-MP", "-c", - "src/richloc.c", + "src/stdio-ext.c", "-o", - "build/richloc.o", - "-lm" + "build/stdio-ext.o" ], - "file": "src/richloc.c" + "file": "src/stdio-ext.c" } ] diff --git a/include/ansi-colors.h b/include/ansi-colors.h new file mode 100644 index 0000000..c4b0d18 --- /dev/null +++ b/include/ansi-colors.h @@ -0,0 +1,38 @@ +#pragma once + +#include "io.h" + +#define _RED "31m" +#define _GREEN "32m" +#define _BLUE "34m" +#define _CYAN "36m" +#define _WHITE "37m" +#define _YELLOW "33m" + +/* Regular decoration */ +#define REGULAR "\033[0;" +#define RED REGULAR _RED +#define GREEN REGULAR _GREEN +#define BLUE REGULAR _BLUE +#define CYAN REGULAR _CYAN +#define WHITE REGULAR _WHITE +#define YELLOW REGULAR _YELLOW + +/* Bold decoration */ +#define BOLD "\033[1;" +#define BRED BOLD _RED +#define BGREEN BOLD _GREEN +#define BBLUE BOLD _BLUE +#define BCYAN BOLD _CYAN +#define BWHITE BOLD _WHITE +#define BYELLOW BOLD _YELLOW + +#define CRESET "\033[0m" + +#define CTEXT(ccode, text) ccode text CRESET + +void cprintf (const char* ccode, const char* fmt, ...); + +__attribute__((nonnull (1))) +void cfprintf (fptr_t file, const char* ccode, const char* fmt, ...); + diff --git a/include/array.h b/include/array.h new file mode 100644 index 0000000..517b8fb --- /dev/null +++ b/include/array.h @@ -0,0 +1,42 @@ +#pragma once + +#include + +#define ARRAY_INITIAL_SIZE (32) + +#define array_for_each(array, ty, iter) \ + ty iter; \ + for (size_t i = 0; i < array_length (array) && (iter = array_get (array, i)); ++i) + +typedef struct array_impl *array_t; +typedef void (*array_free_callback_t)(void* item); + +__attribute__((warn_unused_result)) +array_t array_new (void); + +__attribute__((warn_unused_result)) +array_t array_new_sized (size_t size); + +__attribute__((nonnull (1))) +void* array_insert (array_t, size_t idx, void* item); + +__attribute__((nonnull (1))) +void* array_remove (array_t, size_t idx); + +__attribute__((nonnull (1), warn_unused_result)) +void* array_pop (array_t); + +__attribute__((nonnull (1))) +void* array_append (array_t, void* item); + +__attribute__((nonnull)) +void* array_get (array_t, size_t idx); + +__attribute__((nonnull)) +size_t array_length (array_t); + +__attribute__((nonnull (1))) +void array_free_cb (array_t, array_free_callback_t); + +__attribute__((nonnull (1))) +void array_free (array_t); diff --git a/include/ast.h b/include/ast.h deleted file mode 100644 index 7a7ac52..0000000 --- a/include/ast.h +++ /dev/null @@ -1,49 +0,0 @@ -#pragma once - -#include "thunk.h" -#include "list.h" - -#define define_ast_node(name, struct_) \ - struct name \ - { \ - struct ast_base base; \ - struct struct_; \ - } - -enum ast_node_type -{ - ExternalDeclaration, - FunctionDefinition, - Declaration -}; - -struct ast_base -{ - enum ast_node_type type; - struct ast_base *left, *right; -}; - -define_ast_node(ast_block_statement, { -}); - -define_ast_node(ast_function_definition, { - struct ast_block_statement* block_statement; - char* name; -}); - -define_ast_node(ast_external_declaration, { - impln(list_t) function_definitions; - impln(list_t) declarations; -}); - -define_thunk_object(ast_t, { - thunk_attr_public({ - struct ast_base* root; - }); - - thunk_attr_private({}); - - thunk_attr_methods({ - // - }); -}); diff --git a/include/bytestream.h b/include/bytestream.h deleted file mode 100755 index 6a0862f..0000000 --- a/include/bytestream.h +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "thunk.h" -#include "common.h" - -#include - -define_thunk_method(bytestream_t, void*, peek)(InArg size_t lookahead); -define_thunk_method(bytestream_t, size_t, consume)(InArg size_t n); -define_thunk_method(bytestream_t, void*, get)(void); -define_thunk_method(bytestream_t, bool, is_eof)(void); -define_thunk_method(bytestream_t, size_t, consume_until)(InArg char* accept); - -define_thunk_object(bytestream_t, { - thunk_attr_public({ - void* data; - const char* path; - size_t pos; - size_t size; - size_t length; - size_t line_no; - size_t line_offs; - }); - - thunk_attr_private({ - }); - - thunk_attr_methods({ - thunk_bind_method(bytestream_t, peek); - thunk_bind_method(bytestream_t, consume); - thunk_bind_method(bytestream_t, consume_until); - thunk_bind_method(bytestream_t, get); - thunk_bind_method(bytestream_t, is_eof); - }); -}) diff --git a/include/common.h b/include/common.h deleted file mode 100755 index 2ad5f8e..0000000 --- a/include/common.h +++ /dev/null @@ -1,51 +0,0 @@ -#pragma once - -#include -#include - -#define DECL_TYPE(name) \ - typedef struct _impl_##name *name; \ - struct _impl_##name -#define auto __auto_type - -#define OutArg -#define InArg - -#define CRESET "\e[0m" -#define CFGRED "\e[0;31m" -#define CFGBLUE "\e[0;34m" -#define CFGYELL "\e[0;33m" -#define CFGBOLDWHITE "\e[1;37m" -#define CFGBOLDBLACK "\e[0;30m" -#define CFGBOLDRED "\e[1;31m" - -#define max(a,b) \ -({ \ - __typeof__ (a) _a = (a); \ - __typeof__ (b) _b = (b); \ - _a > _b ? _a : _b; \ -}) - -#define min(a,b) \ -({ \ - __typeof__ (a) _a = (a); \ - __typeof__ (b) _b = (b); \ - _a < _b ? _a : _b; \ -}) - -#define clamp(a, b, x) max(a, min(b, x)) - -#define ucc_error(msg, ...) \ - printf (CFGBOLDBLACK "%s:%d" CRESET ", " CFGRED "critical" CRESET \ - ": " msg, __FILE__, __LINE__,##__VA_ARGS__) -#define ucc_info(msg, ...) \ - printf (CFGYELL "info: " CRESET msg,##__VA_ARGS__) - -#ifdef DEBUG - #define ucc_log(msg, ...) \ - printf (CFGBLUE "debug" CRESET ": " msg, ##__VA_ARGS__) -#else - #define ucc_log(msg, ...) -#endif // DEBUG - -#define __builtin_unimplemented() assert (0 && "Unimplemented routine") diff --git a/include/diagnostics.h b/include/diagnostics.h new file mode 100644 index 0000000..11a56a7 --- /dev/null +++ b/include/diagnostics.h @@ -0,0 +1,44 @@ +#pragma once + +#include "array.h" +#include "lexer.h" + +#include + +struct compilation_args +{ + struct + { + bool warn_multichar: 1; + } warn_flags; + struct + { + bool tokenize_comments: 1; + } parse_flags; + char** filenames; + size_t nr_filenames; +}; + +enum diagn_type +{ + DiagnosticWarning, + DiagnosticError, + DiagnosticNote +}; + +struct diagnostic; +typedef struct diagnostic_impl* diagn_t; + +__attribute__((nonnull)) +void diagn_free (diagn_t); + +__attribute__((warn_unused_result, malloc (diagn_free))) +diagn_t diagn_new (struct compilation_args* comp_args, uint8_t* src_stream, + const char* const path); + +__attribute__((nonnull (1, 4), format (printf, 5, 6))) +void diagn_push (diagn_t, const char* warn_name_opt, enum diagn_type type, + lexeme_t lexeme, const char* fmt, ...); + +__attribute__((nonnull)) +uint64_t diagn_flush (diagn_t, fptr_t file); diff --git a/include/generic.h b/include/generic.h new file mode 100644 index 0000000..646ee80 --- /dev/null +++ b/include/generic.h @@ -0,0 +1,87 @@ +#pragma once + +#include "ansi-colors.h" + +#include +#include +#include +#include +#include + +#define auto __extension__ __auto_type + +#define CONCAT(x, y) x##y +#define STRINGIZE(x) #x + +#undef _DEBUG +#ifndef _DEBUG_LOGLEVEL +# define _DEBUG_LOGLEVEL 0 +#endif + +#define LOG_PRINT(fp, fmt, ...) \ + fprintf ((fp), CTEXT (BWHITE, "%s:%" PRIu32) ": " fmt "\n", __FILE__, __LINE__,##__VA_ARGS__) + +#if _DEBUG_LOGLEVEL > 0 +# define log_primary(fmt, ...) \ + LOG_PRINT (stdout, CTEXT (BLUE, "log: ") fmt,##__VA_ARGS__) +# define dbg_assert(cond, fmt, ...) \ + ucc_assert (cond, fmt,##__VA_ARGS__) +# define _DEBUG_PRIMARY +#else +# define log_primary(fmt, ...) {} +# define dbg_assert(cond, fmt, ...) +#endif + +#if _DEBUG_LOGLEVEL > 1 +# define log_verbose(fmt, ...) \ + LOG_PRINT (stdout, CTEXT (BBLUE, "verbose: ") fmt,##__VA_ARGS__) +# define _DEBUG_VERBOSE +#else +# define log_verbose(fmt, ...) {} +#endif + +#if _DEBUG_LOGLEVEL > 2 +# define log_minutiae(fmt, ...) \ + LOG_PRINT (stdout, CTEXT (BCYAN, "minutiae: ") fmt,##__VA_ARGS__) +# define _DEBUG_MINUTIAE +# define chk_calloc(nmemb, size) __chk_calloc_impl (__func__, (nmemb), (size)) +# define chk_free(ptr) __chk_free_impl (__func__, ptr) +# define chk_realloc(ptr, size) __chk_realloc_impl (__func__, (ptr), (size)) +#else +# define log_minutiae(fmt, ...) {} +# define chk_calloc(nmemb, size) calloc((nmemb), (size)) +# define chk_free(ptr) free (ptr) +# define chk_realloc(ptr, size) realloc ((ptr), (size)) +#endif + +#define chk_calloc_struct(ptr_ty) chk_calloc(1, sizeof (*(ptr_ty)NULL)) + +#define ucc_error(fmt, ...) \ + LOG_PRINT (stderr, CTEXT (BRED, "error: ") fmt,##__VA_ARGS__) +#define ucc_werror(fmt, ...) \ + LOG_PRINT (stderr, CTEXT (BRED, "error: ") fmt " (%s)",##__VA_ARGS__, strerror (errno)) +#define ucc_warning(fmt, ...) \ + LOG_PRINT (stdout, CTEXT (BCYAN, "warning: ") fmt,##__VA_ARGS__) + +#define ucc_exit(fmt, ...) \ + { \ + ucc_error (fmt,##__VA_ARGS__); \ + exit (EXIT_FAILURE); \ + } +#define ucc_assert(cond, fmt, ...) \ + if (!(cond)) \ + { \ + ucc_error (CTEXT (BWHITE, "Assertion failed: ") "%s", STRINGIZE (cond)); \ + ucc_exit (fmt,##__VA_ARGS__); \ + } +#define ucc_unimplemented() ucc_exit("`%s` unimplemented", __func__) +#define fmt_ptr(ptr) ((void *)((uintptr_t)ptr & 0xFFFFFFFF)) + +void __chk_free_impl (const char* fn, void* ptr); +void __chk_free_impl_nofn (void* ptr); +void* __chk_calloc_impl (const char* fn, size_t nmemb, size_t size); +void* __chk_realloc_impl (const char* fn, void* ptr, size_t size); + +#ifdef _DEBUG_MEMORY +void dbg_mem_dump_stats (void); +#endif diff --git a/include/grammar.h b/include/grammar.h deleted file mode 100755 index 6534089..0000000 --- a/include/grammar.h +++ /dev/null @@ -1,193 +0,0 @@ -#pragma once - -#include "list.h" -#include "thunk.h" -#include "map.h" -#include "bytestream.h" - -#include -#include - -enum lexeme_ty -{ - PreprocessorDirective = 0, - NewLine, - IntegerConstant, - FloatingConstant, - CharacterConstant, - StringConstant, - BlockComment, MultiComment, MultiCommentEnd, - LeftParen, RightParen, - LeftBracket, RightBracket, - LeftBrace, RightBrace, - Identifier, - Dot, Ellipsis, - Plus, PlusPlus, PlusAssign, - Minus, MinusMinus, MinusAssign, Arrow, - Star, StarAssign, - Div, DivAssign, - Mod, ModAssign, - Or, OrAssign, - OrOr, - And, AndAssign, - AndAnd, - Caret, CaretAssign, - Colon, - Comma, - Semi, - Not, NotEqual, - Question, - Tilde, - Assign, AssignEqual, - Less, LessEqual, LeftShift, LeftShiftAssign, - Greater, GreaterEqual, RightShift, RightShiftAssign, - Backslash, - EndOfFile -}; - -enum strchr_encoding -{ - Ordinary, - WideEncoding, // L - Utf8Encoding, // u8, string only - Utf16Encoding, // u - Utf32Encoding // U -}; - -struct ctx_string_constant -{ - enum strchr_encoding encoding; - char* escaped; - size_t length; - bool is_raw; -}; - -struct ctx_character_constant -{ - enum strchr_encoding encoding; - char* escaped; - size_t length; -}; - -struct ctx_floating_constant -{ - enum - { - DecimalFloatingConstant, - HexadecimalFloatingConstant, - } base; - enum - { - NoFloatSuffix, - FloatSuffix, - LongDoubleSuffix - } suffix; -}; - -struct ctx_identifier -{ - struct - { - enum type_specifier - { - Void, Char, Short, Int, Long, Float, Double, Signed, Unsigned, - Bool, Complex, M128, M128d, M128i, Extension, Typeof, AtomicSpec, - Struct, Union, Enum - } type; - } type_spec; - bool is_type_spec; - - struct - { - enum storage_class_specifier - { - Typedef, Extern, Static, ThreadLocal, Auto, Register - } type; - } storage_class_spec; - bool is_storage_class_spec; - - struct - { - enum type_qualifer - { - Const, Restrict, Volatile, AtomicQual - } type; - } type_qual; - bool is_type_qual; - - struct - { - enum function_specifier - { - Inline, NoReturn, GNUInline, StdCall, DeclSpec, Attribute - } type; - } func_spec; - bool is_func_spec; - bool is_align_spec; - bool is_keyword; -}; - -struct ctx_integer_constant -{ - enum - { - DecimalConstant, - OctalConstant, - HexadecimalConstant - } base; - enum - { - NoIntegerSuffix, - LongSuffix, - LongLongSuffix - } suffix; - bool is_unsigned; -}; - -struct lexeme -{ - enum lexeme_ty type; - union - { - struct ctx_integer_constant integer_constant; - struct ctx_floating_constant floating_constant; - struct ctx_string_constant string_constant; - struct ctx_character_constant character_constant; - struct ctx_identifier identifier; - } ctx_for; - const char* raw; - size_t length; -}; - -struct translation_unit -{ - struct - { - impln(bytestream_t) stream; - const char* path; - } io; - impln(list_t) token_stream; -}; - -struct compilation_context -{ - impln(list_t) translation_units; -}; - -bool -grm_is_type_specifier (struct lexeme* lex); - -bool -grm_is_storage_class_specifier (struct lexeme* lex); - -bool -grm_is_type_qualifier (struct lexeme* lex); - -bool -grm_is_keyword (struct lexeme* lex); - -bool -grm_is_function_specifier (struct lexeme* lex); - -bool -grm_is_decl_specifier(struct lexeme* lex); diff --git a/include/io.h b/include/io.h new file mode 100644 index 0000000..90ff593 --- /dev/null +++ b/include/io.h @@ -0,0 +1,32 @@ +#pragma once + +#include +#include + +typedef FILE* fptr_t; + +typedef struct +{ + fptr_t ptr; + uint8_t* buffer; + const char* path; + size_t size; +} *memstream_t; + +__attribute__((warn_unused_result, nonnull)) +fptr_t io_open_file (const char* filename, const char* mode); + +__attribute__((warn_unused_result, nonnull)) +uint8_t* io_alloc_file_buffer (fptr_t file); + +__attribute__((nonnull (1, 2))) +size_t io_read_file_into_buffer (fptr_t file, uint8_t* const buffer, uint64_t buffer_size); + +__attribute__((nonnull (1), warn_unused_result)) +memstream_t io_read_file_into_memstream (fptr_t file, const char* const path); + +__attribute__((nonnull)) +void io_free_memstream (memstream_t stream); + +__attribute__((nonnull)) +void io_close_file (fptr_t file); diff --git a/include/lex-dump.h b/include/lex-dump.h deleted file mode 100644 index 18a0881..0000000 --- a/include/lex-dump.h +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -#include "common.h" -#include "thunk.h" -#include "list.h" - -void -write_lexer_output_to_file (InArg impln(list_t) lexemes, - InArg const char* path); diff --git a/include/lexer.h b/include/lexer.h new file mode 100644 index 0000000..6a47d1e --- /dev/null +++ b/include/lexer.h @@ -0,0 +1,57 @@ +#pragma once + +#include "io.h" +#include "array.h" + +#include +#include + +typedef struct lexer_impl +{ + array_t memstreams; + array_t lexeme_arrays; +} *lexer_t; + +struct compilation_args; + +__attribute__((warn_unused_result)) +lexer_t lex_ctx_new (struct compilation_args* comp_args); + +__attribute__((nonnull)) +void lex_ctx_load_file (lexer_t, fptr_t file, const char* const path); + +__attribute__((nonnull)) +uint64_t lex_ctx_process (lexer_t lexer); + +__attribute__((nonnull)) +void lex_ctx_free (lexer_t lexer); + +enum lexeme_type +{ + NumericLiteral, + FloatingLiteral, + StringLiteral, + CharacterLiteral, + Identifier, + LeftParen, RightParen, + LeftBrace, RightBrace, + Dot, + Add, Minus, Div, Star, Modulus, + AddAssign, MinusAssign, DivAssign, StarAssign, ModulusAssign, + Increment, Decrement, + LogicalOr, LogicalAnd, + Assign, AssignAssign, + Not, NotAssign, + BitwiseOr, BitwiseAnd, BitwiseXor, + BitwiseOrAssign, BitwiseAndAssign, BitwiseXorAssign, + BitwiseNegate, + BwdSlash, Newline, Semi, EndOfFile, + Comment, MultiComment +}; + +typedef struct +{ + uint64_t length; + uint64_t stream_offs; + enum lexeme_type type; +} *lexeme_t; diff --git a/include/list.h b/include/list.h deleted file mode 100755 index ed516e9..0000000 --- a/include/list.h +++ /dev/null @@ -1,41 +0,0 @@ -#pragma once - -#include "thunk.h" - -#include - -#define list_for_each_entry(list, iter) \ - for (struct list_item* iter = thunk_public_attr((list), head); \ - iter != NULL; iter = iter->next) - -struct list_item -{ - void* val; - struct list_item *prev, *next; -}; - -define_thunk_method(list_t, void*, insert)(size_t index, void* val); -define_thunk_method(list_t, void*, append)(void* val); -define_thunk_method(list_t, bool, remove)(size_t index); -define_thunk_method(list_t, void*, get)(size_t index); -define_thunk_method(list_t, void*, pop)(size_t index) - __attribute__((warn_unused_result)); - -define_thunk_object(list_t, { - thunk_attr_public({ - size_t length; - struct list_item* head; - struct list_item* tail; - }); - - thunk_attr_private({}); - - thunk_attr_methods({ - thunk_bind_method(list_t, append); - thunk_bind_method(list_t, insert); - thunk_bind_method(list_t, remove); - thunk_bind_method(list_t, get); - thunk_bind_method(list_t, pop) - }); -}); - diff --git a/include/map.h b/include/map.h deleted file mode 100755 index 3639b52..0000000 --- a/include/map.h +++ /dev/null @@ -1,65 +0,0 @@ -#pragma once - -#include "../include/common.h" -#include "../include/thunk.h" - -#include -#include - -#define INITIAL_SLOT_ALLOC (32) - -#define REALLOCATION_THRESHOLD (80) -#if (REALLOCATION_THRESHOLD <= 0 || REALLOCATION_THRESHOLD >= 100) - #error "REALLOCATION_THRESHOLD must be in the range (0, 100)" -#endif - -typedef size_t hash_t; - -typedef struct map_slot -{ - hash_t hash; - const void* key; - void* value; - struct map_slot* next; - bool in_use; -} *map_slot_t; - -struct hash_parameters -{ - size_t a, b, p; -}; - -define_thunk_method(map_t, void*, set)(InArg const char* key, InArg void* val) - __attribute__((nonnull, null_terminated_string_arg (1))); -define_thunk_method(map_t, void*, get)(InArg const char* key) - __attribute__((nonnull, null_terminated_string_arg (1))); -define_thunk_method(map_t, bool, remove)(InArg const char* key) - __attribute__((nonnull, null_terminated_string_arg (1))); -define_thunk_method_maythrow(map_t, map_slot_t, alloc_sized_slots)( - InArg size_t size) - __attribute__((warn_unused_result)); -define_thunk_method_maythrow(map_t, bool, maybe_resize)(void); - -define_thunk_object(map_t, { - thunk_attr_public({ - size_t capacity; - size_t size; - struct map_slot* slots; - }); - - thunk_attr_private({ - struct hash_parameters params; - double realloc_mult; - size_t nr_collisions; - bool disable_resize; - }); - - thunk_attr_methods({ - thunk_bind_method(map_t, set); - thunk_bind_method(map_t, get); - thunk_bind_method(map_t, remove); - thunk_bind_method(map_t, alloc_sized_slots); - thunk_bind_method(map_t, maybe_resize); - }); -}); - diff --git a/include/parser.h b/include/parser.h deleted file mode 100644 index 9d3f449..0000000 --- a/include/parser.h +++ /dev/null @@ -1,23 +0,0 @@ -#pragma once - -#include "common.h" -#include "grammar.h" -#include "map.h" -#include "thunk.h" -#include "tokenizer.h" - -define_thunk_method(parser_t, bool, parse_unit)( - InArg struct translation_unit* unit); - -define_thunk_object(parser_t, { - thunk_attr_public({ - impln(map_t) symbol_table; - impln(list_t) token_list; - }); - - thunk_attr_private({}); - - thunk_attr_methods({ - thunk_bind_method(parser_t, parse_unit); - }); -}); diff --git a/include/richloc.h b/include/richloc.h deleted file mode 100644 index 0e613a0..0000000 --- a/include/richloc.h +++ /dev/null @@ -1,48 +0,0 @@ -#pragma once - -#include "list.h" -#include "bytestream.h" -#include "thunk.h" -#include "grammar.h" - -#include - -enum richloc_error_type -{ - CriticalError, Information, Warning -}; - -struct richloc_error -{ - struct lexeme* lex; - enum richloc_error_type error_ty; - const char* message; -}; - -define_thunk_method(richloc_ctx_t, bool, push)( - InArg struct lexeme* lex, enum richloc_error_type err, - InArg const char* msg); -define_thunk_method(richloc_ctx_t, bool, has_errors)(void); -define_thunk_method(richloc_ctx_t, bool, set_stream)( - InArg impln(bytestream_t) stream); -define_thunk_method(richloc_ctx_t, bool, show_errors)(void); -define_thunk_method(richloc_ctx_t, bool, set_path)(InArg const char* path); - -define_thunk_object(richloc_ctx_t, { - thunk_attr_public({ - impln(list_t) error_list; - const char* path; - }); - - thunk_attr_private({ - impln(bytestream_t) stream; - }); - - thunk_attr_methods({ - thunk_bind_method(richloc_ctx_t, has_errors); - thunk_bind_method(richloc_ctx_t, set_stream); - thunk_bind_method(richloc_ctx_t, set_path); - thunk_bind_method(richloc_ctx_t, push); - thunk_bind_method(richloc_ctx_t, show_errors); - }); -}); diff --git a/include/stdio-ext.h b/include/stdio-ext.h new file mode 100644 index 0000000..fc4646a --- /dev/null +++ b/include/stdio-ext.h @@ -0,0 +1,14 @@ +#pragma once + +#include + +__attribute__((nonnull (1))) +int fpeek (FILE* stream, long lookahead); + +__attribute__((nonnull (1))) +int fconsume (FILE* stream, long offset); + +int isoctdigit (int ch); + +int isident (int ch); +int isident_f (int ch); diff --git a/include/strntol.h b/include/strntol.h deleted file mode 100644 index 879ded0..0000000 --- a/include/strntol.h +++ /dev/null @@ -1,7 +0,0 @@ -#pragma once - -#include "common.h" - -long -strntol (InArg const char *str, InArg size_t sz, OutArg char **end, - InArg int base); diff --git a/include/thunk.h b/include/thunk.h deleted file mode 100755 index f088a67..0000000 --- a/include/thunk.h +++ /dev/null @@ -1,209 +0,0 @@ -#pragma once - -#include -#include - -#define THUNK_CTOR_PRIO 102 - -#define auto __auto_type - -#define _concat(a, b) a##b -#define concat(a, b) _concat(a, b) -#define concat3(a, b, c) concat(concat(a, b), c) - -#define impln(name) __impl_##name - -/* Naming macros */ -#define thunk_method_name(thunk_name, method_name) \ - concat3(impln(thunk_name), _THUNK__, method_name) -#define thunk_method_impl_name(thunk_name, method_name) \ - concat3(impln(thunk_name), _IMPL__, method_name) -#define thunk_dummy_name(thunk_name, method_name) \ - concat3(impln(thunk_name), _DUMMY__, method_name) -#define thunk_struct_name(thunk_name) \ - concat3(impln(struct), __, thunk_name) -#define thunk_struct_entry_name(thunk_name) concat(g, impln(thunk_name)) -#define thunk_result_name(thunk_name, method_name) \ - concat3(impln(thunk_name), _RESULT__, method_name) -#define thunk_special_name(thunk_name, method_name) \ - concat3(impln(thunk_name), _SPECIAL__, method_name) -#define thunk_special_dummy_name(thunk_name, method_name) \ - concat3(impln(thunk_name), _DUMMY_SPECIAL__, method_name) -#define thunk_self_ty(thunk_name) impln(thunk_name) - -/* Definition macros */ -#define define_thunk_method(thunk_name, ret_ty, method_name) \ - ret_ty thunk_dummy_name(thunk_name, method_name)(void); \ - ret_ty thunk_method_name(thunk_name, method_name) -#define define_thunk_method_maythrow(thunk_name, ret_ty, method_name) \ - struct thunk_result_name(thunk_name, method_name) \ - { \ - bool error; \ - thunk_base_exception_t ctx; \ - ret_ty val; \ - }; \ - define_thunk_method (thunk_name, \ - struct thunk_result_name(thunk_name, method_name)*, method_name) -#define define_thunk_object(thunk_name, struct_) \ - typedef struct thunk_struct_name(thunk_name) \ - { \ - struct impln(offsets) offsets; \ - struct { \ - void (*init_fn)(struct thunk_struct_name(thunk_name)*); \ - void (*dtor_fn)(struct thunk_struct_name(thunk_name)*); \ - } impln(special); \ - struct struct_; \ - } *impln(thunk_name); \ - void thunk_special_name(thunk_name, init)(impln(thunk_name)); \ - void thunk_special_name(thunk_name, dtor)(impln(thunk_name)); \ - struct thunk_struct_name(thunk_name) thunk_struct_entry_name(thunk_name) \ - __attribute__((weak)); -#define thunk_bind_method(thunk_name, method_name) \ - typeof (thunk_method_name(thunk_name, method_name)) *method_name; - -#define thunk_attr_public(struct_) \ - char impln(offs_public)[0]; \ - struct struct_ impln(public); -#define thunk_attr_private(struct_) \ - char impln(offs_private)[0]; \ - struct struct_ impln(private); -#define thunk_attr_methods(struct_) \ - char impln(offs_base_methods)[0]; \ - struct struct_ impln(base_methods); \ - char impln(offs_methods_start)[0]; \ - struct struct_; \ - char impln(offs_methods_end)[0]; \ - -/* Accessor macros */ -#define thunk_public_attr(thunk_object, attr) \ - (thunk_object)->impln(public).attr -#define thunk_private_attr(thunk_object, attr) \ - (thunk_object)->impln(private).attr - -/* Decl. macros */ -#define declare_thunk_method(thunk_name, method_name) \ - typeof (thunk_dummy_name(thunk_name, method_name)()) \ - thunk_method_impl_name(thunk_name, method_name)(); \ - __attribute__((constructor(THUNK_CTOR_PRIO))) \ - typeof (thunk_dummy_name(thunk_name, method_name)()) \ - thunk_dummy_name(thunk_name, method_name)(void) \ - { \ - thunk_struct_entry_name(thunk_name).impln(base_methods).method_name \ - = (void *)thunk_method_impl_name(thunk_name, method_name); \ - return (typeof (thunk_dummy_name(thunk_name, method_name)())){ 0 }; \ - } \ - typeof (thunk_dummy_name(thunk_name, method_name)()) \ - thunk_method_impl_name(thunk_name, method_name) -#define declare_thunk_initializer(thunk_name) \ - __attribute__((constructor(THUNK_CTOR_PRIO))) \ - void thunk_special_dummy_name(thunk_name, init)(void) \ - { \ - thunk_struct_entry_name(thunk_name).impln(special).init_fn \ - = (void *)thunk_special_name(thunk_name, init); \ - } \ - void thunk_special_name(thunk_name, init) -#define declare_thunk_finalizer(thunk_name) \ - __attribute__((constructor(THUNK_CTOR_PRIO))) \ - void thunk_special_dummy_name(thunk_name, dtor)(void) \ - { \ - thunk_struct_entry_name(thunk_name).impln(special).dtor_fn \ - = (void *)thunk_special_name(thunk_name, dtor); \ - } \ - void thunk_special_name(thunk_name, dtor) - -/* Utility macros */ -#define sizeof_thunk(thunk_name) \ - (sizeof (struct thunk_struct_name(thunk_name))) -#define new_object(thunk_name) \ - ({ \ - impln(thunk_name) ret = calloc (1, sizeof_thunk(thunk_name)); \ - memcpy (ret, &thunk_struct_entry_name(thunk_name), \ - sizeof_thunk(thunk_name)); \ - ret->offsets.public_ = ret->impln(offs_public); \ - ret->offsets.private_ = ret->impln(offs_private); \ - ret->offsets.base_methods = ret->impln(offs_base_methods); \ - ret->offsets.methods.start = ret->impln(offs_methods_start); \ - ret->offsets.methods.end = ret->impln(offs_methods_end); \ - initialize_thunks ((struct impln(offsets)*)ret); \ - auto init_fn = ret->impln(special).init_fn; \ - if (init_fn != NULL) init_fn (ret); \ - ret; \ - }) -#define free_object(name_) \ - ({ \ - auto name = name_; \ - auto dtor_fn = name->impln(special).dtor_fn; \ - if (dtor_fn != NULL) dtor_fn (name); \ - auto nr_methods = ((name)->impln(offs_methods_end) - \ - (name)->impln(offs_methods_start)) / sizeof (void *); \ - auto methods = (void **)(name)->impln(offs_methods_start); \ - for (size_t i = 0; i < nr_methods; ++i) \ - free ((char *)methods[i] - sizeof (struct impln(thunk))); \ - free (name); \ - }) - -/* Result utility amcros */ -#define thunk_result_t(thunk_name, method_name, val_) \ - ({ \ - struct thunk_result_name(thunk_name, method_name)* ret = calloc (1, \ - sizeof (struct thunk_result_name(thunk_name, method_name))); \ - ret->error = false; \ - ret->val = val_; \ - ret; \ - }) -#define thunk_error_t(thunk_name, method_name, ctx_) \ - ({ \ - auto ctx = ctx_; \ - auto tmp = calloc (1, sizeof (ctx)); \ - memcpy (tmp, &ctx_, sizeof (ctx)); \ - struct thunk_result_name(thunk_name, method_name)* ret = calloc (1, \ - sizeof (struct thunk_result_name(thunk_name, method_name))); \ - ret->error = true; \ - ret->ctx = tmp; \ - ret; \ - }) -#define thunk_exception_struct(struct_) \ - struct \ - { \ - const char* msg; \ - struct struct_; \ - } -#define thunk_unwrap(result_, on_error, on_success) \ - ({ \ - auto result = result_; \ - typeof (result->val) error(void* base_exc) \ - { \ - on_error \ - return (typeof (result->val)) { 0 }; \ - } \ - typeof (result->val) success(void) \ - { \ - on_success \ - return result->val; \ - } \ - auto ret = result->error? error (result->ctx): success (); \ - free (result->ctx); \ - free (result); \ - ret; \ - }) - -typedef thunk_exception_struct({}) *thunk_base_exception_t; - -extern const void *__start_thunk_stub, *__stop_thunk_stub; - -struct impln(thunk) -{ - void *self, *target; - char code[0]; -}; - -struct impln(offsets) -{ - void *public_, *private_, *base_methods; - struct - { - void *start, *end; - } methods; -}; - -void initialize_thunks(struct impln(offsets)*); diff --git a/include/tokenizer.h b/include/tokenizer.h old mode 100755 new mode 100644 index a14bc42..7f7c371 --- a/include/tokenizer.h +++ b/include/tokenizer.h @@ -1,45 +1,13 @@ #pragma once -#include "common.h" -#include "thunk.h" -#include "grammar.h" +#include "lexer.h" -#include -#include -#include +typedef struct tkn_impl* tkn_t; -struct compiler_flags -{ - bool tokenize_comments; - const char* lexer_output; -}; +__attribute__((nonnull)) +void tkn_free (tkn_t); -void free_lexeme (struct lexeme*); +void tkn_process (tkn_t); -define_thunk_method_maythrow(tokenizer_t, struct translation_unit*, - load_file)(InArg char* path) __attribute__((nonnull)); -define_thunk_method(tokenizer_t, bool, tokenize)( - InArg struct translation_unit*); -define_thunk_method(tokenizer_t, bool, set_flags)( - struct compiler_flags* flags); -define_thunk_method(tokenizer_t, impln(list_t), get_translation_units)(void); - -define_thunk_object(tokenizer_t, { - thunk_attr_public({ - struct compilation_context context; - struct compiler_flags flags; - }); - - thunk_attr_private({}); - - thunk_attr_methods({ - thunk_bind_method(tokenizer_t, load_file); - thunk_bind_method(tokenizer_t, tokenize); - thunk_bind_method(tokenizer_t, set_flags); - thunk_bind_method(tokenizer_t, get_translation_units); - }); -}); - -typedef thunk_exception_struct({ - typeof (errno) errcode; -}) file_exception; +__attribute__((malloc (tkn_free), nonnull)) +tkn_t tkn_new (lexer_t); diff --git a/scripts/run_regressions.py b/scripts/run_regressions.py deleted file mode 100644 index f54fafb..0000000 --- a/scripts/run_regressions.py +++ /dev/null @@ -1,58 +0,0 @@ -import argparse -import subprocess -import os -import glob -import sys - - -class Args: - ucc_path: str - regr_path: str - - -FAILED = "failed regression" -PASSED = "passed" - - -def main(args: Args) -> bool: - compiler_path, regr_path = args.ucc_path, args.regr_path - if not os.path.isfile(compiler_path): - sys.exit(f"fatal: file doesn't exist {compiler_path!r}") - if not os.path.isdir(regr_path): - sys.exit(f"fatal: folder doesn't exist {regr_path!r}") - passing, failing = (glob.glob(f"{regr_path}/*.pass.c"), - glob.glob(f"{regr_path}/*.fail.c")) - failed, passed = 0, 0 - lpad = max(map(len, passing + failing)) - print("-" * (lpad + max(len(PASSED), len(FAILED)))) - for file in passing: - try: - subprocess.check_output([f"./{compiler_path}", file]) - print(f"{file.rjust(lpad)}: \033[42m{PASSED}\033[0m") - passed += 1 - except subprocess.CalledProcessError: - print(f"{file.rjust(lpad)}: \033[41m{FAILED}\033[0m") - failed += 1 - for file in failing: - try: - subprocess.check_output([f"./{compiler_path}", file]) - print(f"{file.rjust(lpad)}: \033[41m{FAILED}\033[0m") - failed += 1 - except subprocess.CalledProcessError: - print(f"{file.rjust(lpad)}: \033[42m{PASSED}\033[0m") - passed += 1 - print("-" * (lpad + max(len(PASSED), len(FAILED)))) - print(f"\033[1mpassed {passed} regressions, failed {failed}\033[0m") - return failed > 0 - - -if __name__ == "__main__": - parser = argparse.ArgumentParser( - prog='ucc-regressions', - description='Test all current regressions against UCC', - epilog='Unazed Spectaculum, 2024' - ) - parser.add_argument("ucc_path") - parser.add_argument("regr_path") - args = parser.parse_args() - sys.exit(main(args)) diff --git a/src/ansi-colors.c b/src/ansi-colors.c new file mode 100644 index 0000000..e239e6c --- /dev/null +++ b/src/ansi-colors.c @@ -0,0 +1,27 @@ +#include "ansi-colors.h" + +#include +#include + +void +cfprintf (fptr_t file, const char* ccode, const char* fmt, ...) +{ + fprintf (file, "%s", ccode); + va_list args; + va_start (args, fmt); +#pragma GCC diagnostic ignored "-Wformat-nonliteral" +#pragma GCC diagnostic push + vfprintf (file, fmt, args); +#pragma GCC diagnostic pop + va_end (args); + fprintf (file, CRESET); +} + +void +cprintf (const char* ccode, const char* fmt, ...) +{ + va_list args; + va_start (args, fmt); + cfprintf (stdout, ccode, fmt, args); + va_end (args); +} diff --git a/src/array.c b/src/array.c new file mode 100644 index 0000000..06a568e --- /dev/null +++ b/src/array.c @@ -0,0 +1,153 @@ +#include "array.h" +#include "generic.h" + +#define ELEM_SIZE (sizeof (void*)) + +#ifndef ARRAY_SHOULD_DOWNSIZE +# define ARRAY_SHOULD_DOWNSIZE (1) +#else +# if ARRAY_SHOULD_DOWNSIZE != 0 || ARRAY_SHOULD_DOWNSIZE != 1 +# pragma GCC error "ARRAY_SHOULD_DOWNSIZE must be 0 or 1" +# endif +#endif + +struct array_impl +{ + void** data; + size_t length, capacity; +}; + +void array_impl_resize (array_t self); +void array_impl_downsize (array_t self); + +void +array_impl_resize (array_t self) +{ + dbg_assert (self->length == self->capacity, "Expected array length to be at capacity"); + self->data = chk_realloc (self->data, 2 * self->capacity * ELEM_SIZE); + log_minutiae ("resized array %p from %zu bytes to %zu bytes", + fmt_ptr (self), ELEM_SIZE * self->capacity, 2 * ELEM_SIZE * self->capacity); + self->capacity *= 2; +} + +#ifdef ARRAY_SHOULD_DOWNSIZE + void + array_impl_downsize (array_t self) + { + dbg_assert (self->length <= self->capacity / 2, + "Expected array length to be less than half its capacity"); + self->data = chk_realloc (self->data, self->capacity * ELEM_SIZE / 2); + log_minutiae ("downsized array %p from %zu bytes to %zu bytes", + fmt_ptr (self), ELEM_SIZE * self->capacity, + ELEM_SIZE * self->capacity / 2); + self->capacity /= 2; + } +#else + void array_impl_downsize (array_t self) { } +#endif + +array_t +array_new (void) +{ + log_minutiae ("creating unsized array"); + return array_new_sized (ARRAY_INITIAL_SIZE); +} + +array_t +array_new_sized (size_t size) +{ + array_t array = chk_calloc_struct (array_t); + array->data = chk_calloc (size, ELEM_SIZE); + log_minutiae ("new array %p, member capacity: %zu bytes", + fmt_ptr (array), size * ELEM_SIZE); + array->capacity = size; + return array; +} + +void* +array_insert (array_t self, size_t idx, void* item) +{ + if (self->length == self->capacity) + array_impl_resize (self); + if (idx >= self->length) + { + self->data[self->length++] = item; + return item; + } + memmove (&self->data[1 + idx], &self->data[idx], ELEM_SIZE * (self->length - idx)); + self->data[idx] = item; + self->length++; + log_minutiae ("inserted to array %p at index %zu: element %p", + fmt_ptr (self), idx, item); + return item; +} + +void* +array_remove (array_t self, size_t idx) +{ + dbg_assert (self->length > 0, "Array must be non-empty"); + if (idx >= self->length - 1) + { + auto ret = self->data[--self->length]; + array_impl_downsize (self); + return ret; + } + auto ret = self->data[idx]; + memmove (&self->data[idx], &self->data[1 + idx], ELEM_SIZE * (self->length - idx - 1)); + log_minutiae ("removed from array %p at index %zu: element %p", + fmt_ptr (self), idx, ret); + self->length--; + array_impl_downsize (self); + return ret; +} + +void* +array_pop (array_t self) +{ + log_minutiae ("popping from array %p", fmt_ptr (self)); + return array_remove (self, self->length); +} + +void* +array_append (array_t self, void* item) +{ + array_insert (self, self->length, item); + log_minutiae ("appended to array %p: element at %p", fmt_ptr (self), item); + return item; +} + +void* +array_get (array_t self, size_t idx) +{ + dbg_assert (idx < self->length, + "Tried to read index %zu of array with length %zu", idx, self->length); + log_minutiae ("getting element of array %p at index %zu", fmt_ptr (self), idx); + return self->data[idx]; +} + +size_t +array_length (array_t self) +{ + return self->length; +} + +void +array_free_cb (array_t self, array_free_callback_t cb_free) +{ + log_minutiae ("freeing array %p, user provided callback: %p", + fmt_ptr (self), (void*)&cb_free); + if (cb_free == NULL) + goto no_callback; + array_for_each (self, void*, item) + cb_free (item); +no_callback: + array_free (self); +} + +void +array_free (array_t self) +{ + log_minutiae ("freeing array %p", fmt_ptr (self)); + chk_free (self->data); + chk_free (self); +} diff --git a/src/bytestream.c b/src/bytestream.c deleted file mode 100755 index 5f20a83..0000000 --- a/src/bytestream.c +++ /dev/null @@ -1,93 +0,0 @@ -#include "bytestream.h" -#include "common.h" -#include "thunk.h" - -#include - -size_t -clamp_to_bounds(thunk_self_ty(bytestream_t) self, size_t n, size_t offs) -{ - if (n == 0) - return 0; - return clamp (thunk_public_attr(self, pos), - thunk_public_attr(self, length) - offs, - thunk_public_attr(self, pos) + n) - - thunk_public_attr(self, pos); -} - -declare_thunk_method(bytestream_t, peek)(thunk_self_ty(bytestream_t) self, - size_t lookahead) -{ - if (thunk_public_attr(self, pos) >= thunk_public_attr(self, length)) - return NULL; - size_t byte_offs = (thunk_public_attr(self, pos) + lookahead) - * thunk_public_attr(self, size); - if (byte_offs >= thunk_public_attr(self, length)) - return NULL; - return (char *)thunk_public_attr(self, data) + byte_offs; -} - -declare_thunk_method(bytestream_t, consume)(thunk_self_ty(bytestream_t) self, - size_t n) -{ - size_t clamped = clamp_to_bounds(self, n, 0), - pos = thunk_public_attr(self, pos); - for (size_t i = pos; i < pos + clamped; ++i) - { - if (((char *)thunk_public_attr(self, data))[i] == '\n') - { - thunk_public_attr(self, line_no)++; - thunk_public_attr(self, line_offs) = 0; - } - else - { - thunk_public_attr(self, line_offs)++; - } - } - thunk_public_attr(self, pos) += clamped; - return n; -} - -declare_thunk_method(bytestream_t, consume_until)( - thunk_self_ty(bytestream_t) self, const char* accept) -{ - assert ((thunk_public_attr(self, size) == 1) - && "consume_until() only valid for char-like streams"); - ssize_t length = 0; - for (;; ++length) - { - char* current = self->peek (0); - if (current == NULL) - break; - if (strchr (accept, *current) != NULL) - return length; - self->consume (1); - } - return length; -} - -declare_thunk_method(bytestream_t, get)(thunk_self_ty(bytestream_t) self) -{ - void* c = self->peek (0); - if (c != NULL) - self->consume (1); - return c; -} - -declare_thunk_method(bytestream_t, is_eof)(thunk_self_ty(bytestream_t) self) -{ - return thunk_public_attr(self, pos) * thunk_public_attr(self, size) - >= thunk_public_attr(self, length); -} - -declare_thunk_initializer(bytestream_t)(thunk_self_ty(bytestream_t) self) -{ - thunk_public_attr(self, data) = NULL; - thunk_public_attr(self, pos) - = thunk_public_attr(self, size) - = thunk_public_attr(self, length) - = thunk_public_attr(self, line_offs) - = 0; - - thunk_public_attr(self, line_no) = 1; -} diff --git a/src/diagnostics.c b/src/diagnostics.c new file mode 100644 index 0000000..619f5b9 --- /dev/null +++ b/src/diagnostics.c @@ -0,0 +1,214 @@ +#include "array.h" +#include "generic.h" +#include "diagnostics.h" + +#include +#include +#include +#include + +#define MAX_DIAGN_LINE_COUNT (3) + +static void diagn_free_impl (struct diagnostic*); +static const char* diagn_enum_to_string (enum diagn_type type) __attribute__((const)); +static const char* diagn_enum_ansi_code (enum diagn_type type) __attribute__((const)); + +struct diagnostic_impl +{ + uint8_t* src_stream; + array_t diagns; + struct compilation_args* comp_args; + const char* path; +}; + +struct diagnostic +{ + lexeme_t lexeme; + enum diagn_type type; + char* msg; +}; + +diagn_t +diagn_new (struct compilation_args* comp_args, + uint8_t* src_stream, + const char* const path) +{ + diagn_t diagn = chk_calloc_struct (diagn_t); + diagn->comp_args = comp_args; + diagn->diagns = array_new (); + diagn->src_stream = src_stream; + diagn->path = path; + return diagn; +} + +static bool +diagn_is_warn_enabled (diagn_t self, const char* warn_name) +{ + if (!strcmp (warn_name, "multichar")) + return self->comp_args->warn_flags.warn_multichar; + ucc_assert (0, "Unknown warning name \"%s\", maybe you spelled it wrong?", + warn_name); +} + +void +diagn_push (diagn_t self, + const char* warn_name_opt, + enum diagn_type type, + lexeme_t lexeme, + const char* fmt, ...) +{ + if (warn_name_opt != NULL && !diagn_is_warn_enabled (self, warn_name_opt)) + { + log_verbose ("ignoring warning \"%s\" because it is disabled", warn_name_opt); + return; + } + struct diagnostic* diagn = chk_calloc (1, sizeof (*diagn)); + diagn->lexeme = lexeme; + diagn->type = type; + + va_list args; + va_start (args, fmt); + ucc_assert ((vasprintf (&diagn->msg, fmt, args) > 0), "vasprintf() failed"); + va_end (args); + + array_append (self->diagns, diagn); +} + +static const char* +diagn_enum_ansi_code (enum diagn_type type) +{ + switch (type) + { + case DiagnosticNote: + return BCYAN; + case DiagnosticWarning: + return BCYAN; + case DiagnosticError: + return BRED; + default: + __builtin_unreachable (); + } +} + +static const char* +diagn_enum_to_string (enum diagn_type type) +{ + switch (type) + { + case DiagnosticNote: + return CTEXT (BCYAN, "note:"); + case DiagnosticWarning: + return CTEXT (BCYAN, "warning:"); + case DiagnosticError: + return CTEXT (BRED, "error:"); + default: + __builtin_unreachable (); + } +} + +static uint64_t +diagn_line_start_offset (const uint8_t* start, uint64_t stream_offs) +{ + uint64_t length = 0; + for (size_t i = 0; i < stream_offs; ++i) + { + uint8_t curr = *(start - i); + if (curr == '\n') + break; + length++; + } + + /* strip left-whitespace */ + while (isspace (*(start - length))) + length--; + + return length; +} + +static uint64_t +diagn_lineno (const uint8_t* start, uint64_t stream_offs) +{ + uint64_t line_no = 1; + for (size_t i = 0; i < stream_offs; ++i) + if (start[i] == '\n') + line_no++; + return line_no; +} + +static void +diagn_flush_single (diagn_t self, fptr_t file, struct diagnostic* diagn) +{ + uint8_t* lexeme_raw = &self->src_stream[diagn->lexeme->stream_offs]; + auto line_start_offset = diagn_line_start_offset ( + lexeme_raw, diagn->lexeme->stream_offs); + auto line_no = diagn_lineno (self->src_stream, diagn->lexeme->stream_offs); + + fprintf (file, "%s:%" PRIu64 ":%" PRIu64 ": %s %s\n", + self->path, line_no, line_start_offset, + diagn_enum_to_string (diagn->type), diagn->msg); + auto length = diagn->lexeme->length; + fprintf (file, "%*" PRIu64 " | %.*s", + 4, line_no, + (int)line_start_offset, + lexeme_raw - line_start_offset); + uint64_t rel_line = 1; + for (size_t i = 0; i < diagn->lexeme->length; ++i) + { + uint8_t current = lexeme_raw[i]; + if (current == '\n') + { + if (++rel_line > MAX_DIAGN_LINE_COUNT) + { + auto lines_left = diagn_lineno (lexeme_raw, diagn->lexeme->stream_offs + diagn->lexeme->length) + - rel_line; + if (!lines_left) + break; + fprintf (file, "\n%*c | ", 4, ' '); + fprintf (file, "(... %" PRIu64 " lines)", + lines_left); + break; + } + fprintf (file, "\n%*" PRIu64 " | ", 4, ++line_no); + continue; + } + cfprintf (file, diagn_enum_ansi_code (diagn->type), + "%c", current); + } + fprintf (file, "\n"); +} + +uint64_t +diagn_flush (diagn_t self, + fptr_t file) +{ + uint64_t nr_errors = 0, + nr_warnings = 0, + nr_notes = 0; + array_for_each(self->diagns, struct diagnostic*, diagn) + { + nr_errors += diagn->type == DiagnosticError; + nr_warnings += diagn->type == DiagnosticWarning; + nr_notes += diagn->type == DiagnosticNote; + diagn_flush_single (self, file, diagn); + } + log_primary ("Dumped %" PRIu64 " error(s), %" PRIu64 " warning(s), and %" PRIu64 " note(s)", + nr_errors, nr_warnings, nr_notes); + return nr_errors; +} + +static void +diagn_free_impl (struct diagnostic* diagn) +{ + log_minutiae ("\tfreeing diagnostic: %p", fmt_ptr (diagn)); + chk_free (diagn->msg); + chk_free (diagn); +} + +void +diagn_free (diagn_t self) +{ + log_minutiae ("freeing %zu diagnostics: %p", + array_length (self->diagns), fmt_ptr (self)); + array_free_cb (self->diagns, diagn_free_impl); + chk_free (self); +} diff --git a/src/generic.c b/src/generic.c new file mode 100644 index 0000000..f8214bb --- /dev/null +++ b/src/generic.c @@ -0,0 +1,96 @@ +#include "generic.h" + +#include + +#ifdef _DEBUG_MEMORY +int64_t nr_mem_allocated = 0, + nr_mem_freed = 0, + nr_mem_reallocated = 0; +uint64_t nr_allocations = 0, + nr_reallocations = 0, + nr_frees = 0; +uint64_t avg_allocation = 0, + avg_reallocation = 0; +#endif + +void +__chk_free_impl (const char* fn, void* ptr) +{ +#ifdef _DEBUG_MEMORY + auto blk_size = malloc_usable_size (ptr); + log_minutiae ("%s: freeing pointer (size: %zu): %p", + fn, blk_size, fmt_ptr (ptr)); + nr_mem_freed += (signed)blk_size; + nr_frees++; +#else + log_minutiae ("%s: freeing pointer: %p", fn, fmt_ptr (ptr)); +#endif + free (ptr); +} + +void +__chk_free_impl_nofn (void* ptr) +{ + __chk_free_impl ("", ptr); +} + +void* +__chk_realloc_impl (const char* fn, void* ptr, size_t size) +{ +#ifdef _DEBUG_MEMORY + auto prev_blk_size = malloc_usable_size (ptr); +#endif + auto ret = realloc (ptr, size); + if (ret == NULL) + ucc_exit ("critical allocation failure"); +#pragma GCC diagnostic ignored "-Wuse-after-free" +#pragma GCC diagnostic push + log_minutiae ("%s: realloc(ptr: %p, size: %zu) returned %p", + fn, fmt_ptr (ptr), size, fmt_ptr (ret)); +#pragma GCC diagnostic pop +#ifdef _DEBUG_MEMORY + auto new_blk_size = malloc_usable_size (ret); + auto blk_size_diff = (signed)new_blk_size - (signed)prev_blk_size; + log_minutiae ("\treallocation size went from %zu to %zu byte(s)", + prev_blk_size, new_blk_size); + nr_mem_reallocated += blk_size_diff; + avg_reallocation += (avg_reallocation * nr_reallocations + (unsigned)blk_size_diff); + avg_reallocation /= ++nr_reallocations; +#endif + return ret; +} + +void* +__chk_calloc_impl (const char* fn, size_t nmemb, size_t size) +{ + auto ret = calloc (nmemb, size); + if (ret == NULL) + ucc_exit ("critical allocation failure"); +#ifdef _DEBUG_MEMORY + size_t blk_size = malloc_usable_size (ret); + avg_allocation += (avg_allocation * nr_allocations + blk_size); + avg_allocation /= ++nr_allocations; + nr_mem_allocated += (signed)blk_size; + log_minutiae ("%s: calloc(nmemb: %zu, size: %zu) returned %p (actual: %zu bytes)", + fn, nmemb, size, fmt_ptr (ret), blk_size); +#else + log_minutiae ("%s: calloc(nmemb: %zu, size: %zu) returned %p", + fn, nmemb, size, fmt_ptr (ret)); +#endif + return ret; +} + +#ifdef _DEBUG_MEMORY +void +dbg_mem_dump_stats (void) +{ + log_primary ("Memory statistics: "); + log_primary ("\tMemory allocated: %" PRIu64" counts, %" PRIi64 " bytes (avg: %" PRIu64 ")", + nr_allocations, nr_mem_allocated, avg_allocation); + log_primary ("\tNet reallocated memory: %" PRIu64 " counts, %" PRIi64 " bytes (avg: %" PRIu64 ")", + nr_reallocations, nr_mem_reallocated, avg_reallocation); + log_primary ("\tMemory freed: %" PRIu64" counts, %" PRIi64 " bytes", + nr_frees, nr_mem_freed); + log_primary ("Note: the freed size will likely not correspond with the allocated size given, due to `malloc_usable_size`"); +} +#endif diff --git a/src/grammar.c b/src/grammar.c deleted file mode 100644 index a57df5d..0000000 --- a/src/grammar.c +++ /dev/null @@ -1,185 +0,0 @@ -#include "grammar.h" -#include "bytestream.h" -#include "tokenizer.h" - -#include - -#define RET_IF_TRUE(x) if (x) return true; -#define RET_WITH_LEXAHEAD(x, lexahead) \ - if (x) \ - { \ - *lexahead = true; \ - return true; \ - } - -bool -grm_is_type_specifier (struct lexeme* lex) -{ - bool - cmp_and_set (const char* cmp, enum type_qualifer type) - { - if (!strncmp (lex->raw, cmp, lex->length)) - { - lex->ctx_for.identifier.type_spec.type = type; - return true; - } - return false; - } - - RET_IF_TRUE(cmp_and_set ("void", Void)); - RET_IF_TRUE(cmp_and_set ("char", Char)); - RET_IF_TRUE(cmp_and_set ("short", Short)); - - RET_IF_TRUE(cmp_and_set ("int", Int)); - RET_IF_TRUE(cmp_and_set ("long", Long)); - RET_IF_TRUE(cmp_and_set ("float", Float)); - RET_IF_TRUE(cmp_and_set ("double", Double)); - RET_IF_TRUE(cmp_and_set ("signed", Signed)); - RET_IF_TRUE(cmp_and_set ("unsigned", Unsigned)); - RET_IF_TRUE(cmp_and_set ("_Bool", Bool)); - RET_IF_TRUE(cmp_and_set ("_Complex", Complex)); - RET_IF_TRUE(cmp_and_set ("__m128", M128)); - RET_IF_TRUE(cmp_and_set ("__m128d", M128d)); - RET_IF_TRUE(cmp_and_set ("__m128i", M128i)); - - /* external lexing required */ - RET_IF_TRUE(cmp_and_set ("__extension__", Extension)); - RET_IF_TRUE(cmp_and_set ("__typeof__", Typeof)); - RET_IF_TRUE(cmp_and_set ("_Atomic", AtomicSpec)); - RET_IF_TRUE(cmp_and_set ("struct", Struct)); - RET_IF_TRUE(cmp_and_set ("union", Union)); - RET_IF_TRUE(cmp_and_set ("enum", Enum)); - return false; -} - -bool -grm_is_storage_class_specifier (struct lexeme* lex) -{ - bool - cmp_and_set (const char* cmp, enum type_qualifer type) - { - if (!strncmp (lex->raw, cmp, lex->length)) - { - lex->ctx_for.identifier.storage_class_spec.type = type; - return true; - } - return false; - } - - RET_IF_TRUE(cmp_and_set("typedef", Typedef)); - RET_IF_TRUE(cmp_and_set("extern", Extern)); - RET_IF_TRUE(cmp_and_set("static", Static)); - RET_IF_TRUE(cmp_and_set("_Thread_local", ThreadLocal)); - RET_IF_TRUE(cmp_and_set("auto", Auto)); - RET_IF_TRUE(cmp_and_set("register", Register)); - return false; -} - -bool -grm_is_type_qualifier (struct lexeme* lex) -{ - bool - cmp_and_set (const char* cmp, enum type_qualifer type) - { - if (!strncmp (lex->raw, cmp, lex->length)) - { - lex->ctx_for.identifier.type_qual.type = type; - return true; - } - return false; - } - - RET_IF_TRUE(cmp_and_set("const", Const)); - RET_IF_TRUE(cmp_and_set("restrict", Restrict)); - RET_IF_TRUE(cmp_and_set("volatile", Volatile)); - RET_IF_TRUE(cmp_and_set("_Atomic", AtomicQual)); - return false; -} - -bool -grm_is_function_specifier (struct lexeme* lex) -{ - bool - cmp_and_set (const char* cmp, enum type_qualifer type) - { - if (!strncmp (lex->raw, cmp, lex->length)) - { - lex->ctx_for.identifier.func_spec.type = type; - return true; - } - return false; - } - - RET_IF_TRUE(cmp_and_set("inline", Inline)); - RET_IF_TRUE(cmp_and_set("_Noreturn", NoReturn)); - RET_IF_TRUE(cmp_and_set("__inline__", GNUInline)); - RET_IF_TRUE(cmp_and_set("__stdcall", StdCall)); - - /* external lexing required */ - RET_IF_TRUE(cmp_and_set("__declspec", DeclSpec)); - RET_IF_TRUE(cmp_and_set("__attribute__", Attribute)); - return false; -} - -bool -grm_is_keyword (struct lexeme* lex) -{ - bool - cmp(const char* s) - { - return !strncmp (lex->raw, s, lex->length); - } - - RET_IF_TRUE(cmp("auto")); - RET_IF_TRUE(cmp("break")); - RET_IF_TRUE(cmp("case")); - RET_IF_TRUE(cmp("char")); - RET_IF_TRUE(cmp("const")); - RET_IF_TRUE(cmp("default")); - RET_IF_TRUE(cmp("do")); - RET_IF_TRUE(cmp("double")); - RET_IF_TRUE(cmp("else")); - RET_IF_TRUE(cmp("enum")); - RET_IF_TRUE(cmp("extern")); - RET_IF_TRUE(cmp("float")); - RET_IF_TRUE(cmp("for")); - RET_IF_TRUE(cmp("goto")); - RET_IF_TRUE(cmp("if")); - RET_IF_TRUE(cmp("inline")); - RET_IF_TRUE(cmp("int")); - RET_IF_TRUE(cmp("long")); - RET_IF_TRUE(cmp("register")); - RET_IF_TRUE(cmp("restrict")); - RET_IF_TRUE(cmp("return")); - RET_IF_TRUE(cmp("short")); - RET_IF_TRUE(cmp("signed")); - RET_IF_TRUE(cmp("sizeof")); - RET_IF_TRUE(cmp("static")); - RET_IF_TRUE(cmp("struct")); - RET_IF_TRUE(cmp("switch")); - RET_IF_TRUE(cmp("typedef")); - RET_IF_TRUE(cmp("union")); - RET_IF_TRUE(cmp("unsigned")); - RET_IF_TRUE(cmp("void")); - RET_IF_TRUE(cmp("volatile")); - RET_IF_TRUE(cmp("while")); - RET_IF_TRUE(cmp("_Alignas")); - RET_IF_TRUE(cmp("_Alignof")); - RET_IF_TRUE(cmp("_Atomic")); - RET_IF_TRUE(cmp("_Bool")); - RET_IF_TRUE(cmp("_Complex")); - RET_IF_TRUE(cmp("_Generic")); - RET_IF_TRUE(cmp("_Imaginary")); - RET_IF_TRUE(cmp("_Noreturn")); - RET_IF_TRUE(cmp("_Static_assert")); - RET_IF_TRUE(cmp("_Thread_local")); - return false; -} - -bool -grm_is_decl_specifier (struct lexeme *lex) -{ - auto ctx = lex->ctx_for.identifier; - return ctx.is_func_spec || ctx.is_type_spec || ctx.is_type_qual - || ctx.is_storage_class_spec || ctx.is_align_spec; -} diff --git a/src/io.c b/src/io.c new file mode 100644 index 0000000..3ec9008 --- /dev/null +++ b/src/io.c @@ -0,0 +1,75 @@ +#include "generic.h" +#include "io.h" + +size_t io_get_filesize (fptr_t file); + +fptr_t +io_open_file (const char* filename, const char* mode) +{ + auto file = fopen (filename, mode); + if (file == NULL) + { + ucc_werror ("%s: failed to open filename", filename); + return NULL; + } + return file; +} + +size_t +io_get_filesize (fptr_t file) +{ + fseek (file, 0, SEEK_END); + auto filesize = ftell (file); + fseek (file, 0, SEEK_SET); + return (size_t)filesize; +} + +uint8_t* +io_alloc_file_buffer (fptr_t file) +{ + return chk_calloc (io_get_filesize (file), sizeof (char)); +} + +size_t +io_read_file_into_buffer (fptr_t file, uint8_t* const buffer, size_t buffer_size) +{ + dbg_assert (buffer_size <= io_get_filesize (file), + "Writing to the specified buffer would cause an overrun " + "file size is %zu bytes, buffer size is %zu bytes", + io_get_filesize (file), buffer_size); + auto nbytes_written = fread (buffer, sizeof (char), buffer_size, file); + if (nbytes_written < buffer_size) + log_primary ("read less than expected (expected: %zu, read: %zu)", + buffer_size, nbytes_written); + return nbytes_written; +} + +memstream_t +io_read_file_into_memstream (fptr_t file, const char* const path) +{ + uint8_t *file_buffer = io_alloc_file_buffer (file); + size_t filesize = io_get_filesize (file); + io_read_file_into_buffer (file, file_buffer, filesize); + memstream_t stream = chk_calloc_struct (memstream_t); + stream->buffer = file_buffer; + stream->size = filesize; + stream->path = path; + stream->ptr = fmemopen (file_buffer, filesize, "r"); + return stream; +} + +void +io_free_memstream (memstream_t stream) +{ + log_minutiae ("freeing memory stream %p", fmt_ptr (stream)); + io_close_file (stream->ptr); + chk_free (stream->buffer); + chk_free (stream); +} + +void +io_close_file (fptr_t file) +{ + log_minutiae ("closing file object %p", fmt_ptr (file)); + fclose (file); +} diff --git a/src/lex-dump.c b/src/lex-dump.c deleted file mode 100644 index 1c27858..0000000 --- a/src/lex-dump.c +++ /dev/null @@ -1,280 +0,0 @@ -#include "grammar.h" -#include "lex-dump.h" - -#include -#include - - -void -write_lexer_output_to_file (impln(list_t) lexemes, const char* path) -{ - FILE* fp = fopen (path, "w"); - if (fp == NULL) - { - ucc_error("failed to open '%s' (%s)\n", path, strerror (errno)); - return; - } - list_for_each_entry(lexemes, entry) - { - struct lexeme* lexeme = entry->val; - switch (lexeme->type) - { - case NewLine: - fprintf (fp, "\n"); - break; - case PreprocessorDirective: - fprintf (fp, "Directive<%.*s> ", lexeme->length, lexeme->raw); - break; - case StringConstant: - { - char* string_encoding_ty; - switch (lexeme->ctx_for.string_constant.encoding) - { - case Ordinary: string_encoding_ty = ""; break; - case WideEncoding: string_encoding_ty = "Wide"; break; - case Utf8Encoding: string_encoding_ty = "Utf8"; break; - case Utf16Encoding: string_encoding_ty = "Utf16"; break; - case Utf32Encoding: string_encoding_ty = "Utf32"; break; - } - char* raw_prefix = lexeme->ctx_for.string_constant.is_raw - ? "Raw": ""; - auto str_length = lexeme->ctx_for.string_constant.length; - fprintf (fp, "%s%sString<%zu, \"%.*s\"> ", - raw_prefix, string_encoding_ty, - str_length, - str_length, lexeme->ctx_for.string_constant.escaped); - break; - } - case CharacterConstant: - { - char* char_encoding_ty; - switch (lexeme->ctx_for.character_constant.encoding) - { - case Ordinary: char_encoding_ty = ""; break; - case WideEncoding: char_encoding_ty = "Wide"; break; - case Utf8Encoding: char_encoding_ty = "Utf8"; break; - case Utf16Encoding: char_encoding_ty = "Utf16"; break; - case Utf32Encoding: char_encoding_ty = "Utf32"; break; - } - - fprintf (fp,"%sCharacter<'%.*s'> ", char_encoding_ty, - lexeme->ctx_for.character_constant.length, - lexeme->ctx_for.character_constant.escaped); - break; - } - case IntegerConstant: - { - char *base_ty, *suffix_ty; - switch (lexeme->ctx_for.integer_constant.base) - { - case DecimalConstant: base_ty = "Decimal"; break; - case HexadecimalConstant: base_ty = "Hex"; break; - case OctalConstant: base_ty = "Octal"; break; - } - switch (lexeme->ctx_for.integer_constant.suffix) - { - case NoIntegerSuffix: suffix_ty = "NoSuffix"; break; - case LongSuffix: suffix_ty = "Long"; break; - case LongLongSuffix: suffix_ty = "LongLong"; break; - } - char* sign_ty = lexeme->ctx_for.integer_constant.is_unsigned - ? "Unsigned": "Signed"; - fprintf (fp, "%s%sIntegerConstant<%.*s, %s> ", sign_ty, base_ty, - lexeme->length, lexeme->raw, suffix_ty); - break; - } - case FloatingConstant: - { - char *base_ty, *suffix_ty; - switch (lexeme->ctx_for.floating_constant.base) - { - case DecimalFloatingConstant: base_ty = "Decimal"; break; - case HexadecimalFloatingConstant: base_ty = "Hex"; break; - } - switch (lexeme->ctx_for.integer_constant.suffix) - { - case NoFloatSuffix: suffix_ty = "NoSuffix"; break; - case FloatSuffix: suffix_ty = "Float"; break; - case LongDoubleSuffix: suffix_ty = "LongDouble"; break; - } - fprintf (fp, "%sFloatingConstant<%.*s, %s> ", base_ty, - lexeme->length, lexeme->raw, suffix_ty); - break; - } - case BlockComment: - fprintf (fp, "BlockComment "); - break; - case MultiComment: - fprintf (fp, "MultiComment "); - break; - case MultiCommentEnd: - fprintf (fp, "MultiCommentEnd "); - break; - case LeftParen: - fprintf (fp, "LeftParen "); - break; - case RightParen: - fprintf (fp, "RightParen "); - break; - case LeftBracket: - fprintf (fp, "LeftBracket "); - break; - case RightBracket: - fprintf (fp, "RightBracket "); - break; - case LeftBrace: - fprintf (fp, "LeftBrace "); - break; - case RightBrace: - fprintf (fp, "RightBrace "); - break; - case Identifier: - { - auto ctx = lexeme->ctx_for.identifier; - char *ident_type = "", *is_keyword = ""; - if (ctx.is_keyword) - is_keyword = "Keyword"; - if (ctx.is_type_spec) - ident_type = "TypeSpecifier"; - else if (ctx.is_func_spec) - ident_type = "FuncSpecifier"; - else if (ctx.is_type_qual) - ident_type = "TypeQualifier"; - else if (ctx.is_storage_class_spec) - ident_type = "StorageClassSpecifier"; - - fprintf (fp, "%s%s<%.*s> ", - is_keyword, ident_type, lexeme->length, lexeme->raw); - break; - } - case Dot: - fprintf (fp, "Dot "); - break; - case Ellipsis: - fprintf (fp, "Ellipsis "); - break; - case Plus: - fprintf (fp, "Plus "); - break; - case PlusPlus: - fprintf (fp, "PlusPlus "); - break; - case PlusAssign: - fprintf (fp, "PlusAssign "); - break; - case Minus: - fprintf (fp, "Minus "); - break; - case MinusMinus: - fprintf (fp, "MinusMinus "); - break; - case MinusAssign: - fprintf (fp, "MinusAssign "); - break; - case Arrow: - fprintf (fp, "Arrow "); - break; - case Star: - fprintf (fp, "Star "); - break; - case StarAssign: - fprintf (fp, "StarAssign "); - break; - case Div: - fprintf (fp, "Div "); - break; - case DivAssign: - fprintf (fp, "DivAssign "); - break; - case Mod: - fprintf (fp, "Mod "); - break; - case ModAssign: - fprintf (fp, "ModAssign "); - break; - case Or: - fprintf (fp, "Or "); - break; - case OrAssign: - fprintf (fp, "OrAssign "); - break; - case OrOr: - fprintf (fp, "OrOr "); - break; - case And: - fprintf (fp, "And "); - break; - case AndAssign: - fprintf (fp, "AndAssign "); - break; - case AndAnd: - fprintf (fp, "AndAnd "); - break; - case Caret: - fprintf (fp, "Caret "); - break; - case CaretAssign: - fprintf (fp, "CaretAssign "); - break; - case Colon: - fprintf (fp, "Colon "); - break; - case Comma: - fprintf (fp, "Comma "); - break; - case Semi: - fprintf (fp, "Semi "); - break; - case Not: - fprintf (fp, "Not "); - break; - case NotEqual: - fprintf (fp, "NotEqual "); - break; - case Question: - fprintf (fp, "Question "); - break; - case Tilde: - fprintf (fp, "Tilde "); - break; - case Assign: - fprintf (fp, "Assign "); - break; - case AssignEqual: - fprintf (fp, "AssignEqual "); - break; - case Less: - fprintf (fp, "Less "); - break; - case LessEqual: - fprintf (fp, "LessEqual "); - break; - case LeftShift: - fprintf (fp, "LeftShift "); - break; - case LeftShiftAssign: - fprintf (fp, "LeftShiftAssign "); - break; - case Greater: - fprintf (fp, "Greater "); - break; - case GreaterEqual: - fprintf (fp, "GreaterEqual "); - break; - case RightShift: - fprintf (fp, "RightShift "); - break; - case RightShiftAssign: - fprintf (fp, "RightShiftAssign "); - break; - case Backslash: - fprintf (fp, "Backslash "); - break; - case EndOfFile: - fprintf (fp, "EndOfFile"); - break; - } - } - fclose (fp); - ucc_info("dumped lexer output to '%s'\n", path); -} diff --git a/src/lexer.c b/src/lexer.c new file mode 100644 index 0000000..3bffafe --- /dev/null +++ b/src/lexer.c @@ -0,0 +1,501 @@ +#include "array.h" +#include "generic.h" +#include "io.h" +#include "lexer.h" +#include "stdio-ext.h" +#include "diagnostics.h" + +#include +#include +#include + +#define lex_decl_consume_function(fn_name) \ + static void fn_name (memstream_t, array_t) + +#define append_with_consume(lexemes, stream, lex_type, length) \ + { \ + array_append ((lexemes), lex_ctx_create_lexeme ((stream), (lex_type), (length))); \ + fconsume ((stream)->ptr, (long)(length)); \ + } + +#define case_unary_op(which, name) \ + case (which): \ + log_verbose ("consuming unary lexeme: " STRINGIZE (name)); \ + lex_type = name; \ + break; + +#define case_binary_op(which, name) \ + case (which): \ + lex_type = name; \ + if (next == '=') \ + { \ + log_verbose ("consuming binary lexeme: " STRINGIZE (CONCAT (name, Assign))); \ + lex_type = name##Assign; \ + length++; \ + } \ + else \ + { \ + log_verbose ("consuming binary lexeme: " STRINGIZE (name)); \ + } \ + break; + +#define while_noneof(current, stream, length, length_val) \ + uint64_t length = length_val; \ + int current; \ + while (((current) = fpeek ((stream)->ptr, (long)(length))) > 0) + +#define log_printable_lexeme_offs(stream, stream_offs, length, length_offs, name) \ + log_verbose ("consuming " STRINGIZE (name) ": \"%.*s\"", \ + (int)length + (length_offs), \ + (stream)->buffer + ftell ((stream)->ptr) + (stream_offs)); + +#define log_printable_lexeme(stream, length, name) \ + log_printable_lexeme_offs (stream, 0, length, 0, name) + +static diagn_t g_diagnostics; +static struct compilation_args* g_comp_args; + +static lexeme_t +lex_ctx_create_lexeme (const memstream_t stream, + enum lexeme_type lexeme_type, + uint64_t length) +{ + lexeme_t lexeme = chk_calloc_struct (lexeme_t); + lexeme->stream_offs = (uint64_t)ftell (stream->ptr); + lexeme->length = length; + lexeme->type = lexeme_type; + return lexeme; +} + +static uint64_t +lex_ctx_length_until_eol (memstream_t stream) +{ + while_noneof (current, stream, length, 0) + { + if (current == '\n' || current == EOF) + break; + length++; + } + return length; +} + +static void +lex_ctx_consume_comment (memstream_t stream, + array_t lexemes) +{ + while_noneof(current, stream, length, 2) + { + if (current == '\n') + break; + length++; + } + log_printable_lexeme_offs (stream, 2, length, -2, "single-line comment"); + if (g_comp_args->parse_flags.tokenize_comments) + array_append(lexemes, lex_ctx_create_lexeme(stream, Comment, length)); + else + array_append (lexemes, lex_ctx_create_lexeme (stream, Newline, 1)); + fconsume (stream->ptr, (long)length + 1); +} + +static void +lex_ctx_consume_multicomment (memstream_t stream, + array_t lexemes) +{ + while_noneof (current, stream, length, 2) + { + int next = fpeek (stream->ptr, (long)(length + 1)); + if (current == '*' && next == '/') + break; + length++; + } + if (current == EOF) + goto unterminated; + log_verbose ("consuming multi-line comment of length (tokenize-comments=%s): %" PRIu64, + (g_comp_args->parse_flags.tokenize_comments)? "yes": "no", length); + log_minutiae ("multi-line comment: \"%.*s\"", + (int)length - 2, stream->buffer + ftell (stream->ptr) + 2); + if (g_comp_args->parse_flags.tokenize_comments) + array_append (lexemes, lex_ctx_create_lexeme(stream, MultiComment, length)); + else + array_append (lexemes, lex_ctx_create_lexeme (stream, Newline, 1)); + fconsume (stream->ptr, (long)length + 2); + return; +unterminated: + auto length_to_eol = lex_ctx_length_until_eol (stream); + auto lexeme = lex_ctx_create_lexeme (stream, MultiComment, length); + diagn_push (g_diagnostics, NULL, DiagnosticError, lexeme, + "missing terminating " CTEXT (BWHITE, "*/") " characters from multiline comment"); + fconsume (stream->ptr, (long)length); + array_append (lexemes, lexeme); +} + +static void +lex_ctx_consume_hexadecimal_float (memstream_t stream, + array_t lexemes) +{ + bool past_decimal = false; + while_noneof(current, stream, length, 2) + { + if (!past_decimal && current == '.') + past_decimal = true; + else if (!isxdigit (current)) + break; + length++; + } + log_printable_lexeme (stream, length, "hexadecimal float"); + append_with_consume(lexemes, stream, FloatingLiteral, length); +} + +static void +lex_ctx_consume_decimal_float (memstream_t stream, + array_t lexemes) +{ + bool past_point = false; + while_noneof (current, stream, length, 0) + { + if (!past_point && current == '.') + past_point = true; + else if (!isdigit (current)) + break; + length++; + } + log_printable_lexeme (stream, length, "decimal float") + append_with_consume (lexemes, stream, FloatingLiteral, length); +} + +static void +lex_ctx_consume_number (memstream_t stream, + array_t lexemes) +{ + while_noneof (current, stream, length, 0) + { + if (current == '.') + { + lex_ctx_consume_decimal_float (stream, lexemes); + return; + } + else if (!isdigit (current)) + break; + length++; + } + log_printable_lexeme (stream, length, "number"); + append_with_consume (lexemes, stream, NumericLiteral, length); +} + +static void +lex_ctx_consume_identifier (memstream_t stream, + array_t lexemes) +{ + while_noneof (current, stream, length, 0) + { + if (!isident (current)) + break; + length++; + } + log_printable_lexeme (stream, length, "identifier"); + append_with_consume (lexemes, stream, Identifier, length); +} + +static void +lex_ctx_consume_string (memstream_t stream, + array_t lexemes) +{ + while_noneof (current, stream, length, 1) + { + int next = fpeek (stream->ptr, (long)(length + 1)); + if (current == '"') + { + length++; + break; + } + if (current == '\\' && (next == '\n' || next == '"')) + length++; + else if (current == '\n') + goto unterminated; + length++; + } + + if (current == EOF) + goto unterminated; + + log_printable_lexeme_offs (stream, 1, length, -2, "string literal"); + append_with_consume (lexemes, stream, StringLiteral, length); + return; +unterminated: + auto length_to_eol = lex_ctx_length_until_eol (stream); + auto lexeme = lex_ctx_create_lexeme (stream, StringLiteral, length_to_eol); + diagn_push (g_diagnostics, NULL, DiagnosticError, lexeme, + "missing terminating " CTEXT (BWHITE, "\"") " character"); + fconsume (stream->ptr, (long)length_to_eol); + array_append (lexemes, lexeme); +} + +static void +lex_ctx_consume_character (memstream_t stream, + array_t lexemes) +{ + while_noneof (current, stream, length, 1) + { + int next = fpeek (stream->ptr, (long)(length + 1)); + if (current == '\'') + { + length++; + break; + } + if (current == '\\' && (next == '\n' || next == '\'')) + length++; + else if (current == '\n') + goto unterminated; + length++; + } + + lexeme_t lexeme; + if (current == EOF) + goto unterminated; + + lexeme = lex_ctx_create_lexeme(stream, CharacterLiteral, length); + if (length > 3) + diagn_push (g_diagnostics, "multichar", DiagnosticWarning, lexeme, + "multi-character character constant"); + log_printable_lexeme_offs(stream, 1, length, -2, "character literal"); + array_append (lexemes, lexeme); + fconsume (stream->ptr, (long)length); + return; +unterminated: + auto length_to_eol = lex_ctx_length_until_eol (stream); + auto err_lexeme = lex_ctx_create_lexeme (stream, StringLiteral, length_to_eol); + diagn_push (g_diagnostics, NULL, DiagnosticError, err_lexeme, + "missing terminating " CTEXT (BWHITE, "'") " character"); + fconsume (stream->ptr, (long)length_to_eol); + array_append (lexemes, err_lexeme); +} + +static void +lex_ctx_consume_octal (memstream_t stream, + array_t lexemes) +{ + while_noneof (current, stream, length, 0) + { + if (!isoctdigit (current)) + { + if (isdigit (current) || current == '.') + { + /* e.g. `018` is treated as base-10 literal `18` */ + lex_ctx_consume_number (stream, lexemes); + return; + } + break; + } + else + length++; + } + log_printable_lexeme (stream, length, "octal number"); + append_with_consume (lexemes, stream, NumericLiteral, length) +} + +static void +lex_ctx_consume_hexadecimal (memstream_t stream, + array_t lexemes) +{ + while_noneof (current, stream, length, 2) + { + if (current == '.') + { + lex_ctx_consume_hexadecimal_float (stream, lexemes); + return; + } + else if (!isxdigit (current)) + break; + length++; + } + log_printable_lexeme (stream, length, "hexadecimal number"); + append_with_consume (lexemes, stream, NumericLiteral, length); +} + +static void +lex_ctx_consume_nonliteral (memstream_t stream, + array_t lexemes) +{ + int current = fpeek (stream->ptr, 0), + next = fpeek (stream->ptr, 1); + enum lexeme_type lex_type; + uint64_t length = 1; + + switch (current) + { + case_unary_op ('~', BitwiseNegate); + case_unary_op ('{', LeftBrace); + case_unary_op ('}', RightBrace); + case_unary_op ('(', LeftParen); + case_unary_op (')', RightParen); + case_unary_op (';', Semi); + case_unary_op ('.', Dot); + + case_binary_op ('*', Star); + case_binary_op ('+', Add); + case_binary_op ('-', Minus); + case_binary_op ('%', Modulus); + case_binary_op ('^', BitwiseXor); + case_binary_op ('!', Not); + case_binary_op ('=', Assign); + + case '/': + lex_type = Div; + if (next == '=') + { + lex_type = DivAssign; + length++; + } + else if (next == '*') + { + lex_ctx_consume_multicomment (stream, lexemes); + return; + } + else if (next == '/') + { + lex_ctx_consume_comment (stream, lexemes); + return; + } + break; + case '|': + lex_type = BitwiseOr; + if (next == '|') + { + lex_type = LogicalOr; + length++; + } + else if (next == '=') + { + lex_type = BitwiseOrAssign; + length++; + } + break; + case '&': + lex_type = BitwiseAnd; + if (next == '&') + { + lex_type = LogicalAnd; + length++; + } + else if (next == '=') + { + lex_type = BitwiseAndAssign; + length++; + } + break; + default: + ucc_error ("unidentified character: '%c'", current); + fconsume (stream->ptr, 1); + return; + } + append_with_consume (lexemes, stream, lex_type, length); +} + +static uint64_t +lex_ctx_process_impl (lexer_t self, + memstream_t stream) +{ + auto lexemes = array_new (); + g_diagnostics = diagn_new (g_comp_args, stream->buffer, stream->path); + bool reached_eof = false; + while (!feof (stream->ptr) && !reached_eof) + { + auto current = (int8_t)fpeek (stream->ptr, 0); + auto next = (int8_t)fpeek (stream->ptr, 1); + + switch (current) + { + case EOF: + log_minutiae ("consumed end of file"); + array_append (lexemes, lex_ctx_create_lexeme (stream, EndOfFile, 0)); + reached_eof = true; + break; + case '\n': + log_minutiae ("consumed end of line"); + array_append (lexemes, lex_ctx_create_lexeme (stream, Newline, 1)); + fconsume (stream->ptr, 1); + break; + case '0': + if (next == 'x') + { + lex_ctx_consume_hexadecimal (stream, lexemes); + break; + } + lex_ctx_consume_octal (stream, lexemes); + break; + case '1': case '2': case '3': case '4': + case '5': case '6': case '7': case '8': case '9': + lex_ctx_consume_number (stream, lexemes); + break; + case '"': + lex_ctx_consume_string (stream, lexemes); + break; + case '\'': + lex_ctx_consume_character (stream, lexemes); + break; + default: + if (isident_f (current)) + { + lex_ctx_consume_identifier (stream, lexemes); + break; + } + else if (isspace (current)) + { + fconsume (stream->ptr, 1); + break; + } + lex_ctx_consume_nonliteral (stream, lexemes); + break; + } + } + log_primary ("Lexed %zu lexemes from \"%s\"", array_length (lexemes), stream->path); + array_append (self->lexeme_arrays, lexemes); + auto nr_errors = diagn_flush (g_diagnostics, stdout); + diagn_free (g_diagnostics); + return nr_errors; +} + +lexer_t +lex_ctx_new (struct compilation_args* comp_args) +{ + lexer_t lexer = chk_calloc_struct (lexer_t); + lexer->memstreams = array_new (); + lexer->lexeme_arrays = array_new (); + g_comp_args = comp_args; + log_verbose ("created lexer %p", fmt_ptr (lexer)); + return lexer; +} + +void +lex_ctx_load_file (lexer_t self, + fptr_t file, + const char* const path) +{ + array_append (self->memstreams, io_read_file_into_memstream (file, path)); +} + +uint64_t +lex_ctx_process (lexer_t self) +{ + uint64_t nr_lexing_errors = 0; + array_for_each (self->memstreams, memstream_t, stream) + { + nr_lexing_errors += lex_ctx_process_impl (self, stream); + } + return nr_lexing_errors; +} + +static void +lex_ctx_free_lexeme_arrays (array_t lexemes) +{ + log_minutiae ("freeing lexeme array at %p", fmt_ptr (lexemes)); + array_free_cb (lexemes, __chk_free_impl_nofn); +} + +void +lex_ctx_free (lexer_t self) +{ + array_free_cb (self->memstreams, io_free_memstream); + array_free_cb (self->lexeme_arrays, lex_ctx_free_lexeme_arrays); + chk_free (self); +} diff --git a/src/list.c b/src/list.c deleted file mode 100755 index 3695cb5..0000000 --- a/src/list.c +++ /dev/null @@ -1,130 +0,0 @@ -#include "list.h" -#include "common.h" - -#include - -struct list_item* -get_entry (thunk_self_ty(list_t) self, size_t index) -{ - index = clamp(0, thunk_public_attr(self, length) - 1, index); - list_for_each_entry(self, current) - { - if (!index--) - return current; - } - return NULL; -} - -struct list_item* -alloc_list_item (void* val) -{ - struct list_item* item = calloc (1, sizeof (struct list_item)); - if (item == NULL) - { - ucc_error("failed to allocate memory for linked list item\n"); - exit (EXIT_FAILURE); - } - item->val = val; - return item; -} - -declare_thunk_method(list_t, insert)(thunk_self_ty(list_t) self, - size_t index, void* val) -{ - auto item = alloc_list_item (val); - auto entry = get_entry (self, index); - - auto head = &thunk_public_attr(self, head); - auto tail = &thunk_public_attr(self, tail); - - thunk_public_attr(self, length)++; - - if (entry == NULL) - { - *head = *tail = item; - return (*head)->val; - } - - if (index == thunk_public_attr(self, length) - 1) - /* Append, length guaranteed >= 1 */ - { - assert ((entry == thunk_public_attr(self, tail)) - && "out-of-bounds index should be clamped to tail"); - (*tail)->next = item; - item->prev = *tail; - *tail = item; - return (*tail)->val; - } - - item->next = entry; - item->prev = entry->prev; - - if (entry->prev != NULL) - entry->prev->next = item; - else - *head = item; - - entry->prev = item; - - return item->val; -} - -declare_thunk_method(list_t, append)(thunk_self_ty(list_t) self, void* val) -{ - return self->insert (thunk_public_attr(self, length), val); -} - -declare_thunk_method(list_t, remove)(thunk_self_ty(list_t) self, size_t index) -{ - auto entry = get_entry(self, index); - - auto head = &thunk_public_attr(self, head); - auto tail = &thunk_public_attr(self, tail); - thunk_public_attr(self, length)--; - - if (entry->prev != NULL) - entry->prev->next = entry->next; - else - *head = entry->next; - - if (entry->next != NULL) - entry->next->prev = entry->prev; - else - *tail = entry->prev; - - free(entry); - - return true; -} - -declare_thunk_method(list_t, get)(thunk_self_ty(list_t) self, size_t index) -{ - return get_entry (self, index)->val; -} - -declare_thunk_method(list_t, pop)(thunk_self_ty(list_t) self, size_t index) -{ - auto val = self->get (index); - self->remove (index); - return val; -} - -declare_thunk_initializer(list_t)(thunk_self_ty(list_t) self) -{ - thunk_public_attr(self, length) = 0; - thunk_public_attr(self, head) = thunk_public_attr(self, tail) = NULL; -} - -declare_thunk_finalizer(list_t)(thunk_self_ty(list_t) self) -{ - struct list_item* current = thunk_public_attr(self, head); - while (current != NULL) - { - struct list_item* next = current->next; - free(current); - --thunk_public_attr(self, length); - current = next; - } - assert(!thunk_public_attr(self, length) - && "list length must be zero after being finalized"); -} diff --git a/src/main.c b/src/main.c old mode 100755 new mode 100644 index 142250f..cedf16d --- a/src/main.c +++ b/src/main.c @@ -1,87 +1,155 @@ -#include "grammar.h" -#include "list.h" +#include "generic.h" +#include "lexer.h" #include "tokenizer.h" -#include "parser.h" +#include "diagnostics.h" +#include "io.h" #include -#include #include +#include -const char* arg_program_version = "0.1.0"; +const char* arg_program_version = "0.2.0"; const char *argp_program_bug_address = ""; static char doc[] = "C compiler written in C"; -static char args_doc[] = "[FILENAME]..."; +static char args_doc[] = "[FILENAMES...]"; -static struct argp_option options[] = { - { NULL, 'C', 0, 0, "Tokenize comments" }, - { "output-lex", 'L', "FILE", 0, - "Dump tokens generated by the lexer to a file"}, - { 0 } +static struct argp_option options[] = { + { "warn", 'W', "WARNING", 0, "Toggle specific warning conditions", 0 }, + { "compiler", 'C', "COMPILER", 0, "Toggle specific compilation flags", 0}, + { 0 } }; -struct arguments +static bool +parse_warning_opt (struct compilation_args* args, char* arg) { - struct compiler_flags flags; - char** filenames; - int nr_filenames; -}; + bool invert = true; + bool is_valid_flag = false; + if (!strncmp (arg, "no-", 3)) + { + invert = false; + arg += 3; + } + if (!strcmp (arg, "multichar")) + { + args->warn_flags.warn_multichar = invert; + is_valid_flag = true; + } + return is_valid_flag; +} -static error_t -parse_opt (int key, char* arg, struct argp_state* state) +static bool +parse_compiler_opt (struct compilation_args* args, char* arg) { - struct arguments *arguments = state->input; - switch (key) + bool invert = true; + bool is_valid_flag = false; + if (!strncmp (arg, "no-", 3)) { - case 'C': - arguments->flags.tokenize_comments = true; - break; - case 'L': - arguments->flags.lexer_output = arg; - break; - case ARGP_KEY_ARG: - arguments->filenames = &state->argv[state->next - 1]; - arguments->nr_filenames = state->argc - state->next + 1; - state->next = state->argc; - break; - case ARGP_KEY_END: - if (state->arg_num < 1) - argp_usage (state); - break; - default: - return ARGP_ERR_UNKNOWN; + invert = false; + arg += 3; } - return 0; + if (!strcmp (arg, "tokenize-comments")) + { + args->parse_flags.tokenize_comments = invert; + is_valid_flag = true; + } + return is_valid_flag; +} + +static error_t +parse_opt (int key, char* arg, struct argp_state* state) +{ + struct compilation_args* arguments = state->input; + switch (key) + { + case ARGP_KEY_ARG: + arguments->filenames = &state->argv[state->next - 1]; + arguments->nr_filenames = (uint32_t)(state->argc - state->next) + 1; + state->next = state->argc; + break; + case 'W': + if (arg == NULL) + argp_error (state, "The -W flag requires a valid warning specifier"); + if (!parse_warning_opt (arguments, arg)) + argp_error (state, "Unknown warning specifier \"%s\"", arg); + break; + case 'C': + if (arg == NULL) + argp_error (state, "The -C flag requires a valid compilation flag specifier"); + if (!parse_compiler_opt (arguments, arg)) + argp_error (state, "Unknown compilation flag \"%s\"", arg); + break; + case ARGP_KEY_END: + if (state->arg_num < 1) + { + argp_usage (state); + exit (EXIT_FAILURE); + } + break; + default: + return ARGP_ERR_UNKNOWN; + } + return 0; +} + +static struct argp argp = { + options, parse_opt, args_doc, doc, NULL, NULL, NULL +}; + +static void +set_default_flags (struct compilation_args* args) +{ + args->parse_flags.tokenize_comments = false; + args->warn_flags.warn_multichar = true; } -static struct argp argp = { options, parse_opt, args_doc, doc }; +#ifdef _DEBUG_PRIMARY +static void +dbg_dump_comp_args (struct compilation_args* args) +{ + log_primary ("Compilation flags:"); + log_primary ("\tTokenize comments? %s", args->parse_flags.tokenize_comments? "Yes": "No"); + log_primary ("Warnings:"); + log_primary ("\tWarn on multi-char. character literals? %s", args->warn_flags.warn_multichar? "Yes": "No"); +} +#endif int main (int argc, char **argv) { - struct arguments args = { 0 }; + struct compilation_args args = { 0 }; + set_default_flags (&args); argp_parse (&argp, argc, argv, 0, 0, &args); - - auto tokenizer = new_object(tokenizer_t); - auto parser = new_object(parser_t); - tokenizer->set_flags (&args.flags); - +#ifdef _DEBUG_PRIMARY + dbg_dump_comp_args (&args); +#endif + log_verbose ("Read in " CTEXT (BWHITE, "%zu") " filename(s):", args.nr_filenames); + /* will be DCO'd during opt-passes */ + for (size_t i = 0; i < args.nr_filenames; ++i) + log_verbose ("%zu. " CTEXT (BWHITE, "%s"), i, args.filenames[i]); + auto lexer = lex_ctx_new (&args); for (size_t i = 0; i < args.nr_filenames; ++i) { - thunk_unwrap (tokenizer->load_file (args.filenames[i]), - { - file_exception * ctx = base_exc; - ucc_error ("'%s': %s (%s)\n", argv[i], ctx->msg, - strerror (ctx->errcode)); - }, + auto fptr = io_open_file (args.filenames[i], "r"); + if (fptr != NULL) { - ucc_log ("loaded '%s' as translation unit OK\n", argv[i]); - tokenizer->tokenize (result->val); - parser->parse_unit (result->val); + lex_ctx_load_file (lexer, fptr, args.filenames[i]); + io_close_file (fptr); } - ); } + auto nr_errors = lex_ctx_process (lexer); + auto tokenizer = tkn_new (lexer); + if (nr_errors > 0) + { + log_primary ("encountered %" PRIu64 " error(s) during lexing, exiting", + nr_errors); + goto finalize; + } - free_object (parser); - free_object (tokenizer); +finalize: + tkn_free (tokenizer); + lex_ctx_free (lexer); +#ifdef _DEBUG_MEMORY + dbg_mem_dump_stats (); +#endif return EXIT_SUCCESS; } diff --git a/src/map.c b/src/map.c deleted file mode 100755 index 6c1d8e2..0000000 --- a/src/map.c +++ /dev/null @@ -1,269 +0,0 @@ -#include "map.h" -#include "common.h" -#include "thunk.h" - -#include -#include -#include -#include -#include - -#define SHOULD_RESIZE(self) ( \ - (float)(thunk_private_attr ((self), nr_collisions)) \ - > thunk_public_attr((self), capacity) * 0.5 \ - ) || (thunk_public_attr ((self), size) \ - > (float)(thunk_public_attr ((self), capacity) \ - * (REALLOCATION_THRESHOLD / 100.0)) \ - ) -#define REALLOC_CAPACITY(self) \ - (thunk_public_attr((self), capacity) \ - * thunk_private_attr(self, realloc_mult)) - - -const size_t primes[] = { - 17, 37, 67, 131, 257, 521, 1031, 2053, 4099, 8209, 16387, 32771, - 65537, 131101, 262147, 524309, 1048583, 2097169, 4194319, 8388617, 16777259, - 33554467, 67108879, 134217757, 268435459, 536870923, 1073741827, 2147483659, - 4294967311, 8589934609, 17179869209, 34359738421, 68719476767, 137438953481, - 274877906951, 549755813911, 1099511627791, 2199023255579, 4398046511117, - 8796093022237, 17592186044423, 35184372088891, 70368744177679, - 140737488355333, 281474976710677, 562949953421381, 1125899906842627, - 2251799813685269, 4503599627370517, 9007199254740997, 18014398509481951, - 36028797018963913, 72057594037927931, 144115188075855871, 288230376151711813, - 576460752303423619, 1152921504606847009, 2305843009213693951, - 4611686018427387847, 9223372036854775783 -}; - -size_t -rand_lim (size_t limit) -{ - size_t divisor = RAND_MAX / (limit + 1); - size_t ret; - do - { - ret = rand () / divisor; - } while (ret > limit); - return ret; -} - -size_t -select_prime (size_t size) -{ - size_t idx = min (sizeof (primes) - 1, max (log (size) / log (2) - 1, 0)); - return primes[idx]; -} - -struct hash_parameters -generate_parameters (size_t size) -{ - srand (time (0)); - size_t p = select_prime (size), - a = rand_lim (p - 1) + 1, - b = rand_lim (p - 1); - return (struct hash_parameters) { .a = a, .b = b, .p = p}; -} - -__attribute__((nonnull)) -hash_t -generate_hash (const struct hash_parameters* params, const char* key) -{ - hash_t hash = 0; - size_t c; - while ((c = *key++)) - hash = c + (hash << 6) + (hash << 16) - hash; - return (params->a * hash + params->b) % params->p; -} - -declare_thunk_method(map_t, alloc_sized_slots)(thunk_self_ty(map_t) self, - size_t size) -{ - auto slots = calloc (size, sizeof (struct map_slot)); - if (slots == NULL) - { - thunk_exception_struct({}) exc = { .msg = "calloc() failed" }; - return thunk_error_t(map_t, alloc_sized_slots, exc); - } - thunk_public_attr(self, capacity) = size; - auto params = generate_parameters (size); - thunk_private_attr(self, params).a = params.a; - thunk_private_attr(self, params).b = params.b; - thunk_private_attr(self, params).p = params.p; - return thunk_result_t(map_t, alloc_sized_slots, slots); -} - -void -free_slots (thunk_self_ty(map_t) self) -{ - if (!thunk_private_attr(self, nr_collisions)) - goto no_collisions; - for (size_t i = thunk_private_attr(self, nr_collisions), j = 0; i > 0; ++j) - { - auto entry = &thunk_public_attr(self, slots)[j]; - if (!entry->in_use) - continue; - if (entry->next == NULL) - continue; - entry = entry->next; - map_slot_t coll; - while ((coll = entry->next) != NULL) - { - free (entry); - entry = coll; - --i; - } - free (entry); - --i; - } -no_collisions: - free (thunk_public_attr(self, slots)); -} - -declare_thunk_method(map_t, maybe_resize)(thunk_self_ty(map_t) self) -{ - if (thunk_private_attr(self, disable_resize)) - return thunk_result_t(map_t, maybe_resize, false); - if (!SHOULD_RESIZE(self)) - return thunk_result_t(map_t, maybe_resize, false); - - auto old_slots = thunk_public_attr(self, slots); - map_slot_t new_slots = thunk_unwrap ( - self->alloc_sized_slots (REALLOC_CAPACITY(self)), - { - thunk_base_exception_t exc = base_exc; - ucc_error ("failed to reallocate memory, (%s)\n", exc->msg); - exit (EXIT_FAILURE); - }, { - ucc_log ("successfully resized map capacity to %zu\n", - REALLOC_CAPACITY(self)); - } - ); - thunk_public_attr(self, slots) = new_slots; - for (size_t i = 0; i < thunk_public_attr(self, capacity) - && thunk_public_attr(self, size) > 0; ++i) - { - auto entry = &old_slots[i]; - if (!entry->in_use) - continue; - do - { - self->set (entry->key, entry->value); - } while ((entry = entry->next)); - } - thunk_public_attr(self, slots) = old_slots; - free_slots (self); - thunk_public_attr(self, slots) = new_slots; - thunk_public_attr(self, capacity) = REALLOC_CAPACITY(self); - return thunk_result_t(map_t, maybe_resize, true); -}; - -declare_thunk_method(map_t, get)(thunk_self_ty(map_t) self, const char* key) -{ - auto hash = generate_hash (&thunk_private_attr(self, params), key); - auto entry = &thunk_public_attr(self, slots)[ - hash % thunk_public_attr(self, capacity)]; - - if (__builtin_expect (entry->hash == hash, 1)) - return entry->value; - if (entry->next == NULL) - return NULL; - if (!thunk_private_attr(self, nr_collisions)) - return NULL; - while ((entry = entry->next)) - if (entry->hash == hash) - return entry->value; - return NULL; -} - -declare_thunk_method(map_t, set)(thunk_self_ty(map_t) self, const char* key, - void* val) -{ - auto hash = generate_hash (&thunk_private_attr(self, params), key); - auto entry = &thunk_public_attr(self, slots)[ - hash % thunk_public_attr(self, capacity)]; - if (__builtin_expect (entry->in_use == false, 1)) - { - entry->hash = hash; - entry->key = key; - entry->value = val; - entry->in_use = true; - thunk_public_attr(self, size)++; - goto maybe_resize; - } - if (!strncmp (key, entry->key, strlen (entry->key))) - return NULL; - while (entry->next != NULL) - entry = entry->next; - map_slot_t slot = calloc (1, sizeof (struct map_slot)); - slot->hash = hash; - slot->key = key; - slot->value = val; - slot->in_use = true; - entry->next = slot; - thunk_private_attr(self, nr_collisions)++; - entry = slot; -maybe_resize: - self->maybe_resize (); - return self->get (key); -} - -declare_thunk_method(map_t, remove)(thunk_self_ty(map_t) self, - const char* key) -{ - auto hash = generate_hash (&thunk_private_attr(self, params), key); - auto entry = &thunk_public_attr(self, slots)[ - hash % thunk_public_attr(self, capacity)]; - - if (__builtin_expect (!entry->in_use, 0)) - return false; - - if (entry->hash == hash) - { - memset (entry, 0, sizeof (struct map_slot)); - if (entry->next == NULL) - { - --thunk_public_attr(self, size); - return true; - } - memcpy (entry, entry->next, sizeof (struct map_slot)); - free (entry->next); - --thunk_private_attr(self, nr_collisions); - return true; - } - - assert (entry->next != NULL && "map_remove() sanity check #1 failed"); - - for (map_slot_t curr = entry->next; curr;) - { - if (curr->hash == hash) - { - entry->next = curr->next; - --thunk_private_attr(self, nr_collisions); - free (curr); - return true; - } - entry = curr; - curr = curr->next; - } - - return false; -} - -declare_thunk_initializer(map_t)(thunk_self_ty(map_t) self) -{ - thunk_private_attr(self, realloc_mult) = 2; - thunk_public_attr(self, slots) = thunk_unwrap( - self->alloc_sized_slots(INITIAL_SLOT_ALLOC), { - thunk_base_exception_t exc = base_exc; - ucc_error ("failed to allocate memory, (%s)\n", exc->msg); - exit (EXIT_FAILURE); - }, { - ucc_log ("successfully allocated map with %zu slots\n", - thunk_public_attr(self, capacity)); - } - ); -} - -declare_thunk_finalizer(map_t)(thunk_self_ty(map_t) self) -{ - free_slots (self); -} diff --git a/src/parser.c b/src/parser.c deleted file mode 100644 index 6df4a9a..0000000 --- a/src/parser.c +++ /dev/null @@ -1,87 +0,0 @@ -#include "parser.h" -#include "tokenizer.h" -#include "common.h" -#include "grammar.h" -#include "thunk.h" -#include "ast.h" - -#define peek_n_token(tokens, n) \ - ((struct lexeme*)tokens->get (n)) -#define peek_token(tokens) \ - peek_n_token(tokens, 1) -#define next_token_is(tokens, token_ty) \ - (peek_token(tokens)->type == token_ty) -#define next_token_is_not(tokens, token_ty) \ - !next_token_is(tokens, token_ty) - -void -parse_declarator (impln(list_t) tokens) -{ - -} - -void -parse_function_definition (impln(list_t) tokens) -{ - -} - -void -parse_declaration (impln(list_t) tokens) -{ - -} - -void -parse_external_declaration (impln(list_t) tokens) -{ - struct lexeme* lex; - bool is_function_definition = false; - - struct lexeme* declspec; - while (grm_is_decl_specifier (declspec = peek_token(tokens))) - { - printf ("declspec: %.*s\n", declspec->length, declspec->raw); - } - - parse_declarator(tokens); - - lex = peek_token(tokens); - if (lex->type == LeftBrace) - is_function_definition = true; - - if (is_function_definition) - parse_function_definition(tokens); - else - parse_declaration(tokens); - return; -} - -declare_thunk_method(parser_t, parse_unit)(thunk_self_ty(parser_t) self, - struct translation_unit* unit) -{ - thunk_public_attr(self, token_list) = unit->token_stream; - - if (next_token_is(unit->token_stream, EndOfFile)) - { - ucc_info("empty translation unit\n"); - return true; - } - -/* do - { - parse_external_declaration (unit->token_stream); - } while (next_token_is_not(unit->token_stream, EndOfFile)); */ - - return true; -} - -declare_thunk_initializer(parser_t)(thunk_self_ty(parser_t) self) -{ - thunk_public_attr(self, symbol_table) = new_object(map_t); -} - -declare_thunk_finalizer(parser_t)(thunk_self_ty(parser_t) self) -{ - free_object (thunk_public_attr(self, symbol_table)); -} diff --git a/src/richloc.c b/src/richloc.c deleted file mode 100644 index dd66f9b..0000000 --- a/src/richloc.c +++ /dev/null @@ -1,200 +0,0 @@ -#include "richloc.h" -#include "bytestream.h" -#include "list.h" -#include "thunk.h" -#include "common.h" - -#include -#include - -#define select_fp(diagn) \ - (((diagn)->error_ty == CriticalError)? stderr: stdout) - -void -print_status_line (const char* src_path, struct richloc_error* diagn) -{ - auto fp = select_fp(diagn); - - fprintf (fp, CFGBOLDBLACK "%s:%zu:%zu: " CRESET, - src_path, diagn->lex->line_no, diagn->lex->line_offs); - - switch (diagn->error_ty) - { - case CriticalError: - fprintf (fp, CFGBOLDRED "error: " CRESET); - break; - case Warning: - fprintf (fp, CFGYELL "warning: " CRESET); - break; - case Information: - default: - fprintf (fp, CFGBOLDWHITE "info: " CRESET); - break; - } - - fprintf (fp, "%s\n", diagn->message); -} - -void -print_diagnostic (struct richloc_error* diagn) -{ - struct lexeme* lex = diagn->lex; - if (lex->raw == NULL) - return; - - size_t lex_length = lex->length + lex->line_offs, - current_line = lex->line_no; - size_t line_length = 0, - skip_offs = 0; - ssize_t current_offs = lex->line_offs; - - char* current = lex->raw - current_offs; - - char* eol = lex->raw + lex->length; - size_t length_to_eol = 0; - - while (eol[length_to_eol] != '\0' && eol[length_to_eol] != '\n') - length_to_eol++; - - auto fp = select_fp(diagn); - - bool put_creset = false; - - while (lex_length > 0) - { - fprintf (fp, " %*zu | ", 4, current_line); - if (current_offs == -1) - { - fprintf (fp, CFGBOLDRED); - put_creset = false; - } - while (lex_length > 0) - { - if (*current == '\n') - { - if (current_offs == -1) - { - fprintf (fp, CRESET); - put_creset = true; - } - current_line++; - current++; - lex_length--; - break; - } - if (current_offs > 0) - { - skip_offs++; - current_offs--; - } - else if (!current_offs) - { - fprintf (fp, CFGBOLDRED); - put_creset = false; - current_offs = -1; - } - fprintf (fp, "%c", *current); - lex_length--; - if (!lex_length) - { - fprintf (fp, CRESET); - for (; length_to_eol > 0; --length_to_eol) - fprintf (fp, "%c", *++current); - } - line_length++; - current++; - } - if (!put_creset) - fprintf (fp, CRESET); - fprintf (fp, "\n | "); - line_length -= skip_offs; - for (; skip_offs > 0; --skip_offs) - fprintf (fp, " "); - fprintf (fp, CFGBOLDRED "^"); - for (; line_length > 1; --line_length) - fprintf (fp, "~"); - fprintf (fp, CRESET "\n"); - line_length = 0; - } - fprintf (fp, CRESET); - -} - -declare_thunk_method(richloc_ctx_t, show_errors)( - thunk_self_ty(richloc_ctx_t) self) -{ - auto path = thunk_public_attr(self, path); - list_for_each_entry(thunk_public_attr(self, error_list), entry) - { - struct richloc_error* diagn = entry->val; - print_status_line (path, diagn); - print_diagnostic (diagn); - } - return true; -} - -declare_thunk_method(richloc_ctx_t, push)( - thunk_self_ty(richloc_ctx_t) self, struct lexeme* lex, - enum richloc_error_type err_ty, const char* msg) -{ - struct richloc_error* diagnostic - = calloc (1, sizeof (struct richloc_error)); - auto stream = thunk_private_attr(self, stream); - - struct lexeme* copy = calloc (1, sizeof (struct lexeme)); - diagnostic->lex = copy; - diagnostic->message = msg; - diagnostic->error_ty = err_ty; - - if (lex == NULL && stream == NULL) - copy->raw = NULL; - else if (lex == NULL) - { - copy->line_no = thunk_public_attr(stream, line_no); - copy->line_offs = thunk_public_attr(stream, line_offs); - copy->raw = stream->peek (0); - } - else - memcpy (copy, lex, sizeof (struct lexeme)); - - thunk_public_attr(self, error_list)->append (diagnostic); - return true; -} - -declare_thunk_method(richloc_ctx_t, has_errors)( - thunk_self_ty(richloc_ctx_t) self) -{ - return thunk_public_attr(thunk_public_attr(self, error_list), length) > 0; -} - -declare_thunk_method(richloc_ctx_t, set_path)( - thunk_self_ty(richloc_ctx_t) self, const char* path) -{ - thunk_public_attr(self, path) = path; - return true; -} - -declare_thunk_method(richloc_ctx_t, set_stream)( - thunk_self_ty(richloc_ctx_t) self, impln(bytestream_t) stream) -{ - thunk_private_attr(self, stream) = stream; - thunk_public_attr(self, path) = thunk_public_attr(stream, path); - return true; -} - -declare_thunk_initializer(richloc_ctx_t)(thunk_self_ty(richloc_ctx_t) self) -{ - thunk_public_attr(self, error_list) = new_object(list_t); -} - -declare_thunk_finalizer(richloc_ctx_t)(thunk_self_ty(richloc_ctx_t) self) -{ - auto error_list = thunk_public_attr(self, error_list); - list_for_each_entry(error_list, entry) - { - struct richloc_error* err = entry->val; - free (err->lex); - free (entry->val); - } - free_object(error_list); -} diff --git a/src/stdio-ext.c b/src/stdio-ext.c new file mode 100644 index 0000000..c149116 --- /dev/null +++ b/src/stdio-ext.c @@ -0,0 +1,38 @@ +#include "stdio-ext.h" + +#include +#include + +int +fpeek (FILE* stream, long lookahead) +{ + fseek (stream, lookahead, SEEK_CUR); + int c = fgetc (stream); + ungetc (c, stream); + fseek (stream, -lookahead, SEEK_CUR); + return c; +} + +int +fconsume (FILE* stream, long offset) +{ + return fseek (stream, offset, SEEK_CUR); +} + +int +isoctdigit (int ch) +{ + return '0' <= ch && ch <= '7'; +} + +int +isident_f (int ch) +{ + return isalpha (ch) || ch == '$' || ch == '_'; +} + +int +isident (int ch) +{ + return isalnum (ch) || ch == '$' || ch == '_'; +} diff --git a/src/strntol.c b/src/strntol.c deleted file mode 100644 index 0f3d368..0000000 --- a/src/strntol.c +++ /dev/null @@ -1,31 +0,0 @@ -#include "strntol.h" - -#include -#include -#include - -long -strntol (const char* str, size_t sz, char** end, int base) -{ - char buf[24]; - long ret; - const char *beg = str; - - for (; beg && sz && *beg == ' '; beg++, sz--); - - if (!sz || sz >= sizeof (buf)) - { - if (end) - *end = (char *)str; - return 0; - } - - memcpy (buf, beg, sz); - buf[sz] = '\0'; - ret = strtol (buf, end, base); - if (ret == LONG_MIN || ret == LONG_MAX) - return ret; - if (end) - *end = (char *)beg + (*end - buf); - return ret; -} diff --git a/src/thunk.c b/src/thunk.c deleted file mode 100755 index 3b16daa..0000000 --- a/src/thunk.c +++ /dev/null @@ -1,52 +0,0 @@ -#include "thunk.h" - -#include -#include -#include - -__attribute__((naked, section("thunk_stub"))) -void -base_thunk_function() -{ - asm ( - "1:lea 1b(%%rip), %%rax\n\t" - "subq %0, %%rax;\n\t" - "mov %%r8, %%r9;\n\t" - "mov %%rcx, %%r8;\n\t" - "mov %%rdx, %%rcx;\n\t" - "mov %%rsi, %%rdx;\n\t" - "mov %%rdi, %%rsi;\n\t" - "add %1, %%rax;\n\t" - "mov (%%rax), %%rdi;\n\t" - "add %2, %%rax;\n\t" - "jmp *(%%rax);\n\t" - :: "i" (sizeof (struct impln(thunk))), - "i" (offsetof (struct impln(thunk), self)), - "i" (offsetof (struct impln(thunk), target) - offsetof (struct impln(thunk), self)) - : "rax", "rdi", "rsi", "rdx", "rcx", "r8", "r9" - ); -} - -void -create_thunk (void **dest_thunk, void *base_thunk, void *self) -{ - int stub_size = (char *)&__stop_thunk_stub - (char *)&__start_thunk_stub; - size_t alloc_size = sizeof (struct impln(thunk)) + stub_size; - struct impln(thunk)* new_thunk; - posix_memalign ((void **)&new_thunk, getpagesize (), alloc_size); - mprotect (new_thunk, alloc_size, PROT_READ | PROT_EXEC | PROT_WRITE); - new_thunk->self = self; - new_thunk->target = base_thunk; - *dest_thunk = memcpy (new_thunk->code, &__start_thunk_stub, stub_size); -} - -void -initialize_thunks (struct impln (offsets) *base) -{ - size_t nr_methods = (base->methods.end - base->methods.start) - / sizeof (void *); - void **base_methods = base->base_methods, - **thunk_methods = base->methods.start; - for (size_t i = 0; i < nr_methods; ++i) - create_thunk (&thunk_methods[i], base_methods[i], base); -} diff --git a/src/tokenizer.c b/src/tokenizer.c old mode 100755 new mode 100644 index c44a024..0f64559 --- a/src/tokenizer.c +++ b/src/tokenizer.c @@ -1,1138 +1,43 @@ -#include "common.h" -#include "grammar.h" -#include "list.h" -#include "strntol.h" -#include "thunk.h" #include "tokenizer.h" -#include "richloc.h" -#include "lex-dump.h" +#include "generic.h" +#include "array.h" -#include -#include -#include -#include -#include - -#define copy_lexeme_into_heap(src) \ - ({ \ - struct lexeme* ret = calloc (1, sizeof (struct lexeme)); \ - memcpy (ret, &(src), sizeof (struct lexeme)); \ - ret; \ - }) - -#define try_append_lexeme(list, val_) \ - { \ - auto val = val_; \ - if (val != NULL) \ - (list)->append (val); \ - } - -#define create_lexeme(stream, type_, length_) \ - ({ \ - struct lexeme lex = { \ - .type = type_, \ - .raw = (stream)->peek (0), \ - .length = length_, \ - .line_no = thunk_public_attr(stream, line_no), \ - .line_offs = thunk_public_attr(stream, line_offs), \ - }; \ - lex; \ - }) - -#define consume_single_lexeme(list, stream, type_) \ - { \ - struct lexeme lex = create_lexeme(stream, type_, 1); \ - (list)->append (copy_lexeme_into_heap (lex)); \ - (stream)->consume (1); \ - } - -static impln(richloc_ctx_t) richloc_ctx; - -bool -is_lex_sep (char c) -{ - return isspace (c) || c == ';'; -} - -bool -is_identifier (char c) -{ - return isalnum (c) || c == '$' || c == '_'; -} - -bool -quoted_raw_strlen (impln(bytestream_t) stream, char** end, char quote) -{ - size_t prefix_length = 0, length = 0; - char* current = stream->peek (0); - while (current != NULL && (current = stream->peek (prefix_length + 1))) - { - length++; - if (*current == '(') - break; - if (!isalnum (*current)) - { - if (isspace (*current)) - { - richloc_ctx->push ( - NULL, CriticalError, - "whitespace/new-line in raw-string delimiter"); - return false; - } - richloc_ctx->push ( - NULL, CriticalError, - "non-alphanumeric character in raw-string delimiter"); - return false; - } - prefix_length++; - } - - if (current == NULL) - { - richloc_ctx->push (NULL, CriticalError, - "expected prefix in raw-string"); - *end = stream->peek (prefix_length - 2); - return false; - } - - char* prefix_start = stream->peek (1); - bool terminated = false; - - while (current != NULL && (current = stream->peek (length))) - { - char* next = stream->peek (length + 1); - if (next != NULL && *current == ')' - && !strncmp (next, prefix_start, prefix_length) - && *(char *)stream->peek (length + prefix_length + 1) == quote) - { - length += prefix_length; - terminated = true; - break; - } - length++; - } - - if (!terminated) - { - richloc_ctx->push (NULL, CriticalError, "unterminated raw-string"); - *end = stream->peek (length - 2); - return false; - } - ucc_log ("RawString(%zu bytes) with prefix '%.*s'\n", - length, prefix_length, prefix_start); - *end = stream->peek (length + 1); - return true; -} - -bool -quoted_strlen (impln(bytestream_t) stream, char** end, char quote, - bool is_raw) -{ - if (is_raw) - return quoted_raw_strlen (stream, end, quote); - - size_t length = 1; - char *current = stream->peek (0), - *start = stream->peek (0), - *next = stream->peek (0); - while (current != NULL && (current = stream->peek (length++))) - { - next = stream->peek (length); - if (next != NULL && *current == '\\' && *next == quote) - { - length++; - continue; - } - if (*current == quote) - { - *end = current; - return true; - } - } - richloc_ctx->push (NULL, CriticalError, - "unterminated string/character literal"); - *end = stream->peek (length - 2); - return false; -} - -impln(bytestream_t) -new_bytestream (void* data, size_t size, size_t length) -{ - auto stream = new_object(bytestream_t); - thunk_public_attr(stream, data) = data; - thunk_public_attr(stream, size) = size; - thunk_public_attr(stream, length) = length; - return stream; -} - -declare_thunk_method(tokenizer_t, load_file) ( - thunk_self_ty(tokenizer_t) self, const char* const path) -{ -#define FILE_MEMBSIZE (sizeof (char)) - auto fp = fopen (path, "r"); - if (fp == NULL) - { - file_exception exc = {.msg = "fopen() failed",.errcode = errno }; - return thunk_error_t(tokenizer_t, load_file, exc); - } - - struct translation_unit* tru = calloc (1, sizeof (struct translation_unit)); - tru->io.path = path; - - fseek (fp, 0, SEEK_END); - auto file_size = ftell (fp); - rewind (fp); - - char* data = calloc (file_size + 1, FILE_MEMBSIZE); - auto nread = fread (data, sizeof (char), file_size, fp); - assert (nread == file_size / FILE_MEMBSIZE); - fclose (fp); - - tru->io.stream = new_bytestream (data, FILE_MEMBSIZE, file_size); - thunk_public_attr(tru->io.stream, path) = path; - ucc_log("%s: created bytestream (%zu bytes)\n", path, nread); - auto tr = thunk_public_attr(self, context).translation_units->append (tru); - return thunk_result_t(tokenizer_t, load_file, tr); -} - -struct lexeme* -consume_integer_suffix (struct lexeme* constant, - impln(bytestream_t) stream) -{ -#define SET_SUFFIX(lexeme, ctx, type, unsigned) \ - { \ - (lexeme)->ctx_for.ctx.suffix = type; \ - (lexeme)->ctx_for.ctx.is_unsigned = unsigned; \ - } - - char *current; - size_t suffix_length = 0; - - while ((current = stream->peek (constant->length + suffix_length)) - != NULL && isalpha (*current)) - suffix_length++; - - char* start_suffix = stream->peek (constant->length); - SET_SUFFIX(constant, integer_constant, NoIntegerSuffix, false); - - if (!strncasecmp (start_suffix, "ull", suffix_length) - || !strncasecmp (start_suffix, "llu", suffix_length)) - { - SET_SUFFIX(constant, integer_constant, LongLongSuffix, true); - } - else if (!strncasecmp (start_suffix, "ul", suffix_length) - || !strncasecmp (start_suffix, "lu", suffix_length)) - { - SET_SUFFIX(constant, integer_constant, LongSuffix, true); - } - else if (!strncasecmp (start_suffix, "l", suffix_length)) - { - SET_SUFFIX(constant, integer_constant, LongSuffix, false); - } - else if (!strncasecmp (start_suffix, "u", suffix_length)) - { - SET_SUFFIX(constant, integer_constant, NoIntegerSuffix, true); - } - else - { - richloc_ctx->push (constant, CriticalError, - "invalid suffix for integer"); - } - ucc_log ("Number(%.*s) [suffix: '%.*s']\n", constant->length, - stream->peek (0), suffix_length, start_suffix); - stream->consume (constant->length + suffix_length); - return copy_lexeme_into_heap(*constant); -} - -bool -consume_floating_suffix (impln(bytestream_t) stream, struct lexeme* lex) -{ - size_t start = lex->length; - char *current = stream->peek (lex->length++); - size_t suffix_length = 1; - - if (tolower (*current) == 'f') - lex->ctx_for.floating_constant.suffix = FloatSuffix; - else if (tolower (*current) == 'l') - lex->ctx_for.floating_constant.suffix = LongDoubleSuffix; - - while (current != NULL && (current = stream->peek (lex->length++))) - { - if (!isalnum (*current)) - break; - suffix_length++; - } - lex->length--; - - if (suffix_length != 1) - { - richloc_ctx->push (lex, CriticalError, - "invalid suffix on floating constant"); - return false; - } - - char suffix = *(char *)(stream->peek (lex->length) - suffix_length); - if (suffix == 'f') - lex->ctx_for.floating_constant.suffix = FloatSuffix; - else if (suffix == 'l') - lex->ctx_for.floating_constant.suffix = LongDoubleSuffix; - else - { - richloc_ctx->push (lex, CriticalError, - "unknown suffix on floating constant"); - return false; - } - - ucc_log("Parsed float suffix (%zu bytes): '%.*s'\n", - suffix_length, - suffix_length, stream->peek (lex->length) - suffix_length); - return true; -} - -bool -consume_number_exponent (impln(bytestream_t) stream, struct lexeme* lex) -{ - char *current = stream->peek (lex->length++), - *next = stream->peek (lex->length); - size_t exp_length = 1; - - if (next && (*next == '+' || *next == '-')) - { - lex->length++; - exp_length++; - } - - while (current != NULL && (current = stream->peek (lex->length))) - { - if (!isdigit (*current)) - break; - lex->length++; - exp_length++; - } - - if (lex->length - 1 == 1) - { - richloc_ctx->push (lex, CriticalError, "expected numeric exponent"); - return false; - } - ucc_log("Parsed exponent (%zu bytes): %.*s\n", - exp_length, exp_length, stream->peek (lex->length - exp_length)); - return true; -} - -struct lexeme* -consume_hex_floating_number (impln(bytestream_t) stream) -{ - struct lexeme lex = create_lexeme(stream, FloatingConstant, 2); - lex.ctx_for.floating_constant.base = HexadecimalFloatingConstant; - - char* current = stream->peek (0); - bool has_exponent = false; - - while (current != NULL && (current = stream->peek (lex.length))) - { - if (!has_exponent && tolower (*current) == 'p') - { - if (!consume_number_exponent (stream, &lex)) - { - stream->consume (lex.length); - return NULL; - } - has_exponent = true; - continue; - } - if (has_exponent && isalpha (*current)) - { - if (!consume_floating_suffix (stream, &lex)) - { - stream->consume (lex.length); - return NULL; - } - break; - } - else if (*current != '.' && !isxdigit (*current)) - break; - lex.length++; - } - - ucc_log("HexFloat(%zu bytes): '%.*s'\n", lex.length, lex.length, lex.raw); - stream->consume (lex.length); - return copy_lexeme_into_heap (lex); -} - -struct lexeme* -consume_floating_number (impln(bytestream_t) stream) -{ - struct lexeme lex = create_lexeme(stream, FloatingConstant, 0); - lex.ctx_for.floating_constant.base = DecimalFloatingConstant; - - char* current = stream->peek (0); - bool has_exponent = false; - - while (current != NULL && (current = stream->peek (lex.length))) - { - if (!has_exponent && tolower (*current) == 'e') - { - if (!consume_number_exponent (stream, &lex)) - { - stream->consume (lex.length); - return NULL; - } - has_exponent = true; - continue; - } - if (isalpha (*current)) - { - if (!consume_floating_suffix (stream, &lex)) - { - stream->consume (lex.length); - return NULL; - } - break; - } - else if (*current != '.' && !isdigit (*current)) - break; - lex.length++; - } - - ucc_log("Float(%zu bytes): '%.*s'\n", lex.length, lex.length, lex.raw); - stream->consume (lex.length); - return copy_lexeme_into_heap (lex); -} - -struct lexeme* -consume_hexadecimal_number (impln(bytestream_t) stream) -{ - struct lexeme hex = create_lexeme(stream, IntegerConstant, 2); - hex.ctx_for.integer_constant.base = HexadecimalConstant; - - char* current; - while ((current = stream->peek (hex.length)) != NULL - && isxdigit (*current)) - hex.length++; - - if (current && *current == '.') - return consume_hex_floating_number (stream); // :( - if (current && isalpha (*current)) - return consume_integer_suffix (&hex, stream); - - stream->consume (hex.length); - return copy_lexeme_into_heap (hex); -} - -struct lexeme* -consume_octal_number (impln(bytestream_t) stream) -{ - struct lexeme octal = create_lexeme(stream, IntegerConstant, 1); - octal.ctx_for.integer_constant.base = OctalConstant; - - char *current; - bool maybe_decimal = false; - while ((current = stream->peek (octal.length)) != NULL - && isdigit (*current)) - { - if (*current > '7') - maybe_decimal = true; - octal.length++; - } - - ucc_log ("lexed octal (%s) '%.*s'\n", maybe_decimal? "maybe": "definitely", - octal.length, stream->peek (0)); - - if (maybe_decimal) - { - /* OctalDigits '.' DigitSequence FloatSuffix? - * is coerced into a DecimalFloatingConstant - * on GCC - */ - if (current == NULL || *current != '.') - { - richloc_ctx->push (&octal, CriticalError, "invalid digit in octal"); - } - else - return consume_floating_number (stream); - } - - if (current && isalpha (*current)) - return consume_integer_suffix (&octal, stream); - - stream->consume (octal.length); - return copy_lexeme_into_heap (octal); -} - -struct lexeme* -consume_number (impln(bytestream_t) stream) -{ - char *current = stream->peek (0), - *next = stream->peek (1); - - if (next != NULL && tolower (*next) == 'x') - return consume_hexadecimal_number (stream); - if (*current == '0' && (next != NULL && isdigit (*next))) - return consume_octal_number (stream); - if (*current == '.' || (next != NULL && *next == '.')) - return consume_floating_number (stream); - - struct lexeme decimal_constant = create_lexeme(stream, IntegerConstant, 0); - decimal_constant.ctx_for.integer_constant.base = DecimalConstant; - - while ((current = stream->peek (decimal_constant.length)) != NULL) - { - if (!isdigit (*current)) - { - if (*current == '.') - return consume_floating_number (stream); - if (isalpha (*current)) - return consume_integer_suffix (&decimal_constant, stream); - break; - } - decimal_constant.length++; - } - ucc_log("Number(%.*s)\n", decimal_constant.length, decimal_constant.raw); - stream->consume (decimal_constant.length); - return copy_lexeme_into_heap(decimal_constant); -} - -struct strchr_prefix +struct token { - enum strchr_encoding encoding; - size_t length; - bool is_raw; + lexeme_t lexeme; }; -struct lexeme* -consume_comment (impln(bytestream_t) stream) -{ - struct lexeme lex = create_lexeme(stream, BlockComment, 2); - - char *current = stream->peek (0), - *next = stream->peek (1); - - if (*next == '/') - { - stream->consume (2); - lex.length += stream->consume_until ("\n"); - ucc_log("BlockComment(%zu bytes)\n", lex.length); - return copy_lexeme_into_heap(lex); - } - - /* assume multiline comment */ - while ((current = stream->peek (lex.length)) != NULL) - { - next = stream->peek (++lex.length); - if (*current == '*' && *next == '/') - { - lex.length++; - break; - } - } - - if (current == NULL) - { - richloc_ctx->push (&lex, CriticalError, "unterminated comment"); - stream->consume (lex.length); - return NULL; - } - - ucc_log("MultiComment(%zu bytes)\n", lex.length); - stream->consume (lex.length); - return copy_lexeme_into_heap (lex); -} - -char* -clone_raw_escaped_sequence (char* start, size_t* out_length, size_t length) +struct tkn_impl { - for (; *start != '('; ++start) - length--; - start++; - for (; start[length] != ')'; length--); - char* alloc = calloc (length + 1, sizeof (char)); - *out_length = length; - memcpy (alloc, start, length); - return alloc; -} - -char* -clone_escaped_sequence (char* start, size_t* out_length, size_t length, - bool is_raw) -{ - if (is_raw) - return clone_raw_escaped_sequence (start, out_length, length); - char* alloc = calloc (length + 1, sizeof (char)); - size_t dst_i = 0; - for (size_t i = 0; i < length; ++i) - { - char src_char = start[i]; - if (src_char == '\\') - { - if (i + 1 >= length) - { - richloc_ctx->push (NULL, CriticalError, - "stray '\\' in string/character"); - free (alloc); - return NULL; - } - switch (start[i + 1]) - { - #define SET_ALLOC_CASE(c, to) \ - case c: alloc[dst_i++] = to; i++; break; - SET_ALLOC_CASE('\'', '\''); - SET_ALLOC_CASE('"', '"'); - SET_ALLOC_CASE('?', '?'); - SET_ALLOC_CASE('a', '\a'); - SET_ALLOC_CASE('n', '\n'); - SET_ALLOC_CASE('f', '\f'); - SET_ALLOC_CASE('b', '\b'); - SET_ALLOC_CASE('r', '\r'); - SET_ALLOC_CASE('t', '\t'); - SET_ALLOC_CASE('v', '\v'); - SET_ALLOC_CASE('\\', '\\'); - case 'x': - { - char* hex_end = &start[i + 2]; - size_t seq_length = 0; - while (isxdigit (*hex_end)) - { - hex_end++; - seq_length++; - } - hex_end -= min(2, seq_length); - alloc[dst_i++] - = (char)strntol (hex_end, min(2, seq_length), NULL, 16); - i += seq_length + 1; - break; - } - case '0' ... '7': - { - char* octal_end = &start[i + 1]; - size_t octal_length; - for (octal_length = 0; octal_length < 3; ++octal_length) - { - if (*octal_end < '0' || *octal_end > '7') - break; - octal_end++; - } - alloc[dst_i++] = strntol ( - octal_end - octal_length, octal_length, NULL, 8); - i += octal_length; - break; - } - default: - richloc_ctx->push (NULL, CriticalError, "unknown escape sequence"); - free (alloc); - return NULL; - } - } - else - { - alloc[dst_i++] = src_char; - } - } - *out_length = dst_i; - return alloc; -} - -struct lexeme* -consume_string (impln(bytestream_t) stream, struct strchr_prefix* prefix) -{ - if (stream->peek (1) == NULL) - { - richloc_ctx->push (NULL, CriticalError, - "unterminated string/character literal"); - return NULL; - } - - char quote_ty = *(char *)stream->peek (0); - char *start = stream->peek (0), *end; - - if (!quoted_strlen(stream, &end, quote_ty, - (prefix != NULL)? prefix->is_raw: false)) - { - stream->consume (end - start + 1); - return NULL; - } - - size_t length = end - start + 1; - - struct lexeme lex = create_lexeme( - stream, (quote_ty == '"')? StringConstant: CharacterConstant, length - 2); - lex.raw = start + 1; - lex.ctx_for.character_constant.encoding - = (prefix != NULL)? prefix->encoding: Ordinary; - - if (quote_ty == '\'') - { - if (!(length - 2)) - { - lex.raw--; - lex.length += 2; - richloc_ctx->push (&lex, CriticalError, "empty character constant"); - stream->consume (length); - return NULL; - } - lex.ctx_for.character_constant.encoding - = (prefix != NULL)? prefix->encoding: Ordinary; - size_t* esc_length = &lex.ctx_for.character_constant.length; - lex.ctx_for.character_constant.escaped - = clone_escaped_sequence (start + 1, esc_length, length - 2, false); - char* escaped = lex.ctx_for.character_constant.escaped; - if (escaped != NULL) - ucc_log("EscapedCharacter(%zu bytes): '%.*s'\n", - *esc_length, *esc_length, escaped); - } - else - { - lex.ctx_for.string_constant.encoding - = (prefix != NULL)? prefix->encoding: Ordinary; - lex.ctx_for.string_constant.is_raw - = (prefix != NULL)? prefix->is_raw: false; - size_t* esc_length = &lex.ctx_for.string_constant.length; - lex.ctx_for.string_constant.escaped - = clone_escaped_sequence (start + 1, esc_length, length - 2, - lex.ctx_for.string_constant.is_raw); - char* escaped = lex.ctx_for.string_constant.escaped; - if (escaped != NULL) - ucc_log("EscapedString(%zu bytes): '%.*s'\n", - *esc_length, *esc_length, escaped); - } - ucc_log("%s(%zu bytes): %.*s\n", - (quote_ty == '\'')? "Character": "String", - length, length, stream->peek (0)); - stream->consume (length); - return copy_lexeme_into_heap (lex); -} - -struct strchr_prefix -maybe_get_strchar_encoding (impln(bytestream_t) stream, size_t length, - bool is_char) -{ - char *current = stream->peek (0), - *next = stream->peek (1); - struct strchr_prefix prefix = { - .encoding = Ordinary, - .is_raw = false - }; - - if (is_char) - { - if (length != 1) - return prefix; - if (*current == 'L') - prefix.encoding = WideEncoding; - else if (*current == 'u') - prefix.encoding = Utf16Encoding; - else if (*current == 'U') - prefix.encoding = Utf32Encoding; - prefix.length = 1; - return prefix; - } - - if (strchr ("uULR", *current) == NULL) - return prefix; - - size_t index = 0; - prefix.length++; - - switch (*current) - { - case 'u': - prefix.encoding = Utf16Encoding; - index++; - if (next && *next == '8') - { - prefix.encoding = Utf8Encoding; - index++; - } - break; - case 'U': - prefix.encoding = Utf32Encoding; - index++; - break; - case 'L': - prefix.encoding = WideEncoding; - index++; - break; - case 'R': - prefix.is_raw = true; - return prefix; - } - - next = stream->peek (index); - if (next && *next == 'R') - { - prefix.is_raw = true; - prefix.length++; - } - - return prefix; -} + lexer_t lexer; + array_t tokens; +}; void -identify_identifier (impln(bytestream_t) stream, struct lexeme* lex) -{ - lex->ctx_for.identifier.is_keyword = grm_is_keyword (lex); - lex->ctx_for.identifier.is_type_qual = grm_is_type_qualifier (lex); - lex->ctx_for.identifier.is_type_spec = grm_is_type_specifier(lex); - lex->ctx_for.identifier.is_func_spec = grm_is_function_specifier(lex); -} - -struct lexeme* -consume_identifier (impln(bytestream_t) stream) -{ - size_t length = 1; - char* current = stream->peek (length); - - while (current && is_identifier (*current)) - current = stream->peek (++length); - - if (current && (*current == '\'' || *current == '"')) - { - auto suffix = maybe_get_strchar_encoding(stream, length, - *current == '\''); - ucc_log("string prefix parsing\n"); - if (suffix.encoding != Ordinary || suffix.is_raw) - { - stream->consume (suffix.length); - return consume_string (stream, &suffix); - } - } - - struct lexeme ident = create_lexeme(stream, Identifier, length); - - identify_identifier (stream, &ident); - ucc_log("Identifier(%.*s)\n", length, ident.raw); - - stream->consume (length); - return copy_lexeme_into_heap(ident); -} - -struct lexeme* -consume_directive (impln(bytestream_t) stream) +tkn_free (tkn_t self) { - ucc_info("Preprocessor directives are not supported in parsing\n"); - struct lexeme lex = create_lexeme(stream, PreprocessorDirective, 0); - char *current = stream->peek (0), - *next = stream->peek (1); - - while (current != NULL && (current = stream->peek (lex.length))) - { - lex.length++; - next = stream->peek (lex.length); - if (next != NULL && *current != '\\' && *next == '\n') - break; - } - ucc_log ("Directive(%zu bytes) '%.*s'\n", lex.length, min(16, lex.length), - lex.raw); - stream->consume (lex.length); - return copy_lexeme_into_heap(lex); + log_verbose ("freeing tokenizer: %p", fmt_ptr (self)); + chk_free (self); } -impln(list_t) -lex_translation_unit (thunk_self_ty(tokenizer_t) self, - struct translation_unit* unit) +static void +tkn_process_impl (tkn_t self, array_t lexemes) { -#define SINGLE_LEXEME_CASE(c, type) \ - case c: consume_single_lexeme(lexemes, stream, type); break; -#define MULTI_LEXEME_CASE(c1, c2, type_, suffix) \ - case c1: \ - { \ - struct lexeme lex = create_lexeme(stream, type_, 1); \ - if (next && *next == c2) \ - { \ - lex.type = type_ ## suffix; \ - lex.length++; \ - } \ - lexemes->append (copy_lexeme_into_heap (lex)); \ - stream->consume (lex.length); \ - break; \ - } - - auto stream = unit->io.stream; - auto lexemes = new_object(list_t); - richloc_ctx->set_stream (stream); - char *chr, *next, *next2; - - while ((chr = stream->peek (0)) != NULL) - { - next = stream->peek (1); - next2 = stream->peek (2); - - switch (*chr) - { - case '\t': - case '\v': - case '\r': - case ' ': - stream->consume (1); - break; - - SINGLE_LEXEME_CASE('\n', NewLine); - SINGLE_LEXEME_CASE(';', Semi); - SINGLE_LEXEME_CASE('(', LeftParen); - SINGLE_LEXEME_CASE(')', RightParen); - SINGLE_LEXEME_CASE('{', LeftBrace); - SINGLE_LEXEME_CASE('}', RightBrace); - SINGLE_LEXEME_CASE('[', LeftBracket); - SINGLE_LEXEME_CASE(']', RightBracket); - SINGLE_LEXEME_CASE(',', Comma); - SINGLE_LEXEME_CASE(':', Colon); - SINGLE_LEXEME_CASE('~', Tilde); - - MULTI_LEXEME_CASE('%', '=', Mod, Assign); - MULTI_LEXEME_CASE('^', '=', Caret, Assign); - MULTI_LEXEME_CASE('&', '=', And, Assign) - MULTI_LEXEME_CASE('*', '=', Star, Assign); - MULTI_LEXEME_CASE('=', '=', Assign, Equal); - - case '#': - { - try_append_lexeme(lexemes, consume_directive (stream)); - break; - } - case '!': - { - struct lexeme lex = create_lexeme(stream, Not, 1); - if (next && (*next == '=')) - { - lex.type = NotEqual; - lex.length++; - } - lexemes->append (copy_lexeme_into_heap(lex)); - stream->consume (lex.length); - break; - } - case '|': - { - struct lexeme lex = create_lexeme(stream, Or, 1); - if (next && (*next == '=')) - { - lex.type = OrAssign; - lex.length++; - } - else if (next && (*next == '|')) - { - lex.type = OrOr; - lex.length++; - } - lexemes->append (copy_lexeme_into_heap(lex)); - stream->consume (lex.length); - break; - } - case '/': - { - struct lexeme lex = create_lexeme(stream, Div, 1); - if (next && (*next == '=')) - { - lex.type = DivAssign; - lex.length++; - } - else if (next && (*next == '*' || *next == '/')) - { - struct lexeme* lex = consume_comment (stream); - if (lex == NULL) - break; - if (thunk_public_attr(self, flags).tokenize_comments) - lexemes->append (lex); - else - free (lex); - break; - } - lexemes->append (copy_lexeme_into_heap (lex)); - stream->consume (lex.length); - break; - } - case '"': - case '\'': - try_append_lexeme(lexemes, consume_string (stream, NULL)); - break; - case '+': - case '-': - { - struct lexeme lex = create_lexeme( - stream, (*chr == '+')? Plus: Minus, 1); - if (next && *next == *chr) - { - ucc_log("%screment\n", (*chr == '+')? "In": "De"); - lex.type = (*chr == '+')? PlusPlus: MinusMinus; - lex.length++; - } - else if (next && *next == '=') - { - ucc_log("in place %s assign\n", - (*chr == '+')? "additive": "subtractive"); - lex.type = (*chr == '+')? PlusAssign: MinusAssign; - lex.length++; - } - else if (next && *chr == '-' && *next == '>') - { - ucc_log("Arrow\n"); - lex.type = Arrow; - lex.length++; - } - lexemes->append (copy_lexeme_into_heap (lex)); - stream->consume (lex.length); - break; - } - case '>': - case '<': - { - struct lexeme lex = create_lexeme( - stream, (*chr == '<')? Less: Greater, 1); - if (next && *next == *chr) - { - lex.type = (*chr == '<')? LeftShift: RightShift; - lex.length++; - if (next2 && *next2 == '=') - { - ucc_log("in place assign, %s bit-shift\n", - (*chr == '<')? "left": "right"); - lex.type = (*chr == '<')? LeftShiftAssign: RightShiftAssign; - lex.length++; - } - else - { - ucc_log("%s bit-shift\n", (*chr == '<')? "Left": "Right"); - } - } - else if (next && *next == '=') - { - ucc_log ("%s or equal to\n", (*chr == '<')? "Less": "Greater"); - lex.type = (*chr == '<')? LessEqual: GreaterEqual; - lex.length++; - } - lexemes->append (copy_lexeme_into_heap (lex)); - stream->consume (lex.length); - break; - } - case '.': - if (next != NULL && !isdigit (*next)) - { - ucc_log ("Dot\n"); - consume_single_lexeme(lexemes, stream, Dot); - break; - } - /* fallthrough */ - case '0' ... '9': - try_append_lexeme(lexemes, consume_number (stream)); - break; - case '_': - case '$': - case 'a' ... 'z': - case 'A' ... 'Z': - try_append_lexeme(lexemes, consume_identifier (stream)); - break; - default: - ucc_error("unknown lexing token: '%c'\n", *chr); - exit (EXIT_FAILURE); - } - } - - if (richloc_ctx->has_errors ()) - { - richloc_ctx->show_errors (); - ucc_error("aborting tokenizing process due to lexical errors\n"); - exit (EXIT_FAILURE); - } - - struct lexeme eof = create_lexeme(stream, EndOfFile, 0); - lexemes->append (copy_lexeme_into_heap (eof)); - ucc_log("parsed %zu tokens\n", thunk_public_attr (lexemes, length)); - return lexemes; -} - -impln(list_t) -tokenize_translation_unit (thunk_self_ty(tokenizer_t) self, - struct translation_unit* unit) -{ - ucc_log("%s: lexing translation unit\n", unit->io.path); - auto lexemes = lex_translation_unit (self, unit); - if (lexemes == NULL) - { - ucc_error ("lexing source files failed, halting compilation.\n"); - exit (EXIT_FAILURE); - } - - unit->token_stream = lexemes; - - auto lexer_out_path = thunk_public_attr(self, flags).lexer_output; - if (lexer_out_path != NULL) - write_lexer_output_to_file(lexemes, lexer_out_path); - - return lexemes; -} - -declare_thunk_method(tokenizer_t, tokenize)( - thunk_self_ty(tokenizer_t) self, struct translation_unit* unit) -{ - ucc_log("%s: tokenizing translation unit\n", unit->io.path); - tokenize_translation_unit (self, unit); - return true; -} - -declare_thunk_method(tokenizer_t, set_flags)(thunk_self_ty(tokenizer_t) self, - struct compiler_flags* flags) -{ - ucc_log("setting compiler flags (tokenize-comments=%s)\n", - flags->tokenize_comments? "yes": "no"); - memcpy (&thunk_public_attr(self, flags), flags, - sizeof (struct compiler_flags)); - return true; -} - -declare_thunk_method(tokenizer_t, get_translation_units)( - thunk_self_ty(tokenizer_t) self) -{ - return thunk_public_attr(self, context).translation_units; -} - -declare_thunk_initializer(tokenizer_t)(thunk_self_ty(tokenizer_t) self) -{ - thunk_public_attr(self, context).translation_units = new_object(list_t); - richloc_ctx = new_object(richloc_ctx_t); } void -free_lexeme (struct lexeme* lexeme) +tkn_process (tkn_t self) { - switch (lexeme->type) - { - case StringConstant: - free (lexeme->ctx_for.string_constant.escaped); - break; - case CharacterConstant: - free (lexeme->ctx_for.character_constant.escaped); - break; - default: break; - } - free (lexeme); + array_for_each (self->lexer->lexeme_arrays, array_t, lexemes) + tkn_process_impl (self, lexemes); } -declare_thunk_finalizer(tokenizer_t)(thunk_self_ty(tokenizer_t) self) +tkn_t +tkn_new (lexer_t lexer) { - list_for_each_entry(thunk_public_attr(self, context).translation_units, - current) - { - ucc_log("finalizing bytestream object and data\n"); - struct translation_unit* tru = current->val; - auto stream = tru->io.stream; - - ucc_log("finalizing translation unit lexemes (%zu lexemes)\n", - thunk_public_attr(tru->token_stream, length)); - list_for_each_entry(tru->token_stream, entry) - { - struct lexeme* lexeme = entry->val; - free_lexeme (lexeme); - } - - ucc_log("%s: freeing stream object and translation unit\n", tru->io.path); - free_object (tru->token_stream); - - free (thunk_public_attr(stream, data)); - free_object(stream); - - free (tru); - } - free_object(thunk_public_attr(self, context).translation_units); - free_object(richloc_ctx); + tkn_t tokenizer = chk_calloc_struct (tkn_t); + tokenizer->lexer = lexer; + log_verbose ("created tokeniser: %p", fmt_ptr (tokenizer)); + return tokenizer; } diff --git a/tests/empty_character.fail.c b/test.c similarity index 55% rename from tests/empty_character.fail.c rename to test.c index f7ee56f..04c50a2 100644 --- a/tests/empty_character.fail.c +++ b/test.c @@ -1,5 +1,5 @@ int main (void) { - char c = ''; + char a = 'a'; } diff --git a/tests/comments.fail.c b/tests/comments.fail.c deleted file mode 100644 index ab90246..0000000 --- a/tests/comments.fail.c +++ /dev/null @@ -1,2 +0,0 @@ -/* -* unescaped comment :( diff --git a/tests/comments.pass.c b/tests/comments.pass.c deleted file mode 100644 index 1f25256..0000000 --- a/tests/comments.pass.c +++ /dev/null @@ -1,14 +0,0 @@ -/* hello -* world -* here's a -* multiline comment -*/ - -// block comment -// -/**/ - -int /* hello */ main /**/ (void) -{ - /* hello */ return 1 /* hello */ + 1; -} diff --git a/tests/directive.pass.c b/tests/directive.pass.c deleted file mode 100644 index 8cb4c8a..0000000 --- a/tests/directive.pass.c +++ /dev/null @@ -1,17 +0,0 @@ -#include -# include -#include -# - -#define X(x, y, z) x + y + \ - z - -int -main (void) -{ - #ifdef XYZ - int a = 5; - #else - int a = 6; - #endif -} diff --git a/tests/empty_string.pass.c b/tests/empty_string.pass.c deleted file mode 100644 index b58502f..0000000 --- a/tests/empty_string.pass.c +++ /dev/null @@ -1,5 +0,0 @@ -int -main (void) -{ - char* empty = ""; -} diff --git a/tests/escape_sequences.pass.c b/tests/escape_sequences.pass.c deleted file mode 100644 index e8db2ee..0000000 --- a/tests/escape_sequences.pass.c +++ /dev/null @@ -1,6 +0,0 @@ -int -main (void) -{ - char* a = "\\\'\"\?\a\b\f\n\r\t\v"; - char* b = "\x48\x484858\057\066\7\x1"; -} diff --git a/tests/float_numbers.pass.c b/tests/float_numbers.pass.c deleted file mode 100644 index 4359ed9..0000000 --- a/tests/float_numbers.pass.c +++ /dev/null @@ -1,9 +0,0 @@ -int -main (void) -{ - float a = .123456789; - float b = 1.; - float c = 1.e-123; - float d = .123e123; - float e = 1.1; -} diff --git a/tests/float_numbers_suffix.fail.c b/tests/float_numbers_suffix.fail.c deleted file mode 100644 index cc6d55f..0000000 --- a/tests/float_numbers_suffix.fail.c +++ /dev/null @@ -1,12 +0,0 @@ -int -main (void) -{ - float a = .123456789asd; - float a_ = .123456789fl; - float b = 1.Lf; - float b_ = 1.asd; - float c = 1.e-123ff; - float c_ = 1.e-123ll; - float d = .123e123FF; - float d_ = .123e123lLL; -} diff --git a/tests/float_numbers_suffix.pass.c b/tests/float_numbers_suffix.pass.c deleted file mode 100644 index 4bb8a76..0000000 --- a/tests/float_numbers_suffix.pass.c +++ /dev/null @@ -1,14 +0,0 @@ -int -main (void) -{ - float a = .123456789f; - float a_ = .123456789l; - float b = 1.f; - float b_ = 1.l; - float c = 1.e-123f; - float c_ = 1.e-123l; - float d = .123e123f; - float d_ = .123e123l; - float e = 1.1f; - float e_ = 1.1l; -} diff --git a/tests/hex_float_numbers.pass.c b/tests/hex_float_numbers.pass.c deleted file mode 100644 index c1790aa..0000000 --- a/tests/hex_float_numbers.pass.c +++ /dev/null @@ -1,16 +0,0 @@ -/* - * fragment HexadecimalFloatingConstant - * : HexadecimalPrefix (HexadecimalFractionalConstant | HexadecimalDigitSequence) BinaryExponentPart FloatingSuffix? - * ; - */ - -int -main (void) -{ - float a = 0x123456789abcdef.123456789abcdefp1; - float b = 0x123456789abcdef.123456789abcdefp-1; - float c = 0x.0p-1; - float d = 0x.0p1; - float e = 0x.0p1f; - float f = 0x.0p1l; -} diff --git a/tests/number.pass.c b/tests/number.pass.c deleted file mode 100644 index ba6867a..0000000 --- a/tests/number.pass.c +++ /dev/null @@ -1,16 +0,0 @@ -int -main (void) -{ - int a = 123456789; - int b = 0x123456789abcdef; - int c = 01234567; - int a_ = 12345679u; - int a__ = 123456789ul; - int a___ = 123456789ull; - int b_ = 0x123456789abcdefu; - int b__ = 0x123456789abcdeful; - int b___ = 0x123456789abcdefull; - int c_ = 01234567u; - int c__ = 01234567ul; - int c___ = 01234567ull; -} diff --git a/tests/raw_string.pass.c b/tests/raw_string.pass.c deleted file mode 100644 index 2df1875..0000000 --- a/tests/raw_string.pass.c +++ /dev/null @@ -1,7 +0,0 @@ -int -main (void) -{ - char* a = R"(test)"; - char* b = R"(test"'""'test)"; - char* c = R"prefix(test()("))()))())prefix"; -} diff --git a/tests/stray_escape.fail.c b/tests/stray_escape.fail.c deleted file mode 100644 index 871f6e3..0000000 --- a/tests/stray_escape.fail.c +++ /dev/null @@ -1,5 +0,0 @@ -int -main (void) -{ - char* a = "\ hello"; -} diff --git a/tests/trailing_escape.fail.c b/tests/trailing_escape.fail.c deleted file mode 100644 index 3b746bb..0000000 --- a/tests/trailing_escape.fail.c +++ /dev/null @@ -1,5 +0,0 @@ -int -main (void) -{ - char* a = "\"; -} diff --git a/ucc b/ucc index 7af7aa3..66951cb 100755 Binary files a/ucc and b/ucc differ