#lang racket/base
(provide (all-defined-out))
(define qr-alignment-coord-table
#(#()
#(6 18)
#(6 22)
#(6 26)
#(6 30)
#(6 34)
#(6 22 38)
#(6 24 42)
#(6 26 46)
#(6 28 50) #(6 30 54)
#(6 32 58)
#(6 34 62)
#(6 26 46 66)
#(6 26 48 70)
#(6 26 50 74)
#(6 30 54 78)
#(6 30 56 82)
#(6 30 58 86)
#(6 34 62 90) #(6 28 50 72 94)
#(6 26 50 74 98)
#(6 30 54 78 102)
#(6 28 54 80 106)
#(6 32 58 84 110)
#(6 30 58 86 114)
#(6 34 62 90 118)
#(6 26 50 74 98 122)
#(6 30 54 78 102 126)
#(6 26 52 78 104 130) #(6 30 56 82 108 134)
#(6 34 60 86 112 138)
#(6 30 58 86 114 142)
#(6 34 62 90 118 146)
#(6 30 54 78 102 126 150)
#(6 24 50 76 102 128 154)
#(6 28 54 80 106 132 158)
#(6 32 58 84 110 136 162)
#(6 26 54 82 110 138 166)
#(6 30 58 86 114 142 170)))
(define qr-alpha-charset
#(#\0 #\1 #\2 #\3 #\4 #\5
#\6 #\7 #\8 #\9 #\A #\B
#\C #\D #\E #\F #\G #\H
#\I #\J #\K #\L #\M #\N
#\O #\P #\Q #\R #\S #\T
#\U #\V #\W #\X #\Y #\Z
#\ #\$ #\% #\* #\+ #\-
#\. #\/ #\:))
(define qr-data-word-count-table
'((L #( 19 34 55 80 108 136 156 194 232 274
324 370 428 461 523 589 647 721 795 861
932 1006 1094 1174 1276 1370 1468 1531 1631 1735
1843 1955 2071 2191 2306 2434 2566 2702 2812 2956))
(M #( 16 28 44 64 86 108 124 154 182 216
254 290 334 365 415 453 507 563 627 669
714 782 860 914 1000 1062 1128 1193 1267 1373
1455 1541 1631 1725 1812 1914 1992 2102 2216 2334))
(Q #( 13 22 34 48 62 76 88 110 132 154
180 206 244 261 295 325 367 397 445 485
512 568 614 664 718 754 808 871 911 985
1033 1115 1171 1231 1286 1354 1426 1502 1582 1666))
(H #( 9 16 26 36 46 60 66 86 100 122
140 158 180 197 223 253 283 313 341 385
406 442 464 514 538 596 628 661 701 745
793 845 901 961 986 1054 1096 1142 1222 1276))))
(define qr-edc-block-count-table
'((L #(( 1 0) ( 1 0) ( 1 0) ( 1 0) ( 1 0)
( 2 0) ( 2 0) ( 2 0) ( 2 0) ( 2 2)
( 4 0) ( 2 2) ( 4 0) ( 3 1) ( 5 1)
( 5 1) ( 1 5) ( 5 1) ( 3 4) ( 3 5)
( 4 4) ( 2 7) ( 4 5) ( 6 4) ( 8 4)
(10 2) ( 8 4) ( 3 10) ( 7 7) ( 5 10)
(13 3) (17 0) (17 1) (13 6) (12 7)
( 6 14) (17 4) ( 4 18) (20 4) (19 6)))
(M #(( 1 0) ( 1 0) ( 1 0) ( 2 0) ( 2 0)
( 4 0) ( 4 0) ( 2 2) ( 3 2) ( 4 1)
( 1 4) ( 6 2) ( 8 1) ( 4 5) ( 5 5)
( 7 3) (10 1) ( 9 4) ( 3 11) ( 3 13)
(17 0) (17 0) ( 4 14) ( 6 14) ( 8 13)
(19 4) (22 3) ( 3 23) (21 7) (19 10)
( 2 29) (10 23) (14 21) (14 23) (12 26)
( 6 34) (29 14) (13 32) (40 7) (18 31)))
(Q #(( 1 0) ( 1 0) ( 2 0) ( 2 0) ( 2 2)
( 4 0) ( 2 4) ( 4 2) ( 4 4) ( 6 2)
( 4 4) ( 4 6) ( 8 4) (11 5) ( 5 7)
(15 2) ( 1 15) (17 1) (17 4) (15 5)
(17 6) ( 7 16) (11 14) (11 16) ( 7 22)
(28 6) ( 8 26) ( 4 31) ( 1 37) (15 25)
(42 1) (10 35) (29 19) (44 7) (39 14)
(46 10) (49 10) (48 14) (43 22) (34 34)))
(H #(( 1 0) ( 1 0) ( 2 0) ( 4 0) ( 2 2)
( 4 0) ( 4 1) ( 4 2) ( 4 4) ( 6 2)
( 3 8) ( 7 4) (12 4) (11 5) (11 7)
( 3 13) ( 2 17) ( 2 19) ( 9 16) (15 10)
(19 6) (34 0) (16 14) (30 2) (22 13)
(33 4) (12 28) (11 31) (19 26) (23 25)
(23 28) (19 35) (11 46) (59 1) (22 41)
( 2 64) (24 46) (42 32) (10 67) (20 61)))))
(define qr-version-edc-bits-table
#( #x07C94 #x085BC #x09A99 #x0A4D3
#x0BBF6 #x0C762 #x0D847 #x0E60D #x0F928
#x10B78 #x1145D #x12A17 #x13532 #x149A6
#x15683 #x168C9 #x177EC #x18EC4 #x191E1
#x1AFAB #x1B08E #x1CC1A #x1D33F #x1ED75
#x1F250 #x209D5 #x216F0 #x228BA #x2379F
#x24B0B #x2542E #x26A64 #x27541 #x28C69))