1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
|
/* List of some useful object identifiers (OIDs)
* Copyright (C) 2003-2008 Andreas Steffen, Hochschule fuer Technik Rapperswil
*
* This file has been automatically generated by the script oid.pl
* Do not edit manually!
*/
#include <stdlib.h>
#include "oid.h"
const oid_t oid_names[] = {
{0x02, 7, 1, 0, "ITU-T Administration" }, /* 0 */
{ 0x82, 0, 1, 1, "" }, /* 1 */
{ 0x06, 0, 1, 2, "Germany ITU-T member" }, /* 2 */
{ 0x01, 0, 1, 3, "Deutsche Telekom AG" }, /* 3 */
{ 0x0A, 0, 1, 4, "" }, /* 4 */
{ 0x07, 0, 1, 5, "" }, /* 5 */
{ 0x14, 0, 0, 6, "ND" }, /* 6 */
{0x09, 18, 1, 0, "data" }, /* 7 */
{ 0x92, 0, 1, 1, "" }, /* 8 */
{ 0x26, 0, 1, 2, "" }, /* 9 */
{ 0x89, 0, 1, 3, "" }, /* 10 */
{ 0x93, 0, 1, 4, "" }, /* 11 */
{ 0xF2, 0, 1, 5, "" }, /* 12 */
{ 0x2C, 0, 1, 6, "" }, /* 13 */
{ 0x64, 0, 1, 7, "pilot" }, /* 14 */
{ 0x01, 0, 1, 8, "pilotAttributeType" }, /* 15 */
{ 0x01, 17, 0, 9, "UID" }, /* 16 */
{ 0x19, 0, 0, 9, "DC" }, /* 17 */
{0x55, 52, 1, 0, "X.500" }, /* 18 */
{ 0x04, 36, 1, 1, "X.509" }, /* 19 */
{ 0x03, 21, 0, 2, "CN" }, /* 20 */
{ 0x04, 22, 0, 2, "S" }, /* 21 */
{ 0x05, 23, 0, 2, "SN" }, /* 22 */
{ 0x06, 24, 0, 2, "C" }, /* 23 */
{ 0x07, 25, 0, 2, "L" }, /* 24 */
{ 0x08, 26, 0, 2, "ST" }, /* 25 */
{ 0x0A, 27, 0, 2, "O" }, /* 26 */
{ 0x0B, 28, 0, 2, "OU" }, /* 27 */
{ 0x0C, 29, 0, 2, "T" }, /* 28 */
{ 0x0D, 30, 0, 2, "D" }, /* 29 */
{ 0x24, 31, 0, 2, "userCertificate" }, /* 30 */
{ 0x29, 32, 0, 2, "N" }, /* 31 */
{ 0x2A, 33, 0, 2, "G" }, /* 32 */
{ 0x2B, 34, 0, 2, "I" }, /* 33 */
{ 0x2D, 35, 0, 2, "ID" }, /* 34 */
{ 0x48, 0, 0, 2, "role" }, /* 35 */
{ 0x1D, 0, 1, 1, "id-ce" }, /* 36 */
{ 0x09, 38, 0, 2, "subjectDirectoryAttrs" }, /* 37 */
{ 0x0E, 39, 0, 2, "subjectKeyIdentifier" }, /* 38 */
{ 0x0F, 40, 0, 2, "keyUsage" }, /* 39 */
{ 0x10, 41, 0, 2, "privateKeyUsagePeriod" }, /* 40 */
{ 0x11, 42, 0, 2, "subjectAltName" }, /* 41 */
{ 0x12, 43, 0, 2, "issuerAltName" }, /* 42 */
{ 0x13, 44, 0, 2, "basicConstraints" }, /* 43 */
{ 0x14, 45, 0, 2, "crlNumber" }, /* 44 */
{ 0x15, 46, 0, 2, "reasonCode" }, /* 45 */
{ 0x1F, 47, 0, 2, "crlDistributionPoints" }, /* 46 */
{ 0x20, 48, 0, 2, "certificatePolicies" }, /* 47 */
{ 0x23, 49, 0, 2, "authorityKeyIdentifier" }, /* 48 */
{ 0x25, 50, 0, 2, "extendedKeyUsage" }, /* 49 */
{ 0x37, 51, 0, 2, "targetInformation" }, /* 50 */
{ 0x38, 0, 0, 2, "noRevAvail" }, /* 51 */
{0x2A, 143, 1, 0, "" }, /* 52 */
{ 0x83, 65, 1, 1, "" }, /* 53 */
{ 0x08, 0, 1, 2, "jp" }, /* 54 */
{ 0x8C, 0, 1, 3, "" }, /* 55 */
{ 0x9A, 0, 1, 4, "" }, /* 56 */
{ 0x4B, 0, 1, 5, "" }, /* 57 */
{ 0x3D, 0, 1, 6, "" }, /* 58 */
{ 0x01, 0, 1, 7, "security" }, /* 59 */
{ 0x01, 0, 1, 8, "algorithm" }, /* 60 */
{ 0x01, 0, 1, 9, "symm-encryption-alg" }, /* 61 */
{ 0x02, 63, 0, 10, "camellia128-cbc" }, /* 62 */
{ 0x03, 64, 0, 10, "camellia192-cbc" }, /* 63 */
{ 0x04, 0, 0, 10, "camellia256-cbc" }, /* 64 */
{ 0x86, 0, 1, 1, "" }, /* 65 */
{ 0x48, 0, 1, 2, "us" }, /* 66 */
{ 0x86, 107, 1, 3, "" }, /* 67 */
{ 0xF6, 73, 1, 4, "" }, /* 68 */
{ 0x7D, 0, 1, 5, "NortelNetworks" }, /* 69 */
{ 0x07, 0, 1, 6, "Entrust" }, /* 70 */
{ 0x41, 0, 1, 7, "nsn-ce" }, /* 71 */
{ 0x00, 0, 0, 8, "entrustVersInfo" }, /* 72 */
{ 0xF7, 0, 1, 4, "" }, /* 73 */
{ 0x0D, 0, 1, 5, "RSADSI" }, /* 74 */
{ 0x01, 102, 1, 6, "PKCS" }, /* 75 */
{ 0x01, 84, 1, 7, "PKCS-1" }, /* 76 */
{ 0x01, 78, 0, 8, "rsaEncryption" }, /* 77 */
{ 0x02, 79, 0, 8, "md2WithRSAEncryption" }, /* 78 */
{ 0x04, 80, 0, 8, "md5WithRSAEncryption" }, /* 79 */
{ 0x05, 81, 0, 8, "sha-1WithRSAEncryption" }, /* 80 */
{ 0x0B, 82, 0, 8, "sha256WithRSAEncryption" }, /* 81 */
{ 0x0C, 83, 0, 8, "sha384WithRSAEncryption" }, /* 82 */
{ 0x0D, 0, 0, 8, "sha512WithRSAEncryption" }, /* 83 */
{ 0x07, 91, 1, 7, "PKCS-7" }, /* 84 */
{ 0x01, 86, 0, 8, "data" }, /* 85 */
{ 0x02, 87, 0, 8, "signedData" }, /* 86 */
{ 0x03, 88, 0, 8, "envelopedData" }, /* 87 */
{ 0x04, 89, 0, 8, "signedAndEnvelopedData" }, /* 88 */
{ 0x05, 90, 0, 8, "digestedData" }, /* 89 */
{ 0x06, 0, 0, 8, "encryptedData" }, /* 90 */
{ 0x09, 0, 1, 7, "PKCS-9" }, /* 91 */
{ 0x01, 93, 0, 8, "E" }, /* 92 */
{ 0x02, 94, 0, 8, "unstructuredName" }, /* 93 */
{ 0x03, 95, 0, 8, "contentType" }, /* 94 */
{ 0x04, 96, 0, 8, "messageDigest" }, /* 95 */
{ 0x05, 97, 0, 8, "signingTime" }, /* 96 */
{ 0x06, 98, 0, 8, "counterSignature" }, /* 97 */
{ 0x07, 99, 0, 8, "challengePassword" }, /* 98 */
{ 0x08, 100, 0, 8, "unstructuredAddress" }, /* 99 */
{ 0x0E, 101, 0, 8, "extensionRequest" }, /* 100 */
{ 0x0F, 0, 0, 8, "S/MIME Capabilities" }, /* 101 */
{ 0x02, 105, 1, 6, "digestAlgorithm" }, /* 102 */
{ 0x02, 104, 0, 7, "md2" }, /* 103 */
{ 0x05, 0, 0, 7, "md5" }, /* 104 */
{ 0x03, 0, 1, 6, "encryptionAlgorithm" }, /* 105 */
{ 0x07, 0, 0, 7, "3des-ede-cbc" }, /* 106 */
{ 0xCE, 0, 1, 3, "" }, /* 107 */
{ 0x3D, 0, 1, 4, "ansi-X9-62" }, /* 108 */
{ 0x02, 111, 1, 5, "id-publicKeyType" }, /* 109 */
{ 0x01, 0, 0, 6, "id-ecPublicKey" }, /* 110 */
{ 0x03, 141, 1, 5, "ellipticCurve" }, /* 111 */
{ 0x00, 133, 1, 6, "c-TwoCurve" }, /* 112 */
{ 0x01, 114, 0, 7, "c2pnb163v1" }, /* 113 */
{ 0x02, 115, 0, 7, "c2pnb163v2" }, /* 114 */
{ 0x03, 116, 0, 7, "c2pnb163v3" }, /* 115 */
{ 0x04, 117, 0, 7, "c2pnb176w1" }, /* 116 */
{ 0x05, 118, 0, 7, "c2tnb191v1" }, /* 117 */
{ 0x06, 119, 0, 7, "c2tnb191v2" }, /* 118 */
{ 0x07, 120, 0, 7, "c2tnb191v3" }, /* 119 */
{ 0x08, 121, 0, 7, "c2onb191v4" }, /* 120 */
{ 0x09, 122, 0, 7, "c2onb191v5" }, /* 121 */
{ 0x0A, 123, 0, 7, "c2pnb208w1" }, /* 122 */
{ 0x0B, 124, 0, 7, "c2tnb239v1" }, /* 123 */
{ 0x0C, 125, 0, 7, "c2tnb239v2" }, /* 124 */
{ 0x0D, 126, 0, 7, "c2tnb239v3" }, /* 125 */
{ 0x0E, 127, 0, 7, "c2onb239v4" }, /* 126 */
{ 0x0F, 128, 0, 7, "c2onb239v5" }, /* 127 */
{ 0x10, 129, 0, 7, "c2pnb272w1" }, /* 128 */
{ 0x11, 130, 0, 7, "c2pnb304w1" }, /* 129 */
{ 0x12, 131, 0, 7, "c2tnb359v1" }, /* 130 */
{ 0x13, 132, 0, 7, "c2pnb368w1" }, /* 131 */
{ 0x14, 0, 0, 7, "c2tnb431r1" }, /* 132 */
{ 0x01, 0, 1, 6, "primeCurve" }, /* 133 */
{ 0x01, 135, 0, 7, "prime192v1" }, /* 134 */
{ 0x02, 136, 0, 7, "prime192v2" }, /* 135 */
{ 0x03, 137, 0, 7, "prime192v3" }, /* 136 */
{ 0x04, 138, 0, 7, "prime239v1" }, /* 137 */
{ 0x05, 139, 0, 7, "prime239v2" }, /* 138 */
{ 0x06, 140, 0, 7, "prime239v3" }, /* 139 */
{ 0x07, 0, 0, 7, "prime256v1" }, /* 140 */
{ 0x04, 0, 1, 5, "id-ecSigType" }, /* 141 */
{ 0x01, 0, 0, 6, "ecdsa-with-SHA1" }, /* 142 */
{0x2B, 243, 1, 0, "" }, /* 143 */
{ 0x06, 196, 1, 1, "dod" }, /* 144 */
{ 0x01, 0, 1, 2, "internet" }, /* 145 */
{ 0x04, 164, 1, 3, "private" }, /* 146 */
{ 0x01, 0, 1, 4, "enterprise" }, /* 147 */
{ 0x82, 157, 1, 5, "" }, /* 148 */
{ 0x37, 0, 1, 6, "Microsoft" }, /* 149 */
{ 0x0A, 154, 1, 7, "" }, /* 150 */
{ 0x03, 0, 1, 8, "" }, /* 151 */
{ 0x03, 153, 0, 9, "msSGC" }, /* 152 */
{ 0x04, 0, 0, 9, "msEncryptingFileSystem" }, /* 153 */
{ 0x14, 0, 1, 7, "msEnrollmentInfrastructure"}, /* 154 */
{ 0x02, 0, 1, 8, "msCertificateTypeExtension"}, /* 155 */
{ 0x02, 0, 0, 9, "msSmartcardLogon" }, /* 156 */
{ 0x89, 0, 1, 5, "" }, /* 157 */
{ 0x31, 0, 1, 6, "" }, /* 158 */
{ 0x01, 0, 1, 7, "" }, /* 159 */
{ 0x01, 0, 1, 8, "" }, /* 160 */
{ 0x02, 0, 1, 9, "" }, /* 161 */
{ 0x02, 163, 0, 10, "" }, /* 162 */
{ 0x4B, 0, 0, 10, "TCGID" }, /* 163 */
{ 0x05, 0, 1, 3, "security" }, /* 164 */
{ 0x05, 0, 1, 4, "mechanisms" }, /* 165 */
{ 0x07, 0, 1, 5, "id-pkix" }, /* 166 */
{ 0x01, 169, 1, 6, "id-pe" }, /* 167 */
{ 0x01, 0, 0, 7, "authorityInfoAccess" }, /* 168 */
{ 0x03, 179, 1, 6, "id-kp" }, /* 169 */
{ 0x01, 171, 0, 7, "serverAuth" }, /* 170 */
{ 0x02, 172, 0, 7, "clientAuth" }, /* 171 */
{ 0x03, 173, 0, 7, "codeSigning" }, /* 172 */
{ 0x04, 174, 0, 7, "emailProtection" }, /* 173 */
{ 0x05, 175, 0, 7, "ipsecEndSystem" }, /* 174 */
{ 0x06, 176, 0, 7, "ipsecTunnel" }, /* 175 */
{ 0x07, 177, 0, 7, "ipsecUser" }, /* 176 */
{ 0x08, 178, 0, 7, "timeStamping" }, /* 177 */
{ 0x09, 0, 0, 7, "ocspSigning" }, /* 178 */
{ 0x08, 181, 1, 6, "id-otherNames" }, /* 179 */
{ 0x05, 0, 0, 7, "xmppAddr" }, /* 180 */
{ 0x0A, 186, 1, 6, "id-aca" }, /* 181 */
{ 0x01, 183, 0, 7, "authenticationInfo" }, /* 182 */
{ 0x02, 184, 0, 7, "accessIdentity" }, /* 183 */
{ 0x03, 185, 0, 7, "chargingIdentity" }, /* 184 */
{ 0x04, 0, 0, 7, "group" }, /* 185 */
{ 0x30, 0, 1, 6, "id-ad" }, /* 186 */
{ 0x01, 195, 1, 7, "ocsp" }, /* 187 */
{ 0x01, 189, 0, 8, "basic" }, /* 188 */
{ 0x02, 190, 0, 8, "nonce" }, /* 189 */
{ 0x03, 191, 0, 8, "crl" }, /* 190 */
{ 0x04, 192, 0, 8, "response" }, /* 191 */
{ 0x05, 193, 0, 8, "noCheck" }, /* 192 */
{ 0x06, 194, 0, 8, "archiveCutoff" }, /* 193 */
{ 0x07, 0, 0, 8, "serviceLocator" }, /* 194 */
{ 0x02, 0, 0, 7, "caIssuers" }, /* 195 */
{ 0x0E, 202, 1, 1, "oiw" }, /* 196 */
{ 0x03, 0, 1, 2, "secsig" }, /* 197 */
{ 0x02, 0, 1, 3, "algorithms" }, /* 198 */
{ 0x07, 200, 0, 4, "des-cbc" }, /* 199 */
{ 0x1A, 201, 0, 4, "sha-1" }, /* 200 */
{ 0x1D, 0, 0, 4, "sha-1WithRSASignature" }, /* 201 */
{ 0x24, 209, 1, 1, "TeleTrusT" }, /* 202 */
{ 0x03, 0, 1, 2, "algorithm" }, /* 203 */
{ 0x03, 0, 1, 3, "signatureAlgorithm" }, /* 204 */
{ 0x01, 0, 1, 4, "rsaSignature" }, /* 205 */
{ 0x02, 207, 0, 5, "rsaSigWithripemd160" }, /* 206 */
{ 0x03, 208, 0, 5, "rsaSigWithripemd128" }, /* 207 */
{ 0x04, 0, 0, 5, "rsaSigWithripemd256" }, /* 208 */
{ 0x81, 0, 1, 1, "" }, /* 209 */
{ 0x04, 0, 1, 2, "Certicom" }, /* 210 */
{ 0x00, 0, 1, 3, "curve" }, /* 211 */
{ 0x01, 213, 0, 4, "sect163k1" }, /* 212 */
{ 0x02, 214, 0, 4, "sect163r1" }, /* 213 */
{ 0x03, 215, 0, 4, "sect239k1" }, /* 214 */
{ 0x04, 216, 0, 4, "sect113r1" }, /* 215 */
{ 0x05, 217, 0, 4, "sect113r2" }, /* 216 */
{ 0x06, 218, 0, 4, "secp112r1" }, /* 217 */
{ 0x07, 219, 0, 4, "secp112r2" }, /* 218 */
{ 0x08, 220, 0, 4, "secp160r1" }, /* 219 */
{ 0x09, 221, 0, 4, "secp160k1" }, /* 220 */
{ 0x0A, 222, 0, 4, "secp256k1" }, /* 221 */
{ 0x0F, 223, 0, 4, "sect163r2" }, /* 222 */
{ 0x10, 224, 0, 4, "sect283k1" }, /* 223 */
{ 0x11, 225, 0, 4, "sect283r1" }, /* 224 */
{ 0x16, 226, 0, 4, "sect131r1" }, /* 225 */
{ 0x17, 227, 0, 4, "sect131r2" }, /* 226 */
{ 0x18, 228, 0, 4, "sect193r1" }, /* 227 */
{ 0x19, 229, 0, 4, "sect193r2" }, /* 228 */
{ 0x1A, 230, 0, 4, "sect233k1" }, /* 229 */
{ 0x1B, 231, 0, 4, "sect233r1" }, /* 230 */
{ 0x1C, 232, 0, 4, "secp128r1" }, /* 231 */
{ 0x1D, 233, 0, 4, "secp128r2" }, /* 232 */
{ 0x1E, 234, 0, 4, "secp160r2" }, /* 233 */
{ 0x1F, 235, 0, 4, "secp192k1" }, /* 234 */
{ 0x20, 236, 0, 4, "secp224k1" }, /* 235 */
{ 0x21, 237, 0, 4, "secp224r1" }, /* 236 */
{ 0x22, 238, 0, 4, "secp384r1" }, /* 237 */
{ 0x23, 239, 0, 4, "secp521r1" }, /* 238 */
{ 0x24, 240, 0, 4, "sect409k1" }, /* 239 */
{ 0x25, 241, 0, 4, "sect409r1" }, /* 240 */
{ 0x26, 242, 0, 4, "sect571k1" }, /* 241 */
{ 0x27, 0, 0, 4, "sect571r1" }, /* 242 */
{0x60, 0, 1, 0, "" }, /* 243 */
{ 0x86, 0, 1, 1, "" }, /* 244 */
{ 0x48, 0, 1, 2, "" }, /* 245 */
{ 0x01, 289, 1, 3, "organization" }, /* 246 */
{ 0x65, 265, 1, 4, "gov" }, /* 247 */
{ 0x03, 0, 1, 5, "csor" }, /* 248 */
{ 0x04, 0, 1, 6, "nistalgorithm" }, /* 249 */
{ 0x01, 260, 1, 7, "aes" }, /* 250 */
{ 0x02, 252, 0, 8, "id-aes128-CBC" }, /* 251 */
{ 0x06, 253, 0, 8, "id-aes128-GCM" }, /* 252 */
{ 0x07, 254, 0, 8, "id-aes128-CCM" }, /* 253 */
{ 0x16, 255, 0, 8, "id-aes192-CBC" }, /* 254 */
{ 0x1A, 256, 0, 8, "id-aes192-GCM" }, /* 255 */
{ 0x1B, 257, 0, 8, "id-aes192-CCM" }, /* 256 */
{ 0x2A, 258, 0, 8, "id-aes256-CBC" }, /* 257 */
{ 0x2E, 259, 0, 8, "id-aes256-GCM" }, /* 258 */
{ 0x2F, 0, 0, 8, "id-aes256-CCM" }, /* 259 */
{ 0x02, 0, 1, 7, "hashalgs" }, /* 260 */
{ 0x01, 262, 0, 8, "id-SHA-256" }, /* 261 */
{ 0x02, 263, 0, 8, "id-SHA-384" }, /* 262 */
{ 0x03, 264, 0, 8, "id-SHA-512" }, /* 263 */
{ 0x04, 0, 0, 8, "id-SHA-224" }, /* 264 */
{ 0x86, 0, 1, 4, "" }, /* 265 */
{ 0xf8, 0, 1, 5, "" }, /* 266 */
{ 0x42, 279, 1, 6, "netscape" }, /* 267 */
{ 0x01, 274, 1, 7, "" }, /* 268 */
{ 0x01, 270, 0, 8, "nsCertType" }, /* 269 */
{ 0x03, 271, 0, 8, "nsRevocationUrl" }, /* 270 */
{ 0x04, 272, 0, 8, "nsCaRevocationUrl" }, /* 271 */
{ 0x08, 273, 0, 8, "nsCaPolicyUrl" }, /* 272 */
{ 0x0d, 0, 0, 8, "nsComment" }, /* 273 */
{ 0x03, 277, 1, 7, "directory" }, /* 274 */
{ 0x01, 0, 1, 8, "" }, /* 275 */
{ 0x03, 0, 0, 9, "employeeNumber" }, /* 276 */
{ 0x04, 0, 1, 7, "policy" }, /* 277 */
{ 0x01, 0, 0, 8, "nsSGC" }, /* 278 */
{ 0x45, 0, 1, 6, "verisign" }, /* 279 */
{ 0x01, 0, 1, 7, "pki" }, /* 280 */
{ 0x09, 0, 1, 8, "attributes" }, /* 281 */
{ 0x02, 283, 0, 9, "messageType" }, /* 282 */
{ 0x03, 284, 0, 9, "pkiStatus" }, /* 283 */
{ 0x04, 285, 0, 9, "failInfo" }, /* 284 */
{ 0x05, 286, 0, 9, "senderNonce" }, /* 285 */
{ 0x06, 287, 0, 9, "recipientNonce" }, /* 286 */
{ 0x07, 288, 0, 9, "transID" }, /* 287 */
{ 0x08, 0, 0, 9, "extensionReq" }, /* 288 */
{ 0x86, 0, 1, 3, "old-netscape" }, /* 289 */
{ 0xF7, 0, 1, 4, "" }, /* 290 */
{ 0x0D, 0, 1, 5, "" }, /* 291 */
{ 0x01, 0, 1, 6, "" }, /* 292 */
{ 0x09, 0, 1, 7, "" }, /* 293 */
{ 0x01, 295, 0, 8, "emailAddress" }, /* 294 */
{ 0x02, 0, 0, 8, "unstructuredName" } /* 295 */
};
|