├── LICENSE.md ├── README.md ├── miner.sv ├── miner_tb.sv ├── miner_tb.vcd ├── sha_256.sv ├── sha_256_tb.sv ├── sha_256_tb.vcd ├── sha_mainloop.dot ├── sha_mainloop.sv ├── sha_mainloop_tb.sv ├── sha_mainloop_tb.vcd ├── sha_padder.dot ├── sha_padder.pdf ├── sha_padder.sv ├── sha_padder_tb.sv └── sha_padder_tb.vcd /LICENSE.md: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | Preamble 9 | 10 | The GNU General Public License is a free, copyleft license for 11 | software and other kinds of works. 12 | 13 | The licenses for most software and other practical works are designed 14 | to take away your freedom to share and change the works. By contrast, 15 | the GNU General Public License is intended to guarantee your freedom to 16 | share and change all versions of a program--to make sure it remains free 17 | software for all its users. We, the Free Software Foundation, use the 18 | GNU General Public License for most of our software; it applies also to 19 | any other work released this way by its authors. You can apply it to 20 | your programs, too. 21 | 22 | When we speak of free software, we are referring to freedom, not 23 | price. Our General Public Licenses are designed to make sure that you 24 | have the freedom to distribute copies of free software (and charge for 25 | them if you wish), that you receive source code or can get it if you 26 | want it, that you can change the software or use pieces of it in new 27 | free programs, and that you know you can do these things. 28 | 29 | To protect your rights, we need to prevent others from denying you 30 | these rights or asking you to surrender the rights. Therefore, you have 31 | certain responsibilities if you distribute copies of the software, or if 32 | you modify it: responsibilities to respect the freedom of others. 33 | 34 | For example, if you distribute copies of such a program, whether 35 | gratis or for a fee, you must pass on to the recipients the same 36 | freedoms that you received. You must make sure that they, too, receive 37 | or can get the source code. And you must show them these terms so they 38 | know their rights. 39 | 40 | Developers that use the GNU GPL protect your rights with two steps: 41 | (1) assert copyright on the software, and (2) offer you this License 42 | giving you legal permission to copy, distribute and/or modify it. 43 | 44 | For the developers' and authors' protection, the GPL clearly explains 45 | that there is no warranty for this free software. For both users' and 46 | authors' sake, the GPL requires that modified versions be marked as 47 | changed, so that their problems will not be attributed erroneously to 48 | authors of previous versions. 49 | 50 | Some devices are designed to deny users access to install or run 51 | modified versions of the software inside them, although the manufacturer 52 | can do so. This is fundamentally incompatible with the aim of 53 | protecting users' freedom to change the software. The systematic 54 | pattern of such abuse occurs in the area of products for individuals to 55 | use, which is precisely where it is most unacceptable. Therefore, we 56 | have designed this version of the GPL to prohibit the practice for those 57 | products. If such problems arise substantially in other domains, we 58 | stand ready to extend this provision to those domains in future versions 59 | of the GPL, as needed to protect the freedom of users. 60 | 61 | Finally, every program is threatened constantly by software patents. 62 | States should not allow patents to restrict development and use of 63 | software on general-purpose computers, but in those that do, we wish to 64 | avoid the special danger that patents applied to a free program could 65 | make it effectively proprietary. To prevent this, the GPL assures that 66 | patents cannot be used to render the program non-free. 67 | 68 | The precise terms and conditions for copying, distribution and 69 | modification follow. 70 | 71 | TERMS AND CONDITIONS 72 | 73 | 0. Definitions. 74 | 75 | "This License" refers to version 3 of the GNU General Public License. 76 | 77 | "Copyright" also means copyright-like laws that apply to other kinds of 78 | works, such as semiconductor masks. 79 | 80 | "The Program" refers to any copyrightable work licensed under this 81 | License. Each licensee is addressed as "you". "Licensees" and 82 | "recipients" may be individuals or organizations. 83 | 84 | To "modify" a work means to copy from or adapt all or part of the work 85 | in a fashion requiring copyright permission, other than the making of an 86 | exact copy. The resulting work is called a "modified version" of the 87 | earlier work or a work "based on" the earlier work. 88 | 89 | A "covered work" means either the unmodified Program or a work based 90 | on the Program. 91 | 92 | To "propagate" a work means to do anything with it that, without 93 | permission, would make you directly or secondarily liable for 94 | infringement under applicable copyright law, except executing it on a 95 | computer or modifying a private copy. Propagation includes copying, 96 | distribution (with or without modification), making available to the 97 | public, and in some countries other activities as well. 98 | 99 | To "convey" a work means any kind of propagation that enables other 100 | parties to make or receive copies. Mere interaction with a user through 101 | a computer network, with no transfer of a copy, is not conveying. 102 | 103 | An interactive user interface displays "Appropriate Legal Notices" 104 | to the extent that it includes a convenient and prominently visible 105 | feature that (1) displays an appropriate copyright notice, and (2) 106 | tells the user that there is no warranty for the work (except to the 107 | extent that warranties are provided), that licensees may convey the 108 | work under this License, and how to view a copy of this License. If 109 | the interface presents a list of user commands or options, such as a 110 | menu, a prominent item in the list meets this criterion. 111 | 112 | 1. Source Code. 113 | 114 | The "source code" for a work means the preferred form of the work 115 | for making modifications to it. "Object code" means any non-source 116 | form of a work. 117 | 118 | A "Standard Interface" means an interface that either is an official 119 | standard defined by a recognized standards body, or, in the case of 120 | interfaces specified for a particular programming language, one that 121 | is widely used among developers working in that language. 122 | 123 | The "System Libraries" of an executable work include anything, other 124 | than the work as a whole, that (a) is included in the normal form of 125 | packaging a Major Component, but which is not part of that Major 126 | Component, and (b) serves only to enable use of the work with that 127 | Major Component, or to implement a Standard Interface for which an 128 | implementation is available to the public in source code form. A 129 | "Major Component", in this context, means a major essential component 130 | (kernel, window system, and so on) of the specific operating system 131 | (if any) on which the executable work runs, or a compiler used to 132 | produce the work, or an object code interpreter used to run it. 133 | 134 | The "Corresponding Source" for a work in object code form means all 135 | the source code needed to generate, install, and (for an executable 136 | work) run the object code and to modify the work, including scripts to 137 | control those activities. However, it does not include the work's 138 | System Libraries, or general-purpose tools or generally available free 139 | programs which are used unmodified in performing those activities but 140 | which are not part of the work. For example, Corresponding Source 141 | includes interface definition files associated with source files for 142 | the work, and the source code for shared libraries and dynamically 143 | linked subprograms that the work is specifically designed to require, 144 | such as by intimate data communication or control flow between those 145 | subprograms and other parts of the work. 146 | 147 | The Corresponding Source need not include anything that users 148 | can regenerate automatically from other parts of the Corresponding 149 | Source. 150 | 151 | The Corresponding Source for a work in source code form is that 152 | same work. 153 | 154 | 2. Basic Permissions. 155 | 156 | All rights granted under this License are granted for the term of 157 | copyright on the Program, and are irrevocable provided the stated 158 | conditions are met. This License explicitly affirms your unlimited 159 | permission to run the unmodified Program. The output from running a 160 | covered work is covered by this License only if the output, given its 161 | content, constitutes a covered work. This License acknowledges your 162 | rights of fair use or other equivalent, as provided by copyright law. 163 | 164 | You may make, run and propagate covered works that you do not 165 | convey, without conditions so long as your license otherwise remains 166 | in force. You may convey covered works to others for the sole purpose 167 | of having them make modifications exclusively for you, or provide you 168 | with facilities for running those works, provided that you comply with 169 | the terms of this License in conveying all material for which you do 170 | not control copyright. Those thus making or running the covered works 171 | for you must do so exclusively on your behalf, under your direction 172 | and control, on terms that prohibit them from making any copies of 173 | your copyrighted material outside their relationship with you. 174 | 175 | Conveying under any other circumstances is permitted solely under 176 | the conditions stated below. Sublicensing is not allowed; section 10 177 | makes it unnecessary. 178 | 179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 180 | 181 | No covered work shall be deemed part of an effective technological 182 | measure under any applicable law fulfilling obligations under article 183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 184 | similar laws prohibiting or restricting circumvention of such 185 | measures. 186 | 187 | When you convey a covered work, you waive any legal power to forbid 188 | circumvention of technological measures to the extent such circumvention 189 | is effected by exercising rights under this License with respect to 190 | the covered work, and you disclaim any intention to limit operation or 191 | modification of the work as a means of enforcing, against the work's 192 | users, your or third parties' legal rights to forbid circumvention of 193 | technological measures. 194 | 195 | 4. Conveying Verbatim Copies. 196 | 197 | You may convey verbatim copies of the Program's source code as you 198 | receive it, in any medium, provided that you conspicuously and 199 | appropriately publish on each copy an appropriate copyright notice; 200 | keep intact all notices stating that this License and any 201 | non-permissive terms added in accord with section 7 apply to the code; 202 | keep intact all notices of the absence of any warranty; and give all 203 | recipients a copy of this License along with the Program. 204 | 205 | You may charge any price or no price for each copy that you convey, 206 | and you may offer support or warranty protection for a fee. 207 | 208 | 5. Conveying Modified Source Versions. 209 | 210 | You may convey a work based on the Program, or the modifications to 211 | produce it from the Program, in the form of source code under the 212 | terms of section 4, provided that you also meet all of these conditions: 213 | 214 | a) The work must carry prominent notices stating that you modified 215 | it, and giving a relevant date. 216 | 217 | b) The work must carry prominent notices stating that it is 218 | released under this License and any conditions added under section 219 | 7. This requirement modifies the requirement in section 4 to 220 | "keep intact all notices". 221 | 222 | c) You must license the entire work, as a whole, under this 223 | License to anyone who comes into possession of a copy. This 224 | License will therefore apply, along with any applicable section 7 225 | additional terms, to the whole of the work, and all its parts, 226 | regardless of how they are packaged. This License gives no 227 | permission to license the work in any other way, but it does not 228 | invalidate such permission if you have separately received it. 229 | 230 | d) If the work has interactive user interfaces, each must display 231 | Appropriate Legal Notices; however, if the Program has interactive 232 | interfaces that do not display Appropriate Legal Notices, your 233 | work need not make them do so. 234 | 235 | A compilation of a covered work with other separate and independent 236 | works, which are not by their nature extensions of the covered work, 237 | and which are not combined with it such as to form a larger program, 238 | in or on a volume of a storage or distribution medium, is called an 239 | "aggregate" if the compilation and its resulting copyright are not 240 | used to limit the access or legal rights of the compilation's users 241 | beyond what the individual works permit. Inclusion of a covered work 242 | in an aggregate does not cause this License to apply to the other 243 | parts of the aggregate. 244 | 245 | 6. Conveying Non-Source Forms. 246 | 247 | You may convey a covered work in object code form under the terms 248 | of sections 4 and 5, provided that you also convey the 249 | machine-readable Corresponding Source under the terms of this License, 250 | in one of these ways: 251 | 252 | a) Convey the object code in, or embodied in, a physical product 253 | (including a physical distribution medium), accompanied by the 254 | Corresponding Source fixed on a durable physical medium 255 | customarily used for software interchange. 256 | 257 | b) Convey the object code in, or embodied in, a physical product 258 | (including a physical distribution medium), accompanied by a 259 | written offer, valid for at least three years and valid for as 260 | long as you offer spare parts or customer support for that product 261 | model, to give anyone who possesses the object code either (1) a 262 | copy of the Corresponding Source for all the software in the 263 | product that is covered by this License, on a durable physical 264 | medium customarily used for software interchange, for a price no 265 | more than your reasonable cost of physically performing this 266 | conveying of source, or (2) access to copy the 267 | Corresponding Source from a network server at no charge. 268 | 269 | c) Convey individual copies of the object code with a copy of the 270 | written offer to provide the Corresponding Source. This 271 | alternative is allowed only occasionally and noncommercially, and 272 | only if you received the object code with such an offer, in accord 273 | with subsection 6b. 274 | 275 | d) Convey the object code by offering access from a designated 276 | place (gratis or for a charge), and offer equivalent access to the 277 | Corresponding Source in the same way through the same place at no 278 | further charge. You need not require recipients to copy the 279 | Corresponding Source along with the object code. If the place to 280 | copy the object code is a network server, the Corresponding Source 281 | may be on a different server (operated by you or a third party) 282 | that supports equivalent copying facilities, provided you maintain 283 | clear directions next to the object code saying where to find the 284 | Corresponding Source. Regardless of what server hosts the 285 | Corresponding Source, you remain obligated to ensure that it is 286 | available for as long as needed to satisfy these requirements. 287 | 288 | e) Convey the object code using peer-to-peer transmission, provided 289 | you inform other peers where the object code and Corresponding 290 | Source of the work are being offered to the general public at no 291 | charge under subsection 6d. 292 | 293 | A separable portion of the object code, whose source code is excluded 294 | from the Corresponding Source as a System Library, need not be 295 | included in conveying the object code work. 296 | 297 | A "User Product" is either (1) a "consumer product", which means any 298 | tangible personal property which is normally used for personal, family, 299 | or household purposes, or (2) anything designed or sold for incorporation 300 | into a dwelling. In determining whether a product is a consumer product, 301 | doubtful cases shall be resolved in favor of coverage. For a particular 302 | product received by a particular user, "normally used" refers to a 303 | typical or common use of that class of product, regardless of the status 304 | of the particular user or of the way in which the particular user 305 | actually uses, or expects or is expected to use, the product. A product 306 | is a consumer product regardless of whether the product has substantial 307 | commercial, industrial or non-consumer uses, unless such uses represent 308 | the only significant mode of use of the product. 309 | 310 | "Installation Information" for a User Product means any methods, 311 | procedures, authorization keys, or other information required to install 312 | and execute modified versions of a covered work in that User Product from 313 | a modified version of its Corresponding Source. The information must 314 | suffice to ensure that the continued functioning of the modified object 315 | code is in no case prevented or interfered with solely because 316 | modification has been made. 317 | 318 | If you convey an object code work under this section in, or with, or 319 | specifically for use in, a User Product, and the conveying occurs as 320 | part of a transaction in which the right of possession and use of the 321 | User Product is transferred to the recipient in perpetuity or for a 322 | fixed term (regardless of how the transaction is characterized), the 323 | Corresponding Source conveyed under this section must be accompanied 324 | by the Installation Information. But this requirement does not apply 325 | if neither you nor any third party retains the ability to install 326 | modified object code on the User Product (for example, the work has 327 | been installed in ROM). 328 | 329 | The requirement to provide Installation Information does not include a 330 | requirement to continue to provide support service, warranty, or updates 331 | for a work that has been modified or installed by the recipient, or for 332 | the User Product in which it has been modified or installed. Access to a 333 | network may be denied when the modification itself materially and 334 | adversely affects the operation of the network or violates the rules and 335 | protocols for communication across the network. 336 | 337 | Corresponding Source conveyed, and Installation Information provided, 338 | in accord with this section must be in a format that is publicly 339 | documented (and with an implementation available to the public in 340 | source code form), and must require no special password or key for 341 | unpacking, reading or copying. 342 | 343 | 7. Additional Terms. 344 | 345 | "Additional permissions" are terms that supplement the terms of this 346 | License by making exceptions from one or more of its conditions. 347 | Additional permissions that are applicable to the entire Program shall 348 | be treated as though they were included in this License, to the extent 349 | that they are valid under applicable law. If additional permissions 350 | apply only to part of the Program, that part may be used separately 351 | under those permissions, but the entire Program remains governed by 352 | this License without regard to the additional permissions. 353 | 354 | When you convey a copy of a covered work, you may at your option 355 | remove any additional permissions from that copy, or from any part of 356 | it. (Additional permissions may be written to require their own 357 | removal in certain cases when you modify the work.) You may place 358 | additional permissions on material, added by you to a covered work, 359 | for which you have or can give appropriate copyright permission. 360 | 361 | Notwithstanding any other provision of this License, for material you 362 | add to a covered work, you may (if authorized by the copyright holders of 363 | that material) supplement the terms of this License with terms: 364 | 365 | a) Disclaiming warranty or limiting liability differently from the 366 | terms of sections 15 and 16 of this License; or 367 | 368 | b) Requiring preservation of specified reasonable legal notices or 369 | author attributions in that material or in the Appropriate Legal 370 | Notices displayed by works containing it; or 371 | 372 | c) Prohibiting misrepresentation of the origin of that material, or 373 | requiring that modified versions of such material be marked in 374 | reasonable ways as different from the original version; or 375 | 376 | d) Limiting the use for publicity purposes of names of licensors or 377 | authors of the material; or 378 | 379 | e) Declining to grant rights under trademark law for use of some 380 | trade names, trademarks, or service marks; or 381 | 382 | f) Requiring indemnification of licensors and authors of that 383 | material by anyone who conveys the material (or modified versions of 384 | it) with contractual assumptions of liability to the recipient, for 385 | any liability that these contractual assumptions directly impose on 386 | those licensors and authors. 387 | 388 | All other non-permissive additional terms are considered "further 389 | restrictions" within the meaning of section 10. If the Program as you 390 | received it, or any part of it, contains a notice stating that it is 391 | governed by this License along with a term that is a further 392 | restriction, you may remove that term. If a license document contains 393 | a further restriction but permits relicensing or conveying under this 394 | License, you may add to a covered work material governed by the terms 395 | of that license document, provided that the further restriction does 396 | not survive such relicensing or conveying. 397 | 398 | If you add terms to a covered work in accord with this section, you 399 | must place, in the relevant source files, a statement of the 400 | additional terms that apply to those files, or a notice indicating 401 | where to find the applicable terms. 402 | 403 | Additional terms, permissive or non-permissive, may be stated in the 404 | form of a separately written license, or stated as exceptions; 405 | the above requirements apply either way. 406 | 407 | 8. Termination. 408 | 409 | You may not propagate or modify a covered work except as expressly 410 | provided under this License. Any attempt otherwise to propagate or 411 | modify it is void, and will automatically terminate your rights under 412 | this License (including any patent licenses granted under the third 413 | paragraph of section 11). 414 | 415 | However, if you cease all violation of this License, then your 416 | license from a particular copyright holder is reinstated (a) 417 | provisionally, unless and until the copyright holder explicitly and 418 | finally terminates your license, and (b) permanently, if the copyright 419 | holder fails to notify you of the violation by some reasonable means 420 | prior to 60 days after the cessation. 421 | 422 | Moreover, your license from a particular copyright holder is 423 | reinstated permanently if the copyright holder notifies you of the 424 | violation by some reasonable means, this is the first time you have 425 | received notice of violation of this License (for any work) from that 426 | copyright holder, and you cure the violation prior to 30 days after 427 | your receipt of the notice. 428 | 429 | Termination of your rights under this section does not terminate the 430 | licenses of parties who have received copies or rights from you under 431 | this License. If your rights have been terminated and not permanently 432 | reinstated, you do not qualify to receive new licenses for the same 433 | material under section 10. 434 | 435 | 9. Acceptance Not Required for Having Copies. 436 | 437 | You are not required to accept this License in order to receive or 438 | run a copy of the Program. Ancillary propagation of a covered work 439 | occurring solely as a consequence of using peer-to-peer transmission 440 | to receive a copy likewise does not require acceptance. However, 441 | nothing other than this License grants you permission to propagate or 442 | modify any covered work. These actions infringe copyright if you do 443 | not accept this License. Therefore, by modifying or propagating a 444 | covered work, you indicate your acceptance of this License to do so. 445 | 446 | 10. Automatic Licensing of Downstream Recipients. 447 | 448 | Each time you convey a covered work, the recipient automatically 449 | receives a license from the original licensors, to run, modify and 450 | propagate that work, subject to this License. You are not responsible 451 | for enforcing compliance by third parties with this License. 452 | 453 | An "entity transaction" is a transaction transferring control of an 454 | organization, or substantially all assets of one, or subdividing an 455 | organization, or merging organizations. If propagation of a covered 456 | work results from an entity transaction, each party to that 457 | transaction who receives a copy of the work also receives whatever 458 | licenses to the work the party's predecessor in interest had or could 459 | give under the previous paragraph, plus a right to possession of the 460 | Corresponding Source of the work from the predecessor in interest, if 461 | the predecessor has it or can get it with reasonable efforts. 462 | 463 | You may not impose any further restrictions on the exercise of the 464 | rights granted or affirmed under this License. For example, you may 465 | not impose a license fee, royalty, or other charge for exercise of 466 | rights granted under this License, and you may not initiate litigation 467 | (including a cross-claim or counterclaim in a lawsuit) alleging that 468 | any patent claim is infringed by making, using, selling, offering for 469 | sale, or importing the Program or any portion of it. 470 | 471 | 11. Patents. 472 | 473 | A "contributor" is a copyright holder who authorizes use under this 474 | License of the Program or a work on which the Program is based. The 475 | work thus licensed is called the contributor's "contributor version". 476 | 477 | A contributor's "essential patent claims" are all patent claims 478 | owned or controlled by the contributor, whether already acquired or 479 | hereafter acquired, that would be infringed by some manner, permitted 480 | by this License, of making, using, or selling its contributor version, 481 | but do not include claims that would be infringed only as a 482 | consequence of further modification of the contributor version. For 483 | purposes of this definition, "control" includes the right to grant 484 | patent sublicenses in a manner consistent with the requirements of 485 | this License. 486 | 487 | Each contributor grants you a non-exclusive, worldwide, royalty-free 488 | patent license under the contributor's essential patent claims, to 489 | make, use, sell, offer for sale, import and otherwise run, modify and 490 | propagate the contents of its contributor version. 491 | 492 | In the following three paragraphs, a "patent license" is any express 493 | agreement or commitment, however denominated, not to enforce a patent 494 | (such as an express permission to practice a patent or covenant not to 495 | sue for patent infringement). To "grant" such a patent license to a 496 | party means to make such an agreement or commitment not to enforce a 497 | patent against the party. 498 | 499 | If you convey a covered work, knowingly relying on a patent license, 500 | and the Corresponding Source of the work is not available for anyone 501 | to copy, free of charge and under the terms of this License, through a 502 | publicly available network server or other readily accessible means, 503 | then you must either (1) cause the Corresponding Source to be so 504 | available, or (2) arrange to deprive yourself of the benefit of the 505 | patent license for this particular work, or (3) arrange, in a manner 506 | consistent with the requirements of this License, to extend the patent 507 | license to downstream recipients. "Knowingly relying" means you have 508 | actual knowledge that, but for the patent license, your conveying the 509 | covered work in a country, or your recipient's use of the covered work 510 | in a country, would infringe one or more identifiable patents in that 511 | country that you have reason to believe are valid. 512 | 513 | If, pursuant to or in connection with a single transaction or 514 | arrangement, you convey, or propagate by procuring conveyance of, a 515 | covered work, and grant a patent license to some of the parties 516 | receiving the covered work authorizing them to use, propagate, modify 517 | or convey a specific copy of the covered work, then the patent license 518 | you grant is automatically extended to all recipients of the covered 519 | work and works based on it. 520 | 521 | A patent license is "discriminatory" if it does not include within 522 | the scope of its coverage, prohibits the exercise of, or is 523 | conditioned on the non-exercise of one or more of the rights that are 524 | specifically granted under this License. You may not convey a covered 525 | work if you are a party to an arrangement with a third party that is 526 | in the business of distributing software, under which you make payment 527 | to the third party based on the extent of your activity of conveying 528 | the work, and under which the third party grants, to any of the 529 | parties who would receive the covered work from you, a discriminatory 530 | patent license (a) in connection with copies of the covered work 531 | conveyed by you (or copies made from those copies), or (b) primarily 532 | for and in connection with specific products or compilations that 533 | contain the covered work, unless you entered into that arrangement, 534 | or that patent license was granted, prior to 28 March 2007. 535 | 536 | Nothing in this License shall be construed as excluding or limiting 537 | any implied license or other defenses to infringement that may 538 | otherwise be available to you under applicable patent law. 539 | 540 | 12. No Surrender of Others' Freedom. 541 | 542 | If conditions are imposed on you (whether by court order, agreement or 543 | otherwise) that contradict the conditions of this License, they do not 544 | excuse you from the conditions of this License. If you cannot convey a 545 | covered work so as to satisfy simultaneously your obligations under this 546 | License and any other pertinent obligations, then as a consequence you may 547 | not convey it at all. For example, if you agree to terms that obligate you 548 | to collect a royalty for further conveying from those to whom you convey 549 | the Program, the only way you could satisfy both those terms and this 550 | License would be to refrain entirely from conveying the Program. 551 | 552 | 13. Use with the GNU Affero General Public License. 553 | 554 | Notwithstanding any other provision of this License, you have 555 | permission to link or combine any covered work with a work licensed 556 | under version 3 of the GNU Affero General Public License into a single 557 | combined work, and to convey the resulting work. The terms of this 558 | License will continue to apply to the part which is the covered work, 559 | but the special requirements of the GNU Affero General Public License, 560 | section 13, concerning interaction through a network will apply to the 561 | combination as such. 562 | 563 | 14. Revised Versions of this License. 564 | 565 | The Free Software Foundation may publish revised and/or new versions of 566 | the GNU General Public License from time to time. Such new versions will 567 | be similar in spirit to the present version, but may differ in detail to 568 | address new problems or concerns. 569 | 570 | Each version is given a distinguishing version number. If the 571 | Program specifies that a certain numbered version of the GNU General 572 | Public License "or any later version" applies to it, you have the 573 | option of following the terms and conditions either of that numbered 574 | version or of any later version published by the Free Software 575 | Foundation. If the Program does not specify a version number of the 576 | GNU General Public License, you may choose any version ever published 577 | by the Free Software Foundation. 578 | 579 | If the Program specifies that a proxy can decide which future 580 | versions of the GNU General Public License can be used, that proxy's 581 | public statement of acceptance of a version permanently authorizes you 582 | to choose that version for the Program. 583 | 584 | Later license versions may give you additional or different 585 | permissions. However, no additional obligations are imposed on any 586 | author or copyright holder as a result of your choosing to follow a 587 | later version. 588 | 589 | 15. Disclaimer of Warranty. 590 | 591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 599 | 600 | 16. Limitation of Liability. 601 | 602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 610 | SUCH DAMAGES. 611 | 612 | 17. Interpretation of Sections 15 and 16. 613 | 614 | If the disclaimer of warranty and limitation of liability provided 615 | above cannot be given local legal effect according to their terms, 616 | reviewing courts shall apply local law that most closely approximates 617 | an absolute waiver of all civil liability in connection with the 618 | Program, unless a warranty or assumption of liability accompanies a 619 | copy of the Program in return for a fee. 620 | 621 | END OF TERMS AND CONDITIONS 622 | 623 | How to Apply These Terms to Your New Programs 624 | 625 | If you develop a new program, and you want it to be of the greatest 626 | possible use to the public, the best way to achieve this is to make it 627 | free software which everyone can redistribute and change under these terms. 628 | 629 | To do so, attach the following notices to the program. It is safest 630 | to attach them to the start of each source file to most effectively 631 | state the exclusion of warranty; and each file should have at least 632 | the "copyright" line and a pointer to where the full notice is found. 633 | 634 | 635 | Copyright (C) 636 | 637 | This program is free software: you can redistribute it and/or modify 638 | it under the terms of the GNU General Public License as published by 639 | the Free Software Foundation, either version 3 of the License, or 640 | (at your option) any later version. 641 | 642 | This program is distributed in the hope that it will be useful, 643 | but WITHOUT ANY WARRANTY; without even the implied warranty of 644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 645 | GNU General Public License for more details. 646 | 647 | You should have received a copy of the GNU General Public License 648 | along with this program. If not, see . 649 | 650 | Also add information on how to contact you by electronic and paper mail. 651 | 652 | If the program does terminal interaction, make it output a short 653 | notice like this when it starts in an interactive mode: 654 | 655 | Copyright (C) 656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 657 | This is free software, and you are welcome to redistribute it 658 | under certain conditions; type `show c' for details. 659 | 660 | The hypothetical commands `show w' and `show c' should show the appropriate 661 | parts of the General Public License. Of course, your program's commands 662 | might be different; for a GUI interface, you would use an "about box". 663 | 664 | You should also get your employer (if you work as a programmer) or school, 665 | if any, to sign a "copyright disclaimer" for the program, if necessary. 666 | For more information on this, and how to apply and follow the GNU GPL, see 667 | . 668 | 669 | The GNU General Public License does not permit incorporating your program 670 | into proprietary programs. If your program is a subroutine library, you 671 | may consider it more useful to permit linking proprietary applications with 672 | the library. If this is what you want to do, use the GNU Lesser General 673 | Public License instead of this License. But first, please read 674 | . 675 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SystemVerilogSHA256 2 | 3 | SystemVerilog SHA256 Hardware Design / FPGA Bitcoin Miner 4 | 5 | 6 | The design can now hash as many bytes as is needed for the application. 7 | This means it's ready to hash a Bitcoin block, as well (for example). 8 | 9 | The module `sha_256.sv` is a parametrized SHA256 calculator which allows you to hash any data. Usage can be seen in the testbench `sha_256_tb.sv`. 10 | 11 | `miner.sv` is basically a Bitcoin miner, a module that implements two instances of `sha_256.sv` and byte-reversing the result. It is specifically made for this task, so you don't have to pass any parameters, just connect the 80-byte block header, a clock and a reset signal, as well as a flag to know whether the hash is calculated and a register to store the hash in. 12 | 13 | All testbenches are running fine in Icarus Verilog and the modules return the right results. 14 | As I use this open-source software, that doesn't support System Verilog natively, the modules are always converted to Verilog files with a few simple commands. Because of that I couldn't use exclusive System Verilog features, so it's basically plain Verilog. 15 | 16 | Update on the display part: I figured it's easiest to have that part done by an Arduino Nano / 328P, getting the number to display via some pins as there's a great library (Adafruit_SSD1331) that worked perfectly in just a few minutes. 17 | My Verilog controller for the PmodOLEDrgb is going to be done some time later on! 18 | 19 | Next steps are: 20 | - [X] Getting raw data of the Bitcoin Genesis block (#1) 21 | - [X] Hashing that (#2) 22 | - [ ] Executing on FPGA 23 | - [ ] Try a combination with a UART USB bridge 24 | - [X] Display hashes via LCD / VGA 25 | - [ ] Lots of optimization / making it both more efficient and the code more readable 26 | 27 | 28 | Useful resources that I used: 29 | (#1): 30 | https://en.bitcoin.it/wiki/Genesis_block#cite_note-block-1 31 | https://webbtc.com/block/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f.hex 32 | (#2): 33 | https://www.reddit.com/r/Bitcoin/comments/6gl8ol/how_to_manually_verify_a_hash_from_a_block/ 34 | 35 | 36 | # How to use the miner? 37 | The miner_tb.sv tesbench is the easiest way to use / test the main module. 38 | Put a 80 byte BTC block header in the `message` register and execute the simulation! 39 | Icarus Verilog will also output the computed result to the command line. 40 | As an example, take the first 80 bytes of the block found [here](https://webbtc.com/block/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f.hex) and compare them to the hash found when you remove the '.hex' from the link, [here](https://webbtc.com/block/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f). 41 | 42 | # 43 | 44 | |Communication| 45 | |:-----------:| 46 | | [![Find me on Pnut](https://img.shields.io/badge/Pnut-unixb0y-yellowgreen.svg)](http://pnut.io/@unixb0y) [![Find me on Twitter](https://img.shields.io/badge/Twitter-unixb0y-00aced.svg)](https://twitter.com/unixb0y) [![Send me an Email](https://img.shields.io/badge/E--Mail-unixb0y-lightgrey.svg)](mailto:unixb0y@protonmail.com) [![Website](https://img.shields.io/badge/Web-unixb0y-red.svg)](http://unixb0y.github.io)| 47 | -------------------------------------------------------------------------------- /miner.sv: -------------------------------------------------------------------------------- 1 | `default_nettype none 2 | `timescale 1 ns / 10 ps 3 | 4 | module miner (input logic [639:0] block, 5 | input logic clk, rst, 6 | output logic [255:0] hashed, 7 | output logic done); 8 | 9 | logic [255:0] first_hash; 10 | logic [255:0] secnd_hash; 11 | 12 | logic second_run_rst; 13 | logic done_first_hash; 14 | logic done_secnd_hash; 15 | 16 | sha_256 #(.MSG_SIZE(640), .PADDED_SIZE(1024)) first (.message(block), .hashed(first_hash), .clk(clk), .rst(rst), .done(done_first_hash)); 17 | sha_256 #(.MSG_SIZE(256), .PADDED_SIZE(512)) second (.message(first_hash), .hashed(secnd_hash), .clk(clk), .rst(second_run_rst), .done(done_secnd_hash)); 18 | 19 | // always @* second_run_rst <= 1'b0; 20 | 21 | always @(posedge clk) begin 22 | if (done_first_hash === 1'bX) second_run_rst <= 1'b1; 23 | else if (done_first_hash == 1'b1) second_run_rst <= 1'b0; 24 | end 25 | 26 | assign done = done_secnd_hash; 27 | assign hashed = {secnd_hash[7:0], secnd_hash[15:8], secnd_hash[23:16], secnd_hash[31:24], secnd_hash[39:32], secnd_hash[47:40], secnd_hash[55:48], secnd_hash[63:56], secnd_hash[71:64], secnd_hash[79:72], secnd_hash[87:80], secnd_hash[95:88], secnd_hash[103:96], secnd_hash[111:104], secnd_hash[119:112], secnd_hash[127:120], secnd_hash[135:128], secnd_hash[143:136], secnd_hash[151:144], secnd_hash[159:152], secnd_hash[167:160], secnd_hash[175:168], secnd_hash[183:176], secnd_hash[191:184], secnd_hash[199:192], secnd_hash[207:200], secnd_hash[215:208], secnd_hash[223:216], secnd_hash[231:224], secnd_hash[239:232], secnd_hash[247:240], secnd_hash[255:248]}; 28 | 29 | endmodule -------------------------------------------------------------------------------- /miner_tb.sv: -------------------------------------------------------------------------------- 1 | `default_nettype none 2 | `timescale 1 ns / 10 ps 3 | 4 | module miner_tb; 5 | logic[639:0] message; 6 | logic [255:0] hashed; 7 | logic clk, rst, done; 8 | 9 | miner uut (.block(message), .hashed(hashed), .clk(clk), .rst(rst), .done(done)); 10 | 11 | initial begin 12 | $dumpfile("miner_tb.vcd"); 13 | $dumpvars; 14 | assign message = 640'h0100000000000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a29ab5f49ffff001d1dac2b7c; 15 | assign clk = 0; 16 | assign rst = 1; #5 17 | assign rst = 0; 18 | while(done !== 1'b1) begin 19 | assign clk = ~clk; 20 | #5; 21 | end 22 | $display("FINISHED miner_tb"); 23 | $display("Hash: %h", hashed); 24 | $finish; 25 | end 26 | endmodule -------------------------------------------------------------------------------- /sha_256.sv: -------------------------------------------------------------------------------- 1 | `default_nettype none 2 | `timescale 1 ns / 10 ps 3 | 4 | module sha_256 #(parameter MSG_SIZE = 24, 5 | parameter PADDED_SIZE = 512) 6 | (input logic [MSG_SIZE-1:0] message, 7 | input logic clk, rst, 8 | output logic [255:0] hashed, 9 | output logic done); 10 | 11 | logic[PADDED_SIZE-1:0] padded; 12 | 13 | sha_padder #(.MSG_SIZE(MSG_SIZE), .PADDED_SIZE(PADDED_SIZE)) padder (.message(message), .padded(padded)); 14 | sha_mainloop #(.PADDED_SIZE(PADDED_SIZE)) loop (.padded(padded), .hashed(hashed), .clk(clk), .rst(rst), .done(done)); 15 | endmodule // sha_256 -------------------------------------------------------------------------------- /sha_256_tb.sv: -------------------------------------------------------------------------------- 1 | `default_nettype none 2 | `timescale 1 ns / 10 ps 3 | 4 | module sha_256_tb; 5 | logic[31:0] message; 6 | logic [255:0] hashed; 7 | logic clk, rst, done; 8 | 9 | function automatic [31:0] padded_size; 10 | input [31:0] message_size; 11 | padded_size = (message_size+1 > 448) ? ((message_size < 512) ? 1024 : padded_size(message_size-512)+512) : 512; 12 | endfunction 13 | 14 | sha_256 #(.MSG_SIZE(32), .PADDED_SIZE(padded_size(32))) uut (.message(message), .hashed(hashed), .clk(clk), .rst(rst), .done(done)); 15 | 16 | initial begin 17 | $dumpfile("sha_256_tb.vcd"); 18 | $dumpvars; 19 | // assign message = "abc"; 20 | assign message = "Dave"; 21 | assign clk = 0; 22 | assign rst = 1; #5 23 | assign rst = 0; 24 | while(done !== 1'b1) begin 25 | assign clk = ~clk; 26 | #5; 27 | end 28 | $display("FINISHED sha_256_tb"); 29 | $display("Hash: %h", hashed); 30 | $finish; 31 | end 32 | endmodule -------------------------------------------------------------------------------- /sha_256_tb.vcd: -------------------------------------------------------------------------------- 1 | $date 2 | Mon Feb 5 11:04:14 2018 3 | $end 4 | $version 5 | Icarus Verilog 6 | $end 7 | $timescale 8 | 10ps 9 | $end 10 | $scope module sha_256_tb $end 11 | $var wire 256 ! hashed [255:0] $end 12 | $var wire 1 " done $end 13 | $var reg 1 # clk $end 14 | $var reg 256 $ message [255:0] $end 15 | $var reg 1 % rst $end 16 | $scope function padded_size $end 17 | $upscope $end 18 | $scope module uut $end 19 | $var wire 1 # clk $end 20 | $var wire 256 & message [255:0] $end 21 | $var wire 1 % rst $end 22 | $var wire 512 ' padded [511:0] $end 23 | $var wire 256 ( hashed [255:0] $end 24 | $var wire 1 " done $end 25 | $scope module loop $end 26 | $var wire 1 # clk $end 27 | $var wire 1 % rst $end 28 | $var wire 512 ) padded [511:0] $end 29 | $var wire 256 * hashed [255:0] $end 30 | $var reg 32 + a [31:0] $end 31 | $var reg 32 , b [31:0] $end 32 | $var reg 32 - c [31:0] $end 33 | $var reg 32 . ch_efg [31:0] $end 34 | $var reg 32 / d [31:0] $end 35 | $var reg 1 " done $end 36 | $var reg 32 0 e [31:0] $end 37 | $var reg 32 1 f [31:0] $end 38 | $var reg 32 2 g [31:0] $end 39 | $var reg 32 3 h [31:0] $end 40 | $var reg 32 4 h1 [31:0] $end 41 | $var reg 32 5 h2 [31:0] $end 42 | $var reg 32 6 h3 [31:0] $end 43 | $var reg 32 7 h4 [31:0] $end 44 | $var reg 32 8 h5 [31:0] $end 45 | $var reg 32 9 h6 [31:0] $end 46 | $var reg 32 : h7 [31:0] $end 47 | $var reg 32 ; h8 [31:0] $end 48 | $var reg 7 < i [6:0] $end 49 | $var reg 256 = initial_hashes [255:0] $end 50 | $var reg 7 > j [6:0] $end 51 | $var reg 2048 ? k [2047:0] $end 52 | $var reg 32 @ kj [31:0] $end 53 | $var reg 32 A maj_abc [31:0] $end 54 | $var reg 32 B sum0_a [31:0] $end 55 | $var reg 32 C sum1_e [31:0] $end 56 | $var reg 32 D t1 [31:0] $end 57 | $var reg 32 E t2 [31:0] $end 58 | $var reg 32 F wj [31:0] $end 59 | $scope function K $end 60 | $var reg 32 G K [31:0] $end 61 | $var reg 7 H x [6:0] $end 62 | $upscope $end 63 | $scope function W $end 64 | $upscope $end 65 | $scope function ch $end 66 | $var reg 32 I ch [31:0] $end 67 | $var reg 32 J x [31:0] $end 68 | $var reg 32 K y [31:0] $end 69 | $var reg 32 L z [31:0] $end 70 | $upscope $end 71 | $scope function maj $end 72 | $var reg 32 M maj [31:0] $end 73 | $var reg 32 N x [31:0] $end 74 | $var reg 32 O y [31:0] $end 75 | $var reg 32 P z [31:0] $end 76 | $upscope $end 77 | $scope function rho0 $end 78 | $upscope $end 79 | $scope function rho1 $end 80 | $upscope $end 81 | $scope function sum0 $end 82 | $var reg 32 Q sum0 [31:0] $end 83 | $var reg 32 R x [31:0] $end 84 | $upscope $end 85 | $scope function sum1 $end 86 | $var reg 32 S sum1 [31:0] $end 87 | $var reg 32 T x [31:0] $end 88 | $upscope $end 89 | $upscope $end 90 | $scope module padder $end 91 | $var wire 256 U message [255:0] $end 92 | $var wire 512 V padded [511:0] $end 93 | $upscope $end 94 | $upscope $end 95 | $upscope $end 96 | $enddefinitions $end 97 | #0 98 | $dumpvars 99 | b10101101010000101000110001000110111011100101111011001101110110001100011010111000110001101110000110001001010100001011101110101000110000110010100001101100000101010100010000001111000111001111101101111100111100101001101111111000111111001000111001101001110011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000 V 100 | b1010110101000010100011000100011011101110010111101100110111011000110001101011100011000110111000011000100101010000101110111010100011000011001010000110110000010101010001000000111100011100111110110111110011110010100110111111100011111100100011100110100111001 U 101 | bx T 102 | b100010001000 S 103 | bx R 104 | b100010001000 Q 105 | bx P 106 | bx O 107 | bx N 108 | b100010001000 M 109 | bx L 110 | bx K 111 | bx J 112 | b100010001000 I 113 | b0x H 114 | bx G 115 | b11101110111 F 116 | bx E 117 | bx D 118 | b100010001000 C 119 | b100010001000 B 120 | b100010001000 A 121 | bx @ 122 | b1000010100010100010111110011000011100010011011101000100100100011011010111000000111110111100111111101001101101011101101110100101001110010101011011000010010110110101100111110001000100011111000110010010001111111000001010100100101010110001110001011110110101011101100000000111101010101001100000010010100000110101101100000001001001000011000110000101101111100101010100001100011111011100001101110010101111100101110101110100100000001101111010110001111111101001101111011100000001101010011111000001100110111111000101110100111001001001101101101001110000011110111110111110010001111000011000001111110000011001110111000110001001000000110010100001110011000010110111101001001011000110111101001010011101001000010010101010010111001011000010101001110111000111011011111001100010001101101010011000001111100101000101010010101010000011000111000110011011011011000000000011001001111100100010111111010110010111111111000111110001101110000000001011111100111101010110100111100100010100011100000110110010100110001101010001000101000010100100101001011001110010011110110111000010101000010100101110000110110010000100111000010011010010110001101101111111000101001100111000000011010001001101100101000010100111001101010100011101100110101000001010101110111000000111000010110010010010111010010010011100100010110010000101101000101011111111101000101000011010100000011010011001100100101111000010010010111000101101110000110001110110110001010001101000111101000110010010111010000001100111010110100110010000011000100100111101000000111000110101100001010001000001101010101000000111000000011001101001001100000100010110000111100011011101101100000010000010011101001000011101110100110000110100101100001011110010110101001110010001110000001100101100110100111011011000101010100100101001011011100111001100101001001111011010000010111001101111111100110111010010001111100000101110111001111000101001010110001101101111100001001100100001111000000101001000110011000111000000100000100010010000101111101111111111111010101001000101000001101100111010111011111011111001101000111111011111000110011100010111100011110010 ? 123 | b0x > 124 | b110101000001001111001100110011110111011011001111010111010000101001111000110111011110011011100101010010101001111111101010011101001010001000011100101001001111111100110110000010101101000100011000001111110000011110110011010101101011011111000001100110100011001 = 125 | b0 < 126 | b1011011111000001100110100011001 ; 127 | b11111100000111101100110101011 : 128 | b10011011000001010110100010001100 9 129 | b1010001000011100101001001111111 8 130 | b10100101010011111111010100111010 7 131 | b111100011011101111001101110010 6 132 | b10111011011001111010111010000101 5 133 | b1101010000010011110011001100111 4 134 | bx 3 135 | bx 2 136 | bx 1 137 | bx 0 138 | bx / 139 | b100010001000 . 140 | bx - 141 | bx , 142 | bx + 143 | b110101000001001111001100110011110111011011001111010111010000101001111000110111011110011011100101010010101001111111101010011101001010001000011100101001001111111100110110000010101101000100011000001111110000011110110011010101101011011111000001100110100011001 * 144 | b10101101010000101000110001000110111011100101111011001101110110001100011010111000110001101110000110001001010100001011101110101000110000110010100001101100000101010100010000001111000111001111101101111100111100101001101111111000111111001000111001101001110011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000 ) 145 | b110101000001001111001100110011110111011011001111010111010000101001111000110111011110011011100101010010101001111111101010011101001010001000011100101001001111111100110110000010101101000100011000001111110000011110110011010101101011011111000001100110100011001 ( 146 | b10101101010000101000110001000110111011100101111011001101110110001100011010111000110001101110000110001001010100001011101110101000110000110010100001101100000101010100010000001111000111001111101101111100111100101001101111111000111111001000111001101001110011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000 ' 147 | b1010110101000010100011000100011011101110010111101100110111011000110001101011100011000110111000011000100101010000101110111010100011000011001010000110110000010101010001000000111100011100111110110111110011110010100110111111100011111100100011100110100111001 & 148 | 1% 149 | b1010110101000010100011000100011011101110010111101100110111011000110001101011100011000110111000011000100101010000101110111010100011000011001010000110110000010101010001000000111100011100111110110111110011110010100110111111100011111100100011100110100111001 $ 150 | 0# 151 | x" 152 | b110101000001001111001100110011110111011011001111010111010000101001111000110111011110011011100101010010101001111111101010011101001010001000011100101001001111111100110110000010101101000100011000001111110000011110110011010101101011011111000001100110100011001 ! 153 | $end 154 | #500 155 | b1000010100010100010111110011000 @ 156 | b1000010100010100010111110011000 G 157 | b0 H 158 | b10101101010000101000110001000 F 159 | b110101100001110010011100101011 C 160 | b110101100001110010011100101011 S 161 | b1010001000011100101001001111111 T 162 | b11001110001000001011010001111110 B 163 | b11001110001000001011010001111110 Q 164 | b1101010000010011110011001100111 R 165 | b111010011011111110011001100111 A 166 | b111010011011111110011001100111 M 167 | b1101010000010011110011001100111 N 168 | b10111011011001111010111010000101 O 169 | b111100011011101111001101110010 P 170 | b11111100001011100100110001100 . 171 | b11111100001011100100110001100 I 172 | b1010001000011100101001001111111 J 173 | b10011011000001010110100010001100 K 174 | b11111100000111101100110101011 L 175 | b0 > 176 | b1011011111000001100110100011001 3 177 | b11111100000111101100110101011 2 178 | b10011011000001010110100010001100 1 179 | b1010001000011100101001001111111 0 180 | b10100101010011111111010100111010 / 181 | b111100011011101111001101110010 - 182 | b10111011011001111010111010000101 , 183 | b1101010000010011110011001100111 + 184 | 1# 185 | 0% 186 | #1000 187 | b1000100100001001101011100101 E 188 | b1001001000000011111011110000 D 189 | 0# 190 | #1500 191 | b1110001001101110100010010010001 @ 192 | b1110001001101110100010010010001 G 193 | b1 H 194 | b11011101110010111101100110111011 F 195 | b10111111101100001101110000001 C 196 | b10111111101100001101110000001 S 197 | b10101110011100000011010000101010 T 198 | b1001001101000111110111110110101 B 199 | b1001001101000111110111110110101 Q 200 | b10001101100001101100111010101 R 201 | b111011001000011110111011000101 A 202 | b111011001000011110111011000101 M 203 | b10001101100001101100111010101 N 204 | b1101010000010011110011001100111 O 205 | b10111011011001111010111010000101 P 206 | b10001000001010101100010101110 . 207 | b10001000001010101100010101110 I 208 | b10101110011100000011010000101010 J 209 | b1010001000011100101001001111111 K 210 | b10011011000001010110100010001100 L 211 | b1 > 212 | b10001101100001101100111010101 + 213 | b1101010000010011110011001100111 , 214 | b10111011011001111010111010000101 - 215 | b111100011011101111001101110010 / 216 | b10101110011100000011010000101010 0 217 | b1010001000011100101001001111111 1 218 | b10011011000001010110100010001100 2 219 | b11111100000111101100110101011 3 220 | 1# 221 | #2000 222 | b10000100110001011101111001111010 E 223 | b10010111100000100110110000100110 D 224 | 0# 225 | #2500 226 | b10110101110000001111101111001111 @ 227 | b10110101110000001111101111001111 G 228 | b10 H 229 | b11000110101110001100011011100 F 230 | b1101000111110100111011100111100 C 231 | b1101000111110100111011100111100 S 232 | b11010011111100010101111110011000 T 233 | b1110011001110000111000010011011 B 234 | b1110011001110000111000010011011 Q 235 | b11100010010000100101010100000 R 236 | b11000000010001100101011100101 A 237 | b11000000010001100101011100101 M 238 | b11100010010000100101010100000 N 239 | b10001101100001101100111010101 O 240 | b1101010000010011110011001100111 P 241 | b10000010011111100001010001101111 . 242 | b10000010011111100001010001101111 I 243 | b11010011111100010101111110011000 J 244 | b10101110011100000011010000101010 K 245 | b1010001000011100101001001111111 L 246 | b10 > 247 | b11100010010000100101010100000 + 248 | b10001101100001101100111010101 , 249 | b1101010000010011110011001100111 - 250 | b10111011011001111010111010000101 / 251 | b11010011111100010101111110011000 0 252 | b10101110011100000011010000101010 1 253 | b1010001000011100101001001111111 2 254 | b10011011000001010110100010001100 3 255 | 1# 256 | #3000 257 | b10001011010000010011101110000000 E 258 | b1010101000101100000100011100010 D 259 | 0# 260 | #3500 261 | b11101001101101011101101110100101 @ 262 | b11101001101101011101101110100101 G 263 | b11 H 264 | b110001001010100001011101110101 F 265 | b1001110011110000100101011100011 C 266 | b1001110011110000100101011100011 S 267 | b10000011111011011011101100111 T 268 | b11000110000100110101100000100011 B 269 | b11000110000100110101100000100011 Q 270 | b11100000010101110100010001100010 R 271 | b10000010100000100100011100000 A 272 | b10000010100000100100011100000 M 273 | b11100000010101110100010001100010 N 274 | b11100010010000100101010100000 O 275 | b10001101100001101100111010101 P 276 | b10111110011100010001011100001000 . 277 | b10111110011100010001011100001000 I 278 | b10000011111011011011101100111 J 279 | b11010011111100010101111110011000 K 280 | b10101110011100000011010000101010 L 281 | b11 > 282 | b11100000010101110100010001100010 + 283 | b11100010010000100101010100000 , 284 | b10001101100001101100111010101 - 285 | b1101010000010011110011001100111 / 286 | b10000011111011011011101100111 0 287 | b11010011111100010101111110011000 1 288 | b10101110011100000011010000101010 2 289 | b1010001000011100101001001111111 3 290 | 1# 291 | #4000 292 | b11010110011000111010000100000011 E 293 | b1111000110101111010011110000100 D 294 | 0# 295 | #4500 296 | b111001010101101100001001011011 @ 297 | b111001010101101100001001011011 G 298 | b100 H 299 | b11000011001010000110110000010 F 300 | b1100010001100010010111111110111 C 301 | b1100010001100010010111111110111 S 302 | b11100010111000011000110111101011 T 303 | b1111010110101101011011011000111 B 304 | b1111010110101101011011011000111 Q 305 | b1001111001110110100100010000111 R 306 | b1001100010110110100100010100010 A 307 | b1001100010110110100100010100010 M 308 | b1001111001110110100100010000111 N 309 | b11100000010101110100010001100010 O 310 | b11100010010000100101010100000 P 311 | b10001011100011101011101110011 . 312 | b10001011100011101011101110011 I 313 | b11100010111000011000110111101011 J 314 | b10000011111011011011101100111 K 315 | b11010011111100010101111110011000 L 316 | b100 > 317 | b1001111001110110100100010000111 + 318 | b11100000010101110100010001100010 , 319 | b11100010010000100101010100000 - 320 | b10001101100001101100111010101 / 321 | b11100010111000011000110111101011 0 322 | b10000011111011011011101100111 1 323 | b11010011111100010101111110011000 2 324 | b10101110011100000011010000101010 3 325 | 1# 326 | #5000 327 | b11000111001100011111111101101001 E 328 | b1110011110011110000101101110001 D 329 | 0# 330 | #5500 331 | b1011001111100010001000111110001 @ 332 | b1011001111100010001000111110001 G 333 | b101 H 334 | b10101000100000011110001110011111 F 335 | b1101001101111111001100101011 C 336 | b1101001101111111001100101011 S 337 | b10000101011111111110010101000110 T 338 | b11011100001110101111001001010010 B 339 | b11011100001110101111001001010010 Q 340 | b111011000000010000101011011010 R 341 | b1101011000100110100100011000010 A 342 | b1101011000100110100100011000010 M 343 | b111011000000010000101011011010 N 344 | b1001111001110110100100010000111 O 345 | b11100000010101110100010001100010 P 346 | b10010000011000011001011101100011 . 347 | b10010000011000011001011101100011 I 348 | b10000101011111111110010101000110 J 349 | b11100010111000011000110111101011 K 350 | b10000011111011011011101100111 L 351 | b101 > 352 | b111011000000010000101011011010 + 353 | b1001111001110110100100010000111 , 354 | b11100000010101110100010001100010 - 355 | b11100010010000100101010100000 / 356 | b10000101011111111110010101000110 0 357 | b11100010111000011000110111101011 1 358 | b10000011111011011011101100111 2 359 | b11010011111100010101111110011000 3 360 | 1# 361 | #6000 362 | b1000111010011100011101100010100 E 363 | b1110011111111011101111110110110 D 364 | 0# 365 | #6500 366 | b10010010001111111000001010100100 @ 367 | b10010010001111111000001010100100 G 368 | b110 H 369 | b1101111100111100101001101111111 F 370 | b110011100001100011101100100100 C 371 | b110011100001100011101100100100 S 372 | b10010000010001100010101001010110 T 373 | b1001000111011011111011000111111 B 374 | b1001000111011011111011000111111 Q 375 | b10111011010011000001101011001010 R 376 | b111011000010010000101011001010 A 377 | b111011000010010000101011001010 M 378 | b10111011010011000001101011001010 N 379 | b111011000000010000101011011010 O 380 | b1001111001110110100100010000111 P 381 | b11100010111001111010010111101111 . 382 | b11100010111001111010010111101111 I 383 | b10010000010001100010101001010110 J 384 | b10000101011111111110010101000110 K 385 | b11100010111000011000110111101011 L 386 | b110 > 387 | b10111011010011000001101011001010 + 388 | b111011000000010000101011011010 , 389 | b1001111001110110100100010000111 - 390 | b11100000010101110100010001100010 / 391 | b10010000010001100010101001010110 0 392 | b10000101011111111110010101000110 1 393 | b11100010111000011000110111101011 2 394 | b10000011111011011011101100111 3 395 | 1# 396 | #7000 397 | b10000011111101110000000100001001 E 398 | b101000110010010110111010011101 D 399 | 0# 400 | #7500 401 | b10101011000111000101111011010101 @ 402 | b10101011000111000101111011010101 G 403 | b111 H 404 | b11111100100011100110100111001 F 405 | b110011100111001101100101011001 C 406 | b110011100111001101100101011001 S 407 | b1001001000001011001011111111 T 408 | b11010111101110111110011101011001 B 409 | b11010111101110111110011101011001 Q 410 | b10101100110000000110111110100110 R 411 | b10111011010000000000101011001010 A 412 | b10111011010000000000101011001010 M 413 | b10101100110000000110111110100110 N 414 | b10111011010011000001101011001010 O 415 | b111011000000010000101011011010 P 416 | b10000100010111110110011101010110 . 417 | b10000100010111110110011101010110 I 418 | b1001001000001011001011111111 J 419 | b10010000010001100010101001010110 K 420 | b10000101011111111110010101000110 L 421 | b111 > 422 | b10101100110000000110111110100110 + 423 | b10111011010011000001101011001010 , 424 | b111011000000010000101011011010 - 425 | b1001111001110110100100010000111 / 426 | b1001001000001011001011111111 0 427 | b10010000010001100010101001010110 1 428 | b10000101011111111110010101000110 2 429 | b11100010111000011000110111101011 3 430 | 1# 431 | #8000 432 | b10010010111110111111001000100011 E 433 | b1100101100010111111101010101000 D 434 | 0# 435 | #8500 436 | b11011000000001111010101010011000 @ 437 | b11011000000001111010101010011000 G 438 | b1000 H 439 | b10000000000000000000000000000000 F 440 | b10111000100001000001001000111110 C 441 | b10111000100001000001001000111110 S 442 | b10110100110001110100001100101111 T 443 | b10000111110011010001000011101111 B 444 | b10000111110011010001000011101111 Q 445 | b11111000100001111110110011001011 R 446 | b10111000110001000110111011001010 A 447 | b10111000110001000110111011001010 M 448 | b11111000100001111110110011001011 N 449 | b10101100110000000110111110100110 O 450 | b10111011010011000001101011001010 P 451 | b10101001111111 . 452 | b10101001111111 I 453 | b10110100110001110100001100101111 J 454 | b1001001000001011001011111111 K 455 | b10010000010001100010101001010110 L 456 | b1000 > 457 | b11111000100001111110110011001011 + 458 | b10101100110000000110111110100110 , 459 | b10111011010011000001101011001010 - 460 | b111011000000010000101011011010 / 461 | b10110100110001110100001100101111 0 462 | b1001001000001011001011111111 1 463 | b10010000010001100010101001010110 2 464 | b10000101011111111110010101000110 3 465 | 1# 466 | #9000 467 | b1000000100100010111111110111001 E 468 | b10010110000010111100110010011011 D 469 | 0# 470 | #9500 471 | b10010100000110101101100000001 @ 472 | b10010100000110101101100000001 G 473 | b1001 H 474 | b0 F 475 | b10111111100101011010100000101111 C 476 | b10111111100101011010100000101111 S 477 | b11010001000011001101011101110101 T 478 | b100010001100001011010010100101 B 479 | b100010001100001011010010100101 Q 480 | b11010110100111010100110001010100 R 481 | b11111100100001010110110011000110 A 482 | b11111100100001010110110011000110 M 483 | b11010110100111010100110001010100 N 484 | b11111000100001111110110011001011 O 485 | b10101100110000000110111110100110 P 486 | b10011000001001000110001110101111 . 487 | b10011000001001000110001110101111 I 488 | b11010001000011001101011101110101 J 489 | b10110100110001110100001100101111 K 490 | b1001001000001011001011111111 L 491 | b1001 > 492 | b11010110100111010100110001010100 + 493 | b11111000100001111110110011001011 , 494 | b10101100110000000110111110100110 - 495 | b10111011010011000001101011001010 / 496 | b11010001000011001101011101110101 0 497 | b10110100110001110100001100101111 1 498 | b1001001000001011001011111111 2 499 | b10010000010001100010101001010110 3 500 | 1# 501 | #10000 502 | b11110101101100010000101101011 E 503 | b11111010100000111001000100110101 D 504 | 0# 505 | #10500 506 | b100100001100011000010110111110 @ 507 | b100100001100011000010110111110 G 508 | b1010 H 509 | b1100110111101000111100010000000 C 510 | b1100110111101000111100010000000 S 511 | b10110101110011111010101111111111 T 512 | b1110101100001000010010100000001 B 513 | b1110101100001000010010100000001 Q 514 | b11001001110011011001010100000 R 515 | b11011000100111011110110011000000 A 516 | b11011000100111011110110011000000 M 517 | b11001001110011011001010100000 N 518 | b11010110100111010100110001010100 O 519 | b11111000100001111110110011001011 P 520 | b10010001000011001100001101110101 . 521 | b10010001000011001100001101110101 I 522 | b10110101110011111010101111111111 J 523 | b11010001000011001101011101110101 K 524 | b10110100110001110100001100101111 L 525 | b1010 > 526 | b11001001110011011001010100000 + 527 | b11010110100111010100110001010100 , 528 | b11111000100001111110110011001011 - 529 | b10101100110000000110111110100110 / 530 | b10110101110011111010101111111111 0 531 | b11010001000011001101011101110101 1 532 | b10110100110001110100001100101111 2 533 | b1001001000001011001011111111 3 534 | 1# 535 | #11000 536 | b1001110001000100001000111000001 E 537 | b100101010100110111010010110010 D 538 | 0# 539 | #11500 540 | b1010101000011000111110111000011 @ 541 | b1010101000011000111110111000011 G 542 | b1011 H 543 | b11100001101000000010000110000100 C 544 | b11100001101000000010000110000100 S 545 | b11010010000100111110010001011000 T 546 | b111001010111110011011111111101 B 547 | b111001010111110011011111111101 Q 548 | b1110011011101011000011001110011 R 549 | b1010011001111011000011001110000 A 550 | b1010011001111011000011001110000 M 551 | b1110011011101011000011001110011 N 552 | b11001001110011011001010100000 O 553 | b11010110100111010100110001010100 P 554 | b10010001000011111011001101111101 . 555 | b10010001000011111011001101111101 I 556 | b11010010000100111110010001011000 J 557 | b10110101110011111010101111111111 K 558 | b11010001000011001101011101110101 L 559 | b1011 > 560 | b1110011011101011000011001110011 + 561 | b11001001110011011001010100000 , 562 | b11010110100111010100110001010100 - 563 | b11111000100001111110110011001011 / 564 | b11010010000100111110010001011000 0 565 | b10110101110011111010101111111111 1 566 | b11010001000011001101011101110101 2 567 | b10110100110001110100001100101111 3 568 | 1# 569 | #12000 570 | b10001100100111001011111001101101 E 571 | b1111100100000111001010111110011 D 572 | 0# 573 | #12500 574 | b1110010101111100101110101110100 @ 575 | b1110010101111100101110101110100 G 576 | b1100 H 577 | b101011110110111101000001000000 C 578 | b101011110110111101000001000000 S 579 | b1110101000010111000001010111110 T 580 | b100000000110011101110000111110 B 581 | b100000000110011101110000111110 Q 582 | b1001001000000101010001100000 R 583 | b11001001100011001011001100000 A 584 | b11001001100011001011001100000 M 585 | b1001001000000101010001100000 N 586 | b1110011011101011000011001110011 O 587 | b11001001110011011001010100000 P 588 | b11010000110001111010100101011001 . 589 | b11010000110001111010100101011001 I 590 | b1110101000010111000001010111110 J 591 | b11010010000100111110010001011000 K 592 | b10110101110011111010101111111111 L 593 | b1100 > 594 | b1001001000000101010001100000 + 595 | b1110011011101011000011001110011 , 596 | b11001001110011011001010100000 - 597 | b11010110100111010100110001010100 / 598 | b1110101000010111000001010111110 0 599 | b11010010000100111110010001011000 1 600 | b10110101110011111010101111111111 2 601 | b11010001000011001101011101110101 3 602 | 1# 603 | #13000 604 | b111001010010110111001010011110 E 605 | b1000000011011101010111010000010 D 606 | 0# 607 | #13500 608 | b10000000110111101011000111111110 @ 609 | b10000000110111101011000111111110 G 610 | b1101 H 611 | b10000111011000111010010110011111 C 612 | b10000111011000111010010110011111 S 613 | b10111000010111111101011010110 T 614 | b11111111111010011100010001111111 B 615 | b11111111111010011100010001111111 Q 616 | b1111001101110100010000100100000 R 617 | b1111001001100000000010001100000 A 618 | b1111001001100000000010001100000 M 619 | b1111001101110100010000100100000 N 620 | b1001001000000101010001100000 O 621 | b1110011011101011000011001110011 P 622 | b11010101000110111000011010011110 . 623 | b11010101000110111000011010011110 I 624 | b10111000010111111101011010110 J 625 | b1110101000010111000001010111110 K 626 | b11010010000100111110010001011000 L 627 | b1101 > 628 | b1111001101110100010000100100000 + 629 | b1001001000000101010001100000 , 630 | b1110011011101011000011001110011 - 631 | b11001001110011011001010100000 / 632 | b10111000010111111101011010110 0 633 | b1110101000010111000001010111110 1 634 | b11010010000100111110010001011000 2 635 | b10110101110011111010101111111111 3 636 | 1# 637 | #14000 638 | b1111001000110011100100011011111 E 639 | b10010011001011011000101000111010 D 640 | 0# 641 | #14500 642 | b10011011110111000000011010100111 @ 643 | b10011011110111000000011010100111 G 644 | b1110 H 645 | b11000010011110100111110101000010 C 646 | b11000010011110100111110101000010 S 647 | b10101100011001110011110011011010 T 648 | b11000110100101011101001011001101 B 649 | b11000110100101011101001011001101 Q 650 | b1100010001110101001100011001 R 651 | b1001001000100101000100100000 A 652 | b1001001000100101000100100000 M 653 | b1100010001110101001100011001 N 654 | b1111001101110100010000100100000 O 655 | b1001001000000101010001100000 P 656 | b1010101000010111011101011110110 . 657 | b1010101000010111011101011110110 I 658 | b10101100011001110011110011011010 J 659 | b10111000010111111101011010110 K 660 | b1110101000010111000001010111110 L 661 | b1110 > 662 | b1100010001110101001100011001 + 663 | b1111001101110100010000100100000 , 664 | b1001001000000101010001100000 - 665 | b1110011011101011000011001110011 / 666 | b10101100011001110011110011011010 0 667 | b10111000010111111101011010110 1 668 | b1110101000010111000001010111110 2 669 | b11010010000100111110010001011000 3 670 | 1# 671 | #15000 672 | b11001111101110000010001111101101 E 673 | b10000101011101100010001100110111 D 674 | 0# 675 | #15500 676 | b11000001100110111111000101110100 @ 677 | b11000001100110111111000101110100 G 678 | b1111 H 679 | b100000000 F 680 | b11101011011010000110011010101111 C 681 | b11101011011010000110011010101111 S 682 | b11111000111010111010100110101010 T 683 | b10010101011101011010100111101111 B 684 | b10010101011101011010100111101111 Q 685 | b1010101001011100100011100100100 R 686 | b1011101001011100100001100100000 A 687 | b1011101001011100100001100100000 M 688 | b1010101001011100100011100100100 N 689 | b1100010001110101001100011001 O 690 | b1111001101110100010000100100000 P 691 | b10101111011000110111101011011110 . 692 | b10101111011000110111101011011110 I 693 | b11111000111010111010100110101010 J 694 | b10101100011001110011110011011010 K 695 | b10111000010111111101011010110 L 696 | b1111 > 697 | b1010101001011100100011100100100 + 698 | b1100010001110101001100011001 , 699 | b1111001101110100010000100100000 - 700 | b1001001000000101010001100000 / 701 | b11111000111010111010100110101010 0 702 | b10101100011001110011110011011010 1 703 | b10111000010111111101011010110 2 704 | b1110101000010111000001010111110 3 705 | 1# 706 | #16000 707 | b11110010101000111110110100001111 E 708 | b11010001011100110101011010111111 D 709 | 0# 710 | #16500 711 | b11100100100110110110100111000001 @ 712 | b11100100100110110110100111000001 G 713 | b10000 H 714 | b10110000000101000110110101111110 F 715 | b1010101010001001001001100110100 C 716 | b1010101010001001001001100110100 S 717 | b11011010100100111010101100011111 T 718 | b11110010011111001100101101011001 B 719 | b11110010011111001100101101011001 Q 720 | b11000100000101110100001111001110 R 721 | b1000100000001110100001100001100 A 722 | b1000100000001110100001100001100 M 723 | b11000100000101110100001111001110 N 724 | b1010101001011100100011100100100 O 725 | b1100010001110101001100011001 P 726 | b11111100111001111011110111001010 . 727 | b11111100111001111011110111001010 I 728 | b11011010100100111010101100011111 J 729 | b11111000111010111010100110101010 K 730 | b10101100011001110011110011011010 L 731 | b10000 > 732 | b11000100000101110100001111001110 + 733 | b1010101001011100100011100100100 , 734 | b1100010001110101001100011001 - 735 | b1111001101110100010000100100000 / 736 | b11011010100100111010101100011111 0 737 | b11111000111010111010100110101010 1 738 | b10101100011001110011110011011010 2 739 | b10111000010111111101011010110 3 740 | 1# 741 | #17000 742 | b110110100001000000111001100101 E 743 | b11111101111010000010001100010011 D 744 | 0# 745 | #17500 746 | b11101111101111100100011110000110 @ 747 | b11101111101111100100011110000110 G 748 | b10001 H 749 | b1011011100010000010010011011010 F 750 | b10011010100100100110010011100011 C 751 | b10011010100100100110010011100011 S 752 | b1110111101000100100010000110011 T 753 | b110110000111110100111111101110 B 754 | b110110000111110100111111101110 Q 755 | b110100011011000011000101111000 R 756 | b1010100001011100100001101101100 A 757 | b1010100001011100100001101101100 M 758 | b110100011011000011000101111000 N 759 | b11000100000101110100001111001110 O 760 | b1010101001011100100011100100100 P 761 | b11011010110010111010100110011011 . 762 | b11011010110010111010100110011011 I 763 | b1110111101000100100010000110011 J 764 | b11011010100100111010101100011111 K 765 | b11111000111010111010100110101010 L 766 | b10001 > 767 | b110100011011000011000101111000 + 768 | b11000100000101110100001111001110 , 769 | b1010101001011100100011100100100 - 770 | b1100010001110101001100011001 / 771 | b1110111101000100100010000110011 0 772 | b11011010100100111010101100011111 1 773 | b11111000111010111010100110101010 2 774 | b10101100011001110011110011011010 3 775 | 1# 776 | #18000 777 | b10001010010011011001001101011010 E 778 | b1101101000010111011011110111000 D 779 | 0# 780 | #18500 781 | b1111110000011001110111000110 @ 782 | b1111110000011001110111000110 G 783 | b10010 H 784 | b111101101011011111111001111001 F 785 | b10110110010011110000111011110110 C 786 | b10110110010011110000111011110110 S 787 | b1111001010100110000101011010001 T 788 | b10000000011011011010001111010011 B 789 | b10000000011011011010001111010011 Q 790 | b11110111010110010100101100010010 R 791 | b11110100010111010100001101011010 A 792 | b11110100010111010100001101011010 M 793 | b11110111010110010100101100010010 N 794 | b110100011011000011000101111000 O 795 | b11000100000101110100001111001110 P 796 | b11110011100000101010000100011111 . 797 | b11110011100000101010000100011111 I 798 | b1111001010100110000101011010001 J 799 | b1110111101000100100010000110011 K 800 | b11011010100100111010101100011111 L 801 | b10010 > 802 | b11110111010110010100101100010010 + 803 | b110100011011000011000101111000 , 804 | b11000100000101110100001111001110 - 805 | b1010101001011100100011100100100 / 806 | b1111001010100110000101011010001 0 807 | b1110111101000100100010000110011 1 808 | b11011010100100111010101100011111 2 809 | b11111000111010111010100110101010 3 810 | 1# 811 | #19000 812 | b1110100110010101110011100101101 E 813 | b11110000001011001111010111111110 D 814 | 0# 815 | #19500 816 | b100100000011001010000111001100 @ 817 | b100100000011001010000111001100 G 818 | b10011 H 819 | b10001100011001111000100111100011 F 820 | b10000000110000110101011010110001 C 821 | b10000000110000110101011010110001 S 822 | b1000101010110110011110100100010 T 823 | b11101111000100100111110101100111 B 824 | b11101111000100100111110101100111 Q 825 | b1100100111101111101110100101011 R 826 | b1110100011111010101100100111010 A 827 | b1110100011111010101100100111010 M 828 | b1100100111101111101110100101011 N 829 | b11110111010110010100101100010010 O 830 | b110100011011000011000101111000 P 831 | b1110011111100110100100000010001 . 832 | b1110011111100110100100000010001 I 833 | b1000101010110110011110100100010 J 834 | b1111001010100110000101011010001 K 835 | b1110111101000100100010000110011 L 836 | b10011 > 837 | b1100100111101111101110100101011 + 838 | b11110111010110010100101100010010 , 839 | b110100011011000011000101111000 - 840 | b11000100000101110100001111001110 / 841 | b1000101010110110011110100100010 0 842 | b1111001010100110000101011010001 1 843 | b1110111101000100100010000110011 2 844 | b11011010100100111010101100011111 3 845 | 1# 846 | #20000 847 | b1100011100011111101011010100001 E 848 | b1111111101111100111010110010000 D 849 | 0# 850 | #20500 851 | b101101111010010010110001101111 @ 852 | b101101111010010010110001101111 G 853 | b10100 H 854 | b10101100000010001011010100110010 F 855 | b10111000000110111000001101110011 C 856 | b10111000000110111000001101110011 S 857 | b1000011110101011011100101011110 T 858 | b100000011011000100111011110011 B 859 | b100000011011000100111011110011 Q 860 | b11100011010011100100110000110001 R 861 | b11100111010111110100110100110011 A 862 | b11100111010111110100110100110011 M 863 | b11100011010011100100110000110001 N 864 | b1100100111101111101110100101011 O 865 | b11110111010110010100101100010010 P 866 | b1111001010100110011101110000011 . 867 | b1111001010100110011101110000011 I 868 | b1000011110101011011100101011110 J 869 | b1000101010110110011110100100010 K 870 | b1111001010100110000101011010001 L 871 | b10100 > 872 | b11100011010011100100110000110001 + 873 | b1100100111101111101110100101011 , 874 | b11110111010110010100101100010010 - 875 | b110100011011000011000101111000 / 876 | b1000011110101011011100101011110 0 877 | b1000101010110110011110100100010 1 878 | b1111001010100110000101011010001 2 879 | b1110111101000100100010000110011 3 880 | 1# 881 | #21000 882 | b111110010111001110000100110 E 883 | b10000011000000101110010011001010 D 884 | 0# 885 | #21500 886 | b1001010011101001000010010101010 @ 887 | b1001010011101001000010010101010 G 888 | b10101 H 889 | b1000110011000111011111100101010 F 890 | b1110101000000000111000011100000 C 891 | b1110101000000000111000011100000 S 892 | b10110111011011110001011001000010 T 893 | b11111001101000011010001100011 B 894 | b11111001101000011010001100011 Q 895 | b10001010110011101000000011110000 R 896 | b11100010110011101100110000110001 A 897 | b11100010110011101100110000110001 M 898 | b10001010110011101000000011110000 N 899 | b11100011010011100100110000110001 O 900 | b1100100111101111101110100101011 P 901 | b1000011010101010011100101100010 . 902 | b1000011010101010011100101100010 I 903 | b10110111011011110001011001000010 J 904 | b1000011110101011011100101011110 K 905 | b1000101010110110011110100100010 L 906 | b10101 > 907 | b10001010110011101000000011110000 + 908 | b11100011010011100100110000110001 , 909 | b1100100111101111101110100101011 - 910 | b11110111010110010100101100010010 / 911 | b10110111011011110001011001000010 0 912 | b1000011110101011011100101011110 1 913 | b1000101010110110011110100100010 2 914 | b1111001010100110000101011010001 3 915 | 1# 916 | #22000 917 | b10000000110000000010010100 E 918 | b11000010100000001111100011100111 D 919 | 0# 920 | #22500 921 | b1011100101100001010100111011100 @ 922 | b1011100101100001010100111011100 G 923 | b10110 H 924 | b10111110001101011011010000000000 F 925 | b1110100111100011010111010011011 C 926 | b1110100111100011010111010011011 S 927 | b10111001110110100100001111111001 T 928 | b110101000110110011010101010011 B 929 | b110101000110110011010101010011 Q 930 | b11000100100000111111100101111011 R 931 | b11000010110011101100100001110001 A 932 | b11000010110011101100100001110001 M 933 | b11000100100000111111100101111011 N 934 | b10001010110011101000000011110000 O 935 | b11100011010011100100110000110001 P 936 | b11110011010011111011101001000110 . 937 | b11110011010011111011101001000110 I 938 | b10111001110110100100001111111001 J 939 | b10110111011011110001011001000010 K 940 | b1000011110101011011100101011110 L 941 | b10110 > 942 | b11000100100000111111100101111011 + 943 | b10001010110011101000000011110000 , 944 | b11100011010011100100110000110001 - 945 | b1100100111101111101110100101011 / 946 | b10111001110110100100001111111001 0 947 | b10110111011011110001011001000010 1 948 | b1000011110101011011100101011110 2 949 | b1000101010110110011110100100010 3 950 | 1# 951 | #23000 952 | b11110111111010011111110111000100 E 953 | b11001000100000110000001111011111 D 954 | 0# 955 | #23500 956 | b1110110111110011000100011011010 @ 957 | b1110110111110011000100011011010 G 958 | b10111 H 959 | b10001001000010000100110111001001 F 960 | b10110100100000001100000111001110 C 961 | b10110100100000001100000111001110 S 962 | b101101011110101110000100001010 T 963 | b1001001000000111100110000000001 B 964 | b1001001000000111100110000000001 Q 965 | b11000000011011010000000110100011 R 966 | b11000000110011111000000111110011 A 967 | b11000000110011111000000111110011 M 968 | b11000000011011010000000110100011 N 969 | b11000100100000111111100101111011 O 970 | b10001010110011101000000011110000 P 971 | b10111011010111110101011101001000 . 972 | b10111011010111110101011101001000 I 973 | b101101011110101110000100001010 J 974 | b10111001110110100100001111111001 K 975 | b10110111011011110001011001000010 L 976 | b10111 > 977 | b11000000011011010000000110100011 + 978 | b11000100100000111111100101111011 , 979 | b10001010110011101000000011110000 - 980 | b11100011010011100100110000110001 / 981 | b101101011110101110000100001010 0 982 | b10111001110110100100001111111001 1 983 | b10110111011011110001011001000010 2 984 | b1000011110101011011100101011110 3 985 | 1# 986 | #24000 987 | b1001110100110100110111110100 E 988 | b10110011101101111010100100010111 D 989 | 0# 990 | #24500 991 | b10011000001111100101000101010010 @ 992 | b10011000001111100101000101010010 G 993 | b11000 H 994 | b1001000001101111110101010001011 F 995 | b1001101101000101001100100000 C 996 | b1001101101000101001100100000 S 997 | b10010111000001011111010101001000 T 998 | b1111100111000110111111101100011 B 999 | b1111100111000110111111101100011 Q 1000 | b10111101100010101111011100001011 R 1001 | b11000100100010111111000100101011 A 1002 | b11000100100010111111000100101011 M 1003 | b10111101100010101111011100001011 N 1004 | b11000000011011010000000110100011 O 1005 | b11000100100000111111100101111011 P 1006 | b101101110110101110001110111001 . 1007 | b101101110110101110001110111001 I 1008 | b10010111000001011111010101001000 J 1009 | b101101011110101110000100001010 K 1010 | b10111001110110100100001111111001 L 1011 | b11000 > 1012 | b10111101100010101111011100001011 + 1013 | b11000000011011010000000110100011 , 1014 | b11000100100000111111100101111011 - 1015 | b10001010110011101000000011110000 / 1016 | b10010111000001011111010101001000 0 1017 | b101101011110101110000100001010 1 1018 | b10111001110110100100001111111001 2 1019 | b10110111011011110001011001000010 3 1020 | 1# 1021 | #25000 1022 | b1000001011011110111000010001110 E 1023 | b11001111011101001000100011111000 D 1024 | 0# 1025 | #25500 1026 | b10101000001100011100011001101101 @ 1027 | b10101000001100011100011001101101 G 1028 | b11001 H 1029 | b1101101001011011011011000101111 F 1030 | b10111101111001101011000001101011 C 1031 | b10111101111001101011000001101011 S 1032 | b1011010010000110000100111101000 T 1033 | b11000111111011100110000100111101 B 1034 | b11000111111011100110000100111101 Q 1035 | b10000111000111111100110000110 R 1036 | b10010000111010111111000110000011 A 1037 | b10010000111010111111000110000011 M 1038 | b10000111000111111100110000110 N 1039 | b10111101100010101111011100001011 O 1040 | b11000000011011010000000110100011 P 1041 | b110111001110011110000101001010 . 1042 | b110111001110011110000101001010 I 1043 | b1011010010000110000100111101000 J 1044 | b10010111000001011111010101001000 K 1045 | b101101011110101110000100001010 L 1046 | b11001 > 1047 | b10000111000111111100110000110 + 1048 | b10111101100010101111011100001011 , 1049 | b11000000011011010000000110100011 - 1050 | b11000100100000111111100101111011 / 1051 | b1011010010000110000100111101000 0 1052 | b10010111000001011111010101001000 1 1053 | b101101011110101110000100001010 2 1054 | b10111001110110100100001111111001 3 1055 | 1# 1056 | #26000 1057 | b1011000110110100101001011000000 E 1058 | b11000100010110100101001001001010 D 1059 | 0# 1060 | #26500 1061 | b10110000000000110010011111001000 @ 1062 | b10110000000000110010011111001000 G 1063 | b11010 H 1064 | b10010100011011100100101011001010 F 1065 | b1101101111000000000100010 C 1066 | b1101101111000000000100010 S 1067 | b10001000110111100100101111000101 T 1068 | b1111101100010011110100010010011 B 1069 | b1111101100010011110100010010011 Q 1070 | b11101001101001010010100001010 R 1071 | b11101101000101111010100001010 A 1072 | b11101101000101111010100001010 M 1073 | b11101001101001010010100001010 N 1074 | b10000111000111111100110000110 O 1075 | b10111101100010101111011100001011 P 1076 | b11111010000111011110111001000 . 1077 | b11111010000111011110111001000 I 1078 | b10001000110111100100101111000101 J 1079 | b1011010010000110000100111101000 K 1080 | b10010111000001011111010101001000 L 1081 | b11010 > 1082 | b11101001101001010010100001010 + 1083 | b10000111000111111100110000110 , 1084 | b10111101100010101111011100001011 - 1085 | b11000000011011010000000110100011 / 1086 | b10001000110111100100101111000101 0 1087 | b1011010010000110000100111101000 1 1088 | b10010111000001011111010101001000 2 1089 | b101101011110101110000100001010 3 1090 | 1# 1091 | #27000 1092 | b10011011001011001101110110011101 E 1093 | b10010010111001111001000110000110 D 1094 | 0# 1095 | #27500 1096 | b10111111010110010111111111000111 @ 1097 | b10111111010110010111111111000111 G 1098 | b11011 H 1099 | b11001110100011100010110010000 F 1100 | b1101010001011101010110001110111 C 1101 | b1101010001011101010110001110111 S 1102 | b1010011010101001001001100101001 T 1103 | b11100011001000001110011111010011 B 1104 | b11100011001000001110011111010011 Q 1105 | b101110000101000110111100100011 R 1106 | b11100001101001110110100000010 A 1107 | b11100001101001110110100000010 M 1108 | b101110000101000110111100100011 N 1109 | b11101001101001010010100001010 O 1110 | b10000111000111111100110000110 P 1111 | b1000010101110000101111000001 . 1112 | b1000010101110000101111000001 I 1113 | b1010011010101001001001100101001 J 1114 | b10001000110111100100101111000101 K 1115 | b1011010010000110000100111101000 L 1116 | b11011 > 1117 | b101110000101000110111100100011 + 1118 | b11101001101001010010100001010 , 1119 | b10000111000111111100110000110 - 1120 | b10111101100010101111011100001011 / 1121 | b1010011010101001001001100101001 0 1122 | b10001000110111100100101111000101 1 1123 | b1011010010000110000100111101000 2 1124 | b10010111000001011111010101001000 3 1125 | 1# 1126 | #28000 1127 | b11111111010101011101010011010101 E 1128 | b11100010101101101111001011010111 D 1129 | 0# 1130 | #28500 1131 | b11000110111000000000101111110011 @ 1132 | b11000110111000000000101111110011 G 1133 | b11100 H 1134 | b110010011111001100001001010010 F 1135 | b10010110001000011111111011001010 C 1136 | b10010110001000011111111011001010 S 1137 | b10100000010000011110100111100010 T 1138 | b110110111110101001001000000101 B 1139 | b110110111110101001001000000101 Q 1140 | b11100010000011001100011110101100 R 1141 | b101110000101001110011100101010 A 1142 | b101110000101001110011100101010 M 1143 | b11100010000011001100011110101100 N 1144 | b101110000101000110111100100011 O 1145 | b11101001101001010010100001010 P 1146 | b1000110111101000001100100101 . 1147 | b1000110111101000001100100101 I 1148 | b10100000010000011110100111100010 J 1149 | b1010011010101001001001100101001 K 1150 | b10001000110111100100101111000101 L 1151 | b11100 > 1152 | b11100010000011001100011110101100 + 1153 | b101110000101000110111100100011 , 1154 | b11101001101001010010100001010 - 1155 | b10000111000111111100110000110 / 1156 | b10100000010000011110100111100010 0 1157 | b1010011010101001001001100101001 1 1158 | b10001000110111100100101111000101 2 1159 | b1011010010000110000100111101000 3 1160 | 1# 1161 | #29000 1162 | b1100101000011110111100100101111 E 1163 | b11110010101000000101101000011100 D 1164 | 0# 1165 | #29500 1166 | b11010101101001111001000101000111 @ 1167 | b11010101101001111001000101000111 G 1168 | b11101 H 1169 | b10011000101100100010111110100011 F 1170 | b111110011001111011000011000101 C 1171 | b111110011001111011000011000101 S 1172 | b11100001000101001110100010 T 1173 | b11110000111111000110010011110010 B 1174 | b11110000111111000110010011110010 Q 1175 | b1010111101011111101001101001011 R 1176 | b1100110000011001100011100101011 A 1177 | b1100110000011001100011100101011 M 1178 | b1010111101011111101001101001011 N 1179 | b11100010000011001100011110101100 O 1180 | b101110000101000110111100100011 P 1181 | b1010000010100001100000110101011 . 1182 | b1010000010100001100000110101011 I 1183 | b11100001000101001110100010 J 1184 | b10100000010000011110100111100010 K 1185 | b1010011010101001001001100101001 L 1186 | b11101 > 1187 | b1010111101011111101001101001011 + 1188 | b11100010000011001100011110101100 , 1189 | b101110000101000110111100100011 - 1190 | b11101001101001010010100001010 / 1191 | b11100001000101001110100010 0 1192 | b10100000010000011110100111100010 1 1193 | b1010011010101001001001100101001 2 1194 | b10001000110111100100101111000101 3 1195 | 1# 1196 | #30000 1197 | b1010111000010010010110000011101 E 1198 | b10000101111100000111111100011111 D 1199 | 0# 1200 | #30500 1201 | b110110010100110001101010001 @ 1202 | b110110010100110001101010001 G 1203 | b11110 H 1204 | b10000010101110000000111000101100 F 1205 | b10110001001010101110010011100101 C 1206 | b10110001001010101110010011100101 S 1207 | b10100011001001010010010000101001 T 1208 | b10001000011101000111111001110001 B 1209 | b10001000011101000111111001110001 Q 1210 | b11011100111110011010101100111100 R 1211 | b11010110101011011100001100101100 A 1212 | b11010110101011011100001100101100 M 1213 | b11011100111110011010101100111100 N 1214 | b1010111101011111101001101001011 O 1215 | b11100010000011001100011110101100 P 1216 | b11010001001100100111100010 . 1217 | b11010001001100100111100010 I 1218 | b10100011001001010010010000101001 J 1219 | b11100001000101001110100010 K 1220 | b10100000010000011110100111100010 L 1221 | b11110 > 1222 | b11011100111110011010101100111100 + 1223 | b1010111101011111101001101001011 , 1224 | b11100010000011001100011110101100 - 1225 | b101110000101000110111100100011 / 1226 | b10100011001001010010010000101001 0 1227 | b11100001000101001110100010 1 1228 | b10100000010000011110100111100010 2 1229 | b1010011010101001001001100101001 3 1230 | 1# 1231 | #31000 1232 | b1011111001000100100000110011101 E 1233 | b10010001010001101011001101101101 D 1234 | 0# 1235 | #31500 1236 | b10100001010010010100101100111 @ 1237 | b10100001010010010100101100111 G 1238 | b11111 H 1239 | b10001010011110001000100010111111 F 1240 | b10111101011110111100111110110001 C 1241 | b10111101011110111100111110110001 S 1242 | b10111111010110110010001010010000 T 1243 | b10110111100110011001010111000100 B 1244 | b10110111100110011001010111000100 Q 1245 | b11110000011010001111010100001010 R 1246 | b11010100111010011111001100001010 A 1247 | b11010100111010011111001100001010 M 1248 | b11110000011010001111010100001010 N 1249 | b11011100111110011010101100111100 O 1250 | b1010111101011111101001101001011 P 1251 | b10100011100001010111000100100010 . 1252 | b10100011100001010111000100100010 I 1253 | b10111111010110110010001010010000 J 1254 | b10100011001001010010010000101001 K 1255 | b11100001000101001110100010 L 1256 | b11111 > 1257 | b11110000011010001111010100001010 + 1258 | b11011100111110011010101100111100 , 1259 | b1010111101011111101001101001011 - 1260 | b11100010000011001100011110101100 / 1261 | b10111111010110110010001010010000 0 1262 | b10100011001001010010010000101001 1 1263 | b11100001000101001110100010 2 1264 | b10100000010000011110100111100010 3 1265 | 1# 1266 | #32000 1267 | b10001100100000111000100011001110 E 1268 | b10011111111001001101110011011011 D 1269 | 0# 1270 | #32500 1271 | b100111101101110000101010000101 @ 1272 | b100111101101110000101010000101 G 1273 | b100000 H 1274 | b11011011001001100010010011100101 F 1275 | b1110110001001011011101101100110 C 1276 | b1110110001001011011101101100110 S 1277 | b10000001111100011010010010000111 T 1278 | b11000111110001011101111010011000 B 1279 | b11000111110001011101111010011000 Q 1280 | b101100011010000110010110101001 R 1281 | b11111100011010001110010100101000 A 1282 | b11111100011010001110010100101000 M 1283 | b101100011010000110010110101001 N 1284 | b11110000011010001111010100001010 O 1285 | b11011100111110011010101100111100 P 1286 | b10100011010101010010000010101000 . 1287 | b10100011010101010010000010101000 I 1288 | b10000001111100011010010010000111 J 1289 | b10111111010110110010001010010000 K 1290 | b10100011001001010010010000101001 L 1291 | b100000 > 1292 | b101100011010000110010110101001 + 1293 | b11110000011010001111010100001010 , 1294 | b11011100111110011010101100111100 - 1295 | b1010111101011111101001101001011 / 1296 | b10000001111100011010010010000111 0 1297 | b10111111010110110010001010010000 1 1298 | b10100011001001010010010000101001 2 1299 | b11100001000101001110100010 3 1300 | 1# 1301 | #33000 1302 | b11000100001011101100001111000000 E 1303 | b11111110111000101111100011010 D 1304 | 0# 1305 | #33500 1306 | b101110000110110010000100111000 @ 1307 | b101110000110110010000100111000 G 1308 | b100001 H 1309 | b11001111101100011100010101001101 F 1310 | b11111011010011111001111110100 C 1311 | b11111011010011111001111110100 S 1312 | b1110111100011000011001001100101 T 1313 | b10000011010111101000001101111111 B 1314 | b10000011010111101000001101111111 Q 1315 | b11100100000010110010001011011010 R 1316 | b11100100011010000110010110001010 A 1317 | b11100100011010000110010110001010 M 1318 | b11100100000010110010001011011010 N 1319 | b101100011010000110010110101001 O 1320 | b11110000011010001111010100001010 P 1321 | b10001001110100110010000010010101 . 1322 | b10001001110100110010000010010101 I 1323 | b1110111100011000011001001100101 J 1324 | b10000001111100011010010010000111 K 1325 | b10111111010110110010001010010000 L 1326 | b100001 > 1327 | b11100100000010110010001011011010 + 1328 | b101100011010000110010110101001 , 1329 | b11110000011010001111010100001010 - 1330 | b11011100111110011010101100111100 / 1331 | b1110111100011000011001001100101 0 1332 | b10000001111100011010010010000111 1 1333 | b10111111010110110010001010010000 2 1334 | b10100011001001010010010000101001 3 1335 | 1# 1336 | #34000 1337 | b1100111110001101110100100001001 E 1338 | b1001010001011110001111100110111 D 1339 | 0# 1340 | #34500 1341 | b1001101001011000110110111111100 @ 1342 | b1001101001011000110110111111100 G 1343 | b100010 H 1344 | b1100011010001010100000010111101 F 1345 | b10110100111010111111110100011 C 1346 | b10110100111010111111110100011 S 1347 | b100111001010001100101001110011 T 1348 | b10110110010110010000111101100111 B 1349 | b10110110010110010000111101100111 Q 1350 | b10110001111101100000100001000000 R 1351 | b10100100011010100010000011001000 A 1352 | b10100100011010100010000011001000 M 1353 | b10110001111101100000100001000000 N 1354 | b11100100000010110010001011011010 O 1355 | b101100011010000110010110101001 P 1356 | b10100111110110010010011011100101 . 1357 | b10100111110110010010011011100101 I 1358 | b100111001010001100101001110011 J 1359 | b1110111100011000011001001100101 K 1360 | b10000001111100011010010010000111 L 1361 | b100010 > 1362 | b10110001111101100000100001000000 + 1363 | b11100100000010110010001011011010 , 1364 | b101100011010000110010110101001 - 1365 | b11110000011010001111010100001010 / 1366 | b100111001010001100101001110011 0 1367 | b1110111100011000011001001100101 1 1368 | b10000001111100011010010010000111 2 1369 | b10111111010110110010001010010000 3 1370 | 1# 1371 | #35000 1372 | b1011010110000110011000000101111 E 1373 | b101110010000110111011111010001 D 1374 | 0# 1375 | #35500 1376 | b1010011001110000000110100010011 @ 1377 | b1010011001110000000110100010011 G 1378 | b100011 H 1379 | b11110110101101101010101101100010 F 1380 | b10100001001011110000100110110001 C 1381 | b10100001001011110000100110110001 S 1382 | b11110101011000110110011011011 T 1383 | b1111000111001011110000000010001 B 1384 | b1111000111001011110000000010001 Q 1385 | b10001001000001101010100000000000 R 1386 | b10100001000001100010100001000000 A 1387 | b10100001000001100010100001000000 M 1388 | b10001001000001101010100000000000 N 1389 | b10110001111101100000100001000000 O 1390 | b11100100000010110010001011011010 P 1391 | b1100111001010000101101001110111 . 1392 | b1100111001010000101101001110111 I 1393 | b11110101011000110110011011011 J 1394 | b100111001010001100101001110011 K 1395 | b1110111100011000011001001100101 L 1396 | b100011 > 1397 | b10001001000001101010100000000000 + 1398 | b10110001111101100000100001000000 , 1399 | b11100100000010110010001011011010 - 1400 | b101100011010000110010110101001 / 1401 | b11110101011000110110011011011 0 1402 | b100111001010001100101001110011 1 1403 | b1110111100011000011001001100101 2 1404 | b10000001111100011010010010000111 3 1405 | 1# 1406 | #36000 1407 | b11001111011000000100001010001 E 1408 | b11010100001101111100000100100100 D 1409 | 0# 1410 | #36500 1411 | b1100101000010100111001101010100 @ 1412 | b1100101000010100111001101010100 G 1413 | b100100 H 1414 | b100101101101001001110010 F 1415 | b10111101101100011111001000011111 C 1416 | b10111101101100011111001000011111 S 1417 | b101000000010011011001101 T 1418 | b10111111000000100101010011111011 B 1419 | b10111111000000100101010011111011 Q 1420 | b11101110001000111100100101110101 R 1421 | b10101001001001101000100001000000 A 1422 | b10101001001001101000100001000000 M 1423 | b11101110001000111100100101110101 N 1424 | b10001001000001101010100000000000 O 1425 | b10110001111101100000100001000000 P 1426 | b100111101010001110110011111011 . 1427 | b100111101010001110110011111011 I 1428 | b101000000010011011001101 J 1429 | b11110101011000110110011011011 K 1430 | b100111001010001100101001110011 L 1431 | b100100 > 1432 | b11101110001000111100100101110101 + 1433 | b10001001000001101010100000000000 , 1434 | b10110001111101100000100001000000 - 1435 | b11100100000010110010001011011010 / 1436 | b101000000010011011001101 0 1437 | b11110101011000110110011011011 1 1438 | b100111001010001100101001110011 2 1439 | b1110111100011000011001001100101 3 1440 | 1# 1441 | #37000 1442 | b1101000001010001101110100111011 E 1443 | b11000010100010000101011101000101 D 1444 | 0# 1445 | #37500 1446 | b1110110011010100000101010111011 @ 1447 | b1110110011010100000101010111011 G 1448 | b100101 H 1449 | b11000101101101110100011111100010 F 1450 | b1110100110100111001000001010100 C 1451 | b1110100110100111001000001010100 S 1452 | b10100110100100110111101000011111 T 1453 | b1101010011111110001100000000011 B 1454 | b1101010011111110001100000000011 Q 1455 | b101010101100010011010010000000 R 1456 | b10101010001000111010100000000000 A 1457 | b10101010001000111010100000000000 M 1458 | b101010101100010011010010000000 N 1459 | b11101110001000111100100101110101 O 1460 | b10001001000001101010100000000000 P 1461 | b11000101011000010011011001101 . 1462 | b11000101011000010011011001101 I 1463 | b10100110100100110111101000011111 J 1464 | b101000000010011011001101 K 1465 | b11110101011000110110011011011 L 1466 | b100101 > 1467 | b101010101100010011010010000000 + 1468 | b11101110001000111100100101110101 , 1469 | b10001001000001101010100000000000 - 1470 | b10110001111101100000100001000000 / 1471 | b10100110100100110111101000011111 0 1472 | b101000000010011011001101 1 1473 | b11110101011000110110011011011 2 1474 | b100111001010001100101001110011 3 1475 | 1# 1476 | #38000 1477 | b10100101000101100000000000011 E 1478 | b11110000110010011101010000110001 D 1479 | 0# 1480 | #38500 1481 | b10000001110000101100100100101110 @ 1482 | b10000001110000101100100100101110 G 1483 | b100110 H 1484 | b10001101011001110001111000001100 F 1485 | b10111010100001001000001011011 C 1486 | b10111010100001001000001011011 S 1487 | b10100010101111111101110001110001 T 1488 | b10010101010111101111001111100 B 1489 | b10010101010111101111001111100 Q 1490 | b101011011001001010000110100 R 1491 | b101110001000011001010000110100 A 1492 | b101110001000011001010000110100 M 1493 | b101011011001001010000110100 N 1494 | b101010101100010011010010000000 O 1495 | b11101110001000111100100101110101 P 1496 | b10100010100100110111101010011101 . 1497 | b10100010100100110111101010011101 I 1498 | b10100010101111111101110001110001 J 1499 | b10100110100100110111101000011111 K 1500 | b101000000010011011001101 L 1501 | b100110 > 1502 | b101011011001001010000110100 + 1503 | b101010101100010011010010000000 , 1504 | b11101110001000111100100101110101 - 1505 | b10001001000001101010100000000000 / 1506 | b10100010101111111101110001110001 0 1507 | b10100110100100110111101000011111 1 1508 | b101000000010011011001101 2 1509 | b11110101011000110110011011011 3 1510 | 1# 1511 | #39000 1512 | b1000000110011010111001010110000 E 1513 | b11100111101110100101111100001101 D 1514 | 0# 1515 | #39500 1516 | b10010010011100100010110010000101 @ 1517 | b10010010011100100010110010000101 G 1518 | b100111 H 1519 | b10010100100111110000101011110011 F 1520 | b10110100111011101001101010000100 C 1521 | b10110100111011101001101010000100 S 1522 | b1110000110000010000011100001101 T 1523 | b11011000100011100100010011110011 B 1524 | b11011000100011100100010011110011 Q 1525 | b101000100001111101000110111101 R 1526 | b101000101001011001010010110100 A 1527 | b101000101001011001010010110100 M 1528 | b101000100001111101000110111101 N 1529 | b101011011001001010000110100 O 1530 | b101010101100010011010010000000 P 1531 | b10100110100100110111110000010011 . 1532 | b10100110100100110111110000010011 I 1533 | b1110000110000010000011100001101 J 1534 | b10100010101111111101110001110001 K 1535 | b10100110100100110111101000011111 L 1536 | b100111 > 1537 | b101000100001111101000110111101 + 1538 | b101011011001001010000110100 , 1539 | b101010101100010011010010000000 - 1540 | b11101110001000111100100101110101 / 1541 | b1110000110000010000011100001101 0 1542 | b10100010101111111101110001110001 1 1543 | b10100110100100110111101000011111 2 1544 | b101000000010011011001101 3 1545 | 1# 1546 | #40000 1547 | b1001100111101100110100111 E 1548 | b10000011001100110111010011011100 D 1549 | 0# 1550 | #40500 1551 | b10100010101111111110100010100001 @ 1552 | b10100010101111111110100010100001 G 1553 | b101000 H 1554 | b11000011110000100111010110010010 F 1555 | b100100011101000101111010100110 C 1556 | b100100011101000101111010100110 S 1557 | b1110001010101110011111001010001 T 1558 | b1000001111111111111010001011 B 1559 | b1000001111111111111010001011 Q 1560 | b10000100011001110100111010000011 R 1561 | b100011001111101010010110101 A 1562 | b100011001111101010010110101 M 1563 | b10000100011001110100111010000011 N 1564 | b101000100001111101000110111101 O 1565 | b101011011001001010000110100 P 1566 | b11110010111010011100011000100001 . 1567 | b11110010111010011100011000100001 I 1568 | b1110001010101110011111001010001 J 1569 | b1110000110000010000011100001101 K 1570 | b10100010101111111101110001110001 L 1571 | b101000 > 1572 | b10000100011001110100111010000011 + 1573 | b101000100001111101000110111101 , 1574 | b101011011001001010000110100 - 1575 | b101010101100010011010010000000 / 1576 | b1110001010101110011111001010001 0 1577 | b1110000110000010000011100001101 1 1578 | b10100010101111111101110001110001 2 1579 | b10100110100100110111101000011111 3 1580 | 1# 1581 | #41000 1582 | b1100101001111101001101000000 E 1583 | b100100011100111111110100011001 D 1584 | 0# 1585 | #41500 1586 | b10101000000110100110011001001011 @ 1587 | b10101000000110100110011001001011 G 1588 | b101001 H 1589 | b1001001100011010100011011100001 F 1590 | b11000100100011011011110011000111 C 1591 | b11000100100011011011110011000111 S 1592 | b1001111001001010011000110011001 T 1593 | b10100001110011100001100000001100 B 1594 | b10100001110011100001100000001100 Q 1595 | b110001000110111101000001011001 R 1596 | b100000000001111101000010011001 A 1597 | b100000000001111101000010011001 M 1598 | b110001000110111101000001011001 N 1599 | b10000100011001110100111010000011 O 1600 | b101000100001111101000110111101 P 1601 | b1110001110001010011011000010101 . 1602 | b1110001110001010011011000010101 I 1603 | b1001111001001010011000110011001 J 1604 | b1110001010101110011111001010001 K 1605 | b1110000110000010000011100001101 L 1606 | b101001 > 1607 | b110001000110111101000001011001 + 1608 | b10000100011001110100111010000011 , 1609 | b101000100001111101000110111101 - 1610 | b101011011001001010000110100 / 1611 | b1001111001001010011000110011001 0 1612 | b1110001010101110011111001010001 1 1613 | b1110000110000010000011100001101 2 1614 | b10100010101111111101110001110001 3 1615 | 1# 1616 | #42000 1617 | b11000001110101011110100010100101 E 1618 | b11001010101110100111110001111001 D 1619 | 0# 1620 | #42500 1621 | b11000010010010111000101101110000 @ 1622 | b11000010010010111000101101110000 G 1623 | b101010 H 1624 | b1010001110111100101110001111101 F 1625 | b10110001011100101100111001001000 C 1626 | b10110001011100101100111001001000 S 1627 | b11010000001001110001000010101101 T 1628 | b11001010010001000000011111110110 B 1629 | b11001010010001000000011111110110 Q 1630 | b10001100100100000110010100011110 R 1631 | b10000100000100110100010000011011 A 1632 | b10000100000100110100010000011011 M 1633 | b10001100100100000110010100011110 N 1634 | b110001000110111101000001011001 O 1635 | b10000100011001110100111010000011 P 1636 | b1100001011101010011111011011001 . 1637 | b1100001011101010011111011011001 I 1638 | b11010000001001110001000010101101 J 1639 | b1001111001001010011000110011001 K 1640 | b1110001010101110011111001010001 L 1641 | b101010 > 1642 | b10001100100100000110010100011110 + 1643 | b110001000110111101000001011001 , 1644 | b10000100011001110100111010000011 - 1645 | b101000100001111101000110111101 / 1646 | b11010000001001110001000010101101 0 1647 | b1001111001001010011000110011001 1 1648 | b1110001010101110011111001010001 2 1649 | b1110000110000010000011100001101 3 1650 | 1# 1651 | #43000 1652 | b1001110010101110100110000010001 E 1653 | b10010111110100101111110000011011 D 1654 | 0# 1655 | #43500 1656 | b11000111011011000101000110100011 @ 1657 | b11000111011011000101000110100011 G 1658 | b101011 H 1659 | b10111000111001110111001111111001 F 1660 | b11110101011111111000110000001110 C 1661 | b11110101011111111000110000001110 S 1662 | b11000000010110101100110111011000 T 1663 | b11010001110011010001000011000001 B 1664 | b11010001110011010001000011000001 Q 1665 | b11100110001010100100100000101100 R 1666 | b10100100000110100100000000011100 A 1667 | b10100100000110100100000000011100 M 1668 | b11100110001010100100100000101100 N 1669 | b10001100100100000110010100011110 O 1670 | b110001000110111101000001011001 P 1671 | b11001111001001110011000010001001 . 1672 | b11001111001001110011000010001001 I 1673 | b11000000010110101100110111011000 J 1674 | b11010000001001110001000010101101 K 1675 | b1001111001001010011000110011001 L 1676 | b101011 > 1677 | b11100110001010100100100000101100 + 1678 | b10001100100100000110010100011110 , 1679 | b110001000110111101000001011001 - 1680 | b10000100011001110100111010000011 / 1681 | b11000000010110101100110111011000 0 1682 | b11010000001001110001000010101101 1 1683 | b1001111001001010011000110011001 2 1684 | b1110001010101110011111001010001 3 1685 | 1# 1686 | #44000 1687 | b1110101111001110101000011011101 E 1688 | b10110110010100011100000010000100 D 1689 | 0# 1690 | #44500 1691 | b11010001100100101110100000011001 @ 1692 | b11010001100100101110100000011001 G 1693 | b101100 H 1694 | b10111101101010010100011011111110 F 1695 | b10100000100010100011000010000000 C 1696 | b10100000100010100011000010000000 S 1697 | b111010101110010000111100000111 T 1698 | b100100010000101010000100100000 B 1699 | b100100010000101010000100100000 Q 1700 | b101100001110010001000101100001 R 1701 | b10101100001110000100000100101100 A 1702 | b10101100001110000100000100101100 M 1703 | b101100001110010001000101100001 N 1704 | b11100110001010100100100000101100 O 1705 | b10001100100100000110010100011110 P 1706 | b11000000000111100001110110101000 . 1707 | b11000000000111100001110110101000 I 1708 | b111010101110010000111100000111 J 1709 | b11000000010110101100110111011000 K 1710 | b11010000001001110001000010101101 L 1711 | b101100 > 1712 | b101100001110010001000101100001 + 1713 | b11100110001010100100100000101100 , 1714 | b10001100100100000110010100011110 - 1715 | b110001000110111101000001011001 / 1716 | b111010101110010000111100000111 0 1717 | b11000000010110101100110111011000 1 1718 | b11010000001001110001000010101101 2 1719 | b1001111001001010011000110011001 3 1720 | 1# 1721 | #45000 1722 | b11010000011110101110001001001100 E 1723 | b111111000010011010111011011000 D 1724 | 0# 1725 | #45500 1726 | b11010110100110010000011000100100 @ 1727 | b11010110100110010000011000100100 G 1728 | b101101 H 1729 | b11001000101000000111000111011001 F 1730 | b110001010100010000100111101011 C 1731 | b110001010100010000100111101011 S 1732 | b1110000001001010111111100110001 T 1733 | b10011000100001011100100001010011 B 1734 | b10011000100001011100100001010011 Q 1735 | b1111100001001001000100100100 R 1736 | b101110001010000001000100100100 A 1737 | b101110001010000001000100100100 M 1738 | b1111100001001001000100100100 N 1739 | b101100001110010001000101100001 O 1740 | b11100110001010100100100000101100 P 1741 | b10110000011110111000111111001001 . 1742 | b10110000011110111000111111001001 I 1743 | b1110000001001010111111100110001 J 1744 | b111010101110010000111100000111 K 1745 | b11000000010110101100110111011000 L 1746 | b101101 > 1747 | b1111100001001001000100100100 + 1748 | b101100001110010001000101100001 , 1749 | b11100110001010100100100000101100 - 1750 | b10001100100100000110010100011110 / 1751 | b1110000001001010111111100110001 0 1752 | b111010101110010000111100000111 1 1753 | b11000000010110101100110111011000 2 1754 | b11010000001001110001000010101101 3 1755 | 1# 1756 | #46000 1757 | b11000110101011011101100101110111 E 1758 | b1010001001011010010001001011110 D 1759 | 0# 1760 | #46500 1761 | b11110100000011100011010110000101 @ 1762 | b11110100000011100011010110000101 G 1763 | b101110 H 1764 | b11101111010110101111111011100111 F 1765 | b11000010001011101111111111000011 C 1766 | b11000010001011101111111111000011 S 1767 | b11011101101111011000011101111100 T 1768 | b11110000101100010101010001111101 B 1769 | b11110000101100010101010001111101 Q 1770 | b10111110110101111101111010101 R 1771 | b1111100110001001000101100101 A 1772 | b1111100110001001000101100101 M 1773 | b10111110110101111101111010101 N 1774 | b1111100001001001000100100100 O 1775 | b101100001110010001000101100001 P 1776 | b1110010001001010000111100110011 . 1777 | b1110010001001010000111100110011 I 1778 | b11011101101111011000011101111100 J 1779 | b1110000001001010111111100110001 K 1780 | b111010101110010000111100000111 L 1781 | b101110 > 1782 | b10111110110101111101111010101 + 1783 | b1111100001001001000100100100 , 1784 | b101100001110010001000101100001 - 1785 | b11100110001010100100100000101100 / 1786 | b11011101101111011000011101111100 0 1787 | b1110000001001010111111100110001 1 1788 | b111010101110010000111100000111 2 1789 | b11000000010110101100110111011000 3 1790 | 1# 1791 | #47000 1792 | b10010011110010111100010 E 1793 | b11011000000110000001000100111010 D 1794 | 0# 1795 | #47500 1796 | b10000011010101010000001110000 @ 1797 | b10000011010101010000001110000 G 1798 | b101111 H 1799 | b11011111000011001111000111000101 F 1800 | b10010111000000100111001001110001 C 1801 | b10010111000000100111001001110001 S 1802 | b10111110010000100101100101100110 T 1803 | b1001001000101100110110101001 B 1804 | b1001001000101100110110101001 Q 1805 | b11011000011000011111011100011100 R 1806 | b11111110000001111001100010100 A 1807 | b11111110000001111001100010100 M 1808 | b11011000011000011111011100011100 N 1809 | b10111110110101111101111010101 O 1810 | b1111100001001001000100100100 P 1811 | b11011100001001010010011101110101 . 1812 | b11011100001001010010011101110101 I 1813 | b10111110010000100101100101100110 J 1814 | b11011101101111011000011101111100 K 1815 | b1110000001001010111111100110001 L 1816 | b101111 > 1817 | b11011000011000011111011100011100 + 1818 | b10111110110101111101111010101 , 1819 | b1111100001001001000100100100 - 1820 | b101100001110010001000101100001 / 1821 | b10111110010000100101100101100110 0 1822 | b11011101101111011000011101111100 1 1823 | b1110000001001010111111100110001 2 1824 | b111010101110010000111100000111 3 1825 | 1# 1826 | #48000 1827 | b101000111000111100000010111101 E 1828 | b10011101010110000011101100100010 D 1829 | 0# 1830 | #48500 1831 | b11001101001001100000100010110 @ 1832 | b11001101001001100000100010110 G 1833 | b110000 H 1834 | b111000100000100111000110001110 F 1835 | b1010111111110010011011011111111 C 1836 | b1010111111110010011011011111111 S 1837 | b11001001100100010100110010000011 T 1838 | b11000000100111111011000000110000 B 1839 | b11000000100111111011000000110000 Q 1840 | b11000110001110111111101111011111 R 1841 | b11010110011110111111101111011101 A 1842 | b11010110011110111111101111011101 M 1843 | b11000110001110111111101111011111 N 1844 | b11011000011000011111011100011100 O 1845 | b10111110110101111101111010101 P 1846 | b10011100001011001100101101111110 . 1847 | b10011100001011001100101101111110 I 1848 | b11001001100100010100110010000011 J 1849 | b10111110010000100101100101100110 K 1850 | b11011101101111011000011101111100 L 1851 | b110000 > 1852 | b11000110001110111111101111011111 + 1853 | b11011000011000011111011100011100 , 1854 | b10111110110101111101111010101 - 1855 | b1111100001001001000100100100 / 1856 | b11001001100100010100110010000011 0 1857 | b10111110010000100101100101100110 1 1858 | b11011101101111011000011101111100 2 1859 | b1110000001001010111111100110001 3 1860 | 1# 1861 | #49000 1862 | b10010111000110111010110000001101 E 1863 | b10110110011100101011010001010010 D 1864 | 0# 1865 | #49500 1866 | b11110001101110110110000001000 @ 1867 | b11110001101110110110000001000 G 1868 | b110001 H 1869 | b101110111111110011001101101100 F 1870 | b10001110011011011101100010011111 C 1871 | b10001110011011011101100010011111 S 1872 | b11000101111101110100010101110110 T 1873 | b11101000000110001000100101010010 B 1874 | b11101000000110001000100101010010 Q 1875 | b1001101100011100110000001011111 R 1876 | b11001100001010111111001101011111 A 1877 | b11001100001010111111001101011111 M 1878 | b1001101100011100110000001011111 N 1879 | b11000110001110111111101111011111 O 1880 | b11011000011000011111011100011100 P 1881 | b11111011100100010101110000000010 . 1882 | b11111011100100010101110000000010 I 1883 | b11000101111101110100010101110110 J 1884 | b11001001100100010100110010000011 K 1885 | b10111110010000100101100101100110 L 1886 | b110001 > 1887 | b1001101100011100110000001011111 + 1888 | b11000110001110111111101111011111 , 1889 | b11011000011000011111011100011100 - 1890 | b10111110110101111101111010101 / 1891 | b11000101111101110100010101110110 0 1892 | b11001001100100010100110010000011 1 1893 | b10111110010000100101100101100110 2 1894 | b11011101101111011000011101111100 3 1895 | 1# 1896 | #50000 1897 | b10110100010001000111110010110001 E 1898 | b10110100111100110101101110010001 D 1899 | 0# 1900 | #50500 1901 | b100111010010000111011101001100 @ 1902 | b100111010010000111011101001100 G 1903 | b110010 H 1904 | b101000010001011011000011010 F 1905 | b10000110000010001001111110001 C 1906 | b10000110000010001001111110001 S 1907 | b11001100110011100101011101100110 T 1908 | b10000111001111111011011000001010 B 1909 | b10000111001111111011011000001010 Q 1910 | b1101001001101111101100001000010 R 1911 | b1001101001111111111100001011111 A 1912 | b1001101001111111111100001011111 M 1913 | b1101001001101111101100001000010 N 1914 | b1001101100011100110000001011111 O 1915 | b11000110001110111111101111011111 P 1916 | b11000101110101110100110111100111 . 1917 | b11000101110101110100110111100111 I 1918 | b11001100110011100101011101100110 J 1919 | b11000101111101110100010101110110 K 1920 | b11001001100100010100110010000011 L 1921 | b110010 > 1922 | b1101001001101111101100001000010 + 1923 | b1001101100011100110000001011111 , 1924 | b11000110001110111111101111011111 - 1925 | b11011000011000011111011100011100 / 1926 | b11001100110011100101011101100110 0 1927 | b11000101111101110100010101110110 1 1928 | b11001001100100010100110010000011 2 1929 | b10111110010000100101100101100110 3 1930 | 1# 1931 | #51000 1932 | b11010100011111111010111001101001 E 1933 | b11000001001010111110100010100100 D 1934 | 0# 1935 | #51500 1936 | b110100101100001011110010110101 @ 1937 | b110100101100001011110010110101 G 1938 | b110011 H 1939 | b10000100101111111001011110011011 F 1940 | b111100100110101110011010001000 C 1941 | b111100100110101110011010001000 S 1942 | b10011001100011011101111111000000 T 1943 | b1110011010110100111111011001001 B 1944 | b1110011010110100111111011001001 Q 1945 | b10010101101010111001011100001101 R 1946 | b1001101101011111101000001001111 A 1947 | b1001101101011111101000001001111 M 1948 | b10010101101010111001011100001101 N 1949 | b1101001001101111101100001000010 O 1950 | b1001101100011100110000001011111 P 1951 | b11001100111111100101011101110110 . 1952 | b11001100111111100101011101110110 I 1953 | b10011001100011011101111111000000 J 1954 | b11001100110011100101011101100110 K 1955 | b11000101111101110100010101110110 L 1956 | b110011 > 1957 | b10010101101010111001011100001101 + 1958 | b1101001001101111101100001000010 , 1959 | b1001101100011100110000001011111 - 1960 | b11000110001110111111101111011111 / 1961 | b10011001100011011101111111000000 0 1962 | b11001100110011100101011101100110 1 1963 | b11000101111101110100010101110110 2 1964 | b11001001100100010100110010000011 3 1965 | 1# 1966 | #52000 1967 | b11000001000010100100111100011000 E 1968 | b10001100100110101101111011010001 D 1969 | 0# 1970 | #52500 1971 | b111001000111000000110010110011 @ 1972 | b111001000111000000110010110011 G 1973 | b110100 H 1974 | b100011110010110111101101110001 F 1975 | b11111100001011000101100110011000 C 1976 | b11111100001011000101100110011000 S 1977 | b1010010110101101101101010110000 T 1978 | b10101000100101001000001101100101 B 1979 | b10101000100101001000001101100101 Q 1980 | b1001101101001010010110111101001 R 1981 | b1001101101001111001110101001001 A 1982 | b1001101101001111001110101001001 M 1983 | b1001101101001010010110111101001 N 1984 | b10010101101010111001011100001101 O 1985 | b1101001001101111101100001000010 P 1986 | b10011100100011001101111111000110 . 1987 | b10011100100011001101111111000110 I 1988 | b1010010110101101101101010110000 J 1989 | b10011001100011011101111111000000 K 1990 | b11001100110011100101011101100110 L 1991 | b110100 > 1992 | b1001101101001010010110111101001 + 1993 | b10010101101010111001011100001101 , 1994 | b1101001001101111101100001000010 - 1995 | b1001101100011100110000001011111 / 1996 | b1010010110101101101101010110000 0 1997 | b10011001100011011101111111000000 1 1998 | b11001100110011100101011101100110 2 1999 | b11000101111101110100010101110110 3 2000 | 1# 2001 | #53000 2002 | b11110110001111000010000010101110 E 2003 | b10111011100110000000011011111000 D 2004 | 0# 2005 | #53500 2006 | b1001110110110001010101001001010 @ 2007 | b1001110110110001010101001001010 G 2008 | b110101 H 2009 | b10111101011001101111001010011010 F 2010 | b100101111101100001011011010101 C 2011 | b100101111101100001011011010101 S 2012 | b1001001001100110011101010111 T 2013 | b11000001110111100001110110001111 B 2014 | b11000001110111100001110110001111 Q 2015 | b10110001110101000010011110100110 R 2016 | b10010101101001010010011110101101 A 2017 | b10010101101001010010011110101101 M 2018 | b10110001110101000010011110100110 N 2019 | b1001101101001010010110111101001 O 2020 | b10010101101010111001011100001101 P 2021 | b10010000100011111101101010010000 . 2022 | b10010000100011111101101010010000 I 2023 | b1001001001100110011101010111 J 2024 | b1010010110101101101101010110000 K 2025 | b10011001100011011101111111000000 L 2026 | b110101 > 2027 | b10110001110101000010011110100110 + 2028 | b1001101101001010010110111101001 , 2029 | b10010101101010111001011100001101 - 2030 | b1101001001101111101100001000010 / 2031 | b1001001001100110011101010111 0 2032 | b1010010110101101101101010110000 1 2033 | b10011001100011011101111111000000 2 2034 | b11001100110011100101011101100110 3 2035 | 1# 2036 | #54000 2037 | b1010111100000110100010100111100 E 2038 | b10001111100100111110010110101111 D 2039 | 0# 2040 | #54500 2041 | b1011011100111001100101001001111 @ 2042 | b1011011100111001100101001001111 G 2043 | b110110 H 2044 | b1110110010110001001000101111111 F 2045 | b11100000000101100111101111100 C 2046 | b11100000000101100111101111100 S 2047 | b11111000110010111011110111110001 T 2048 | b11110010001100010101110110011111 B 2049 | b11110010001100010101110110011111 Q 2050 | b11100111000101110010101011101011 R 2051 | b11100101100101010010111111101011 A 2052 | b11100101100101010010111111101011 M 2053 | b11100111000101110010101011101011 N 2054 | b10110001110101000010011110100110 O 2055 | b1001101101001010010110111101001 P 2056 | b1010000101100110011101010001 . 2057 | b1010000101100110011101010001 I 2058 | b11111000110010111011110111110001 J 2059 | b1001001001100110011101010111 K 2060 | b1010010110101101101101010110000 L 2061 | b110110 > 2062 | b11100111000101110010101011101011 + 2063 | b10110001110101000010011110100110 , 2064 | b1001101101001010010110111101001 - 2065 | b10010101101010111001011100001101 / 2066 | b11111000110010111011110111110001 0 2067 | b1001001001100110011101010111 1 2068 | b1010010110101101101101010110000 2 2069 | b10011001100011011101111111000000 3 2070 | 1# 2071 | #55000 2072 | b11010111110001101000110110001010 E 2073 | b10010001100111000111001001011011 D 2074 | 0# 2075 | #55500 2076 | b1101000001011100110111111110011 @ 2077 | b1101000001011100110111111110011 G 2078 | b110111 H 2079 | b10100111011100100011111001101 F 2080 | b101001100111010111110100110111 C 2081 | b101001100111010111110100110111 S 2082 | b100111010010000000100101101000 T 2083 | b101110100011000110000101001011 B 2084 | b101110100011000110000101001011 Q 2085 | b1101001011000101111111111100101 R 2086 | b11100001010101100010111111100111 A 2087 | b11100001010101100010111111100111 M 2088 | b1101001011000101111111111100101 N 2089 | b11100111000101110010101011101011 O 2090 | b10110001110101000010011110100110 P 2091 | b101000011011100110111101110111 . 2092 | b101000011011100110111101110111 I 2093 | b100111010010000000100101101000 J 2094 | b11111000110010111011110111110001 K 2095 | b1001001001100110011101010111 L 2096 | b110111 > 2097 | b1101001011000101111111111100101 + 2098 | b11100111000101110010101011101011 , 2099 | b10110001110101000010011110100110 - 2100 | b1001101101001010010110111101001 / 2101 | b100111010010000000100101101000 0 2102 | b11111000110010111011110111110001 1 2103 | b1001001001100110011101010111 2 2104 | b1010010110101101101101010110000 3 2105 | 1# 2106 | #56000 2107 | b1111111000101001000100110010 E 2108 | b100001111111110111111100011110 D 2109 | 0# 2110 | #56500 2111 | b1110100100011111000001011101110 @ 2112 | b1110100100011111000001011101110 G 2113 | b111000 H 2114 | b11100111011010100100110011110011 F 2115 | b1101111000001011110010110010110 C 2116 | b1101111000001011110010110010110 S 2117 | b1101111101001001010110100000111 T 2118 | b110101110000100101111000011 B 2119 | b110101110000100101111000011 Q 2120 | b110001111000100001000001010000 R 2121 | b1100001011000100011101011100001 A 2122 | b1100001011000100011101011100001 M 2123 | b110001111000100001000001010000 N 2124 | b1101001011000101111111111100101 O 2125 | b11100111000101110010101011101011 P 2126 | b10110111010010110001100111110000 . 2127 | b10110111010010110001100111110000 I 2128 | b1101111101001001010110100000111 J 2129 | b100111010010000000100101101000 K 2130 | b11111000110010111011110111110001 L 2131 | b111000 > 2132 | b110001111000100001000001010000 + 2133 | b1101001011000101111111111100101 , 2134 | b11100111000101110010101011101011 - 2135 | b10110001110101000010011110100110 / 2136 | b1101111101001001010110100000111 0 2137 | b100111010010000000100101101000 1 2138 | b11111000110010111011110111110001 2 2139 | b1001001001100110011101010111 3 2140 | 1# 2141 | #57000 2142 | b1101000000110101000011010100100 E 2143 | b10001011011100010011011010111110 D 2144 | 0# 2145 | #57500 2146 | b1111000101001010110001101101111 @ 2147 | b1111000101001010110001101101111 G 2148 | b111001 H 2149 | b10100001001101110011001110110110 F 2150 | b11111110110111011000111111001100 C 2151 | b11111110110111011000111111001100 S 2152 | b111101010001010101111001100100 T 2153 | b1111001000000001111100011001011 B 2154 | b1111001000000001111100011001011 Q 2155 | b11110011100010111011110101100010 R 2156 | b1110001111000101011110101100000 A 2157 | b1110001111000101011110101100000 M 2158 | b11110011100010111011110101100010 N 2159 | b110001111000100001000001010000 O 2160 | b1101001011000101111111111100101 P 2161 | b101111000011000000110100001100 . 2162 | b101111000011000000110100001100 I 2163 | b111101010001010101111001100100 J 2164 | b1101111101001001010110100000111 K 2165 | b100111010010000000100101101000 L 2166 | b111001 > 2167 | b11110011100010111011110101100010 + 2168 | b110001111000100001000001010000 , 2169 | b1101001011000101111111111100101 - 2170 | b11100111000101110010101011101011 / 2171 | b111101010001010101111001100100 0 2172 | b1101111101001001010110100000111 1 2173 | b100111010010000000100101101000 2 2174 | b11111000110010111011110111110001 3 2175 | 1# 2176 | #58000 2177 | b11101010111000111011011000101011 E 2178 | b1000000100100011111000111101110 D 2179 | 0# 2180 | #58500 2181 | b10000100110010000111100000010100 @ 2182 | b10000100110010000111100000010100 G 2183 | b111010 H 2184 | b1111111000011111001100010000100 F 2185 | b101011001101000011110111000011 C 2186 | b101011001101000011110111000011 S 2187 | b100111101010010001110011011001 T 2188 | b11011100101101000101010100000110 B 2189 | b11011100101101000101010100000110 Q 2190 | b101011011101011010100000011001 R 2191 | b110011111000111011100001010000 A 2192 | b110011111000111011100001010000 M 2193 | b101011011101011010100000011001 N 2194 | b11110011100010111011110101100010 O 2195 | b110001111000100001000001010000 P 2196 | b1101101000001011011110101000110 . 2197 | b1101101000001011011110101000110 I 2198 | b100111101010010001110011011001 J 2199 | b111101010001010101111001100100 K 2200 | b1101111101001001010110100000111 L 2201 | b111010 > 2202 | b101011011101011010100000011001 + 2203 | b11110011100010111011110101100010 , 2204 | b110001111000100001000001010000 - 2205 | b1101001011000101111111111100101 / 2206 | b100111101010010001110011011001 0 2207 | b111101010001010101111001100100 1 2208 | b1101111101001001010110100000111 2 2209 | b100111010010000000100101101000 3 2210 | 1# 2211 | #59000 2212 | b10000100110000000110101010110 E 2213 | b11000011010110100001010100001001 D 2214 | 0# 2215 | #59500 2216 | b10001100110001110000001000001000 @ 2217 | b10001100110001110000001000001000 G 2218 | b111011 H 2219 | b10111101010101000111000010011 F 2220 | b1111011111111010001010011100111 C 2221 | b1111011111111010001010011100111 S 2222 | b101100101111010001010011101110 T 2223 | b101110100010110110100001001001 B 2224 | b101110100010110110100001001001 Q 2225 | b11010011111100100010001001011111 R 2226 | b11110011111100111010100001011011 A 2227 | b11110011111100111010100001011011 M 2228 | b11010011111100100010001001011111 N 2229 | b101011011101011010100000011001 O 2230 | b11110011100010111011110101100010 P 2231 | b110101111010010101111011001000 . 2232 | b110101111010010101111011001000 I 2233 | b101100101111010001010011101110 J 2234 | b100111101010010001110011011001 K 2235 | b111101010001010101111001100100 L 2236 | b111011 > 2237 | b11010011111100100010001001011111 + 2238 | b101011011101011010100000011001 , 2239 | b11110011100010111011110101100010 - 2240 | b110001111000100001000001010000 / 2241 | b101100101111010001010011101110 0 2242 | b100111101010010001110011011001 1 2243 | b111101010001010101111001100100 2 2244 | b1101111101001001010110100000111 3 2245 | 1# 2246 | #60000 2247 | b100010011111110001000010100100 E 2248 | b11000101111111001011000011010001 D 2249 | 0# 2250 | #60500 2251 | b10010000101111101111111111111010 @ 2252 | b10010000101111101111111111111010 G 2253 | b111100 H 2254 | b1110001010100001110101000001000 F 2255 | b1001100100000010001000000100111 C 2256 | b1001100100000010001000000100111 S 2257 | b11110111110111101100000100100001 T 2258 | b10011110101101000110010000100010 B 2259 | b10011110101101000110010000100010 Q 2260 | b11101000011110111100000101110101 R 2261 | b11101011011100111010000001011101 A 2262 | b11101011011100111010000001011101 M 2263 | b11101000011110111100000101110101 N 2264 | b11010011111100100010001001011111 O 2265 | b101011011101011010100000011001 P 2266 | b100100101111010001110011111000 . 2267 | b100100101111010001110011111000 I 2268 | b11110111110111101100000100100001 J 2269 | b101100101111010001010011101110 K 2270 | b100111101010010001110011011001 L 2271 | b111100 > 2272 | b11101000011110111100000101110101 + 2273 | b11010011111100100010001001011111 , 2274 | b101011011101011010100000011001 - 2275 | b11110011100010111011110101100010 / 2276 | b11110111110111101100000100100001 0 2277 | b101100101111010001010011101110 1 2278 | b100111101010010001110011011001 2 2279 | b111101010001010101111001100100 3 2280 | 1# 2281 | #61000 2282 | b10001010001010000000010001111111 E 2283 | b10110000100100110111010110000101 D 2284 | 0# 2285 | #61500 2286 | b10100100010100000110110011101011 @ 2287 | b10100100010100000110110011101011 G 2288 | b111101 H 2289 | b11000011010100110001100011010010 F 2290 | b11001101111111011000110011111111 C 2291 | b11001101111111011000110011111111 S 2292 | b10100100000111110011001011100111 T 2293 | b110011011001110001101110110000 B 2294 | b110011011001110001101110110000 Q 2295 | b111010101110110111101000000100 R 2296 | b11111010111110110110001001010101 A 2297 | b11111010111110110110001001010101 M 2298 | b111010101110110111101000000100 N 2299 | b11101000011110111100000101110101 O 2300 | b11010011111100100010001001011111 P 2301 | b10101100101111100000010000101001 . 2302 | b10101100101111100000010000101001 I 2303 | b10100100000111110011001011100111 J 2304 | b11110111110111101100000100100001 K 2305 | b101100101111010001010011101110 L 2306 | b111101 > 2307 | b111010101110110111101000000100 + 2308 | b11101000011110111100000101110101 , 2309 | b11010011111100100010001001011111 - 2310 | b101011011101011010100000011001 / 2311 | b10100100000111110011001011100111 0 2312 | b11110111110111101100000100100001 1 2313 | b101100101111010001010011101110 2 2314 | b100111101010010001110011011001 3 2315 | 1# 2316 | #62000 2317 | b101110011000100111111000000101 E 2318 | b1010000010000011001110111110 D 2319 | 0# 2320 | #62500 2321 | b10111110111110011010001111110111 @ 2322 | b10111110111110011010001111110111 G 2323 | b111110 H 2324 | b11000110100011001100110000100 F 2325 | b10011000110111101011001101001110 C 2326 | b10011000110111101011001101001110 S 2327 | b110101011111011101101111010111 T 2328 | b11101010110001000110001111000100 B 2329 | b11101010110001000110001111000100 Q 2330 | b111000011010101011000111000011 R 2331 | b111000011110111111000101000101 A 2332 | b111000011110111111000101000101 M 2333 | b111000011010101011000111000011 N 2334 | b111010101110110111101000000100 O 2335 | b11101000011110111100000101110101 P 2336 | b11100110100111110001001011100111 . 2337 | b11100110100111110001001011100111 I 2338 | b110101011111011101101111010111 J 2339 | b10100100000111110011001011100111 K 2340 | b11110111110111101100000100100001 L 2341 | b111110 > 2342 | b111000011010101011000111000011 + 2343 | b111010101110110111101000000100 , 2344 | b11101000011110111100000101110101 - 2345 | b11010011111100100010001001011111 / 2346 | b110101011111011101101111010111 0 2347 | b10100100000111110011001011100111 1 2348 | b11110111110111101100000100100001 2 2349 | b101100101111010001010011101110 3 2350 | 1# 2351 | #63000 2352 | b100011010000000101010100001001 E 2353 | b10000100000001100001100010011110 D 2354 | 0# 2355 | #63500 2356 | b11000110011100010111100011110010 @ 2357 | b11000110011100010111100011110010 G 2358 | b111111 H 2359 | b111100101111011111000010101111 F 2360 | b1010110111010000110000101000111 C 2361 | b1010110111010000110000101000111 S 2362 | b1010111111110000011101011111101 T 2363 | b10011101010110100011111111000111 B 2364 | b10011101010110100011111111000111 Q 2365 | b10100111010001100110110110100111 R 2366 | b111010011010100111100110000111 A 2367 | b111010011010100111100110000111 M 2368 | b10100111010001100110110110100111 N 2369 | b111000011010101011000111000011 O 2370 | b111010101110110111101000000100 P 2371 | b10110101011111110001101011010111 . 2372 | b10110101011111110001101011010111 I 2373 | b1010111111110000011101011111101 J 2374 | b110101011111011101101111010111 K 2375 | b10100100000111110011001011100111 L 2376 | b111111 > 2377 | b10100111010001100110110110100111 + 2378 | b111000011010101011000111000011 , 2379 | b111010101110110111101000000100 - 2380 | b11101000011110111100000101110101 / 2381 | b1010111111110000011101011111101 0 2382 | b110101011111011101101111010111 1 2383 | b10100100000111110011001011100111 2 2384 | b11110111110111101100000100100001 3 2385 | 1# 2386 | #64000 2387 | b11010111110001001011100101001110 E 2388 | b111011101011010011011100000 D 2389 | 0# 2390 | #64500 2391 | bx @ 2392 | bx G 2393 | b1000000 H 2394 | b11101011000001110111010000001100 F 2395 | b10100101101101100001000101111011 C 2396 | b10100101101101100001000101111011 S 2397 | b11101111111100010110100001010101 T 2398 | b1011111001110001101101010100100 B 2399 | b1011111001110001101101010100100 Q 2400 | b11011111001110100110000000101110 R 2401 | b10111111011010100110000110100111 A 2402 | b10111111011010100110000110100111 M 2403 | b11011111001110100110000000101110 N 2404 | b10100111010001100110110110100111 O 2405 | b111000011010101011000111000011 P 2406 | b1010111111111001011101111010111 . 2407 | b1010111111111001011101111010111 I 2408 | b11101111111100010110100001010101 J 2409 | b1010111111110000011101011111101 K 2410 | b110101011111011101101111010111 L 2411 | b1000000 > 2412 | b11011111001110100110000000101110 + 2413 | b10100111010001100110110110100111 , 2414 | b111000011010101011000111000011 - 2415 | b111010101110110111101000000100 / 2416 | b11101111111100010110100001010101 0 2417 | b1010111111110000011101011111101 1 2418 | b110101011111011101101111010111 2 2419 | b10100100000111110011001011100111 3 2420 | 1# 2421 | #65000 2422 | b11110101000110011110001001011 E 2423 | bx D 2424 | 0# 2425 | #65500 2426 | b0x H 2427 | b11101110111 F 2428 | 1" 2429 | b0x < 2430 | b0x > 2431 | b0 ; 2432 | b1010101000000011011010110000010 : 2433 | b11110010111111011010001110001001 9 2434 | b1000000111111111011101011010100 8 2435 | b11100000000010110110111100111110 7 2436 | b1110100110110011010010100110101 6 2437 | b1100010101011100001110000101100 5 2438 | b100100101000100010001101001010101100010101011100001110000101100011101001101100110100101001101011110000000001011011011110011111001000000111111111011101011010100111100101111110110100011100010010101010100000001101101011000001000000000000000000000000000000000 ! 2439 | b100100101000100010001101001010101100010101011100001110000101100011101001101100110100101001101011110000000001011011011110011111001000000111111111011101011010100111100101111110110100011100010010101010100000001101101011000001000000000000000000000000000000000 ( 2440 | b100100101000100010001101001010101100010101011100001110000101100011101001101100110100101001101011110000000001011011011110011111001000000111111111011101011010100111100101111110110100011100010010101010100000001101101011000001000000000000000000000000000000000 * 2441 | b1001001010001000100011010010101 4 2442 | 1# 2443 | #66000 2444 | -------------------------------------------------------------------------------- /sha_mainloop.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unixb0y/SystemVerilogSHA256/6eab7249ce8dd40a56febd1283d38c234a2b4003/sha_mainloop.dot -------------------------------------------------------------------------------- /sha_mainloop.sv: -------------------------------------------------------------------------------- 1 | `default_nettype none 2 | `timescale 1 ns / 10 ps 3 | 4 | module sha_mainloop #(parameter PADDED_SIZE = 512) 5 | (input logic [PADDED_SIZE-1:0] padded, 6 | input logic clk, rst, 7 | output logic [255:0] hashed, 8 | output logic done); 9 | 10 | function [31:0] K; 11 | input [6:0] x; 12 | K = k[2047-x*32 -: 32]; 13 | endfunction 14 | 15 | function automatic [31:0] W; 16 | input [6:0] x; 17 | input [6:0] y; 18 | if(^x === 1'bX) W = 32'h777; 19 | else W = (x<16) ? padded[((PADDED_SIZE-1-y*512)-x*32) -: 32] : rho1(W(x-2, y)) + W(x-7, y) + rho0(W(x-15, y)) + W(x-16, y); 20 | endfunction 21 | 22 | function automatic [31:0] rho0; 23 | input [31:0] x; 24 | if(^x === 1'bX) rho0 = 32'h888; 25 | else rho0 = {x[6:0],x[31:7]} ^ {x[17:0],x[31:18]} ^ (x >> 3); 26 | endfunction 27 | 28 | function automatic [31:0] rho1; 29 | input [31:0] x; 30 | if(^x === 1'bX) rho1 = 32'h888; 31 | else rho1 = {x[16:0],x[31:17]} ^ {x[18:0],x[31:19]} ^ (x >> 10); 32 | endfunction 33 | 34 | function [31:0] ch; 35 | input [31:0] x,y,z; 36 | if(^x === 1'bX) ch = 32'h888; 37 | else ch = (x & y) ^ (~x & z); 38 | endfunction 39 | 40 | function [31:0] maj; 41 | input [31:0] x,y,z; 42 | if(^x === 1'bX) maj = 32'h888; 43 | else maj = (x & y) ^ (x & z) ^ (y & z); 44 | endfunction 45 | 46 | function [31:0] sum0; 47 | input [31:0] x; 48 | if(^x === 1'bX) sum0 = 32'h888; 49 | else sum0 = {x[1:0],x[31:2]} ^ {x[12:0],x[31:13]} ^ {x[21:0],x[31:22]}; 50 | endfunction 51 | 52 | function [31:0] sum1; 53 | input [31:0] x; 54 | if(^x === 1'bX) sum1 = 32'h888; 55 | else sum1 = {x[5:0],x[31:6]} ^ {x[10:0],x[31:11]} ^ {x[24:0],x[31:25]}; 56 | endfunction 57 | 58 | logic [255:0] initial_hashes = {32'h6a09e667, 32'hbb67ae85, 32'h3c6ef372, 32'ha54ff53a, 32'h510e527f, 32'h9b05688c, 32'h1f83d9ab, 32'h5be0cd19}; 59 | 60 | logic [2047:0] k = {32'h428a2f98, 32'h71374491, 32'hb5c0fbcf, 32'he9b5dba5, 32'h3956c25b, 32'h59f111f1, 32'h923f82a4, 32'hab1c5ed5, 32'hd807aa98, 32'h12835b01, 32'h243185be, 32'h550c7dc3, 32'h72be5d74, 32'h80deb1fe, 32'h9bdc06a7, 32'hc19bf174, 32'he49b69c1, 32'hefbe4786, 32'h0fc19dc6, 32'h240ca1cc, 32'h2de92c6f, 32'h4a7484aa, 32'h5cb0a9dc, 32'h76f988da, 32'h983e5152, 32'ha831c66d, 32'hb00327c8, 32'hbf597fc7, 32'hc6e00bf3, 32'hd5a79147, 32'h06ca6351, 32'h14292967, 32'h27b70a85, 32'h2e1b2138, 32'h4d2c6dfc, 32'h53380d13, 32'h650a7354, 32'h766a0abb, 32'h81c2c92e, 32'h92722c85, 32'ha2bfe8a1, 32'ha81a664b, 32'hc24b8b70, 32'hc76c51a3, 32'hd192e819, 32'hd6990624, 32'hf40e3585, 32'h106aa070, 32'h19a4c116, 32'h1e376c08, 32'h2748774c, 32'h34b0bcb5, 32'h391c0cb3, 32'h4ed8aa4a, 32'h5b9cca4f, 32'h682e6ff3, 32'h748f82ee, 32'h78a5636f, 32'h84c87814, 32'h8cc70208, 32'h90befffa, 32'ha4506ceb, 32'hbef9a3f7, 32'hc67178f2}; 61 | 62 | logic [31:0] a, b, c, d, e, f, g, h, t1, t2; 63 | logic [31:0] h1, h2, h3, h4, h5, h6, h7, h8; 64 | 65 | logic [6:0] j; 66 | logic [6:0] i; 67 | 68 | localparam N = PADDED_SIZE/512; // number of blocks 69 | 70 | logic [31:0] ch_efg, maj_abc, sum0_a, sum1_e, kj, wj; 71 | 72 | always_comb begin 73 | ch_efg = ch(e,f,g); 74 | maj_abc = maj(a,b,c); 75 | sum0_a = sum0(a); 76 | sum1_e = sum1(e); 77 | wj = W(j, i); 78 | kj = K(j); 79 | end 80 | 81 | always @(negedge clk) begin 82 | // t1 <= h + sum1(e) + ch(e,f,g) + K(j) + W(j); 83 | // t2 <= sum0(a) + maj(a,b,c); 84 | t1 <= (h + sum1_e + ch_efg + kj + wj)%4294967296; 85 | t2 <= (sum0_a + maj_abc)%4294967296; 86 | end 87 | 88 | always @(posedge clk or posedge rst) begin 89 | if(rst) begin 90 | i <= 1'b0; 91 | j <= 1'bX; 92 | h1 <= 32'h6a09e667; 93 | h2 <= 32'hbb67ae85; 94 | h3 <= 32'h3c6ef372; 95 | h4 <= 32'ha54ff53a; 96 | h5 <= 32'h510e527f; 97 | h6 <= 32'h9b05688c; 98 | h7 <= 32'h1f83d9ab; 99 | h8 <= 32'h5be0cd19; 100 | end 101 | else if (^j === 1'bX && ^i !== 1'bX) begin 102 | a <= h1; 103 | b <= h2; 104 | c <= h3; 105 | d <= h4; 106 | e <= h5; 107 | f <= h6; 108 | g <= h7; 109 | h <= h8; 110 | j <= 1'd0; 111 | end 112 | else if (j < 64) begin 113 | h <= g; 114 | g <= f; 115 | f <= e; 116 | e <= (d+t1)%4294967296; 117 | d <= c; 118 | c <= b; 119 | b <= a; 120 | a <= (t1+t2)%4294967296; 121 | j <= j+1; 122 | end 123 | else if (j == 64) begin 124 | h1 <= a + h1; 125 | h2 <= b + h2; 126 | h3 <= c + h3; 127 | h4 <= d + h4; 128 | h5 <= e + h5; 129 | h6 <= f + h6; 130 | h7 <= g + h7; 131 | h8 <= h + h8; 132 | j <= 1'bX; 133 | if (i y [31:0] $end 49 | $var reg 32 ? z [31:0] $end 50 | $upscope $end 51 | $scope function maj $end 52 | $var reg 32 @ maj [31:0] $end 53 | $var reg 32 A x [31:0] $end 54 | $var reg 32 B y [31:0] $end 55 | $var reg 32 C z [31:0] $end 56 | $upscope $end 57 | $scope function rho0 $end 58 | $upscope $end 59 | $scope function rho1 $end 60 | $upscope $end 61 | $scope function sum0 $end 62 | $var reg 32 D sum0 [31:0] $end 63 | $var reg 32 E x [31:0] $end 64 | $upscope $end 65 | $scope function sum1 $end 66 | $var reg 32 F sum1 [31:0] $end 67 | $var reg 32 G x [31:0] $end 68 | $upscope $end 69 | $scope begin genblk1[0] $end 70 | $var reg 32 H ch_efg [31:0] $end 71 | $var reg 32 I kj [31:0] $end 72 | $var reg 32 J maj_abc [31:0] $end 73 | $var reg 32 K sum0_a [31:0] $end 74 | $var reg 32 L sum1_e [31:0] $end 75 | $var reg 32 M wj [31:0] $end 76 | $upscope $end 77 | $upscope $end 78 | $scope begin $ivl_for_loop0 $end 79 | $var integer 32 N i [31:0] $end 80 | $upscope $end 81 | $upscope $end 82 | $enddefinitions $end 83 | #0 84 | $dumpvars 85 | b0 N 86 | b11101110111 M 87 | b100010001000 L 88 | b100010001000 K 89 | b100010001000 J 90 | bx I 91 | b100010001000 H 92 | bx G 93 | b100010001000 F 94 | bx E 95 | b100010001000 D 96 | bx C 97 | bx B 98 | bx A 99 | b100010001000 @ 100 | bx ? 101 | bx > 102 | bx = 103 | b100010001000 < 104 | b0x ; 105 | bx : 106 | bx 9 107 | bx 8 108 | b1000010100010100010111110011000011100010011011101000100100100011011010111000000111110111100111111101001101101011101101110100101001110010101011011000010010110110101100111110001000100011111000110010010001111111000001010100100101010110001110001011110110101011101100000000111101010101001100000010010100000110101101100000001001001000011000110000101101111100101010100001100011111011100001101110010101111100101110101110100100000001101111010110001111111101001101111011100000001101010011111000001100110111111000101110100111001001001101101101001110000011110111110111110010001111000011000001111110000011001110111000110001001000000110010100001110011000010110111101001001011000110111101001010011101001000010010101010010111001011000010101001110111000111011011111001100010001101101010011000001111100101000101010010101010000011000111000110011011011011000000000011001001111100100010111111010110010111111111000111110001101110000000001011111100111101010110100111100100010100011100000110110010100110001101010001000101000010100100101001011001110010011110110111000010101000010100101110000110110010000100111000010011010010110001101101111111000101001100111000000011010001001101100101000010100111001101010100011101100110101000001010101110111000000111000010110010010010111010010010011100100010110010000101101000101011111111101000101000011010100000011010011001100100101111000010010010111000101101110000110001110110110001010001101000111101000110010010111010000001100111010110100110010000011000100100111101000000111000110101100001010001000001101010101000000111000000011001101001001100000100010110000111100011011101101100000010000010011101001000011101110100110000110100101100001011110010110101001110010001110000001100101100110100111011011000101010100100101001011011100111001100101001001111011010000010111001101111111100110111010010001111100000101110111001111000101001010110001101101111100001001100100001111000000101001000110011000111000000100000100010010000101111101111111111111010101001000101000001101100111010111011111011111001101000111111011111000110011100010111100011110010 7 109 | b0x 6 110 | b110101000001001111001100110011110111011011001111010111010000101001111000110111011110011011100101010010101001111111101010011101001010001000011100101001001111111100110110000010101101000100011000001111110000011110110011010101101011011111000001100110100011001 5 111 | b1011011111000001100110100011001 4 112 | b11111100000111101100110101011 3 113 | b10011011000001010110100010001100 2 114 | b1010001000011100101001001111111 1 115 | b10100101010011111111010100111010 0 116 | b111100011011101111001101110010 / 117 | b10111011011001111010111010000101 . 118 | b1101010000010011110011001100111 - 119 | bx , 120 | bx + 121 | bx * 122 | bx ) 123 | bx ( 124 | bx ' 125 | bx & 126 | bx % 127 | b1100001011000100110001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000 $ 128 | 1# 129 | b1100001011000100110001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000 " 130 | 0! 131 | $end 132 | #500 133 | 1! 134 | #1000 135 | 0# 136 | #1500 137 | b1000100010000 9 138 | 0! 139 | #2000 140 | b1000010100010100010111110011000 I 141 | b1000010100010100010111110011000 : 142 | b0 ; 143 | b1100001011000100110001110000000 M 144 | b110101100001110010011100101011 L 145 | b110101100001110010011100101011 F 146 | b1010001000011100101001001111111 G 147 | b11001110001000001011010001111110 K 148 | b11001110001000001011010001111110 D 149 | b1101010000010011110011001100111 E 150 | b111010011011111110011001100111 J 151 | b111010011011111110011001100111 @ 152 | b1101010000010011110011001100111 A 153 | b10111011011001111010111010000101 B 154 | b111100011011101111001101110010 C 155 | b11111100001011100100110001100 H 156 | b11111100001011100100110001100 < 157 | b1010001000011100101001001111111 = 158 | b10011011000001010110100010001100 > 159 | b11111100000111101100110101011 ? 160 | b0 6 161 | b1011011111000001100110100011001 , 162 | b11111100000111101100110101011 + 163 | b10011011000001010110100010001100 * 164 | b1010001000011100101001001111111 ) 165 | b10100101010011111111010100111010 ( 166 | b111100011011101111001101110010 ' 167 | b10111011011001111010111010000101 & 168 | b1101010000010011110011001100111 % 169 | 1! 170 | b1 N 171 | #2500 172 | b1000100100001001101011100101 9 173 | b1010100110110100101000011101000 8 174 | 0! 175 | b10 N 176 | #3000 177 | b1110001001101110100010010010001 I 178 | b1110001001101110100010010010001 : 179 | b1 ; 180 | b0 M 181 | b1011010100101001111110100101101 L 182 | b1011010100101001111110100101101 F 183 | b11111010001010100100011000100010 G 184 | b10100010100111110110010011010001 K 185 | b10100010100111110110010011010001 D 186 | b1011101011010101110101111001101 E 187 | b1111011011010111110111011000101 J 188 | b1111011011010111110111011000101 @ 189 | b1011101011010101110101111001101 A 190 | b1101010000010011110011001100111 B 191 | b10111011011001111010111010000101 C 192 | b1010001000011110110101010101110 H 193 | b1010001000011110110101010101110 < 194 | b11111010001010100100011000100010 = 195 | b1010001000011100101001001111111 > 196 | b10011011000001010110100010001100 ? 197 | b1 6 198 | b1011101011010101110101111001101 % 199 | b1101010000010011110011001100111 & 200 | b10111011011001111010111010000101 ' 201 | b111100011011101111001101110010 ( 202 | b11111010001010100100011000100010 ) 203 | b1010001000011100101001001111111 * 204 | b10011011000001010110100010001100 + 205 | b11111100000111101100110101011 , 206 | 1! 207 | b11 N 208 | #3500 209 | b11110000010110101001110010110 9 210 | b111100010111111000011000010111 8 211 | 0! 212 | b100 N 213 | #4000 214 | b10110101110000001111101111001111 I 215 | b10110101110000001111101111001111 : 216 | b10 ; 217 | b1110011111100001110010010010101 L 218 | b1110011111100001110010010010101 F 219 | b1111000110011100111100110001001 G 220 | b110000100101101101000001010100 K 221 | b110000100101101101000001010100 D 222 | b1011010011010101101100110101101 E 223 | b1011010011010101110101111101101 J 224 | b1011010011010101110101111101101 @ 225 | b1011010011010101101100110101101 A 226 | b1011101011010101110101111001101 B 227 | b1101010000010011110011001100111 C 228 | b1111001000010100100001001110110 H 229 | b1111001000010100100001001110110 < 230 | b1111000110011100111100110001001 = 231 | b11111010001010100100011000100010 > 232 | b1010001000011100101001001111111 ? 233 | b10 6 234 | b1011010011010101101100110101101 % 235 | b1011101011010101110101111001101 & 236 | b1101010000010011110011001100111 ' 237 | b10111011011001111010111010000101 ( 238 | b1111000110011100111100110001001 ) 239 | b11111010001010100100011000100010 * 240 | b1010001000011100101001001111111 + 241 | b10011011000001010110100010001100 , 242 | 1! 243 | b101 N 244 | #4500 245 | b10001011000000011011110001000001 9 246 | b111101110000011000101101100110 8 247 | 0! 248 | b110 N 249 | #5000 250 | b11101001101101011101101110100101 I 251 | b11101001101101011101101110100101 : 252 | b11 ; 253 | b110000001110111010000111100 L 254 | b110000001110111010000111100 F 255 | b11111001001010010011100111101011 G 256 | b11000010000100000000100011010000 K 257 | b11000010000100000000100011010000 D 258 | b11001000110000110100011110100111 E 259 | b1011000011010101100101110101101 J 260 | b1011000011010101100101110101101 @ 261 | b11001000110000110100011110100111 A 262 | b1011010011010101101100110101101 B 263 | b1011101011010101110101111001101 C 264 | b1111010000010100111111110001001 H 265 | b1111010000010100111111110001001 < 266 | b11111001001010010011100111101011 = 267 | b1111000110011100111100110001001 > 268 | b11111010001010100100011000100010 ? 269 | b11 6 270 | b11001000110000110100011110100111 % 271 | b1011010011010101101100110101101 & 272 | b1011101011010101110101111001101 ' 273 | b1101010000010011110011001100111 ( 274 | b11111001001010010011100111101011 ) 275 | b1111000110011100111100110001001 * 276 | b11111010001010100100011000100010 + 277 | b1010001000011100101001001111111 , 278 | 1! 279 | b111 N 280 | #5500 281 | b11010011110101101010001111101 9 282 | b10111010110101100010000111101001 8 283 | 0! 284 | b1000 N 285 | #6000 286 | b111001010101101100001001011011 I 287 | b111001010101101100001001011011 : 288 | b100 ; 289 | b111010100100110011010000110010 L 290 | b111010100100110011010000110010 F 291 | b100100111000000000100001010000 G 292 | b1000101101110110000110001001011 K 293 | b1000101101110110000110001001011 D 294 | b11010101010100001111011001100110 E 295 | b11011000010000101101011110100111 J 296 | b11011000010000101101011110100111 @ 297 | b11010101010100001111011001100110 A 298 | b11001000110000110100011110100111 B 299 | b1011010011010101101100110101101 C 300 | b1111000001011100111100111001001 H 301 | b1111000001011100111100111001001 < 302 | b100100111000000000100001010000 = 303 | b11111001001010010011100111101011 > 304 | b1111000110011100111100110001001 ? 305 | b100 6 306 | b11010101010100001111011001100110 % 307 | b11001000110000110100011110100111 & 308 | b1011010011010101101100110101101 ' 309 | b1011101011010101110101111001101 ( 310 | b100100111000000000100001010000 ) 311 | b11111001001010010011100111101011 * 312 | b1111000110011100111100110001001 + 313 | b11111010001010100100011000100010 , 314 | 1! 315 | b1001 N 316 | #6500 317 | b11101111111011110001111110010 9 318 | b11100110010000101011011001111000 8 319 | 0! 320 | b1010 N 321 | #7000 322 | b1011001111100010001000111110001 I 323 | b1011001111100010001000111110001 : 324 | b101 ; 325 | b10001011011101111110000110011100 L 326 | b10001011011101111110000110011100 F 327 | b1000011101011011010001001000101 G 328 | b1010000001010011010110010001111 K 329 | b1010000001010011010110010001111 D 330 | b100010000001001101001101010 E 331 | b11000100010000001101011001100110 J 332 | b11000100010000001101011001100110 @ 333 | b100010000001001101001101010 A 334 | b11010101010100001111011001100110 B 335 | b11001000110000110100011110100111 C 336 | b10111000101000000001100111101010 H 337 | b10111000101000000001100111101010 < 338 | b1000011101011011010001001000101 = 339 | b100100111000000000100001010000 > 340 | b11111001001010010011100111101011 ? 341 | b101 6 342 | b100010000001001101001101010 % 343 | b11010101010100001111011001100110 & 344 | b11001000110000110100011110100111 ' 345 | b1011010011010101101100110101101 ( 346 | b1000011101011011010001001000101 ) 347 | b100100111000000000100001010000 * 348 | b11111001001010010011100111101011 + 349 | b1111000110011100111100110001001 , 350 | 1! 351 | b1011 N 352 | #7500 353 | b10100011010101000001011110101 9 354 | b10110110101111000011100000000 8 355 | 0! 356 | b1100 N 357 | #8000 358 | b10010010001111111000001010100100 I 359 | b10010010001111111000001010100100 : 360 | b110 ; 361 | b1010110110111011101110110 L 362 | b1010110110111011101110110 F 363 | b1110001010000100110000010101101 G 364 | b1101010111100000110011000000 K 365 | b1101010111100000110011000000 D 366 | b101011010000100000100111110101 E 367 | b101010000001001101001100110 J 368 | b101010000001001101001100110 @ 369 | b101011010000100000100111110101 A 370 | b100010000001001101001101010 B 371 | b11010101010100001111011001100110 C 372 | b1000101101000000010100001010101 H 373 | b1000101101000000010100001010101 < 374 | b1110001010000100110000010101101 = 375 | b1000011101011011010001001000101 > 376 | b100100111000000000100001010000 ? 377 | b110 6 378 | b101011010000100000100111110101 % 379 | b100010000001001101001101010 & 380 | b11010101010100001111011001100110 ' 381 | b11001000110000110100011110100111 ( 382 | b1110001010000100110000010101101 ) 383 | b1000011101011011010001001000101 * 384 | b100100111000000000100001010000 + 385 | b11111001001010010011100111101011 , 386 | 1! 387 | b1101 N 388 | #8500 389 | b10010100111101010011100100110 9 390 | b11010010011001000101110001011010 8 391 | 0! 392 | b1110 N 393 | #9000 394 | b10101011000111000101111011010101 I 395 | b10101011000111000101111011010101 : 396 | b111 ; 397 | b10101100011011111101010101001 L 398 | b10101100011011111101010101001 F 399 | b10011011001001111010010000000001 G 400 | b101001010010011110101101101100 K 401 | b101001010010011110101101101100 D 402 | b11100101000000110000001110000000 E 403 | b100101010000100000101111100000 J 404 | b100101010000100000101111100000 @ 405 | b11100101000000110000001110000000 A 406 | b101011010000100000100111110101 B 407 | b100010000001001101001101010 C 408 | b1010001100010100010001001000101 H 409 | b1010001100010100010001001000101 < 410 | b10011011001001111010010000000001 = 411 | b1110001010000100110000010101101 > 412 | b1000011101011011010001001000101 ? 413 | b111 6 414 | b11100101000000110000001110000000 % 415 | b101011010000100000100111110101 & 416 | b100010000001001101001101010 ' 417 | b11010101010100001111011001100110 ( 418 | b10011011001001111010010000000001 ) 419 | b1110001010000100110000010101101 * 420 | b1000011101011011010001001000101 + 421 | b100100111000000000100001010000 , 422 | 1! 423 | b1111 N 424 | #9500 425 | b1001110100010111111011101001100 9 426 | b110111000101001000010000010011 8 427 | 0! 428 | b10000 N 429 | #10000 430 | b11011000000001111010101010011000 I 431 | b11011000000001111010101010011000 : 432 | b1000 ; 433 | b10011001101011010010010111000000 L 434 | b10011001101011010010010111000000 F 435 | b1100011001010111101001111001 G 436 | b10111010011110010100110111000010 K 437 | b10111010011110010100110111000010 D 438 | b10000101101000000111101101011111 E 439 | b10100101000000100000101111010101 J 440 | b10100101000000100000101111010101 @ 441 | b10000101101000000111101101011111 A 442 | b11100101000000110000001110000000 B 443 | b101011010000100000100111110101 C 444 | b1111001001001110010000010000101 H 445 | b1111001001001110010000010000101 < 446 | b1100011001010111101001111001 = 447 | b10011011001001111010010000000001 > 448 | b1110001010000100110000010101101 ? 449 | b1000 6 450 | b10000101101000000111101101011111 % 451 | b11100101000000110000001110000000 & 452 | b101011010000100000100111110101 ' 453 | b100010000001001101001101010 ( 454 | b1100011001010111101001111001 ) 455 | b10011011001001111010010000000001 * 456 | b1110001010000100110000010101101 + 457 | b1000011101011011010001001000101 , 458 | 1! 459 | b10001 N 460 | #10500 461 | b1011111011110110101100110010111 9 462 | b101110100010011001001100100010 8 463 | 0! 464 | b10010 N 465 | #11000 466 | b10010100000110101101100000001 I 467 | b10010100000110101101100000001 : 468 | b1001 ; 469 | b11100100010110111011011111101010 L 470 | b11100100010110111011011111101010 F 471 | b110010110010100010110110001100 G 472 | b10101111111111010110100110001 K 473 | b10101111111111010110100110001 D 474 | b10001110000001001110110010111001 E 475 | b10000101000000000110101110011001 J 476 | b10000101000000000110101110011001 @ 477 | b10001110000001001110110010111001 A 478 | b10000101101000000111101101011111 B 479 | b11100101000000110000001110000000 C 480 | b10001001011001011010100000001001 H 481 | b10001001011001011010100000001001 < 482 | b110010110010100010110110001100 = 483 | b1100011001010111101001111001 > 484 | b10011011001001111010010000000001 ? 485 | b1001 6 486 | b10001110000001001110110010111001 % 487 | b10000101101000000111101101011111 & 488 | b11100101000000110000001110000000 ' 489 | b101011010000100000100111110101 ( 490 | b110010110010100010110110001100 ) 491 | b1100011001010111101001111001 * 492 | b10011011001001111010010000000001 + 493 | b1110001010000100110000010101101 , 494 | 1! 495 | b10011 N 496 | #11500 497 | b10011011000000000001100011001010 9 498 | b11110001100001110001101110100001 8 499 | 0! 500 | b10100 N 501 | #12000 502 | b100100001100011000010110111110 I 503 | b100100001100011000010110111110 : 504 | b1010 ; 505 | b10001110001000100111011010111100 L 506 | b10001110001000100111011010111100 F 507 | b11100110010010010010110010110 G 508 | b1011100101011000000011100010001 K 509 | b1011100101011000000011100010001 D 510 | b10001100100001110011010001101011 E 511 | b10001100100001000111110001111011 J 512 | b10001100100001000111110001111011 @ 513 | b10001100100001110011010001101011 A 514 | b10001110000001001110110010111001 B 515 | b10000101101000000111101101011111 C 516 | b10000111011000111111111101101 H 517 | b10000111011000111111111101101 < 518 | b11100110010010010010110010110 = 519 | b110010110010100010110110001100 > 520 | b1100011001010111101001111001 ? 521 | b1010 6 522 | b10001100100001110011010001101011 % 523 | b10001110000001001110110010111001 & 524 | b10000101101000000111101101011111 ' 525 | b11100101000000110000001110000000 ( 526 | b11100110010010010010110010110 ) 527 | b110010110010100010110110001100 * 528 | b1100011001010111101001111001 + 529 | b10011011001001111010010000000001 , 530 | 1! 531 | b10101 N 532 | #12500 533 | b11101001001100001000001110001100 9 534 | b1011110011010000010000001101000 8 535 | 0! 536 | b10110 N 537 | #13000 538 | b1010101000011000111110111000011 I 539 | b1010101000011000111110111000011 : 540 | b1011 ; 541 | b1101001100101000011010111001010 L 542 | b1101001100101000011010111001010 F 543 | b1000011011010110010001111101000 G 544 | b1101100110010111100010100100110 K 545 | b1101100110010111100010100100110 D 546 | b1000111100110001010001111110100 E 547 | b10001110100001001010010011111001 J 548 | b10001110100001001010010011111001 @ 549 | b1000111100110001010001111110100 A 550 | b10001100100001110011010001101011 B 551 | b10001110000001001110110010111001 C 552 | b110000110010010010110110000100 H 553 | b110000110010010010110110000100 < 554 | b1000011011010110010001111101000 = 555 | b11100110010010010010110010110 > 556 | b110010110010100010110110001100 ? 557 | b1011 6 558 | b1000111100110001010001111110100 % 559 | b10001100100001110011010001101011 & 560 | b10001110000001001110110010111001 ' 561 | b10000101101000000111101101011111 ( 562 | b1000011011010110010001111101000 ) 563 | b11100110010010010010110010110 * 564 | b110010110010100010110110001100 + 565 | b1100011001010111101001111001 , 566 | 1! 567 | b10111 N 568 | #13500 569 | b11111011010100000110101000011111 9 570 | b11111011110011110101101110001010 8 571 | 0! 572 | b11000 N 573 | #14000 574 | b1110010101111100101110101110100 I 575 | b1110010101111100101110101110100 : 576 | b1100 ; 577 | b11001100110111101110011001100001 L 578 | b11001100110111101110011001100001 F 579 | b10000001011011111101011011101001 G 580 | b101111100111101110111001001000 K 581 | b101111100111101110111001001000 D 582 | b11110111000111111100010110101001 E 583 | b11000111100111111010010111101001 J 584 | b11000111100111111010010111101001 @ 585 | b11110111000111111100010110101001 A 586 | b1000111100110001010001111110100 B 587 | b10001100100001110011010001101011 C 588 | b11101111010110010001111111110 H 589 | b11101111010110010001111111110 < 590 | b10000001011011111101011011101001 = 591 | b1000011011010110010001111101000 > 592 | b11100110010010010010110010110 ? 593 | b1100 6 594 | b11110111000111111100010110101001 % 595 | b1000111100110001010001111110100 & 596 | b10001100100001110011010001101011 ' 597 | b10001110000001001110110010111001 ( 598 | b10000001011011111101011011101001 ) 599 | b1000011011010110010001111101000 * 600 | b11100110010010010010110010110 + 601 | b110010110010100010110110001100 , 602 | 1! 603 | b11001 N 604 | #14500 605 | b11110111001111101001010000110001 9 606 | b10010000010100101001010101011111 8 607 | 0! 608 | b11010 N 609 | #15000 610 | b10000000110111101011000111111110 I 611 | b10000000110111101011000111111110 : 612 | b1101 ; 613 | b1000101110111001100011110111 L 614 | b1000101110111001100011110111 F 615 | b11110010101111000001000011000 G 616 | b101001110001100011010011110011 K 617 | b101001110001100011010011110011 D 618 | b10000111100100010010100110010000 E 619 | b11000111100110011010000110110000 J 620 | b11000111100110011010000110110000 @ 621 | b10000111100100010010100110010000 A 622 | b11110111000111111100010110101001 B 623 | b1000111100110001010001111110100 C 624 | b1000001011011111010001111101000 H 625 | b1000001011011111010001111101000 < 626 | b11110010101111000001000011000 = 627 | b10000001011011111101011011101001 > 628 | b1000011011010110010001111101000 ? 629 | b1101 6 630 | b10000111100100010010100110010000 % 631 | b11110111000111111100010110101001 & 632 | b1000111100110001010001111110100 ' 633 | b10001100100001110011010001101011 ( 634 | b11110010101111000001000011000 ) 635 | b10000001011011111101011011101001 * 636 | b1000011011010110010001111101000 + 637 | b11100110010010010010110010110 , 638 | 1! 639 | b11011 N 640 | #15500 641 | b11110001010111111101011010100011 9 642 | b11100111110100110001010001110011 8 643 | 0! 644 | b11100 N 645 | #16000 646 | b10011011110111000000011010100111 I 647 | b10011011110111000000011010100111 : 648 | b1110 ; 649 | b1001111001110111000110101010000 L 650 | b1001111001110111000110101010000 F 651 | b1110100010110100100100011011110 G 652 | b100101010101100010100000110110 K 653 | b100101010101100010100000110110 D 654 | b11011001001100101110101100010110 E 655 | b11010111000100111110100110010000 J 656 | b11010111000100111110100110010000 @ 657 | b11011001001100101110101100010110 A 658 | b10000111100100010010100110010000 B 659 | b11110111000111111100010110101001 C 660 | b10010101011101111001011000111001 H 661 | b10010101011101111001011000111001 < 662 | b1110100010110100100100011011110 = 663 | b11110010101111000001000011000 > 664 | b10000001011011111101011011101001 ? 665 | b1110 6 666 | b11011001001100101110101100010110 % 667 | b10000111100100010010100110010000 & 668 | b11110111000111111100010110101001 ' 669 | b1000111100110001010001111110100 ( 670 | b1110100010110100100100011011110 ) 671 | b11110010101111000001000011000 * 672 | b10000001011011111101011011101001 + 673 | b1000011011010110010001111101000 , 674 | 1! 675 | b11101 N 676 | #16500 677 | b11111100011010100001000111000110 9 678 | b11000011111110100100111000011000 8 679 | 0! 680 | b11110 N 681 | #17000 682 | b11000001100110111111000101110100 I 683 | b11000001100110111111000101110100 : 684 | b1111 ; 685 | b11000 M 686 | b10111000110101100011111110010011 L 687 | b10111000110101100011111110010011 F 688 | b1011100100101111001000001100 G 689 | b11011111100100000110111111010100 K 690 | b11011111100100000110111111010100 D 691 | b11000000011001000101111111011110 E 692 | b11000001001100000110101110010110 J 693 | b11000001001100000110101110010110 @ 694 | b11000000011001000101111111011110 A 695 | b11011001001100101110101100010110 B 696 | b10000111100100010010100110010000 C 697 | b10100010101110100000000011100 H 698 | b10100010101110100000000011100 < 699 | b1011100100101111001000001100 = 700 | b1110100010110100100100011011110 > 701 | b11110010101111000001000011000 ? 702 | b1111 6 703 | b11000000011001000101111111011110 % 704 | b11011001001100101110101100010110 & 705 | b10000111100100010010100110010000 ' 706 | b11110111000111111100010110101001 ( 707 | b1011100100101111001000001100 ) 708 | b1110100010110100100100011011110 * 709 | b11110010101111000001000011000 + 710 | b10000001011011111101011011101001 , 711 | 1! 712 | b11111 N 713 | #17500 714 | b10100000110000001101101101101010 9 715 | b10000001110010100100000100100 8 716 | 0! 717 | b100000 N 718 | #18000 719 | b11100100100110110110100111000001 I 720 | b11100100100110110110100111000001 : 721 | b10000 ; 722 | b1100001011000100110001110000000 M 723 | b100001001110110110100110010101 L 724 | b100001001110110110100110010101 F 725 | b111010110010000110111001101 G 726 | b1011000110001010011010111110001 K 727 | b1011000110001010011010111110001 D 728 | b10110000111110100010001110001110 E 729 | b11010000011100100110101110011110 J 730 | b11010000011100100110101110011110 @ 731 | b10110000111110100010001110001110 A 732 | b11000000011001000101111111011110 B 733 | b11011001001100101110101100010110 C 734 | b1110011000100100100000000011110 H 735 | b1110011000100100100000000011110 < 736 | b111010110010000110111001101 = 737 | b1011100100101111001000001100 > 738 | b1110100010110100100100011011110 ? 739 | b10000 6 740 | b10110000111110100010001110001110 % 741 | b11000000011001000101111111011110 & 742 | b11011001001100101110101100010110 ' 743 | b10000111100100010010100110010000 ( 744 | b111010110010000110111001101 ) 745 | b1011100100101111001000001100 * 746 | b1110100010110100100100011011110 + 747 | b11110010101111000001000011000 , 748 | 1! 749 | b100001 N 750 | #18500 751 | b101001001101111010000110001111 9 752 | b11111000101000101111100100001100 8 753 | 0! 754 | b100010 N 755 | #19000 756 | b11101111101111100100011110000110 I 757 | b11101111101111100100011110000110 : 758 | b10001 ; 759 | b11110000000000000000 M 760 | b111011100000011001100001001110 L 761 | b111011100000011001100001001110 F 762 | b10000000001101000010001010011100 G 763 | b1110110110001011100010011110101 K 764 | b1110110110001011100010011110101 D 765 | b100001110110101001101010011011 E 766 | b10100000111110100001101110011110 J 767 | b10100000111110100001101110011110 @ 768 | b100001110110101001101010011011 A 769 | b10110000111110100010001110001110 B 770 | b11000000011001000101111111011110 C 771 | b1011100100101101000010001100 H 772 | b1011100100101101000010001100 < 773 | b10000000001101000010001010011100 = 774 | b111010110010000110111001101 > 775 | b1011100100101111001000001100 ? 776 | b10001 6 777 | b100001110110101001101010011011 % 778 | b10110000111110100010001110001110 & 779 | b11000000011001000101111111011110 ' 780 | b11011001001100101110101100010110 ( 781 | b10000000001101000010001010011100 ) 782 | b111010110010000110111001101 * 783 | b1011100100101111001000001100 + 784 | b1110100010110100100100011011110 , 785 | 1! 786 | b100011 N 787 | #19500 788 | b10111101111111110000010010011 9 789 | b10101011001110111111100100111110 8 790 | 0! 791 | b100100 N 792 | #20000 793 | b1111110000011001110111000110 I 794 | b1111110000011001110111000110 : 795 | b10010 ; 796 | b1111101101010000110010000000101 M 797 | b11101111111100110001110000001111 L 798 | b11101111111100110001110000001111 F 799 | b10000100011011101110010001010100 G 800 | b1010001010101111010011010100001 K 801 | b1010001010101111010011010100001 D 802 | b11000010111110111101100111010001 E 803 | b10100000111110101001101110011011 J 804 | b10100000111110101001101110011011 @ 805 | b11000010111110111101100111010001 A 806 | b100001110110101001101010011011 B 807 | b10110000111110100010001110001110 C 808 | b10000011001101010010100110011101 H 809 | b10000011001101010010100110011101 < 810 | b10000100011011101110010001010100 = 811 | b10000000001101000010001010011100 > 812 | b111010110010000110111001101 ? 813 | b10010 6 814 | b11000010111110111101100111010001 % 815 | b100001110110101001101010011011 & 816 | b10110000111110100010001110001110 ' 817 | b11000000011001000101111111011110 ( 818 | b10000100011011101110010001010100 ) 819 | b10000000001101000010001010011100 * 820 | b111010110010000110111001101 + 821 | b1011100100101111001000001100 , 822 | 1! 823 | b100101 N 824 | #20500 825 | b11110010010100100100001000111100 9 826 | b1100001001010011100110000011 8 827 | 0! 828 | b100110 N 829 | #21000 830 | b100100000011001010000111001100 I 831 | b100100000011001010000111001100 : 832 | b10011 ; 833 | b1100000000000000000001111000110 M 834 | b11101111110001110000011110110000 L 835 | b11101111110001110000011110110000 F 836 | b11001100100010011001100101100001 G 837 | b11111111100011001101001010101101 K 838 | b11111111100011001101001010101101 D 839 | b11111110011101110111101110111111 E 840 | b11100010111110111101101110011011 J 841 | b11100010111110111101101110011011 @ 842 | b11111110011101110111101110111111 A 843 | b11000010111110111101100111010001 B 844 | b100001110110101001101010011011 C 845 | b10000100001111001010001011011100 H 846 | b10000100001111001010001011011100 < 847 | b11001100100010011001100101100001 = 848 | b10000100011011101110010001010100 > 849 | b10000000001101000010001010011100 ? 850 | b10011 6 851 | b11111110011101110111101110111111 % 852 | b11000010111110111101100111010001 & 853 | b100001110110101001101010011011 ' 854 | b10110000111110100010001110001110 ( 855 | b11001100100010011001100101100001 ) 856 | b10000100011011101110010001010100 * 857 | b10000000001101000010001010011100 + 858 | b111010110010000110111001101 , 859 | 1! 860 | b100111 N 861 | #21500 862 | b11100010100010001010111001001000 9 863 | b11111111011010010101110111101011 8 864 | 0! 865 | b101000 N 866 | #22000 867 | b101101111010010010110001101111 I 868 | b101101111010010010110001101111 : 869 | b10100 ; 870 | b111110100111010111101101111000 M 871 | b11111000001101110011111010101101 L 872 | b11111000001101110011111010101101 F 873 | b10110000011000111000000101111001 G 874 | b1010001110100110100001100011011 K 875 | b1010001110100110100001100011011 D 876 | b11100001111100100000110000110011 E 877 | b11100010111100110101100110110011 J 878 | b11100010111100110101100110110011 @ 879 | b11100001111100100000110000110011 A 880 | b11111110011101110111101110111111 B 881 | b11000010111110111101100111010001 C 882 | b10000100000011011110010101100101 H 883 | b10000100000011011110010101100101 < 884 | b10110000011000111000000101111001 = 885 | b11001100100010011001100101100001 > 886 | b10000100011011101110010001010100 ? 887 | b10100 6 888 | b11100001111100100000110000110011 % 889 | b11111110011101110111101110111111 & 890 | b11000010111110111101100111010001 ' 891 | b100001110110101001101010011011 ( 892 | b10110000011000111000000101111001 ) 893 | b11001100100010011001100101100001 * 894 | b10000100011011101110010001010100 + 895 | b10000000001101000010001010011100 , 896 | 1! 897 | b101001 N 898 | #22500 899 | b110100110001101001110011001110 9 900 | b1101000111111111110111010010101 8 901 | 0! 902 | b101010 N 903 | #23000 904 | b1001010011101001000010010101010 I 905 | b1001010011101001000010010101010 : 906 | b10101 ; 907 | b1100000111111110000000000 M 908 | b10001001011111101010100100110000 L 909 | b10001001011111101010100100110000 F 910 | b10001010110110101000100100110000 G 911 | b10100110010000001100001010011011 K 912 | b10100110010000001100001010011011 D 913 | b10011101110001101000101101100011 E 914 | b11111101111101100000101100110011 J 915 | b11111101111101100000101100110011 @ 916 | b10011101110001101000101101100011 A 917 | b11100001111100100000110000110011 B 918 | b11111110011101110111101110111111 C 919 | b11000100010000111001000101110001 H 920 | b11000100010000111001000101110001 < 921 | b10001010110110101000100100110000 = 922 | b10110000011000111000000101111001 > 923 | b11001100100010011001100101100001 ? 924 | b10101 6 925 | b10011101110001101000101101100011 % 926 | b11100001111100100000110000110011 & 927 | b11111110011101110111101110111111 ' 928 | b11000010111110111101100111010001 ( 929 | b10001010110110101000100100110000 ) 930 | b10110000011000111000000101111001 * 931 | b11001100100010011001100101100001 + 932 | b10000100011011101110010001010100 , 933 | 1! 934 | b101011 N 935 | #23500 936 | b10100100001101101100110111001110 9 937 | b11110001010011001111110011111 8 938 | 0! 939 | b101100 N 940 | #24000 941 | b1011100101100001010100111011100 I 942 | b1011100101100001010100111011100 : 943 | b10110 ; 944 | b10010110111001011111111011011 M 945 | b1111111001001000000100100111010 L 946 | b1111111001001000000100100111010 F 947 | b11100001001001010111100101110000 G 948 | b10011010010000111011111101010001 K 949 | b10011010010000111011111101010001 D 950 | b11000010011000000110110101101101 E 951 | b11000001111000100000110101100011 J 952 | b11000001111000100000110101100011 @ 953 | b11000010011000000110110101101101 A 954 | b10011101110001101000101101100011 B 955 | b11100001111100100000110000110011 C 956 | b10010000010000101000100100111001 H 957 | b10010000010000101000100100111001 < 958 | b11100001001001010111100101110000 = 959 | b10001010110110101000100100110000 > 960 | b10110000011000111000000101111001 ? 961 | b10110 6 962 | b11000010011000000110110101101101 % 963 | b10011101110001101000101101100011 & 964 | b11100001111100100000110000110011 ' 965 | b11111110011101110111101110111111 ( 966 | b11100001001001010111100101110000 ) 967 | b10001010110110101000100100110000 * 968 | b10110000011000111000000101111001 + 969 | b11001100100010011001100101100001 , 970 | 1! 971 | b101101 N 972 | #24500 973 | b1011100001001011100110010110100 9 974 | b1001011011111011001010110001011 8 975 | 0! 976 | b101110 N 977 | #25000 978 | b1110110111110011000100011011010 I 979 | b1110110111110011000100011011010 : 980 | b10111 ; 981 | b11100010111000101100001110001110 M 982 | b11111010111001100100111111000011 L 983 | b11111010111001100100111111000011 F 984 | b1001001111101010001000101001010 G 985 | b1110101100111010001101100001010 K 986 | b1110101100111010001101100001010 D 987 | b10100111101000110110001000111111 E 988 | b10000111111000100110101101101111 J 989 | b10000111111000100110101101101111 @ 990 | b10100111101000110110001000111111 A 991 | b11000010011000000110110101101101 B 992 | b10011101110001101000101101100011 C 993 | b11000011001011111001100101110000 H 994 | b11000011001011111001100101110000 < 995 | b1001001111101010001000101001010 = 996 | b11100001001001010111100101110000 > 997 | b10001010110110101000100100110000 ? 998 | b10111 6 999 | b10100111101000110110001000111111 % 1000 | b11000010011000000110110101101101 & 1001 | b10011101110001101000101101100011 ' 1002 | b11100001111100100000110000110011 ( 1003 | b1001001111101010001000101001010 ) 1004 | b11100001001001010111100101110000 * 1005 | b10001010110110101000100100110000 + 1006 | b10110000011000111000000101111001 , 1007 | 1! 1008 | b101111 N 1009 | #25500 1010 | b11111101011111111000011001111001 9 1011 | b11001000010101011011011100010100 8 1012 | 0! 1013 | b110000 N 1014 | #26000 1015 | b10011000001111100101000101010010 I 1016 | b10011000001111100101000101010010 : 1017 | b11000 ; 1018 | b11001000001000010101110000011010 M 1019 | b1010101101111011111010000100000 L 1020 | b1010101101111011111010000100000 F 1021 | b10101010010001111100001101000111 G 1022 | b11001001111011010101011011011101 K 1023 | b11001001111011010101011011011101 D 1024 | b11000101110101010011110110001101 E 1025 | b11000111111000010110110100101101 J 1026 | b11000111111000010110110100101101 @ 1027 | b11000101110101010011110110001101 A 1028 | b10100111101000110110001000111111 B 1029 | b11000010011000000110110101101101 C 1030 | b1001001011001010011100101110010 H 1031 | b1001001011001010011100101110010 < 1032 | b10101010010001111100001101000111 = 1033 | b1001001111101010001000101001010 > 1034 | b11100001001001010111100101110000 ? 1035 | b11000 6 1036 | b11000101110101010011110110001101 % 1037 | b10100111101000110110001000111111 & 1038 | b11000010011000000110110101101101 ' 1039 | b10011101110001101000101101100011 ( 1040 | b10101010010001111100001101000111 ) 1041 | b1001001111101010001000101001010 * 1042 | b11100001001001010111100101110000 + 1043 | b10001010110110101000100100110000 , 1044 | 1! 1045 | b110001 N 1046 | #26500 1047 | b10010001110011101100010000001010 9 1048 | b10001010010111010110010000101110 8 1049 | 0! 1050 | b110010 N 1051 | #27000 1052 | b10101000001100011100011001101101 I 1053 | b10101000001100011100011001101101 : 1054 | b11001 ; 1055 | b10110111001101100111100110100010 M 1056 | b10100111011100100100001101010111 L 1057 | b10100111011100100100001101010111 F 1058 | b101000001000111110111110010001 G 1059 | b11110110011010110000101100011111 K 1060 | b11110110011010110000101100011111 D 1061 | b11100001011000010100000111000 E 1062 | b10000101101001010010100000111101 J 1063 | b10000101101001010010100000111101 @ 1064 | b11100001011000010100000111000 A 1065 | b11000101110101010011110110001101 B 1066 | b10100111101000110110001000111111 C 1067 | b1101001110101111101001101001011 H 1068 | b1101001110101111101001101001011 < 1069 | b101000001000111110111110010001 = 1070 | b10101010010001111100001101000111 > 1071 | b1001001111101010001000101001010 ? 1072 | b11001 6 1073 | b11100001011000010100000111000 % 1074 | b11000101110101010011110110001101 & 1075 | b10100111101000110110001000111111 ' 1076 | b11000010011000000110110101101101 ( 1077 | b101000001000111110111110010001 ) 1078 | b10101010010001111100001101000111 * 1079 | b1001001111101010001000101001010 + 1080 | b11100001001001010111100101110000 , 1081 | 1! 1082 | b110011 N 1083 | #27500 1084 | b1111100000100000011001101011100 9 1085 | b1010001110101111101000000100001 8 1086 | 0! 1087 | b110100 N 1088 | #28000 1089 | b10110000000000110010011111001000 I 1090 | b10110000000000110010011111001000 : 1091 | b11010 ; 1092 | b11100101101111000011100100001001 M 1093 | b10010101100011001010000011111011 L 1094 | b10010101100011001010000011111011 F 1095 | b10100001110000011110110001110 G 1096 | b11001000100110011001100010101000 K 1097 | b11001000100110011001100010101000 D 1098 | b11001101111010000000001101111101 E 1099 | b11001101111011000010100100111101 J 1100 | b11001101111011000010100100111101 @ 1101 | b11001101111010000000001101111101 A 1102 | b11100001011000010100000111000 B 1103 | b11000101110101010011110110001101 C 1104 | b10101010011001111110111111000001 H 1105 | b10101010011001111110111111000001 < 1106 | b10100001110000011110110001110 = 1107 | b101000001000111110111110010001 > 1108 | b10101010010001111100001101000111 ? 1109 | b11010 6 1110 | b11001101111010000000001101111101 % 1111 | b11100001011000010100000111000 & 1112 | b11000101110101010011110110001101 ' 1113 | b10100111101000110110001000111111 ( 1114 | b10100001110000011110110001110 ) 1115 | b101000001000111110111110010001 * 1116 | b10101010010001111100001101000111 + 1117 | b1001001111101010001000101001010 , 1118 | 1! 1119 | b110101 N 1120 | #28500 1121 | b10010110100001011100000111100101 9 1122 | b11111101010010000001011010111 8 1123 | 0! 1124 | b110110 N 1125 | #29000 1126 | b10111111010110010111111111000111 I 1127 | b10111111010110010111111111000111 : 1128 | b11011 ; 1129 | b110010011001100011110001011011 M 1130 | b1011111111101110101001101111011 L 1131 | b1011111111101110101001101111011 F 1132 | b11000111010011000110010100010110 G 1133 | b10110011011111001111001010000001 K 1134 | b10110011011111001111001010000001 D 1135 | b10110110001011101100010010111100 E 1136 | b10011100001011000000000000111100 J 1137 | b10011100001011000000000000111100 @ 1138 | b10110110001011101100010010111100 A 1139 | b11001101111010000000001101111101 B 1140 | b11100001011000010100000111000 C 1141 | b101100001010111010111110000111 H 1142 | b101100001010111010111110000111 < 1143 | b11000111010011000110010100010110 = 1144 | b10100001110000011110110001110 > 1145 | b101000001000111110111110010001 ? 1146 | b11011 6 1147 | b10110110001011101100010010111100 % 1148 | b11001101111010000000001101111101 & 1149 | b11100001011000010100000111000 ' 1150 | b11000101110101010011110110001101 ( 1151 | b11000111010011000110010100010110 ) 1152 | b10100001110000011110110001110 * 1153 | b101000001000111110111110010001 + 1154 | b10101010010001111100001101000111 , 1155 | 1! 1156 | b110111 N 1157 | #29500 1158 | b1001111101010001111001010111101 9 1159 | b101000001010101000001001101011 8 1160 | 0! 1161 | b111000 N 1162 | #30000 1163 | b11000110111000000000101111110011 I 1164 | b11000110111000000000101111110011 : 1165 | b11100 ; 1166 | b10011101001000001001110101100111 M 1167 | b11100011011101011011110101111110 L 1168 | b11100011011101011011110101111110 F 1169 | b11101101111111111011111111111000 G 1170 | b11111001011000111100001000001110 K 1171 | b11111001011000111100001000001110 D 1172 | b1110111110100110111010100101000 E 1173 | b11110111111010100100010100111100 J 1174 | b11110111111010100100010100111100 @ 1175 | b1110111110100110111010100101000 A 1176 | b10110110001011101100010010111100 B 1177 | b11001101111010000000001101111101 C 1178 | b11010101010011000010010100010110 H 1179 | b11010101010011000010010100010110 < 1180 | b11101101111111111011111111111000 = 1181 | b11000111010011000110010100010110 > 1182 | b10100001110000011110110001110 ? 1183 | b11100 6 1184 | b1110111110100110111010100101000 % 1185 | b10110110001011101100010010111100 & 1186 | b11001101111010000000001101111101 ' 1187 | b11100001011000010100000111000 ( 1188 | b11101101111111111011111111111000 ) 1189 | b11000111010011000110010100010110 * 1190 | b10100001110000011110110001110 + 1191 | b101000001000111110111110010001 , 1192 | 1! 1193 | b111001 N 1194 | #30500 1195 | b11110001010011100000011101001010 9 1196 | b1000100111001100111101101111111 8 1197 | 0! 1198 | b111010 N 1199 | #31000 1200 | b11010101101001111001000101000111 I 1201 | b11010101101001111001000101000111 : 1202 | b11101 ; 1203 | b11101100100001110010011011001011 M 1204 | b100010001110011011001101101010 L 1205 | b100010001110011011001101101010 F 1206 | b1100001000100101010001110110111 G 1207 | b10001001110011111011010111001110 K 1208 | b10001001110011111011010111001110 D 1209 | b110110001101001000001011001001 E 1210 | b110110001101101100010010101000 J 1211 | b110110001101101100010010101000 @ 1212 | b110110001101001000001011001001 A 1213 | b1110111110100110111010100101000 B 1214 | b10110110001011101100010010111100 C 1215 | b11100111010111101110011110110000 H 1216 | b11100111010111101110011110110000 < 1217 | b1100001000100101010001110110111 = 1218 | b11101101111111111011111111111000 > 1219 | b11000111010011000110010100010110 ? 1220 | b11101 6 1221 | b110110001101001000001011001001 % 1222 | b1110111110100110111010100101000 & 1223 | b10110110001011101100010010111100 ' 1224 | b11001101111010000000001101111101 ( 1225 | b1100001000100101010001110110111 ) 1226 | b11101101111111111011111111111000 * 1227 | b11000111010011000110010100010110 + 1228 | b10100001110000011110110001110 , 1229 | 1! 1230 | b111011 N 1231 | #31500 1232 | b11000000000001100111101001110110 9 1233 | b11011111111111111001000010111010 8 1234 | 0! 1235 | b111100 N 1236 | #32000 1237 | b110110010100110001101010001 I 1238 | b110110010100110001101010001 : 1239 | b11110 ; 1240 | b1110000001000010011100010100100 M 1241 | b10101011100010000011100101110100 L 1242 | b10101011100010000011100101110100 F 1243 | b10101101111001111001010000110111 G 1244 | b1101001101010000100000001111100 K 1245 | b1101001101010000100000001111100 D 1246 | b10100000000001100000101100110000 E 1247 | b110110000101100000001100101000 J 1248 | b110110000101100000001100101000 @ 1249 | b10100000000001100000101100110000 A 1250 | b110110001101001000001011001001 B 1251 | b1110111110100110111010100101000 C 1252 | b1100001000110101010101111111111 H 1253 | b1100001000110101010101111111111 < 1254 | b10101101111001111001010000110111 = 1255 | b1100001000100101010001110110111 > 1256 | b11101101111111111011111111111000 ? 1257 | b11110 6 1258 | b10100000000001100000101100110000 % 1259 | b110110001101001000001011001001 & 1260 | b1110111110100110111010100101000 ' 1261 | b10110110001011101100010010111100 ( 1262 | b10101101111001111001010000110111 ) 1263 | b1100001000100101010001110110111 * 1264 | b11101101111111111011111111111000 + 1265 | b11000111010011000110010100010110 , 1266 | 1! 1267 | b111101 N 1268 | #32500 1269 | b10011111101111100100001110100100 9 1270 | b1001010110110101110011001111110 8 1271 | 0! 1272 | b111110 N 1273 | #33000 1274 | b10100001010010010100101100111 I 1275 | b10100001010010010100101100111 : 1276 | b11111 ; 1277 | b11010011101101111001011100111011 M 1278 | b1011100100011001101010011001 L 1279 | b1011100100011001101010011001 F 1280 | b1000010011010101100111010 G 1281 | b10001111000110011001010111101011 K 1282 | b10001111000110011001010111101011 D 1283 | b11101010100110010010101000100010 E 1284 | b10100010000101000000101000100000 J 1285 | b10100010000101000000101000100000 @ 1286 | b11101010100110010010101000100010 A 1287 | b10100000000001100000101100110000 B 1288 | b110110001101001000001011001001 C 1289 | b1100001000100111000000010110111 H 1290 | b1100001000100111000000010110111 < 1291 | b1000010011010101100111010 = 1292 | b10101101111001111001010000110111 > 1293 | b1100001000100101010001110110111 ? 1294 | b11111 6 1295 | b11101010100110010010101000100010 % 1296 | b10100000000001100000101100110000 & 1297 | b110110001101001000001011001001 ' 1298 | b1110111110100110111010100101000 ( 1299 | b1000010011010101100111010 ) 1300 | b10101101111001111001010000110111 * 1301 | b1100001000100101010001110110111 + 1302 | b11101101111111111011111111111000 , 1303 | 1! 1304 | b111111 N 1305 | #33500 1306 | b110001001011011010000000001011 9 1307 | b1000010100001011001101111101010 8 1308 | 0! 1309 | b1000000 N 1310 | #34000 1311 | b100111101101110000101010000101 I 1312 | b100111101101110000101010000101 : 1313 | b100000 ; 1314 | b10010011111101011001100101111111 M 1315 | b1000100001101101010011000111011 L 1316 | b1000100001101101010011000111011 F 1317 | b10111010010110010001000100010010 G 1318 | b1001111101010001000011010101010 K 1319 | b1001111101010001000011010101010 D 1320 | b1110011101100110011101111110101 E 1321 | b11100010100100110010101100110000 J 1322 | b11100010100100110010101100110000 @ 1323 | b1110011101100110011101111110101 A 1324 | b11101010100110010010101000100010 B 1325 | b10100000000001100000101100110000 C 1326 | b101101011111000010100110111 H 1327 | b101101011111000010100110111 < 1328 | b10111010010110010001000100010010 = 1329 | b1000010011010101100111010 > 1330 | b10101101111001111001010000110111 ? 1331 | b100000 6 1332 | b1110011101100110011101111110101 % 1333 | b11101010100110010010101000100010 & 1334 | b10100000000001100000101100110000 ' 1335 | b110110001101001000001011001001 ( 1336 | b10111010010110010001000100010010 ) 1337 | b1000010011010101100111010 * 1338 | b10101101111001111001010000110111 + 1339 | b1100001000100101010001110110111 , 1340 | 1! 1341 | b1000001 N 1342 | #34500 1343 | b110010001110111011000111011010 9 1344 | b1100110101001010111001100101101 8 1345 | 0! 1346 | b1000010 N 1347 | #35000 1348 | b101110000110110010000100111000 I 1349 | b101110000110110010000100111000 : 1350 | b100001 ; 1351 | b111011011010001011101001110011 M 1352 | b1000010110100000011110100111 L 1353 | b1000010110100000011110100111 F 1354 | b10011100110110011111010111110110 G 1355 | b1001010100100001001000000101011 K 1356 | b1001010100100001001000000101011 D 1357 | b10011000111000010010010100000111 E 1358 | b11111010101100010010101100100111 J 1359 | b11111010101100010010101100100111 @ 1360 | b10011000111000010010010100000111 A 1361 | b1110011101100110011101111110101 B 1362 | b11101010100110010010101000100010 C 1363 | b10011001010110010001101100011010 H 1364 | b10011001010110010001101100011010 < 1365 | b10011100110110011111010111110110 = 1366 | b10111010010110010001000100010010 > 1367 | b1000010011010101100111010 ? 1368 | b100001 6 1369 | b10011000111000010010010100000111 % 1370 | b1110011101100110011101111110101 & 1371 | b11101010100110010010101000100010 ' 1372 | b10100000000001100000101100110000 ( 1373 | b10011100110110011111010111110110 ) 1374 | b10111010010110010001000100010010 * 1375 | b1000010011010101100111010 + 1376 | b10101101111001111001010000110111 , 1377 | 1! 1378 | b1000011 N 1379 | #35500 1380 | b1000101010000011011101101010010 9 1381 | b10111001000111101001001010100011 8 1382 | 0! 1383 | b1000100 N 1384 | #36000 1385 | b1001101001011000110110111111100 I 1386 | b1001101001011000110110111111100 : 1387 | b100010 ; 1388 | b10101111111101001111111111000001 M 1389 | b1100101010000010101111101001000 L 1390 | b1100101010000010101111101001000 F 1391 | b1011001001001001001110111010011 G 1392 | b10010001000000000011011110000110 K 1393 | b10010001000000000011011110000110 D 1394 | b11111110011000000100110111110101 E 1395 | b11111010111000010010110111110101 J 1396 | b11111010111000010010110111110101 @ 1397 | b11111110011000000100110111110101 A 1398 | b10011000111000010010010100000111 B 1399 | b1110011101100110011101111110101 C 1400 | b10111010010110011001010111010010 H 1401 | b10111010010110011001010111010010 < 1402 | b1011001001001001001110111010011 = 1403 | b10011100110110011111010111110110 > 1404 | b10111010010110010001000100010010 ? 1405 | b100010 6 1406 | b11111110011000000100110111110101 % 1407 | b10011000111000010010010100000111 & 1408 | b1110011101100110011101111110101 ' 1409 | b11101010100110010010101000100010 ( 1410 | b1011001001001001001110111010011 ) 1411 | b10011100110110011111010111110110 * 1412 | b10111010010110010001000100010010 + 1413 | b1000010011010101100111010 , 1414 | 1! 1415 | b1000101 N 1416 | #36500 1417 | b10001011111000010110010101111011 9 1418 | b11101110001100000111000010001 8 1419 | 0! 1420 | b1000110 N 1421 | #37000 1422 | b1010011001110000000110100010011 I 1423 | b1010011001110000000110100010011 : 1424 | b100011 ; 1425 | b11110001000010100101110001100010 M 1426 | b11100101110111000110111010000011 L 1427 | b11100101110111000110111010000011 F 1428 | b1000010111110011100000110011 G 1429 | b101011110000101010001101111110 K 1430 | b101011110000101010001101111110 D 1431 | b10101001101001110111001110001100 E 1432 | b10111000111000010110010110000101 J 1433 | b10111000111000010110010110000101 @ 1434 | b10101001101001110111001110001100 A 1435 | b11111110011000000100110111110101 B 1436 | b10011000111000010010010100000111 C 1437 | b10011100100001001101110111010111 H 1438 | b10011100100001001101110111010111 < 1439 | b1000010111110011100000110011 = 1440 | b1011001001001001001110111010011 > 1441 | b10011100110110011111010111110110 ? 1442 | b100011 6 1443 | b10101001101001110111001110001100 % 1444 | b11111110011000000100110111110101 & 1445 | b10011000111000010010010100000111 ' 1446 | b1110011101100110011101111110101 ( 1447 | b1000010111110011100000110011 ) 1448 | b1011001001001001001110111010011 * 1449 | b10011100110110011111010111110110 + 1450 | b10111010010110010001000100010010 , 1451 | 1! 1452 | b1000111 N 1453 | #37500 1454 | b11100100101001000000100100000011 9 1455 | b10000000111111001100011011100001 8 1456 | 0! 1457 | b1001000 N 1458 | #38000 1459 | b1100101000010100111001101010100 I 1460 | b1100101000010100111001101010100 : 1461 | b100100 ; 1462 | b1010100010110011100110010110 M 1463 | b1011001000011010011110101110001 L 1464 | b1011001000011010011110101110001 F 1465 | b11110100101100000000001011010110 G 1466 | b11100101011101001000111101101001 K 1467 | b11100101011101001000111101101001 D 1468 | b1100101101000001100111111100100 E 1469 | b11101101101000000100111111100100 J 1470 | b11101101101000000100111111100100 @ 1471 | b1100101101000001100111111100100 A 1472 | b10101001101001110111001110001100 B 1473 | b11111110011000000100110111110101 C 1474 | b1001000101001001110100010011 H 1475 | b1001000101001001110100010011 < 1476 | b11110100101100000000001011010110 = 1477 | b1000010111110011100000110011 > 1478 | b1011001001001001001110111010011 ? 1479 | b100100 6 1480 | b1100101101000001100111111100100 % 1481 | b10101001101001110111001110001100 & 1482 | b11111110011000000100110111110101 ' 1483 | b10011000111000010010010100000111 ( 1484 | b11110100101100000000001011010110 ) 1485 | b1000010111110011100000110011 * 1486 | b1011001001001001001110111010011 + 1487 | b10011100110110011111010111110110 , 1488 | 1! 1489 | b1001001 N 1490 | #38500 1491 | b11010011000101001101111101001101 9 1492 | b1101110100100010111110101100100 8 1493 | 0! 1494 | b1001010 N 1495 | #39000 1496 | b1110110011010100000101010111011 I 1497 | b1110110011010100000101010111011 : 1498 | b100101 ; 1499 | b1110010101011111000001100001010 M 1500 | b1011000001011000001000101011110 L 1501 | b1011000001011000001000101011110 F 1502 | b111011100101010001001101011 G 1503 | b101100100100010101111100011000 K 1504 | b101100100100010101111100011000 D 1505 | b1000001101001100101110010110001 E 1506 | b1100001101001100101111110100100 J 1507 | b1100001101001100101111110100100 @ 1508 | b1000001101001100101110010110001 A 1509 | b1100101101000001100111111100100 B 1510 | b10101001101001110111001110001100 C 1511 | b1100001111010001101001010010 H 1512 | b1100001111010001101001010010 < 1513 | b111011100101010001001101011 = 1514 | b11110100101100000000001011010110 > 1515 | b1000010111110011100000110011 ? 1516 | b100101 6 1517 | b1000001101001100101110010110001 % 1518 | b1100101101000001100111111100100 & 1519 | b10101001101001110111001110001100 ' 1520 | b11111110011000000100110111110101 ( 1521 | b111011100101010001001101011 ) 1522 | b11110100101100000000001011010110 * 1523 | b1000010111110011100000110011 + 1524 | b1011001001001001001110111010011 , 1525 | 1! 1526 | b1001011 N 1527 | #39500 1528 | b10001110001101111011111010111100 9 1529 | b10100110101001110101011101001000 8 1530 | 0! 1531 | b1001100 N 1532 | #40000 1533 | b10000001110000101100100100101110 I 1534 | b10000001110000101100100100101110 : 1535 | b100110 ; 1536 | b10010100000010011110001100111110 M 1537 | b11010010111100100010000010110010 L 1538 | b11010010111100100010000010110010 F 1539 | b10100101000001111010010100111101 G 1540 | b11000001010011100111001110101010 K 1541 | b11000001010011100111001110101010 D 1542 | b110100110111110001011000000100 E 1543 | b1100101101001100101111010100100 J 1544 | b1100101101001100101111010100100 @ 1545 | b110100110111110001011000000100 A 1546 | b1000001101001100101110010110001 B 1547 | b1100101101000001100111111100100 C 1548 | b1010101101100101010001011101011 H 1549 | b1010101101100101010001011101011 < 1550 | b10100101000001111010010100111101 = 1551 | b111011100101010001001101011 > 1552 | b11110100101100000000001011010110 ? 1553 | b100110 6 1554 | b110100110111110001011000000100 % 1555 | b1000001101001100101110010110001 & 1556 | b1100101101000001100111111100100 ' 1557 | b10101001101001110111001110001100 ( 1558 | b10100101000001111010010100111101 ) 1559 | b111011100101010001001101011 * 1560 | b11110100101100000000001011010110 + 1561 | b1000010111110011100000110011 , 1562 | 1! 1563 | b1001101 N 1564 | #40500 1565 | b100110111101001101001001001110 9 1566 | b1000110110100001010100000111100 8 1567 | 0! 1568 | b1001110 N 1569 | #41000 1570 | b10010010011100100010110010000101 I 1571 | b10010010011100100010110010000101 : 1572 | b100111 ; 1573 | b100100011001000001010100100010 M 1574 | b1100110110100100000101100010100 L 1575 | b1100110110100100000101100010100 F 1576 | b11110000011110000001101111001000 G 1577 | b1011010110010000001100100111110 K 1578 | b1011010110010000001100100111110 D 1579 | b1101101110001010111101010001010 E 1580 | b1100101110001110101111010000000 J 1581 | b1100101110001110101111010000000 @ 1582 | b1101101110001010111101010001010 A 1583 | b110100110111110001011000000100 B 1584 | b1000001101001100101110010110001 C 1585 | b10100111000000101010000100101011 H 1586 | b10100111000000101010000100101011 < 1587 | b11110000011110000001101111001000 = 1588 | b10100101000001111010010100111101 > 1589 | b111011100101010001001101011 ? 1590 | b100111 6 1591 | b1101101110001010111101010001010 % 1592 | b110100110111110001011000000100 & 1593 | b1000001101001100101110010110001 ' 1594 | b1100101101000001100111111100100 ( 1595 | b11110000011110000001101111001000 ) 1596 | b10100101000001111010010100111101 * 1597 | b111011100101010001001101011 + 1598 | b11110100101100000000001011010110 , 1599 | 1! 1600 | b1001111 N 1601 | #41500 1602 | b11000000100011110111011110111110 9 1603 | b10111001010110101111000010111100 8 1604 | 0! 1605 | b1010000 N 1606 | #42000 1607 | b10100010101111111110100010100001 I 1608 | b10100010101111111110100010100001 : 1609 | b101000 ; 1610 | b10011111010001111011111110010100 M 1611 | b11101001100110000110000001110101 L 1612 | b11101001100110000110000001110101 F 1613 | b11110111110111100000010100000 G 1614 | b1110100000010001011110010101010 K 1615 | b1110100000010001011110010101010 D 1616 | b1111001111010100110100001111010 E 1617 | b1111101110011110111101000001010 J 1618 | b1111101110011110111101000001010 @ 1619 | b1111001111010100110100001111010 A 1620 | b1101101110001010111101010001010 B 1621 | b110100110111110001011000000100 C 1622 | b10110001011111000010010110011101 H 1623 | b10110001011111000010010110011101 < 1624 | b11110111110111100000010100000 = 1625 | b11110000011110000001101111001000 > 1626 | b10100101000001111010010100111101 ? 1627 | b101000 6 1628 | b1111001111010100110100001111010 % 1629 | b1101101110001010111101010001010 & 1630 | b110100110111110001011000000100 ' 1631 | b1000001101001100101110010110001 ( 1632 | b11110111110111100000010100000 ) 1633 | b11110000011110000001101111001000 * 1634 | b10100101000001111010010100111101 + 1635 | b111011100101010001001101011 , 1636 | 1! 1637 | b1010001 N 1638 | #42500 1639 | b11110001110110000011011010110100 9 1640 | b11100100100011101101000010110010 8 1641 | 0! 1642 | b1010010 N 1643 | #43000 1644 | b10101000000110100110011001001011 I 1645 | b10101000000110100110011001001011 : 1646 | b101001 ; 1647 | b11110000101001100100111101011010 M 1648 | b111010011010101010001110000011 L 1649 | b111010011010101010001110000011 F 1650 | b100110001101010010110101100011 G 1651 | b10010101100101110100110111000 K 1652 | b10010101100101110100110111000 D 1653 | b11010110011001110000011101100110 E 1654 | b1111101111001110110101001101010 J 1655 | b1111101111001110110101001101010 @ 1656 | b11010110011001110000011101100110 A 1657 | b1111001111010100110100001111010 B 1658 | b1101101110001010111101010001010 C 1659 | b11010110011110010001001010101000 H 1660 | b11010110011110010001001010101000 < 1661 | b100110001101010010110101100011 = 1662 | b11110111110111100000010100000 > 1663 | b11110000011110000001101111001000 ? 1664 | b101001 6 1665 | b11010110011001110000011101100110 % 1666 | b1111001111010100110100001111010 & 1667 | b1101101110001010111101010001010 ' 1668 | b110100110111110001011000000100 ( 1669 | b100110001101010010110101100011 ) 1670 | b11110111110111100000010100000 * 1671 | b11110000011110000001101111001000 + 1672 | b10100101000001111010010100111101 , 1673 | 1! 1674 | b1010011 N 1675 | #43500 1676 | b10010000100110100101010000100010 9 1677 | b1001110101011000001000100001101 8 1678 | 0! 1679 | b1010100 N 1680 | #44000 1681 | b11000010010010111000101101110000 I 1682 | b11000010010010111000101101110000 : 1683 | b101010 ; 1684 | b111110001001000110101001111001 M 1685 | b1100001101011011101010100111001 L 1686 | b1100001101011011101010100111001 F 1687 | b10000011100010110010011100010001 G 1688 | b11000111001110111101110000000101 K 1689 | b11000111001110111101110000000101 D 1690 | b11011111010001100110010100101111 E 1691 | b11011111011001100110010101101110 J 1692 | b11011111011001100110010101101110 @ 1693 | b11011111010001100110010100101111 A 1694 | b11010110011001110000011101100110 B 1695 | b1111001111010100110100001111010 C 1696 | b11110011100011110010110100001 H 1697 | b11110011100011110010110100001 < 1698 | b10000011100010110010011100010001 = 1699 | b100110001101010010110101100011 > 1700 | b11110111110111100000010100000 ? 1701 | b101010 6 1702 | b11011111010001100110010100101111 % 1703 | b11010110011001110000011101100110 & 1704 | b1111001111010100110100001111010 ' 1705 | b1101101110001010111101010001010 ( 1706 | b10000011100010110010011100010001 ) 1707 | b100110001101010010110101100011 * 1708 | b11110111110111100000010100000 + 1709 | b11110000011110000001101111001000 , 1710 | 1! 1711 | b1010101 N 1712 | #44500 1713 | b10100110101000100100000101110011 9 1714 | b1110001000001111100110010001011 8 1715 | 0! 1716 | b1010110 N 1717 | #45000 1718 | b11000111011011000101000110100011 I 1719 | b11000111011011000101000110100011 : 1720 | b101011 ; 1721 | b100111001100110011101110100011 M 1722 | b11010011011000110110011001011011 L 1723 | b11010011011000110110011001011011 F 1724 | b11011110110011010100011100010101 G 1725 | b1000010001011011100011001110001 K 1726 | b1000010001011011100011001110001 D 1727 | b10111101010100000110111111110 E 1728 | b11010111011001100000010101101110 J 1729 | b11010111011001100000010101101110 @ 1730 | b10111101010100000110111111110 A 1731 | b11011111010001100110010100101111 B 1732 | b11010110011001110000011101100110 C 1733 | b10100010101110010010111101110011 H 1734 | b10100010101110010010111101110011 < 1735 | b11011110110011010100011100010101 = 1736 | b10000011100010110010011100010001 > 1737 | b100110001101010010110101100011 ? 1738 | b101011 6 1739 | b10111101010100000110111111110 % 1740 | b11011111010001100110010100101111 & 1741 | b11010110011001110000011101100110 ' 1742 | b1111001111010100110100001111010 ( 1743 | b11011110110011010100011100010101 ) 1744 | b10000011100010110010011100010001 * 1745 | b100110001101010010110101100011 + 1746 | b11110111110111100000010100000 , 1747 | 1! 1748 | b1010111 N 1749 | #45500 1750 | b11001100100111100101111011111 9 1751 | b10000011101101111110001110110100 8 1752 | 0! 1753 | b1011000 N 1754 | #46000 1755 | b11010001100100101110100000011001 I 1756 | b11010001100100101110100000011001 : 1757 | b101100 ; 1758 | b1100010001110110001111110010 M 1759 | b11101111000011110010101000000111 L 1760 | b11101111000011110010101000000111 F 1761 | b11111101101000100100110000101110 G 1762 | b10110101011100000100111111001100 K 1763 | b10110101011100000100111111001100 D 1764 | b10011101010010111010111110010011 E 1765 | b10011111010010100010110110111111 J 1766 | b10011111010010100010110110111111 @ 1767 | b10011101010010111010111110010011 A 1768 | b10111101010100000110111111110 B 1769 | b11011111010001100110010100101111 C 1770 | b11011110100010010110011100010101 H 1771 | b11011110100010010110011100010101 < 1772 | b11111101101000100100110000101110 = 1773 | b11011110110011010100011100010101 > 1774 | b10000011100010110010011100010001 ? 1775 | b101100 6 1776 | b10011101010010111010111110010011 % 1777 | b10111101010100000110111111110 & 1778 | b11011111010001100110010100101111 ' 1779 | b11010110011001110000011101100110 ( 1780 | b11111101101000100100110000101110 ) 1781 | b11011110110011010100011100010101 * 1782 | b10000011100010110010011100010001 + 1783 | b100110001101010010110101100011 , 1784 | 1! 1785 | b1011001 N 1786 | #46500 1787 | b1010100101110100111110110001011 9 1788 | b11010001101010000000101010001010 8 1789 | 0! 1790 | b1011010 N 1791 | #47000 1792 | b11010110100110010000011000100100 I 1793 | b11010110100110010000011000100100 : 1794 | b101101 ; 1795 | b10000100000010101011111100100111 M 1796 | b11111011001111011100010111110001 L 1797 | b11111011001111011100010111110001 F 1798 | b10101000000011110001000111110000 G 1799 | b10000011000100011100010110001000 K 1800 | b10000011000100011100010110001000 D 1801 | b100110011000101000100000010101 E 1802 | b10111011010101000110110010111 J 1803 | b10111011010101000110110010111 @ 1804 | b100110011000101000100000010101 A 1805 | b10011101010010111010111110010011 B 1806 | b10111101010100000110111111110 C 1807 | b11111110110000100100011000100101 H 1808 | b11111110110000100100011000100101 < 1809 | b10101000000011110001000111110000 = 1810 | b11111101101000100100110000101110 > 1811 | b11011110110011010100011100010101 ? 1812 | b101101 6 1813 | b100110011000101000100000010101 % 1814 | b10011101010010111010111110010011 & 1815 | b10111101010100000110111111110 ' 1816 | b11011111010001100110010100101111 ( 1817 | b10101000000011110001000111110000 ) 1818 | b11111101101000100100110000101110 * 1819 | b11011110110011010100011100010101 + 1820 | b10000011100010110010011100010001 , 1821 | 1! 1822 | b1011011 N 1823 | #47500 1824 | b10011010011111000101001100011111 9 1825 | b11011000001011101111100001110010 8 1826 | 0! 1827 | b1011100 N 1828 | #48000 1829 | b11110100000011100011010110000101 I 1830 | b11110100000011100011010110000101 : 1831 | b101110 ; 1832 | b1111010001010010000110101011101 M 1833 | b10001000010001011110101100000110 L 1834 | b10001000010001011110101100000110 F 1835 | b10110111011101010101110110100001 G 1836 | b10101101000011110000001001110100 K 1837 | b10101101000011110000001001110100 D 1838 | b1110010101010110100101110010001 E 1839 | b110110011010111000101110010001 J 1840 | b110110011010111000101110010001 @ 1841 | b1110010101010110100101110010001 A 1842 | b100110011000101000100000010101 B 1843 | b10011101010010111010111110010011 C 1844 | b11101000100001110001000110101110 H 1845 | b11101000100001110001000110101110 < 1846 | b10110111011101010101110110100001 = 1847 | b10101000000011110001000111110000 > 1848 | b11111101101000100100110000101110 ? 1849 | b101110 6 1850 | b1110010101010110100101110010001 % 1851 | b100110011000101000100000010101 & 1852 | b10011101010010111010111110010011 ' 1853 | b10111101010100000110111111110 ( 1854 | b10110111011101010101110110100001 ) 1855 | b10101000000011110001000111110000 * 1856 | b11111101101000100100110000101110 + 1857 | b11011110110011010100011100010101 , 1858 | 1! 1859 | b1011101 N 1860 | #48500 1861 | b11100011011110101000111000000101 9 1862 | b10111101110100011000011010101011 8 1863 | 0! 1864 | b1011110 N 1865 | #49000 1866 | b10000011010101010000001110000 I 1867 | b10000011010101010000001110000 : 1868 | b101111 ; 1869 | b110010111000100001111011010 M 1870 | b10001111101001010001010111001010 L 1871 | b10001111101001010001010111001010 F 1872 | b11010101011110111001010010101001 G 1873 | b10111101100001001100110111001001 K 1874 | b10111101100001001100110111001001 D 1875 | b10100001010011000001010010110000 E 1876 | b100010011010100000100010010001 J 1877 | b100010011010100000100010010001 @ 1878 | b10100001010011000001010010110000 A 1879 | b1110010101010110100101110010001 B 1880 | b100110011000101000100000010101 C 1881 | b10111101011101010001010111110001 H 1882 | b10111101011101010001010111110001 < 1883 | b11010101011110111001010010101001 = 1884 | b10110111011101010101110110100001 > 1885 | b10101000000011110001000111110000 ? 1886 | b101111 6 1887 | b10100001010011000001010010110000 % 1888 | b1110010101010110100101110010001 & 1889 | b100110011000101000100000010101 ' 1890 | b10011101010010111010111110010011 ( 1891 | b11010101011110111001010010101001 ) 1892 | b10110111011101010101110110100001 * 1893 | b10101000000011110001000111110000 + 1894 | b11111101101000100100110000101110 , 1895 | 1! 1896 | b1011111 N 1897 | #49500 1898 | b11011111111011101101011001011010 9 1899 | b1100001100000110101110000110011 8 1900 | 0! 1901 | b1100000 N 1902 | #50000 1903 | b11001101001001100000100010110 I 1904 | b11001101001001100000100010110 : 1905 | b110000 ; 1906 | b11111011001111101000100111001011 M 1907 | b100101000010000011010110001 L 1908 | b100101000010000011010110001 F 1909 | b11111110110011110000101111000110 G 1910 | b1100111111001011001000110111 K 1911 | b1100111111001011001000110111 D 1912 | b1000001011100100011001010001101 E 1913 | b1100001011010100001001010010001 J 1914 | b1100001011010100001001010010001 @ 1915 | b1000001011100100011001010001101 A 1916 | b10100001010011000001010010110000 B 1917 | b1110010101010110100101110010001 C 1918 | b11010101011110110101010010100001 H 1919 | b11010101011110110101010010100001 < 1920 | b11111110110011110000101111000110 = 1921 | b11010101011110111001010010101001 > 1922 | b10110111011101010101110110100001 ? 1923 | b110000 6 1924 | b1000001011100100011001010001101 % 1925 | b10100001010011000001010010110000 & 1926 | b1110010101010110100101110010001 ' 1927 | b100110011000101000100000010101 ( 1928 | b11111110110011110000101111000110 ) 1929 | b11010101011110111001010010101001 * 1930 | b10110111011101010101110110100001 + 1931 | b10101000000011110001000111110000 , 1932 | 1! 1933 | b1100001 N 1934 | #50500 1935 | b1101110011001101100010011001000 9 1936 | b10010111000011101011100000100011 8 1937 | 0! 1938 | b1100010 N 1939 | #51000 1940 | b11110001101110110110000001000 I 1941 | b11110001101110110110000001000 : 1942 | b110001 ; 1943 | b11001100011101100001011111011011 M 1944 | b1011101010000100111011101110110 L 1945 | b1011101010000100111011101110110 F 1946 | b10111101011100010100000000111000 G 1947 | b11110011111101101101100010000100 K 1948 | b11110011111101101101100010000100 D 1949 | b101011101010111110011101011 E 1950 | b1011101000011010010101001 J 1951 | b1011101000011010010101001 @ 1952 | b101011101010111110011101011 A 1953 | b1000001011100100011001010001101 B 1954 | b10100001010011000001010010110000 C 1955 | b11111100010010111001010010000001 H 1956 | b11111100010010111001010010000001 < 1957 | b10111101011100010100000000111000 = 1958 | b11111110110011110000101111000110 > 1959 | b11010101011110111001010010101001 ? 1960 | b110001 6 1961 | b101011101010111110011101011 % 1962 | b1000001011100100011001010001101 & 1963 | b10100001010011000001010010110000 ' 1964 | b1110010101010110100101110010001 ( 1965 | b10111101011100010100000000111000 ) 1966 | b11111110110011110000101111000110 * 1967 | b11010101011110111001010010101001 + 1968 | b10110111011101010101110110100001 , 1969 | 1! 1970 | b1100011 N 1971 | #51500 1972 | b11110101011010110000110100101101 9 1973 | b11111011101100001110110101111011 8 1974 | 0! 1975 | b1100100 N 1976 | #52000 1977 | b100111010010000111011101001100 I 1978 | b100111010010000111011101001100 : 1979 | b110010 ; 1980 | b10111001111001100110110000110100 M 1981 | b111110001010000011110101010100 L 1982 | b111110001010000011110101010100 F 1983 | b1101110010111000011100100001100 G 1984 | b10000110111010111101010110110001 K 1985 | b10000110111010111101010110110001 D 1986 | b11110001000110111111101010101000 E 1987 | b1000001011100110111101010101001 J 1988 | b1000001011100110111101010101001 @ 1989 | b11110001000110111111101010101000 A 1990 | b101011101010111110011101011 B 1991 | b1000001011100100011001010001101 C 1992 | b10111100110100110000001011001010 H 1993 | b10111100110100110000001011001010 < 1994 | b1101110010111000011100100001100 = 1995 | b10111101011100010100000000111000 > 1996 | b11111110110011110000101111000110 ? 1997 | b110010 6 1998 | b11110001000110111111101010101000 % 1999 | b101011101010111110011101011 & 2000 | b1000001011100100011001010001101 ' 2001 | b10100001010011000001010010110000 ( 2002 | b1101110010111000011100100001100 ) 2003 | b10111101011100010100000000111000 * 2004 | b11111110110011110000101111000110 + 2005 | b11010101011110111001010010101001 , 2006 | 1! 2007 | b1100101 N 2008 | #52500 2009 | b11001000010111110101000001011010 9 2010 | b10110001101001011011100001000111 8 2011 | 0! 2012 | b1100110 N 2013 | #53000 2014 | b110100101100001011110010110101 I 2015 | b110100101100001011110010110101 : 2016 | b110011 ; 2017 | b10101001100110010011011001100111 M 2018 | b111011010001111110001010100011 L 2019 | b111011010001111110001010100011 F 2020 | b1010010111100011100110011110111 G 2021 | b1111101010000001011111101000 K 2022 | b1111101010000001011111101000 D 2023 | b1111010000001010000100010100001 E 2024 | b1110001000101010111100010101001 J 2025 | b1110001000101010111100010101001 @ 2026 | b1111010000001010000100010100001 A 2027 | b11110001000110111111101010101000 B 2028 | b101011101010111110011101011 C 2029 | b11101111010100000000100000001100 H 2030 | b11101111010100000000100000001100 < 2031 | b1010010111100011100110011110111 = 2032 | b1101110010111000011100100001100 > 2033 | b10111101011100010100000000111000 ? 2034 | b110011 6 2035 | b1111010000001010000100010100001 % 2036 | b11110001000110111111101010101000 & 2037 | b101011101010111110011101011 ' 2038 | b1000001011100100011001010001101 ( 2039 | b1010010111100011100110011110111 ) 2040 | b1101110010111000011100100001100 * 2041 | b10111101011100010100000000111000 + 2042 | b11111110110011110000101111000110 , 2043 | 1! 2044 | b1100111 N 2045 | #53500 2046 | b10000000101111011001000010010001 9 2047 | b111101100001110100110010001 8 2048 | 0! 2049 | b1101000 N 2050 | #54000 2051 | b111001000111000000110010110011 I 2052 | b111001000111000000110010110011 : 2053 | b110100 ; 2054 | b10000100101110101101111011011101 M 2055 | b1101011011000111010011100110111 L 2056 | b1101011011000111010011100110111 F 2057 | b1001001001000110001110000011110 G 2058 | b11001010111001110101011111011010 K 2059 | b11001010111001110101011111011010 D 2060 | b10001000011011100111101000100010 E 2061 | b11111000000011110111101010100000 J 2062 | b11111000000011110111101010100000 @ 2063 | b10001000011011100111101000100010 A 2064 | b1111010000001010000100010100001 B 2065 | b11110001000110111111101010101000 C 2066 | b1100110011111010010110100010110 H 2067 | b1100110011111010010110100010110 < 2068 | b1001001001000110001110000011110 = 2069 | b1010010111100011100110011110111 > 2070 | b1101110010111000011100100001100 ? 2071 | b110100 6 2072 | b10001000011011100111101000100010 % 2073 | b1111010000001010000100010100001 & 2074 | b11110001000110111111101010101000 ' 2075 | b101011101010111110011101011 ( 2076 | b1001001001000110001110000011110 ) 2077 | b1010010111100011100110011110111 * 2078 | b1101110010111000011100100001100 + 2079 | b10111101011100010100000000111000 , 2080 | 1! 2081 | b1101001 N 2082 | #54500 2083 | b11000010111101101101001001111010 9 2084 | b1001101001010010000000000010101 8 2085 | 0! 2086 | b1101010 N 2087 | #55000 2088 | b1001110110110001010101001001010 I 2089 | b1001110110110001010101001001010 : 2090 | b110101 ; 2091 | b11000010000101000110001010111100 M 2092 | b11101110011111101010101000010010 L 2093 | b11101110011111101010101000010010 F 2094 | b1010010100111100111110100000000 G 2095 | b101111001101010100100000011101 K 2096 | b101111001101010100100000011101 D 2097 | b10000000111111101001010001111 E 2098 | b11000000011110101101010100011 J 2099 | b11000000011110101101010100011 @ 2100 | b10000000111111101001010001111 A 2101 | b10001000011011100111101000100010 B 2102 | b1111010000001010000100010100001 C 2103 | b1000000011000111001110011110111 H 2104 | b1000000011000111001110011110111 < 2105 | b1010010100111100111110100000000 = 2106 | b1001001001000110001110000011110 > 2107 | b1010010111100011100110011110111 ? 2108 | b110101 6 2109 | b10000000111111101001010001111 % 2110 | b10001000011011100111101000100010 & 2111 | b1111010000001010000100010100001 ' 2112 | b11110001000110111111101010101000 ( 2113 | b1010010100111100111110100000000 ) 2114 | b1001001001000110001110000011110 * 2115 | b1010010111100011100110011110111 + 2116 | b1101110010111000011100100001100 , 2117 | 1! 2118 | b1101011 N 2119 | #55500 2120 | b1000111010001001010001011000000 9 2121 | b10101110001010111000110100011011 8 2122 | 0! 2123 | b1101100 N 2124 | #56000 2125 | b1011011100111001100101001001111 I 2126 | b1011011100111001100101001001111 : 2127 | b110110 ; 2128 | b10100100001110100011100101100 M 2129 | b1010101110011010001011100100000 L 2130 | b1010101110011010001011100100000 F 2131 | b10011111010001111000011111000011 G 2132 | b1000011001111001100111110100010 K 2133 | b1000011001111001100111110100010 D 2134 | b11110101011100000010111111011011 E 2135 | b10010000011111100111101010001011 J 2136 | b10010000011111100111101010001011 @ 2137 | b11110101011100000010111111011011 A 2138 | b10000000111111101001010001111 B 2139 | b10001000011011100111101000100010 C 2140 | b1010010001001100001110100011100 H 2141 | b1010010001001100001110100011100 < 2142 | b10011111010001111000011111000011 = 2143 | b1010010100111100111110100000000 > 2144 | b1001001001000110001110000011110 ? 2145 | b110110 6 2146 | b11110101011100000010111111011011 % 2147 | b10000000111111101001010001111 & 2148 | b10001000011011100111101000100010 ' 2149 | b1111010000001010000100010100001 ( 2150 | b10011111010001111000011111000011 ) 2151 | b1010010100111100111110100000000 * 2152 | b1001001001000110001110000011110 + 2153 | b1010010111100011100110011110111 , 2154 | 1! 2155 | b1101101 N 2156 | #56500 2157 | b11010011101110110100101000101101 9 2158 | b1101011000010010001001010101110 8 2159 | 0! 2160 | b1101110 N 2161 | #57000 2162 | b1101000001011100110111111110011 I 2163 | b1101000001011100110111111110011 : 2164 | b110111 ; 2165 | b10110010000011110111101010011001 M 2166 | b11010001011001010011111001011100 L 2167 | b11010001011001010011111001011100 F 2168 | b11100101000011100001101101001111 G 2169 | b111000000110111000110111101111 K 2170 | b111000000110111000110111101111 D 2171 | b111110110001000101110011011011 E 2172 | b110100010101000101111011011011 J 2173 | b110100010101000101111011011011 @ 2174 | b111110110001000101110011011011 A 2175 | b11110101011100000010111111011011 B 2176 | b10000000111111101001010001111 C 2177 | b10010111100101100110011101000011 H 2178 | b10010111100101100110011101000011 < 2179 | b11100101000011100001101101001111 = 2180 | b10011111010001111000011111000011 > 2181 | b1010010100111100111110100000000 ? 2182 | b110111 6 2183 | b111110110001000101110011011011 % 2184 | b11110101011100000010111111011011 & 2185 | b10000000111111101001010001111 ' 2186 | b10001000011011100111101000100010 ( 2187 | b11100101000011100001101101001111 ) 2188 | b10011111010001111000011111000011 * 2189 | b1010010100111100111110100000000 + 2190 | b1001001001000110001110000011110 , 2191 | 1! 2192 | b1101111 N 2193 | #57500 2194 | b1101100011011111110110011001010 9 2195 | b11001100010111001010110001001001 8 2196 | 0! 2197 | b1110000 N 2198 | #58000 2199 | b1110100100011111000001011101110 I 2200 | b1110100100011111000001011101110 : 2201 | b111000 ; 2202 | b11101111010101111011100111001101 M 2203 | b101101010101000000001010111 L 2204 | b101101010101000000001010111 F 2205 | b1010100110010110010011001101011 G 2206 | b110100110011101010110011000011 K 2207 | b110100110011101010110011000011 D 2208 | b111000110011001001100100010011 E 2209 | b111100110001000001110111011011 J 2210 | b111100110001000001110111011011 @ 2211 | b111000110011001001100100010011 A 2212 | b111110110001000101110011011011 B 2213 | b11110101011100000010111111011011 C 2214 | b11001111000011101000001111001011 H 2215 | b11001111000011101000001111001011 < 2216 | b1010100110010110010011001101011 = 2217 | b11100101000011100001101101001111 > 2218 | b10011111010001111000011111000011 ? 2219 | b111000 6 2220 | b111000110011001001100100010011 % 2221 | b111110110001000101110011011011 & 2222 | b11110101011100000010111111011011 ' 2223 | b10000000111111101001010001111 ( 2224 | b1010100110010110010011001101011 ) 2225 | b11100101000011100001101101001111 * 2226 | b10011111010001111000011111000011 + 2227 | b1010010100111100111110100000000 , 2228 | 1! 2229 | b1110001 N 2230 | #58500 2231 | b1110001100100101100101010011110 9 2232 | b10001011001111101011110111011101 8 2233 | 0! 2234 | b1110010 N 2235 | #59000 2236 | b1111000101001010110001101101111 I 2237 | b1111000101001010110001101101111 : 2238 | b111001 ; 2239 | b11101011111001101011001000111000 M 2240 | b10000101101100010011111011110 L 2241 | b10000101101100010011111011110 F 2242 | b10011011010111101001000001101100 G 2243 | b11111010110010100110101101100001 K 2244 | b11111010110010100110101101100001 D 2245 | b11111100110100011000100001111011 E 2246 | b111100110001001001100001011011 J 2247 | b111100110001001001100001011011 @ 2248 | b11111100110100011000100001111011 A 2249 | b111000110011001001100100010011 B 2250 | b111110110001000101110011011011 C 2251 | b1110100010010100000101101101011 H 2252 | b1110100010010100000101101101011 < 2253 | b10011011010111101001000001101100 = 2254 | b1010100110010110010011001101011 > 2255 | b11100101000011100001101101001111 ? 2256 | b111001 6 2257 | b11111100110100011000100001111011 % 2258 | b111000110011001001100100010011 & 2259 | b111110110001000101110011011011 ' 2260 | b11110101011100000010111111011011 ( 2261 | b10011011010111101001000001101100 ) 2262 | b1010100110010110010011001101011 * 2263 | b11100101000011100001101101001111 + 2264 | b10011111010001111000011111000011 , 2265 | 1! 2266 | b1110011 N 2267 | #59500 2268 | b110111100011110000001110111100 9 2269 | b10001000110100111101000010110011 8 2270 | 0! 2271 | b1110100 N 2272 | #60000 2273 | b10000100110010000111100000010100 I 2274 | b10000100110010000111100000010100 : 2275 | b111010 ; 2276 | b10011111111000110000100101011110 M 2277 | b1010001101101001111110111101 L 2278 | b1010001101101001111110111101 F 2279 | b1111110010001000000000010001110 G 2280 | b11011000001101110000100100001100 K 2281 | b11011000001101110000100100001100 D 2282 | b11000000011000101101010001101111 E 2283 | b11111000110000001001100001111011 J 2284 | b11111000110000001001100001111011 @ 2285 | b11000000011000101101010001101111 A 2286 | b11111100110100011000100001111011 B 2287 | b111000110011001001100100010011 C 2288 | b11010110011110010011001101101 H 2289 | b11010110011110010011001101101 < 2290 | b1111110010001000000000010001110 = 2291 | b10011011010111101001000001101100 > 2292 | b1010100110010110010011001101011 ? 2293 | b111010 6 2294 | b11000000011000101101010001101111 % 2295 | b11111100110100011000100001111011 & 2296 | b111000110011001001100100010011 ' 2297 | b111110110001000101110011011011 ( 2298 | b1111110010001000000000010001110 ) 2299 | b10011011010111101001000001101100 * 2300 | b1010100110010110010011001101011 + 2301 | b11100101000011100001101101001111 , 2302 | 1! 2303 | b1110101 N 2304 | #60500 2305 | b11010000111101111010000110000111 9 2306 | b101110101111110110001011101011 8 2307 | 0! 2308 | b1110110 N 2309 | #61000 2310 | b10001100110001110000001000001000 I 2311 | b10001100110001110000001000001000 : 2312 | b111011 ; 2313 | b1111000101111001000110101001011 M 2314 | b100000101001000101110110111110 L 2315 | b100000101001000101110110111110 F 2316 | b1101101100000111011111111000110 G 2317 | b1000000011010111111011101011010 K 2318 | b1000000011010111111011101011010 D 2319 | b11111111101101110000010001110010 E 2320 | b11111100111100111000010001111011 J 2321 | b11111100111100111000010001111011 @ 2322 | b11111111101101110000010001110010 A 2323 | b11000000011000101101010001101111 B 2324 | b11111100110100011000100001111011 C 2325 | b11111110010111000000000010101110 H 2326 | b11111110010111000000000010101110 < 2327 | b1101101100000111011111111000110 = 2328 | b1111110010001000000000010001110 > 2329 | b10011011010111101001000001101100 ? 2330 | b111011 6 2331 | b11111111101101110000010001110010 % 2332 | b11000000011000101101010001101111 & 2333 | b11111100110100011000100001111011 ' 2334 | b111000110011001001100100010011 ( 2335 | b1101101100000111011111111000110 ) 2336 | b1111110010001000000000010001110 * 2337 | b10011011010111101001000001101100 + 2338 | b1010100110010110010011001101011 , 2339 | 1! 2340 | b1110111 N 2341 | #61500 2342 | b111101010111110111101111010101 9 2343 | b1111001010011110001010000101010 8 2344 | 0! 2345 | b1111000 N 2346 | #62000 2347 | b10010000101111101111111111111010 I 2348 | b10010000101111101111111111111010 : 2349 | b111100 ; 2350 | b10100100001111111100111100010101 M 2351 | b1011100101010001011001100011000 L 2352 | b1011100101010001011001100011000 F 2353 | b10110010000110111010110100111101 G 2354 | b101000011010011110100001010001 K 2355 | b101000011010011110100001010001 D 2356 | b10110110101011101000111111111111 E 2357 | b11110110101001101000010001111111 J 2358 | b11110110101001101000010001111111 @ 2359 | b10110110101011101000111111111111 A 2360 | b11111111101101110000010001110010 B 2361 | b11000000011000101101010001101111 C 2362 | b1101100010001111010110110000110 H 2363 | b1101100010001111010110110000110 < 2364 | b10110010000110111010110100111101 = 2365 | b1101101100000111011111111000110 > 2366 | b1111110010001000000000010001110 ? 2367 | b111100 6 2368 | b10110110101011101000111111111111 % 2369 | b11111111101101110000010001110010 & 2370 | b11000000011000101101010001101111 ' 2371 | b11111100110100011000100001111011 ( 2372 | b10110010000110111010110100111101 ) 2373 | b1101101100000111011111111000110 * 2374 | b1111110010001000000000010001110 + 2375 | b10011011010111101001000001101100 , 2376 | 1! 2377 | b1111001 N 2378 | #62500 2379 | b11111000100000110110011010000 9 2380 | b10011001010011011100000000011001 8 2381 | 0! 2382 | b1111010 N 2383 | #63000 2384 | b10100100010100000110110011101011 I 2385 | b10100100010100000110110011101011 : 2386 | b111101 ; 2387 | b1100110100010110010111111111000 M 2388 | b1001111011011101111010010000000 L 2389 | b1001111011011101111010010000000 F 2390 | b10010110000111110100100010010100 G 2391 | b1110001111010011110111100101010 K 2392 | b1110001111010011110111100101010 D 2393 | b10111000010111100010110011101001 E 2394 | b10111110101111100000110011111011 J 2395 | b10111110101111100000110011111011 @ 2396 | b10111000010111100010110011101001 A 2397 | b10110110101011101000111111111111 B 2398 | b11111111101101110000010001110010 C 2399 | b11111011100110111011111101010110 H 2400 | b11111011100110111011111101010110 < 2401 | b10010110000111110100100010010100 = 2402 | b10110010000110111010110100111101 > 2403 | b1101101100000111011111111000110 ? 2404 | b111101 6 2405 | b10111000010111100010110011101001 % 2406 | b10110110101011101000111111111111 & 2407 | b11111111101101110000010001110010 ' 2408 | b11000000011000101101010001101111 ( 2409 | b10010110000111110100100010010100 ) 2410 | b10110010000110111010110100111101 * 2411 | b1101101100000111011111111000110 + 2412 | b1111110010001000000000010001110 , 2413 | 1! 2414 | b1111011 N 2415 | #63500 2416 | b110000101001111111110000100101 9 2417 | b11010100001010100101000101000111 8 2418 | 0! 2419 | b1111100 N 2420 | #64000 2421 | b10111110111110011010001111110111 I 2422 | b10111110111110011010001111110111 : 2423 | b111110 ; 2424 | b11101110101010111010001011001100 M 2425 | b101010000100100111111001111000 L 2426 | b101010000100100111111001111000 F 2427 | b10010100100011010010010110110110 G 2428 | b100011011000010000010111011010 K 2429 | b100011011000010000010111011010 D 2430 | b100110100100100110101101100 E 2431 | b10110100110111100000110111101101 J 2432 | b10110100110111100000110111101101 @ 2433 | b100110100100100110101101100 A 2434 | b10111000010111100010110011101001 B 2435 | b10110110101011101000111111111111 C 2436 | b10110110000111111000100010011101 H 2437 | b10110110000111111000100010011101 < 2438 | b10010100100011010010010110110110 = 2439 | b10010110000111110100100010010100 > 2440 | b10110010000110111010110100111101 ? 2441 | b111110 6 2442 | b100110100100100110101101100 % 2443 | b10111000010111100010110011101001 & 2444 | b10110110101011101000111111111111 ' 2445 | b11111111101101110000010001110010 ( 2446 | b10010100100011010010010110110110 ) 2447 | b10010110000111110100100010010100 * 2448 | b10110010000110111010110100111101 + 2449 | b1101101100000111011111111000110 , 2450 | 1! 2451 | b1111101 N 2452 | #64500 2453 | b11011000001111110001001111000111 9 2454 | b11111011010110110000110110011110 8 2455 | 0! 2456 | b1111110 N 2457 | #65000 2458 | b11000110011100010111100011110010 I 2459 | b11000110011100010111100011110010 : 2460 | b111111 ; 2461 | b10010101100011110110111101011 M 2462 | b10001000111110100010001001110111 L 2463 | b10001000111110100010001001110111 F 2464 | b11111011000100100001001000010000 G 2465 | b10111010011011000001111000110 K 2466 | b10111010011011000001111000110 D 2467 | b11010011100110100010000101100101 E 2468 | b10010000110110100010110101101101 J 2469 | b10010000110110100010110101101101 @ 2470 | b11010011100110100010000101100101 A 2471 | b100110100100100110101101100 B 2472 | b10111000010111100010110011101001 C 2473 | b10010100000011010100100010010100 H 2474 | b10010100000011010100100010010100 < 2475 | b11111011000100100001001000010000 = 2476 | b10010100100011010010010110110110 > 2477 | b10010110000111110100100010010100 ? 2478 | b111111 6 2479 | b11010011100110100010000101100101 % 2480 | b100110100100100110101101100 & 2481 | b10111000010111100010110011101001 ' 2482 | b10110110101011101000111111111111 ( 2483 | b11111011000100100001001000010000 ) 2484 | b10010100100011010010010110110110 * 2485 | b10010110000111110100100010010100 + 2486 | b10110010000110111010110100111101 , 2487 | 1! 2488 | b1111111 N 2489 | #65500 2490 | b10101000001001111011000100110011 9 2491 | b10101000010001100111111100100101 8 2492 | 0! 2493 | b10000000 N 2494 | #66000 2495 | bx I 2496 | bx : 2497 | b1000000 ; 2498 | b10111000000010100101101000110100 M 2499 | b1111011101111001100010110010 L 2500 | b1111011101111001100010110010 F 2501 | b1011110111101010000111100100100 G 2502 | b101110000110000110111000100110 K 2503 | b101110000110000110111000100110 D 2504 | b1010000011011100011000001011000 E 2505 | b1010000110110100010000101101100 J 2506 | b1010000110110100010000101101100 @ 2507 | b1010000011011100011000001011000 A 2508 | b11010011100110100010000101100101 B 2509 | b100110100100100110101101100 C 2510 | b11011010000110000010001010010010 H 2511 | b11011010000110000010001010010010 < 2512 | b1011110111101010000111100100100 = 2513 | b11111011000100100001001000010000 > 2514 | b10010100100011010010010110110110 ? 2515 | b1000000 6 2516 | b1010000011011100011000001011000 % 2517 | b11010011100110100010000101100101 & 2518 | b100110100100100110101101100 ' 2519 | b10111000010111100010110011101001 ( 2520 | b1011110111101010000111100100100 ) 2521 | b11111011000100100001001000010000 * 2522 | b10010100100011010010010110110110 + 2523 | b10010110000111110100100010010100 , 2524 | 1! 2525 | b10000001 N 2526 | #66500 2527 | b1111110111100101000111110010010 9 2528 | bx 8 2529 | 0! 2530 | b10000010 N 2531 | #67000 2532 | b1000001 ; 2533 | b11100111001111001011111010101 M 2534 | b1000001 6 2535 | b11110010000000000001010110101101 4 2536 | b10110100000100001111111101100001 3 2537 | b10010110000101110111101010011100 2 2538 | b10110000000000110110000110100011 1 2539 | b1011101101011100010001000100011 0 2540 | b1000001010000010100000011011110 / 2541 | b10001111000000011100111111101010 . 2542 | b10111010011110000001011010111111 - 2543 | 1! 2544 | b10000011 N 2545 | #67500 2546 | 0! 2547 | b10000100 N 2548 | #68000 2549 | 1! 2550 | b10000101 N 2551 | #68500 2552 | 0! 2553 | b10000110 N 2554 | #69000 2555 | 1! 2556 | b10000111 N 2557 | #69500 2558 | 0! 2559 | b10001000 N 2560 | #70000 2561 | 1! 2562 | b10001001 N 2563 | #70500 2564 | 0! 2565 | b10001010 N 2566 | #71000 2567 | 1! 2568 | b10001011 N 2569 | #71500 2570 | 0! 2571 | b10001100 N 2572 | #72000 2573 | 1! 2574 | b10001101 N 2575 | #72500 2576 | 0! 2577 | b10001110 N 2578 | #73000 2579 | 1! 2580 | b10001111 N 2581 | #73500 2582 | 0! 2583 | b10010000 N 2584 | #74000 2585 | 1! 2586 | b10010001 N 2587 | #74500 2588 | 0! 2589 | b10010010 N 2590 | #75000 2591 | 1! 2592 | b10010011 N 2593 | #75500 2594 | 0! 2595 | b10010100 N 2596 | #76000 2597 | 1! 2598 | b10010101 N 2599 | #76500 2600 | b10010110 N 2601 | -------------------------------------------------------------------------------- /sha_padder.dot: -------------------------------------------------------------------------------- 1 | digraph "sha_padder" { 2 | rankdir="LR"; 3 | remincross=true; 4 | n1 [ shape=octagon, label="message", color="black", fontcolor="black" ]; 5 | n2 [ shape=octagon, label="padded", color="black", fontcolor="black" ]; 6 | v1 [ label="488'10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000" ]; 7 | x0 [ shape=record, style=rounded, label=" 23:0 - 511:488 | 487:0 - 487:0 " ]; 8 | n1:e -> x0:s1:w [color="black", style="setlinewidth(3)", label=""]; 9 | x0:e -> n2:w [color="black", style="setlinewidth(3)", label=""]; 10 | v1:e -> x0:s0:w [color="black", style="setlinewidth(3)", label=""]; 11 | } 12 | -------------------------------------------------------------------------------- /sha_padder.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unixb0y/SystemVerilogSHA256/6eab7249ce8dd40a56febd1283d38c234a2b4003/sha_padder.pdf -------------------------------------------------------------------------------- /sha_padder.sv: -------------------------------------------------------------------------------- 1 | `define PACK_ARRAY(PK_WIDTH,PK_LEN,PK_SRC,PK_DEST) genvar pk_idx; generate for (pk_idx=0; pk_idx<(PK_LEN); pk_idx=pk_idx+1) begin; assign PK_DEST[((PK_WIDTH)*pk_idx+((PK_WIDTH)-1)):((PK_WIDTH)*pk_idx)] = PK_SRC[pk_idx][((PK_WIDTH)-1):0]; end; endgenerate 2 | `define UNPACK_ARRAY(PK_WIDTH,PK_LEN,PK_DEST,PK_SRC) genvar unpk_idx; generate for (unpk_idx=0; unpk_idx<(PK_LEN); unpk_idx=unpk_idx+1) begin; assign PK_DEST[unpk_idx][((PK_WIDTH)-1):0] = PK_SRC[((PK_WIDTH)*unpk_idx+(PK_WIDTH-1)):((PK_WIDTH)*unpk_idx)]; end; endgenerate 3 | 4 | module sha_padder #(parameter MSG_SIZE = 24, // size of full message 5 | parameter PADDED_SIZE = 512) 6 | (input logic [MSG_SIZE-1:0] message, 7 | output logic [PADDED_SIZE-1:0] padded); 8 | 9 | localparam zero_width = PADDED_SIZE-MSG_SIZE-1-64; 10 | localparam back_0_width = 64-$bits(MSG_SIZE); 11 | 12 | assign padded = {message, 1'b1, {zero_width{1'b0}}, {back_0_width{1'b0}}, MSG_SIZE}; 13 | endmodule -------------------------------------------------------------------------------- /sha_padder_tb.sv: -------------------------------------------------------------------------------- 1 | `default_nettype none 2 | `timescale 1 ns / 10 ps 3 | 4 | module sha_padder_tb; 5 | logic [511:0] padded; 6 | logic [23:0] message; 7 | 8 | sha_padder uut (.message(message), .padded(padded)); 9 | 10 | initial begin 11 | $dumpfile("sha_padder_tb.vcd"); 12 | $dumpvars; 13 | assign message = 24'b011000010110001001100011; 14 | #5; 15 | $display("FINISHED block_tb"); 16 | $finish; 17 | end 18 | endmodule -------------------------------------------------------------------------------- /sha_padder_tb.vcd: -------------------------------------------------------------------------------- 1 | $date 2 | Fri Feb 2 01:14:49 2018 3 | $end 4 | $version 5 | Icarus Verilog 6 | $end 7 | $timescale 8 | 10ps 9 | $end 10 | $scope module sha_padder_tb $end 11 | $var wire 512 ! padded [511:0] $end 12 | $var reg 24 " message [23:0] $end 13 | $scope module uut $end 14 | $var wire 24 # message [23:0] $end 15 | $var wire 512 $ padded [511:0] $end 16 | $upscope $end 17 | $upscope $end 18 | $enddefinitions $end 19 | #0 20 | $dumpvars 21 | b1100001011000100110001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000 $ 22 | b11000010110001001100011 # 23 | b11000010110001001100011 " 24 | b1100001011000100110001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000 ! 25 | $end 26 | #500 27 | --------------------------------------------------------------------------------