pmt: initial 3.0.2 update
This commit is contained in:
25
include/libgnulib/uninorm/composition-table-bounds.h
Executable file
25
include/libgnulib/uninorm/composition-table-bounds.h
Executable file
@@ -0,0 +1,25 @@
|
||||
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
|
||||
/* Canonical composition of Unicode characters. */
|
||||
/* Generated automatically by gen-uni-tables.c for Unicode 16.0.0. */
|
||||
|
||||
/* Copyright (C) 2009-2024 Free Software Foundation, Inc.
|
||||
|
||||
This file is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Maximum value of the first argument for which gl_uninorm_compose_lookup
|
||||
can return a non-NULL value. */
|
||||
#define UNINORM_COMPOSE_MAX_ARG1 0x16d69
|
||||
/* Maximum value of the second argument for which gl_uninorm_compose_lookup
|
||||
can return a non-NULL value. */
|
||||
#define UNINORM_COMPOSE_MAX_ARG2 0x16d67
|
||||
991
include/libgnulib/uninorm/composition-table.gperf
Executable file
991
include/libgnulib/uninorm/composition-table.gperf
Executable file
@@ -0,0 +1,991 @@
|
||||
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
|
||||
/* Canonical composition of Unicode characters. */
|
||||
/* Generated automatically by gen-uni-tables.c for Unicode 16.0.0. */
|
||||
|
||||
/* Copyright (C) 2009-2024 Free Software Foundation, Inc.
|
||||
|
||||
This file is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
struct composition_rule { char codes[6]; };
|
||||
%struct-type
|
||||
%language=ANSI-C
|
||||
%define slot-name codes
|
||||
%define hash-function-name gl_uninorm_compose_hash
|
||||
%define lookup-function-name gl_uninorm_compose_lookup
|
||||
%compare-lengths
|
||||
%compare-strncmp
|
||||
%readonly-tables
|
||||
%omit-struct-type
|
||||
%%
|
||||
"\x00\x00\x41\x00\x03\x00", 0x00c0
|
||||
"\x00\x00\x41\x00\x03\x01", 0x00c1
|
||||
"\x00\x00\x41\x00\x03\x02", 0x00c2
|
||||
"\x00\x00\x41\x00\x03\x03", 0x00c3
|
||||
"\x00\x00\x41\x00\x03\x08", 0x00c4
|
||||
"\x00\x00\x41\x00\x03\x0a", 0x00c5
|
||||
"\x00\x00\x43\x00\x03\x27", 0x00c7
|
||||
"\x00\x00\x45\x00\x03\x00", 0x00c8
|
||||
"\x00\x00\x45\x00\x03\x01", 0x00c9
|
||||
"\x00\x00\x45\x00\x03\x02", 0x00ca
|
||||
"\x00\x00\x45\x00\x03\x08", 0x00cb
|
||||
"\x00\x00\x49\x00\x03\x00", 0x00cc
|
||||
"\x00\x00\x49\x00\x03\x01", 0x00cd
|
||||
"\x00\x00\x49\x00\x03\x02", 0x00ce
|
||||
"\x00\x00\x49\x00\x03\x08", 0x00cf
|
||||
"\x00\x00\x4e\x00\x03\x03", 0x00d1
|
||||
"\x00\x00\x4f\x00\x03\x00", 0x00d2
|
||||
"\x00\x00\x4f\x00\x03\x01", 0x00d3
|
||||
"\x00\x00\x4f\x00\x03\x02", 0x00d4
|
||||
"\x00\x00\x4f\x00\x03\x03", 0x00d5
|
||||
"\x00\x00\x4f\x00\x03\x08", 0x00d6
|
||||
"\x00\x00\x55\x00\x03\x00", 0x00d9
|
||||
"\x00\x00\x55\x00\x03\x01", 0x00da
|
||||
"\x00\x00\x55\x00\x03\x02", 0x00db
|
||||
"\x00\x00\x55\x00\x03\x08", 0x00dc
|
||||
"\x00\x00\x59\x00\x03\x01", 0x00dd
|
||||
"\x00\x00\x61\x00\x03\x00", 0x00e0
|
||||
"\x00\x00\x61\x00\x03\x01", 0x00e1
|
||||
"\x00\x00\x61\x00\x03\x02", 0x00e2
|
||||
"\x00\x00\x61\x00\x03\x03", 0x00e3
|
||||
"\x00\x00\x61\x00\x03\x08", 0x00e4
|
||||
"\x00\x00\x61\x00\x03\x0a", 0x00e5
|
||||
"\x00\x00\x63\x00\x03\x27", 0x00e7
|
||||
"\x00\x00\x65\x00\x03\x00", 0x00e8
|
||||
"\x00\x00\x65\x00\x03\x01", 0x00e9
|
||||
"\x00\x00\x65\x00\x03\x02", 0x00ea
|
||||
"\x00\x00\x65\x00\x03\x08", 0x00eb
|
||||
"\x00\x00\x69\x00\x03\x00", 0x00ec
|
||||
"\x00\x00\x69\x00\x03\x01", 0x00ed
|
||||
"\x00\x00\x69\x00\x03\x02", 0x00ee
|
||||
"\x00\x00\x69\x00\x03\x08", 0x00ef
|
||||
"\x00\x00\x6e\x00\x03\x03", 0x00f1
|
||||
"\x00\x00\x6f\x00\x03\x00", 0x00f2
|
||||
"\x00\x00\x6f\x00\x03\x01", 0x00f3
|
||||
"\x00\x00\x6f\x00\x03\x02", 0x00f4
|
||||
"\x00\x00\x6f\x00\x03\x03", 0x00f5
|
||||
"\x00\x00\x6f\x00\x03\x08", 0x00f6
|
||||
"\x00\x00\x75\x00\x03\x00", 0x00f9
|
||||
"\x00\x00\x75\x00\x03\x01", 0x00fa
|
||||
"\x00\x00\x75\x00\x03\x02", 0x00fb
|
||||
"\x00\x00\x75\x00\x03\x08", 0x00fc
|
||||
"\x00\x00\x79\x00\x03\x01", 0x00fd
|
||||
"\x00\x00\x79\x00\x03\x08", 0x00ff
|
||||
"\x00\x00\x41\x00\x03\x04", 0x0100
|
||||
"\x00\x00\x61\x00\x03\x04", 0x0101
|
||||
"\x00\x00\x41\x00\x03\x06", 0x0102
|
||||
"\x00\x00\x61\x00\x03\x06", 0x0103
|
||||
"\x00\x00\x41\x00\x03\x28", 0x0104
|
||||
"\x00\x00\x61\x00\x03\x28", 0x0105
|
||||
"\x00\x00\x43\x00\x03\x01", 0x0106
|
||||
"\x00\x00\x63\x00\x03\x01", 0x0107
|
||||
"\x00\x00\x43\x00\x03\x02", 0x0108
|
||||
"\x00\x00\x63\x00\x03\x02", 0x0109
|
||||
"\x00\x00\x43\x00\x03\x07", 0x010a
|
||||
"\x00\x00\x63\x00\x03\x07", 0x010b
|
||||
"\x00\x00\x43\x00\x03\x0c", 0x010c
|
||||
"\x00\x00\x63\x00\x03\x0c", 0x010d
|
||||
"\x00\x00\x44\x00\x03\x0c", 0x010e
|
||||
"\x00\x00\x64\x00\x03\x0c", 0x010f
|
||||
"\x00\x00\x45\x00\x03\x04", 0x0112
|
||||
"\x00\x00\x65\x00\x03\x04", 0x0113
|
||||
"\x00\x00\x45\x00\x03\x06", 0x0114
|
||||
"\x00\x00\x65\x00\x03\x06", 0x0115
|
||||
"\x00\x00\x45\x00\x03\x07", 0x0116
|
||||
"\x00\x00\x65\x00\x03\x07", 0x0117
|
||||
"\x00\x00\x45\x00\x03\x28", 0x0118
|
||||
"\x00\x00\x65\x00\x03\x28", 0x0119
|
||||
"\x00\x00\x45\x00\x03\x0c", 0x011a
|
||||
"\x00\x00\x65\x00\x03\x0c", 0x011b
|
||||
"\x00\x00\x47\x00\x03\x02", 0x011c
|
||||
"\x00\x00\x67\x00\x03\x02", 0x011d
|
||||
"\x00\x00\x47\x00\x03\x06", 0x011e
|
||||
"\x00\x00\x67\x00\x03\x06", 0x011f
|
||||
"\x00\x00\x47\x00\x03\x07", 0x0120
|
||||
"\x00\x00\x67\x00\x03\x07", 0x0121
|
||||
"\x00\x00\x47\x00\x03\x27", 0x0122
|
||||
"\x00\x00\x67\x00\x03\x27", 0x0123
|
||||
"\x00\x00\x48\x00\x03\x02", 0x0124
|
||||
"\x00\x00\x68\x00\x03\x02", 0x0125
|
||||
"\x00\x00\x49\x00\x03\x03", 0x0128
|
||||
"\x00\x00\x69\x00\x03\x03", 0x0129
|
||||
"\x00\x00\x49\x00\x03\x04", 0x012a
|
||||
"\x00\x00\x69\x00\x03\x04", 0x012b
|
||||
"\x00\x00\x49\x00\x03\x06", 0x012c
|
||||
"\x00\x00\x69\x00\x03\x06", 0x012d
|
||||
"\x00\x00\x49\x00\x03\x28", 0x012e
|
||||
"\x00\x00\x69\x00\x03\x28", 0x012f
|
||||
"\x00\x00\x49\x00\x03\x07", 0x0130
|
||||
"\x00\x00\x4a\x00\x03\x02", 0x0134
|
||||
"\x00\x00\x6a\x00\x03\x02", 0x0135
|
||||
"\x00\x00\x4b\x00\x03\x27", 0x0136
|
||||
"\x00\x00\x6b\x00\x03\x27", 0x0137
|
||||
"\x00\x00\x4c\x00\x03\x01", 0x0139
|
||||
"\x00\x00\x6c\x00\x03\x01", 0x013a
|
||||
"\x00\x00\x4c\x00\x03\x27", 0x013b
|
||||
"\x00\x00\x6c\x00\x03\x27", 0x013c
|
||||
"\x00\x00\x4c\x00\x03\x0c", 0x013d
|
||||
"\x00\x00\x6c\x00\x03\x0c", 0x013e
|
||||
"\x00\x00\x4e\x00\x03\x01", 0x0143
|
||||
"\x00\x00\x6e\x00\x03\x01", 0x0144
|
||||
"\x00\x00\x4e\x00\x03\x27", 0x0145
|
||||
"\x00\x00\x6e\x00\x03\x27", 0x0146
|
||||
"\x00\x00\x4e\x00\x03\x0c", 0x0147
|
||||
"\x00\x00\x6e\x00\x03\x0c", 0x0148
|
||||
"\x00\x00\x4f\x00\x03\x04", 0x014c
|
||||
"\x00\x00\x6f\x00\x03\x04", 0x014d
|
||||
"\x00\x00\x4f\x00\x03\x06", 0x014e
|
||||
"\x00\x00\x6f\x00\x03\x06", 0x014f
|
||||
"\x00\x00\x4f\x00\x03\x0b", 0x0150
|
||||
"\x00\x00\x6f\x00\x03\x0b", 0x0151
|
||||
"\x00\x00\x52\x00\x03\x01", 0x0154
|
||||
"\x00\x00\x72\x00\x03\x01", 0x0155
|
||||
"\x00\x00\x52\x00\x03\x27", 0x0156
|
||||
"\x00\x00\x72\x00\x03\x27", 0x0157
|
||||
"\x00\x00\x52\x00\x03\x0c", 0x0158
|
||||
"\x00\x00\x72\x00\x03\x0c", 0x0159
|
||||
"\x00\x00\x53\x00\x03\x01", 0x015a
|
||||
"\x00\x00\x73\x00\x03\x01", 0x015b
|
||||
"\x00\x00\x53\x00\x03\x02", 0x015c
|
||||
"\x00\x00\x73\x00\x03\x02", 0x015d
|
||||
"\x00\x00\x53\x00\x03\x27", 0x015e
|
||||
"\x00\x00\x73\x00\x03\x27", 0x015f
|
||||
"\x00\x00\x53\x00\x03\x0c", 0x0160
|
||||
"\x00\x00\x73\x00\x03\x0c", 0x0161
|
||||
"\x00\x00\x54\x00\x03\x27", 0x0162
|
||||
"\x00\x00\x74\x00\x03\x27", 0x0163
|
||||
"\x00\x00\x54\x00\x03\x0c", 0x0164
|
||||
"\x00\x00\x74\x00\x03\x0c", 0x0165
|
||||
"\x00\x00\x55\x00\x03\x03", 0x0168
|
||||
"\x00\x00\x75\x00\x03\x03", 0x0169
|
||||
"\x00\x00\x55\x00\x03\x04", 0x016a
|
||||
"\x00\x00\x75\x00\x03\x04", 0x016b
|
||||
"\x00\x00\x55\x00\x03\x06", 0x016c
|
||||
"\x00\x00\x75\x00\x03\x06", 0x016d
|
||||
"\x00\x00\x55\x00\x03\x0a", 0x016e
|
||||
"\x00\x00\x75\x00\x03\x0a", 0x016f
|
||||
"\x00\x00\x55\x00\x03\x0b", 0x0170
|
||||
"\x00\x00\x75\x00\x03\x0b", 0x0171
|
||||
"\x00\x00\x55\x00\x03\x28", 0x0172
|
||||
"\x00\x00\x75\x00\x03\x28", 0x0173
|
||||
"\x00\x00\x57\x00\x03\x02", 0x0174
|
||||
"\x00\x00\x77\x00\x03\x02", 0x0175
|
||||
"\x00\x00\x59\x00\x03\x02", 0x0176
|
||||
"\x00\x00\x79\x00\x03\x02", 0x0177
|
||||
"\x00\x00\x59\x00\x03\x08", 0x0178
|
||||
"\x00\x00\x5a\x00\x03\x01", 0x0179
|
||||
"\x00\x00\x7a\x00\x03\x01", 0x017a
|
||||
"\x00\x00\x5a\x00\x03\x07", 0x017b
|
||||
"\x00\x00\x7a\x00\x03\x07", 0x017c
|
||||
"\x00\x00\x5a\x00\x03\x0c", 0x017d
|
||||
"\x00\x00\x7a\x00\x03\x0c", 0x017e
|
||||
"\x00\x00\x4f\x00\x03\x1b", 0x01a0
|
||||
"\x00\x00\x6f\x00\x03\x1b", 0x01a1
|
||||
"\x00\x00\x55\x00\x03\x1b", 0x01af
|
||||
"\x00\x00\x75\x00\x03\x1b", 0x01b0
|
||||
"\x00\x00\x41\x00\x03\x0c", 0x01cd
|
||||
"\x00\x00\x61\x00\x03\x0c", 0x01ce
|
||||
"\x00\x00\x49\x00\x03\x0c", 0x01cf
|
||||
"\x00\x00\x69\x00\x03\x0c", 0x01d0
|
||||
"\x00\x00\x4f\x00\x03\x0c", 0x01d1
|
||||
"\x00\x00\x6f\x00\x03\x0c", 0x01d2
|
||||
"\x00\x00\x55\x00\x03\x0c", 0x01d3
|
||||
"\x00\x00\x75\x00\x03\x0c", 0x01d4
|
||||
"\x00\x00\xdc\x00\x03\x04", 0x01d5
|
||||
"\x00\x00\xfc\x00\x03\x04", 0x01d6
|
||||
"\x00\x00\xdc\x00\x03\x01", 0x01d7
|
||||
"\x00\x00\xfc\x00\x03\x01", 0x01d8
|
||||
"\x00\x00\xdc\x00\x03\x0c", 0x01d9
|
||||
"\x00\x00\xfc\x00\x03\x0c", 0x01da
|
||||
"\x00\x00\xdc\x00\x03\x00", 0x01db
|
||||
"\x00\x00\xfc\x00\x03\x00", 0x01dc
|
||||
"\x00\x00\xc4\x00\x03\x04", 0x01de
|
||||
"\x00\x00\xe4\x00\x03\x04", 0x01df
|
||||
"\x00\x02\x26\x00\x03\x04", 0x01e0
|
||||
"\x00\x02\x27\x00\x03\x04", 0x01e1
|
||||
"\x00\x00\xc6\x00\x03\x04", 0x01e2
|
||||
"\x00\x00\xe6\x00\x03\x04", 0x01e3
|
||||
"\x00\x00\x47\x00\x03\x0c", 0x01e6
|
||||
"\x00\x00\x67\x00\x03\x0c", 0x01e7
|
||||
"\x00\x00\x4b\x00\x03\x0c", 0x01e8
|
||||
"\x00\x00\x6b\x00\x03\x0c", 0x01e9
|
||||
"\x00\x00\x4f\x00\x03\x28", 0x01ea
|
||||
"\x00\x00\x6f\x00\x03\x28", 0x01eb
|
||||
"\x00\x01\xea\x00\x03\x04", 0x01ec
|
||||
"\x00\x01\xeb\x00\x03\x04", 0x01ed
|
||||
"\x00\x01\xb7\x00\x03\x0c", 0x01ee
|
||||
"\x00\x02\x92\x00\x03\x0c", 0x01ef
|
||||
"\x00\x00\x6a\x00\x03\x0c", 0x01f0
|
||||
"\x00\x00\x47\x00\x03\x01", 0x01f4
|
||||
"\x00\x00\x67\x00\x03\x01", 0x01f5
|
||||
"\x00\x00\x4e\x00\x03\x00", 0x01f8
|
||||
"\x00\x00\x6e\x00\x03\x00", 0x01f9
|
||||
"\x00\x00\xc5\x00\x03\x01", 0x01fa
|
||||
"\x00\x00\xe5\x00\x03\x01", 0x01fb
|
||||
"\x00\x00\xc6\x00\x03\x01", 0x01fc
|
||||
"\x00\x00\xe6\x00\x03\x01", 0x01fd
|
||||
"\x00\x00\xd8\x00\x03\x01", 0x01fe
|
||||
"\x00\x00\xf8\x00\x03\x01", 0x01ff
|
||||
"\x00\x00\x41\x00\x03\x0f", 0x0200
|
||||
"\x00\x00\x61\x00\x03\x0f", 0x0201
|
||||
"\x00\x00\x41\x00\x03\x11", 0x0202
|
||||
"\x00\x00\x61\x00\x03\x11", 0x0203
|
||||
"\x00\x00\x45\x00\x03\x0f", 0x0204
|
||||
"\x00\x00\x65\x00\x03\x0f", 0x0205
|
||||
"\x00\x00\x45\x00\x03\x11", 0x0206
|
||||
"\x00\x00\x65\x00\x03\x11", 0x0207
|
||||
"\x00\x00\x49\x00\x03\x0f", 0x0208
|
||||
"\x00\x00\x69\x00\x03\x0f", 0x0209
|
||||
"\x00\x00\x49\x00\x03\x11", 0x020a
|
||||
"\x00\x00\x69\x00\x03\x11", 0x020b
|
||||
"\x00\x00\x4f\x00\x03\x0f", 0x020c
|
||||
"\x00\x00\x6f\x00\x03\x0f", 0x020d
|
||||
"\x00\x00\x4f\x00\x03\x11", 0x020e
|
||||
"\x00\x00\x6f\x00\x03\x11", 0x020f
|
||||
"\x00\x00\x52\x00\x03\x0f", 0x0210
|
||||
"\x00\x00\x72\x00\x03\x0f", 0x0211
|
||||
"\x00\x00\x52\x00\x03\x11", 0x0212
|
||||
"\x00\x00\x72\x00\x03\x11", 0x0213
|
||||
"\x00\x00\x55\x00\x03\x0f", 0x0214
|
||||
"\x00\x00\x75\x00\x03\x0f", 0x0215
|
||||
"\x00\x00\x55\x00\x03\x11", 0x0216
|
||||
"\x00\x00\x75\x00\x03\x11", 0x0217
|
||||
"\x00\x00\x53\x00\x03\x26", 0x0218
|
||||
"\x00\x00\x73\x00\x03\x26", 0x0219
|
||||
"\x00\x00\x54\x00\x03\x26", 0x021a
|
||||
"\x00\x00\x74\x00\x03\x26", 0x021b
|
||||
"\x00\x00\x48\x00\x03\x0c", 0x021e
|
||||
"\x00\x00\x68\x00\x03\x0c", 0x021f
|
||||
"\x00\x00\x41\x00\x03\x07", 0x0226
|
||||
"\x00\x00\x61\x00\x03\x07", 0x0227
|
||||
"\x00\x00\x45\x00\x03\x27", 0x0228
|
||||
"\x00\x00\x65\x00\x03\x27", 0x0229
|
||||
"\x00\x00\xd6\x00\x03\x04", 0x022a
|
||||
"\x00\x00\xf6\x00\x03\x04", 0x022b
|
||||
"\x00\x00\xd5\x00\x03\x04", 0x022c
|
||||
"\x00\x00\xf5\x00\x03\x04", 0x022d
|
||||
"\x00\x00\x4f\x00\x03\x07", 0x022e
|
||||
"\x00\x00\x6f\x00\x03\x07", 0x022f
|
||||
"\x00\x02\x2e\x00\x03\x04", 0x0230
|
||||
"\x00\x02\x2f\x00\x03\x04", 0x0231
|
||||
"\x00\x00\x59\x00\x03\x04", 0x0232
|
||||
"\x00\x00\x79\x00\x03\x04", 0x0233
|
||||
"\x00\x00\xa8\x00\x03\x01", 0x0385
|
||||
"\x00\x03\x91\x00\x03\x01", 0x0386
|
||||
"\x00\x03\x95\x00\x03\x01", 0x0388
|
||||
"\x00\x03\x97\x00\x03\x01", 0x0389
|
||||
"\x00\x03\x99\x00\x03\x01", 0x038a
|
||||
"\x00\x03\x9f\x00\x03\x01", 0x038c
|
||||
"\x00\x03\xa5\x00\x03\x01", 0x038e
|
||||
"\x00\x03\xa9\x00\x03\x01", 0x038f
|
||||
"\x00\x03\xca\x00\x03\x01", 0x0390
|
||||
"\x00\x03\x99\x00\x03\x08", 0x03aa
|
||||
"\x00\x03\xa5\x00\x03\x08", 0x03ab
|
||||
"\x00\x03\xb1\x00\x03\x01", 0x03ac
|
||||
"\x00\x03\xb5\x00\x03\x01", 0x03ad
|
||||
"\x00\x03\xb7\x00\x03\x01", 0x03ae
|
||||
"\x00\x03\xb9\x00\x03\x01", 0x03af
|
||||
"\x00\x03\xcb\x00\x03\x01", 0x03b0
|
||||
"\x00\x03\xb9\x00\x03\x08", 0x03ca
|
||||
"\x00\x03\xc5\x00\x03\x08", 0x03cb
|
||||
"\x00\x03\xbf\x00\x03\x01", 0x03cc
|
||||
"\x00\x03\xc5\x00\x03\x01", 0x03cd
|
||||
"\x00\x03\xc9\x00\x03\x01", 0x03ce
|
||||
"\x00\x03\xd2\x00\x03\x01", 0x03d3
|
||||
"\x00\x03\xd2\x00\x03\x08", 0x03d4
|
||||
"\x00\x04\x15\x00\x03\x00", 0x0400
|
||||
"\x00\x04\x15\x00\x03\x08", 0x0401
|
||||
"\x00\x04\x13\x00\x03\x01", 0x0403
|
||||
"\x00\x04\x06\x00\x03\x08", 0x0407
|
||||
"\x00\x04\x1a\x00\x03\x01", 0x040c
|
||||
"\x00\x04\x18\x00\x03\x00", 0x040d
|
||||
"\x00\x04\x23\x00\x03\x06", 0x040e
|
||||
"\x00\x04\x18\x00\x03\x06", 0x0419
|
||||
"\x00\x04\x38\x00\x03\x06", 0x0439
|
||||
"\x00\x04\x35\x00\x03\x00", 0x0450
|
||||
"\x00\x04\x35\x00\x03\x08", 0x0451
|
||||
"\x00\x04\x33\x00\x03\x01", 0x0453
|
||||
"\x00\x04\x56\x00\x03\x08", 0x0457
|
||||
"\x00\x04\x3a\x00\x03\x01", 0x045c
|
||||
"\x00\x04\x38\x00\x03\x00", 0x045d
|
||||
"\x00\x04\x43\x00\x03\x06", 0x045e
|
||||
"\x00\x04\x74\x00\x03\x0f", 0x0476
|
||||
"\x00\x04\x75\x00\x03\x0f", 0x0477
|
||||
"\x00\x04\x16\x00\x03\x06", 0x04c1
|
||||
"\x00\x04\x36\x00\x03\x06", 0x04c2
|
||||
"\x00\x04\x10\x00\x03\x06", 0x04d0
|
||||
"\x00\x04\x30\x00\x03\x06", 0x04d1
|
||||
"\x00\x04\x10\x00\x03\x08", 0x04d2
|
||||
"\x00\x04\x30\x00\x03\x08", 0x04d3
|
||||
"\x00\x04\x15\x00\x03\x06", 0x04d6
|
||||
"\x00\x04\x35\x00\x03\x06", 0x04d7
|
||||
"\x00\x04\xd8\x00\x03\x08", 0x04da
|
||||
"\x00\x04\xd9\x00\x03\x08", 0x04db
|
||||
"\x00\x04\x16\x00\x03\x08", 0x04dc
|
||||
"\x00\x04\x36\x00\x03\x08", 0x04dd
|
||||
"\x00\x04\x17\x00\x03\x08", 0x04de
|
||||
"\x00\x04\x37\x00\x03\x08", 0x04df
|
||||
"\x00\x04\x18\x00\x03\x04", 0x04e2
|
||||
"\x00\x04\x38\x00\x03\x04", 0x04e3
|
||||
"\x00\x04\x18\x00\x03\x08", 0x04e4
|
||||
"\x00\x04\x38\x00\x03\x08", 0x04e5
|
||||
"\x00\x04\x1e\x00\x03\x08", 0x04e6
|
||||
"\x00\x04\x3e\x00\x03\x08", 0x04e7
|
||||
"\x00\x04\xe8\x00\x03\x08", 0x04ea
|
||||
"\x00\x04\xe9\x00\x03\x08", 0x04eb
|
||||
"\x00\x04\x2d\x00\x03\x08", 0x04ec
|
||||
"\x00\x04\x4d\x00\x03\x08", 0x04ed
|
||||
"\x00\x04\x23\x00\x03\x04", 0x04ee
|
||||
"\x00\x04\x43\x00\x03\x04", 0x04ef
|
||||
"\x00\x04\x23\x00\x03\x08", 0x04f0
|
||||
"\x00\x04\x43\x00\x03\x08", 0x04f1
|
||||
"\x00\x04\x23\x00\x03\x0b", 0x04f2
|
||||
"\x00\x04\x43\x00\x03\x0b", 0x04f3
|
||||
"\x00\x04\x27\x00\x03\x08", 0x04f4
|
||||
"\x00\x04\x47\x00\x03\x08", 0x04f5
|
||||
"\x00\x04\x2b\x00\x03\x08", 0x04f8
|
||||
"\x00\x04\x4b\x00\x03\x08", 0x04f9
|
||||
"\x00\x06\x27\x00\x06\x53", 0x0622
|
||||
"\x00\x06\x27\x00\x06\x54", 0x0623
|
||||
"\x00\x06\x48\x00\x06\x54", 0x0624
|
||||
"\x00\x06\x27\x00\x06\x55", 0x0625
|
||||
"\x00\x06\x4a\x00\x06\x54", 0x0626
|
||||
"\x00\x06\xd5\x00\x06\x54", 0x06c0
|
||||
"\x00\x06\xc1\x00\x06\x54", 0x06c2
|
||||
"\x00\x06\xd2\x00\x06\x54", 0x06d3
|
||||
"\x00\x09\x28\x00\x09\x3c", 0x0929
|
||||
"\x00\x09\x30\x00\x09\x3c", 0x0931
|
||||
"\x00\x09\x33\x00\x09\x3c", 0x0934
|
||||
"\x00\x09\xc7\x00\x09\xbe", 0x09cb
|
||||
"\x00\x09\xc7\x00\x09\xd7", 0x09cc
|
||||
"\x00\x0b\x47\x00\x0b\x56", 0x0b48
|
||||
"\x00\x0b\x47\x00\x0b\x3e", 0x0b4b
|
||||
"\x00\x0b\x47\x00\x0b\x57", 0x0b4c
|
||||
"\x00\x0b\x92\x00\x0b\xd7", 0x0b94
|
||||
"\x00\x0b\xc6\x00\x0b\xbe", 0x0bca
|
||||
"\x00\x0b\xc7\x00\x0b\xbe", 0x0bcb
|
||||
"\x00\x0b\xc6\x00\x0b\xd7", 0x0bcc
|
||||
"\x00\x0c\x46\x00\x0c\x56", 0x0c48
|
||||
"\x00\x0c\xbf\x00\x0c\xd5", 0x0cc0
|
||||
"\x00\x0c\xc6\x00\x0c\xd5", 0x0cc7
|
||||
"\x00\x0c\xc6\x00\x0c\xd6", 0x0cc8
|
||||
"\x00\x0c\xc6\x00\x0c\xc2", 0x0cca
|
||||
"\x00\x0c\xca\x00\x0c\xd5", 0x0ccb
|
||||
"\x00\x0d\x46\x00\x0d\x3e", 0x0d4a
|
||||
"\x00\x0d\x47\x00\x0d\x3e", 0x0d4b
|
||||
"\x00\x0d\x46\x00\x0d\x57", 0x0d4c
|
||||
"\x00\x0d\xd9\x00\x0d\xca", 0x0dda
|
||||
"\x00\x0d\xd9\x00\x0d\xcf", 0x0ddc
|
||||
"\x00\x0d\xdc\x00\x0d\xca", 0x0ddd
|
||||
"\x00\x0d\xd9\x00\x0d\xdf", 0x0dde
|
||||
"\x00\x10\x25\x00\x10\x2e", 0x1026
|
||||
"\x00\x1b\x05\x00\x1b\x35", 0x1b06
|
||||
"\x00\x1b\x07\x00\x1b\x35", 0x1b08
|
||||
"\x00\x1b\x09\x00\x1b\x35", 0x1b0a
|
||||
"\x00\x1b\x0b\x00\x1b\x35", 0x1b0c
|
||||
"\x00\x1b\x0d\x00\x1b\x35", 0x1b0e
|
||||
"\x00\x1b\x11\x00\x1b\x35", 0x1b12
|
||||
"\x00\x1b\x3a\x00\x1b\x35", 0x1b3b
|
||||
"\x00\x1b\x3c\x00\x1b\x35", 0x1b3d
|
||||
"\x00\x1b\x3e\x00\x1b\x35", 0x1b40
|
||||
"\x00\x1b\x3f\x00\x1b\x35", 0x1b41
|
||||
"\x00\x1b\x42\x00\x1b\x35", 0x1b43
|
||||
"\x00\x00\x41\x00\x03\x25", 0x1e00
|
||||
"\x00\x00\x61\x00\x03\x25", 0x1e01
|
||||
"\x00\x00\x42\x00\x03\x07", 0x1e02
|
||||
"\x00\x00\x62\x00\x03\x07", 0x1e03
|
||||
"\x00\x00\x42\x00\x03\x23", 0x1e04
|
||||
"\x00\x00\x62\x00\x03\x23", 0x1e05
|
||||
"\x00\x00\x42\x00\x03\x31", 0x1e06
|
||||
"\x00\x00\x62\x00\x03\x31", 0x1e07
|
||||
"\x00\x00\xc7\x00\x03\x01", 0x1e08
|
||||
"\x00\x00\xe7\x00\x03\x01", 0x1e09
|
||||
"\x00\x00\x44\x00\x03\x07", 0x1e0a
|
||||
"\x00\x00\x64\x00\x03\x07", 0x1e0b
|
||||
"\x00\x00\x44\x00\x03\x23", 0x1e0c
|
||||
"\x00\x00\x64\x00\x03\x23", 0x1e0d
|
||||
"\x00\x00\x44\x00\x03\x31", 0x1e0e
|
||||
"\x00\x00\x64\x00\x03\x31", 0x1e0f
|
||||
"\x00\x00\x44\x00\x03\x27", 0x1e10
|
||||
"\x00\x00\x64\x00\x03\x27", 0x1e11
|
||||
"\x00\x00\x44\x00\x03\x2d", 0x1e12
|
||||
"\x00\x00\x64\x00\x03\x2d", 0x1e13
|
||||
"\x00\x01\x12\x00\x03\x00", 0x1e14
|
||||
"\x00\x01\x13\x00\x03\x00", 0x1e15
|
||||
"\x00\x01\x12\x00\x03\x01", 0x1e16
|
||||
"\x00\x01\x13\x00\x03\x01", 0x1e17
|
||||
"\x00\x00\x45\x00\x03\x2d", 0x1e18
|
||||
"\x00\x00\x65\x00\x03\x2d", 0x1e19
|
||||
"\x00\x00\x45\x00\x03\x30", 0x1e1a
|
||||
"\x00\x00\x65\x00\x03\x30", 0x1e1b
|
||||
"\x00\x02\x28\x00\x03\x06", 0x1e1c
|
||||
"\x00\x02\x29\x00\x03\x06", 0x1e1d
|
||||
"\x00\x00\x46\x00\x03\x07", 0x1e1e
|
||||
"\x00\x00\x66\x00\x03\x07", 0x1e1f
|
||||
"\x00\x00\x47\x00\x03\x04", 0x1e20
|
||||
"\x00\x00\x67\x00\x03\x04", 0x1e21
|
||||
"\x00\x00\x48\x00\x03\x07", 0x1e22
|
||||
"\x00\x00\x68\x00\x03\x07", 0x1e23
|
||||
"\x00\x00\x48\x00\x03\x23", 0x1e24
|
||||
"\x00\x00\x68\x00\x03\x23", 0x1e25
|
||||
"\x00\x00\x48\x00\x03\x08", 0x1e26
|
||||
"\x00\x00\x68\x00\x03\x08", 0x1e27
|
||||
"\x00\x00\x48\x00\x03\x27", 0x1e28
|
||||
"\x00\x00\x68\x00\x03\x27", 0x1e29
|
||||
"\x00\x00\x48\x00\x03\x2e", 0x1e2a
|
||||
"\x00\x00\x68\x00\x03\x2e", 0x1e2b
|
||||
"\x00\x00\x49\x00\x03\x30", 0x1e2c
|
||||
"\x00\x00\x69\x00\x03\x30", 0x1e2d
|
||||
"\x00\x00\xcf\x00\x03\x01", 0x1e2e
|
||||
"\x00\x00\xef\x00\x03\x01", 0x1e2f
|
||||
"\x00\x00\x4b\x00\x03\x01", 0x1e30
|
||||
"\x00\x00\x6b\x00\x03\x01", 0x1e31
|
||||
"\x00\x00\x4b\x00\x03\x23", 0x1e32
|
||||
"\x00\x00\x6b\x00\x03\x23", 0x1e33
|
||||
"\x00\x00\x4b\x00\x03\x31", 0x1e34
|
||||
"\x00\x00\x6b\x00\x03\x31", 0x1e35
|
||||
"\x00\x00\x4c\x00\x03\x23", 0x1e36
|
||||
"\x00\x00\x6c\x00\x03\x23", 0x1e37
|
||||
"\x00\x1e\x36\x00\x03\x04", 0x1e38
|
||||
"\x00\x1e\x37\x00\x03\x04", 0x1e39
|
||||
"\x00\x00\x4c\x00\x03\x31", 0x1e3a
|
||||
"\x00\x00\x6c\x00\x03\x31", 0x1e3b
|
||||
"\x00\x00\x4c\x00\x03\x2d", 0x1e3c
|
||||
"\x00\x00\x6c\x00\x03\x2d", 0x1e3d
|
||||
"\x00\x00\x4d\x00\x03\x01", 0x1e3e
|
||||
"\x00\x00\x6d\x00\x03\x01", 0x1e3f
|
||||
"\x00\x00\x4d\x00\x03\x07", 0x1e40
|
||||
"\x00\x00\x6d\x00\x03\x07", 0x1e41
|
||||
"\x00\x00\x4d\x00\x03\x23", 0x1e42
|
||||
"\x00\x00\x6d\x00\x03\x23", 0x1e43
|
||||
"\x00\x00\x4e\x00\x03\x07", 0x1e44
|
||||
"\x00\x00\x6e\x00\x03\x07", 0x1e45
|
||||
"\x00\x00\x4e\x00\x03\x23", 0x1e46
|
||||
"\x00\x00\x6e\x00\x03\x23", 0x1e47
|
||||
"\x00\x00\x4e\x00\x03\x31", 0x1e48
|
||||
"\x00\x00\x6e\x00\x03\x31", 0x1e49
|
||||
"\x00\x00\x4e\x00\x03\x2d", 0x1e4a
|
||||
"\x00\x00\x6e\x00\x03\x2d", 0x1e4b
|
||||
"\x00\x00\xd5\x00\x03\x01", 0x1e4c
|
||||
"\x00\x00\xf5\x00\x03\x01", 0x1e4d
|
||||
"\x00\x00\xd5\x00\x03\x08", 0x1e4e
|
||||
"\x00\x00\xf5\x00\x03\x08", 0x1e4f
|
||||
"\x00\x01\x4c\x00\x03\x00", 0x1e50
|
||||
"\x00\x01\x4d\x00\x03\x00", 0x1e51
|
||||
"\x00\x01\x4c\x00\x03\x01", 0x1e52
|
||||
"\x00\x01\x4d\x00\x03\x01", 0x1e53
|
||||
"\x00\x00\x50\x00\x03\x01", 0x1e54
|
||||
"\x00\x00\x70\x00\x03\x01", 0x1e55
|
||||
"\x00\x00\x50\x00\x03\x07", 0x1e56
|
||||
"\x00\x00\x70\x00\x03\x07", 0x1e57
|
||||
"\x00\x00\x52\x00\x03\x07", 0x1e58
|
||||
"\x00\x00\x72\x00\x03\x07", 0x1e59
|
||||
"\x00\x00\x52\x00\x03\x23", 0x1e5a
|
||||
"\x00\x00\x72\x00\x03\x23", 0x1e5b
|
||||
"\x00\x1e\x5a\x00\x03\x04", 0x1e5c
|
||||
"\x00\x1e\x5b\x00\x03\x04", 0x1e5d
|
||||
"\x00\x00\x52\x00\x03\x31", 0x1e5e
|
||||
"\x00\x00\x72\x00\x03\x31", 0x1e5f
|
||||
"\x00\x00\x53\x00\x03\x07", 0x1e60
|
||||
"\x00\x00\x73\x00\x03\x07", 0x1e61
|
||||
"\x00\x00\x53\x00\x03\x23", 0x1e62
|
||||
"\x00\x00\x73\x00\x03\x23", 0x1e63
|
||||
"\x00\x01\x5a\x00\x03\x07", 0x1e64
|
||||
"\x00\x01\x5b\x00\x03\x07", 0x1e65
|
||||
"\x00\x01\x60\x00\x03\x07", 0x1e66
|
||||
"\x00\x01\x61\x00\x03\x07", 0x1e67
|
||||
"\x00\x1e\x62\x00\x03\x07", 0x1e68
|
||||
"\x00\x1e\x63\x00\x03\x07", 0x1e69
|
||||
"\x00\x00\x54\x00\x03\x07", 0x1e6a
|
||||
"\x00\x00\x74\x00\x03\x07", 0x1e6b
|
||||
"\x00\x00\x54\x00\x03\x23", 0x1e6c
|
||||
"\x00\x00\x74\x00\x03\x23", 0x1e6d
|
||||
"\x00\x00\x54\x00\x03\x31", 0x1e6e
|
||||
"\x00\x00\x74\x00\x03\x31", 0x1e6f
|
||||
"\x00\x00\x54\x00\x03\x2d", 0x1e70
|
||||
"\x00\x00\x74\x00\x03\x2d", 0x1e71
|
||||
"\x00\x00\x55\x00\x03\x24", 0x1e72
|
||||
"\x00\x00\x75\x00\x03\x24", 0x1e73
|
||||
"\x00\x00\x55\x00\x03\x30", 0x1e74
|
||||
"\x00\x00\x75\x00\x03\x30", 0x1e75
|
||||
"\x00\x00\x55\x00\x03\x2d", 0x1e76
|
||||
"\x00\x00\x75\x00\x03\x2d", 0x1e77
|
||||
"\x00\x01\x68\x00\x03\x01", 0x1e78
|
||||
"\x00\x01\x69\x00\x03\x01", 0x1e79
|
||||
"\x00\x01\x6a\x00\x03\x08", 0x1e7a
|
||||
"\x00\x01\x6b\x00\x03\x08", 0x1e7b
|
||||
"\x00\x00\x56\x00\x03\x03", 0x1e7c
|
||||
"\x00\x00\x76\x00\x03\x03", 0x1e7d
|
||||
"\x00\x00\x56\x00\x03\x23", 0x1e7e
|
||||
"\x00\x00\x76\x00\x03\x23", 0x1e7f
|
||||
"\x00\x00\x57\x00\x03\x00", 0x1e80
|
||||
"\x00\x00\x77\x00\x03\x00", 0x1e81
|
||||
"\x00\x00\x57\x00\x03\x01", 0x1e82
|
||||
"\x00\x00\x77\x00\x03\x01", 0x1e83
|
||||
"\x00\x00\x57\x00\x03\x08", 0x1e84
|
||||
"\x00\x00\x77\x00\x03\x08", 0x1e85
|
||||
"\x00\x00\x57\x00\x03\x07", 0x1e86
|
||||
"\x00\x00\x77\x00\x03\x07", 0x1e87
|
||||
"\x00\x00\x57\x00\x03\x23", 0x1e88
|
||||
"\x00\x00\x77\x00\x03\x23", 0x1e89
|
||||
"\x00\x00\x58\x00\x03\x07", 0x1e8a
|
||||
"\x00\x00\x78\x00\x03\x07", 0x1e8b
|
||||
"\x00\x00\x58\x00\x03\x08", 0x1e8c
|
||||
"\x00\x00\x78\x00\x03\x08", 0x1e8d
|
||||
"\x00\x00\x59\x00\x03\x07", 0x1e8e
|
||||
"\x00\x00\x79\x00\x03\x07", 0x1e8f
|
||||
"\x00\x00\x5a\x00\x03\x02", 0x1e90
|
||||
"\x00\x00\x7a\x00\x03\x02", 0x1e91
|
||||
"\x00\x00\x5a\x00\x03\x23", 0x1e92
|
||||
"\x00\x00\x7a\x00\x03\x23", 0x1e93
|
||||
"\x00\x00\x5a\x00\x03\x31", 0x1e94
|
||||
"\x00\x00\x7a\x00\x03\x31", 0x1e95
|
||||
"\x00\x00\x68\x00\x03\x31", 0x1e96
|
||||
"\x00\x00\x74\x00\x03\x08", 0x1e97
|
||||
"\x00\x00\x77\x00\x03\x0a", 0x1e98
|
||||
"\x00\x00\x79\x00\x03\x0a", 0x1e99
|
||||
"\x00\x01\x7f\x00\x03\x07", 0x1e9b
|
||||
"\x00\x00\x41\x00\x03\x23", 0x1ea0
|
||||
"\x00\x00\x61\x00\x03\x23", 0x1ea1
|
||||
"\x00\x00\x41\x00\x03\x09", 0x1ea2
|
||||
"\x00\x00\x61\x00\x03\x09", 0x1ea3
|
||||
"\x00\x00\xc2\x00\x03\x01", 0x1ea4
|
||||
"\x00\x00\xe2\x00\x03\x01", 0x1ea5
|
||||
"\x00\x00\xc2\x00\x03\x00", 0x1ea6
|
||||
"\x00\x00\xe2\x00\x03\x00", 0x1ea7
|
||||
"\x00\x00\xc2\x00\x03\x09", 0x1ea8
|
||||
"\x00\x00\xe2\x00\x03\x09", 0x1ea9
|
||||
"\x00\x00\xc2\x00\x03\x03", 0x1eaa
|
||||
"\x00\x00\xe2\x00\x03\x03", 0x1eab
|
||||
"\x00\x1e\xa0\x00\x03\x02", 0x1eac
|
||||
"\x00\x1e\xa1\x00\x03\x02", 0x1ead
|
||||
"\x00\x01\x02\x00\x03\x01", 0x1eae
|
||||
"\x00\x01\x03\x00\x03\x01", 0x1eaf
|
||||
"\x00\x01\x02\x00\x03\x00", 0x1eb0
|
||||
"\x00\x01\x03\x00\x03\x00", 0x1eb1
|
||||
"\x00\x01\x02\x00\x03\x09", 0x1eb2
|
||||
"\x00\x01\x03\x00\x03\x09", 0x1eb3
|
||||
"\x00\x01\x02\x00\x03\x03", 0x1eb4
|
||||
"\x00\x01\x03\x00\x03\x03", 0x1eb5
|
||||
"\x00\x1e\xa0\x00\x03\x06", 0x1eb6
|
||||
"\x00\x1e\xa1\x00\x03\x06", 0x1eb7
|
||||
"\x00\x00\x45\x00\x03\x23", 0x1eb8
|
||||
"\x00\x00\x65\x00\x03\x23", 0x1eb9
|
||||
"\x00\x00\x45\x00\x03\x09", 0x1eba
|
||||
"\x00\x00\x65\x00\x03\x09", 0x1ebb
|
||||
"\x00\x00\x45\x00\x03\x03", 0x1ebc
|
||||
"\x00\x00\x65\x00\x03\x03", 0x1ebd
|
||||
"\x00\x00\xca\x00\x03\x01", 0x1ebe
|
||||
"\x00\x00\xea\x00\x03\x01", 0x1ebf
|
||||
"\x00\x00\xca\x00\x03\x00", 0x1ec0
|
||||
"\x00\x00\xea\x00\x03\x00", 0x1ec1
|
||||
"\x00\x00\xca\x00\x03\x09", 0x1ec2
|
||||
"\x00\x00\xea\x00\x03\x09", 0x1ec3
|
||||
"\x00\x00\xca\x00\x03\x03", 0x1ec4
|
||||
"\x00\x00\xea\x00\x03\x03", 0x1ec5
|
||||
"\x00\x1e\xb8\x00\x03\x02", 0x1ec6
|
||||
"\x00\x1e\xb9\x00\x03\x02", 0x1ec7
|
||||
"\x00\x00\x49\x00\x03\x09", 0x1ec8
|
||||
"\x00\x00\x69\x00\x03\x09", 0x1ec9
|
||||
"\x00\x00\x49\x00\x03\x23", 0x1eca
|
||||
"\x00\x00\x69\x00\x03\x23", 0x1ecb
|
||||
"\x00\x00\x4f\x00\x03\x23", 0x1ecc
|
||||
"\x00\x00\x6f\x00\x03\x23", 0x1ecd
|
||||
"\x00\x00\x4f\x00\x03\x09", 0x1ece
|
||||
"\x00\x00\x6f\x00\x03\x09", 0x1ecf
|
||||
"\x00\x00\xd4\x00\x03\x01", 0x1ed0
|
||||
"\x00\x00\xf4\x00\x03\x01", 0x1ed1
|
||||
"\x00\x00\xd4\x00\x03\x00", 0x1ed2
|
||||
"\x00\x00\xf4\x00\x03\x00", 0x1ed3
|
||||
"\x00\x00\xd4\x00\x03\x09", 0x1ed4
|
||||
"\x00\x00\xf4\x00\x03\x09", 0x1ed5
|
||||
"\x00\x00\xd4\x00\x03\x03", 0x1ed6
|
||||
"\x00\x00\xf4\x00\x03\x03", 0x1ed7
|
||||
"\x00\x1e\xcc\x00\x03\x02", 0x1ed8
|
||||
"\x00\x1e\xcd\x00\x03\x02", 0x1ed9
|
||||
"\x00\x01\xa0\x00\x03\x01", 0x1eda
|
||||
"\x00\x01\xa1\x00\x03\x01", 0x1edb
|
||||
"\x00\x01\xa0\x00\x03\x00", 0x1edc
|
||||
"\x00\x01\xa1\x00\x03\x00", 0x1edd
|
||||
"\x00\x01\xa0\x00\x03\x09", 0x1ede
|
||||
"\x00\x01\xa1\x00\x03\x09", 0x1edf
|
||||
"\x00\x01\xa0\x00\x03\x03", 0x1ee0
|
||||
"\x00\x01\xa1\x00\x03\x03", 0x1ee1
|
||||
"\x00\x01\xa0\x00\x03\x23", 0x1ee2
|
||||
"\x00\x01\xa1\x00\x03\x23", 0x1ee3
|
||||
"\x00\x00\x55\x00\x03\x23", 0x1ee4
|
||||
"\x00\x00\x75\x00\x03\x23", 0x1ee5
|
||||
"\x00\x00\x55\x00\x03\x09", 0x1ee6
|
||||
"\x00\x00\x75\x00\x03\x09", 0x1ee7
|
||||
"\x00\x01\xaf\x00\x03\x01", 0x1ee8
|
||||
"\x00\x01\xb0\x00\x03\x01", 0x1ee9
|
||||
"\x00\x01\xaf\x00\x03\x00", 0x1eea
|
||||
"\x00\x01\xb0\x00\x03\x00", 0x1eeb
|
||||
"\x00\x01\xaf\x00\x03\x09", 0x1eec
|
||||
"\x00\x01\xb0\x00\x03\x09", 0x1eed
|
||||
"\x00\x01\xaf\x00\x03\x03", 0x1eee
|
||||
"\x00\x01\xb0\x00\x03\x03", 0x1eef
|
||||
"\x00\x01\xaf\x00\x03\x23", 0x1ef0
|
||||
"\x00\x01\xb0\x00\x03\x23", 0x1ef1
|
||||
"\x00\x00\x59\x00\x03\x00", 0x1ef2
|
||||
"\x00\x00\x79\x00\x03\x00", 0x1ef3
|
||||
"\x00\x00\x59\x00\x03\x23", 0x1ef4
|
||||
"\x00\x00\x79\x00\x03\x23", 0x1ef5
|
||||
"\x00\x00\x59\x00\x03\x09", 0x1ef6
|
||||
"\x00\x00\x79\x00\x03\x09", 0x1ef7
|
||||
"\x00\x00\x59\x00\x03\x03", 0x1ef8
|
||||
"\x00\x00\x79\x00\x03\x03", 0x1ef9
|
||||
"\x00\x03\xb1\x00\x03\x13", 0x1f00
|
||||
"\x00\x03\xb1\x00\x03\x14", 0x1f01
|
||||
"\x00\x1f\x00\x00\x03\x00", 0x1f02
|
||||
"\x00\x1f\x01\x00\x03\x00", 0x1f03
|
||||
"\x00\x1f\x00\x00\x03\x01", 0x1f04
|
||||
"\x00\x1f\x01\x00\x03\x01", 0x1f05
|
||||
"\x00\x1f\x00\x00\x03\x42", 0x1f06
|
||||
"\x00\x1f\x01\x00\x03\x42", 0x1f07
|
||||
"\x00\x03\x91\x00\x03\x13", 0x1f08
|
||||
"\x00\x03\x91\x00\x03\x14", 0x1f09
|
||||
"\x00\x1f\x08\x00\x03\x00", 0x1f0a
|
||||
"\x00\x1f\x09\x00\x03\x00", 0x1f0b
|
||||
"\x00\x1f\x08\x00\x03\x01", 0x1f0c
|
||||
"\x00\x1f\x09\x00\x03\x01", 0x1f0d
|
||||
"\x00\x1f\x08\x00\x03\x42", 0x1f0e
|
||||
"\x00\x1f\x09\x00\x03\x42", 0x1f0f
|
||||
"\x00\x03\xb5\x00\x03\x13", 0x1f10
|
||||
"\x00\x03\xb5\x00\x03\x14", 0x1f11
|
||||
"\x00\x1f\x10\x00\x03\x00", 0x1f12
|
||||
"\x00\x1f\x11\x00\x03\x00", 0x1f13
|
||||
"\x00\x1f\x10\x00\x03\x01", 0x1f14
|
||||
"\x00\x1f\x11\x00\x03\x01", 0x1f15
|
||||
"\x00\x03\x95\x00\x03\x13", 0x1f18
|
||||
"\x00\x03\x95\x00\x03\x14", 0x1f19
|
||||
"\x00\x1f\x18\x00\x03\x00", 0x1f1a
|
||||
"\x00\x1f\x19\x00\x03\x00", 0x1f1b
|
||||
"\x00\x1f\x18\x00\x03\x01", 0x1f1c
|
||||
"\x00\x1f\x19\x00\x03\x01", 0x1f1d
|
||||
"\x00\x03\xb7\x00\x03\x13", 0x1f20
|
||||
"\x00\x03\xb7\x00\x03\x14", 0x1f21
|
||||
"\x00\x1f\x20\x00\x03\x00", 0x1f22
|
||||
"\x00\x1f\x21\x00\x03\x00", 0x1f23
|
||||
"\x00\x1f\x20\x00\x03\x01", 0x1f24
|
||||
"\x00\x1f\x21\x00\x03\x01", 0x1f25
|
||||
"\x00\x1f\x20\x00\x03\x42", 0x1f26
|
||||
"\x00\x1f\x21\x00\x03\x42", 0x1f27
|
||||
"\x00\x03\x97\x00\x03\x13", 0x1f28
|
||||
"\x00\x03\x97\x00\x03\x14", 0x1f29
|
||||
"\x00\x1f\x28\x00\x03\x00", 0x1f2a
|
||||
"\x00\x1f\x29\x00\x03\x00", 0x1f2b
|
||||
"\x00\x1f\x28\x00\x03\x01", 0x1f2c
|
||||
"\x00\x1f\x29\x00\x03\x01", 0x1f2d
|
||||
"\x00\x1f\x28\x00\x03\x42", 0x1f2e
|
||||
"\x00\x1f\x29\x00\x03\x42", 0x1f2f
|
||||
"\x00\x03\xb9\x00\x03\x13", 0x1f30
|
||||
"\x00\x03\xb9\x00\x03\x14", 0x1f31
|
||||
"\x00\x1f\x30\x00\x03\x00", 0x1f32
|
||||
"\x00\x1f\x31\x00\x03\x00", 0x1f33
|
||||
"\x00\x1f\x30\x00\x03\x01", 0x1f34
|
||||
"\x00\x1f\x31\x00\x03\x01", 0x1f35
|
||||
"\x00\x1f\x30\x00\x03\x42", 0x1f36
|
||||
"\x00\x1f\x31\x00\x03\x42", 0x1f37
|
||||
"\x00\x03\x99\x00\x03\x13", 0x1f38
|
||||
"\x00\x03\x99\x00\x03\x14", 0x1f39
|
||||
"\x00\x1f\x38\x00\x03\x00", 0x1f3a
|
||||
"\x00\x1f\x39\x00\x03\x00", 0x1f3b
|
||||
"\x00\x1f\x38\x00\x03\x01", 0x1f3c
|
||||
"\x00\x1f\x39\x00\x03\x01", 0x1f3d
|
||||
"\x00\x1f\x38\x00\x03\x42", 0x1f3e
|
||||
"\x00\x1f\x39\x00\x03\x42", 0x1f3f
|
||||
"\x00\x03\xbf\x00\x03\x13", 0x1f40
|
||||
"\x00\x03\xbf\x00\x03\x14", 0x1f41
|
||||
"\x00\x1f\x40\x00\x03\x00", 0x1f42
|
||||
"\x00\x1f\x41\x00\x03\x00", 0x1f43
|
||||
"\x00\x1f\x40\x00\x03\x01", 0x1f44
|
||||
"\x00\x1f\x41\x00\x03\x01", 0x1f45
|
||||
"\x00\x03\x9f\x00\x03\x13", 0x1f48
|
||||
"\x00\x03\x9f\x00\x03\x14", 0x1f49
|
||||
"\x00\x1f\x48\x00\x03\x00", 0x1f4a
|
||||
"\x00\x1f\x49\x00\x03\x00", 0x1f4b
|
||||
"\x00\x1f\x48\x00\x03\x01", 0x1f4c
|
||||
"\x00\x1f\x49\x00\x03\x01", 0x1f4d
|
||||
"\x00\x03\xc5\x00\x03\x13", 0x1f50
|
||||
"\x00\x03\xc5\x00\x03\x14", 0x1f51
|
||||
"\x00\x1f\x50\x00\x03\x00", 0x1f52
|
||||
"\x00\x1f\x51\x00\x03\x00", 0x1f53
|
||||
"\x00\x1f\x50\x00\x03\x01", 0x1f54
|
||||
"\x00\x1f\x51\x00\x03\x01", 0x1f55
|
||||
"\x00\x1f\x50\x00\x03\x42", 0x1f56
|
||||
"\x00\x1f\x51\x00\x03\x42", 0x1f57
|
||||
"\x00\x03\xa5\x00\x03\x14", 0x1f59
|
||||
"\x00\x1f\x59\x00\x03\x00", 0x1f5b
|
||||
"\x00\x1f\x59\x00\x03\x01", 0x1f5d
|
||||
"\x00\x1f\x59\x00\x03\x42", 0x1f5f
|
||||
"\x00\x03\xc9\x00\x03\x13", 0x1f60
|
||||
"\x00\x03\xc9\x00\x03\x14", 0x1f61
|
||||
"\x00\x1f\x60\x00\x03\x00", 0x1f62
|
||||
"\x00\x1f\x61\x00\x03\x00", 0x1f63
|
||||
"\x00\x1f\x60\x00\x03\x01", 0x1f64
|
||||
"\x00\x1f\x61\x00\x03\x01", 0x1f65
|
||||
"\x00\x1f\x60\x00\x03\x42", 0x1f66
|
||||
"\x00\x1f\x61\x00\x03\x42", 0x1f67
|
||||
"\x00\x03\xa9\x00\x03\x13", 0x1f68
|
||||
"\x00\x03\xa9\x00\x03\x14", 0x1f69
|
||||
"\x00\x1f\x68\x00\x03\x00", 0x1f6a
|
||||
"\x00\x1f\x69\x00\x03\x00", 0x1f6b
|
||||
"\x00\x1f\x68\x00\x03\x01", 0x1f6c
|
||||
"\x00\x1f\x69\x00\x03\x01", 0x1f6d
|
||||
"\x00\x1f\x68\x00\x03\x42", 0x1f6e
|
||||
"\x00\x1f\x69\x00\x03\x42", 0x1f6f
|
||||
"\x00\x03\xb1\x00\x03\x00", 0x1f70
|
||||
"\x00\x03\xb5\x00\x03\x00", 0x1f72
|
||||
"\x00\x03\xb7\x00\x03\x00", 0x1f74
|
||||
"\x00\x03\xb9\x00\x03\x00", 0x1f76
|
||||
"\x00\x03\xbf\x00\x03\x00", 0x1f78
|
||||
"\x00\x03\xc5\x00\x03\x00", 0x1f7a
|
||||
"\x00\x03\xc9\x00\x03\x00", 0x1f7c
|
||||
"\x00\x1f\x00\x00\x03\x45", 0x1f80
|
||||
"\x00\x1f\x01\x00\x03\x45", 0x1f81
|
||||
"\x00\x1f\x02\x00\x03\x45", 0x1f82
|
||||
"\x00\x1f\x03\x00\x03\x45", 0x1f83
|
||||
"\x00\x1f\x04\x00\x03\x45", 0x1f84
|
||||
"\x00\x1f\x05\x00\x03\x45", 0x1f85
|
||||
"\x00\x1f\x06\x00\x03\x45", 0x1f86
|
||||
"\x00\x1f\x07\x00\x03\x45", 0x1f87
|
||||
"\x00\x1f\x08\x00\x03\x45", 0x1f88
|
||||
"\x00\x1f\x09\x00\x03\x45", 0x1f89
|
||||
"\x00\x1f\x0a\x00\x03\x45", 0x1f8a
|
||||
"\x00\x1f\x0b\x00\x03\x45", 0x1f8b
|
||||
"\x00\x1f\x0c\x00\x03\x45", 0x1f8c
|
||||
"\x00\x1f\x0d\x00\x03\x45", 0x1f8d
|
||||
"\x00\x1f\x0e\x00\x03\x45", 0x1f8e
|
||||
"\x00\x1f\x0f\x00\x03\x45", 0x1f8f
|
||||
"\x00\x1f\x20\x00\x03\x45", 0x1f90
|
||||
"\x00\x1f\x21\x00\x03\x45", 0x1f91
|
||||
"\x00\x1f\x22\x00\x03\x45", 0x1f92
|
||||
"\x00\x1f\x23\x00\x03\x45", 0x1f93
|
||||
"\x00\x1f\x24\x00\x03\x45", 0x1f94
|
||||
"\x00\x1f\x25\x00\x03\x45", 0x1f95
|
||||
"\x00\x1f\x26\x00\x03\x45", 0x1f96
|
||||
"\x00\x1f\x27\x00\x03\x45", 0x1f97
|
||||
"\x00\x1f\x28\x00\x03\x45", 0x1f98
|
||||
"\x00\x1f\x29\x00\x03\x45", 0x1f99
|
||||
"\x00\x1f\x2a\x00\x03\x45", 0x1f9a
|
||||
"\x00\x1f\x2b\x00\x03\x45", 0x1f9b
|
||||
"\x00\x1f\x2c\x00\x03\x45", 0x1f9c
|
||||
"\x00\x1f\x2d\x00\x03\x45", 0x1f9d
|
||||
"\x00\x1f\x2e\x00\x03\x45", 0x1f9e
|
||||
"\x00\x1f\x2f\x00\x03\x45", 0x1f9f
|
||||
"\x00\x1f\x60\x00\x03\x45", 0x1fa0
|
||||
"\x00\x1f\x61\x00\x03\x45", 0x1fa1
|
||||
"\x00\x1f\x62\x00\x03\x45", 0x1fa2
|
||||
"\x00\x1f\x63\x00\x03\x45", 0x1fa3
|
||||
"\x00\x1f\x64\x00\x03\x45", 0x1fa4
|
||||
"\x00\x1f\x65\x00\x03\x45", 0x1fa5
|
||||
"\x00\x1f\x66\x00\x03\x45", 0x1fa6
|
||||
"\x00\x1f\x67\x00\x03\x45", 0x1fa7
|
||||
"\x00\x1f\x68\x00\x03\x45", 0x1fa8
|
||||
"\x00\x1f\x69\x00\x03\x45", 0x1fa9
|
||||
"\x00\x1f\x6a\x00\x03\x45", 0x1faa
|
||||
"\x00\x1f\x6b\x00\x03\x45", 0x1fab
|
||||
"\x00\x1f\x6c\x00\x03\x45", 0x1fac
|
||||
"\x00\x1f\x6d\x00\x03\x45", 0x1fad
|
||||
"\x00\x1f\x6e\x00\x03\x45", 0x1fae
|
||||
"\x00\x1f\x6f\x00\x03\x45", 0x1faf
|
||||
"\x00\x03\xb1\x00\x03\x06", 0x1fb0
|
||||
"\x00\x03\xb1\x00\x03\x04", 0x1fb1
|
||||
"\x00\x1f\x70\x00\x03\x45", 0x1fb2
|
||||
"\x00\x03\xb1\x00\x03\x45", 0x1fb3
|
||||
"\x00\x03\xac\x00\x03\x45", 0x1fb4
|
||||
"\x00\x03\xb1\x00\x03\x42", 0x1fb6
|
||||
"\x00\x1f\xb6\x00\x03\x45", 0x1fb7
|
||||
"\x00\x03\x91\x00\x03\x06", 0x1fb8
|
||||
"\x00\x03\x91\x00\x03\x04", 0x1fb9
|
||||
"\x00\x03\x91\x00\x03\x00", 0x1fba
|
||||
"\x00\x03\x91\x00\x03\x45", 0x1fbc
|
||||
"\x00\x00\xa8\x00\x03\x42", 0x1fc1
|
||||
"\x00\x1f\x74\x00\x03\x45", 0x1fc2
|
||||
"\x00\x03\xb7\x00\x03\x45", 0x1fc3
|
||||
"\x00\x03\xae\x00\x03\x45", 0x1fc4
|
||||
"\x00\x03\xb7\x00\x03\x42", 0x1fc6
|
||||
"\x00\x1f\xc6\x00\x03\x45", 0x1fc7
|
||||
"\x00\x03\x95\x00\x03\x00", 0x1fc8
|
||||
"\x00\x03\x97\x00\x03\x00", 0x1fca
|
||||
"\x00\x03\x97\x00\x03\x45", 0x1fcc
|
||||
"\x00\x1f\xbf\x00\x03\x00", 0x1fcd
|
||||
"\x00\x1f\xbf\x00\x03\x01", 0x1fce
|
||||
"\x00\x1f\xbf\x00\x03\x42", 0x1fcf
|
||||
"\x00\x03\xb9\x00\x03\x06", 0x1fd0
|
||||
"\x00\x03\xb9\x00\x03\x04", 0x1fd1
|
||||
"\x00\x03\xca\x00\x03\x00", 0x1fd2
|
||||
"\x00\x03\xb9\x00\x03\x42", 0x1fd6
|
||||
"\x00\x03\xca\x00\x03\x42", 0x1fd7
|
||||
"\x00\x03\x99\x00\x03\x06", 0x1fd8
|
||||
"\x00\x03\x99\x00\x03\x04", 0x1fd9
|
||||
"\x00\x03\x99\x00\x03\x00", 0x1fda
|
||||
"\x00\x1f\xfe\x00\x03\x00", 0x1fdd
|
||||
"\x00\x1f\xfe\x00\x03\x01", 0x1fde
|
||||
"\x00\x1f\xfe\x00\x03\x42", 0x1fdf
|
||||
"\x00\x03\xc5\x00\x03\x06", 0x1fe0
|
||||
"\x00\x03\xc5\x00\x03\x04", 0x1fe1
|
||||
"\x00\x03\xcb\x00\x03\x00", 0x1fe2
|
||||
"\x00\x03\xc1\x00\x03\x13", 0x1fe4
|
||||
"\x00\x03\xc1\x00\x03\x14", 0x1fe5
|
||||
"\x00\x03\xc5\x00\x03\x42", 0x1fe6
|
||||
"\x00\x03\xcb\x00\x03\x42", 0x1fe7
|
||||
"\x00\x03\xa5\x00\x03\x06", 0x1fe8
|
||||
"\x00\x03\xa5\x00\x03\x04", 0x1fe9
|
||||
"\x00\x03\xa5\x00\x03\x00", 0x1fea
|
||||
"\x00\x03\xa1\x00\x03\x14", 0x1fec
|
||||
"\x00\x00\xa8\x00\x03\x00", 0x1fed
|
||||
"\x00\x1f\x7c\x00\x03\x45", 0x1ff2
|
||||
"\x00\x03\xc9\x00\x03\x45", 0x1ff3
|
||||
"\x00\x03\xce\x00\x03\x45", 0x1ff4
|
||||
"\x00\x03\xc9\x00\x03\x42", 0x1ff6
|
||||
"\x00\x1f\xf6\x00\x03\x45", 0x1ff7
|
||||
"\x00\x03\x9f\x00\x03\x00", 0x1ff8
|
||||
"\x00\x03\xa9\x00\x03\x00", 0x1ffa
|
||||
"\x00\x03\xa9\x00\x03\x45", 0x1ffc
|
||||
"\x00\x21\x90\x00\x03\x38", 0x219a
|
||||
"\x00\x21\x92\x00\x03\x38", 0x219b
|
||||
"\x00\x21\x94\x00\x03\x38", 0x21ae
|
||||
"\x00\x21\xd0\x00\x03\x38", 0x21cd
|
||||
"\x00\x21\xd4\x00\x03\x38", 0x21ce
|
||||
"\x00\x21\xd2\x00\x03\x38", 0x21cf
|
||||
"\x00\x22\x03\x00\x03\x38", 0x2204
|
||||
"\x00\x22\x08\x00\x03\x38", 0x2209
|
||||
"\x00\x22\x0b\x00\x03\x38", 0x220c
|
||||
"\x00\x22\x23\x00\x03\x38", 0x2224
|
||||
"\x00\x22\x25\x00\x03\x38", 0x2226
|
||||
"\x00\x22\x3c\x00\x03\x38", 0x2241
|
||||
"\x00\x22\x43\x00\x03\x38", 0x2244
|
||||
"\x00\x22\x45\x00\x03\x38", 0x2247
|
||||
"\x00\x22\x48\x00\x03\x38", 0x2249
|
||||
"\x00\x00\x3d\x00\x03\x38", 0x2260
|
||||
"\x00\x22\x61\x00\x03\x38", 0x2262
|
||||
"\x00\x22\x4d\x00\x03\x38", 0x226d
|
||||
"\x00\x00\x3c\x00\x03\x38", 0x226e
|
||||
"\x00\x00\x3e\x00\x03\x38", 0x226f
|
||||
"\x00\x22\x64\x00\x03\x38", 0x2270
|
||||
"\x00\x22\x65\x00\x03\x38", 0x2271
|
||||
"\x00\x22\x72\x00\x03\x38", 0x2274
|
||||
"\x00\x22\x73\x00\x03\x38", 0x2275
|
||||
"\x00\x22\x76\x00\x03\x38", 0x2278
|
||||
"\x00\x22\x77\x00\x03\x38", 0x2279
|
||||
"\x00\x22\x7a\x00\x03\x38", 0x2280
|
||||
"\x00\x22\x7b\x00\x03\x38", 0x2281
|
||||
"\x00\x22\x82\x00\x03\x38", 0x2284
|
||||
"\x00\x22\x83\x00\x03\x38", 0x2285
|
||||
"\x00\x22\x86\x00\x03\x38", 0x2288
|
||||
"\x00\x22\x87\x00\x03\x38", 0x2289
|
||||
"\x00\x22\xa2\x00\x03\x38", 0x22ac
|
||||
"\x00\x22\xa8\x00\x03\x38", 0x22ad
|
||||
"\x00\x22\xa9\x00\x03\x38", 0x22ae
|
||||
"\x00\x22\xab\x00\x03\x38", 0x22af
|
||||
"\x00\x22\x7c\x00\x03\x38", 0x22e0
|
||||
"\x00\x22\x7d\x00\x03\x38", 0x22e1
|
||||
"\x00\x22\x91\x00\x03\x38", 0x22e2
|
||||
"\x00\x22\x92\x00\x03\x38", 0x22e3
|
||||
"\x00\x22\xb2\x00\x03\x38", 0x22ea
|
||||
"\x00\x22\xb3\x00\x03\x38", 0x22eb
|
||||
"\x00\x22\xb4\x00\x03\x38", 0x22ec
|
||||
"\x00\x22\xb5\x00\x03\x38", 0x22ed
|
||||
"\x00\x30\x4b\x00\x30\x99", 0x304c
|
||||
"\x00\x30\x4d\x00\x30\x99", 0x304e
|
||||
"\x00\x30\x4f\x00\x30\x99", 0x3050
|
||||
"\x00\x30\x51\x00\x30\x99", 0x3052
|
||||
"\x00\x30\x53\x00\x30\x99", 0x3054
|
||||
"\x00\x30\x55\x00\x30\x99", 0x3056
|
||||
"\x00\x30\x57\x00\x30\x99", 0x3058
|
||||
"\x00\x30\x59\x00\x30\x99", 0x305a
|
||||
"\x00\x30\x5b\x00\x30\x99", 0x305c
|
||||
"\x00\x30\x5d\x00\x30\x99", 0x305e
|
||||
"\x00\x30\x5f\x00\x30\x99", 0x3060
|
||||
"\x00\x30\x61\x00\x30\x99", 0x3062
|
||||
"\x00\x30\x64\x00\x30\x99", 0x3065
|
||||
"\x00\x30\x66\x00\x30\x99", 0x3067
|
||||
"\x00\x30\x68\x00\x30\x99", 0x3069
|
||||
"\x00\x30\x6f\x00\x30\x99", 0x3070
|
||||
"\x00\x30\x6f\x00\x30\x9a", 0x3071
|
||||
"\x00\x30\x72\x00\x30\x99", 0x3073
|
||||
"\x00\x30\x72\x00\x30\x9a", 0x3074
|
||||
"\x00\x30\x75\x00\x30\x99", 0x3076
|
||||
"\x00\x30\x75\x00\x30\x9a", 0x3077
|
||||
"\x00\x30\x78\x00\x30\x99", 0x3079
|
||||
"\x00\x30\x78\x00\x30\x9a", 0x307a
|
||||
"\x00\x30\x7b\x00\x30\x99", 0x307c
|
||||
"\x00\x30\x7b\x00\x30\x9a", 0x307d
|
||||
"\x00\x30\x46\x00\x30\x99", 0x3094
|
||||
"\x00\x30\x9d\x00\x30\x99", 0x309e
|
||||
"\x00\x30\xab\x00\x30\x99", 0x30ac
|
||||
"\x00\x30\xad\x00\x30\x99", 0x30ae
|
||||
"\x00\x30\xaf\x00\x30\x99", 0x30b0
|
||||
"\x00\x30\xb1\x00\x30\x99", 0x30b2
|
||||
"\x00\x30\xb3\x00\x30\x99", 0x30b4
|
||||
"\x00\x30\xb5\x00\x30\x99", 0x30b6
|
||||
"\x00\x30\xb7\x00\x30\x99", 0x30b8
|
||||
"\x00\x30\xb9\x00\x30\x99", 0x30ba
|
||||
"\x00\x30\xbb\x00\x30\x99", 0x30bc
|
||||
"\x00\x30\xbd\x00\x30\x99", 0x30be
|
||||
"\x00\x30\xbf\x00\x30\x99", 0x30c0
|
||||
"\x00\x30\xc1\x00\x30\x99", 0x30c2
|
||||
"\x00\x30\xc4\x00\x30\x99", 0x30c5
|
||||
"\x00\x30\xc6\x00\x30\x99", 0x30c7
|
||||
"\x00\x30\xc8\x00\x30\x99", 0x30c9
|
||||
"\x00\x30\xcf\x00\x30\x99", 0x30d0
|
||||
"\x00\x30\xcf\x00\x30\x9a", 0x30d1
|
||||
"\x00\x30\xd2\x00\x30\x99", 0x30d3
|
||||
"\x00\x30\xd2\x00\x30\x9a", 0x30d4
|
||||
"\x00\x30\xd5\x00\x30\x99", 0x30d6
|
||||
"\x00\x30\xd5\x00\x30\x9a", 0x30d7
|
||||
"\x00\x30\xd8\x00\x30\x99", 0x30d9
|
||||
"\x00\x30\xd8\x00\x30\x9a", 0x30da
|
||||
"\x00\x30\xdb\x00\x30\x99", 0x30dc
|
||||
"\x00\x30\xdb\x00\x30\x9a", 0x30dd
|
||||
"\x00\x30\xa6\x00\x30\x99", 0x30f4
|
||||
"\x00\x30\xef\x00\x30\x99", 0x30f7
|
||||
"\x00\x30\xf0\x00\x30\x99", 0x30f8
|
||||
"\x00\x30\xf1\x00\x30\x99", 0x30f9
|
||||
"\x00\x30\xf2\x00\x30\x99", 0x30fa
|
||||
"\x00\x30\xfd\x00\x30\x99", 0x30fe
|
||||
"\x01\x05\xd2\x00\x03\x07", 0x105c9
|
||||
"\x01\x05\xda\x00\x03\x07", 0x105e4
|
||||
"\x01\x10\x99\x01\x10\xba", 0x1109a
|
||||
"\x01\x10\x9b\x01\x10\xba", 0x1109c
|
||||
"\x01\x10\xa5\x01\x10\xba", 0x110ab
|
||||
"\x01\x11\x31\x01\x11\x27", 0x1112e
|
||||
"\x01\x11\x32\x01\x11\x27", 0x1112f
|
||||
"\x01\x13\x47\x01\x13\x3e", 0x1134b
|
||||
"\x01\x13\x47\x01\x13\x57", 0x1134c
|
||||
"\x01\x13\x82\x01\x13\xc9", 0x11383
|
||||
"\x01\x13\x84\x01\x13\xbb", 0x11385
|
||||
"\x01\x13\x8b\x01\x13\xc2", 0x1138e
|
||||
"\x01\x13\x90\x01\x13\xc9", 0x11391
|
||||
"\x01\x13\xc2\x01\x13\xc2", 0x113c5
|
||||
"\x01\x13\xc2\x01\x13\xb8", 0x113c7
|
||||
"\x01\x13\xc2\x01\x13\xc9", 0x113c8
|
||||
"\x01\x14\xb9\x01\x14\xba", 0x114bb
|
||||
"\x01\x14\xb9\x01\x14\xb0", 0x114bc
|
||||
"\x01\x14\xb9\x01\x14\xbd", 0x114be
|
||||
"\x01\x15\xb8\x01\x15\xaf", 0x115ba
|
||||
"\x01\x15\xb9\x01\x15\xaf", 0x115bb
|
||||
"\x01\x19\x35\x01\x19\x30", 0x11938
|
||||
"\x01\x61\x1e\x01\x61\x1e", 0x16121
|
||||
"\x01\x61\x1e\x01\x61\x29", 0x16122
|
||||
"\x01\x61\x1e\x01\x61\x1f", 0x16123
|
||||
"\x01\x61\x29\x01\x61\x1f", 0x16124
|
||||
"\x01\x61\x1e\x01\x61\x20", 0x16125
|
||||
"\x01\x61\x21\x01\x61\x1f", 0x16126
|
||||
"\x01\x61\x22\x01\x61\x1f", 0x16127
|
||||
"\x01\x61\x21\x01\x61\x20", 0x16128
|
||||
"\x01\x6d\x67\x01\x6d\x67", 0x16d68
|
||||
"\x01\x6d\x63\x01\x6d\x67", 0x16d69
|
||||
"\x01\x6d\x69\x01\x6d\x67", 0x16d6a
|
||||
46
include/libgnulib/uninorm/decompose-internal.h
Executable file
46
include/libgnulib/uninorm/decompose-internal.h
Executable file
@@ -0,0 +1,46 @@
|
||||
/* Decomposition of Unicode strings.
|
||||
Copyright (C) 2009-2024 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2009.
|
||||
|
||||
This file is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#include "unitypes.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
/* Variant of uc_decomposition that does not produce the 'tag'. */
|
||||
extern int
|
||||
uc_compat_decomposition (ucs4_t uc, ucs4_t *decomposition);
|
||||
|
||||
/* A Unicode character together with its canonical combining class. */
|
||||
struct ucs4_with_ccc
|
||||
{
|
||||
ucs4_t code;
|
||||
int ccc; /* range 0..255 */
|
||||
};
|
||||
|
||||
/* Stable-sort an array of 'struct ucs4_with_ccc'. */
|
||||
extern void
|
||||
gl_uninorm_decompose_merge_sort_inplace (struct ucs4_with_ccc *src, size_t n,
|
||||
struct ucs4_with_ccc *tmp);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
48
include/libgnulib/uninorm/decomposition-table.h
Executable file
48
include/libgnulib/uninorm/decomposition-table.h
Executable file
@@ -0,0 +1,48 @@
|
||||
/* Decomposition of Unicode characters.
|
||||
Copyright (C) 2001-2003, 2009-2024 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2009.
|
||||
|
||||
This file is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
|
||||
#include "unitypes.h"
|
||||
|
||||
/* The decomposition table is made of two parts:
|
||||
- A table containing the actual arrays of decomposed equivalents.
|
||||
(This table is separate because the maximum length of a decomposition
|
||||
is 18, much larger than the average length 1.497 of a decomposition).
|
||||
- A 3-level table of indices into this array. */
|
||||
|
||||
#include "decomposition-table1.h"
|
||||
|
||||
static inline unsigned short
|
||||
decomp_index (ucs4_t uc)
|
||||
{
|
||||
unsigned int index1 = uc >> decomp_header_0;
|
||||
if (index1 < decomp_header_1)
|
||||
{
|
||||
int lookup1 = gl_uninorm_decomp_index_table.level1[index1];
|
||||
if (lookup1 >= 0)
|
||||
{
|
||||
unsigned int index2 = (uc >> decomp_header_2) & decomp_header_3;
|
||||
int lookup2 = gl_uninorm_decomp_index_table.level2[lookup1 + index2];
|
||||
if (lookup2 >= 0)
|
||||
{
|
||||
unsigned int index3 = uc & decomp_header_4;
|
||||
return gl_uninorm_decomp_index_table.level3[lookup2 + index3];
|
||||
}
|
||||
}
|
||||
}
|
||||
return (unsigned short)(-1);
|
||||
}
|
||||
35
include/libgnulib/uninorm/decomposition-table1.h
Executable file
35
include/libgnulib/uninorm/decomposition-table1.h
Executable file
@@ -0,0 +1,35 @@
|
||||
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
|
||||
/* Decomposition of Unicode characters. */
|
||||
/* Generated automatically by gen-uni-tables.c for Unicode 16.0.0. */
|
||||
|
||||
/* Copyright (C) 2000-2024 Free Software Foundation, Inc.
|
||||
|
||||
This file is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
extern const unsigned char gl_uninorm_decomp_chars_table[];
|
||||
|
||||
#define decomp_header_0 10
|
||||
#define decomp_header_1 191
|
||||
#define decomp_header_2 5
|
||||
#define decomp_header_3 31
|
||||
#define decomp_header_4 31
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int level1[191];
|
||||
int level2[30 << 5];
|
||||
unsigned short level3[293 << 5];
|
||||
}
|
||||
decomp_index_table_t;
|
||||
extern const decomp_index_table_t gl_uninorm_decomp_index_table;
|
||||
3533
include/libgnulib/uninorm/decomposition-table2.h
Executable file
3533
include/libgnulib/uninorm/decomposition-table2.h
Executable file
File diff suppressed because it is too large
Load Diff
35
include/libgnulib/uninorm/normalize-internal.h
Executable file
35
include/libgnulib/uninorm/normalize-internal.h
Executable file
@@ -0,0 +1,35 @@
|
||||
/* Normalization of Unicode strings.
|
||||
Copyright (C) 2009-2024 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2009.
|
||||
|
||||
This file is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include "unitypes.h"
|
||||
|
||||
/* Complete definition of normalization form descriptor. */
|
||||
struct unicode_normalization_form
|
||||
{
|
||||
/* Bit mask containing meta-information.
|
||||
This must be the first field. */
|
||||
unsigned int description;
|
||||
#define NF_IS_COMPAT_DECOMPOSING (1 << 0)
|
||||
#define NF_IS_COMPOSING (1 << 1)
|
||||
/* Function that decomposes a Unicode character. */
|
||||
int (*decomposer) (ucs4_t uc, ucs4_t *decomposition);
|
||||
/* Function that combines two Unicode characters, a starter and another
|
||||
character. */
|
||||
ucs4_t (*composer) (ucs4_t uc1, ucs4_t uc2);
|
||||
/* Decomposing variant. */
|
||||
const struct unicode_normalization_form *decomposing_variant;
|
||||
};
|
||||
380
include/libgnulib/uninorm/u-normalize-internal.h
Executable file
380
include/libgnulib/uninorm/u-normalize-internal.h
Executable file
@@ -0,0 +1,380 @@
|
||||
/* Decomposition and composition of Unicode strings.
|
||||
Copyright (C) 2009-2024 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2009.
|
||||
|
||||
This file is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
UNIT *
|
||||
FUNC (uninorm_t nf, const UNIT *s, size_t n,
|
||||
UNIT *resultbuf, size_t *lengthp)
|
||||
{
|
||||
int (*decomposer) (ucs4_t uc, ucs4_t *decomposition) = nf->decomposer;
|
||||
ucs4_t (*composer) (ucs4_t uc1, ucs4_t uc2) = nf->composer;
|
||||
|
||||
/* The result being accumulated. */
|
||||
UNIT *result;
|
||||
size_t length;
|
||||
size_t allocated;
|
||||
/* The buffer for sorting. */
|
||||
#define SORTBUF_PREALLOCATED 64
|
||||
struct ucs4_with_ccc sortbuf_preallocated[2 * SORTBUF_PREALLOCATED];
|
||||
struct ucs4_with_ccc *sortbuf; /* array of size 2 * sortbuf_allocated */
|
||||
size_t sortbuf_allocated;
|
||||
size_t sortbuf_count;
|
||||
|
||||
/* Initialize the accumulator. */
|
||||
if (resultbuf == NULL)
|
||||
{
|
||||
result = NULL;
|
||||
allocated = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
result = resultbuf;
|
||||
allocated = *lengthp;
|
||||
}
|
||||
length = 0;
|
||||
|
||||
/* Initialize the buffer for sorting. */
|
||||
sortbuf = sortbuf_preallocated;
|
||||
sortbuf_allocated = SORTBUF_PREALLOCATED;
|
||||
sortbuf_count = 0;
|
||||
|
||||
{
|
||||
const UNIT *s_end = s + n;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
int count;
|
||||
ucs4_t decomposed[UC_DECOMPOSITION_MAX_LENGTH];
|
||||
int decomposed_count;
|
||||
int i;
|
||||
|
||||
if (s < s_end)
|
||||
{
|
||||
/* Fetch the next character. */
|
||||
count = U_MBTOUC_UNSAFE (&decomposed[0], s, s_end - s);
|
||||
decomposed_count = 1;
|
||||
|
||||
/* Decompose it, recursively.
|
||||
It would be possible to precompute the recursive decomposition
|
||||
and store it in a table. But this would significantly increase
|
||||
the size of the decomposition tables, because for example for
|
||||
U+1FC1 the recursive canonical decomposition and the recursive
|
||||
compatibility decomposition are different. */
|
||||
{
|
||||
int curr;
|
||||
|
||||
for (curr = 0; curr < decomposed_count; )
|
||||
{
|
||||
/* Invariant: decomposed[0..curr-1] is fully decomposed, i.e.
|
||||
all elements are atomic. */
|
||||
ucs4_t curr_decomposed[UC_DECOMPOSITION_MAX_LENGTH];
|
||||
int curr_decomposed_count;
|
||||
|
||||
curr_decomposed_count = decomposer (decomposed[curr], curr_decomposed);
|
||||
if (curr_decomposed_count >= 0)
|
||||
{
|
||||
/* Move curr_decomposed[0..curr_decomposed_count-1] over
|
||||
decomposed[curr], making room. It's not worth using
|
||||
memcpy() here, since the counts are so small. */
|
||||
int shift = curr_decomposed_count - 1;
|
||||
|
||||
if (shift < 0)
|
||||
abort ();
|
||||
if (shift > 0)
|
||||
{
|
||||
int j;
|
||||
|
||||
decomposed_count += shift;
|
||||
if (decomposed_count > UC_DECOMPOSITION_MAX_LENGTH)
|
||||
abort ();
|
||||
for (j = decomposed_count - 1 - shift; j > curr; j--)
|
||||
decomposed[j + shift] = decomposed[j];
|
||||
}
|
||||
for (; shift >= 0; shift--)
|
||||
decomposed[curr + shift] = curr_decomposed[shift];
|
||||
}
|
||||
else
|
||||
{
|
||||
/* decomposed[curr] is atomic. */
|
||||
curr++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
count = 0;
|
||||
decomposed_count = 0;
|
||||
}
|
||||
|
||||
i = 0;
|
||||
for (;;)
|
||||
{
|
||||
ucs4_t uc;
|
||||
int ccc;
|
||||
|
||||
if (s < s_end)
|
||||
{
|
||||
/* Fetch the next character from the decomposition. */
|
||||
if (i == decomposed_count)
|
||||
break;
|
||||
uc = decomposed[i];
|
||||
ccc = uc_combining_class (uc);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* End of string reached. */
|
||||
uc = 0;
|
||||
ccc = 0;
|
||||
}
|
||||
|
||||
if (ccc == 0)
|
||||
{
|
||||
size_t j;
|
||||
|
||||
/* Apply the canonical ordering algorithm to the accumulated
|
||||
sequence of characters. */
|
||||
if (sortbuf_count > 1)
|
||||
gl_uninorm_decompose_merge_sort_inplace (sortbuf, sortbuf_count,
|
||||
sortbuf + sortbuf_count);
|
||||
|
||||
if (composer != NULL)
|
||||
{
|
||||
/* Attempt to combine decomposed characters, as specified
|
||||
in the Unicode Standard Annex #15 "Unicode Normalization
|
||||
Forms". We need to check
|
||||
1. whether the first accumulated character is a
|
||||
"starter" (i.e. has ccc = 0). This is usually the
|
||||
case. But when the string starts with a
|
||||
non-starter, the sortbuf also starts with a
|
||||
non-starter. Btw, this check could also be
|
||||
omitted, because the composition table has only
|
||||
entries (code1, code2) for which code1 is a
|
||||
starter; if the first accumulated character is not
|
||||
a starter, no lookup will succeed.
|
||||
2. If the sortbuf has more than one character, check
|
||||
for each of these characters that are not "blocked"
|
||||
from the starter (i.e. have a ccc that is higher
|
||||
than the ccc of the previous character) whether it
|
||||
can be combined with the first character.
|
||||
3. If only one character is left in sortbuf, check
|
||||
whether it can be combined with the next character
|
||||
(also a starter). */
|
||||
if (sortbuf_count > 0 && sortbuf[0].ccc == 0)
|
||||
{
|
||||
for (j = 1; j < sortbuf_count; )
|
||||
{
|
||||
if (sortbuf[j].ccc > sortbuf[j - 1].ccc)
|
||||
{
|
||||
ucs4_t combined =
|
||||
composer (sortbuf[0].code, sortbuf[j].code);
|
||||
if (combined)
|
||||
{
|
||||
size_t k;
|
||||
|
||||
sortbuf[0].code = combined;
|
||||
/* sortbuf[0].ccc = 0, still valid. */
|
||||
for (k = j + 1; k < sortbuf_count; k++)
|
||||
sortbuf[k - 1] = sortbuf[k];
|
||||
sortbuf_count--;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
j++;
|
||||
}
|
||||
if (s < s_end && sortbuf_count == 1)
|
||||
{
|
||||
ucs4_t combined =
|
||||
composer (sortbuf[0].code, uc);
|
||||
if (combined)
|
||||
{
|
||||
uc = combined;
|
||||
ccc = 0;
|
||||
/* uc could be further combined with subsequent
|
||||
characters. So don't put it into sortbuf[0] in
|
||||
this round, only in the next round. */
|
||||
sortbuf_count = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (j = 0; j < sortbuf_count; j++)
|
||||
{
|
||||
ucs4_t muc = sortbuf[j].code;
|
||||
|
||||
/* Append muc to the result accumulator. */
|
||||
if (length < allocated)
|
||||
{
|
||||
int ret =
|
||||
U_UCTOMB (result + length, muc, allocated - length);
|
||||
if (ret == -1)
|
||||
{
|
||||
errno = EINVAL;
|
||||
goto fail;
|
||||
}
|
||||
if (ret >= 0)
|
||||
{
|
||||
length += ret;
|
||||
goto done_appending;
|
||||
}
|
||||
}
|
||||
{
|
||||
size_t old_allocated = allocated;
|
||||
size_t new_allocated = 2 * old_allocated;
|
||||
if (new_allocated < 64)
|
||||
new_allocated = 64;
|
||||
if (new_allocated < old_allocated) /* integer overflow? */
|
||||
abort ();
|
||||
{
|
||||
UNIT *larger_result;
|
||||
if (result == NULL)
|
||||
{
|
||||
larger_result =
|
||||
(UNIT *) malloc (new_allocated * sizeof (UNIT));
|
||||
if (larger_result == NULL)
|
||||
{
|
||||
errno = ENOMEM;
|
||||
goto fail;
|
||||
}
|
||||
}
|
||||
else if (result == resultbuf)
|
||||
{
|
||||
larger_result =
|
||||
(UNIT *) malloc (new_allocated * sizeof (UNIT));
|
||||
if (larger_result == NULL)
|
||||
{
|
||||
errno = ENOMEM;
|
||||
goto fail;
|
||||
}
|
||||
U_CPY (larger_result, resultbuf, length);
|
||||
}
|
||||
else
|
||||
{
|
||||
larger_result =
|
||||
(UNIT *) realloc (result, new_allocated * sizeof (UNIT));
|
||||
if (larger_result == NULL)
|
||||
{
|
||||
errno = ENOMEM;
|
||||
goto fail;
|
||||
}
|
||||
}
|
||||
result = larger_result;
|
||||
allocated = new_allocated;
|
||||
{
|
||||
int ret =
|
||||
U_UCTOMB (result + length, muc, allocated - length);
|
||||
if (ret == -1)
|
||||
{
|
||||
errno = EINVAL;
|
||||
goto fail;
|
||||
}
|
||||
if (ret < 0)
|
||||
abort ();
|
||||
length += ret;
|
||||
goto done_appending;
|
||||
}
|
||||
}
|
||||
}
|
||||
done_appending: ;
|
||||
}
|
||||
|
||||
/* sortbuf is now empty. */
|
||||
sortbuf_count = 0;
|
||||
}
|
||||
|
||||
if (!(s < s_end))
|
||||
/* End of string reached. */
|
||||
break;
|
||||
|
||||
/* Append (uc, ccc) to sortbuf. */
|
||||
if (sortbuf_count == sortbuf_allocated)
|
||||
{
|
||||
struct ucs4_with_ccc *new_sortbuf;
|
||||
|
||||
sortbuf_allocated = 2 * sortbuf_allocated;
|
||||
if (sortbuf_allocated < sortbuf_count) /* integer overflow? */
|
||||
abort ();
|
||||
new_sortbuf =
|
||||
(struct ucs4_with_ccc *) malloc (2 * sortbuf_allocated * sizeof (struct ucs4_with_ccc));
|
||||
if (new_sortbuf == NULL)
|
||||
{
|
||||
errno = ENOMEM;
|
||||
goto fail;
|
||||
}
|
||||
memcpy (new_sortbuf, sortbuf,
|
||||
sortbuf_count * sizeof (struct ucs4_with_ccc));
|
||||
if (sortbuf != sortbuf_preallocated)
|
||||
free (sortbuf);
|
||||
sortbuf = new_sortbuf;
|
||||
}
|
||||
sortbuf[sortbuf_count].code = uc;
|
||||
sortbuf[sortbuf_count].ccc = ccc;
|
||||
sortbuf_count++;
|
||||
|
||||
i++;
|
||||
}
|
||||
|
||||
if (!(s < s_end))
|
||||
/* End of string reached. */
|
||||
break;
|
||||
|
||||
s += count;
|
||||
}
|
||||
}
|
||||
|
||||
if (length == 0)
|
||||
{
|
||||
if (result == NULL)
|
||||
{
|
||||
/* Return a non-NULL value. NULL means error. */
|
||||
result = (UNIT *) malloc (1);
|
||||
if (result == NULL)
|
||||
{
|
||||
errno = ENOMEM;
|
||||
goto fail;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (result != resultbuf && length < allocated)
|
||||
{
|
||||
/* Shrink the allocated memory if possible. */
|
||||
UNIT *memory;
|
||||
|
||||
memory = (UNIT *) realloc (result, length * sizeof (UNIT));
|
||||
if (memory != NULL)
|
||||
result = memory;
|
||||
}
|
||||
|
||||
if (sortbuf_count > 0)
|
||||
abort ();
|
||||
if (sortbuf != sortbuf_preallocated)
|
||||
free (sortbuf);
|
||||
|
||||
*lengthp = length;
|
||||
return result;
|
||||
|
||||
fail:
|
||||
{
|
||||
int saved_errno = errno;
|
||||
if (sortbuf != sortbuf_preallocated)
|
||||
free (sortbuf);
|
||||
if (result != resultbuf)
|
||||
free (result);
|
||||
errno = saved_errno;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
72
include/libgnulib/uninorm/u-normcmp.h
Executable file
72
include/libgnulib/uninorm/u-normcmp.h
Executable file
@@ -0,0 +1,72 @@
|
||||
/* Normalization insensitive comparison of Unicode strings.
|
||||
Copyright (C) 2009-2024 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2009.
|
||||
|
||||
This file is free software.
|
||||
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
|
||||
You can redistribute it and/or modify it under either
|
||||
- the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation, either version 3, or (at your
|
||||
option) any later version, or
|
||||
- the terms of the GNU General Public License as published by the
|
||||
Free Software Foundation; either version 2, or (at your option)
|
||||
any later version, or
|
||||
- the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License and the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License and of the GNU General Public License along with this
|
||||
program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
int
|
||||
FUNC (const UNIT *s1, size_t n1, const UNIT *s2, size_t n2,
|
||||
uninorm_t nf, int *resultp)
|
||||
{
|
||||
UNIT buf1[2048 / sizeof (UNIT)];
|
||||
UNIT buf2[2048 / sizeof (UNIT)];
|
||||
UNIT *norms1;
|
||||
size_t norms1_length;
|
||||
UNIT *norms2;
|
||||
size_t norms2_length;
|
||||
int cmp;
|
||||
|
||||
/* Normalize S1. */
|
||||
norms1_length = sizeof (buf1) / sizeof (UNIT);
|
||||
norms1 = U_NORMALIZE (nf, s1, n1, buf1, &norms1_length);
|
||||
if (norms1 == NULL)
|
||||
/* errno is set here. */
|
||||
return -1;
|
||||
|
||||
/* Normalize S2. */
|
||||
norms2_length = sizeof (buf2) / sizeof (UNIT);
|
||||
norms2 = U_NORMALIZE (nf, s2, n2, buf2, &norms2_length);
|
||||
if (norms2 == NULL)
|
||||
{
|
||||
if (norms1 != buf1)
|
||||
{
|
||||
int saved_errno = errno;
|
||||
free (norms1);
|
||||
errno = saved_errno;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Compare the normalized strings. */
|
||||
cmp = U_CMP2 (norms1, norms1_length, norms2, norms2_length);
|
||||
if (cmp > 0)
|
||||
cmp = 1;
|
||||
else if (cmp < 0)
|
||||
cmp = -1;
|
||||
|
||||
if (norms2 != buf2)
|
||||
free (norms2);
|
||||
if (norms1 != buf1)
|
||||
free (norms1);
|
||||
*resultp = cmp;
|
||||
return 0;
|
||||
}
|
||||
73
include/libgnulib/uninorm/u-normcoll.h
Executable file
73
include/libgnulib/uninorm/u-normcoll.h
Executable file
@@ -0,0 +1,73 @@
|
||||
/* Locale dependent, normalization insensitive comparison of Unicode strings.
|
||||
Copyright (C) 2009-2024 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2009.
|
||||
|
||||
This file is free software.
|
||||
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
|
||||
You can redistribute it and/or modify it under either
|
||||
- the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation, either version 3, or (at your
|
||||
option) any later version, or
|
||||
- the terms of the GNU General Public License as published by the
|
||||
Free Software Foundation; either version 2, or (at your option)
|
||||
any later version, or
|
||||
- the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License and the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License and of the GNU General Public License along with this
|
||||
program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
int
|
||||
FUNC (const UNIT *s1, size_t n1, const UNIT *s2, size_t n2,
|
||||
uninorm_t nf, int *resultp)
|
||||
{
|
||||
char buf1[2048];
|
||||
char buf2[2048];
|
||||
char *transformed1;
|
||||
size_t transformed1_length;
|
||||
char *transformed2;
|
||||
size_t transformed2_length;
|
||||
int cmp;
|
||||
|
||||
/* Normalize and transform S1. */
|
||||
transformed1_length = sizeof (buf1);
|
||||
transformed1 = U_NORMXFRM (s1, n1, nf, buf1, &transformed1_length);
|
||||
if (transformed1 == NULL)
|
||||
/* errno is set here. */
|
||||
return -1;
|
||||
|
||||
/* Normalize and transform S2. */
|
||||
transformed2_length = sizeof (buf2);
|
||||
transformed2 = U_NORMXFRM (s2, n2, nf, buf2, &transformed2_length);
|
||||
if (transformed2 == NULL)
|
||||
{
|
||||
if (transformed1 != buf1)
|
||||
{
|
||||
int saved_errno = errno;
|
||||
free (transformed1);
|
||||
errno = saved_errno;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Compare the transformed strings. */
|
||||
cmp = memcmp2 (transformed1, transformed1_length,
|
||||
transformed2, transformed2_length);
|
||||
if (cmp < 0)
|
||||
cmp = -1;
|
||||
else if (cmp > 0)
|
||||
cmp = 1;
|
||||
|
||||
if (transformed2 != buf2)
|
||||
free (transformed2);
|
||||
if (transformed1 != buf1)
|
||||
free (transformed1);
|
||||
*resultp = cmp;
|
||||
return 0;
|
||||
}
|
||||
95
include/libgnulib/uninorm/u-normxfrm.h
Executable file
95
include/libgnulib/uninorm/u-normxfrm.h
Executable file
@@ -0,0 +1,95 @@
|
||||
/* Locale dependent transformation for comparison of Unicode strings.
|
||||
Copyright (C) 2009-2024 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2009.
|
||||
|
||||
This file is free software.
|
||||
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
|
||||
You can redistribute it and/or modify it under either
|
||||
- the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation, either version 3, or (at your
|
||||
option) any later version, or
|
||||
- the terms of the GNU General Public License as published by the
|
||||
Free Software Foundation; either version 2, or (at your option)
|
||||
any later version, or
|
||||
- the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License and the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License and of the GNU General Public License along with this
|
||||
program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
char *
|
||||
FUNC (const UNIT *s, size_t n, uninorm_t nf,
|
||||
char *resultbuf, size_t *lengthp)
|
||||
{
|
||||
UNIT normsbuf[2048 / sizeof (UNIT)];
|
||||
UNIT *norms;
|
||||
size_t norms_length;
|
||||
char convsbuf[2048];
|
||||
char *convs;
|
||||
size_t convs_length;
|
||||
char *result;
|
||||
|
||||
/* Normalize the Unicode string. */
|
||||
norms_length = sizeof (normsbuf) / sizeof (UNIT);
|
||||
norms = U_NORMALIZE (nf, s, n, normsbuf, &norms_length);
|
||||
if (norms == NULL)
|
||||
/* errno is set here. */
|
||||
return NULL;
|
||||
|
||||
/* Convert it to locale encoding. */
|
||||
convs_length = sizeof (convsbuf) - 1;
|
||||
convs = U_CONV_TO_ENCODING (locale_charset (),
|
||||
iconveh_error,
|
||||
norms, norms_length,
|
||||
NULL,
|
||||
convsbuf, &convs_length);
|
||||
if (convs == NULL)
|
||||
{
|
||||
if (norms != normsbuf)
|
||||
{
|
||||
int saved_errno = errno;
|
||||
free (norms);
|
||||
errno = saved_errno;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (norms != normsbuf)
|
||||
free (norms);
|
||||
|
||||
/* Ensure one more byte is available. */
|
||||
if (convs != convsbuf)
|
||||
{
|
||||
char *memory = (char *) realloc (convs, convs_length + 1);
|
||||
if (memory == NULL)
|
||||
{
|
||||
free (convs);
|
||||
errno = ENOMEM;
|
||||
return NULL;
|
||||
}
|
||||
convs = memory;
|
||||
}
|
||||
|
||||
/* Apply locale dependent transformations for comparison. */
|
||||
result = amemxfrm (convs, convs_length, resultbuf, lengthp);
|
||||
if (result == NULL)
|
||||
{
|
||||
if (convs != convsbuf)
|
||||
{
|
||||
int saved_errno = errno;
|
||||
free (convs);
|
||||
errno = saved_errno;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (convs != convsbuf)
|
||||
free (convs);
|
||||
return result;
|
||||
}
|
||||
Reference in New Issue
Block a user