From a48434c19c1556614f97b376d2e79eb1f7d507c5 Mon Sep 17 00:00:00 2001 From: gitlost Date: Thu, 14 Jul 2022 20:44:48 +0100 Subject: [PATCH] GS1: update for new AI 4309 with latlong validator, plus new GS1 syntax dictionary format (pre-release) iso4217: new currency code 925 --- ChangeLog | 1 + backend/gs1.c | 36 + backend/gs1_lint.h | 273 ++-- backend/iso4217.h | 11 +- backend/tests/test_gs1.c | 1156 +++++++++-------- backend/tests/test_iso4217.c | 176 +-- .../tests/tools/bwipp_dump-barcode.ps.diff | 58 +- backend/tests/tools/bwipp_dump.ps.tar.xz | Bin 126184 -> 126720 bytes backend/tools/gen_gs1_lint.php | 87 +- backend/tools/gen_iso4217_h.php | 28 +- 10 files changed, 962 insertions(+), 864 deletions(-) diff --git a/ChangeLog b/ChangeLog index bdd2b4fe..0b819b75 100644 --- a/ChangeLog +++ b/ChangeLog @@ -21,6 +21,7 @@ Changes in filenames - Add symbology BC412 (beta) - backend: use alloca() (z_alloca()) for both Unix and Windows +- GS1: new AI 4309 with latlong checker, new currency code 925 Bugs ---- diff --git a/backend/gs1.c b/backend/gs1.c index 06fab95f..ac12c181 100644 --- a/backend/gs1.c +++ b/backend/gs1.c @@ -1172,6 +1172,42 @@ static int couponposoffer(const unsigned char *data, int data_len, int offset, i return 1; } +/* Check WSG 84 latitude, longitude */ +static int latlong(const unsigned char *data, int data_len, int offset, int min, int max, int *p_err_no, + int *p_err_posn, char err_msg[50], const int length_only) { + (void)max; + + data_len -= offset; + + if (data_len < min || (data_len && data_len < 20)) { + return 0; + } + + if (!length_only && data_len) { + const unsigned char *d = data + offset; + const unsigned char *const de = d + (data_len > max ? max : data_len); + uint64_t lat = 0, lng = 0; + + for (; d < de; d++) { + if (de - d > 10) { + lat *= 10; + lat += *d - '0'; + } else { + lng *= 10; + lng += *d - '0'; + } + } + if (lat > 1800000000 || lng > 3600000000) { + *p_err_no = 3; + *p_err_posn = d - 1 - data + 1 - 10 * (lat > 1800000000); + sprintf(err_msg, "Invalid %s", lat > 1800000000 ? "latitude" : "longitude"); + return 0; + } + } + + return 1; +} + /* Generated by "php backend/tools/gen_gs1_linter.php > backend/gs1_lint.h" */ #include "gs1_lint.h" diff --git a/backend/gs1_lint.h b/backend/gs1_lint.h index fe0a4a41..6fa17266 100644 --- a/backend/gs1_lint.h +++ b/backend/gs1_lint.h @@ -1,10 +1,10 @@ /* * GS1 AI checker generated by "backend/tools/gen_gs1_lint.php" from - * https://raw.githubusercontent.com/bwipp/postscriptbarcode/master/contrib/development/gs1-format-spec.txt + * standards/GS1/gs1-syntax-dictionary-2022-07-11.txt */ /* libzint - the open source barcode library - Copyright (C) 2021 Robin Stuart + Copyright (C) 2021-2022 Robin Stuart Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions @@ -31,9 +31,10 @@ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* SPDX-License-Identifier: BSD-3-Clause */ -#ifndef GS1_LINT_H -#define GS1_LINT_H +#ifndef Z_GS1_LINT_H +#define Z_GS1_LINT_H /* N18,csum,key (Used by SSCC) */ static int n18_csum_key(const unsigned char *data, const int data_len, @@ -57,8 +58,8 @@ static int n14_csum_key(const unsigned char *data, const int data_len, && key(data, data_len, 0, 14, 14, p_err_no, p_err_posn, err_msg, 0); } -/* X1..20 (Used by BATCH/LOT, SERIAL, CPV, PCN...) */ -static int x1__20(const unsigned char *data, const int data_len, +/* X..20 (Used by BATCH/LOT, SERIAL, CPV, PCN...) */ +static int x__20(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 20 && cset82(data, data_len, 0, 1, 20, p_err_no, p_err_posn, err_msg); @@ -80,29 +81,29 @@ static int n2(const unsigned char *data, const int data_len, && numeric(data, data_len, 0, 2, 2, p_err_no, p_err_posn, err_msg); } -/* X1..28 (Used by TPX) */ -static int x1__28(const unsigned char *data, const int data_len, +/* X..28 (Used by TPX) */ +static int x__28(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 28 && cset82(data, data_len, 0, 1, 28, p_err_no, p_err_posn, err_msg); } -/* X1..30 (Used by ADDITIONAL ID, CUST. PART NO., SECONDARY SERIAL, REF. TO SOURCE...) */ -static int x1__30(const unsigned char *data, const int data_len, +/* X..30 (Used by ADDITIONAL ID, CUST. PART NO., SECONDARY SERIAL, REF. TO SOURCE...) */ +static int x__30(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 30 && cset82(data, data_len, 0, 1, 30, p_err_no, p_err_posn, err_msg); } -/* N1..6 (Used by MTO VARIANT) */ -static int n1__6(const unsigned char *data, const int data_len, +/* N..6 (Used by MTO VARIANT) */ +static int n__6(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 6 && numeric(data, data_len, 0, 1, 6, p_err_no, p_err_posn, err_msg); } -/* N13,csum,key X0..17 (Used by GDTI) */ -static int n13_csum_key_x0__17(const unsigned char *data, const int data_len, +/* N13,csum,key [X..17] (Used by GDTI) */ +static int n13_csum_key__x__17_(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 13 && data_len <= 30 && csum(data, data_len, 0, 13, 13, p_err_no, p_err_posn, err_msg, 1 /*length_only*/) @@ -113,8 +114,8 @@ static int n13_csum_key_x0__17(const unsigned char *data, const int data_len, && cset82(data, data_len, 13, 0, 17, p_err_no, p_err_posn, err_msg); } -/* N13,csum,key N0..12 (Used by GCN) */ -static int n13_csum_key_n0__12(const unsigned char *data, const int data_len, +/* N13,csum,key [N..12] (Used by GCN) */ +static int n13_csum_key__n__12_(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 13 && data_len <= 25 && csum(data, data_len, 0, 13, 13, p_err_no, p_err_posn, err_msg, 1 /*length_only*/) @@ -125,8 +126,8 @@ static int n13_csum_key_n0__12(const unsigned char *data, const int data_len, && numeric(data, data_len, 13, 0, 12, p_err_no, p_err_posn, err_msg); } -/* N1..8 (Used by VAR. COUNT, COUNT) */ -static int n1__8(const unsigned char *data, const int data_len, +/* N..8 (Used by VAR. COUNT, COUNT) */ +static int n__8(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 8 && numeric(data, data_len, 0, 1, 8, p_err_no, p_err_posn, err_msg); @@ -139,15 +140,15 @@ static int n6(const unsigned char *data, const int data_len, && numeric(data, data_len, 0, 6, 6, p_err_no, p_err_posn, err_msg); } -/* N1..15 (Used by AMOUNT, PRICE) */ -static int n1__15(const unsigned char *data, const int data_len, +/* N..15 (Used by AMOUNT, PRICE) */ +static int n__15(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 15 && numeric(data, data_len, 0, 1, 15, p_err_no, p_err_posn, err_msg); } -/* N3,iso4217 N1..15 (Used by AMOUNT, PRICE) */ -static int n3_iso4217_n1__15(const unsigned char *data, const int data_len, +/* N3,iso4217 N..15 (Used by AMOUNT, PRICE) */ +static int n3_iso4217_n__15(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 4 && data_len <= 18 && iso4217(data, data_len, 0, 3, 3, p_err_no, p_err_posn, err_msg, 1 /*length_only*/) @@ -163,8 +164,8 @@ static int n4(const unsigned char *data, const int data_len, && numeric(data, data_len, 0, 4, 4, p_err_no, p_err_posn, err_msg); } -/* X1..30,key (Used by GINC, GIAI - ASSEMBLY, GIAI) */ -static int x1__30_key(const unsigned char *data, const int data_len, +/* X..30,key (Used by GINC, GIAI - ASSEMBLY, GIAI) */ +static int x__30_key(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 30 && key(data, data_len, 0, 1, 30, p_err_no, p_err_posn, err_msg, 1 /*length_only*/) @@ -194,8 +195,8 @@ static int n13_csum_key(const unsigned char *data, const int data_len, && key(data, data_len, 0, 13, 13, p_err_no, p_err_posn, err_msg, 0); } -/* N3,iso3166 X1..9 (Used by SHIP TO POST) */ -static int n3_iso3166_x1__9(const unsigned char *data, const int data_len, +/* N3,iso3166 X..9 (Used by SHIP TO POST) */ +static int n3_iso3166_x__9(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 4 && data_len <= 12 && iso3166(data, data_len, 0, 3, 3, p_err_no, p_err_posn, err_msg, 1 /*length_only*/) @@ -213,24 +214,24 @@ static int n3_iso3166(const unsigned char *data, const int data_len, && iso3166(data, data_len, 0, 3, 3, p_err_no, p_err_posn, err_msg, 0); } -/* N3..15,iso3166list (Used by COUNTRY - INITIAL PROCESS, COUNTRY - DISASSEMBLY) */ -static int n3__15_iso3166list(const unsigned char *data, const int data_len, +/* N..15,iso3166list (Used by COUNTRY - INITIAL PROCESS, COUNTRY - DISASSEMBLY) */ +static int n__15_iso3166list(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { - return data_len >= 3 && data_len <= 15 - && iso3166list(data, data_len, 0, 3, 15, p_err_no, p_err_posn, err_msg, 1 /*length_only*/) - && numeric(data, data_len, 0, 3, 15, p_err_no, p_err_posn, err_msg) - && iso3166list(data, data_len, 0, 3, 15, p_err_no, p_err_posn, err_msg, 0); + return data_len >= 1 && data_len <= 15 + && iso3166list(data, data_len, 0, 1, 15, p_err_no, p_err_posn, err_msg, 1 /*length_only*/) + && numeric(data, data_len, 0, 1, 15, p_err_no, p_err_posn, err_msg) + && iso3166list(data, data_len, 0, 1, 15, p_err_no, p_err_posn, err_msg, 0); } -/* X1..3 (Used by ORIGIN SUBDIVISION, AQUATIC SPECIES) */ -static int x1__3(const unsigned char *data, const int data_len, +/* X..3 (Used by ORIGIN SUBDIVISION, AQUATIC SPECIES) */ +static int x__3(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 3 && cset82(data, data_len, 0, 1, 3, p_err_no, p_err_posn, err_msg); } -/* X1..35,pcenc (Used by SHIP TO COMP, SHIP TO NAME, RTN TO COMP, RTN TO NAME...) */ -static int x1__35_pcenc(const unsigned char *data, const int data_len, +/* X..35,pcenc (Used by SHIP TO COMP, SHIP TO NAME, RTN TO COMP, RTN TO NAME...) */ +static int x__35_pcenc(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 35 && pcenc(data, data_len, 0, 1, 35, p_err_no, p_err_posn, err_msg, 1 /*length_only*/) @@ -238,8 +239,8 @@ static int x1__35_pcenc(const unsigned char *data, const int data_len, && pcenc(data, data_len, 0, 1, 35, p_err_no, p_err_posn, err_msg, 0); } -/* X1..70,pcenc (Used by SHIP TO ADD1, SHIP TO ADD2, SHIP TO SUB, SHIP TO LOC...) */ -static int x1__70_pcenc(const unsigned char *data, const int data_len, +/* X..70,pcenc (Used by SHIP TO ADD1, SHIP TO ADD2, SHIP TO SUB, SHIP TO LOC...) */ +static int x__70_pcenc(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 70 && pcenc(data, data_len, 0, 1, 70, p_err_no, p_err_posn, err_msg, 1 /*length_only*/) @@ -256,7 +257,16 @@ static int x2_iso3166alpha2(const unsigned char *data, const int data_len, && iso3166alpha2(data, data_len, 0, 2, 2, p_err_no, p_err_posn, err_msg, 0); } -/* N1,yesno (Used by DANGEROUS GOODS, AUTH LEAVE, SIG REQUIRED) */ +/* N20,latlong (Used by SHIP TO GEO) */ +static int n20_latlong(const unsigned char *data, const int data_len, + int *p_err_no, int *p_err_posn, char err_msg[50]) { + return data_len == 20 + && latlong(data, data_len, 0, 20, 20, p_err_no, p_err_posn, err_msg, 1 /*length_only*/) + && numeric(data, data_len, 0, 20, 20, p_err_no, p_err_posn, err_msg) + && latlong(data, data_len, 0, 20, 20, p_err_no, p_err_posn, err_msg, 0); +} + +/* N1,yesno (Used by DANGEROUS GOODS, AUTH TO LEAVE, SIG REQUIRED) */ static int n1_yesno(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len == 1 @@ -265,7 +275,7 @@ static int n1_yesno(const unsigned char *data, const int data_len, && yesno(data, data_len, 0, 1, 1, p_err_no, p_err_posn, err_msg, 0); } -/* N6,yymmd0 N4,hhmm (Used by NBEF DEL DT., NAFT DEL DT.) */ +/* N6,yymmd0 N4,hhmm (Used by NOT BEF DEL DT, NOT AFT DEL DT) */ static int n6_yymmd0_n4_hhmm(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len == 10 @@ -305,22 +315,22 @@ static int n6_yymmdd_n4_hhmm(const unsigned char *data, const int data_len, && hhmm(data, data_len, 6, 4, 4, p_err_no, p_err_posn, err_msg, 0); } -/* N1..4 (Used by ACTIVE POTENCY) */ -static int n1__4(const unsigned char *data, const int data_len, +/* N..4 (Used by ACTIVE POTENCY) */ +static int n__4(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 4 && numeric(data, data_len, 0, 1, 4, p_err_no, p_err_posn, err_msg); } -/* X1..12 (Used by CATCH AREA) */ -static int x1__12(const unsigned char *data, const int data_len, +/* X..12 (Used by CATCH AREA) */ +static int x__12(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 12 && cset82(data, data_len, 0, 1, 12, p_err_no, p_err_posn, err_msg); } -/* N6,yymmdd N0..6,yymmdd (Used by HARVEST DATE) */ -static int n6_yymmdd_n0__6_yymmdd(const unsigned char *data, const int data_len, +/* N6,yymmdd [N6],yymmdd (Used by HARVEST DATE) */ +static int n6_yymmdd__n6__yymmdd(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 6 && data_len <= 12 && yymmdd(data, data_len, 0, 6, 6, p_err_no, p_err_posn, err_msg, 1 /*length_only*/) @@ -331,22 +341,22 @@ static int n6_yymmdd_n0__6_yymmdd(const unsigned char *data, const int data_len, && yymmdd(data, data_len, 6, 0, 6, p_err_no, p_err_posn, err_msg, 0); } -/* X1..10 (Used by FISHING GEAR TYPE) */ -static int x1__10(const unsigned char *data, const int data_len, +/* X..10 (Used by FISHING GEAR TYPE) */ +static int x__10(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 10 && cset82(data, data_len, 0, 1, 10, p_err_no, p_err_posn, err_msg); } -/* X1..2 (Used by PROD METHOD) */ -static int x1__2(const unsigned char *data, const int data_len, +/* X..2 (Used by PROD METHOD) */ +static int x__2(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 2 && cset82(data, data_len, 0, 1, 2, p_err_no, p_err_posn, err_msg); } -/* N3,iso3166999 X1..27 (Used by PROCESSOR # s) */ -static int n3_iso3166999_x1__27(const unsigned char *data, const int data_len, +/* N3,iso3166999 X..27 (Used by PROCESSOR # 0, PROCESSOR # 1, PROCESSOR # 2, PROCESSOR # 3...) */ +static int n3_iso3166999_x__27(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 4 && data_len <= 30 && iso3166999(data, data_len, 0, 3, 3, p_err_no, p_err_posn, err_msg, 1 /*length_only*/) @@ -367,8 +377,8 @@ static int n1_x1_x1_x1_importeridx(const unsigned char *data, const int data_len && importeridx(data, data_len, 3, 1, 1, p_err_no, p_err_posn, err_msg, 0); } -/* X2 X1..28 (Used by CERT # s) */ -static int x2_x1__28(const unsigned char *data, const int data_len, +/* X2 X..28 (Used by CERT # 1, CERT # 2, CERT # 3, CERT # 4...) */ +static int x2_x__28(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 3 && data_len <= 30 && cset82(data, data_len, 0, 2, 2, p_err_no, p_err_posn, err_msg) @@ -394,8 +404,8 @@ static int n4_nonzero_n5_nonzero_n3_nonzero_n1_winding_n1(const unsigned char *d && numeric(data, data_len, 13, 1, 1, p_err_no, p_err_posn, err_msg); } -/* N1,zero N13,csum,key X0..16 (Used by GRAI) */ -static int n1_zero_n13_csum_key_x0__16(const unsigned char *data, const int data_len, +/* N1,zero N13,csum,key [X..16] (Used by GRAI) */ +static int n1_zero_n13_csum_key__x__16_(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 14 && data_len <= 30 && zero(data, data_len, 0, 1, 1, p_err_no, p_err_posn, err_msg, 1 /*length_only*/) @@ -421,8 +431,8 @@ static int n14_csum_n4_pieceoftotal(const unsigned char *data, const int data_le && pieceoftotal(data, data_len, 14, 4, 4, p_err_no, p_err_posn, err_msg, 0); } -/* X1..34,iban (Used by IBAN) */ -static int x1__34_iban(const unsigned char *data, const int data_len, +/* X..34,iban (Used by IBAN) */ +static int x__34_iban(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 34 && iban(data, data_len, 0, 1, 34, p_err_no, p_err_posn, err_msg, 1 /*length_only*/) @@ -430,8 +440,8 @@ static int x1__34_iban(const unsigned char *data, const int data_len, && iban(data, data_len, 0, 1, 34, p_err_no, p_err_posn, err_msg, 0); } -/* N8,yymmddhh N0..4,mmoptss (Used by PROD TIME) */ -static int n8_yymmddhh_n0__4_mmoptss(const unsigned char *data, const int data_len, +/* N8,yymmddhh [N..4],mmoptss (Used by PROD TIME) */ +static int n8_yymmddhh__n__4__mmoptss(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 8 && data_len <= 12 && yymmddhh(data, data_len, 0, 8, 8, p_err_no, p_err_posn, err_msg, 1 /*length_only*/) @@ -442,15 +452,15 @@ static int n8_yymmddhh_n0__4_mmoptss(const unsigned char *data, const int data_l && mmoptss(data, data_len, 8, 0, 4, p_err_no, p_err_posn, err_msg, 0); } -/* X1..50 (Used by OPTSEN) */ -static int x1__50(const unsigned char *data, const int data_len, +/* X..50 (Used by OPTSEN) */ +static int x__50(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 50 && cset82(data, data_len, 0, 1, 50, p_err_no, p_err_posn, err_msg); } -/* C1..30,key (Used by CPID) */ -static int c1__30_key(const unsigned char *data, const int data_len, +/* Y..30,key (Used by CPID) */ +static int y__30_key(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 30 && key(data, data_len, 0, 1, 30, p_err_no, p_err_posn, err_msg, 1 /*length_only*/) @@ -458,8 +468,8 @@ static int c1__30_key(const unsigned char *data, const int data_len, && key(data, data_len, 0, 1, 30, p_err_no, p_err_posn, err_msg, 0); } -/* N1..12,nozeroprefix (Used by CPID SERIAL) */ -static int n1__12_nozeroprefix(const unsigned char *data, const int data_len, +/* N..12,nozeroprefix (Used by CPID SERIAL) */ +static int n__12_nozeroprefix(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 12 && nozeroprefix(data, data_len, 0, 1, 12, p_err_no, p_err_posn, err_msg, 1 /*length_only*/) @@ -467,8 +477,8 @@ static int n1__12_nozeroprefix(const unsigned char *data, const int data_len, && nozeroprefix(data, data_len, 0, 1, 12, p_err_no, p_err_posn, err_msg, 0); } -/* X1..25,csumalpha,key (Used by GMN) */ -static int x1__25_csumalpha_key(const unsigned char *data, const int data_len, +/* X..25,csumalpha,key (Used by GMN) */ +static int x__25_csumalpha_key(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 25 && csumalpha(data, data_len, 0, 1, 25, p_err_no, p_err_posn, err_msg, 1 /*length_only*/) @@ -487,22 +497,22 @@ static int n18_csum(const unsigned char *data, const int data_len, && csum(data, data_len, 0, 18, 18, p_err_no, p_err_posn, err_msg, 0); } -/* N1..10 (Used by SRIN) */ -static int n1__10(const unsigned char *data, const int data_len, +/* N..10 (Used by SRIN) */ +static int n__10(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 10 && numeric(data, data_len, 0, 1, 10, p_err_no, p_err_posn, err_msg); } -/* X1..25 (Used by REF NO.) */ -static int x1__25(const unsigned char *data, const int data_len, +/* X..25 (Used by REF NO.) */ +static int x__25(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 25 && cset82(data, data_len, 0, 1, 25, p_err_no, p_err_posn, err_msg); } -/* X1..70,couponcode */ -static int x1__70_couponcode(const unsigned char *data, const int data_len, +/* X..70,couponcode */ +static int x__70_couponcode(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 70 && couponcode(data, data_len, 0, 1, 70, p_err_no, p_err_posn, err_msg, 1 /*length_only*/) @@ -510,8 +520,8 @@ static int x1__70_couponcode(const unsigned char *data, const int data_len, && couponcode(data, data_len, 0, 1, 70, p_err_no, p_err_posn, err_msg, 0); } -/* X1..70,couponposoffer */ -static int x1__70_couponposoffer(const unsigned char *data, const int data_len, +/* X..70,couponposoffer */ +static int x__70_couponposoffer(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 70 && couponposoffer(data, data_len, 0, 1, 70, p_err_no, p_err_posn, err_msg, 1 /*length_only*/) @@ -519,15 +529,15 @@ static int x1__70_couponposoffer(const unsigned char *data, const int data_len, && couponposoffer(data, data_len, 0, 1, 70, p_err_no, p_err_posn, err_msg, 0); } -/* X1..70 (Used by PRODUCT URL) */ -static int x1__70(const unsigned char *data, const int data_len, +/* X..70 (Used by PRODUCT URL) */ +static int x__70(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 70 && cset82(data, data_len, 0, 1, 70, p_err_no, p_err_posn, err_msg); } -/* X1..90 (Used by INTERNAL) */ -static int x1__90(const unsigned char *data, const int data_len, +/* X..90 (Used by INTERNAL) */ +static int x__90(const unsigned char *data, const int data_len, int *p_err_no, int *p_err_posn, char err_msg[50]) { return data_len >= 1 && data_len <= 90 && cset82(data, data_len, 0, 1, 90, p_err_no, p_err_posn, err_msg); @@ -549,7 +559,7 @@ static int gs1_lint(const int ai, const unsigned char *data, const int data_len, return n14_csum_key(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 10 || ai == 21 || ai == 22) { - return x1__20(data, data_len, p_err_no, p_err_posn, err_msg); + return x__20(data, data_len, p_err_no, p_err_posn, err_msg); } if ((ai >= 11 && ai <= 13) || (ai >= 15 && ai <= 17)) { return n6_yymmd0(data, data_len, p_err_no, p_err_posn, err_msg); @@ -558,43 +568,43 @@ static int gs1_lint(const int ai, const unsigned char *data, const int data_len, return n2(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 30 || ai == 37) { - return n1__8(data, data_len, p_err_no, p_err_posn, err_msg); + return n__8(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 90) { - return x1__30(data, data_len, p_err_no, p_err_posn, err_msg); + return x__30(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai >= 91) { - return x1__90(data, data_len, p_err_no, p_err_posn, err_msg); + return x__90(data, data_len, p_err_no, p_err_posn, err_msg); } } else if (ai < 300) { if (ai == 235) { - return x1__28(data, data_len, p_err_no, p_err_posn, err_msg); + return x__28(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 240 || ai == 241 || ai == 250 || ai == 251) { - return x1__30(data, data_len, p_err_no, p_err_posn, err_msg); + return x__30(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 242) { - return n1__6(data, data_len, p_err_no, p_err_posn, err_msg); + return n__6(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 243 || ai == 254) { - return x1__20(data, data_len, p_err_no, p_err_posn, err_msg); + return x__20(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 253) { - return n13_csum_key_x0__17(data, data_len, p_err_no, p_err_posn, err_msg); + return n13_csum_key__x__17_(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 255) { - return n13_csum_key_n0__12(data, data_len, p_err_no, p_err_posn, err_msg); + return n13_csum_key__n__12_(data, data_len, p_err_no, p_err_posn, err_msg); } } else if (ai < 500) { if (ai == 400 || ai == 403) { - return x1__30(data, data_len, p_err_no, p_err_posn, err_msg); + return x__30(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 401) { - return x1__30_key(data, data_len, p_err_no, p_err_posn, err_msg); + return x__30_key(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 402) { return n17_csum_key(data, data_len, p_err_no, p_err_posn, err_msg); @@ -603,25 +613,25 @@ static int gs1_lint(const int ai, const unsigned char *data, const int data_len, return n13_csum_key(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 420) { - return x1__20(data, data_len, p_err_no, p_err_posn, err_msg); + return x__20(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 421) { - return n3_iso3166_x1__9(data, data_len, p_err_no, p_err_posn, err_msg); + return n3_iso3166_x__9(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 422 || ai == 424 || ai == 426) { return n3_iso3166(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 423 || ai == 425) { - return n3__15_iso3166list(data, data_len, p_err_no, p_err_posn, err_msg); + return n__15_iso3166list(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 427) { - return x1__3(data, data_len, p_err_no, p_err_posn, err_msg); + return x__3(data, data_len, p_err_no, p_err_posn, err_msg); } } else if (ai < 800) { if (ai >= 710 && ai <= 715) { - return x1__20(data, data_len, p_err_no, p_err_posn, err_msg); + return x__20(data, data_len, p_err_no, p_err_posn, err_msg); } } else if (ai < 3200) { @@ -675,10 +685,10 @@ static int gs1_lint(const int ai, const unsigned char *data, const int data_len, } else if (ai < 4000) { if ((ai >= 3900 && ai <= 3909) || (ai >= 3920 && ai <= 3929)) { - return n1__15(data, data_len, p_err_no, p_err_posn, err_msg); + return n__15(data, data_len, p_err_no, p_err_posn, err_msg); } if ((ai >= 3910 && ai <= 3919) || (ai >= 3930 && ai <= 3939)) { - return n3_iso4217_n1__15(data, data_len, p_err_no, p_err_posn, err_msg); + return n3_iso4217_n__15(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai >= 3940 && ai <= 3943) { return n4(data, data_len, p_err_no, p_err_posn, err_msg); @@ -690,19 +700,22 @@ static int gs1_lint(const int ai, const unsigned char *data, const int data_len, } else if (ai < 4400) { if (ai == 4300 || ai == 4301 || ai == 4310 || ai == 4311 || ai == 4320) { - return x1__35_pcenc(data, data_len, p_err_no, p_err_posn, err_msg); + return x__35_pcenc(data, data_len, p_err_no, p_err_posn, err_msg); } if ((ai >= 4302 && ai <= 4306) || (ai >= 4312 && ai <= 4316)) { - return x1__70_pcenc(data, data_len, p_err_no, p_err_posn, err_msg); + return x__70_pcenc(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 4307 || ai == 4317) { return x2_iso3166alpha2(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 4308 || ai == 4319) { - return x1__30(data, data_len, p_err_no, p_err_posn, err_msg); + return x__30(data, data_len, p_err_no, p_err_posn, err_msg); + } + if (ai == 4309) { + return n20_latlong(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 4318) { - return x1__20(data, data_len, p_err_no, p_err_posn, err_msg); + return x__20(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai >= 4321 && ai <= 4323) { return n1_yesno(data, data_len, p_err_no, p_err_posn, err_msg); @@ -720,40 +733,40 @@ static int gs1_lint(const int ai, const unsigned char *data, const int data_len, return n13(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 7002) { - return x1__30(data, data_len, p_err_no, p_err_posn, err_msg); + return x__30(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 7003) { return n6_yymmdd_n4_hhmm(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 7004) { - return n1__4(data, data_len, p_err_no, p_err_posn, err_msg); + return n__4(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 7005) { - return x1__12(data, data_len, p_err_no, p_err_posn, err_msg); + return x__12(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 7006) { return n6_yymmdd(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 7007) { - return n6_yymmdd_n0__6_yymmdd(data, data_len, p_err_no, p_err_posn, err_msg); + return n6_yymmdd__n6__yymmdd(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 7008) { - return x1__3(data, data_len, p_err_no, p_err_posn, err_msg); + return x__3(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 7009) { - return x1__10(data, data_len, p_err_no, p_err_posn, err_msg); + return x__10(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 7010) { - return x1__2(data, data_len, p_err_no, p_err_posn, err_msg); + return x__2(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai >= 7020 && ai <= 7022) { - return x1__20(data, data_len, p_err_no, p_err_posn, err_msg); + return x__20(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 7023) { - return x1__30_key(data, data_len, p_err_no, p_err_posn, err_msg); + return x__30_key(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai >= 7030 && ai <= 7039) { - return n3_iso3166999_x1__27(data, data_len, p_err_no, p_err_posn, err_msg); + return n3_iso3166999_x__27(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 7040) { return n1_x1_x1_x1_importeridx(data, data_len, p_err_no, p_err_posn, err_msg); @@ -762,10 +775,10 @@ static int gs1_lint(const int ai, const unsigned char *data, const int data_len, } else if (ai < 7300) { if (ai >= 7230 && ai <= 7239) { - return x2_x1__28(data, data_len, p_err_no, p_err_posn, err_msg); + return x2_x__28(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 7240) { - return x1__20(data, data_len, p_err_no, p_err_posn, err_msg); + return x__20(data, data_len, p_err_no, p_err_posn, err_msg); } } else if (ai < 8100) { @@ -774,13 +787,13 @@ static int gs1_lint(const int ai, const unsigned char *data, const int data_len, return n4_nonzero_n5_nonzero_n3_nonzero_n1_winding_n1(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 8002 || ai == 8012) { - return x1__20(data, data_len, p_err_no, p_err_posn, err_msg); + return x__20(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 8003) { - return n1_zero_n13_csum_key_x0__16(data, data_len, p_err_no, p_err_posn, err_msg); + return n1_zero_n13_csum_key__x__16_(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 8004) { - return x1__30_key(data, data_len, p_err_no, p_err_posn, err_msg); + return x__30_key(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 8005) { return n6(data, data_len, p_err_no, p_err_posn, err_msg); @@ -789,49 +802,49 @@ static int gs1_lint(const int ai, const unsigned char *data, const int data_len, return n14_csum_n4_pieceoftotal(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 8007) { - return x1__34_iban(data, data_len, p_err_no, p_err_posn, err_msg); + return x__34_iban(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 8008) { - return n8_yymmddhh_n0__4_mmoptss(data, data_len, p_err_no, p_err_posn, err_msg); + return n8_yymmddhh__n__4__mmoptss(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 8009) { - return x1__50(data, data_len, p_err_no, p_err_posn, err_msg); + return x__50(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 8010) { - return c1__30_key(data, data_len, p_err_no, p_err_posn, err_msg); + return y__30_key(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 8011) { - return n1__12_nozeroprefix(data, data_len, p_err_no, p_err_posn, err_msg); + return n__12_nozeroprefix(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 8013) { - return x1__25_csumalpha_key(data, data_len, p_err_no, p_err_posn, err_msg); + return x__25_csumalpha_key(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 8017 || ai == 8018) { return n18_csum(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 8019) { - return n1__10(data, data_len, p_err_no, p_err_posn, err_msg); + return n__10(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 8020) { - return x1__25(data, data_len, p_err_no, p_err_posn, err_msg); + return x__25(data, data_len, p_err_no, p_err_posn, err_msg); } } else if (ai < 8200) { if (ai == 8110) { - return x1__70_couponcode(data, data_len, p_err_no, p_err_posn, err_msg); + return x__70_couponcode(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 8111) { return n4(data, data_len, p_err_no, p_err_posn, err_msg); } if (ai == 8112) { - return x1__70_couponposoffer(data, data_len, p_err_no, p_err_posn, err_msg); + return x__70_couponposoffer(data, data_len, p_err_no, p_err_posn, err_msg); } } else if (ai < 8300) { if (ai == 8200) { - return x1__70(data, data_len, p_err_no, p_err_posn, err_msg); + return x__70(data, data_len, p_err_no, p_err_posn, err_msg); } } @@ -840,4 +853,4 @@ static int gs1_lint(const int ai, const unsigned char *data, const int data_len, return 0; } -#endif /* GS1_LINT_H */ +#endif /* Z_GS1_LINT_H */ diff --git a/backend/iso4217.h b/backend/iso4217.h index 6959d17c..14b9e441 100644 --- a/backend/iso4217.h +++ b/backend/iso4217.h @@ -3,7 +3,7 @@ */ /* libzint - the open source barcode library - Copyright (C) 2021 Robin Stuart + Copyright (C) 2021-2022 Robin Stuart Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions @@ -30,9 +30,10 @@ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* SPDX-License-Identifier: BSD-3-Clause */ -#ifndef ISO4217_H -#define ISO4217_H +#ifndef Z_ISO4217_H +#define Z_ISO4217_H /* Whether ISO 4217-1 numeric */ static int iso4217_numeric(int cc) { @@ -51,7 +52,7 @@ static int iso4217_numeric(int cc) { 0x45, 0x00, 0x00, 0x01, 0x00, 0x10, 0x11, 0x11, 0x00, 0x11, 0x11, 0x00, 0x81, 0x00, 0x04, 0x04, 0x04, 0x01, 0x00, 0x14, 0x00, 0x00, 0x44, 0x00, - 0x20, 0x00, 0x00, 0x80, 0x7F, 0xB5, 0xFD, 0xFB, + 0x20, 0x00, 0x00, 0xA0, 0x7F, 0xB5, 0xFD, 0xFB, 0xBF, 0xBF, 0x3F, 0x47, 0xA4, }; int b = cc >> 3; @@ -62,4 +63,4 @@ static int iso4217_numeric(int cc) { return codes[b] & (1 << (cc & 0x7)) ? 1 : 0; } -#endif /* ISO4217_H */ +#endif /* Z_ISO4217_H */ diff --git a/backend/tests/test_gs1.c b/backend/tests/test_gs1.c index 1c6bb918..e04c4eaa 100644 --- a/backend/tests/test_gs1.c +++ b/backend/tests/test_gs1.c @@ -959,384 +959,386 @@ static void test_gs1_verify(int index, int debug) { /*602*/ { "[4308]1", 0, "43081" }, /*603*/ { "[4308]123456789012345678901234567890", 0, "4308123456789012345678901234567890" }, /*604*/ { "[4308]1234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, - /*605*/ { "[4309]1", ZINT_ERROR_INVALID_DATA, "" }, - /*606*/ { "[431]1", ZINT_ERROR_INVALID_DATA, "" }, - /*607*/ { "[4310]1", 0, "43101" }, - /*608*/ { "[4310]12345678901234567890123456789012345", 0, "431012345678901234567890123456789012345" }, - /*609*/ { "[4310]123456789012345678901234567890123456", ZINT_ERROR_INVALID_DATA, "" }, - /*610*/ { "[4311]1", 0, "43111" }, - /*611*/ { "[4311]12345678901234567890123456789012345", 0, "431112345678901234567890123456789012345" }, - /*612*/ { "[4311]123456789012345678901234567890123456", ZINT_ERROR_INVALID_DATA, "" }, - /*613*/ { "[4312]1", 0, "43121" }, - /*614*/ { "[4312]1234567890123456789012345678901234567890123456789012345678901234567890", 0, "43121234567890123456789012345678901234567890123456789012345678901234567890" }, - /*615*/ { "[4312]12345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, - /*616*/ { "[4313]1", 0, "43131" }, - /*617*/ { "[4313]1234567890123456789012345678901234567890123456789012345678901234567890", 0, "43131234567890123456789012345678901234567890123456789012345678901234567890" }, - /*618*/ { "[4313]12345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, - /*619*/ { "[4314]1", 0, "43141" }, - /*620*/ { "[4314]1234567890123456789012345678901234567890123456789012345678901234567890", 0, "43141234567890123456789012345678901234567890123456789012345678901234567890" }, - /*621*/ { "[4314]12345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, - /*622*/ { "[4315]1", 0, "43151" }, - /*623*/ { "[4315]1234567890123456789012345678901234567890123456789012345678901234567890", 0, "43151234567890123456789012345678901234567890123456789012345678901234567890" }, - /*624*/ { "[4315]12345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, - /*625*/ { "[4316]1", 0, "43161" }, - /*626*/ { "[4316]1234567890123456789012345678901234567890123456789012345678901234567890", 0, "43161234567890123456789012345678901234567890123456789012345678901234567890" }, - /*627*/ { "[4316]12345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, - /*628*/ { "[4317]FR", 0, "4317FR" }, - /*629*/ { "[4317]F", ZINT_ERROR_INVALID_DATA, "" }, - /*630*/ { "[4317]FRF", ZINT_ERROR_INVALID_DATA, "" }, - /*631*/ { "[4318]1", 0, "43181" }, - /*632*/ { "[4318]12345678901234567890", 0, "431812345678901234567890" }, - /*633*/ { "[4318]123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, - /*634*/ { "[4319]1", 0, "43191" }, - /*635*/ { "[4319]123456789012345678901234567890", 0, "4319123456789012345678901234567890" }, - /*636*/ { "[4319]1234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, - /*637*/ { "[432]1", ZINT_ERROR_INVALID_DATA, "" }, - /*638*/ { "[4320]1", 0, "43201" }, - /*639*/ { "[4320]12345678901234567890123456789012345", 0, "432012345678901234567890123456789012345" }, - /*640*/ { "[4320]123456789012345678901234567890123456", ZINT_ERROR_INVALID_DATA, "" }, - /*641*/ { "[4321]1", 0, "43211" }, - /*642*/ { "[4321]10", ZINT_ERROR_INVALID_DATA, "" }, - /*643*/ { "[4322]1", 0, "43221" }, - /*644*/ { "[4322]10", ZINT_ERROR_INVALID_DATA, "" }, - /*645*/ { "[4323]1", 0, "43231" }, - /*646*/ { "[4323]10", ZINT_ERROR_INVALID_DATA, "" }, - /*647*/ { "[4324]1212120000", 0, "43241212120000" }, - /*648*/ { "[4324]121212000", ZINT_ERROR_INVALID_DATA, "" }, - /*649*/ { "[4324]12121200000", ZINT_ERROR_INVALID_DATA, "" }, - /*650*/ { "[4325]1212120000", 0, "43251212120000" }, - /*651*/ { "[4325]121212000", ZINT_ERROR_INVALID_DATA, "" }, - /*652*/ { "[4325]12121200000", ZINT_ERROR_INVALID_DATA, "" }, - /*653*/ { "[4326]121212", 0, "4326121212" }, - /*654*/ { "[4326]12121", ZINT_ERROR_INVALID_DATA, "" }, - /*655*/ { "[4326]1212120", ZINT_ERROR_INVALID_DATA, "" }, - /*656*/ { "[4327]121212", ZINT_ERROR_INVALID_DATA, "" }, - /*657*/ { "[4328]121212", ZINT_ERROR_INVALID_DATA, "" }, - /*658*/ { "[4329]121212", ZINT_ERROR_INVALID_DATA, "" }, - /*659*/ { "[433]121212", ZINT_ERROR_INVALID_DATA, "" }, - /*660*/ { "[4330]121212", ZINT_ERROR_INVALID_DATA, "" }, - /*661*/ { "[44]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*662*/ { "[440]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*663*/ { "[4400]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*664*/ { "[49]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*665*/ { "[490]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*666*/ { "[4900]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*667*/ { "[499]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*668*/ { "[4990]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*669*/ { "[50]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*670*/ { "[500]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*671*/ { "[5000]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*672*/ { "[51]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*673*/ { "[510]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*674*/ { "[5100]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*675*/ { "[59]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*676*/ { "[590]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*677*/ { "[5900]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*678*/ { "[60]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*679*/ { "[600]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*680*/ { "[6000]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*681*/ { "[61]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*682*/ { "[610]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*683*/ { "[6100]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*684*/ { "[69]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*685*/ { "[690]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*686*/ { "[6900]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*687*/ { "[70]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*688*/ { "[700]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*689*/ { "[7000]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*690*/ { "[7001]1234567890123", 0, "70011234567890123" }, - /*691*/ { "[7001]123456789012", ZINT_ERROR_INVALID_DATA, "" }, - /*692*/ { "[7002]abcdefghijklmnopqrstuvwxyz1234", 0, "7002abcdefghijklmnopqrstuvwxyz1234" }, - /*693*/ { "[7002]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "" }, - /*694*/ { "[7003]1212121212", 0, "70031212121212" }, - /*695*/ { "[7003]121212121", ZINT_ERROR_INVALID_DATA, "" }, - /*696*/ { "[7004]1234", 0, "70041234" }, - /*697*/ { "[7004]12345", ZINT_ERROR_INVALID_DATA, "" }, - /*698*/ { "[7005]abcdefghijkl", 0, "7005abcdefghijkl" }, - /*699*/ { "[7005]abcdefghijklm", ZINT_ERROR_INVALID_DATA, "" }, - /*700*/ { "[7006]200132", ZINT_WARN_NONCOMPLIANT, "7006200132" }, - /*701*/ { "[7006]200100", ZINT_WARN_NONCOMPLIANT, "7006200100" }, - /*702*/ { "[7006]200120", 0, "7006200120" }, - /*703*/ { "[7006]2001320", ZINT_ERROR_INVALID_DATA, "" }, - /*704*/ { "[7007]010101121212", 0, "7007010101121212" }, - /*705*/ { "[7007]01010112121", ZINT_ERROR_INVALID_DATA, "" }, - /*706*/ { "[7007]A1010112121", ZINT_ERROR_INVALID_DATA, "" }, - /*707*/ { "[7007]121212", 0, "7007121212" }, - /*708*/ { "[7007]12121", ZINT_ERROR_INVALID_DATA, "" }, - /*709*/ { "[7007]1212121", ZINT_ERROR_INVALID_DATA, "" }, - /*710*/ { "[7008]abc", 0, "7008abc" }, - /*711*/ { "[7008]abcd", ZINT_ERROR_INVALID_DATA, "" }, - /*712*/ { "[7009]abcdefghij", 0, "7009abcdefghij" }, - /*713*/ { "[7009]abcdefghijk", ZINT_ERROR_INVALID_DATA, "" }, - /*714*/ { "[7010]01", 0, "701001" }, - /*715*/ { "[7010]1", 0, "70101" }, - /*716*/ { "[7010]012", ZINT_ERROR_INVALID_DATA, "" }, - /*717*/ { "[7011]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*718*/ { "[7012]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*719*/ { "[7019]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*720*/ { "[7020]abcdefghijklmnopqrst", 0, "7020abcdefghijklmnopqrst" }, - /*721*/ { "[7020]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" }, - /*722*/ { "[7021]abcdefghijklmnopqrst", 0, "7021abcdefghijklmnopqrst" }, - /*723*/ { "[7021]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" }, - /*724*/ { "[7022]abcdefghijklmnopqrst", 0, "7022abcdefghijklmnopqrst" }, - /*725*/ { "[7022]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" }, - /*726*/ { "[7023]1234abcdefghijklmnopqrstuvwxyz", 0, "70231234abcdefghijklmnopqrstuvwxyz" }, - /*727*/ { "[7023]1234abcdefghijklmnopqrstuvwxyza", ZINT_ERROR_INVALID_DATA, "" }, - /*728*/ { "[7024]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*729*/ { "[7025]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*730*/ { "[7029]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*731*/ { "[7030]123abcdefghijklmnopqrstuvwxyza", ZINT_WARN_NONCOMPLIANT, "7030123abcdefghijklmnopqrstuvwxyza" }, - /*732*/ { "[7030]004abcdefghijklmnopqrstuvwxyza", 0, "7030004abcdefghijklmnopqrstuvwxyza" }, - /*733*/ { "[7030]123abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" }, - /*734*/ { "[7031]123abcdefghijklmnopqrstuvwxyza", ZINT_WARN_NONCOMPLIANT, "7031123abcdefghijklmnopqrstuvwxyza" }, - /*735*/ { "[7031]004abcdefghijklmnopqrstuvwxyza", 0, "7031004abcdefghijklmnopqrstuvwxyza" }, - /*736*/ { "[7031]123abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" }, - /*737*/ { "[7032]004abcdefghijklmnopqrstuvwxyza", 0, "7032004abcdefghijklmnopqrstuvwxyza" }, - /*738*/ { "[7032]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" }, - /*739*/ { "[7033]004abcdefghijklmnopqrstuvwxyza", 0, "7033004abcdefghijklmnopqrstuvwxyza" }, - /*740*/ { "[7033]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" }, - /*741*/ { "[7034]004abcdefghijklmnopqrstuvwxyza", 0, "7034004abcdefghijklmnopqrstuvwxyza" }, - /*742*/ { "[7034]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" }, - /*743*/ { "[7035]004abcdefghijklmnopqrstuvwxyza", 0, "7035004abcdefghijklmnopqrstuvwxyza" }, - /*744*/ { "[7035]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" }, - /*745*/ { "[7036]004abcdefghijklmnopqrstuvwxyza", 0, "7036004abcdefghijklmnopqrstuvwxyza" }, - /*746*/ { "[7036]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" }, - /*747*/ { "[7037]004abcdefghijklmnopqrstuvwxyza", 0, "7037004abcdefghijklmnopqrstuvwxyza" }, - /*748*/ { "[7037]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" }, - /*749*/ { "[7038]004abcdefghijklmnopqrstuvwxyza", 0, "7038004abcdefghijklmnopqrstuvwxyza" }, - /*750*/ { "[7038]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" }, - /*751*/ { "[7039]004abcdefghijklmnopqrstuvwxyza", 0, "7039004abcdefghijklmnopqrstuvwxyza" }, - /*752*/ { "[7039]123abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" }, - /*753*/ { "[7040]1abc", 0, "70401abc" }, - /*754*/ { "[7040]1ab", ZINT_ERROR_INVALID_DATA, "" }, - /*755*/ { "[7040]1abcd", ZINT_ERROR_INVALID_DATA, "" }, - /*756*/ { "[7041]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*757*/ { "[7042]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*758*/ { "[7050]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*759*/ { "[7090]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*760*/ { "[7099]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*761*/ { "[71]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*762*/ { "[710]abcdefghijklmnopqrst", 0, "710abcdefghijklmnopqrst" }, - /*763*/ { "[710]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" }, - /*764*/ { "[7100]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*765*/ { "[711]abcdefghijklmnopqrst", 0, "711abcdefghijklmnopqrst" }, - /*766*/ { "[711]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" }, - /*767*/ { "[712]abcdefghijklmnopqrst", 0, "712abcdefghijklmnopqrst" }, - /*768*/ { "[712]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" }, - /*769*/ { "[713]abcdefghijklmnopqrst", 0, "713abcdefghijklmnopqrst" }, - /*770*/ { "[713]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" }, - /*771*/ { "[714]abcdefghijklmnopqrst", 0, "714abcdefghijklmnopqrst" }, - /*772*/ { "[714]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" }, - /*773*/ { "[715]abcdefghijklmnopqrst", 0, "715abcdefghijklmnopqrst" }, - /*774*/ { "[715]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" }, - /*775*/ { "[716]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*776*/ { "[719]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*777*/ { "[72]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*778*/ { "[720]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*779*/ { "[7200]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*780*/ { "[721]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*781*/ { "[7210]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*782*/ { "[7220]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*783*/ { "[7230]EMabcdefghijklmnopqrstuvwxyzab", 0, "7230EMabcdefghijklmnopqrstuvwxyzab" }, - /*784*/ { "[7230]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" }, - /*785*/ { "[7230]EM", ZINT_ERROR_INVALID_DATA, "" }, - /*786*/ { "[7231]EMabcdefghijklmnopqrstuvwxyzab", 0, "7231EMabcdefghijklmnopqrstuvwxyzab" }, - /*787*/ { "[7231]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" }, - /*788*/ { "[7232]EMabcdefghijklmnopqrstuvwxyzab", 0, "7232EMabcdefghijklmnopqrstuvwxyzab" }, - /*789*/ { "[7232]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" }, - /*790*/ { "[7233]EMabcdefghijklmnopqrstuvwxyzab", 0, "7233EMabcdefghijklmnopqrstuvwxyzab" }, - /*791*/ { "[7233]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" }, - /*792*/ { "[7234]EMabcdefghijklmnopqrstuvwxyzab", 0, "7234EMabcdefghijklmnopqrstuvwxyzab" }, - /*793*/ { "[7234]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" }, - /*794*/ { "[7235]EMabcdefghijklmnopqrstuvwxyzab", 0, "7235EMabcdefghijklmnopqrstuvwxyzab" }, - /*795*/ { "[7235]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" }, - /*796*/ { "[7236]EMabcdefghijklmnopqrstuvwxyzab", 0, "7236EMabcdefghijklmnopqrstuvwxyzab" }, - /*797*/ { "[7236]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" }, - /*798*/ { "[7237]EMabcdefghijklmnopqrstuvwxyzab", 0, "7237EMabcdefghijklmnopqrstuvwxyzab" }, - /*799*/ { "[7237]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" }, - /*800*/ { "[7238]EMabcdefghijklmnopqrstuvwxyzab", 0, "7238EMabcdefghijklmnopqrstuvwxyzab" }, - /*801*/ { "[7238]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" }, - /*802*/ { "[7239]EMabcdefghijklmnopqrstuvwxyzab", 0, "7239EMabcdefghijklmnopqrstuvwxyzab" }, - /*803*/ { "[7239]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" }, - /*804*/ { "[7239]E", ZINT_ERROR_INVALID_DATA, "" }, - /*805*/ { "[7240]abcdefghijklmnopqrst", 0, "7240abcdefghijklmnopqrst" }, - /*806*/ { "[7240]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" }, - /*807*/ { "[7241]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*808*/ { "[7249]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*809*/ { "[7250]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*810*/ { "[7299]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*811*/ { "[73]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*812*/ { "[7300]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*813*/ { "[74]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*814*/ { "[7400]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*815*/ { "[79]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*816*/ { "[7900]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*817*/ { "[7999]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*818*/ { "[80]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*819*/ { "[800]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*820*/ { "[8000]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*821*/ { "[8001]12345678901234", ZINT_WARN_NONCOMPLIANT, "800112345678901234" }, - /*822*/ { "[8001]12345678901204", 0, "800112345678901204" }, - /*823*/ { "[8001]1234123456789012345", ZINT_ERROR_INVALID_DATA, "" }, - /*824*/ { "[8002]abcdefghijklmnopqrst", 0, "8002abcdefghijklmnopqrst" }, - /*825*/ { "[8002]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" }, - /*826*/ { "[8003]01234567890123abcdefghijklmnop", ZINT_WARN_NONCOMPLIANT, "800301234567890123abcdefghijklmnop" }, - /*827*/ { "[8003]01234567890128abcdefghijklmnop", 0, "800301234567890128abcdefghijklmnop" }, - /*828*/ { "[8003]01234567890128abcdefghijklmnopq", ZINT_ERROR_INVALID_DATA, "" }, - /*829*/ { "[8004]abcdefghijklmnopqrstuvwxyz1234", ZINT_WARN_NONCOMPLIANT, "8004abcdefghijklmnopqrstuvwxyz1234" }, - /*830*/ { "[8004]12cdefghijklmnopqrstuvwxyz1234", 0, "800412cdefghijklmnopqrstuvwxyz1234" }, - /*831*/ { "[8004]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "" }, - /*832*/ { "[8005]123456", 0, "8005123456" }, - /*833*/ { "[8005]12345", ZINT_ERROR_INVALID_DATA, "" }, - /*834*/ { "[8005]1234567", ZINT_ERROR_INVALID_DATA, "" }, - /*835*/ { "[8006]123456789012341212", ZINT_WARN_NONCOMPLIANT, "8006123456789012341212" }, - /*836*/ { "[8006]123456789012311212", 0, "8006123456789012311212" }, - /*837*/ { "[8006]12345678901234121", ZINT_ERROR_INVALID_DATA, "" }, - /*838*/ { "[8006]1234567890123412123", ZINT_ERROR_INVALID_DATA, "" }, - /*839*/ { "[8007]abcdefghijklmnopqrstuvwxyz12345678", ZINT_WARN_NONCOMPLIANT, "8007abcdefghijklmnopqrstuvwxyz12345678" }, - /*840*/ { "[8007]AD95EFGHIJKLMNOPQRSTUVWXYZ12345678", 0, "8007AD95EFGHIJKLMNOPQRSTUVWXYZ12345678" }, - /*841*/ { "[8007]AD95EFGHIJKLMNOPQRSTUVWXYZ123456789", ZINT_ERROR_INVALID_DATA, "" }, - /*842*/ { "[8008]123456121212", ZINT_WARN_NONCOMPLIANT, "8008123456121212" }, - /*843*/ { "[8008]121256121212", ZINT_WARN_NONCOMPLIANT, "8008121256121212" }, - /*844*/ { "[8008]121231121212", 0, "8008121231121212" }, - /*845*/ { "[8008]1234561212", ZINT_WARN_NONCOMPLIANT, "80081234561212" }, - /*846*/ { "[8008]1212311212", 0, "80081212311212" }, - /*847*/ { "[8008]12345612", ZINT_WARN_NONCOMPLIANT, "800812345612" }, - /*848*/ { "[8008]12010112", 0, "800812010112" }, - /*849*/ { "[8008]1234561", ZINT_ERROR_INVALID_DATA, "" }, - /*850*/ { "[8008]123456121", ZINT_ERROR_INVALID_DATA, "" }, - /*851*/ { "[8008]12345612121", ZINT_ERROR_INVALID_DATA, "" }, - /*852*/ { "[8008]1234561212123", ZINT_ERROR_INVALID_DATA, "" }, - /*853*/ { "[8009]12345678901234567890123456789012345678901234567890", 0, "800912345678901234567890123456789012345678901234567890" }, - /*854*/ { "[8009]123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, - /*855*/ { "[8010]1234abcdefghijklmnopqrstuvwxyz1", ZINT_ERROR_INVALID_DATA, "" }, - /*856*/ { "[8011]123456789012", 0, "8011123456789012" }, - /*857*/ { "[8011]1234567890123", ZINT_ERROR_INVALID_DATA, "" }, - /*858*/ { "[8012]abcdefghijklmnopqrst", 0, "8012abcdefghijklmnopqrst" }, - /*859*/ { "[8012]abcdefghijklmnopqrstuv", ZINT_ERROR_INVALID_DATA, "" }, - /*860*/ { "[8013]1234abcdefghijklmnopqrsQP", 0, "80131234abcdefghijklmnopqrsQP" }, - /*861*/ { "[8013]1234abcdefghijklmnopqrsQPv", ZINT_ERROR_INVALID_DATA, "" }, - /*862*/ { "[8014]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*863*/ { "[8016]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*864*/ { "[8017]313131313131313139", ZINT_WARN_NONCOMPLIANT, "8017313131313131313139" }, - /*865*/ { "[8017]313131313131313131", 0, "8017313131313131313131" }, - /*866*/ { "[8017]31313131313131313", ZINT_ERROR_INVALID_DATA, "" }, - /*867*/ { "[8017]3131313131313131390", ZINT_ERROR_INVALID_DATA, "" }, - /*868*/ { "[8018]313131313131313139", ZINT_WARN_NONCOMPLIANT, "8018313131313131313139" }, - /*869*/ { "[8018]313131313131313131", 0, "8018313131313131313131" }, - /*870*/ { "[8018]31313131313131313", ZINT_ERROR_INVALID_DATA, "" }, - /*871*/ { "[8018]3131313131313131390", ZINT_ERROR_INVALID_DATA, "" }, - /*872*/ { "[8019]1234567890", 0, "80191234567890" }, - /*873*/ { "[8019]12345678901", ZINT_ERROR_INVALID_DATA, "" }, - /*874*/ { "[8020]abcdefghijklmnopqrstuvwxy", 0, "8020abcdefghijklmnopqrstuvwxy" }, - /*875*/ { "[8020]abcdefghijklmnopqrstuvwxyz", ZINT_ERROR_INVALID_DATA, "" }, - /*876*/ { "[8021]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*877*/ { "[8025]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*878*/ { "[8026]123456789012341212", ZINT_WARN_NONCOMPLIANT, "8026123456789012341212" }, - /*879*/ { "[8026]123456789012311212", 0, "8026123456789012311212" }, - /*880*/ { "[8026]1234567890123451212", ZINT_ERROR_INVALID_DATA, "" }, - /*881*/ { "[8026]12345678901234512", ZINT_ERROR_INVALID_DATA, "" }, - /*882*/ { "[8027]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*883*/ { "[8030]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*884*/ { "[8040]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*885*/ { "[8050]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*886*/ { "[8060]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*887*/ { "[8070]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*888*/ { "[8080]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*889*/ { "[8090]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*890*/ { "[8099]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*891*/ { "[81]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*892*/ { "[8100]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*893*/ { "[8109]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*894*/ { "[8110]5123456789011234565123455123450123105123450123512345678901320123190000", 0, "81105123456789011234565123455123450123105123450123512345678901320123190000" }, - /*895*/ { "[8110]51234567890112345651234551234501231051234501235123456789013201231900001", ZINT_ERROR_INVALID_DATA, "" }, - /*896*/ { "[8111]1234", 0, "81111234" }, - /*897*/ { "[8111]12345", ZINT_ERROR_INVALID_DATA, "" }, - /*898*/ { "[8111]123", ZINT_ERROR_INVALID_DATA, "" }, - /*899*/ { "[8112]1234567890123456789012345678901234567890123456789012345678901234567890", ZINT_WARN_NONCOMPLIANT, "81121234567890123456789012345678901234567890123456789012345678901234567890" }, - /*900*/ { "[8112]12345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, - /*901*/ { "[8112]061234567890121234569123456789012345", 0, "8112061234567890121234569123456789012345" }, - /*902*/ { "[8113]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*903*/ { "[8120]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*904*/ { "[8130]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*905*/ { "[8140]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*906*/ { "[8150]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*907*/ { "[8190]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*908*/ { "[8199]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*909*/ { "[82]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*910*/ { "[8200]1234567890123456789012345678901234567890123456789012345678901234567890", 0, "82001234567890123456789012345678901234567890123456789012345678901234567890" }, - /*911*/ { "[8201]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*912*/ { "[8210]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*913*/ { "[8220]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*914*/ { "[8230]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*915*/ { "[8240]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*916*/ { "[8250]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*917*/ { "[8290]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*918*/ { "[8299]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*919*/ { "[83]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*920*/ { "[830]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*921*/ { "[8300]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*922*/ { "[84]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*923*/ { "[840]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*924*/ { "[8400]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*925*/ { "[85]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*926*/ { "[850]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*927*/ { "[8500]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*928*/ { "[89]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*929*/ { "[890]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*930*/ { "[8900]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*931*/ { "[90]abcdefghijklmnopqrstuvwxyz1234", 0, "90abcdefghijklmnopqrstuvwxyz1234" }, - /*932*/ { "[90]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "" }, - /*933*/ { "[900]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*934*/ { "[9000]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*935*/ { "[91]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "91123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" }, - /*936*/ { "[91]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, - /*937*/ { "[910]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*938*/ { "[9100]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*939*/ { "[92]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "92123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" }, - /*940*/ { "[92]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, - /*941*/ { "[920]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*942*/ { "[9200]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*943*/ { "[93]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "93123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" }, - /*944*/ { "[93]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, - /*945*/ { "[930]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*946*/ { "[9300]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*947*/ { "[94]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "94123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" }, - /*948*/ { "[94]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, - /*949*/ { "[940]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*950*/ { "[9400]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*951*/ { "[95]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "95123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" }, - /*952*/ { "[95]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, - /*953*/ { "[950]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*954*/ { "[9500]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*955*/ { "[96]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "96123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" }, - /*956*/ { "[96]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, - /*957*/ { "[960]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*958*/ { "[9600]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*959*/ { "[97]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "97123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" }, - /*960*/ { "[97]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, - /*961*/ { "[970]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*962*/ { "[9700]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*963*/ { "[98]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "98123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" }, - /*964*/ { "[98]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, - /*965*/ { "[980]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*966*/ { "[9800]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*967*/ { "[99]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "99123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" }, - /*968*/ { "[99]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, - /*969*/ { "[990]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*970*/ { "[9900]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*971*/ { "[9999]1234", ZINT_ERROR_INVALID_DATA, "" }, - /*972*/ { "[01]12345678901234[7006]200101", ZINT_WARN_NONCOMPLIANT, "01123456789012347006200101" }, - /*973*/ { "[01]12345678901231[7006]200101", 0, "01123456789012317006200101" }, - /*974*/ { "[3900]1234567890[01]12345678901234", ZINT_WARN_NONCOMPLIANT, "39001234567890[0112345678901234" }, - /*975*/ { "[3900]1234567890[01]12345678901231", 0, "39001234567890[0112345678901231" }, - /*976*/ { "[253]12345678901234[3901]12345678901234[20]12", ZINT_WARN_NONCOMPLIANT, "25312345678901234[390112345678901234[2012" }, - /*977*/ { "[253]12345678901284[3901]12345678901234[20]12", 0, "25312345678901284[390112345678901234[2012" }, - /*978*/ { "[253]12345678901234[01]12345678901234[3901]12345678901234[20]12", ZINT_WARN_NONCOMPLIANT, "25312345678901234[0112345678901234390112345678901234[2012" }, - /*979*/ { "[253]12345678901284[01]12345678901231[3901]12345678901234[20]12", 0, "25312345678901284[0112345678901231390112345678901234[2012" }, - /*980*/ { "[01]12345678901231[0A]12345678901231[20]12", ZINT_ERROR_INVALID_DATA, "" }, - /*981*/ { "[01]12345678901231[0]12345678901231[20]12", ZINT_ERROR_INVALID_DATA, "" }, - /*982*/ { "[01]12345678901231[]12345678901231[20]12", ZINT_ERROR_INVALID_DATA, "" }, + /*605*/ { "[4309]12345678901234567890", 0, "430912345678901234567890" }, + /*606*/ { "[4309]1234567890123456789", ZINT_ERROR_INVALID_DATA, "" }, + /*607*/ { "[4309]1234567890123456789A", ZINT_WARN_NONCOMPLIANT, "43091234567890123456789A" }, + /*608*/ { "[431]1", ZINT_ERROR_INVALID_DATA, "" }, + /*609*/ { "[4310]1", 0, "43101" }, + /*610*/ { "[4310]12345678901234567890123456789012345", 0, "431012345678901234567890123456789012345" }, + /*611*/ { "[4310]123456789012345678901234567890123456", ZINT_ERROR_INVALID_DATA, "" }, + /*612*/ { "[4311]1", 0, "43111" }, + /*613*/ { "[4311]12345678901234567890123456789012345", 0, "431112345678901234567890123456789012345" }, + /*614*/ { "[4311]123456789012345678901234567890123456", ZINT_ERROR_INVALID_DATA, "" }, + /*615*/ { "[4312]1", 0, "43121" }, + /*616*/ { "[4312]1234567890123456789012345678901234567890123456789012345678901234567890", 0, "43121234567890123456789012345678901234567890123456789012345678901234567890" }, + /*617*/ { "[4312]12345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, + /*618*/ { "[4313]1", 0, "43131" }, + /*619*/ { "[4313]1234567890123456789012345678901234567890123456789012345678901234567890", 0, "43131234567890123456789012345678901234567890123456789012345678901234567890" }, + /*620*/ { "[4313]12345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, + /*621*/ { "[4314]1", 0, "43141" }, + /*622*/ { "[4314]1234567890123456789012345678901234567890123456789012345678901234567890", 0, "43141234567890123456789012345678901234567890123456789012345678901234567890" }, + /*623*/ { "[4314]12345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, + /*624*/ { "[4315]1", 0, "43151" }, + /*625*/ { "[4315]1234567890123456789012345678901234567890123456789012345678901234567890", 0, "43151234567890123456789012345678901234567890123456789012345678901234567890" }, + /*626*/ { "[4315]12345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, + /*627*/ { "[4316]1", 0, "43161" }, + /*628*/ { "[4316]1234567890123456789012345678901234567890123456789012345678901234567890", 0, "43161234567890123456789012345678901234567890123456789012345678901234567890" }, + /*629*/ { "[4316]12345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, + /*630*/ { "[4317]FR", 0, "4317FR" }, + /*631*/ { "[4317]F", ZINT_ERROR_INVALID_DATA, "" }, + /*632*/ { "[4317]FRF", ZINT_ERROR_INVALID_DATA, "" }, + /*633*/ { "[4318]1", 0, "43181" }, + /*634*/ { "[4318]12345678901234567890", 0, "431812345678901234567890" }, + /*635*/ { "[4318]123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, + /*636*/ { "[4319]1", 0, "43191" }, + /*637*/ { "[4319]123456789012345678901234567890", 0, "4319123456789012345678901234567890" }, + /*638*/ { "[4319]1234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, + /*639*/ { "[432]1", ZINT_ERROR_INVALID_DATA, "" }, + /*640*/ { "[4320]1", 0, "43201" }, + /*641*/ { "[4320]12345678901234567890123456789012345", 0, "432012345678901234567890123456789012345" }, + /*642*/ { "[4320]123456789012345678901234567890123456", ZINT_ERROR_INVALID_DATA, "" }, + /*643*/ { "[4321]1", 0, "43211" }, + /*644*/ { "[4321]10", ZINT_ERROR_INVALID_DATA, "" }, + /*645*/ { "[4322]1", 0, "43221" }, + /*646*/ { "[4322]10", ZINT_ERROR_INVALID_DATA, "" }, + /*647*/ { "[4323]1", 0, "43231" }, + /*648*/ { "[4323]10", ZINT_ERROR_INVALID_DATA, "" }, + /*649*/ { "[4324]1212120000", 0, "43241212120000" }, + /*650*/ { "[4324]121212000", ZINT_ERROR_INVALID_DATA, "" }, + /*651*/ { "[4324]12121200000", ZINT_ERROR_INVALID_DATA, "" }, + /*652*/ { "[4325]1212120000", 0, "43251212120000" }, + /*653*/ { "[4325]121212000", ZINT_ERROR_INVALID_DATA, "" }, + /*654*/ { "[4325]12121200000", ZINT_ERROR_INVALID_DATA, "" }, + /*655*/ { "[4326]121212", 0, "4326121212" }, + /*656*/ { "[4326]12121", ZINT_ERROR_INVALID_DATA, "" }, + /*657*/ { "[4326]1212120", ZINT_ERROR_INVALID_DATA, "" }, + /*658*/ { "[4327]121212", ZINT_ERROR_INVALID_DATA, "" }, + /*659*/ { "[4328]121212", ZINT_ERROR_INVALID_DATA, "" }, + /*660*/ { "[4329]121212", ZINT_ERROR_INVALID_DATA, "" }, + /*661*/ { "[433]121212", ZINT_ERROR_INVALID_DATA, "" }, + /*662*/ { "[4330]121212", ZINT_ERROR_INVALID_DATA, "" }, + /*663*/ { "[44]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*664*/ { "[440]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*665*/ { "[4400]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*666*/ { "[49]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*667*/ { "[490]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*668*/ { "[4900]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*669*/ { "[499]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*670*/ { "[4990]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*671*/ { "[50]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*672*/ { "[500]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*673*/ { "[5000]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*674*/ { "[51]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*675*/ { "[510]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*676*/ { "[5100]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*677*/ { "[59]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*678*/ { "[590]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*679*/ { "[5900]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*680*/ { "[60]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*681*/ { "[600]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*682*/ { "[6000]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*683*/ { "[61]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*684*/ { "[610]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*685*/ { "[6100]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*686*/ { "[69]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*687*/ { "[690]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*688*/ { "[6900]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*689*/ { "[70]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*690*/ { "[700]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*691*/ { "[7000]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*692*/ { "[7001]1234567890123", 0, "70011234567890123" }, + /*693*/ { "[7001]123456789012", ZINT_ERROR_INVALID_DATA, "" }, + /*694*/ { "[7002]abcdefghijklmnopqrstuvwxyz1234", 0, "7002abcdefghijklmnopqrstuvwxyz1234" }, + /*695*/ { "[7002]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "" }, + /*696*/ { "[7003]1212121212", 0, "70031212121212" }, + /*697*/ { "[7003]121212121", ZINT_ERROR_INVALID_DATA, "" }, + /*698*/ { "[7004]1234", 0, "70041234" }, + /*699*/ { "[7004]12345", ZINT_ERROR_INVALID_DATA, "" }, + /*700*/ { "[7005]abcdefghijkl", 0, "7005abcdefghijkl" }, + /*701*/ { "[7005]abcdefghijklm", ZINT_ERROR_INVALID_DATA, "" }, + /*702*/ { "[7006]200132", ZINT_WARN_NONCOMPLIANT, "7006200132" }, + /*703*/ { "[7006]200100", ZINT_WARN_NONCOMPLIANT, "7006200100" }, + /*704*/ { "[7006]200120", 0, "7006200120" }, + /*705*/ { "[7006]2001320", ZINT_ERROR_INVALID_DATA, "" }, + /*706*/ { "[7007]010101121212", 0, "7007010101121212" }, + /*707*/ { "[7007]01010112121", ZINT_ERROR_INVALID_DATA, "" }, + /*708*/ { "[7007]A1010112121", ZINT_ERROR_INVALID_DATA, "" }, + /*709*/ { "[7007]121212", 0, "7007121212" }, + /*710*/ { "[7007]12121", ZINT_ERROR_INVALID_DATA, "" }, + /*711*/ { "[7007]1212121", ZINT_ERROR_INVALID_DATA, "" }, + /*712*/ { "[7008]abc", 0, "7008abc" }, + /*713*/ { "[7008]abcd", ZINT_ERROR_INVALID_DATA, "" }, + /*714*/ { "[7009]abcdefghij", 0, "7009abcdefghij" }, + /*715*/ { "[7009]abcdefghijk", ZINT_ERROR_INVALID_DATA, "" }, + /*716*/ { "[7010]01", 0, "701001" }, + /*717*/ { "[7010]1", 0, "70101" }, + /*718*/ { "[7010]012", ZINT_ERROR_INVALID_DATA, "" }, + /*719*/ { "[7011]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*720*/ { "[7012]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*721*/ { "[7019]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*722*/ { "[7020]abcdefghijklmnopqrst", 0, "7020abcdefghijklmnopqrst" }, + /*723*/ { "[7020]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" }, + /*724*/ { "[7021]abcdefghijklmnopqrst", 0, "7021abcdefghijklmnopqrst" }, + /*725*/ { "[7021]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" }, + /*726*/ { "[7022]abcdefghijklmnopqrst", 0, "7022abcdefghijklmnopqrst" }, + /*727*/ { "[7022]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" }, + /*728*/ { "[7023]1234abcdefghijklmnopqrstuvwxyz", 0, "70231234abcdefghijklmnopqrstuvwxyz" }, + /*729*/ { "[7023]1234abcdefghijklmnopqrstuvwxyza", ZINT_ERROR_INVALID_DATA, "" }, + /*730*/ { "[7024]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*731*/ { "[7025]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*732*/ { "[7029]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*733*/ { "[7030]123abcdefghijklmnopqrstuvwxyza", ZINT_WARN_NONCOMPLIANT, "7030123abcdefghijklmnopqrstuvwxyza" }, + /*734*/ { "[7030]004abcdefghijklmnopqrstuvwxyza", 0, "7030004abcdefghijklmnopqrstuvwxyza" }, + /*735*/ { "[7030]123abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" }, + /*736*/ { "[7031]123abcdefghijklmnopqrstuvwxyza", ZINT_WARN_NONCOMPLIANT, "7031123abcdefghijklmnopqrstuvwxyza" }, + /*737*/ { "[7031]004abcdefghijklmnopqrstuvwxyza", 0, "7031004abcdefghijklmnopqrstuvwxyza" }, + /*738*/ { "[7031]123abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" }, + /*739*/ { "[7032]004abcdefghijklmnopqrstuvwxyza", 0, "7032004abcdefghijklmnopqrstuvwxyza" }, + /*740*/ { "[7032]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" }, + /*741*/ { "[7033]004abcdefghijklmnopqrstuvwxyza", 0, "7033004abcdefghijklmnopqrstuvwxyza" }, + /*742*/ { "[7033]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" }, + /*743*/ { "[7034]004abcdefghijklmnopqrstuvwxyza", 0, "7034004abcdefghijklmnopqrstuvwxyza" }, + /*744*/ { "[7034]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" }, + /*745*/ { "[7035]004abcdefghijklmnopqrstuvwxyza", 0, "7035004abcdefghijklmnopqrstuvwxyza" }, + /*746*/ { "[7035]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" }, + /*747*/ { "[7036]004abcdefghijklmnopqrstuvwxyza", 0, "7036004abcdefghijklmnopqrstuvwxyza" }, + /*748*/ { "[7036]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" }, + /*749*/ { "[7037]004abcdefghijklmnopqrstuvwxyza", 0, "7037004abcdefghijklmnopqrstuvwxyza" }, + /*750*/ { "[7037]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" }, + /*751*/ { "[7038]004abcdefghijklmnopqrstuvwxyza", 0, "7038004abcdefghijklmnopqrstuvwxyza" }, + /*752*/ { "[7038]004abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" }, + /*753*/ { "[7039]004abcdefghijklmnopqrstuvwxyza", 0, "7039004abcdefghijklmnopqrstuvwxyza" }, + /*754*/ { "[7039]123abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" }, + /*755*/ { "[7040]1abc", 0, "70401abc" }, + /*756*/ { "[7040]1ab", ZINT_ERROR_INVALID_DATA, "" }, + /*757*/ { "[7040]1abcd", ZINT_ERROR_INVALID_DATA, "" }, + /*758*/ { "[7041]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*759*/ { "[7042]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*760*/ { "[7050]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*761*/ { "[7090]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*762*/ { "[7099]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*763*/ { "[71]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*764*/ { "[710]abcdefghijklmnopqrst", 0, "710abcdefghijklmnopqrst" }, + /*765*/ { "[710]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" }, + /*766*/ { "[7100]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*767*/ { "[711]abcdefghijklmnopqrst", 0, "711abcdefghijklmnopqrst" }, + /*768*/ { "[711]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" }, + /*769*/ { "[712]abcdefghijklmnopqrst", 0, "712abcdefghijklmnopqrst" }, + /*770*/ { "[712]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" }, + /*771*/ { "[713]abcdefghijklmnopqrst", 0, "713abcdefghijklmnopqrst" }, + /*772*/ { "[713]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" }, + /*773*/ { "[714]abcdefghijklmnopqrst", 0, "714abcdefghijklmnopqrst" }, + /*774*/ { "[714]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" }, + /*775*/ { "[715]abcdefghijklmnopqrst", 0, "715abcdefghijklmnopqrst" }, + /*776*/ { "[715]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" }, + /*777*/ { "[716]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*778*/ { "[719]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*779*/ { "[72]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*780*/ { "[720]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*781*/ { "[7200]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*782*/ { "[721]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*783*/ { "[7210]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*784*/ { "[7220]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*785*/ { "[7230]EMabcdefghijklmnopqrstuvwxyzab", 0, "7230EMabcdefghijklmnopqrstuvwxyzab" }, + /*786*/ { "[7230]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" }, + /*787*/ { "[7230]EM", ZINT_ERROR_INVALID_DATA, "" }, + /*788*/ { "[7231]EMabcdefghijklmnopqrstuvwxyzab", 0, "7231EMabcdefghijklmnopqrstuvwxyzab" }, + /*789*/ { "[7231]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" }, + /*790*/ { "[7232]EMabcdefghijklmnopqrstuvwxyzab", 0, "7232EMabcdefghijklmnopqrstuvwxyzab" }, + /*791*/ { "[7232]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" }, + /*792*/ { "[7233]EMabcdefghijklmnopqrstuvwxyzab", 0, "7233EMabcdefghijklmnopqrstuvwxyzab" }, + /*793*/ { "[7233]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" }, + /*794*/ { "[7234]EMabcdefghijklmnopqrstuvwxyzab", 0, "7234EMabcdefghijklmnopqrstuvwxyzab" }, + /*795*/ { "[7234]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" }, + /*796*/ { "[7235]EMabcdefghijklmnopqrstuvwxyzab", 0, "7235EMabcdefghijklmnopqrstuvwxyzab" }, + /*797*/ { "[7235]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" }, + /*798*/ { "[7236]EMabcdefghijklmnopqrstuvwxyzab", 0, "7236EMabcdefghijklmnopqrstuvwxyzab" }, + /*799*/ { "[7236]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" }, + /*800*/ { "[7237]EMabcdefghijklmnopqrstuvwxyzab", 0, "7237EMabcdefghijklmnopqrstuvwxyzab" }, + /*801*/ { "[7237]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" }, + /*802*/ { "[7238]EMabcdefghijklmnopqrstuvwxyzab", 0, "7238EMabcdefghijklmnopqrstuvwxyzab" }, + /*803*/ { "[7238]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" }, + /*804*/ { "[7239]EMabcdefghijklmnopqrstuvwxyzab", 0, "7239EMabcdefghijklmnopqrstuvwxyzab" }, + /*805*/ { "[7239]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" }, + /*806*/ { "[7239]E", ZINT_ERROR_INVALID_DATA, "" }, + /*807*/ { "[7240]abcdefghijklmnopqrst", 0, "7240abcdefghijklmnopqrst" }, + /*808*/ { "[7240]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" }, + /*809*/ { "[7241]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*810*/ { "[7249]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*811*/ { "[7250]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*812*/ { "[7299]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*813*/ { "[73]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*814*/ { "[7300]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*815*/ { "[74]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*816*/ { "[7400]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*817*/ { "[79]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*818*/ { "[7900]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*819*/ { "[7999]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*820*/ { "[80]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*821*/ { "[800]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*822*/ { "[8000]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*823*/ { "[8001]12345678901234", ZINT_WARN_NONCOMPLIANT, "800112345678901234" }, + /*824*/ { "[8001]12345678901204", 0, "800112345678901204" }, + /*825*/ { "[8001]1234123456789012345", ZINT_ERROR_INVALID_DATA, "" }, + /*826*/ { "[8002]abcdefghijklmnopqrst", 0, "8002abcdefghijklmnopqrst" }, + /*827*/ { "[8002]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" }, + /*828*/ { "[8003]01234567890123abcdefghijklmnop", ZINT_WARN_NONCOMPLIANT, "800301234567890123abcdefghijklmnop" }, + /*829*/ { "[8003]01234567890128abcdefghijklmnop", 0, "800301234567890128abcdefghijklmnop" }, + /*830*/ { "[8003]01234567890128abcdefghijklmnopq", ZINT_ERROR_INVALID_DATA, "" }, + /*831*/ { "[8004]abcdefghijklmnopqrstuvwxyz1234", ZINT_WARN_NONCOMPLIANT, "8004abcdefghijklmnopqrstuvwxyz1234" }, + /*832*/ { "[8004]12cdefghijklmnopqrstuvwxyz1234", 0, "800412cdefghijklmnopqrstuvwxyz1234" }, + /*833*/ { "[8004]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "" }, + /*834*/ { "[8005]123456", 0, "8005123456" }, + /*835*/ { "[8005]12345", ZINT_ERROR_INVALID_DATA, "" }, + /*836*/ { "[8005]1234567", ZINT_ERROR_INVALID_DATA, "" }, + /*837*/ { "[8006]123456789012341212", ZINT_WARN_NONCOMPLIANT, "8006123456789012341212" }, + /*838*/ { "[8006]123456789012311212", 0, "8006123456789012311212" }, + /*839*/ { "[8006]12345678901234121", ZINT_ERROR_INVALID_DATA, "" }, + /*840*/ { "[8006]1234567890123412123", ZINT_ERROR_INVALID_DATA, "" }, + /*841*/ { "[8007]abcdefghijklmnopqrstuvwxyz12345678", ZINT_WARN_NONCOMPLIANT, "8007abcdefghijklmnopqrstuvwxyz12345678" }, + /*842*/ { "[8007]AD95EFGHIJKLMNOPQRSTUVWXYZ12345678", 0, "8007AD95EFGHIJKLMNOPQRSTUVWXYZ12345678" }, + /*843*/ { "[8007]AD95EFGHIJKLMNOPQRSTUVWXYZ123456789", ZINT_ERROR_INVALID_DATA, "" }, + /*844*/ { "[8008]123456121212", ZINT_WARN_NONCOMPLIANT, "8008123456121212" }, + /*845*/ { "[8008]121256121212", ZINT_WARN_NONCOMPLIANT, "8008121256121212" }, + /*846*/ { "[8008]121231121212", 0, "8008121231121212" }, + /*847*/ { "[8008]1234561212", ZINT_WARN_NONCOMPLIANT, "80081234561212" }, + /*848*/ { "[8008]1212311212", 0, "80081212311212" }, + /*849*/ { "[8008]12345612", ZINT_WARN_NONCOMPLIANT, "800812345612" }, + /*850*/ { "[8008]12010112", 0, "800812010112" }, + /*851*/ { "[8008]1234561", ZINT_ERROR_INVALID_DATA, "" }, + /*852*/ { "[8008]123456121", ZINT_ERROR_INVALID_DATA, "" }, + /*853*/ { "[8008]12345612121", ZINT_ERROR_INVALID_DATA, "" }, + /*854*/ { "[8008]1234561212123", ZINT_ERROR_INVALID_DATA, "" }, + /*855*/ { "[8009]12345678901234567890123456789012345678901234567890", 0, "800912345678901234567890123456789012345678901234567890" }, + /*856*/ { "[8009]123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, + /*857*/ { "[8010]1234abcdefghijklmnopqrstuvwxyz1", ZINT_ERROR_INVALID_DATA, "" }, + /*858*/ { "[8011]123456789012", 0, "8011123456789012" }, + /*859*/ { "[8011]1234567890123", ZINT_ERROR_INVALID_DATA, "" }, + /*860*/ { "[8012]abcdefghijklmnopqrst", 0, "8012abcdefghijklmnopqrst" }, + /*861*/ { "[8012]abcdefghijklmnopqrstuv", ZINT_ERROR_INVALID_DATA, "" }, + /*862*/ { "[8013]1234abcdefghijklmnopqrsQP", 0, "80131234abcdefghijklmnopqrsQP" }, + /*863*/ { "[8013]1234abcdefghijklmnopqrsQPv", ZINT_ERROR_INVALID_DATA, "" }, + /*864*/ { "[8014]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*865*/ { "[8016]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*866*/ { "[8017]313131313131313139", ZINT_WARN_NONCOMPLIANT, "8017313131313131313139" }, + /*867*/ { "[8017]313131313131313131", 0, "8017313131313131313131" }, + /*868*/ { "[8017]31313131313131313", ZINT_ERROR_INVALID_DATA, "" }, + /*869*/ { "[8017]3131313131313131390", ZINT_ERROR_INVALID_DATA, "" }, + /*870*/ { "[8018]313131313131313139", ZINT_WARN_NONCOMPLIANT, "8018313131313131313139" }, + /*871*/ { "[8018]313131313131313131", 0, "8018313131313131313131" }, + /*872*/ { "[8018]31313131313131313", ZINT_ERROR_INVALID_DATA, "" }, + /*873*/ { "[8018]3131313131313131390", ZINT_ERROR_INVALID_DATA, "" }, + /*874*/ { "[8019]1234567890", 0, "80191234567890" }, + /*875*/ { "[8019]12345678901", ZINT_ERROR_INVALID_DATA, "" }, + /*876*/ { "[8020]abcdefghijklmnopqrstuvwxy", 0, "8020abcdefghijklmnopqrstuvwxy" }, + /*877*/ { "[8020]abcdefghijklmnopqrstuvwxyz", ZINT_ERROR_INVALID_DATA, "" }, + /*878*/ { "[8021]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*879*/ { "[8025]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*880*/ { "[8026]123456789012341212", ZINT_WARN_NONCOMPLIANT, "8026123456789012341212" }, + /*881*/ { "[8026]123456789012311212", 0, "8026123456789012311212" }, + /*882*/ { "[8026]1234567890123451212", ZINT_ERROR_INVALID_DATA, "" }, + /*883*/ { "[8026]12345678901234512", ZINT_ERROR_INVALID_DATA, "" }, + /*884*/ { "[8027]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*885*/ { "[8030]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*886*/ { "[8040]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*887*/ { "[8050]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*888*/ { "[8060]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*889*/ { "[8070]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*890*/ { "[8080]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*891*/ { "[8090]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*892*/ { "[8099]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*893*/ { "[81]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*894*/ { "[8100]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*895*/ { "[8109]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*896*/ { "[8110]5123456789011234565123455123450123105123450123512345678901320123190000", 0, "81105123456789011234565123455123450123105123450123512345678901320123190000" }, + /*897*/ { "[8110]51234567890112345651234551234501231051234501235123456789013201231900001", ZINT_ERROR_INVALID_DATA, "" }, + /*898*/ { "[8111]1234", 0, "81111234" }, + /*899*/ { "[8111]12345", ZINT_ERROR_INVALID_DATA, "" }, + /*900*/ { "[8111]123", ZINT_ERROR_INVALID_DATA, "" }, + /*901*/ { "[8112]1234567890123456789012345678901234567890123456789012345678901234567890", ZINT_WARN_NONCOMPLIANT, "81121234567890123456789012345678901234567890123456789012345678901234567890" }, + /*902*/ { "[8112]12345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, + /*903*/ { "[8112]061234567890121234569123456789012345", 0, "8112061234567890121234569123456789012345" }, + /*904*/ { "[8113]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*905*/ { "[8120]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*906*/ { "[8130]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*907*/ { "[8140]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*908*/ { "[8150]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*909*/ { "[8190]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*910*/ { "[8199]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*911*/ { "[82]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*912*/ { "[8200]1234567890123456789012345678901234567890123456789012345678901234567890", 0, "82001234567890123456789012345678901234567890123456789012345678901234567890" }, + /*913*/ { "[8201]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*914*/ { "[8210]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*915*/ { "[8220]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*916*/ { "[8230]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*917*/ { "[8240]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*918*/ { "[8250]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*919*/ { "[8290]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*920*/ { "[8299]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*921*/ { "[83]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*922*/ { "[830]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*923*/ { "[8300]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*924*/ { "[84]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*925*/ { "[840]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*926*/ { "[8400]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*927*/ { "[85]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*928*/ { "[850]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*929*/ { "[8500]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*930*/ { "[89]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*931*/ { "[890]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*932*/ { "[8900]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*933*/ { "[90]abcdefghijklmnopqrstuvwxyz1234", 0, "90abcdefghijklmnopqrstuvwxyz1234" }, + /*934*/ { "[90]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "" }, + /*935*/ { "[900]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*936*/ { "[9000]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*937*/ { "[91]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "91123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" }, + /*938*/ { "[91]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, + /*939*/ { "[910]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*940*/ { "[9100]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*941*/ { "[92]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "92123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" }, + /*942*/ { "[92]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, + /*943*/ { "[920]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*944*/ { "[9200]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*945*/ { "[93]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "93123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" }, + /*946*/ { "[93]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, + /*947*/ { "[930]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*948*/ { "[9300]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*949*/ { "[94]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "94123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" }, + /*950*/ { "[94]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, + /*951*/ { "[940]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*952*/ { "[9400]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*953*/ { "[95]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "95123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" }, + /*954*/ { "[95]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, + /*955*/ { "[950]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*956*/ { "[9500]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*957*/ { "[96]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "96123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" }, + /*958*/ { "[96]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, + /*959*/ { "[960]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*960*/ { "[9600]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*961*/ { "[97]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "97123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" }, + /*962*/ { "[97]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, + /*963*/ { "[970]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*964*/ { "[9700]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*965*/ { "[98]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "98123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" }, + /*966*/ { "[98]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, + /*967*/ { "[980]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*968*/ { "[9800]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*969*/ { "[99]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "99123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" }, + /*970*/ { "[99]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" }, + /*971*/ { "[990]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*972*/ { "[9900]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*973*/ { "[9999]1234", ZINT_ERROR_INVALID_DATA, "" }, + /*974*/ { "[01]12345678901234[7006]200101", ZINT_WARN_NONCOMPLIANT, "01123456789012347006200101" }, + /*975*/ { "[01]12345678901231[7006]200101", 0, "01123456789012317006200101" }, + /*976*/ { "[3900]1234567890[01]12345678901234", ZINT_WARN_NONCOMPLIANT, "39001234567890[0112345678901234" }, + /*977*/ { "[3900]1234567890[01]12345678901231", 0, "39001234567890[0112345678901231" }, + /*978*/ { "[253]12345678901234[3901]12345678901234[20]12", ZINT_WARN_NONCOMPLIANT, "25312345678901234[390112345678901234[2012" }, + /*979*/ { "[253]12345678901284[3901]12345678901234[20]12", 0, "25312345678901284[390112345678901234[2012" }, + /*980*/ { "[253]12345678901234[01]12345678901234[3901]12345678901234[20]12", ZINT_WARN_NONCOMPLIANT, "25312345678901234[0112345678901234390112345678901234[2012" }, + /*981*/ { "[253]12345678901284[01]12345678901231[3901]12345678901234[20]12", 0, "25312345678901284[0112345678901231390112345678901234[2012" }, + /*982*/ { "[01]12345678901231[0A]12345678901231[20]12", ZINT_ERROR_INVALID_DATA, "" }, + /*983*/ { "[01]12345678901231[0]12345678901231[20]12", ZINT_ERROR_INVALID_DATA, "" }, + /*984*/ { "[01]12345678901231[]12345678901231[20]12", ZINT_ERROR_INVALID_DATA, "" }, }; int data_size = ARRAY_SIZE(data); int i, length, ret; @@ -1554,203 +1556,207 @@ static void test_gs1_lint(int index, int debug) { /*172*/ { "[3910]0081", 0, "39100081", "" }, // iso4217 /*173*/ { "[3910]9991", 0, "39109991", "" }, // iso4217 /*174*/ { "[3910]9971", 0, "39109971", "" }, // iso4217 - /*175*/ { "[3910]01", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (3910)" }, // iso4217 - /*176*/ { "[3910]001", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (3910)" }, // iso4217 - /*177*/ { "[3910]9981", ZINT_WARN_NONCOMPLIANT, "39109981", "261: AI (3910) position 1: Unknown currency code '998'" }, // iso4217 - /*178*/ { "[3910]0041", ZINT_WARN_NONCOMPLIANT, "39100041", "261: AI (3910) position 1: Unknown currency code '004'" }, // iso4217 - /*179*/ { "[3910]8941", ZINT_WARN_NONCOMPLIANT, "39108941", "261: AI (3910) position 1: Unknown currency code '894'" }, // iso4217 - /*180*/ { "[4300]%12", 0, "4300%12", "" }, // pcenc - /*181*/ { "[4300]%1", ZINT_WARN_NONCOMPLIANT, "4300%1", "261: AI (4300) position 1: Invalid % escape" }, // pcenc - /*182*/ { "[4300]%", ZINT_WARN_NONCOMPLIANT, "4300%", "261: AI (4300) position 1: Invalid % escape" }, // pcenc - /*183*/ { "[4300]12%1212", 0, "430012%1212", "" }, // pcenc - /*184*/ { "[4300]12%1G12", ZINT_WARN_NONCOMPLIANT, "430012%1G12", "261: AI (4300) position 5: Invalid character for percent encoding" }, // pcenc - /*185*/ { "[4308]ABCDEFGHIJKLMNOPQRSTUVWXYZ%+12", 0, "4308ABCDEFGHIJKLMNOPQRSTUVWXYZ%+12", "" }, // no pcenc - /*186*/ { "[4308]ABCDEFGHIJKLMNOPQRSTUVWXYZ%+123", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (4308)" }, // no pcenc - /*187*/ { "[4321]1", 0, "43211", "" }, // yesno - /*188*/ { "[4321]0", 0, "43210", "" }, // yesno - /*189*/ { "[4321]2", ZINT_WARN_NONCOMPLIANT, "43212", "261: AI (4321) position 1: Neither 0 nor 1 for yes or no" }, // yesno - /*190*/ { "[4321]9", ZINT_WARN_NONCOMPLIANT, "43219", "261: AI (4321) position 1: Neither 0 nor 1 for yes or no" }, // yesno - /*191*/ { "[7040]1234", 0, "70401234", "" }, // importeridx - /*192*/ { "[7040]123A", 0, "7040123A", "" }, // importeridx - /*193*/ { "[7040]123Z", 0, "7040123Z", "" }, // importeridx - /*194*/ { "[7040]123a", 0, "7040123a", "" }, // importeridx - /*195*/ { "[7040]123z", 0, "7040123z", "" }, // importeridx - /*196*/ { "[7040]123-", 0, "7040123-", "" }, // importeridx - /*197*/ { "[7040]123_", 0, "7040123_", "" }, // importeridx - /*198*/ { "[7040]123!", ZINT_WARN_NONCOMPLIANT, "7040123!", "261: AI (7040) position 4: Invalid importer index '!'" }, // importeridx - /*199*/ { "[7040]123/", ZINT_WARN_NONCOMPLIANT, "7040123/", "261: AI (7040) position 4: Invalid importer index '/'" }, // importeridx - /*200*/ { "[7040]123:", ZINT_WARN_NONCOMPLIANT, "7040123:", "261: AI (7040) position 4: Invalid importer index ':'" }, // importeridx - /*201*/ { "[7040]123?", ZINT_WARN_NONCOMPLIANT, "7040123?", "261: AI (7040) position 4: Invalid importer index '?'" }, // importeridx - /*202*/ { "[8001]12341234512311", 0, "800112341234512311", "" }, // nonzero - /*203*/ { "[8001]00010000100100", 0, "800100010000100100", "" }, // nonzero - /*204*/ { "[8001]00001234512311", ZINT_WARN_NONCOMPLIANT, "800100001234512311", "261: AI (8001) position 1: Zero not permitted" }, // nonzero - /*205*/ { "[8001]12340000012311", ZINT_WARN_NONCOMPLIANT, "800112340000012311", "261: AI (8001) position 5: Zero not permitted" }, // nonzero - /*206*/ { "[8001]00010000100011", ZINT_WARN_NONCOMPLIANT, "800100010000100011", "261: AI (8001) position 10: Zero not permitted" }, // nonzero - /*207*/ { "[8001]00010000100101", 0, "800100010000100101", "" }, // winding - /*208*/ { "[8001]00010000100111", 0, "800100010000100111", "" }, // winding - /*209*/ { "[8001]00010000100191", 0, "800100010000100191", "" }, // winding - /*210*/ { "[8001]00010000100121", ZINT_WARN_NONCOMPLIANT, "800100010000100121", "261: AI (8001) position 13: Invalid winding direction '2'" }, // winding - /*211*/ { "[8001]00010000100131", ZINT_WARN_NONCOMPLIANT, "800100010000100131", "261: AI (8001) position 13: Invalid winding direction '3'" }, // winding - /*212*/ { "[8001]00010000100171", ZINT_WARN_NONCOMPLIANT, "800100010000100171", "261: AI (8001) position 13: Invalid winding direction '7'" }, // winding - /*213*/ { "[8001]00010000100181", ZINT_WARN_NONCOMPLIANT, "800100010000100181", "261: AI (8001) position 13: Invalid winding direction '8'" }, // winding - /*214*/ { "[8003]01234567890128", 0, "800301234567890128", "" }, // zero - /*215*/ { "[8003]11234567890128", ZINT_WARN_NONCOMPLIANT, "800311234567890128", "261: AI (8003) position 1: Zero is required" }, // zero - /*216*/ { "[8003]91234567890128", ZINT_WARN_NONCOMPLIANT, "800391234567890128", "261: AI (8003) position 1: Zero is required" }, // zero - /*217*/ { "[8006]123456789012310101", 0, "8006123456789012310101", "" }, // pieceoftotal - /*218*/ { "[8006]123456789012310199", 0, "8006123456789012310199", "" }, // pieceoftotal - /*219*/ { "[8006]123456789012319999", 0, "8006123456789012319999", "" }, // pieceoftotal - /*220*/ { "[8006]123456789012310001", ZINT_WARN_NONCOMPLIANT, "8006123456789012310001", "261: AI (8006) position 15: Piece number cannot be zero" }, // pieceoftotal - /*221*/ { "[8006]123456789012310100", ZINT_WARN_NONCOMPLIANT, "8006123456789012310100", "261: AI (8006) position 15: Total number cannot be zero" }, // pieceoftotal - /*222*/ { "[8006]123456789012310201", ZINT_WARN_NONCOMPLIANT, "8006123456789012310201", "261: AI (8006) position 15: Piece number '02' exceeds total '01'" }, // pieceoftotal - /*223*/ { "[8006]123456789012319998", ZINT_WARN_NONCOMPLIANT, "8006123456789012319998", "261: AI (8006) position 15: Piece number '99' exceeds total '98'" }, // pieceoftotal - /*224*/ { "[8007]GB82WEST12345698765432", 0, "8007GB82WEST12345698765432", "" }, // iban - /*225*/ { "[8007]GB83WEST12345698765432", ZINT_WARN_NONCOMPLIANT, "8007GB83WEST12345698765432", "261: AI (8007) position 3: Bad IBAN checksum '83', expected '82'" }, // iban - /*226*/ { "[8007]BE71096123456769", 0, "8007BE71096123456769", "" }, // iban - /*227*/ { "[8007]BE71096123456760", ZINT_WARN_NONCOMPLIANT, "8007BE71096123456760", "261: AI (8007) position 3: Bad IBAN checksum '71', expected '23'" }, // iban - /*228*/ { "[8007]BE01096123456760", ZINT_WARN_NONCOMPLIANT, "8007BE01096123456760", "261: AI (8007) position 3: Bad IBAN checksum '01', expected '23'" }, // iban - /*229*/ { "[8007]BE00096123456760", ZINT_WARN_NONCOMPLIANT, "8007BE00096123456760", "261: AI (8007) position 3: Bad IBAN checksum '00', expected '23'" }, // iban - /*230*/ { "[8007]LC14BOSL123456789012345678901234", 0, "8007LC14BOSL123456789012345678901234", "" }, // iban - /*231*/ { "[8007]LC14BOSL123456789012345678901230", ZINT_WARN_NONCOMPLIANT, "8007LC14BOSL123456789012345678901230", "261: AI (8007) position 3: Bad IBAN checksum '14', expected '25'" }, // iban - /*232*/ { "[8007]A114BOSL123456789012345678901230", ZINT_WARN_NONCOMPLIANT, "8007A114BOSL123456789012345678901230", "261: AI (8007) position 1: Non-alphabetic IBAN country code 'A1'" }, // iban - /*233*/ { "[8007]1A14BOSL123456789012345678901230", ZINT_WARN_NONCOMPLIANT, "80071A14BOSL123456789012345678901230", "261: AI (8007) position 1: Non-alphabetic IBAN country code '1A'" }, // iban - /*234*/ { "[8007]AA14BOSL123456789012345678901230", ZINT_WARN_NONCOMPLIANT, "8007AA14BOSL123456789012345678901230", "261: AI (8007) position 1: Invalid IBAN country code 'AA'" }, // iban - /*235*/ { "[8007]ZZ14BOSL123456789012345678901230", ZINT_WARN_NONCOMPLIANT, "8007ZZ14BOSL123456789012345678901230", "261: AI (8007) position 1: Invalid IBAN country code 'ZZ'" }, // iban - /*236*/ { "[8007]ZW33BOSL123456789012345678901230", 0, "8007ZW33BOSL123456789012345678901230", "" }, // iban - /*237*/ { "[8007]ZWA3BOSL123456789012345678901230", ZINT_WARN_NONCOMPLIANT, "8007ZWA3BOSL123456789012345678901230", "261: AI (8007) position 3: Non-numeric IBAN checksum 'A3'" }, // iban - /*238*/ { "[8007]ZW3ABOSL123456789012345678901230", ZINT_WARN_NONCOMPLIANT, "8007ZW3ABOSL123456789012345678901230", "261: AI (8007) position 3: Non-numeric IBAN checksum '3A'" }, // iban - /*239*/ { "[8007]ZW33bOSL123456789012345678901230", ZINT_WARN_NONCOMPLIANT, "8007ZW33bOSL123456789012345678901230", "261: AI (8007) position 5: Invalid IBAN character 'b'" }, // iban - /*240*/ { "[8007]GB98", ZINT_WARN_NONCOMPLIANT, "8007GB98", "259: Invalid data length for AI (8007)" }, // iban - /*241*/ { "[8007]FR7630006000011234567890189", 0, "8007FR7630006000011234567890189", "" }, // iban - /*242*/ { "[8007]DE91100000000123456789", 0, "8007DE91100000000123456789", "" }, // iban - /*243*/ { "[8007]GR9608100010000001234567890", 0, "8007GR9608100010000001234567890", "" }, // iban - /*244*/ { "[8007]MU43BOMM0101123456789101000MUR", 0, "8007MU43BOMM0101123456789101000MUR", "" }, // iban - /*245*/ { "[8007]PL10105000997603123456789123", 0, "8007PL10105000997603123456789123", "" }, // iban - /*246*/ { "[8007]RO09BCYP0000001234567890", 0, "8007RO09BCYP0000001234567890", "" }, // iban - /*247*/ { "[8007]SA4420000001234567891234", 0, "8007SA4420000001234567891234", "" }, // iban - /*248*/ { "[8007]ES7921000813610123456789", 0, "8007ES7921000813610123456789", "" }, // iban - /*249*/ { "[8007]CH5604835012345678009", 0, "8007CH5604835012345678009", "" }, // iban - /*250*/ { "[8007]GB98MIDL07009312345678", 0, "8007GB98MIDL07009312345678", "" }, // iban - /*251*/ { "[8011]1", 0, "80111", "" }, // nozeroprefix - /*252*/ { "[8011]11", 0, "801111", "" }, // nozeroprefix - /*253*/ { "[8011]0", 0, "80110", "" }, // nozeroprefix - /*254*/ { "[8011]01", ZINT_WARN_NONCOMPLIANT, "801101", "261: AI (8011) position 1: Zero prefix is not permitted" }, // nozeroprefix - /*255*/ { "[8110]106141416543213150110120", 0, "8110106141416543213150110120", "" }, // couponcode (first part of NACAG Appendix C: Example 1 - see test_rss.c test_examples) - /*256*/ { "[8110]012345612345610104123", 0, "8110012345612345610104123", "" }, // couponcode - /*257*/ { "[8110]01234561234561010412", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412", "259: Invalid data length for AI (8110)" }, // couponcode - /*258*/ { "[8110]12345678901234567890", ZINT_WARN_NONCOMPLIANT, "811012345678901234567890", "259: Invalid data length for AI (8110)" }, // couponcode - /*259*/ { "[8110]712345612345610104123", ZINT_WARN_NONCOMPLIANT, "8110712345612345610104123", "261: AI (8110) position 1: Invalid Primary GS1 Co. Prefix VLI '7'" }, // couponcode - /*260*/ { "[8110]A12345612345610104123", ZINT_WARN_NONCOMPLIANT, "8110A12345612345610104123", "261: AI (8110) position 1: Non-numeric Primary GS1 Co. Prefix VLI 'A'" }, // couponcode - /*261*/ { "[8110]012345A12345610104123", ZINT_WARN_NONCOMPLIANT, "8110012345A12345610104123", "261: AI (8110) position 7: Non-numeric Primary GS1 Co. Prefix 'A'" }, // couponcode - /*262*/ { "[8110]012345612345A10104123", ZINT_WARN_NONCOMPLIANT, "8110012345612345A10104123", "261: AI (8110) position 8: Non-numeric Offer Code" }, // couponcode - /*263*/ { "[8110]012345612345600104123", ZINT_WARN_NONCOMPLIANT, "8110012345612345600104123", "261: AI (8110) position 14: Invalid Save Value VLI '0'" }, // couponcode - /*264*/ { "[8110]012345612345660104123", ZINT_WARN_NONCOMPLIANT, "8110012345612345660104123", "261: AI (8110) position 14: Invalid Save Value VLI '6'" }, // couponcode - /*265*/ { "[8110]01234561234561A104123", ZINT_WARN_NONCOMPLIANT, "811001234561234561A104123", "261: AI (8110) position 15: Non-numeric Save Value 'A'" }, // couponcode - /*266*/ { "[8110]012345612345610004123", ZINT_WARN_NONCOMPLIANT, "8110012345612345610004123", "261: AI (8110) position 16: Invalid Primary Purch. Req. VLI '0'" }, // couponcode - /*267*/ { "[8110]012345612345610604123", ZINT_WARN_NONCOMPLIANT, "8110012345612345610604123", "261: AI (8110) position 16: Invalid Primary Purch. Req. VLI '6'" }, // couponcode - /*268*/ { "[8110]0123456123456101A4123", ZINT_WARN_NONCOMPLIANT, "81100123456123456101A4123", "261: AI (8110) position 17: Non-numeric Primary Purch. Req. 'A'" }, // couponcode - /*269*/ { "[8110]012345612345621251234", ZINT_WARN_NONCOMPLIANT, "8110012345612345621251234", "261: AI (8110) position 18: Primary Purch. Req. incomplete" }, // couponcode - /*270*/ { "[8110]01234561234561010A123", ZINT_WARN_NONCOMPLIANT, "811001234561234561010A123", "261: AI (8110) position 18: Non-numeric Primary Purch. Req. Code" }, // couponcode - /*271*/ { "[8110]012345612345610106123", ZINT_WARN_NONCOMPLIANT, "8110012345612345610106123", "261: AI (8110) position 18: Invalid Primary Purch. Req. Code '6'" }, // couponcode - /*272*/ { "[8110]012345612345610212412", ZINT_WARN_NONCOMPLIANT, "8110012345612345610212412", "261: AI (8110) position 20: Primary Purch. Family Code incomplete" }, // couponcode - /*273*/ { "[8110]0123456123456103123412", ZINT_WARN_NONCOMPLIANT, "81100123456123456103123412", "261: AI (8110) position 21: Primary Purch. Family Code incomplete" }, // couponcode - /*274*/ { "[8110]0123456123456103123412A", ZINT_WARN_NONCOMPLIANT, "81100123456123456103123412A", "261: AI (8110) position 21: Non-numeric Primary Purch. Family Code" }, // couponcode - /*275*/ { "[8110]01234561234561031234123", 0, "811001234561234561031234123", "" }, // couponcode - /*276*/ { "[8110]612345678901212345651", ZINT_WARN_NONCOMPLIANT, "8110612345678901212345651", "261: AI (8110) position 21: Save Value incomplete" }, // couponcode - /*277*/ { "[8110]6123456789012123456512345", ZINT_WARN_NONCOMPLIANT, "81106123456789012123456512345", "261: AI (8110) position 26: Primary Purch. Req. VLI missing" }, // couponcode - /*278*/ { "[8110]61234567890121234565123455123454123", 0, "811061234567890121234565123455123454123", "" }, // couponcode - /*279*/ { "[8110]61234567890121234565123455123454123A", ZINT_WARN_NONCOMPLIANT, "811061234567890121234565123455123454123A", "261: AI (8110) position 36: Non-numeric Data Field 'A'" }, // couponcode - /*280*/ { "[8110]612345678901212345651234551234541237", ZINT_WARN_NONCOMPLIANT, "8110612345678901212345651234551234541237", "261: AI (8110) position 36: Invalid Data Field '7'" }, // couponcode - /*281*/ { "[8110]612345678901212345651234551234541238", ZINT_WARN_NONCOMPLIANT, "8110612345678901212345651234551234541238", "261: AI (8110) position 36: Invalid Data Field '8'" }, // couponcode - /*282*/ { "[8110]0123456123456101041231", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041231", "261: AI (8110) position 23: Add. Purch. Rules Code incomplete" }, // couponcode - /*283*/ { "[8110]0123456123456101041231A", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041231A", "261: AI (8110) position 23: Non-numeric Add. Purch. Rules Code" }, // couponcode - /*284*/ { "[8110]01234561234561010412314", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412314", "261: AI (8110) position 23: Invalid Add. Purch. Rules Code '4'" }, // couponcode - /*285*/ { "[8110]01234561234561010412313", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412313", "261: AI (8110) position 24: 2nd Purch. Req. VLI missing" }, // couponcode - /*286*/ { "[8110]01234561234561010412313A", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412313A", "261: AI (8110) position 24: Non-numeric 2nd Purch. Req. VLI 'A'" }, // couponcode - /*287*/ { "[8110]012345612345610104123130", ZINT_WARN_NONCOMPLIANT, "8110012345612345610104123130", "261: AI (8110) position 24: Invalid 2nd Purch. Req. VLI '0'" }, // couponcode - /*288*/ { "[8110]012345612345610104123131", ZINT_WARN_NONCOMPLIANT, "8110012345612345610104123131", "261: AI (8110) position 25: 2nd Purch. Req. incomplete" }, // couponcode - /*289*/ { "[8110]012345612345610104123131A", ZINT_WARN_NONCOMPLIANT, "8110012345612345610104123131A", "261: AI (8110) position 25: Non-numeric 2nd Purch. Req. 'A'" }, // couponcode - /*290*/ { "[8110]0123456123456101041231310", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041231310", "261: AI (8110) position 26: 2nd Purch. Req. Code incomplete" }, // couponcode - /*291*/ { "[8110]0123456123456101041231310A", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041231310A", "261: AI (8110) position 26: Non-numeric 2nd Purch. Req. Code" }, // couponcode - /*292*/ { "[8110]01234561234561010412313108", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412313108", "261: AI (8110) position 26: Invalid 2nd Purch. Req. Code '8'" }, // couponcode - /*293*/ { "[8110]01234561234561010412313100", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412313100", "261: AI (8110) position 27: 2nd Purch. Family Code incomplete" }, // couponcode - /*294*/ { "[8110]01234561234561010412313100123", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412313100123", "261: AI (8110) position 30: 2nd Purch. GS1 Co. Prefix VLI missing" }, // couponcode - /*295*/ { "[8110]01234561234561010412313100123A", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412313100123A", "261: AI (8110) position 30: Non-numeric 2nd Purch. GS1 Co. Prefix VLI 'A'" }, // couponcode - /*296*/ { "[8110]012345612345610104123131001239", 0, "8110012345612345610104123131001239", "" }, // couponcode - /*297*/ { "[8110]01234561234561010412313100123012345", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412313100123012345", "261: AI (8110) position 31: 2nd Purch. GS1 Co. Prefix incomplete" }, // couponcode - /*298*/ { "[8110]0123456123456101041231310012311234567", 0, "81100123456123456101041231310012311234567", "" }, // couponcode - /*299*/ { "[8110]0123456123456101041232", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041232", "261: AI (8110) position 23: 3rd Purch. Req. VLI missing" }, // couponcode - /*300*/ { "[8110]0123456123456101041232A", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041232A", "261: AI (8110) position 23: Non-numeric 3rd Purch. Req. VLI 'A'" }, // couponcode - /*301*/ { "[8110]01234561234561010412326", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412326", "261: AI (8110) position 23: Invalid 3rd Purch. Req. VLI '6'" }, // couponcode - /*302*/ { "[8110]01234561234561010412321", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412321", "261: AI (8110) position 24: 3rd Purch. Req. incomplete" }, // couponcode - /*303*/ { "[8110]012345612345610104123210", ZINT_WARN_NONCOMPLIANT, "8110012345612345610104123210", "261: AI (8110) position 25: 3rd Purch. Req. Code incomplete" }, // couponcode - /*304*/ { "[8110]0123456123456101041232105", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041232105", "261: AI (8110) position 25: Invalid 3rd Purch. Req. Code '5'" }, // couponcode - /*305*/ { "[8110]0123456123456101041232104", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041232104", "261: AI (8110) position 26: 3rd Purch. Family Code incomplete" }, // couponcode - /*306*/ { "[8110]012345612345610104123210412A", ZINT_WARN_NONCOMPLIANT, "8110012345612345610104123210412A", "261: AI (8110) position 26: Non-numeric 3rd Purch. Family Code" }, // couponcode - /*307*/ { "[8110]0123456123456101041232104123", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041232104123", "261: AI (8110) position 29: 3rd Purch. GS1 Co. Prefix VLI missing" }, // couponcode - /*308*/ { "[8110]01234561234561010412321041230", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412321041230", "261: AI (8110) position 30: 3rd Purch. GS1 Co. Prefix incomplete" }, // couponcode - /*309*/ { "[8110]0123456123456101041232104123A", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041232104123A", "261: AI (8110) position 29: Non-numeric 3rd Purch. GS1 Co. Prefix VLI 'A'" }, // couponcode - /*310*/ { "[8110]0123456123456101041232104123012345", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041232104123012345", "261: AI (8110) position 30: 3rd Purch. GS1 Co. Prefix incomplete" }, // couponcode - /*311*/ { "[8110]0123456123456101041232104123012345A", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041232104123012345A", "261: AI (8110) position 35: Non-numeric 3rd Purch. GS1 Co. Prefix 'A'" }, // couponcode - /*312*/ { "[8110]01234561234561010412321041230123456", 0, "811001234561234561010412321041230123456", "" }, // couponcode - /*313*/ { "[8110]0123456123456101041233", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041233", "261: AI (8110) position 23: Expiration Date incomplete" }, // couponcode - /*314*/ { "[8110]01234561234561010412332012", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412332012", "261: AI (8110) position 23: Expiration Date incomplete" }, // couponcode - /*315*/ { "[8110]012345612345610104123320123A", ZINT_WARN_NONCOMPLIANT, "8110012345612345610104123320123A", "261: AI (8110) position 23: Non-numeric Expiration Date" }, // couponcode - /*316*/ { "[8110]0123456123456101041233201232", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041233201232", "261: AI (8110) position 27: Invalid day '32'" }, // couponcode - /*317*/ { "[8110]0123456123456101041233200031", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041233200031", "261: AI (8110) position 25: Invalid month '00'" }, // couponcode - /*318*/ { "[8110]0123456123456101041233201231", 0, "81100123456123456101041233201231", "" }, // couponcode - /*319*/ { "[8110]0123456123456101041234", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041234", "261: AI (8110) position 23: Start Date incomplete" }, // couponcode - /*320*/ { "[8110]01234561234561010412342012", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412342012", "261: AI (8110) position 23: Start Date incomplete" }, // couponcode - /*321*/ { "[8110]012345612345610104123420123A", ZINT_WARN_NONCOMPLIANT, "8110012345612345610104123420123A", "261: AI (8110) position 23: Non-numeric Start Date" }, // couponcode - /*322*/ { "[8110]0123456123456101041234200230", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041234200230", "261: AI (8110) position 27: Invalid day '30'" }, // couponcode - /*323*/ { "[8110]0123456123456101041234201329", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041234201329", "261: AI (8110) position 25: Invalid month '13'" }, // couponcode - /*324*/ { "[8110]0123456123456101041234200229", 0, "81100123456123456101041234200229", "" }, // couponcode - /*325*/ { "[8110]0123456123456101041235", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041235", "261: AI (8110) position 23: Serial Number VLI missing" }, // couponcode - /*326*/ { "[8110]0123456123456101041235A", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041235A", "261: AI (8110) position 23: Non-numeric Serial Number VLI 'A'" }, // couponcode - /*327*/ { "[8110]01234561234561010412350", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412350", "261: AI (8110) position 24: Serial Number incomplete" }, // couponcode - /*328*/ { "[8110]0123456123456101041235012345", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041235012345", "261: AI (8110) position 24: Serial Number incomplete" }, // couponcode - /*329*/ { "[8110]0123456123456101041235912345678901234", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041235912345678901234", "261: AI (8110) position 24: Serial Number incomplete" }, // couponcode - /*330*/ { "[8110]0123456123456101041235912345678901234A", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041235912345678901234A", "261: AI (8110) position 38: Non-numeric Serial Number 'A'" }, // couponcode - /*331*/ { "[8110]01234561234561010412359123456789012345", 0, "811001234561234561010412359123456789012345", "" }, // couponcode - /*332*/ { "[8110]0123456123456101041236", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041236", "261: AI (8110) position 23: Retailer ID VLI missing" }, // couponcode - /*333*/ { "[8110]0123456123456101041236A", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041236A", "261: AI (8110) position 23: Non-numeric Retailer ID VLI 'A'" }, // couponcode - /*334*/ { "[8110]01234561234561010412360", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412360", "261: AI (8110) position 23: Invalid Retailer ID VLI '0'" }, // couponcode - /*335*/ { "[8110]01234561234561010412368", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412368", "261: AI (8110) position 23: Invalid Retailer ID VLI '8'" }, // couponcode - /*336*/ { "[8110]01234561234561010412361", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412361", "261: AI (8110) position 24: Retailer ID incomplete" }, // couponcode - /*337*/ { "[8110]01234561234561010412361123456", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412361123456", "261: AI (8110) position 24: Retailer ID incomplete" }, // couponcode - /*338*/ { "[8110]01234561234561010412361123456A", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412361123456A", "261: AI (8110) position 30: Non-numeric Retailer ID 'A'" }, // couponcode - /*339*/ { "[8110]012345612345610104123671234567890123", 0, "8110012345612345610104123671234567890123", "" }, // couponcode - /*340*/ { "[8110]0123456123456101041239", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041239", "261: AI (8110) position 23: Save Value Code incomplete" }, // couponcode - /*341*/ { "[8110]0123456123456101041239A", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041239A", "261: AI (8110) position 23: Non-numeric Save Value Code" }, // couponcode - /*342*/ { "[8110]01234561234561010412393", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412393", "261: AI (8110) position 23: Invalid Save Value Code '3'" }, // couponcode - /*343*/ { "[8110]01234561234561010412394", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412394", "261: AI (8110) position 23: Invalid Save Value Code '4'" }, // couponcode - /*344*/ { "[8110]01234561234561010412397", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412397", "261: AI (8110) position 23: Invalid Save Value Code '7'" }, // couponcode - /*345*/ { "[8110]01234561234561010412390", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412390", "261: AI (8110) position 24: Save Value Applies To incomplete" }, // couponcode - /*346*/ { "[8110]01234561234561010412390A", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412390A", "261: AI (8110) position 24: Non-numeric Save Value Applies To" }, // couponcode - /*347*/ { "[8110]012345612345610104123903", ZINT_WARN_NONCOMPLIANT, "8110012345612345610104123903", "261: AI (8110) position 24: Invalid Save Value Applies To '3'" }, // couponcode - /*348*/ { "[8110]012345612345610104123902", ZINT_WARN_NONCOMPLIANT, "8110012345612345610104123902", "261: AI (8110) position 25: Store Coupon Flag incomplete" }, // couponcode - /*349*/ { "[8110]012345612345610104123902A", ZINT_WARN_NONCOMPLIANT, "8110012345612345610104123902A", "261: AI (8110) position 25: Non-numeric Store Coupon Flag" }, // couponcode - /*350*/ { "[8110]0123456123456101041239029", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041239029", "261: AI (8110) position 26: Don't Multiply Flag incomplete" }, // couponcode - /*351*/ { "[8110]0123456123456101041239029A", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041239029A", "261: AI (8110) position 26: Non-numeric Don't Multiply Flag" }, // couponcode - /*352*/ { "[8110]01234561234561010412390292", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412390292", "261: AI (8110) position 26: Invalid Don't Multiply Flag '2'" }, // couponcode - /*353*/ { "[8110]01234561234561010412390291", 0, "811001234561234561010412390291", "" }, // couponcode - /*354*/ { "[8110]177777776666663100120444101105551888888821109991222222232012314200601522345678961345678990000", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8110)" }, // couponcode (example from GS1 AI (8112) Coupon Data Specifications Appendix A: AI (8110) vs AI (8112)) - /*355*/ { "[8110]177777776666663100120444101105551888888821109991222222232012314200601", 0, "8110177777776666663100120444101105551888888821109991222222232012314200601", "" }, // couponcode - /*356*/ { "[8112]017777777666666223456789", 0, "8112017777777666666223456789", "" }, // couponposoffer (example from GS1 AI (8112) Coupon Data Specifications Appendix A: AI (8110) vs AI (8112)) - /*357*/ { "[8112]001234561234560123456", 0, "8112001234561234560123456", "" }, // couponposoffer - /*358*/ { "[8112]00123456123456012345", ZINT_WARN_NONCOMPLIANT, "811200123456123456012345", "259: Invalid data length for AI (8112)" }, // couponposoffer - /*359*/ { "[8112]0012345612345601234561", ZINT_WARN_NONCOMPLIANT, "81120012345612345601234561", "261: AI (8112) position 22: Reserved trailing characters" }, // couponposoffer - /*360*/ { "[8112]061234567890121234569123456789012345", 0, "8112061234567890121234569123456789012345", "" }, // couponposoffer - /*361*/ { "[8112]0612345678901212345691234567890123456", ZINT_WARN_NONCOMPLIANT, "81120612345678901212345691234567890123456", "259: Invalid data length for AI (8112)" }, // couponposoffer - /*362*/ { "[8112]06123456789012123456912345678901234A", ZINT_WARN_NONCOMPLIANT, "811206123456789012123456912345678901234A", "261: AI (8112) position 36: Non-numeric Serial Number 'A'" }, // couponposoffer - /*363*/ { "[8112]06123456789012123456912345678901234", ZINT_WARN_NONCOMPLIANT, "811206123456789012123456912345678901234", "261: AI (8112) position 22: Serial Number incomplete" }, // couponposoffer - /*364*/ { "[8112]06123456789012123456812345678901234", 0, "811206123456789012123456812345678901234", "" }, // couponposoffer - /*365*/ { "[8112]0612345678901212345681234567890123", ZINT_WARN_NONCOMPLIANT, "81120612345678901212345681234567890123", "261: AI (8112) position 22: Serial Number incomplete" }, // couponposoffer - /*366*/ { "[8112]0612345678901212345A0123456", ZINT_WARN_NONCOMPLIANT, "81120612345678901212345A0123456", "261: AI (8112) position 15: Non-numeric Offer Code" }, // couponposoffer - /*367*/ { "[8112]0612345678901A1234560123456", ZINT_WARN_NONCOMPLIANT, "81120612345678901A1234560123456", "261: AI (8112) position 14: Non-numeric Coupon Funder ID 'A'" }, // couponposoffer - /*368*/ { "[8112]071234567890121234560123456", ZINT_WARN_NONCOMPLIANT, "8112071234567890121234560123456", "261: AI (8112) position 2: Invalid Coupon Funder ID VLI '7'" }, // couponposoffer - /*369*/ { "[8112]0A1234567890121234560123456", ZINT_WARN_NONCOMPLIANT, "81120A1234567890121234560123456", "261: AI (8112) position 2: Non-numeric Coupon Funder ID VLI 'A'" }, // couponposoffer - /*370*/ { "[8112]261234567890121234560123456", ZINT_WARN_NONCOMPLIANT, "8112261234567890121234560123456", "261: AI (8112) position 1: Coupon Format must be 0 or 1" }, // couponposoffer - /*371*/ { "[8112]A61234567890121234560123456", ZINT_WARN_NONCOMPLIANT, "8112A61234567890121234560123456", "261: AI (8112) position 1: Non-numeric Coupon Format" }, // couponposoffer + /*175*/ { "[3910]9251", 0, "39109251", "" }, // iso4217 + /*176*/ { "[3910]01", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (3910)" }, // iso4217 + /*177*/ { "[3910]001", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (3910)" }, // iso4217 + /*178*/ { "[3910]9981", ZINT_WARN_NONCOMPLIANT, "39109981", "261: AI (3910) position 1: Unknown currency code '998'" }, // iso4217 + /*179*/ { "[3910]0041", ZINT_WARN_NONCOMPLIANT, "39100041", "261: AI (3910) position 1: Unknown currency code '004'" }, // iso4217 + /*180*/ { "[3910]8941", ZINT_WARN_NONCOMPLIANT, "39108941", "261: AI (3910) position 1: Unknown currency code '894'" }, // iso4217 + /*181*/ { "[4300]%12", 0, "4300%12", "" }, // pcenc + /*182*/ { "[4300]%1", ZINT_WARN_NONCOMPLIANT, "4300%1", "261: AI (4300) position 1: Invalid % escape" }, // pcenc + /*183*/ { "[4300]%", ZINT_WARN_NONCOMPLIANT, "4300%", "261: AI (4300) position 1: Invalid % escape" }, // pcenc + /*184*/ { "[4300]12%1212", 0, "430012%1212", "" }, // pcenc + /*185*/ { "[4300]12%1G12", ZINT_WARN_NONCOMPLIANT, "430012%1G12", "261: AI (4300) position 5: Invalid character for percent encoding" }, // pcenc + /*186*/ { "[4308]ABCDEFGHIJKLMNOPQRSTUVWXYZ%+12", 0, "4308ABCDEFGHIJKLMNOPQRSTUVWXYZ%+12", "" }, // no pcenc + /*187*/ { "[4308]ABCDEFGHIJKLMNOPQRSTUVWXYZ%+123", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (4308)" }, // no pcenc + /*188*/ { "[4309]02790858483015297971", 0, "430902790858483015297971", "" }, // latlong + /*189*/ { "[4309]18000000013015297971", ZINT_WARN_NONCOMPLIANT, "430918000000013015297971", "261: AI (4309) position 10: Invalid latitude" }, // latlong + /*190*/ { "[4309]02790858418000000001", ZINT_WARN_NONCOMPLIANT, "430902790858418000000001", "261: AI (4309) position 20: Invalid longitude" }, // latlong + /*191*/ { "[4321]1", 0, "43211", "" }, // yesno + /*192*/ { "[4321]0", 0, "43210", "" }, // yesno + /*193*/ { "[4321]2", ZINT_WARN_NONCOMPLIANT, "43212", "261: AI (4321) position 1: Neither 0 nor 1 for yes or no" }, // yesno + /*194*/ { "[4321]9", ZINT_WARN_NONCOMPLIANT, "43219", "261: AI (4321) position 1: Neither 0 nor 1 for yes or no" }, // yesno + /*195*/ { "[7040]1234", 0, "70401234", "" }, // importeridx + /*196*/ { "[7040]123A", 0, "7040123A", "" }, // importeridx + /*197*/ { "[7040]123Z", 0, "7040123Z", "" }, // importeridx + /*198*/ { "[7040]123a", 0, "7040123a", "" }, // importeridx + /*199*/ { "[7040]123z", 0, "7040123z", "" }, // importeridx + /*200*/ { "[7040]123-", 0, "7040123-", "" }, // importeridx + /*201*/ { "[7040]123_", 0, "7040123_", "" }, // importeridx + /*202*/ { "[7040]123!", ZINT_WARN_NONCOMPLIANT, "7040123!", "261: AI (7040) position 4: Invalid importer index '!'" }, // importeridx + /*203*/ { "[7040]123/", ZINT_WARN_NONCOMPLIANT, "7040123/", "261: AI (7040) position 4: Invalid importer index '/'" }, // importeridx + /*204*/ { "[7040]123:", ZINT_WARN_NONCOMPLIANT, "7040123:", "261: AI (7040) position 4: Invalid importer index ':'" }, // importeridx + /*205*/ { "[7040]123?", ZINT_WARN_NONCOMPLIANT, "7040123?", "261: AI (7040) position 4: Invalid importer index '?'" }, // importeridx + /*206*/ { "[8001]12341234512311", 0, "800112341234512311", "" }, // nonzero + /*207*/ { "[8001]00010000100100", 0, "800100010000100100", "" }, // nonzero + /*208*/ { "[8001]00001234512311", ZINT_WARN_NONCOMPLIANT, "800100001234512311", "261: AI (8001) position 1: Zero not permitted" }, // nonzero + /*209*/ { "[8001]12340000012311", ZINT_WARN_NONCOMPLIANT, "800112340000012311", "261: AI (8001) position 5: Zero not permitted" }, // nonzero + /*210*/ { "[8001]00010000100011", ZINT_WARN_NONCOMPLIANT, "800100010000100011", "261: AI (8001) position 10: Zero not permitted" }, // nonzero + /*211*/ { "[8001]00010000100101", 0, "800100010000100101", "" }, // winding + /*212*/ { "[8001]00010000100111", 0, "800100010000100111", "" }, // winding + /*213*/ { "[8001]00010000100191", 0, "800100010000100191", "" }, // winding + /*214*/ { "[8001]00010000100121", ZINT_WARN_NONCOMPLIANT, "800100010000100121", "261: AI (8001) position 13: Invalid winding direction '2'" }, // winding + /*215*/ { "[8001]00010000100131", ZINT_WARN_NONCOMPLIANT, "800100010000100131", "261: AI (8001) position 13: Invalid winding direction '3'" }, // winding + /*216*/ { "[8001]00010000100171", ZINT_WARN_NONCOMPLIANT, "800100010000100171", "261: AI (8001) position 13: Invalid winding direction '7'" }, // winding + /*217*/ { "[8001]00010000100181", ZINT_WARN_NONCOMPLIANT, "800100010000100181", "261: AI (8001) position 13: Invalid winding direction '8'" }, // winding + /*218*/ { "[8003]01234567890128", 0, "800301234567890128", "" }, // zero + /*219*/ { "[8003]11234567890128", ZINT_WARN_NONCOMPLIANT, "800311234567890128", "261: AI (8003) position 1: Zero is required" }, // zero + /*220*/ { "[8003]91234567890128", ZINT_WARN_NONCOMPLIANT, "800391234567890128", "261: AI (8003) position 1: Zero is required" }, // zero + /*221*/ { "[8006]123456789012310101", 0, "8006123456789012310101", "" }, // pieceoftotal + /*222*/ { "[8006]123456789012310199", 0, "8006123456789012310199", "" }, // pieceoftotal + /*223*/ { "[8006]123456789012319999", 0, "8006123456789012319999", "" }, // pieceoftotal + /*224*/ { "[8006]123456789012310001", ZINT_WARN_NONCOMPLIANT, "8006123456789012310001", "261: AI (8006) position 15: Piece number cannot be zero" }, // pieceoftotal + /*225*/ { "[8006]123456789012310100", ZINT_WARN_NONCOMPLIANT, "8006123456789012310100", "261: AI (8006) position 15: Total number cannot be zero" }, // pieceoftotal + /*226*/ { "[8006]123456789012310201", ZINT_WARN_NONCOMPLIANT, "8006123456789012310201", "261: AI (8006) position 15: Piece number '02' exceeds total '01'" }, // pieceoftotal + /*227*/ { "[8006]123456789012319998", ZINT_WARN_NONCOMPLIANT, "8006123456789012319998", "261: AI (8006) position 15: Piece number '99' exceeds total '98'" }, // pieceoftotal + /*228*/ { "[8007]GB82WEST12345698765432", 0, "8007GB82WEST12345698765432", "" }, // iban + /*229*/ { "[8007]GB83WEST12345698765432", ZINT_WARN_NONCOMPLIANT, "8007GB83WEST12345698765432", "261: AI (8007) position 3: Bad IBAN checksum '83', expected '82'" }, // iban + /*230*/ { "[8007]BE71096123456769", 0, "8007BE71096123456769", "" }, // iban + /*231*/ { "[8007]BE71096123456760", ZINT_WARN_NONCOMPLIANT, "8007BE71096123456760", "261: AI (8007) position 3: Bad IBAN checksum '71', expected '23'" }, // iban + /*232*/ { "[8007]BE01096123456760", ZINT_WARN_NONCOMPLIANT, "8007BE01096123456760", "261: AI (8007) position 3: Bad IBAN checksum '01', expected '23'" }, // iban + /*233*/ { "[8007]BE00096123456760", ZINT_WARN_NONCOMPLIANT, "8007BE00096123456760", "261: AI (8007) position 3: Bad IBAN checksum '00', expected '23'" }, // iban + /*234*/ { "[8007]LC14BOSL123456789012345678901234", 0, "8007LC14BOSL123456789012345678901234", "" }, // iban + /*235*/ { "[8007]LC14BOSL123456789012345678901230", ZINT_WARN_NONCOMPLIANT, "8007LC14BOSL123456789012345678901230", "261: AI (8007) position 3: Bad IBAN checksum '14', expected '25'" }, // iban + /*236*/ { "[8007]A114BOSL123456789012345678901230", ZINT_WARN_NONCOMPLIANT, "8007A114BOSL123456789012345678901230", "261: AI (8007) position 1: Non-alphabetic IBAN country code 'A1'" }, // iban + /*237*/ { "[8007]1A14BOSL123456789012345678901230", ZINT_WARN_NONCOMPLIANT, "80071A14BOSL123456789012345678901230", "261: AI (8007) position 1: Non-alphabetic IBAN country code '1A'" }, // iban + /*238*/ { "[8007]AA14BOSL123456789012345678901230", ZINT_WARN_NONCOMPLIANT, "8007AA14BOSL123456789012345678901230", "261: AI (8007) position 1: Invalid IBAN country code 'AA'" }, // iban + /*239*/ { "[8007]ZZ14BOSL123456789012345678901230", ZINT_WARN_NONCOMPLIANT, "8007ZZ14BOSL123456789012345678901230", "261: AI (8007) position 1: Invalid IBAN country code 'ZZ'" }, // iban + /*240*/ { "[8007]ZW33BOSL123456789012345678901230", 0, "8007ZW33BOSL123456789012345678901230", "" }, // iban + /*241*/ { "[8007]ZWA3BOSL123456789012345678901230", ZINT_WARN_NONCOMPLIANT, "8007ZWA3BOSL123456789012345678901230", "261: AI (8007) position 3: Non-numeric IBAN checksum 'A3'" }, // iban + /*242*/ { "[8007]ZW3ABOSL123456789012345678901230", ZINT_WARN_NONCOMPLIANT, "8007ZW3ABOSL123456789012345678901230", "261: AI (8007) position 3: Non-numeric IBAN checksum '3A'" }, // iban + /*243*/ { "[8007]ZW33bOSL123456789012345678901230", ZINT_WARN_NONCOMPLIANT, "8007ZW33bOSL123456789012345678901230", "261: AI (8007) position 5: Invalid IBAN character 'b'" }, // iban + /*244*/ { "[8007]GB98", ZINT_WARN_NONCOMPLIANT, "8007GB98", "259: Invalid data length for AI (8007)" }, // iban + /*245*/ { "[8007]FR7630006000011234567890189", 0, "8007FR7630006000011234567890189", "" }, // iban + /*246*/ { "[8007]DE91100000000123456789", 0, "8007DE91100000000123456789", "" }, // iban + /*247*/ { "[8007]GR9608100010000001234567890", 0, "8007GR9608100010000001234567890", "" }, // iban + /*248*/ { "[8007]MU43BOMM0101123456789101000MUR", 0, "8007MU43BOMM0101123456789101000MUR", "" }, // iban + /*249*/ { "[8007]PL10105000997603123456789123", 0, "8007PL10105000997603123456789123", "" }, // iban + /*250*/ { "[8007]RO09BCYP0000001234567890", 0, "8007RO09BCYP0000001234567890", "" }, // iban + /*251*/ { "[8007]SA4420000001234567891234", 0, "8007SA4420000001234567891234", "" }, // iban + /*252*/ { "[8007]ES7921000813610123456789", 0, "8007ES7921000813610123456789", "" }, // iban + /*253*/ { "[8007]CH5604835012345678009", 0, "8007CH5604835012345678009", "" }, // iban + /*254*/ { "[8007]GB98MIDL07009312345678", 0, "8007GB98MIDL07009312345678", "" }, // iban + /*255*/ { "[8011]1", 0, "80111", "" }, // nozeroprefix + /*256*/ { "[8011]11", 0, "801111", "" }, // nozeroprefix + /*257*/ { "[8011]0", 0, "80110", "" }, // nozeroprefix + /*258*/ { "[8011]01", ZINT_WARN_NONCOMPLIANT, "801101", "261: AI (8011) position 1: Zero prefix is not permitted" }, // nozeroprefix + /*259*/ { "[8110]106141416543213150110120", 0, "8110106141416543213150110120", "" }, // couponcode (first part of NACAG Appendix C: Example 1 - see test_rss.c test_examples) + /*260*/ { "[8110]012345612345610104123", 0, "8110012345612345610104123", "" }, // couponcode + /*261*/ { "[8110]01234561234561010412", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412", "259: Invalid data length for AI (8110)" }, // couponcode + /*262*/ { "[8110]12345678901234567890", ZINT_WARN_NONCOMPLIANT, "811012345678901234567890", "259: Invalid data length for AI (8110)" }, // couponcode + /*263*/ { "[8110]712345612345610104123", ZINT_WARN_NONCOMPLIANT, "8110712345612345610104123", "261: AI (8110) position 1: Invalid Primary GS1 Co. Prefix VLI '7'" }, // couponcode + /*264*/ { "[8110]A12345612345610104123", ZINT_WARN_NONCOMPLIANT, "8110A12345612345610104123", "261: AI (8110) position 1: Non-numeric Primary GS1 Co. Prefix VLI 'A'" }, // couponcode + /*265*/ { "[8110]012345A12345610104123", ZINT_WARN_NONCOMPLIANT, "8110012345A12345610104123", "261: AI (8110) position 7: Non-numeric Primary GS1 Co. Prefix 'A'" }, // couponcode + /*266*/ { "[8110]012345612345A10104123", ZINT_WARN_NONCOMPLIANT, "8110012345612345A10104123", "261: AI (8110) position 8: Non-numeric Offer Code" }, // couponcode + /*267*/ { "[8110]012345612345600104123", ZINT_WARN_NONCOMPLIANT, "8110012345612345600104123", "261: AI (8110) position 14: Invalid Save Value VLI '0'" }, // couponcode + /*268*/ { "[8110]012345612345660104123", ZINT_WARN_NONCOMPLIANT, "8110012345612345660104123", "261: AI (8110) position 14: Invalid Save Value VLI '6'" }, // couponcode + /*269*/ { "[8110]01234561234561A104123", ZINT_WARN_NONCOMPLIANT, "811001234561234561A104123", "261: AI (8110) position 15: Non-numeric Save Value 'A'" }, // couponcode + /*270*/ { "[8110]012345612345610004123", ZINT_WARN_NONCOMPLIANT, "8110012345612345610004123", "261: AI (8110) position 16: Invalid Primary Purch. Req. VLI '0'" }, // couponcode + /*271*/ { "[8110]012345612345610604123", ZINT_WARN_NONCOMPLIANT, "8110012345612345610604123", "261: AI (8110) position 16: Invalid Primary Purch. Req. VLI '6'" }, // couponcode + /*272*/ { "[8110]0123456123456101A4123", ZINT_WARN_NONCOMPLIANT, "81100123456123456101A4123", "261: AI (8110) position 17: Non-numeric Primary Purch. Req. 'A'" }, // couponcode + /*273*/ { "[8110]012345612345621251234", ZINT_WARN_NONCOMPLIANT, "8110012345612345621251234", "261: AI (8110) position 18: Primary Purch. Req. incomplete" }, // couponcode + /*274*/ { "[8110]01234561234561010A123", ZINT_WARN_NONCOMPLIANT, "811001234561234561010A123", "261: AI (8110) position 18: Non-numeric Primary Purch. Req. Code" }, // couponcode + /*275*/ { "[8110]012345612345610106123", ZINT_WARN_NONCOMPLIANT, "8110012345612345610106123", "261: AI (8110) position 18: Invalid Primary Purch. Req. Code '6'" }, // couponcode + /*276*/ { "[8110]012345612345610212412", ZINT_WARN_NONCOMPLIANT, "8110012345612345610212412", "261: AI (8110) position 20: Primary Purch. Family Code incomplete" }, // couponcode + /*277*/ { "[8110]0123456123456103123412", ZINT_WARN_NONCOMPLIANT, "81100123456123456103123412", "261: AI (8110) position 21: Primary Purch. Family Code incomplete" }, // couponcode + /*278*/ { "[8110]0123456123456103123412A", ZINT_WARN_NONCOMPLIANT, "81100123456123456103123412A", "261: AI (8110) position 21: Non-numeric Primary Purch. Family Code" }, // couponcode + /*279*/ { "[8110]01234561234561031234123", 0, "811001234561234561031234123", "" }, // couponcode + /*280*/ { "[8110]612345678901212345651", ZINT_WARN_NONCOMPLIANT, "8110612345678901212345651", "261: AI (8110) position 21: Save Value incomplete" }, // couponcode + /*281*/ { "[8110]6123456789012123456512345", ZINT_WARN_NONCOMPLIANT, "81106123456789012123456512345", "261: AI (8110) position 26: Primary Purch. Req. VLI missing" }, // couponcode + /*282*/ { "[8110]61234567890121234565123455123454123", 0, "811061234567890121234565123455123454123", "" }, // couponcode + /*283*/ { "[8110]61234567890121234565123455123454123A", ZINT_WARN_NONCOMPLIANT, "811061234567890121234565123455123454123A", "261: AI (8110) position 36: Non-numeric Data Field 'A'" }, // couponcode + /*284*/ { "[8110]612345678901212345651234551234541237", ZINT_WARN_NONCOMPLIANT, "8110612345678901212345651234551234541237", "261: AI (8110) position 36: Invalid Data Field '7'" }, // couponcode + /*285*/ { "[8110]612345678901212345651234551234541238", ZINT_WARN_NONCOMPLIANT, "8110612345678901212345651234551234541238", "261: AI (8110) position 36: Invalid Data Field '8'" }, // couponcode + /*286*/ { "[8110]0123456123456101041231", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041231", "261: AI (8110) position 23: Add. Purch. Rules Code incomplete" }, // couponcode + /*287*/ { "[8110]0123456123456101041231A", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041231A", "261: AI (8110) position 23: Non-numeric Add. Purch. Rules Code" }, // couponcode + /*288*/ { "[8110]01234561234561010412314", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412314", "261: AI (8110) position 23: Invalid Add. Purch. Rules Code '4'" }, // couponcode + /*289*/ { "[8110]01234561234561010412313", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412313", "261: AI (8110) position 24: 2nd Purch. Req. VLI missing" }, // couponcode + /*290*/ { "[8110]01234561234561010412313A", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412313A", "261: AI (8110) position 24: Non-numeric 2nd Purch. Req. VLI 'A'" }, // couponcode + /*291*/ { "[8110]012345612345610104123130", ZINT_WARN_NONCOMPLIANT, "8110012345612345610104123130", "261: AI (8110) position 24: Invalid 2nd Purch. Req. VLI '0'" }, // couponcode + /*292*/ { "[8110]012345612345610104123131", ZINT_WARN_NONCOMPLIANT, "8110012345612345610104123131", "261: AI (8110) position 25: 2nd Purch. Req. incomplete" }, // couponcode + /*293*/ { "[8110]012345612345610104123131A", ZINT_WARN_NONCOMPLIANT, "8110012345612345610104123131A", "261: AI (8110) position 25: Non-numeric 2nd Purch. Req. 'A'" }, // couponcode + /*294*/ { "[8110]0123456123456101041231310", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041231310", "261: AI (8110) position 26: 2nd Purch. Req. Code incomplete" }, // couponcode + /*295*/ { "[8110]0123456123456101041231310A", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041231310A", "261: AI (8110) position 26: Non-numeric 2nd Purch. Req. Code" }, // couponcode + /*296*/ { "[8110]01234561234561010412313108", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412313108", "261: AI (8110) position 26: Invalid 2nd Purch. Req. Code '8'" }, // couponcode + /*297*/ { "[8110]01234561234561010412313100", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412313100", "261: AI (8110) position 27: 2nd Purch. Family Code incomplete" }, // couponcode + /*298*/ { "[8110]01234561234561010412313100123", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412313100123", "261: AI (8110) position 30: 2nd Purch. GS1 Co. Prefix VLI missing" }, // couponcode + /*299*/ { "[8110]01234561234561010412313100123A", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412313100123A", "261: AI (8110) position 30: Non-numeric 2nd Purch. GS1 Co. Prefix VLI 'A'" }, // couponcode + /*300*/ { "[8110]012345612345610104123131001239", 0, "8110012345612345610104123131001239", "" }, // couponcode + /*301*/ { "[8110]01234561234561010412313100123012345", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412313100123012345", "261: AI (8110) position 31: 2nd Purch. GS1 Co. Prefix incomplete" }, // couponcode + /*302*/ { "[8110]0123456123456101041231310012311234567", 0, "81100123456123456101041231310012311234567", "" }, // couponcode + /*303*/ { "[8110]0123456123456101041232", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041232", "261: AI (8110) position 23: 3rd Purch. Req. VLI missing" }, // couponcode + /*304*/ { "[8110]0123456123456101041232A", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041232A", "261: AI (8110) position 23: Non-numeric 3rd Purch. Req. VLI 'A'" }, // couponcode + /*305*/ { "[8110]01234561234561010412326", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412326", "261: AI (8110) position 23: Invalid 3rd Purch. Req. VLI '6'" }, // couponcode + /*306*/ { "[8110]01234561234561010412321", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412321", "261: AI (8110) position 24: 3rd Purch. Req. incomplete" }, // couponcode + /*307*/ { "[8110]012345612345610104123210", ZINT_WARN_NONCOMPLIANT, "8110012345612345610104123210", "261: AI (8110) position 25: 3rd Purch. Req. Code incomplete" }, // couponcode + /*308*/ { "[8110]0123456123456101041232105", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041232105", "261: AI (8110) position 25: Invalid 3rd Purch. Req. Code '5'" }, // couponcode + /*309*/ { "[8110]0123456123456101041232104", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041232104", "261: AI (8110) position 26: 3rd Purch. Family Code incomplete" }, // couponcode + /*310*/ { "[8110]012345612345610104123210412A", ZINT_WARN_NONCOMPLIANT, "8110012345612345610104123210412A", "261: AI (8110) position 26: Non-numeric 3rd Purch. Family Code" }, // couponcode + /*311*/ { "[8110]0123456123456101041232104123", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041232104123", "261: AI (8110) position 29: 3rd Purch. GS1 Co. Prefix VLI missing" }, // couponcode + /*312*/ { "[8110]01234561234561010412321041230", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412321041230", "261: AI (8110) position 30: 3rd Purch. GS1 Co. Prefix incomplete" }, // couponcode + /*313*/ { "[8110]0123456123456101041232104123A", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041232104123A", "261: AI (8110) position 29: Non-numeric 3rd Purch. GS1 Co. Prefix VLI 'A'" }, // couponcode + /*314*/ { "[8110]0123456123456101041232104123012345", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041232104123012345", "261: AI (8110) position 30: 3rd Purch. GS1 Co. Prefix incomplete" }, // couponcode + /*315*/ { "[8110]0123456123456101041232104123012345A", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041232104123012345A", "261: AI (8110) position 35: Non-numeric 3rd Purch. GS1 Co. Prefix 'A'" }, // couponcode + /*316*/ { "[8110]01234561234561010412321041230123456", 0, "811001234561234561010412321041230123456", "" }, // couponcode + /*317*/ { "[8110]0123456123456101041233", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041233", "261: AI (8110) position 23: Expiration Date incomplete" }, // couponcode + /*318*/ { "[8110]01234561234561010412332012", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412332012", "261: AI (8110) position 23: Expiration Date incomplete" }, // couponcode + /*319*/ { "[8110]012345612345610104123320123A", ZINT_WARN_NONCOMPLIANT, "8110012345612345610104123320123A", "261: AI (8110) position 23: Non-numeric Expiration Date" }, // couponcode + /*320*/ { "[8110]0123456123456101041233201232", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041233201232", "261: AI (8110) position 27: Invalid day '32'" }, // couponcode + /*321*/ { "[8110]0123456123456101041233200031", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041233200031", "261: AI (8110) position 25: Invalid month '00'" }, // couponcode + /*322*/ { "[8110]0123456123456101041233201231", 0, "81100123456123456101041233201231", "" }, // couponcode + /*323*/ { "[8110]0123456123456101041234", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041234", "261: AI (8110) position 23: Start Date incomplete" }, // couponcode + /*324*/ { "[8110]01234561234561010412342012", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412342012", "261: AI (8110) position 23: Start Date incomplete" }, // couponcode + /*325*/ { "[8110]012345612345610104123420123A", ZINT_WARN_NONCOMPLIANT, "8110012345612345610104123420123A", "261: AI (8110) position 23: Non-numeric Start Date" }, // couponcode + /*326*/ { "[8110]0123456123456101041234200230", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041234200230", "261: AI (8110) position 27: Invalid day '30'" }, // couponcode + /*327*/ { "[8110]0123456123456101041234201329", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041234201329", "261: AI (8110) position 25: Invalid month '13'" }, // couponcode + /*328*/ { "[8110]0123456123456101041234200229", 0, "81100123456123456101041234200229", "" }, // couponcode + /*329*/ { "[8110]0123456123456101041235", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041235", "261: AI (8110) position 23: Serial Number VLI missing" }, // couponcode + /*330*/ { "[8110]0123456123456101041235A", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041235A", "261: AI (8110) position 23: Non-numeric Serial Number VLI 'A'" }, // couponcode + /*331*/ { "[8110]01234561234561010412350", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412350", "261: AI (8110) position 24: Serial Number incomplete" }, // couponcode + /*332*/ { "[8110]0123456123456101041235012345", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041235012345", "261: AI (8110) position 24: Serial Number incomplete" }, // couponcode + /*333*/ { "[8110]0123456123456101041235912345678901234", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041235912345678901234", "261: AI (8110) position 24: Serial Number incomplete" }, // couponcode + /*334*/ { "[8110]0123456123456101041235912345678901234A", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041235912345678901234A", "261: AI (8110) position 38: Non-numeric Serial Number 'A'" }, // couponcode + /*335*/ { "[8110]01234561234561010412359123456789012345", 0, "811001234561234561010412359123456789012345", "" }, // couponcode + /*336*/ { "[8110]0123456123456101041236", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041236", "261: AI (8110) position 23: Retailer ID VLI missing" }, // couponcode + /*337*/ { "[8110]0123456123456101041236A", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041236A", "261: AI (8110) position 23: Non-numeric Retailer ID VLI 'A'" }, // couponcode + /*338*/ { "[8110]01234561234561010412360", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412360", "261: AI (8110) position 23: Invalid Retailer ID VLI '0'" }, // couponcode + /*339*/ { "[8110]01234561234561010412368", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412368", "261: AI (8110) position 23: Invalid Retailer ID VLI '8'" }, // couponcode + /*340*/ { "[8110]01234561234561010412361", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412361", "261: AI (8110) position 24: Retailer ID incomplete" }, // couponcode + /*341*/ { "[8110]01234561234561010412361123456", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412361123456", "261: AI (8110) position 24: Retailer ID incomplete" }, // couponcode + /*342*/ { "[8110]01234561234561010412361123456A", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412361123456A", "261: AI (8110) position 30: Non-numeric Retailer ID 'A'" }, // couponcode + /*343*/ { "[8110]012345612345610104123671234567890123", 0, "8110012345612345610104123671234567890123", "" }, // couponcode + /*344*/ { "[8110]0123456123456101041239", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041239", "261: AI (8110) position 23: Save Value Code incomplete" }, // couponcode + /*345*/ { "[8110]0123456123456101041239A", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041239A", "261: AI (8110) position 23: Non-numeric Save Value Code" }, // couponcode + /*346*/ { "[8110]01234561234561010412393", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412393", "261: AI (8110) position 23: Invalid Save Value Code '3'" }, // couponcode + /*347*/ { "[8110]01234561234561010412394", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412394", "261: AI (8110) position 23: Invalid Save Value Code '4'" }, // couponcode + /*348*/ { "[8110]01234561234561010412397", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412397", "261: AI (8110) position 23: Invalid Save Value Code '7'" }, // couponcode + /*349*/ { "[8110]01234561234561010412390", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412390", "261: AI (8110) position 24: Save Value Applies To incomplete" }, // couponcode + /*350*/ { "[8110]01234561234561010412390A", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412390A", "261: AI (8110) position 24: Non-numeric Save Value Applies To" }, // couponcode + /*351*/ { "[8110]012345612345610104123903", ZINT_WARN_NONCOMPLIANT, "8110012345612345610104123903", "261: AI (8110) position 24: Invalid Save Value Applies To '3'" }, // couponcode + /*352*/ { "[8110]012345612345610104123902", ZINT_WARN_NONCOMPLIANT, "8110012345612345610104123902", "261: AI (8110) position 25: Store Coupon Flag incomplete" }, // couponcode + /*353*/ { "[8110]012345612345610104123902A", ZINT_WARN_NONCOMPLIANT, "8110012345612345610104123902A", "261: AI (8110) position 25: Non-numeric Store Coupon Flag" }, // couponcode + /*354*/ { "[8110]0123456123456101041239029", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041239029", "261: AI (8110) position 26: Don't Multiply Flag incomplete" }, // couponcode + /*355*/ { "[8110]0123456123456101041239029A", ZINT_WARN_NONCOMPLIANT, "81100123456123456101041239029A", "261: AI (8110) position 26: Non-numeric Don't Multiply Flag" }, // couponcode + /*356*/ { "[8110]01234561234561010412390292", ZINT_WARN_NONCOMPLIANT, "811001234561234561010412390292", "261: AI (8110) position 26: Invalid Don't Multiply Flag '2'" }, // couponcode + /*357*/ { "[8110]01234561234561010412390291", 0, "811001234561234561010412390291", "" }, // couponcode + /*358*/ { "[8110]177777776666663100120444101105551888888821109991222222232012314200601522345678961345678990000", ZINT_ERROR_INVALID_DATA, "", "259: Invalid data length for AI (8110)" }, // couponcode (example from GS1 AI (8112) Coupon Data Specifications Appendix A: AI (8110) vs AI (8112)) + /*359*/ { "[8110]177777776666663100120444101105551888888821109991222222232012314200601", 0, "8110177777776666663100120444101105551888888821109991222222232012314200601", "" }, // couponcode + /*360*/ { "[8112]017777777666666223456789", 0, "8112017777777666666223456789", "" }, // couponposoffer (example from GS1 AI (8112) Coupon Data Specifications Appendix A: AI (8110) vs AI (8112)) + /*361*/ { "[8112]001234561234560123456", 0, "8112001234561234560123456", "" }, // couponposoffer + /*362*/ { "[8112]00123456123456012345", ZINT_WARN_NONCOMPLIANT, "811200123456123456012345", "259: Invalid data length for AI (8112)" }, // couponposoffer + /*363*/ { "[8112]0012345612345601234561", ZINT_WARN_NONCOMPLIANT, "81120012345612345601234561", "261: AI (8112) position 22: Reserved trailing characters" }, // couponposoffer + /*364*/ { "[8112]061234567890121234569123456789012345", 0, "8112061234567890121234569123456789012345", "" }, // couponposoffer + /*365*/ { "[8112]0612345678901212345691234567890123456", ZINT_WARN_NONCOMPLIANT, "81120612345678901212345691234567890123456", "259: Invalid data length for AI (8112)" }, // couponposoffer + /*366*/ { "[8112]06123456789012123456912345678901234A", ZINT_WARN_NONCOMPLIANT, "811206123456789012123456912345678901234A", "261: AI (8112) position 36: Non-numeric Serial Number 'A'" }, // couponposoffer + /*367*/ { "[8112]06123456789012123456912345678901234", ZINT_WARN_NONCOMPLIANT, "811206123456789012123456912345678901234", "261: AI (8112) position 22: Serial Number incomplete" }, // couponposoffer + /*368*/ { "[8112]06123456789012123456812345678901234", 0, "811206123456789012123456812345678901234", "" }, // couponposoffer + /*369*/ { "[8112]0612345678901212345681234567890123", ZINT_WARN_NONCOMPLIANT, "81120612345678901212345681234567890123", "261: AI (8112) position 22: Serial Number incomplete" }, // couponposoffer + /*370*/ { "[8112]0612345678901212345A0123456", ZINT_WARN_NONCOMPLIANT, "81120612345678901212345A0123456", "261: AI (8112) position 15: Non-numeric Offer Code" }, // couponposoffer + /*371*/ { "[8112]0612345678901A1234560123456", ZINT_WARN_NONCOMPLIANT, "81120612345678901A1234560123456", "261: AI (8112) position 14: Non-numeric Coupon Funder ID 'A'" }, // couponposoffer + /*372*/ { "[8112]071234567890121234560123456", ZINT_WARN_NONCOMPLIANT, "8112071234567890121234560123456", "261: AI (8112) position 2: Invalid Coupon Funder ID VLI '7'" }, // couponposoffer + /*373*/ { "[8112]0A1234567890121234560123456", ZINT_WARN_NONCOMPLIANT, "81120A1234567890121234560123456", "261: AI (8112) position 2: Non-numeric Coupon Funder ID VLI 'A'" }, // couponposoffer + /*374*/ { "[8112]261234567890121234560123456", ZINT_WARN_NONCOMPLIANT, "8112261234567890121234560123456", "261: AI (8112) position 1: Coupon Format must be 0 or 1" }, // couponposoffer + /*375*/ { "[8112]A61234567890121234560123456", ZINT_WARN_NONCOMPLIANT, "8112A61234567890121234560123456", "261: AI (8112) position 1: Non-numeric Coupon Format" }, // couponposoffer }; int data_size = ARRAY_SIZE(data); int i, length, ret; diff --git a/backend/tests/test_iso4217.c b/backend/tests/test_iso4217.c index f5f7a27c..55c7447f 100644 --- a/backend/tests/test_iso4217.c +++ b/backend/tests/test_iso4217.c @@ -1,6 +1,6 @@ /* libzint - the open source barcode library - Copyright (C) 2021 Robin Stuart + Copyright (C) 2021-2022 Robin Stuart Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions @@ -27,7 +27,7 @@ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* vim: set ts=4 sw=4 et : */ +/* SPDX-License-Identifier: BSD-3-Clause */ #include "testcommon.h" #include "../iso4217.h" @@ -38,7 +38,7 @@ static void test_numeric(int index) { int data; int ret; }; - // s/\/\*[ 0-9]*\*\//\=printf("\/*%3d*\/", line(".") - line("'<")) + /* s/\/\*[ 0-9]*\*\//\=printf("\/\*%3d*\/", line(".") - line("'<")): */ struct item data[] = { /* 0*/ { -1, 0 }, /* 1*/ { 0, 0 }, @@ -350,82 +350,84 @@ static void test_numeric(int index) { /*307*/ { 900, 0 }, /*308*/ { 901, 1 }, /*309*/ { 902, 0 }, - /*310*/ { 926, 0 }, - /*311*/ { 927, 1 }, - /*312*/ { 928, 1 }, - /*313*/ { 929, 1 }, - /*314*/ { 930, 1 }, - /*315*/ { 931, 1 }, - /*316*/ { 932, 1 }, - /*317*/ { 933, 1 }, - /*318*/ { 934, 1 }, - /*319*/ { 935, 0 }, - /*320*/ { 936, 1 }, - /*321*/ { 937, 0 }, - /*322*/ { 938, 1 }, - /*323*/ { 939, 0 }, - /*324*/ { 940, 1 }, - /*325*/ { 941, 1 }, - /*326*/ { 942, 0 }, - /*327*/ { 943, 1 }, - /*328*/ { 944, 1 }, - /*329*/ { 945, 0 }, - /*330*/ { 946, 1 }, - /*331*/ { 947, 1 }, - /*332*/ { 948, 1 }, - /*333*/ { 949, 1 }, - /*334*/ { 950, 1 }, - /*335*/ { 951, 1 }, - /*336*/ { 952, 1 }, - /*337*/ { 953, 1 }, - /*338*/ { 954, 0 }, - /*339*/ { 955, 1 }, - /*340*/ { 956, 1 }, - /*341*/ { 957, 1 }, - /*342*/ { 958, 1 }, - /*343*/ { 959, 1 }, - /*344*/ { 960, 1 }, - /*345*/ { 961, 1 }, - /*346*/ { 962, 1 }, - /*347*/ { 963, 1 }, - /*348*/ { 964, 1 }, - /*349*/ { 965, 1 }, - /*350*/ { 966, 0 }, - /*351*/ { 967, 1 }, - /*352*/ { 968, 1 }, - /*353*/ { 969, 1 }, - /*354*/ { 970, 1 }, - /*355*/ { 971, 1 }, - /*356*/ { 972, 1 }, - /*357*/ { 973, 1 }, - /*358*/ { 974, 0 }, - /*359*/ { 975, 1 }, - /*360*/ { 976, 1 }, - /*361*/ { 977, 1 }, - /*362*/ { 978, 1 }, - /*363*/ { 979, 1 }, - /*364*/ { 980, 1 }, - /*365*/ { 981, 1 }, - /*366*/ { 982, 0 }, - /*367*/ { 983, 0 }, - /*368*/ { 984, 1 }, - /*369*/ { 985, 1 }, - /*370*/ { 986, 1 }, - /*371*/ { 987, 0 }, - /*372*/ { 988, 0 }, - /*373*/ { 989, 0 }, - /*374*/ { 990, 1 }, - /*375*/ { 991, 0 }, - /*376*/ { 992, 0 }, - /*377*/ { 993, 0 }, - /*378*/ { 994, 1 }, - /*379*/ { 995, 0 }, - /*380*/ { 996, 0 }, - /*381*/ { 997, 1 }, - /*382*/ { 998, 0 }, - /*383*/ { 999, 1 }, - /*384*/ { 1000, 0 }, - /*385*/ { 2000, 0 }, + /*310*/ { 924, 0 }, + /*311*/ { 925, 1 }, + /*312*/ { 926, 0 }, + /*313*/ { 927, 1 }, + /*314*/ { 928, 1 }, + /*315*/ { 929, 1 }, + /*316*/ { 930, 1 }, + /*317*/ { 931, 1 }, + /*318*/ { 932, 1 }, + /*319*/ { 933, 1 }, + /*320*/ { 934, 1 }, + /*321*/ { 935, 0 }, + /*322*/ { 936, 1 }, + /*323*/ { 937, 0 }, + /*324*/ { 938, 1 }, + /*325*/ { 939, 0 }, + /*326*/ { 940, 1 }, + /*327*/ { 941, 1 }, + /*328*/ { 942, 0 }, + /*329*/ { 943, 1 }, + /*330*/ { 944, 1 }, + /*331*/ { 945, 0 }, + /*332*/ { 946, 1 }, + /*333*/ { 947, 1 }, + /*334*/ { 948, 1 }, + /*335*/ { 949, 1 }, + /*336*/ { 950, 1 }, + /*337*/ { 951, 1 }, + /*338*/ { 952, 1 }, + /*339*/ { 953, 1 }, + /*340*/ { 954, 0 }, + /*341*/ { 955, 1 }, + /*342*/ { 956, 1 }, + /*343*/ { 957, 1 }, + /*344*/ { 958, 1 }, + /*345*/ { 959, 1 }, + /*346*/ { 960, 1 }, + /*347*/ { 961, 1 }, + /*348*/ { 962, 1 }, + /*349*/ { 963, 1 }, + /*350*/ { 964, 1 }, + /*351*/ { 965, 1 }, + /*352*/ { 966, 0 }, + /*353*/ { 967, 1 }, + /*354*/ { 968, 1 }, + /*355*/ { 969, 1 }, + /*356*/ { 970, 1 }, + /*357*/ { 971, 1 }, + /*358*/ { 972, 1 }, + /*359*/ { 973, 1 }, + /*360*/ { 974, 0 }, + /*361*/ { 975, 1 }, + /*362*/ { 976, 1 }, + /*363*/ { 977, 1 }, + /*364*/ { 978, 1 }, + /*365*/ { 979, 1 }, + /*366*/ { 980, 1 }, + /*367*/ { 981, 1 }, + /*368*/ { 982, 0 }, + /*369*/ { 983, 0 }, + /*370*/ { 984, 1 }, + /*371*/ { 985, 1 }, + /*372*/ { 986, 1 }, + /*373*/ { 987, 0 }, + /*374*/ { 988, 0 }, + /*375*/ { 989, 0 }, + /*376*/ { 990, 1 }, + /*377*/ { 991, 0 }, + /*378*/ { 992, 0 }, + /*379*/ { 993, 0 }, + /*380*/ { 994, 1 }, + /*381*/ { 995, 0 }, + /*382*/ { 996, 0 }, + /*383*/ { 997, 1 }, + /*384*/ { 998, 0 }, + /*385*/ { 999, 1 }, + /*386*/ { 1000, 0 }, + /*387*/ { 2000, 0 }, }; int data_size = ARRAY_SIZE(data); int i, ret; @@ -445,7 +447,7 @@ static void test_numeric(int index) { /* Binary chop version: Whether ISO 4217 numeric */ static int bc_iso4217_numeric(int cc) { - static const short codes[179] = { + static const short codes[180] = { /*ALL*/ 8, /*DZD*/ 12, /*ARS*/ 32, /*AUD*/ 36, /*BSD*/ 44, /*BHD*/ 48, /*BDT*/ 50, /*AMD*/ 51, /*BBD*/ 52, /*BMD*/ 60, /*BTN*/ 64, /*BOB*/ 68, /*BWP*/ 72, /*BZD*/ 84, /*SBD*/ 90, /*BND*/ 96, /*MMK*/ 104, /*BIF*/ 108, /*KHR*/ 116, /*CAD*/ 124, /*CVE*/ 132, /*KYD*/ 136, /*LKR*/ 144, /*CLP*/ 152, /*CNY*/ 156, /*COP*/ 170, /*KMF*/ 174, /*CRC*/ 188, /*HRK*/ 191, /*CUP*/ 192, @@ -458,12 +460,12 @@ static int bc_iso4217_numeric(int cc) { /*PYG*/ 600, /*PEN*/ 604, /*PHP*/ 608, /*QAR*/ 634, /*RUB*/ 643, /*RWF*/ 646, /*SHP*/ 654, /*SAR*/ 682, /*SCR*/ 690, /*SLL*/ 694, /*SGD*/ 702, /*VND*/ 704, /*SOS*/ 706, /*ZAR*/ 710, /*SSP*/ 728, /*SZL*/ 748, /*SEK*/ 752, /*CHF*/ 756, /*SYP*/ 760, /*THB*/ 764, /*TOP*/ 776, /*TTD*/ 780, /*AED*/ 784, /*TND*/ 788, /*UGX*/ 800, /*MKD*/ 807, /*EGP*/ 818, /*GBP*/ 826, /*TZS*/ 834, /*USD*/ 840, - /*UYU*/ 858, /*UZS*/ 860, /*WST*/ 882, /*YER*/ 886, /*TWD*/ 901, /*UYW*/ 927, /*VES*/ 928, /*MRU*/ 929, /*STN*/ 930, /*CUC*/ 931, - /*ZWL*/ 932, /*BYN*/ 933, /*TMT*/ 934, /*GHS*/ 936, /*SDG*/ 938, /*UYI*/ 940, /*RSD*/ 941, /*MZN*/ 943, /*AZN*/ 944, /*RON*/ 946, - /*CHE*/ 947, /*CHW*/ 948, /*TRY*/ 949, /*XAF*/ 950, /*XCD*/ 951, /*XOF*/ 952, /*XPF*/ 953, /*XBA*/ 955, /*XBB*/ 956, /*XBC*/ 957, - /*XBD*/ 958, /*XAU*/ 959, /*XDR*/ 960, /*XAG*/ 961, /*XPT*/ 962, /*XTS*/ 963, /*XPD*/ 964, /*XUA*/ 965, /*ZMW*/ 967, /*SRD*/ 968, - /*MGA*/ 969, /*COU*/ 970, /*AFN*/ 971, /*TJS*/ 972, /*AOA*/ 973, /*BGN*/ 975, /*CDF*/ 976, /*BAM*/ 977, /*EUR*/ 978, /*MXV*/ 979, - /*UAH*/ 980, /*GEL*/ 981, /*BOV*/ 984, /*PLN*/ 985, /*BRL*/ 986, /*CLF*/ 990, /*XSU*/ 994, /*USN*/ 997, /*XXX*/ 999, + /*UYU*/ 858, /*UZS*/ 860, /*WST*/ 882, /*YER*/ 886, /*TWD*/ 901, /*SLE*/ 925, /*UYW*/ 927, /*VES*/ 928, /*MRU*/ 929, /*STN*/ 930, + /*CUC*/ 931, /*ZWL*/ 932, /*BYN*/ 933, /*TMT*/ 934, /*GHS*/ 936, /*SDG*/ 938, /*UYI*/ 940, /*RSD*/ 941, /*MZN*/ 943, /*AZN*/ 944, + /*RON*/ 946, /*CHE*/ 947, /*CHW*/ 948, /*TRY*/ 949, /*XAF*/ 950, /*XCD*/ 951, /*XOF*/ 952, /*XPF*/ 953, /*XBA*/ 955, /*XBB*/ 956, + /*XBC*/ 957, /*XBD*/ 958, /*XAU*/ 959, /*XDR*/ 960, /*XAG*/ 961, /*XPT*/ 962, /*XTS*/ 963, /*XPD*/ 964, /*XUA*/ 965, /*ZMW*/ 967, + /*SRD*/ 968, /*MGA*/ 969, /*COU*/ 970, /*AFN*/ 971, /*TJS*/ 972, /*AOA*/ 973, /*BGN*/ 975, /*CDF*/ 976, /*BAM*/ 977, /*EUR*/ 978, + /*MXV*/ 979, /*UAH*/ 980, /*GEL*/ 981, /*BOV*/ 984, /*PLN*/ 985, /*BRL*/ 986, /*CLF*/ 990, /*XSU*/ 994, /*USN*/ 997, /*XXX*/ 999, }; int s = 0, e = ARRAY_SIZE(codes) - 1; @@ -510,3 +512,5 @@ int main(int argc, char *argv[]) { return 0; } + +/* vim: set ts=4 sw=4 et : */ diff --git a/backend/tests/tools/bwipp_dump-barcode.ps.diff b/backend/tests/tools/bwipp_dump-barcode.ps.diff index 082e074f..decc858d 100644 --- a/backend/tests/tools/bwipp_dump-barcode.ps.diff +++ b/backend/tests/tools/bwipp_dump-barcode.ps.diff @@ -1,6 +1,6 @@ ---- /home/mburke/code/bwipp/postscriptbarcode/build/monolithic/barcode.ps 2022-07-08 18:34:14.221029287 +0100 -+++ backend/tests/tools/bwipp_dump.ps 2022-07-08 18:29:43.830028306 +0100 -@@ -15706,8 +15706,8 @@ +--- /home/mburke/code/bwipp/postscriptbarcode/build/monolithic/barcode.ps 2022-07-14 20:00:40.532978330 +0100 ++++ backend/tests/tools/bwipp_dump.ps 2022-07-14 20:17:25.203302237 +0100 +@@ -16606,8 +16606,8 @@ } bind /fime { /sbs [2.25 6.75 2.25 15.75 2.25 6.75 2.25] def @@ -11,7 +11,7 @@ } bind >> def -@@ -27194,34 +27194,80 @@ +@@ -28094,34 +28094,80 @@ pop } ifelse @@ -111,7 +111,7 @@ end -@@ -27281,7 +27327,7 @@ +@@ -28181,7 +28227,7 @@ pop } ifelse @@ -120,7 +120,7 @@ % Get the result of encoding with ean8 and gs1-cc options (lintype) (ean8) put -@@ -27289,29 +27335,75 @@ +@@ -28189,29 +28235,75 @@ options (dontdraw) true put % Plot the linear part @@ -216,7 +216,7 @@ end -@@ -27371,34 +27463,80 @@ +@@ -28271,34 +28363,80 @@ pop } ifelse @@ -316,7 +316,7 @@ end -@@ -27473,34 +27611,80 @@ +@@ -28373,34 +28511,80 @@ /opt options >> def @@ -416,7 +416,7 @@ end -@@ -27560,7 +27744,7 @@ +@@ -28460,7 +28644,7 @@ pop } ifelse @@ -425,7 +425,7 @@ options (lintype) (databaromni) put options (linkage) true put -@@ -27571,7 +27755,7 @@ +@@ -28471,7 +28655,7 @@ linear options //databaromni exec dup (sbs) get /linsbs exch def dup (bhs) get 0 get 72 mul /linheight exch def @@ -434,7 +434,7 @@ % Plot the separator /sepfinder { -@@ -27602,20 +27786,66 @@ +@@ -28502,20 +28686,66 @@ sep 0 [0 0 0] putinterval sep sep length 4 sub [0 0 0 0] putinterval 18 sepfinder 64 sepfinder @@ -513,7 +513,7 @@ end -@@ -27674,7 +27904,7 @@ +@@ -28574,7 +28804,7 @@ pop } ifelse @@ -522,7 +522,7 @@ options (lintype) (databarstacked) put options (linkage) true put -@@ -27685,7 +27915,7 @@ +@@ -28585,7 +28815,7 @@ linear options //databarstacked exec dup (pixs) get 0 2 index (pixx) get getinterval /bot exch def dup (pixy) get /linheight exch def @@ -531,7 +531,7 @@ % Plot the separator /sepfinder { -@@ -27713,20 +27943,52 @@ +@@ -28613,20 +28843,52 @@ sep 0 [ 0 0 0 0 ] putinterval sep sep length 4 sub [ 0 0 0 0 ] putinterval 18 sepfinder @@ -596,7 +596,7 @@ end -@@ -27785,7 +28047,7 @@ +@@ -28685,7 +28947,7 @@ pop } ifelse @@ -605,7 +605,7 @@ options (lintype) (databarstackedomni) put options (linkage) true put -@@ -27796,7 +28058,7 @@ +@@ -28696,7 +28958,7 @@ linear options //databarstackedomni exec dup (pixs) get 0 2 index (pixx) get getinterval /bot exch def dup (pixy) get /linheight exch def @@ -614,7 +614,7 @@ % Plot the separator /sepfinder { -@@ -27824,20 +28086,52 @@ +@@ -28724,20 +28986,52 @@ sep 0 [ 0 0 0 0 ] putinterval sep sep length 4 sub [ 0 0 0 0 ] putinterval 18 sepfinder @@ -679,7 +679,7 @@ end -@@ -28012,7 +28306,7 @@ +@@ -28912,7 +29206,7 @@ pop } ifelse @@ -688,7 +688,7 @@ options (lintype) (databarlimited) put options (linkage) true put -@@ -28023,7 +28317,7 @@ +@@ -28923,7 +29217,7 @@ linear options //databarlimited exec dup (sbs) get /linsbs exch def dup (bhs) get 0 get 72 mul /linheight exch def @@ -697,7 +697,7 @@ % Plot the separator mark -@@ -28031,22 +28325,68 @@ +@@ -28931,22 +29225,68 @@ counttomark 1 sub array astore /sep exch def pop pop sep 0 [0 0 0] putinterval sep sep length 9 sub [0 0 0 0 0 0 0 0 0] putinterval % 4 + 5 right guard spaces @@ -780,7 +780,7 @@ end -@@ -28106,7 +28446,7 @@ +@@ -29006,7 +29346,7 @@ pop } ifelse @@ -789,7 +789,7 @@ options (lintype) (databarexpanded) put options (linkage) true put -@@ -28117,7 +28457,7 @@ +@@ -29017,7 +29357,7 @@ linear options //databarexpanded exec dup (sbs) get /linsbs exch def dup (bhs) get 0 get 72 mul /linheight exch def @@ -798,7 +798,7 @@ % Plot the separator /sepfinder { -@@ -28146,20 +28486,60 @@ +@@ -29046,20 +29386,60 @@ 18 98 bot length 13 sub {} for 69 98 bot length 13 sub {} for ] {sepfinder} forall @@ -871,7 +871,7 @@ end -@@ -28218,7 +28598,7 @@ +@@ -29118,7 +29498,7 @@ pop } ifelse @@ -880,7 +880,7 @@ options (lintype) (databarexpandedstacked) put options (linkage) true put -@@ -28229,7 +28609,7 @@ +@@ -29129,7 +29509,7 @@ linear options //databarexpandedstacked exec dup (pixs) get 0 2 index (pixx) get getinterval /bot exch def dup (pixy) get /linheight exch def @@ -889,7 +889,7 @@ % Plot the separator /sepfinder { -@@ -28255,21 +28635,49 @@ +@@ -29155,21 +29535,49 @@ 19 98 bot length 13 sub {} for 70 98 bot length 13 sub {} for ] {sepfinder} forall @@ -952,7 +952,7 @@ end -@@ -28329,7 +28737,7 @@ +@@ -29229,7 +29637,7 @@ pop } ifelse @@ -961,7 +961,7 @@ options (inkspread) (0) put options (dontdraw) true put -@@ -28356,35 +28764,87 @@ +@@ -29256,35 +29664,87 @@ linear << options {} forall >> //gs1-128 exec dup (sbs) get /linsbs exch def dup (bhs) get 0 get 72 mul /linheight exch def @@ -1063,7 +1063,7 @@ end -@@ -29934,3 +30394,189 @@ +@@ -30834,3 +31294,189 @@ % --END ENCODER hibcazteccode-- % --END TEMPLATE-- diff --git a/backend/tests/tools/bwipp_dump.ps.tar.xz b/backend/tests/tools/bwipp_dump.ps.tar.xz index 57845cefe62d63979c00af4a4e013099806a165b..35af5d9bcc800a3195b209317fcc8073ebc84e7b 100644 GIT binary patch literal 126720 zcmV(pK=8l)H+ooF000E$*0e?f03iV!0000G&sfapaOdy-T>vp1$yUEJ0H%@u`y9Po z7M&UcT)M1GaJ=_k5-&EC?CM|4^bU$@PaXN$U4{hh1g2hUt_NyLswmFzFdsNxP1fm{ z)jSKDM+oe8zv?n{L<236R2ivsV{vhCIN15^EP#Y3Ap+MxA***BoVAMlt1?j(w-ouI3Yik zf+I0jP;Pm!56o$>z*8$EH=AS3TuuR*AzXtXABO=BO^@bA#>dM5i;_ta_wu)Mi4IRB z;a6Vlv=?G2ox>A1}!N<%X1N5u(5IIQ)O*I5a z-%J&NfTTCdPF&x86bDQ`*b?|zqivB@S6vA&!ZlYpMxntYk*_2*0#l&mp?xW$Jxrk?0x60S<9u*^MAcdzPUqZ}o8)3m zJlE;c;dGXWK=v5{+`Bt9WL~ljQ9|V6tTNt=eG1==<1Tj46ES>8EOKjaC}L`o;Wa>lE*;9)X~xM2TvRVjzfrCtYYRbTcL45Wyd-d7SeK^ zU|&Qrch$=XU~qVmW>lcolswHP$3ly&^G&b*y8ZdX-M25T z$0OY<-8qbTydzx4Z4JyywUami+O+vQEO{m6M!0K{Rrc%NIxqQ2{_^wY$9V!qPs;q! zzGXaafa(|8S;p)u5{IIQ1GkmH_E2F4mt~aB;@jSe3AXIMwAd;{RC#^UuU2=r{x)@h z{o(*{yClPg!7zsMqJfgMF~4-R(Nh7vPnZ}SiXu)DvuJQ zINv_Qf!lp;G=x`GL0s~aaa^imLW+v{`s3g?Zi+r@8P+G_f%>OR0DT?=lVxNV zne|1x-Jw+T%cLi=NN`*o*uz6739WpqIbI`)N4UG_QK*r9pruQ~D?1)y$}g1Sba5FhIDlb- z><`bQ{Mqh-9f*_r?%BV*!%C-Zmj&u!Kv6L4FWfhz-kj@diqjF!>g3jAxr~46`8cE^ z&j9LE#QM~{rq!X%Tl;VM*69+Fw>Ll%ZzZV~`H$X2L4@Jm&)eCQ6)e_kMsuAf?Bu}T zOMb^yDweCW9$$BZmOE!;MOg+L0^;tE!`=R#N-MPAbT^1(uz47=b?OVIPzJ1YG zx}jGCq<~cKD&x5_@3^FxB9|D|cki!a;Hw6XKhWeqfQN+kZvR4v$JlCl*SaUYfaCz~^1=#TILk z;aJ*GoocS;O4J7{xy@ZXd|ac3u@ZsRKOi)rKZ$WXKGKSjy23|H6DL@({T}!Nr2r-Y z+x%-eG^4dhy{lz%jyBW}6^Z?$hxd*v4lHOB-8&35gUYB1dnX2npsx}4VQHCX<*c7y(@|vDW{6jXWUvDyT?+6AI{F(M%TU)PdBiRY0}3btn^C88$R|Xa#{d1Fd-7ri$TK!N8e5eZ^vBl`a_ERctFiY4ax#U5;MO6g z_*GW1uJ{q0(X)%!Wcu(+>6@ikr8@oWSI}Fg(`Kqfr393nw?3@3=v3`68^fF~ZO&@d zN*~L6F3tsri5vhh{hF3_j9)ma;4&9oJofM^$%ILbD0Pk!%pxj;j^Fc6C#pq*5U9!zcA78OlUu959b7Jva%SDkV+a+k9jv(k7u0OFDnHn`E zgAn80&Sz=!(YS|q^OI4ZG@Hx~`66qx(S`6Iz3vV*=sq*$Dn;Ravy-#rBEjt3h+xoNDsoCA^R; z9Rl?l!)kpr0>NH*w8Ax$E`0jLwpS2RWWYb?g_PRkm5w2HI?=V4fDF~UQ0t3@8OWo^ z`gc!Sat(yU;J^XV`puROcZB)Y-CkS)|&GxTH7MgdS^iUCSa7(ax=F z$G1PSbDG(JG{D0(N|T~81P}60qzWfbs0|ni{FL7+cvPM6=UBPUBpA|g za}l_d@I(Hv@fe*L)QwXFQb4WFh;hApH>D-Q)x7kj5)`U56Pc*UQo=QZ`L6PF#--8ddrb10==Qma; z)ZMayLkxO$lXTOZ7L9bBqJ0Zivr|+=9PHz>V8GgR1WG1OoR3>F_XLxUXzYstYT&^P_Zm(G_6t-^$Iw!$J3qE`j5iMGH!z?KR`7k ziNX;mc{Z+NrP8N8$k?i}SfygWWY?^OWm7B4jN#u5t|Wn2npd1&zjU{nweDTXpR~y_ zBa+RdUMpka@*IP;?T(e?kNVW4!0DlB-SiOk_?5}Qru1vY3WL_jkv@V|q4hjf#h45u zZ8WEX;+BN&qLT!57G`#Yy4jec_G970%9ysQKk?~Cun3ca3SLeNv5x|G%;NU|7*-`A zH6q793bzy}+6}`ZX0TQ!UuTDz4!@gh4p`Ph0Fy26RaIASFF$6o+I-}CSMOX)xJT*1 z8LNVQ*ngTs)+>=zJR$`+J>pZGN}RgIfprLAetPR?i1BAH^OX* z6r|DOkMPocg*t}u33UU}og`q2+dY!G1#_$bt&r(8jgQ>*l>a0Ny&*;ck`jm(OIHT9 z`Gye0uae!kCDP7@*bGhx<|LEPytUE`GYn~cJdA7c6WmGYyTy^nh+rL%@c*a8TF5}n znGg<44Jr>|Nhs3vKCaIJ+ji{>k9FU2F(tPV$~sSVjI^4z+(Z|Ui}McH0Zz1j-rKgb zQiGJM)~8@k?(A(OKthQG@O9-Ny+H!8DtUo4ekPt)0@2tI}ihb+Jos`OJMT z)CNI^%HVG)?mninRaM6I9s;zX;0j87Qe7s^X)KDWz&Oy=l)vdQD_O@?^oRfrF z+{SBPHsXULH!g)lMrYDuJABbRbOFqDnQL%;ua<{a?oA@nm-L5T#daZ9`S-;!b4z6> zY}G&n78G)3`eYJ{J95@I1C>ZOCw2_!1b4z8nd$ZzP56DJ2xO%tYz2rit|AtS#};(9 zN7eEn8;b>(WVFJ%QX_*vP4Gl$F&oNY^YmV(UJ2if5jQu@Jlc@nJp%YK0uQ%P?60cz zydY@@$mpTgj%`Bc9m%(bCfPm1AB8TSh7Nz9+1oeOzE{|%Sz_KEU2jvevy;Qs^b*>D zFcp*%d;vwMt{1^3zay=+ax+{emf<;dU`Lq$QjLYk^O0Ia|)1e(&fGZ_LT6~rN zUww1*gG)>*np*B5FO?l!ROag9hZup7OfDvu_YZI~Q3F$aojV0A4p|13J#3DSjSyF- z>AlfamQNB{vEtl!yff{uTaHpl%Z|$;748TRWY5Qn^ruWxC#Y*cbVIBd6CZnKQ7| z)|W~e>6rmE9m6fPM#XPxh&z|wTuY~nzoW$I64iF#Y%0vh?)8qF0O_h{K;Hk}Q!riv z)^v6Xw+vF-`Ey$K z%s9%ug?9EffKmmupM-C5wCzDRYkxPPgTHF&*`_$F?{T1+WyFp~)Yi8jgRGe-vKBlh zux*B)ZBP^rC4Vw9VfaUn?+SU&nI45TlY7NnqCuu{J-N}@b6aU<%>`(7VEnB&hE@eK zp84x+?hRfJ??x?|AKjf}FOGhM>q$qWA>dW{?D5IY%<`X1Q~;h>v(2aBySQJPP@hvE ztdENS#|!KH(6F&~#(_N-69F*W3lJF78L19<*i}Zrse+m#Ns;Hm=7rMHUu0e}<$M1r zSnt{ggA)xgg6j3qp%EU zY2f+;&H^V1<6#X^lUZ5J3P0*B-hEK1e_LJvevKi5;&RTJ#g~KYLHL{n{ZH`uX(Imy>JhDZxUWVGOIBH(lT(%aVp^e)GrAC$l!pGT&8qUo5u zGS|7iv%Iddb1gb;`bza1Wj!|I7EHXrxu}~#y!KnEF4+hWI>#m&ME~*cUUC(umKca3 ziJ%YB2_1Cw&$3qjal;wUH09U@uir^+Ax$)tCOpeOGEib+$Hg8@__;UIMfE&yTWXR+ zTMr1;CYIgf6f=s?!EIdHmOoV93p{*olCcx>!A1>>UTBE83$fH98uv9xt zfYBX>j;$?qIwuDzSR2(R;>Xbct-wBVPLYhnEe_EKxN|;FlV!~|h~?}CP=d@U`7x&} z9`X5kQGeoX%?p=#ReTPtfqez)ACiOI7D#WPD){N{UsIAOX>hSaB{@ zIrfh%?bICW_|O;dufeq1T_k+B$=+Z^XU{KFuA2dRDQLj640U9K=DJBh)0iUK*g}(D z>$|5FJ4}D^yd{$D6oVTj+XtgN0_DvOb30ZSFU ze-{eyN6kwo00JM(%!UTVh)sKHskC5&E(382ti0U+sy}(JbN;fK#l3^K6Eex^{D1V& z{Ot&L)(p(OIc^j5_fM}S`p-3nZzyjDvHG|}M2T{!7fMt`{-L5p6;7vP5p?zP3rJNF zVm$L~IFE)38ABwr$IHtI+_`V)wO42do?1oTI;coZMJDQt&!n+5D@1`JDra!F^%5{m ze#(yCIkVd_RdWn|Z-6RJ(Y&uulqiZyAYVB};@t|1$3w+fnS^}G&((9kERk57&Dna< zI@kX676Zu1n50#(3}=`iUnV z57t%Aouz=@g`D4 zu%$bZdMyv*TUJ{z%i-$!eCWMoUzVA93Usq0=DZbrX zdP_EbWP`;1Y4aSMBi_@^YAJ7qH;<3hyV{x$U@Nxiq>WG;wf`(D zSDG~TGR~^f?HRso%>!BqsjqO8-0IFOc98p>?+0ZwC3WMexYP2$GMHRNXNeWLw}wpQ zUEoi_6-ih4sQrnPA-xH--ENNeH+FbR-N6>4l-QQ2?K8qO$I2t$?S(vSc-9@N%7EWY z4&O>l|0|=D$K{#CX%co1-nrauI=DvT2WglPzD4>_D3O~46p|L>(rDjHWH#UVu!aJ4 z>zboD9qasG*pQ0Jc+9kCMrDBo;mt2bRGKr0WB#P0&5jkB)*8Q%MaN@nfI9~CprBsrhWwMZN`=|SqX_BV%B{%(u*F-6Y0FYQW9n1= zy0HRD=s!G>QH@Q^JTGh_USi?4xIt78#B1eUOP3wzn1%4esGI3>x?nqK3yG~O6>Hh} z?q80qL54r`8%HaS^OcFqr!vwB86IHJu0Y@_;?6gbg-pg^us0Bj`z}-wwuwPa$?k4i z_GFOwD&kZeJ7X4=%JHQ!>0e{^)1*l7OGdXQ!ZYmFL=Hc~r`yf{L$3&FSp64A5b8yh zeS6fgzg72qRE@^Wl5_Gw8f8_4o~#a8bnla-G@~%rbr7V5s#$LLwYIac0+*`YKGmw( zQ*vnPn)1rL3$?0=swCFm%dJnC`3{?9^J4c{*@S-?Fc005OMavSFru4q;^Z`Ue+3if z)Onu2QJe*((g;o%wEQWNugUm8PfxskHfs(hiyp2)a%BiE@Hf=WkvtzNZhJ~_ z5xN0_dZI;cCAMkRcMq>m6!>-DX1{Qn6Z`8}cW~C`;(UjbjN`FYbGXE`u2H;C%|4$>XCajPTavd$K=+5$V|3G;F%dg{`!FXKQD7HJ8q2eA z>vmn2ujur)jy0X&DjGQ$kaMjrzqp)2y^T+T-By1ws`@=wHscYm z$ZnP7%ry6eYWJ!D6^68DU+_YrS1?(ADso&#C4rqWmCPX0rrdAzlBTlQiynj}Z~2-N zvB`n5iB+~;Z}Di`g5@s51fqs^_PslsX0R4|#w5V+dK01LiB!oNPF9dgzA9`t0)J4; zjwdsJw!V4U*>@e`4$!EVvuWKQyvVDuhbo0GfQ_-FiPJXZexazpxdoA2I1p(+9t~(^ zYz|H^gyYA=VZk$t4$>EzEPa!^|L_2gz#o?e#Hz0_BL#*4j+zWmgaafXMM^rn-3g5H zO3k7o+dy^|&-${Kf5!)eHOX2OO78)h+I_hJgHF9eC#r`yPw_>O4 ze8HHGKZ39EXSaRgAHeg~HW(@oTW;QMY>d{FEtI}m{E})lsS`Q=JwrqR`|4ZuGkZ9I zW{Uy6K$*78(VDuikhDN)ET~SKk#S+2w39Mu{#D(?WlQojLBB=V`Oq$Zg!GyVztALZ zi3LX97;S^uPS^(pfQ|g<1F|@#$qV&zIXAS%!08T!uTY-=PWAq+MW5O<*0tm(4FnT2 zHh{yP3u3tvGm6Brw&FSW^zH1{)kBQJZN4V$za=H5`y9YyM!j#+QKb4qfdVqCzA>JI z%NiduK{LFllN85&lNiJ~3`wbJB6g#SlPjOMO$q5f^d93Dn|BhXgYqqY2(^XpQN}st z`(0^`OK5i{?dSuh_fNX&cq6V;ldCN1Ypkg!_xb8K=*>7t$1EL>+8vL<8s{k|{buPqNb-$UvcbYb) z6YA#Q*xx+6iZiEYC`7i_&kz5S=>-j6NX8QcA4X${I=)|+o@F|f+kvajyeK-H52n_o zn1;ga^Bx2pR5#{XuB30nwf$UZCX6`;P@8PS> zVRRK3YCQDYy%89qdfriNBh@@G!dgv@0R&>?{}8Y{(ki03IwtJLT#YxLXa(Ip(_I{y z7f=+CMO-CiUTzRy+%%8 z+D51c<6za*Jw4vlY$jYCoWjTA^gkywi{fUjPj$E|-0W|PXBGnJpazDWr)>=e9@p%7qNy`e#F zh*q<(!tzXACZd{hR{&^MeJ?j0XAvq?#4UiO(~pt%xoMM|ZWU0_Xp!fP4i!$nIX&*Z zNB-9aMT%@UZ?9-4(Zwfe_J+`hU}9^V?hoeX8{$^J)x2iiS75vUeavb^sxGE!mv>)H z^lZLIY+@GBcEl6}xrJXCmY=cj3LYWAdGZy{3wt{Ot7#lCgI(b- zE=DWdOSDl%pCu2@fRB_+F5y`UhzWSbw6SMIPLy@NK7blg%0Nb}S+eT>iS|nn0(uZs z_%?0gm}Tdyin4#1Yzh3{%pmI$U~@2*FyvlOG#CXnn2oK)U+A<=rJ8j45WRz1V0ky# z_Z-XGP5j?39o&pJBheWUTPl+W3f*mCCZ-TwRl^7I;zv~bYp*?ks+fVdDh@CffUTIg zAH|J6TUNATNlAfeOvImL;_V)4U++HTz)PcDJ4W;%|2c1XT5f)$^4F}d@KdCWh1*1* zHMl&iY*dR!aR;Be9K3riZHk01kjC|+pncFg|Hl|4G~0HU!TZxkverriV;$Ruc-JEy zk_{+TT(PZ50{X3!VQpi%XDvI}F3tRhI@XYlb?N@o#T`AM%U&8L!$Wr~g&XV7-mkTD z6SJ_lEvV;TiqR?jXaq||MLR02p5+|poDK9Ctq_vxJ}0*_J3pY0v8f%De- zFUgBNl(Iv!cevUwTaTaw69=GWuZ+XNJ;y3guP_T3^U}JaMa{oNKr%TCzJ2BRqS~HV zF71KA_(qzm{OHfg-?_FY0Zjm^PZ(s7N?G?;67L`l615>zYK+%$VhFIM)GZ5O7+#;f z33AY#*GGTfwZV^U&4r!Od0=o4VvmDWf~E^k(;JXUSOL%5&4TK--4YP0sEjiXE4;Mc z)NF(XDsqnt`Bs6Bn+>Y24h^sOPa5ga-!JzXz2lnXr_$Q^VX7{N#4%wHuFJ{m&Pw{C z7r^cQYHy#&+YyoRh9|pU;q$)2jmy0~-BmLYRuzwY?nW$BVK5STy|lnF%%@piJHQWA zvh+k!hL+LsA6iFKv7BNJ&caq5T9xHo566i2%`cPWU9JSHXW#qE{bjFq^ z&X@sxq0GX}ov)PcHXt78N?`$D0Gy+Cf*F&#GeZ9a$w?eW{DFAE5+C73er`-hRRmQN zkXXeW(|D@=lo!RUtO%3e+em^p=K<$UH$+Z+=`XCiB(3t7EEcusDq(_Yz#cCk@aC+7 zj@*M$pC`);;J?Qgz(Bm%ypWcKBp(`Vv0Q$J%<-riuQ~gXi*guwb}D!!%q49a*9;VM zIa}rphGtLa!!F+liNC}owKZy_HOQA7HZkApO3Y`*-wU*3tyEIymPQ#u(>d+lFuTJw z(UKj2$d-BMo(PC!uaGWU z@)R8A_jNh<{7;(&t_7;48puzk?588sojH|Gr|s-geV7?W-WWx8ZJ{SboTzEC$MS~x z?-Yo3&*01#2XzVK=9#G4+3>gcixCuYBrU$FCqzRQ_lvz+L9uPc@5%q_)ShL~-#|Tp zJ2ePK%f9w+HQSrpZTLXMG}H{)AMwV0%3t+nl(c&ZJ#E)8BQ9BE8hK;sZk%vP$Oxu) zrlI1)!=Rry-7V~&q{h1I^4ril4Qx`NZgRXnTEyiM=%veHT9Sb|#MFww$YwcSkozoq z9~wjVho#3**3l*2$Vp2un0D~k?9(2tm@1W{%kKPhhZM1`X-}^IfvXgZwpoSUboD%X z8?EyPxVsQNyy5N!t((+EqNy5knh5A1N~CdBiGH?!dN@#-h^#M-w@id_FLxXWD@O+jB2v~H<@n)L8ja^#<@1aTNZH;q} z;wA+@x1q`5`?UuM7}6^)r4l=+w}f)tRVYfW1<_V1Dl?%f8M=x4Vle5$WEX82tNGe2 z;du(+`Yl`g!Sk#Km@`MmFU)S6bP|$9qfVW_A^;VkBCD{ZPKF|`F{ug3#X21f(g8%} z+>LLcs}`fDmR^#!=*O@nNbqSD?c05D`;9ACp=*oDO1_}|wl)VO6ABITvfq11zft-g z-H`7N1W!U|`pnTSIbfOf#;DRX(Ow!?m_n67Tnn(L%^!JlA_0qIwuMNMw4nP{JdX{Z zJso)s8x}XgH>5s6^B=>urS`?G*%ca*c$SIcNwpB#M>ZiNnPpBFACm=01Z-V&x>P&V zc{{O*`bM9!j~8i2)9%~|r7HaD55OTGYy|TZ^1eP|F%99a)v7Xe?WhZ0z_ZQi?}>0m z*FUcc{UV$D9BN`vbeB%WJy~Eo!y+cgSA3-Yf@V?cf&3a6FT6NDYC$;F+^9{?|XcbCKknM5m!mPuOOrrS{-Z zq}0p4r~r~aHl;a3$fQ|>Hakvuy&wr0ZuJoa^1QVKqQC(eG(lzDfwlTb$K3PtKtA(R zB!rx?EjAP7{WzdR&CkFKdMo0iAKZ1)p_6c>yXrG5xgwcKV~C`?8al68rjWN*Z)F5d zxd~h+{8UE-r=Gg&jYq>dT(}#*lVB&h5d+xgWJ7%sfc=nqzQBIsw0`wZ{$;Py%b5bu zC`p`ZbtnvLF+(FVmAl^)ERU_k-S4vF5m%KG8}itKv6Q zPQZk{iWE>wa;_eVV}@wQI{NXNnS-n#h(nV;{B8GlnOORtn@?Z|ATAT#uecaR!v)T$G%_f3s7{Z8he!IqFy~;EoG$$=%UX=`KqhaAWjC4PqFf~dpyba;LY%tx_5|8KP3 z8@#g+hhji<8rQ&4G-)aZObexr$gS4IQ$>YZwN(1zoPYTtBN#? z9A<$fL4UOIkC){q2hUTWuJ$A?bWRt^TDl7#k2=o>=Q1 z_g?w(ivpha2${4e;;hl{{Zw12(owA2x3^arB!|usV@=x`YI|B@O*;wux^tBVmvV&HpQ@ z@CyqP)ZM;Mvh9{FVokh4jAc#GJ+DB1PShjj(km!@DJD)5bvMJ37)R}Zah4A);s9l_ zEQvb$5LPNzvwXgIqarA~b%TBV8D$+QXjO<}Dd7SVLm&!?tr0sMdOsKsRDFs~P$bUk zZ>plrdhRP3-Clos2>dM`Y_YzqHe&85nD+`xx)ADxK97`Je~h_P-b_8`u&<|*rdn30 zu80o`reN!_!_$n)O4^KBjsrBRz%KJ2!zk}EX`!33hR-Gic=+I z%i`(os<0v=)IbJ zDQ+!IRf`*S&>iHqhPDa4JJ{*H-k`ajwe4NYio@}?n%EmWv$-AVWvh5OFwSyK!~y%` zc|n*;Z}gX*)%>b4TCqN%1g)!c?c5Qo@^7ZdyTIp=Sl4!AmE3UCyyV7>>QX=aSoA8a zA+`8dmRx(Z+5(q=J^Fb*_LnTUJ)al$W#4%`@NB*FVcmeQGbetF!Hx||gj5yhXWQ+^ z07oX3OXuk1WN7>6)mf-&ivKDW$Yd3hRYn&!IOIOcO$rji|Ni34RaTX1&YSmeucCqv z^5JagIDl5e0PL5O9?>M-BgD&Q5ss=J#+`s{K~^y`#eF)-I4nj-gX8lup|=bW%kd`s z@+JK^EaDy9W<>F~ytVMd;p5EVyBj1n@Bo9l%b=TeSt4N>8EwS0>dEa&!pWk;F`f1O zFye*wA+IX-Dw`y&exr3n9g`97!r({JqEaQsz0*odOng4gXR;A!CRcvJJ+lOi9k6IQ zT)0Ge^W#X`yj-TJykfs(?@fgo0SM#xCrqFw?Aah8VD*RzbfsG>3c=dPXIC;|^5>c& zJTF;_PKo3%3lH_4y+mv>#aE_7)Mga4X!#viG=sp*B z7LQM9JpL@A+|L;FBG_A;B|YD9+CgP{K6@?1vu=ubbjiN?W%AtUH$#7ad5qRIny+fX zEL_qT-i#RQnq%8}><#;R78uQi7I!hqY-?ww0yZiH2%i%R&~4o0cb_Oic~UWYrgwLQ zuAzmynes~5z5bXMo0&bTcEH69rnQ%dle=~^Cw7z@<0g_Itsd`IONN}PeJq}IcT``A z{n5SCYrK;@xNGcd*g=2$B+vZW>p9>x1iHjwIH@KQg%mG5`iTyu7>aDxwSpFBCR)eMHf&16qf!)N^N4j++(YxHH?P9c$nztSYkJnH# z*XZ1LCr1!06-Q*)u@X{)fZ4R;XBo$dz!qMniqLV>QFacyBlT~r^U8dlia3NHKMSsUxvM+x)~vI=cp z1GAU~uLi9f>osmPAi~bH0A&c`7@Z08$8 z=lsZEXd~uYAM28XLppSvAfLV4eS`5p`^UGy$Gkk~+RM#VgeqnjMH1z}U2?@oc+1GP za4e%Id51!wqN&)DJVm}-@+YX1wPvAcfOLbq53B<};RgJzn`*nzpnc*CcutP3zHowU zlrm9bj6K&afsj6PvAgSd29-C7rUu`>;yO5Cpftjnu(GQ7MQ z)AMQY1}>gLT|a2($)j7})Q=?r2z;2`!Jm)O{;XsGnus5vt}p(WVqM6YR%q~Eu_SiL z@}jH`8&BQjc>M29qahA7FrN!9YJuTC85jJsddMXcQ@{awxJ^i|LVS*G1tDI#`7}qX zZSex(>yfFMUrk7(>kA-RC8`~Zm2G~DGlViPLFHHu!A*(qtvU*JJu4*3bz_^D!Ki!R zNgzC}eP%Cc$1q;Ud8U{I+M|gZ&bCTL3JJc9?}(gXs&52CfC52zoq$VktLVTPs$z4% zagXHF*yf|NV4K*|F?0EvlEirqn;RsKdCYQ6Gu|h;SL2BK-h~UG;CH$G$UF+52XQ4)i#vq{MPgL*DMQX24p^TaI11he*AYO!2~)4SBBa5{g^rsOqARmuNfzln?6gi}H4-+MZdZIH_#uB;>wf6&ZtywfUL3(rt8~ z`+)wh9p?~WWSrJLEtfr$Q<9TBGQyA8vG#xoG!Cu1o30UZ7S>^{$P5wEKCnQ+W!OuQ z5TxO!DnKO`{TY~4A6D85GD{d8&9Wj)pdtp7c*xTn>umUN+cZIIZaJs%+YwR-6^EWb z*PBgde2e6AF1%i)1wH63YrA!Vwf?dwfsE%i9f8%_6=+>aP?_~)#|TZq!|?pg4vpNx8vA zW^_$ur1u$ej(uENs%-l#)yrnwU z&({LRJ zcHXg}(x{zO?i>VGUYAg=`|}&R+^=QGsxt{NjQJ|>;?ws~4It;Mo@J7NzKtw-vNkm- z8<-E!_*)A|?CevjHc7`=IqF(351>CnY>M845c64yck2a0AvryVOp_wN0!P|JHJ-e! zYA)E6SdpYaJTe*T%s0ZOpdtAn!mI4a37V`|GY;`qhfm8Yrq~TJ{9Uf?rvr%@V55?8 zE8gv$L_}hA$FedEcz#bZM-X@BIHQk!HFLLUeG~N7mi?gYK8d`&2qZ^jPQd%_8>Z%> zw-*KXR)HH{SdbEaFqkx^RG&<+D9>18tJR^|L2%LolN?mt=h@D<(D1@+qa8$>Z&!%b zzQZ~7vv&;t`oh*P4JaZ&-jB;w@HYu=ROzZMrG=3LKajcaB@_J@T+wOkKJQlK=~ zsZ}5H9|Zo@{%ER0LnsTQs&+58NfDe8T01U0b~>wuML1EjzxfWJFlU|g`9;KUo3f^z z!56XG9C|ZnHB%q67AKvOXhH1**r8r61iF?D=r;+sX(*b}4A3;=W8qI<2}lefhFgJ7 z`&!S%qjw9>vF)YN%FCpI+g=G^{3wUk zyZQ_K0w!Z7f44Qh^@#`EPCJQkQ8`ksnt2ho~L>ZB6}{LPhi zi8s9hkmw|tm$15IuG(XMXafHLlqiLf8noR4=)MlZo}6`a{cM(ooz(ZPB(TvP_q!wh z@s|g)lCek!Q4`D=Q;E7ZZp@S*6_ZVr<<--9F2Zjq1B`<{HcQvy$pYFX!`qe6@uYl} z`Kal;!upYo@B>E-({ASA*ZGD8ONVuxrsD=HtKO(17S&mST8i;K${T(BPPY{O*e`?l zLS{+-#gTt};Z1)_@^Fpz6V_WGQUZI3bbXAE0nPNDnyxUW{K(mxt9x=cY1J|sC4-z7 z;bpq#-yy!R7Wa1(<@zrJpM5yB%}~3L8`$E~=IAGuz%O<;hRxH>Q%818Z~f(JCLr#+5A1ok)-YTOu-S;BD$Qt8hA;IKkgDD4wYg7Ga8l zz-n(nv@NC)IdFA;W&q$|e}#0Gkj3w)*n03?H}-JrN6fGLe_cUDBOHJ&SOz`kJ>B@6 zRJM)MZk^f#rL=acSkUgbM=xdTxaBFsHcbyqNge5GxS75YE20>tsN9CQ60?Gro|H;FB9*in^Bu%fH?#nVtdUCWRZGTzpQEi*pcCGn4EI=Sxy2^8$cnGNzte zuy)yWLdECGZws#BZ{g@kgPp>BAz&%f^FX^wiR7KFDYO6LO%p4_uyBC)Jhw?pR}3pT z{vP6)sHcNwQ11_dtjZXb?FUWHqoq*fE24c1@JbSqXb3?K*~A(g=&k(J2`id5EA%ze zZ9?$3>sZPc)zg{=Z7{>8cKYmFWa7qa54lv_ObrAv zJ-bb_io>`n57)G>fc2F-oI08b&Z>rj-3fJrtvRrx%WPRmB;r<5SpH)#tl-gdN6+C! zT&sTY@+-8pf6T3(t3GFzJUVGw%M2C}?4cJ7X4L{TX(6>}y)u3dm_{AuQ}v0So1T2} zG>08wgtxgw-DNozT1j^W;^_$Kn#DtB=%!kr=`!u`N z63i2c`@g&6I1SqKzigO>vfnZgijMt1)QvN089CPQRM0ZQG8{JA;(K$HgQ<-Qq>HPH zZj{W;6$NdvCPh4(4t-jhK}E|1&z@LhsLPF^1)GD^uvn)c)qW~f0HE|5&C_u3Cl*JM zoK4Ykq{OC}eG=60od8>NZDj-&)8`u`x|0dbo~P0ne9LGn=WRVucC3;$O={^$4hMc{!cfz$~D5I?MnaK;pk7gbnx2XE`gGgSZq8dI3Q4$Vv_x zlew08`|A%U;RZaWkIopVJs?BQxU6gagN|4t)&MXJB<>NSDz~gk84r%o{2N z9HGCIi^pVS055aY&&o=z0B<)&dEKPkD67eh!?Llk_p&UV^GFNNBq-1=k8=sCaGW;K zXOT+n&&F2*zC`j40G;fubStCE!KQdS9S=#*vs~D+};Eu znfsvieE13pkz!$ga$fsmy`;jnUh@x9$^*`d;@z-_1Z|sHDFH07mE-o?4OEt|czO68 z7RPyYP~#vM3G3H^jpSLxs|SC{%lWtPWM2t=(9dOo-sOT~;@7bV@I1hWxVfbx$MgEZ zIp>GCI~{=?Kyf`C!KR92ieY`{ZuBV3JzUH=qNz8JGOvPx4_B76F=+av$5<_w4er|h z_}!BlXyQ^$!mMmyYiYlJWT;$6&S7vHG`aL(Z$LuHer86kT}{VUxum(-PKfbP7T!8W zqMkp$D*cp}SP_#~?;PJb+9+j#f?*3eENWFVXEt@W?`NAN$PXkSGQ>+1UYn|}#_N8Y zc5DI+tRV0t|ePmuv z{pH9~#GUP+Q8IfT)t{^O>41J4Q0Y!~r5vX1UX0G>=e(EkRU6rxs&<$~3>F&^d#zh_ z3(+h!>)&fSdtvL*F|9-iO+j%H&1NzB`|oW?Xq4629sI8`c@vJ#8RWVy#(efJ4n9O6 zXu5k`9_2V78A+(#Ia7PHSjKUvAqr&P@mDTr!AiJ#*4mo=WQH7JjkkQxOYM(yW$8g6 zw6RDNh&o~C@jL}Or{jKnEDe}x8j&RLYed6S`&h0hZ&YkXeN(Y<);}~+dZWp%6nWb_ z5sU`W9uFy^GW%EJ<<~{gMVV8OLI~Bsp|`}KPTOHm?@Fek0J>z-Fvy;g8Oyx7E4vM6 zAxvvLvM4~JOzT2y$24OGt(>Pl@t{cM#FG#t?Gdm6u*n%l{DLm2m@TBr-XCMsf9q7H_DTz%G^ao zVVU3^4p$La#}kn$f_jN7Q{x1YOezNr$}b~JSZ5Lwazwn3KDFwy6aGl^{rl}V|L+}5 zQkZ6eE`oRq<=RG9Jl9s>@l9rsdI{OW z4S-kK?(IFD7K0|u$7RU~%|DQtr%`$splGhf15g|fF?pj;!4 zkr(T8{390U%;=V3?>PpN)O6$VdW)y>2v%DP(0F3*BcdeeBEK}A1c<3n=?3D|S@ zE*`>w&GS`u3TV#FV@M2B*~&Wo{cP_@ob`sBAuJs{H5sms8Wgk82I1Ewa$iE|Ph|wx zl}fdmX8LS4R{hAX)LhRv=-Y#=OYz42yunrOiDcLj@nV2wBe%^dc2uQh)?U38`;J!G zfR>V_yt7JjFQA?1*swN&+P^NO)3}ab_7G=?tRS(79Qhq5X>Q%-#*o8FaC6+a%`c#h z+lj}sG_Ept@gx_L+�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 Z!r2Faz(W_3T|=?NXZr#G00004Sz5eiwYmTR diff --git a/backend/tools/gen_gs1_lint.php b/backend/tools/gen_gs1_lint.php index 5154d92b..1016ffce 100644 --- a/backend/tools/gen_gs1_lint.php +++ b/backend/tools/gen_gs1_lint.php @@ -2,8 +2,10 @@ /* Generate GS1 verify include "backend/gs1_lint.h" for "backend/gs1.c" */ /* libzint - the open source barcode library - Copyright (C) 2021 -*/ + Copyright (C) 2021-2022 + */ +/* SPDX-License-Identifier: BSD-3-Clause */ + /* To create "backend/gs1_lint.h" (from project directory): * * php backend/tools/gen_gs1_lint.php > backend/gs1_lint.h @@ -12,8 +14,12 @@ * * php backend/tools/gen_gs1_lint.php -f /gs1-format-spec.txt backend/gs1_lint.h * + ************************************************************************************************* + * NOTE: for up-to-update version requires syntax dictionary that will be available from + * https://github.com/gs1/gs1-syntax-dictionary + * on its release. For now this generator should only be run by someone with a pre-release copy!!! + ************************************************************************************************* */ -/* vim: set ts=4 sw=4 et : */ $basename = basename(__FILE__); $dirname = dirname(__FILE__); @@ -22,8 +28,11 @@ $dirdirname = basename(dirname($dirname)) . '/' . basename($dirname); $opts = getopt('c:f:h:l:t:'); $print_copyright = isset($opts['c']) ? (bool) $opts['c'] : true; -$file = isset($opts['f']) ? $opts['f'] : - 'https://raw.githubusercontent.com/bwipp/postscriptbarcode/master/contrib/development/gs1-format-spec.txt'; +if (!isset($opts['f'])) { // TODO: temporary hack + exit("$basename:" . __LINE__ + . " ERROR: For now this generator must only be run locally with a pre-release syntax dictionary" . PHP_EOL); +} +$file = $opts['f']; $print_h_guard = isset($opts['h']) ? (bool) $opts['h'] : true; $use_length_only = isset($opts['l']) ? (bool) $opts['l'] : true; $tab = isset($opts['t']) ? $opts['t'] : ' '; @@ -31,6 +40,9 @@ $tab = isset($opts['t']) ? $opts['t'] : ' '; if (($get = file_get_contents($file)) === false) { exit("$basename:" . __LINE__ . " ERROR: Could not read file \"$file\"" . PHP_EOL); } +// Strip to last 2 directories TODO: temporary hack +$stripped_dir = dirname($file); +$stripped_file = basename(dirname($stripped_dir)) . '/' . basename($stripped_dir) . '/' . basename($file); $lines = explode("\n", $get); @@ -44,12 +56,14 @@ foreach ($lines as $line) { if ($line === '' || $line[0] === '#') { continue; } - if (!preg_match('/^([0-9]+(?:-[0-9]+)?) +([ *] )([NXC][0-9.][ NXC0-9.,a-z=|]*)(?:# (.+))?$/', $line, $matches)) { + if (!preg_match('/^([0-9]+(?:-[0-9]+)?) +([ *] )([NXYC][0-9.][ NXYC0-9.,a-z=|\[\]]*)(?:# (.+))?$/', $line, $matches)) { exit("$basename:" . __LINE__ . " ERROR: Could not parse line $line_no" . PHP_EOL); } $ai = $matches[1]; $fixed = trim($matches[2]); - $spec = preg_replace('/ +dlpkey[=0-9,|]*/', '', trim($matches[3])); // Strip Digital Link primary key info + $spec = preg_replace('/ +req=[0-9,n]*/', '', trim($matches[3])); // Strip mandatory association info + $spec = preg_replace('/ +ex=[0-9,n]*/', '', $spec); // Strip invalid pairings info + $spec = preg_replace('/ +dlpkey[=0-9,|]*/', '', $spec); // Strip Digital Link primary key info $comment = isset($matches[4]) ? trim($matches[4]) : ''; if (isset($spec_ais[$spec])) { @@ -108,22 +122,38 @@ foreach ($lines as $line) { foreach ($parts as $part) { $checkers = explode(',', $part); $validator = array_shift($checkers); - if (!preg_match('/^([NXC])([0-9]+)?(\.\.[0-9|]+)?$/', $validator, $matches)) { + if (preg_match('/^([NXYC])([0-9]+)?(\.\.[0-9|]+)?$/', $validator, $matches)) { + if (count($matches) === 3) { + $min = $max = (int) $matches[2]; + } else { + $min = $matches[2] === '' ? 1 : (int) $matches[2]; + $max = (int) substr($matches[3], 2); + } + if ($matches[1] === 'N') { + $validator = "numeric"; + } elseif ($matches[1] === 'X') { + $validator = "cset82"; + } else { + $validator = "cset39"; + } + } else if (preg_match('/^\[([NXYC])([1-9]+)?(\.\.[0-9|]+)?\]$/', $validator, $matches)) { + if (count($matches) === 3) { + $min = 0; + $max = (int) $matches[2]; + } else { + $min = $matches[2] === '' ? 0 : (int) $matches[2]; + $max = (int) substr($matches[3], 2); + } + if ($matches[1] === 'N') { + $validator = "numeric"; + } elseif ($matches[1] === 'X') { + $validator = "cset82"; + } else { + $validator = "cset39"; + } + } else { exit("$basename:" . __LINE__ . " ERROR: Could not parse validator \"$validator\" line $line_no" . PHP_EOL); } - if (count($matches) === 3) { - $min = $max = (int) $matches[2]; - } else { - $min = $matches[2] === '' ? 1 : (int) $matches[2]; - $max = (int) substr($matches[3], 2); - } - if ($matches[1] === 'N') { - $validator = "numeric"; - } elseif ($matches[1] === 'X') { - $validator = "cset82"; - } else { - $validator = "cset39"; - } $spec_parts[$spec][] = array($min, $max, $validator, $checkers); } } @@ -196,7 +226,7 @@ foreach ($spec_ais as $spec => $ais) { print << + Copyright (C) 2021-2022 Robin Stuart Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions @@ -232,6 +262,7 @@ print <<<'EOD' OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* SPDX-License-Identifier: BSD-3-Clause */ EOD; @@ -239,8 +270,8 @@ EOD; if ($print_h_guard) { print <<<'EOD' -#ifndef GS1_LINT_H -#define GS1_LINT_H +#ifndef Z_GS1_LINT_H +#define Z_GS1_LINT_H EOD; @@ -249,7 +280,7 @@ EOD; // Print the spec validator/checkers functions foreach ($spec_parts as $spec => $spec_part) { - $spec_funcs[$spec] = $spec_func = str_replace(array(' ', '.', ','), '_', strtolower($spec)); + $spec_funcs[$spec] = $spec_func = str_replace(array(' ', '.', ',', '[', ']'), '_', strtolower($spec)); $comment = ''; if (isset($spec_comments[$spec])) { $comment = ' (Used by'; @@ -437,7 +468,9 @@ EOD; if ($print_h_guard) { print <<<'EOD' -#endif /* GS1_LINT_H */ +#endif /* Z_GS1_LINT_H */ EOD; } + +/* vim: set ts=4 sw=4 et : */ diff --git a/backend/tools/gen_iso4217_h.php b/backend/tools/gen_iso4217_h.php index 277e01eb..4dba2881 100644 --- a/backend/tools/gen_iso4217_h.php +++ b/backend/tools/gen_iso4217_h.php @@ -2,13 +2,14 @@ /* Generate ISO 4217 include "backend/iso4217.h" for "backend/gs1.c" */ /* libzint - the open source barcode library - Copyright (C) 2021 + Copyright (C) 2021-2022 */ +/* SPDX-License-Identifier: BSD-3-Clause */ + /* To create "backend/iso4217.h" (from project directory): * * php backend/tools/gen_iso4217_h.php > backend/iso4217.h */ -/* vim: set ts=4 sw=4 et : */ $basename = basename(__FILE__); $dirname = dirname(__FILE__); @@ -33,12 +34,12 @@ $numeric = array( /*PYG*/ 600, /*PEN*/ 604, /*PHP*/ 608, /*QAR*/ 634, /*RUB*/ 643, /*RWF*/ 646, /*SHP*/ 654, /*SAR*/ 682, /*SCR*/ 690, /*SLL*/ 694, /*SGD*/ 702, /*VND*/ 704, /*SOS*/ 706, /*ZAR*/ 710, /*SSP*/ 728, /*SZL*/ 748, /*SEK*/ 752, /*CHF*/ 756, /*SYP*/ 760, /*THB*/ 764, /*TOP*/ 776, /*TTD*/ 780, /*AED*/ 784, /*TND*/ 788, /*UGX*/ 800, /*MKD*/ 807, /*EGP*/ 818, /*GBP*/ 826, /*TZS*/ 834, /*USD*/ 840, - /*UYU*/ 858, /*UZS*/ 860, /*WST*/ 882, /*YER*/ 886, /*TWD*/ 901, /*UYW*/ 927, /*VES*/ 928, /*MRU*/ 929, /*STN*/ 930, /*CUC*/ 931, - /*ZWL*/ 932, /*BYN*/ 933, /*TMT*/ 934, /*GHS*/ 936, /*SDG*/ 938, /*UYI*/ 940, /*RSD*/ 941, /*MZN*/ 943, /*AZN*/ 944, /*RON*/ 946, - /*CHE*/ 947, /*CHW*/ 948, /*TRY*/ 949, /*XAF*/ 950, /*XCD*/ 951, /*XOF*/ 952, /*XPF*/ 953, /*XBA*/ 955, /*XBB*/ 956, /*XBC*/ 957, - /*XBD*/ 958, /*XAU*/ 959, /*XDR*/ 960, /*XAG*/ 961, /*XPT*/ 962, /*XTS*/ 963, /*XPD*/ 964, /*XUA*/ 965, /*ZMW*/ 967, /*SRD*/ 968, - /*MGA*/ 969, /*COU*/ 970, /*AFN*/ 971, /*TJS*/ 972, /*AOA*/ 973, /*BGN*/ 975, /*CDF*/ 976, /*BAM*/ 977, /*EUR*/ 978, /*MXV*/ 979, - /*UAH*/ 980, /*GEL*/ 981, /*BOV*/ 984, /*PLN*/ 985, /*BRL*/ 986, /*CLF*/ 990, /*XSU*/ 994, /*USN*/ 997, /*XXX*/ 999, + /*UYU*/ 858, /*UZS*/ 860, /*WST*/ 882, /*YER*/ 886, /*TWD*/ 901, /*SLE*/ 925, /*UYW*/ 927, /*VES*/ 928, /*MRU*/ 929, /*STN*/ 930, + /*CUC*/ 931, /*ZWL*/ 932, /*BYN*/ 933, /*TMT*/ 934, /*GHS*/ 936, /*SDG*/ 938, /*UYI*/ 940, /*RSD*/ 941, /*MZN*/ 943, /*AZN*/ 944, + /*RON*/ 946, /*CHE*/ 947, /*CHW*/ 948, /*TRY*/ 949, /*XAF*/ 950, /*XCD*/ 951, /*XOF*/ 952, /*XPF*/ 953, /*XBA*/ 955, /*XBB*/ 956, + /*XBC*/ 957, /*XBD*/ 958, /*XAU*/ 959, /*XDR*/ 960, /*XAG*/ 961, /*XPT*/ 962, /*XTS*/ 963, /*XPD*/ 964, /*XUA*/ 965, /*ZMW*/ 967, + /*SRD*/ 968, /*MGA*/ 969, /*COU*/ 970, /*AFN*/ 971, /*TJS*/ 972, /*AOA*/ 973, /*BGN*/ 975, /*CDF*/ 976, /*BAM*/ 977, /*EUR*/ 978, + /*MXV*/ 979, /*UAH*/ 980, /*GEL*/ 981, /*BOV*/ 984, /*PLN*/ 985, /*BRL*/ 986, /*CLF*/ 990, /*XSU*/ 994, /*USN*/ 997, /*XXX*/ 999, ); $numeric_tab = array(); @@ -68,7 +69,7 @@ if ($print_copyright) { print <<<'EOD' /* libzint - the open source barcode library - Copyright (C) 2021 Robin Stuart + Copyright (C) 2021-2022 Robin Stuart Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions @@ -95,6 +96,7 @@ print <<<'EOD' OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* SPDX-License-Identifier: BSD-3-Clause */ EOD; @@ -102,8 +104,8 @@ EOD; if ($print_h_guard) { print <<<'EOD' -#ifndef ISO4217_H -#define ISO4217_H +#ifndef Z_ISO4217_H +#define Z_ISO4217_H EOD; } @@ -139,7 +141,9 @@ EOD; if ($print_h_guard) { print <<<'EOD' -#endif /* ISO4217_H */ +#endif /* Z_ISO4217_H */ EOD; } + +/* vim: set ts=4 sw=4 et : */