From e74677c1fc6199e291c9c93bcb9dc14b73497461 Mon Sep 17 00:00:00 2001 From: Unazed Spectaculum Date: Fri, 23 Aug 2024 16:15:10 +0100 Subject: [PATCH] Uploaded local branch --- .github/workflows/c-cpp.yml | 19 - .gitignore | 7 - LICENSE | 339 - Makefile | 22 +- README.md | 42 - build/ansi-colors.d | 3 + build/ansi-colors.i | 1345 + build/ansi-colors.o | Bin 0 -> 13512 bytes build/ansi-colors.s | 2345 ++ build/array.d | 6 + build/array.i | 3512 +++ build/array.o | Bin 0 -> 78328 bytes build/array.s | 12364 +++++++++ build/diagnostics.d | 8 + build/diagnostics.i | 3766 +++ build/diagnostics.o | Bin 0 -> 77408 bytes build/diagnostics.s | 13078 ++++++++++ build/generic.d | 5 + build/generic.i | 3491 +++ build/generic.o | Bin 0 -> 32864 bytes build/generic.s | 5115 ++++ build/io.d | 4 + build/io.i | 3294 +++ build/io.o | Bin 0 -> 31440 bytes build/io.s | 5388 ++++ build/lexer.d | 10 + build/lexer.i | 4314 ++++ build/lexer.o | Bin 0 -> 185328 bytes build/lexer.s | 31062 +++++++++++++++++++++++ build/main.d | 10 + build/main.i | 4111 +++ build/main.o | Bin 0 -> 55208 bytes build/main.s | 8954 +++++++ build/stdio-ext.d | 2 + build/stdio-ext.i | 1378 + build/stdio-ext.o | Bin 0 -> 14440 bytes build/stdio-ext.s | 2299 ++ build/tokenizer.d | 8 + build/tokenizer.i | 3324 +++ build/tokenizer.o | Bin 0 -> 18512 bytes build/tokenizer.s | 2907 +++ compile_commands.json | 485 +- include/ansi-colors.h | 38 + include/array.h | 42 + include/ast.h | 49 - include/bytestream.h | 35 - include/common.h | 51 - include/diagnostics.h | 44 + include/generic.h | 87 + include/grammar.h | 193 - include/io.h | 32 + include/lex-dump.h | 9 - include/lexer.h | 57 + include/list.h | 41 - include/map.h | 65 - include/parser.h | 23 - include/richloc.h | 48 - include/stdio-ext.h | 14 + include/strntol.h | 7 - include/thunk.h | 209 - include/tokenizer.h | 46 +- scripts/run_regressions.py | 58 - src/ansi-colors.c | 27 + src/array.c | 153 + src/bytestream.c | 93 - src/diagnostics.c | 214 + src/generic.c | 96 + src/grammar.c | 185 - src/io.c | 75 + src/lex-dump.c | 280 - src/lexer.c | 501 + src/list.c | 130 - src/main.c | 182 +- src/map.c | 269 - src/parser.c | 87 - src/richloc.c | 200 - src/stdio-ext.c | 38 + src/strntol.c | 31 - src/thunk.c | 52 - src/tokenizer.c | 1139 +- tests/empty_character.fail.c => test.c | 2 +- tests/comments.fail.c | 2 - tests/comments.pass.c | 14 - tests/directive.pass.c | 17 - tests/empty_string.pass.c | 5 - tests/escape_sequences.pass.c | 6 - tests/float_numbers.pass.c | 9 - tests/float_numbers_suffix.fail.c | 12 - tests/float_numbers_suffix.pass.c | 14 - tests/hex_float_numbers.pass.c | 16 - tests/number.pass.c | 16 - tests/raw_string.pass.c | 7 - tests/stray_escape.fail.c | 5 - tests/trailing_escape.fail.c | 5 - ucc | Bin 277336 -> 366856 bytes 95 files changed, 113944 insertions(+), 4103 deletions(-) delete mode 100644 .github/workflows/c-cpp.yml delete mode 100755 .gitignore delete mode 100644 LICENSE delete mode 100644 README.md create mode 100644 build/ansi-colors.d create mode 100644 build/ansi-colors.i create mode 100644 build/ansi-colors.o create mode 100644 build/ansi-colors.s create mode 100644 build/array.d create mode 100644 build/array.i create mode 100644 build/array.o create mode 100644 build/array.s create mode 100644 build/diagnostics.d create mode 100644 build/diagnostics.i create mode 100644 build/diagnostics.o create mode 100644 build/diagnostics.s create mode 100644 build/generic.d create mode 100644 build/generic.i create mode 100644 build/generic.o create mode 100644 build/generic.s create mode 100644 build/io.d create mode 100644 build/io.i create mode 100644 build/io.o create mode 100644 build/io.s create mode 100644 build/lexer.d create mode 100644 build/lexer.i create mode 100644 build/lexer.o create mode 100644 build/lexer.s create mode 100644 build/main.d create mode 100644 build/main.i create mode 100644 build/main.o create mode 100644 build/main.s create mode 100644 build/stdio-ext.d create mode 100644 build/stdio-ext.i create mode 100644 build/stdio-ext.o create mode 100644 build/stdio-ext.s create mode 100644 build/tokenizer.d create mode 100644 build/tokenizer.i create mode 100644 build/tokenizer.o create mode 100644 build/tokenizer.s create mode 100644 include/ansi-colors.h create mode 100644 include/array.h delete mode 100644 include/ast.h delete mode 100755 include/bytestream.h delete mode 100755 include/common.h create mode 100644 include/diagnostics.h create mode 100644 include/generic.h delete mode 100755 include/grammar.h create mode 100644 include/io.h delete mode 100644 include/lex-dump.h create mode 100644 include/lexer.h delete mode 100755 include/list.h delete mode 100755 include/map.h delete mode 100644 include/parser.h delete mode 100644 include/richloc.h create mode 100644 include/stdio-ext.h delete mode 100644 include/strntol.h delete mode 100755 include/thunk.h mode change 100755 => 100644 include/tokenizer.h delete mode 100644 scripts/run_regressions.py create mode 100644 src/ansi-colors.c create mode 100644 src/array.c delete mode 100755 src/bytestream.c create mode 100644 src/diagnostics.c create mode 100644 src/generic.c delete mode 100644 src/grammar.c create mode 100644 src/io.c delete mode 100644 src/lex-dump.c create mode 100644 src/lexer.c delete mode 100755 src/list.c mode change 100755 => 100644 src/main.c delete mode 100755 src/map.c delete mode 100644 src/parser.c delete mode 100644 src/richloc.c create mode 100644 src/stdio-ext.c delete mode 100644 src/strntol.c delete mode 100755 src/thunk.c mode change 100755 => 100644 src/tokenizer.c rename tests/empty_character.fail.c => test.c (55%) delete mode 100644 tests/comments.fail.c delete mode 100644 tests/comments.pass.c delete mode 100644 tests/directive.pass.c delete mode 100644 tests/empty_string.pass.c delete mode 100644 tests/escape_sequences.pass.c delete mode 100644 tests/float_numbers.pass.c delete mode 100644 tests/float_numbers_suffix.fail.c delete mode 100644 tests/float_numbers_suffix.pass.c delete mode 100644 tests/hex_float_numbers.pass.c delete mode 100644 tests/number.pass.c delete mode 100644 tests/raw_string.pass.c delete mode 100644 tests/stray_escape.fail.c delete mode 100644 tests/trailing_escape.fail.c 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 0000000000000000000000000000000000000000..3708e1f4b6828d80e033c8410a52d24fc4f5132f GIT binary patch literal 13512 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" + .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 0000000000000000000000000000000000000000..3124576938727c7ddf279ffa19fc7993d3d48792 GIT binary patch literal 78328 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 CmZ?7g literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..7d28c5d13081243a7fed5f9678af1947872d1c18 GIT binary patch literal 77408 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, 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 0000000000000000000000000000000000000000..a6dcd1208e162d18b0cd9ebb1cd8fc1e5bb7f6c0 GIT binary patch literal 32864 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..6475968f6349bf71340c74f51aabd5f2c249f7a5 GIT binary patch literal 31440 zcmeI5d0b7~`^Qg%bd}1G;R;7YrWC12oFqyiLm6|LP6O4+IVVDhL`Nd7YwQx2Yo4c2 zM8<0#?!B2SLuDS5vEO?3c~+LC^Lyd@y|3Rtzx8^Z_FC`ttj~JZu-D#a?{%2s?%h*Y zM@K}1j;O2XbBa=t=z`*NTp~mzBC)8k=%s0+cfKC#d#--2zOI7?mYYMKr}{%N96i*z z9!WVWGY@s1N2)A;xa$a4f7g-zxk9F=`WVSHoj!*cuG2G3nn8}<>SB+>#d@ZD(nJa6 zQ%EW?ziMKRp3{YR{pputC%UFg5>=ENlCdG~Om2H7n^~US964e&V4~7kEjiz@7>TjU|)& za7jfM(B^xn-+LsLt6cX(6$e4zLw#FQFzLF=i6%VNM?FZ|VLw=WVdkxdzVgpyy?D6& zi`4!vQd!goP5*1^QXk(BBgq>2=Tbvqw4j43M$A+F+CzO=Q?yf_>9m=othc(rLw)Ta z$at$Y9ROZ;%2SR+Sr0Ya|E5VU#MV2dEh#|8;IZlS_9QKg!yr%fRoBc`gjYHaPrn=o z(gS416bmz^q96FW)`440UB5wEGsv!)&Ay=~Z*`H-UT9OL(@FYSUNr=oF;JLI-=ZxD zAA+6}V!|JGC`ty9S@jitxb!PjlKrW?ykgkc(~QhBPj#tK09t@^jGR|}lJ1&LuLC2Y ze&DUXPjmK*i8sPvvW{p@Qq$>gNanh#rb$o9(Ia)Bp-1BTGSkG@LTaKR-}lc6_f`iR zk{N6|y@Vu6b4l5J!FpglQnuJM@xG9nSdTATNVvCpbUmT$HIfj@Ues8V#p25ubyl!e znt5o>TXJ%;!v@uFqY`UDf~+;47X;HJVBYGc1XnCSZ0k#|lHT=D-}-`mtc1NGOfxo| zu`wA(UcjJYY&qiw+A`b)70oJ9G1#!8em+OZaJ#BMqN88-Qmlt}iWO-nIp^-GT>Gd? zTr)kPFDhH{ikLHvE=!3=4e?a_YWh9g{{8NlCS8GEuW-q9`YG@Y+>(5YTQI2Wh@mhq zRzL}EP=R@;G!^FgGKk}eEX*hXLdp41vSKDL7E)i&qsSM^N=0zH2)Rx07w|h04Tjq}cW{idQg*hAZ7|$6 zs#+I!8QC9vc}V4i1b}%EW=uV)xLX@b})<{NtK z8}&mKG8yPc$)eP~Xtw(my+UtUk|`;=UXIa}m=%XcE>O_?gcx4aW6YxW3NB>QIdoB9k+t0M!{IL}QRd`6!|E>OkwPoYKtl!~Z)UQjl|IP8OL-eixMgQTM z(7)+FfBw^^{I}*0TwiKaQF4T*V6B;SBNA`Or1>aa+a-L)H>SmCC;3Ku-b{=@!e@MA zT8ws*Z?xyl#0VsO#y6(_ulw)+x_&tSAxMP3-~UI9MI_%}R474jg@3d>U0VWvu>Suq zuj#n|@4p|LK>z9dq4&0uAFEzuf#rU*yzowiX#8k-cdS1FkKcP}js*g~w;}CatS|J{wFLa`OfmKY`kNGl!4LGkU&+S zeS6WDX*(`$`(?UACob*8r5(An1DEc|rR_hbRpVo1oI4#le3{L8*MT?Zylu~U)1LFD zJy+h2Yn>fe-i|A8$F;_eX$|zQU3-yK8X6lNER{k#+=SM+36;7D9p@$#a1)y4CWyNU zRk{hnZnl*TExrG>uc67M>A3XWgZ;xTd}|+kxzl;)&I3CSc-{!1Jm(jy}1f$73kSEl{()1bC>db_#nAD)q%F(7_dq1z+3 z#;Z+RO_LwnJMB$+2W8QdGtrZ$Kg!L1<6Ly0=u`R%=Vkru>IBU?Rkqd7{>9S{xebQ* z*fnUu(9W^VV|&-zZ*6~V&!3@plSEM$-L|Io8#D4`(=&@w)z5Y3JUsJi{H-O*OTKXmh zTUr>t5-+xlahfoHoZPIq?e*LPLv_zLH+lJ_t?s1z`g=XsUC3B_*(>W* z&Vo*M`}LdNNH*`Ali79jk{ZuSn${ZFVu@^M>kSR+`q>*)n`P8`p(wX@T|W!c;m6LL zZ(=gl-61NwVd#y4OB$T-Th>j#Pe@CHf7%~u*?H61pCvzctJ$?mP1~)xNjus%dpbB$ z?0?B(yNQ=&$|m=IEhI1Wif`AQu=TCU;?$EC{UlW{9ZK0YFSB~R?e9l@(6Q}#Z228M zgEk{K9&oPxGCk^#UA6BPMc;I(t^WPz<*^scA4=vw>N(tJO7C$F39UYQb)B%dP2OPh z2J;K`ZvM8n;nI-c_^DoJ`fs1_`DWK9=a<_9|H_y+qthXyzFS8eJeOV5)!%BuwYSG6 z_uY{%pLzLB_|_K@E4x|sE#9JkTU-hJbfx}`evj)7 zk|oB@c-C*~e_mcHm_Y5br~ z3*#55iVMFK=lnC@(8zssn~iUKL=AaXt;fWgQ`4@=PBpPQvpn@>j&0)Jg?s8x%ubGX zbX4{~Sx_x!_eZmqw^Coq4t7l3yJnZ@@|g+V)?215RwR4xoR--}6>Pm@Lj&dHSUbnk zU&TK;`mKo%J-_9|qute)W$!GgztA_n=aA(EPP27uq|cc;7hVN# zFEr@a)?(5%BYVU1I_o^Fs)aART+}_~Vs-NiC9&ogENWjkHGgBb`>(1;o!#DNNcPmN zHix<&bG-N{y6|}2WxIb;NnD5SGdDVDE_Iry-&Alck1^sQW4Scqin7MUb+I&NU+D*G0=$~D@HM-~NRpp&6cYBSV zJoSlU_i?GZy4CqJo#*!|F}!%o&4+B`HzcBrFC8QG-`Rm z^Thn%$E8ONI6dHq#O#shZ2ewG zg3WhW9%*IzI>Fs{L+zDE3wvxCd1Xbu-lhR_C(oa}{J=6%gVV#uPMENNZHom*Qo04@ z48Q0+sankh>D0zIU(Q~eKFislRCo3MM*52lx4zDf)OkPD*=Jaj_l6q-%$FWi1eDF% zq0^}#!}NaD(xwT^&c)|%bF1~dM>nr61Al+Ds`%FxSIgGT-kzr1H|NZ*2i`i#GyeAM z__o)|o(qPR$F5lxz3b`m#dR+At}?LEsX=Gf9CjbMC*Iw__RqP`mnF?@|NhqT+t0^V zJ1}tR-oJZ$6+hXhA9Sasx%!oAY5NXC9CY`G|1IikpHM0tGx(iKZ^G~}mwPShJiHQN z_EYJB$6Hojd38K&{2xs&{8jQWb>g%S$(>$~8Zv58#~7QF$828x=Jw{?$HG6ZF4xww$M4T)x%j%885p^~UTHZY^{7F1&%xWnFZsqd zygY9E#WfGhbacbwQ_mNAoUOLMgJpzVcmsa$yEHUxJCi9M_ zM+Q{Um8}|QZ0p?IG3W06qn*#F&$cz%lid68Mh~Ack;m#ZyuQP-V3uXg;X5~-5B(>( z->%WO>Kttzw6_25xAM>xzrX(@%-!gsGUa9`yeb zvcn(TTzswbT3$&x5+=RUw3G8(RsHUn#-_V!nW&_0#ShiX-xTH6%qcbWf71UauX+oU z%-UD=syB9Z6N{3=gX$I6FlySX-~L9*hG*;!U&^!lXGy1v=FZ_RR+-)<%P-t_Da@;$ zlWVsjVe%q_+k?+u?LGO?!IZY%Blis`-JJEYv3)bScu1@B=?ABWt*jezs!I9vsK-@? zF1=Mpw&CpBTYfJ0s(ZC^t~qZ`*1T;Kn?7Cb{KfF?|#&iAT#upP}7StS*B^mICc;32!;^$^38~VP`UtoXc z(KWyHX>CJ`ir(LUTKXX0B0cl`xlWevCT<*EcZqq!1`Xe=xD%24=AF&Tup{kK0xUaB zO-k-Ma>ldnDJ>Fi%vv%0p?C4ltix&RUGrVGO(;ILy2s2nP3}K-TG4;ak@v06cS+9e zSLFCpfkU+I+nM8g&NAuNwdVdm=ajXZv1nkG)4{K+EOd$9bj3f?{k^GUs9D`u^|sW_ zEswk!@%U!F<-;B{_cQQ3Ja@o+uTATZ+~1o~RL5EGmC@+d>1ja*RebWB|6;$S|BHBZb-v-XTsJ!$B5uE4*ce2U!RMfl;kfZ6f|0sUI;8Pi$Mf2dc) zw%c_~43^!?PTt&N|00XDo5vUKT7KX8_-}7#*0b&7UEsH9`@$ntPsVN=;d{tG;Met0 zTT2vwcr|~uY4(*m7UpA4?YZ~tV3%H>9<7>JZDa8I)dS{jyW_DgGWk|B^Y^p*g$(<3 zZ1dYizocIJbN_=b7e-2dF4??5`FDY@U-7#p{!M2LzPqA!>0Pr|p3m15p0mGrFxhfa4(+25;O#e0WL1OC1_$@jG4x~=iuwZ(d?ywg`l*mRA();F~C z+4W&2ZKk$AQG0zs?)dmgi_!}7BIY-WJgslorjC)v!+_c6dXMgXH}-DJqnrFQJ`F25 zFww$i>spInpX>?A?p?a1VC1IrPMhmquH)!%Ox(jI``D7|OVf>hbNGAvjI*}7#S`jw zTNdQMXJqb_fy(GpZ(?2^eqWgWhts+R^TrLTb#HTq#4vm1(Lbwnvwz_mzaz2eple_K zj>pCg(~}kNyB;R1`SQuh>e|BEM`3fZwa(Mr)<%ye#wK@s;gq4$PIWsF(dC*<$3>FFCfg$|qcaCGaMxe;%xq!x}pxyHCr?os8L zd4(of%WL*;*Q2j_a{GZtm#iOSaPD2&Lzhoo^FV86S|6v^?e4;But z^{{@?+ym0vea3rSgqi&pvqY;X(XgBSwxGDZR02%d)X&j=h`^aQ@=hGOz8|w=|Z^uQjMQ zbLDOO$CHkPg%9)D(l3rgS*Erbn1P*ZiloKodiYe)a`|{60@!T8E|Ul&4H0^cWjv|&M9_l z&~w@FS{DzEt!6zeqae%Zj&&1f<$|Cm+aC{ov%s@t(jV1(?DU?gn%{V{b%@`D$4NDJ zTL%sgd39>(+nBm-^Hq6Ddz&s-?sfF4{bIAO+1m~7d4DLIJfFFL=#{d-9Utrik4OF7 za@_E2>ET*dw??#^W&ZqhNW=S)ep&TjUN5|L*rk8Ddr6^J;inzvYU^i;R@8lQ`qIMJ zNqrYZoZ557|6XlhuTRYSwjS>v zKFqs5M1CO4^leEK-pZjXi5Gzg6vOeJy9zve&DgJ&RlMad?%tI|j7x_Vo3(YAu~dzKd?( z(I>94$DU!5$x*fD9NdsR>+OfqPtS+laQtiO5%XbdW2dj&r--ewe7a@uM(f5tM_;b9 z*dZHlSNr!zryc7ZiTxnz<>uB|Y~4#n_CCnPb{%Xw*w{&9+S|6bw{@_y7suE+wnQqX z5c)%(eBhk`ytC}p*B34(Il$;UE{KcC=X1V}kWY{hbVQmo?MM1R$Opo7_(N^oX6q&D z>-MFFpce!ABnW$}s9gY2A`EoWAd`f>Y@ME|db9NttLXl&Q3BtD&5q>wn6<0$P0vLK zD+SHF%!w1;1c9?%;5-}I3)!7 z92ydOBD^?hvMT=SiC`4J46wgYmncc`21n>K!eHM8@CnF;zQUq>2v z)YjIvQzt1VJuzuVG^DWGSJ>MplJ@fM*WJ}y+OKENf$oE(gIv3NyGun;!SdK>l_(VK zh%nii8ZDQS{eXe6kyZp-5@8=PiG+{{)EuKAy9`66!QrDxO7m)gY#R-Ulu6--gF+S~SEz_+V2FJs%!${DmPbd&Mn*~l6=BcsK+EK@D(V+Dh4g_!rixWWi)3*TDyWH* z_`F>+6t;wFI`50#h>??iB0HmDw{K{qd>pL-dqb&`D`ZZf3|m)anjs1m;sCilp_*0+ zP-qkOY;3eb78ap|YQiGrL4lDF}_H>=3`W9$ERg3*R{)$!-2vHVj1F86AV9rVqf?!u191YaoYWY`qN_&em(i>3ksNAhcra*?R36 z&gyjKbh0!uA~(jK)$w6Cs}qKtpKmHg-->9{eoN89GZ+qiLG9Oa+ydvrKICA_u9Jru z4!@?RIu{wvo?m&4zA!GRf0MCi=UXXqzP);QJ%{nNV(M+Ag*!5wZEshO$D=CkoKFUGzdW1p{uKVvxCZ*LfV=r?*^e_-s{elx=75On^>lQIy@kVCuJ z`PPu(Y`x8R9b8XZGWKk}PMm!gp;nQ|g|TPr_2%qpfA(kW+4FQb!&yJ&oX!pG7Zqb~ zOMIdFi43=6crwG=Gkk#-{UwY&{BD8jlc*42*@3>ML4pyU`!F1*pgMsP|A9_CwoVAx|u}{##(-_X`OwD5c_T!QBTualvLZ_~na zv~aqPfj+EDG?X#+KT!xrJYRT!#0&==3D}ZA*AuV@9W#I=NEmx|90M2*ItgG*LL9?E zM+}gJ1ctLZ84L%V955y!li{FaD^QZpa8@Uu;X?mFLr5rNIOs?KLJ*9;p8sNoLsWt~ zP7DVfAJ8B{!f@7~0ER;}0d?XS4mttk10jLotWE~QA)13anG6S=7!V;LhvBSFKEs75 zo`+=&2b}~EfdB~-pgLAZ%y2w41v@8(Lo`jGq<I5(xT#%qYaSVs(3e-tpIIEMv zaPUWh_L&Ta=vL%83}Ma9om;4rz;IS4gW;e<*V9afgU%Dw$zeFFlh1I_p_8JF;h^&gbwoy*$XETt zaL@_BN}L!DIwm;JB@Ac%31B$rLf6n)yZHu=+NsyCc{C;26b{6&g$ed z9CYaQqm1F8(-n0@#w0-kBv~CX!$F5$Z=4toI(<<`!f;k6fZ?Dc!RtgE!$D^x>Lf6n z)yd#FW(xm;7AX(KL5Ds^%i--w9)t@F2Y)iqpL~Xcv;_6b7|!a`SA2ZGnc=HH;Gj>h zuVRLSbOP!-F`U(xFdR)uDYD)(9Q1S0{{V)Ay%_s5j^Us`4tWB@S^W%-=a4cGG8qm! zlTasz;jB(R#}jbfC}TM2B%+SU1Zt^d9&$Vb?VT77I%?z+hO_ zPmaGr-iPClFb(hHAy9oUO;QwqN6P7W6wUE=sITNWCPh;?z5u^JEa7+_4(9J1*Tr>a zE5{u%eSqV(m_EVrN7!#yINk&OFW@+Q=ZEk_bExPaOSFH_@#WYqL(HfBCP)9xIS%iW zAy7SPPoK-vex-bs#$42e)A7QzC&%IaGXy`5S3`f`eLn=MzX|<^_xdb%#Cb^9U25M_ zVe^zrG_6tDR&hf#R7XEoYl27a1i1Xw$XYVSgh(viDAC2|iQR5}k=N(=c`V>j`u)+0yr*5{c#-Mf_yQ@f5!G6;rJ@_{}jhBVLw0Q_#xz6whx`D?o1;z+a_BDT0=hrvAI_dW zXD(nk+>+3JmiIW0x5py-9*64F>&qLiUdn6YI77dIKHbMqhvW7n4?<&(dup(#DaU&u zw?$-8AXiKeVz@AGg<3_T5Qc-jFQ&&c9PDXOGaT&c_kvBx={y{R{_N)L z>3+pCoIPEy{$@DL{|v178prARa+~3BpHHuMB@73hOQ`dh<9{N5!En&&j^p=%;hAFrXxuG8}Z^Ur&Zmi{mE9>oFYsq3yL~IOw>beRGa?K;D|+ zpmUsjAaq0yW^jHK5gw_lPRE+i#hJ$?$_OlPe!Ttr> z`*U0e*I5O_K_>xqrZF6J%+Y=k!@*vH_G=jq_VoI?i{mz^bBf_Ydr{{q!$HRh?eBBE z7xMQE7y5yefnWp^p9GKv9eRJ#5jj0C20$hWT{-)0=#MXFPuB-2!(sl@`^jLA2ck|m z!(sl@`(y>fL5J>d8Ow3HPi`W^L5J>dNMbnX(D$8cjvHco=P(>}=zgZf3~8P;W)_>!WM>uDgFMrR|~&{oc7y#)c>2~bidKA zL|f!09Pfm@DZ_Up6ru){}csh=gq%r_Y6UGaTxr_g9CI!|;KN3FzlZ zhJ*A{9Nz+t)8`>C7|!a{1?Nbh?Y)aSV&sqneLdukoIP!?E5jjLj_q~l_#5QC84m5G z_qT%>4pF*qcnHTE<2d>wr+(U?pHn#QjC>KteUb0uIQ+f}!a0V+JjuuVmOO?-ljwW2 z#|#Ji1hjv{aIjB8eM5ZN07{N`!J4AMIM73`UjenPCgLEYvBtx zot3DwnByyuujKeH2!_yEBvAd% znxx2_<71Iqa{LZ*M~1_^lHh#k#c)8+&|b>%*T^F|PX7z8NembC@q2DEayoD6bJT?# zpN#e^IX(*O&E$9sod4%Jegis+gqs|v_Qf2h`mgDq!_a}}Q;(4J9FC9ss z?H!{@imGyaI_ev7d=$3JjN^xp*XB6g?_QtdCvbcla@-4bEIDp~_RTp?pG&mnIE*ob zb{v0=Ixd=QVctU5i1B=x#_zsf^rGghutlV z3*N#AIXH}hpID{9EwLPoBQ((l)6F?P5Yw$VJ{Z%q9My?H-k!6k=dT0DS7Dl-_f%&; z@*bT15lnk>`~;@^a{LUYX*;O?U&x1W_BS!@&+$i?4&pdnH^Mkh_g_VFocn(5 z$CvgK^|JwT`uv!3I!_Wf9eO{I#BoQ|nZJ zIZp4dR2--GnY3Q2L!WPCarX4NXfem>^Aj^{2i2kP5$O9m%IWjiA)Gzkry;UYj*n6W z29cvmp*e=rm_imAXrq$FsYEvL?{SK3f|N>;jY6(T2)PioAu${HiE|{)1T8!A!)nM0 zv5q?*V7=BV)2@a73#fFjpc_ma%Y8B#vK|u=HSS+PMq_#-%J6-Sw zYCt)stXk1wL=49EXu6h2PM^x+|$5nn)Qg zNOYee+?POEy8hQgdsr8N<8qFa+#h4T2^B;W5p(G_Bn_H;`2boGXV3d@NAiKed}RYI zp976!f|!Xzv@7{k=D!%fCuQLM87(HJ5j=Jx$IAL|TX&6tA?iT?!5GnI(f)&V8S1Ck z1rilP4sLMS%r%%M=`n~{gNuCs#Wd3B(E2o~&-GId>v?7VXZF*Spnih?@Q9X{qa5DT znUD`(f800L59?fI^B!h%-I#8NqMR`mL`@SnHpKPVEFy$sTt)G_PKq8g-pAn_8 zfc}91{=+>FEl>SFN*L!NAtKSD7Q&(8cMY1<*S3d9MrHNeMt@lz>aR&YeEoTZRo4EK zSpQSbIa*$$E)rcPk;>{1!1{+^|3Uq=$%mGw?Y~PHRAEaqNE||DOU==ko7mKhy7iQp zRaX8aENmoP)f_7R^5x4(j!?eBLK9ipR&%uHIIWi+VLuy'" + .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 0000000000000000000000000000000000000000..ab8770660461de2dc0d5abf503cc01a6cdfb78b5 GIT binary patch literal 185328 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..4cd91ed3ab5912efa3c08cac121bb8c77e6b4bc2 GIT binary patch literal 55208 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 V1gA;CMA~h5T4U8k$RKRW{tqQHc{cz6 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..233e7496cef9372b89afc7dc7030720bf5925a67 GIT binary patch literal 14440 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

-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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..33ae56dbb6648b0751fa46099cfa9387bdbb9fd0 GIT binary patch literal 18512 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 literal 0 HcmV?d00001 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 7af7aa329f4328e98f0ba2ed2ce30edecad6f9d4..66951cb494ec85ef025d10ba2fc4d2191ccb6a2e 100755 GIT binary patch literal 366856 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ℜu~%FfA0|Qxh%f^L5Fys!khZLe|A{^ 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