ffi-hydrogen 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ccbd8be472cd4723875fdd43e8160ee1a3170cc58d677686fdf375d4fbfdb91d
4
- data.tar.gz: a69956b47424d4670dbef066e5e1039b36eb94fff0a2af00c336b312a76e2d2f
3
+ metadata.gz: 7d282b422b7e1d13983ab90d1484dc3b74ad8fa3eae7640cef6e819ae2cd24f3
4
+ data.tar.gz: 6f8f83e9490c8de43377137eadde0d049ac7cf84077fa73337bd16462b1fa5b9
5
5
  SHA512:
6
- metadata.gz: 608dc549fb320cb3e62498651482b15b67f1d1667fd40c222bf5d37d56e0d9e639dd61290a708daf1de04000e8505293d3f9c41f900b689eff9bc658ffd91e7f
7
- data.tar.gz: cf511f398a700940d129803fb502ae71d27087227310b7e489c72983107e49cab0c399172e77d080f79f12dba2aeb2aec8683034f38f0bb0b3ea0a35d162da66
6
+ metadata.gz: 84888ff5bb0ca444e451d288792211388d70910453c14fc49379cd32f0c24f561930c666d29440300cdff44fab9b232eee05618ed4dcc07d378928ea30b3d04c
7
+ data.tar.gz: 306407c680073693b90944009fc24a4fa5b0d54b0aec3f02919f9683375116070a8b2486c661d36447ea348b9c118e40d26f6efefd59c2e1422f139b9d7e800e
data/.gitignore CHANGED
@@ -11,3 +11,6 @@
11
11
  .rspec_status
12
12
  .ruby-version
13
13
  Gemfile.lock
14
+
15
+ ext/ffi/hydrogen/main.o
16
+ ext/ffi/hydrogen/main.dylib
data/Rakefile CHANGED
@@ -1,39 +1,19 @@
1
1
  require "bundler/gem_tasks"
2
- require "ffi"
3
2
  require "rspec/core/rake_task"
4
3
  require "rubocop/rake_task"
5
4
 
6
- def sys(cmd)
7
- puts "#{cmd}"
8
- ret = system(cmd)
9
- raise "ERROR: '#{cmd}' failed" unless ret
10
- ret
11
- end
5
+ import "ext/ffi/hydrogen/Rakefile"
12
6
 
13
7
  RSpec::Core::RakeTask.new(:spec)
14
8
 
15
- desc "Run RuboCop"
16
- task :rubocop do
17
- RuboCop::RakeTask.new
18
- end
19
-
20
9
  desc "Compile shared library"
21
10
  task :compile do
22
- wflags = "-Wall -Wextra -Wmissing-prototypes -Wdiv-by-zero"\
23
- " -Wbad-function-cast -Wcast-align -Wcast-qual -Wfloat-equal"\
24
- " -Wmissing-declarations -Wnested-externs -Wno-unknown-pragmas"\
25
- " -Wpointer-arith -Wredundant-decls -Wstrict-prototypes -Wswitch-enum"\
26
- " -Wno-type-limits"
27
-
28
- cflags = "-O3 -march=native -fPIC -fno-exceptions #{wflags}"
29
-
30
- # main.o: main.c
31
- # $(CC) -c $(CFLAGS) $< -o $@
32
- sys("cc -c #{cflags} vendor/main.c -o vendor/main.o")
11
+ Rake::Task[:compile_shared].invoke
12
+ end
33
13
 
34
- # main.dylib: main.o
35
- # $(CC) $< -shared -o $@
36
- sys("cc vendor/main.o -shared -o vendor/main.#{::FFI::Platform::LIBSUFFIX}")
14
+ desc "Run RuboCop"
15
+ task :rubocop do
16
+ RuboCop::RakeTask.new
37
17
  end
38
18
 
39
19
  desc "Run all benchmarks"
data/bin/console CHANGED
@@ -7,8 +7,8 @@ require "ffi/hydrogen"
7
7
  # with your gem easier. You can also use a different console, if you like.
8
8
 
9
9
  # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
10
+ require "pry"
11
+ Pry.start
12
12
 
13
13
  require "irb"
14
14
  IRB.start(__FILE__)
@@ -0,0 +1,32 @@
1
+ require "ffi"
2
+
3
+ def sys(cmd)
4
+ puts "#{cmd}"
5
+ ret = system(cmd)
6
+ raise "ERROR: '#{cmd}' failed" unless ret
7
+ ret
8
+ end
9
+
10
+ desc "Compile shared library"
11
+ task :compile_shared do
12
+ wflags = "-Wall -Wextra -Wmissing-prototypes -Wdiv-by-zero"\
13
+ " -Wbad-function-cast -Wcast-align -Wcast-qual -Wfloat-equal"\
14
+ " -Wmissing-declarations -Wnested-externs -Wno-unknown-pragmas"\
15
+ " -Wpointer-arith -Wredundant-decls -Wstrict-prototypes -Wswitch-enum"\
16
+ " -Wno-type-limits"
17
+
18
+ cflags = "-O3 -march=native -fPIC -fno-exceptions #{wflags}"
19
+ cwd = ::File.expand_path(::File.dirname(__FILE__))
20
+
21
+ ::Dir.chdir(cwd) do
22
+ # main.o: main.c
23
+ # $(CC) -c $(CFLAGS) $< -o $@
24
+ sys("cc -c #{cflags} main.c -o main.o")
25
+
26
+ # main.dylib: main.o
27
+ # $(CC) $< -shared -o $@
28
+ sys("cc main.o -shared -o main.#{::FFI::Platform::LIBSUFFIX}")
29
+ end
30
+ end
31
+
32
+ task :default => [:compile_shared]
@@ -1,7 +1,7 @@
1
1
  #include <stdio.h>
2
2
 
3
- #include "libhydrogen/hydrogen.c"
4
- #include "stringencoders/src/modp_b64.c"
3
+ #include "../../../vendor/libhydrogen/hydrogen.c"
4
+ #include "../../../vendor/stringencoders/src/modp_b64.c"
5
5
 
6
6
  /**
7
7
  * Encrypts and encodes a message using hydro_secretbox_encrypt and
@@ -89,7 +89,11 @@ size_t decode_decrypt(char* dest, const void* message, size_t message_len,
89
89
  const uint8_t key[hydro_secretbox_KEYBYTES]) {
90
90
  int max_decoded_len = modp_b64_decode_len(message_len);
91
91
  char* decoded[max_decoded_len];
92
- int decoded_len = modp_b64_decode(decoded, message, message_len);
92
+ size_t decoded_len = modp_b64_decode(decoded, message, message_len);
93
+
94
+ if (decoded_len == 0 || decoded_len == (size_t)-1) {
95
+ return 0;
96
+ }
93
97
 
94
98
  // TODO I'm making the assumption that a char* is a safe substitute for the
95
99
  // uint8_t* as expected by hydro_secretbox_decrypt. Make sure this is
data/ffi-hydrogen.gemspec CHANGED
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
 
4
4
  Gem::Specification.new do |spec|
5
5
  spec.name = "ffi-hydrogen"
6
- spec.version = "0.1.1"
6
+ spec.version = "0.1.2"
7
7
  spec.authors = ["Marcos Minond"]
8
8
  spec.email = ["marcos.minond@mx.com"]
9
9
 
@@ -16,6 +16,7 @@ Gem::Specification.new do |spec|
16
16
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
17
  end
18
18
  spec.bindir = "exe"
19
+ spec.extensions = "ext/ffi/hydrogen/Rakefile"
19
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
21
  spec.require_paths = ["lib"]
21
22
 
@@ -24,6 +25,7 @@ Gem::Specification.new do |spec|
24
25
  spec.add_development_dependency "benchmark-ips", "~> 2.7.2"
25
26
  spec.add_development_dependency "bundler", "~> 1.16"
26
27
  spec.add_development_dependency "mad_rubocop"
28
+ spec.add_development_dependency "pry"
27
29
  spec.add_development_dependency "rake", "~> 10.0"
28
30
  spec.add_development_dependency "rbnacl", "~> 6.0"
29
31
  spec.add_development_dependency "rspec", "~> 3.0"
data/lib/ffi/hydrogen.rb CHANGED
@@ -10,7 +10,7 @@ module FFI
10
10
  HEADERBYTES = 36
11
11
 
12
12
  gem_base = ::File.join(::File.dirname(__FILE__), "..", "..")
13
- ffi_lib "#{gem_base}/vendor/main.#{::FFI::Platform::LIBSUFFIX}"
13
+ ffi_lib "#{gem_base}/ext/ffi/hydrogen/main.#{::FFI::Platform::LIBSUFFIX}"
14
14
 
15
15
  # void hydro_secretbox_keygen(uint8_t key[hydro_secretbox_KEYBYTES])
16
16
  attach_function :_hydro_secretbox_keygen, :hydro_secretbox_keygen, [:pointer], :void
@@ -52,7 +52,7 @@ module FFI
52
52
  create_context(context) do |context_ptr|
53
53
  create_string_and_buffer(text, max_len) do |text_ptr, buff_ptr|
54
54
  size = _encrypt_encode(buff_ptr, text_ptr, text_len, message_id, context_ptr, key_ptr)
55
- result = buff_ptr.get_bytes(0, size)
55
+ result = buff_ptr.get_bytes(0, size) if size != 0
56
56
  end
57
57
  end
58
58
  end
@@ -68,8 +68,10 @@ module FFI
68
68
  create_key(key) do |key_ptr|
69
69
  create_context(context) do |context_ptr|
70
70
  create_string_and_buffer(text, max_len) do |text_ptr, buff_ptr|
71
+ # binding.pry
72
+
71
73
  size = _decode_decrypt(buff_ptr, text_ptr, text_len, message_id, context_ptr, key_ptr)
72
- result = buff_ptr.get_bytes(0, size)
74
+ result = buff_ptr.get_bytes(0, size) if size != 0
73
75
  end
74
76
  end
75
77
  end
@@ -84,7 +86,7 @@ module FFI
84
86
 
85
87
  create_string_and_buffer(text, buff_len) do |text_ptr, buff_ptr|
86
88
  size = ::FFI::Hydrogen._modp_b64_encode(buff_ptr, text_ptr, text_len)
87
- encoded = buff_ptr.get_bytes(0, size)
89
+ encoded = buff_ptr.get_bytes(0, size) if size != 0
88
90
  end
89
91
 
90
92
  encoded
@@ -97,7 +99,7 @@ module FFI
97
99
 
98
100
  create_string_and_buffer(text, buff_len) do |text_ptr, buff_ptr|
99
101
  size = ::FFI::Hydrogen._modp_b64_decode(buff_ptr, text_ptr, text_len)
100
- decoded = buff_ptr.get_bytes(0, size)
102
+ decoded = buff_ptr.get_bytes(0, size) if size != 0
101
103
  end
102
104
 
103
105
  decoded
data/vendor/README.md CHANGED
@@ -1,2 +1,3 @@
1
1
  - `libhydrogen` was downloaded from https://github.com/jedisct1/libhydrogen at this sha: 39eb529905.
2
2
  - `stringencoders` was downloaded from https://github.com/client9/stringencoders at this sha: e1448a9415.
3
+ - Modified `padchar` and `b64chars` to be URL safe.
@@ -1,7 +1,7 @@
1
1
  #include "modp_stdint.h"
2
2
  #define CHAR62 '-'
3
3
  #define CHAR63 '_'
4
- #define CHARPAD '='
4
+ #define CHARPAD 'p'
5
5
  static const uint8_t e0[256] = {
6
6
  'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C',
7
7
  'C', 'C', 'D', 'D', 'D', 'D', 'E', 'E', 'E', 'E',
@@ -19,7 +19,7 @@ static const uint8_t e0[256] = {
19
19
  'g', 'g', 'h', 'h', 'h', 'h', 'i', 'i', 'i', 'i',
20
20
  'j', 'j', 'j', 'j', 'k', 'k', 'k', 'k', 'l', 'l',
21
21
  'l', 'l', 'm', 'm', 'm', 'm', 'n', 'n', 'n', 'n',
22
- 'o', 'o', 'o', 'o', 'p', 'p', 'p', 'p', 'q', 'q',
22
+ 'o', 'o', 'o', 'o', '~', '~', '~', '~', 'q', 'q',
23
23
  'q', 'q', 'r', 'r', 'r', 'r', 's', 's', 's', 's',
24
24
  't', 't', 't', 't', 'u', 'u', 'u', 'u', 'v', 'v',
25
25
  'v', 'v', 'w', 'w', 'w', 'w', 'x', 'x', 'x', 'x',
@@ -35,26 +35,26 @@ static const uint8_t e1[256] = {
35
35
  'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
36
36
  'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd',
37
37
  'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
38
- 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
38
+ 'o', '~', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
39
39
  'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7',
40
40
  '8', '9', '-', '_', 'A', 'B', 'C', 'D', 'E', 'F',
41
41
  'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
42
42
  'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
43
43
  'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
44
- 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
44
+ 'k', 'l', 'm', 'n', 'o', '~', 'q', 'r', 's', 't',
45
45
  'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3',
46
46
  '4', '5', '6', '7', '8', '9', '-', '_', 'A', 'B',
47
47
  'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
48
48
  'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
49
49
  'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
50
- 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
50
+ 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', '~',
51
51
  'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
52
52
  '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
53
53
  '-', '_', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
54
54
  'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
55
55
  'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b',
56
56
  'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
57
- 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
57
+ 'm', 'n', 'o', '~', 'q', 'r', 's', 't', 'u', 'v',
58
58
  'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5',
59
59
  '6', '7', '8', '9', '-', '_'
60
60
  };
@@ -63,26 +63,26 @@ static const uint8_t e2[256] = {
63
63
  'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
64
64
  'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd',
65
65
  'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
66
- 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
66
+ 'o', '~', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
67
67
  'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7',
68
68
  '8', '9', '-', '_', 'A', 'B', 'C', 'D', 'E', 'F',
69
69
  'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
70
70
  'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
71
71
  'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
72
- 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
72
+ 'k', 'l', 'm', 'n', 'o', '~', 'q', 'r', 's', 't',
73
73
  'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3',
74
74
  '4', '5', '6', '7', '8', '9', '-', '_', 'A', 'B',
75
75
  'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
76
76
  'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
77
77
  'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
78
- 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
78
+ 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', '~',
79
79
  'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
80
80
  '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
81
81
  '-', '_', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
82
82
  'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
83
83
  'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b',
84
84
  'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
85
- 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
85
+ 'm', 'n', 'o', '~', 'q', 'r', 's', 't', 'u', 'v',
86
86
  'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5',
87
87
  '6', '7', '8', '9', '-', '_'
88
88
  };
@@ -112,10 +112,10 @@ static const uint32_t d0[256] = {
112
112
  0x00640000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00fc0000,
113
113
  0x01ffffff, 0x00680000, 0x006c0000, 0x00700000, 0x00740000, 0x00780000,
114
114
  0x007c0000, 0x00800000, 0x00840000, 0x00880000, 0x008c0000, 0x00900000,
115
- 0x00940000, 0x00980000, 0x009c0000, 0x00a00000, 0x00a40000, 0x00a80000,
115
+ 0x00940000, 0x00980000, 0x009c0000, 0x00a00000, 0x01ffffff, 0x00a80000,
116
116
  0x00ac0000, 0x00b00000, 0x00b40000, 0x00b80000, 0x00bc0000, 0x00c00000,
117
117
  0x00c40000, 0x00c80000, 0x00cc0000, 0x01ffffff, 0x01ffffff, 0x01ffffff,
118
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
118
+ 0x00a40000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
119
119
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
120
120
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
121
121
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -159,10 +159,10 @@ static const uint32_t d1[256] = {
159
159
  0x00019000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x0003f000,
160
160
  0x01ffffff, 0x0001a000, 0x0001b000, 0x0001c000, 0x0001d000, 0x0001e000,
161
161
  0x0001f000, 0x00020000, 0x00021000, 0x00022000, 0x00023000, 0x00024000,
162
- 0x00025000, 0x00026000, 0x00027000, 0x00028000, 0x00029000, 0x0002a000,
162
+ 0x00025000, 0x00026000, 0x00027000, 0x00028000, 0x01ffffff, 0x0002a000,
163
163
  0x0002b000, 0x0002c000, 0x0002d000, 0x0002e000, 0x0002f000, 0x00030000,
164
164
  0x00031000, 0x00032000, 0x00033000, 0x01ffffff, 0x01ffffff, 0x01ffffff,
165
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
165
+ 0x00029000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
166
166
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
167
167
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
168
168
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -206,10 +206,10 @@ static const uint32_t d2[256] = {
206
206
  0x00000640, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00000fc0,
207
207
  0x01ffffff, 0x00000680, 0x000006c0, 0x00000700, 0x00000740, 0x00000780,
208
208
  0x000007c0, 0x00000800, 0x00000840, 0x00000880, 0x000008c0, 0x00000900,
209
- 0x00000940, 0x00000980, 0x000009c0, 0x00000a00, 0x00000a40, 0x00000a80,
209
+ 0x00000940, 0x00000980, 0x000009c0, 0x00000a00, 0x01ffffff, 0x00000a80,
210
210
  0x00000ac0, 0x00000b00, 0x00000b40, 0x00000b80, 0x00000bc0, 0x00000c00,
211
211
  0x00000c40, 0x00000c80, 0x00000cc0, 0x01ffffff, 0x01ffffff, 0x01ffffff,
212
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
212
+ 0x00000a40, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
213
213
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
214
214
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
215
215
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -253,10 +253,10 @@ static const uint32_t d3[256] = {
253
253
  0x00000019, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x0000003f,
254
254
  0x01ffffff, 0x0000001a, 0x0000001b, 0x0000001c, 0x0000001d, 0x0000001e,
255
255
  0x0000001f, 0x00000020, 0x00000021, 0x00000022, 0x00000023, 0x00000024,
256
- 0x00000025, 0x00000026, 0x00000027, 0x00000028, 0x00000029, 0x0000002a,
256
+ 0x00000025, 0x00000026, 0x00000027, 0x00000028, 0x01ffffff, 0x0000002a,
257
257
  0x0000002b, 0x0000002c, 0x0000002d, 0x0000002e, 0x0000002f, 0x00000030,
258
258
  0x00000031, 0x00000032, 0x00000033, 0x01ffffff, 0x01ffffff, 0x01ffffff,
259
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
259
+ 0x00000029, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
260
260
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
261
261
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
262
262
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -305,10 +305,10 @@ static const uint32_t d0[256] = {
305
305
  0x00000064, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x000000fc,
306
306
  0x01ffffff, 0x00000068, 0x0000006c, 0x00000070, 0x00000074, 0x00000078,
307
307
  0x0000007c, 0x00000080, 0x00000084, 0x00000088, 0x0000008c, 0x00000090,
308
- 0x00000094, 0x00000098, 0x0000009c, 0x000000a0, 0x000000a4, 0x000000a8,
308
+ 0x00000094, 0x00000098, 0x0000009c, 0x000000a0, 0x01ffffff, 0x000000a8,
309
309
  0x000000ac, 0x000000b0, 0x000000b4, 0x000000b8, 0x000000bc, 0x000000c0,
310
310
  0x000000c4, 0x000000c8, 0x000000cc, 0x01ffffff, 0x01ffffff, 0x01ffffff,
311
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
311
+ 0x000000a4, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
312
312
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
313
313
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
314
314
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -352,10 +352,10 @@ static const uint32_t d1[256] = {
352
352
  0x00009001, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x0000f003,
353
353
  0x01ffffff, 0x0000a001, 0x0000b001, 0x0000c001, 0x0000d001, 0x0000e001,
354
354
  0x0000f001, 0x00000002, 0x00001002, 0x00002002, 0x00003002, 0x00004002,
355
- 0x00005002, 0x00006002, 0x00007002, 0x00008002, 0x00009002, 0x0000a002,
355
+ 0x00005002, 0x00006002, 0x00007002, 0x00008002, 0x01ffffff, 0x0000a002,
356
356
  0x0000b002, 0x0000c002, 0x0000d002, 0x0000e002, 0x0000f002, 0x00000003,
357
357
  0x00001003, 0x00002003, 0x00003003, 0x01ffffff, 0x01ffffff, 0x01ffffff,
358
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
358
+ 0x00009002, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
359
359
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
360
360
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
361
361
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -399,10 +399,10 @@ static const uint32_t d2[256] = {
399
399
  0x00400600, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00c00f00,
400
400
  0x01ffffff, 0x00800600, 0x00c00600, 0x00000700, 0x00400700, 0x00800700,
401
401
  0x00c00700, 0x00000800, 0x00400800, 0x00800800, 0x00c00800, 0x00000900,
402
- 0x00400900, 0x00800900, 0x00c00900, 0x00000a00, 0x00400a00, 0x00800a00,
402
+ 0x00400900, 0x00800900, 0x00c00900, 0x00000a00, 0x01ffffff, 0x00800a00,
403
403
  0x00c00a00, 0x00000b00, 0x00400b00, 0x00800b00, 0x00c00b00, 0x00000c00,
404
404
  0x00400c00, 0x00800c00, 0x00c00c00, 0x01ffffff, 0x01ffffff, 0x01ffffff,
405
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
405
+ 0x00400a00, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
406
406
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
407
407
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
408
408
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -446,10 +446,10 @@ static const uint32_t d3[256] = {
446
446
  0x00190000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x003f0000,
447
447
  0x01ffffff, 0x001a0000, 0x001b0000, 0x001c0000, 0x001d0000, 0x001e0000,
448
448
  0x001f0000, 0x00200000, 0x00210000, 0x00220000, 0x00230000, 0x00240000,
449
- 0x00250000, 0x00260000, 0x00270000, 0x00280000, 0x00290000, 0x002a0000,
449
+ 0x00250000, 0x00260000, 0x00270000, 0x00280000, 0x01ffffff, 0x002a0000,
450
450
  0x002b0000, 0x002c0000, 0x002d0000, 0x002e0000, 0x002f0000, 0x00300000,
451
451
  0x00310000, 0x00320000, 0x00330000, 0x01ffffff, 0x01ffffff, 0x01ffffff,
452
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
452
+ 0x00290000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
453
453
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
454
454
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
455
455
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -32,11 +32,11 @@ static uint8_t b64chars[64] = {
32
32
  'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
33
33
  'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
34
34
  'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
35
- 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
35
+ 'n', 'o', '~', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
36
36
  '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-', '_'
37
37
  };
38
38
 
39
- static uint8_t padchar = '=';
39
+ static uint8_t padchar = 'p';
40
40
 
41
41
  static void printStart(void)
42
42
  {
@@ -19,7 +19,7 @@ static const uint8_t e0[256] = {
19
19
  'g', 'g', 'h', 'h', 'h', 'h', 'i', 'i', 'i', 'i',
20
20
  'j', 'j', 'j', 'j', 'k', 'k', 'k', 'k', 'l', 'l',
21
21
  'l', 'l', 'm', 'm', 'm', 'm', 'n', 'n', 'n', 'n',
22
- 'o', 'o', 'o', 'o', 'p', 'p', 'p', 'p', 'q', 'q',
22
+ 'o', 'o', 'o', 'o', '~', '~', '~', '~', 'q', 'q',
23
23
  'q', 'q', 'r', 'r', 'r', 'r', 's', 's', 's', 's',
24
24
  't', 't', 't', 't', 'u', 'u', 'u', 'u', 'v', 'v',
25
25
  'v', 'v', 'w', 'w', 'w', 'w', 'x', 'x', 'x', 'x',
@@ -35,26 +35,26 @@ static const uint8_t e1[256] = {
35
35
  'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
36
36
  'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd',
37
37
  'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
38
- 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
38
+ 'o', '~', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
39
39
  'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7',
40
40
  '8', '9', '-', '_', 'A', 'B', 'C', 'D', 'E', 'F',
41
41
  'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
42
42
  'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
43
43
  'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
44
- 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
44
+ 'k', 'l', 'm', 'n', 'o', '~', 'q', 'r', 's', 't',
45
45
  'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3',
46
46
  '4', '5', '6', '7', '8', '9', '-', '_', 'A', 'B',
47
47
  'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
48
48
  'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
49
49
  'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
50
- 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
50
+ 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', '~',
51
51
  'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
52
52
  '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
53
53
  '-', '_', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
54
54
  'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
55
55
  'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b',
56
56
  'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
57
- 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
57
+ 'm', 'n', 'o', '~', 'q', 'r', 's', 't', 'u', 'v',
58
58
  'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5',
59
59
  '6', '7', '8', '9', '-', '_'
60
60
  };
@@ -63,26 +63,26 @@ static const uint8_t e2[256] = {
63
63
  'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
64
64
  'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd',
65
65
  'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
66
- 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
66
+ 'o', '~', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
67
67
  'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7',
68
68
  '8', '9', '-', '_', 'A', 'B', 'C', 'D', 'E', 'F',
69
69
  'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
70
70
  'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
71
71
  'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
72
- 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
72
+ 'k', 'l', 'm', 'n', 'o', '~', 'q', 'r', 's', 't',
73
73
  'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3',
74
74
  '4', '5', '6', '7', '8', '9', '-', '_', 'A', 'B',
75
75
  'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
76
76
  'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
77
77
  'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
78
- 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
78
+ 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', '~',
79
79
  'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
80
80
  '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
81
81
  '-', '_', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
82
82
  'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
83
83
  'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b',
84
84
  'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
85
- 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
85
+ 'm', 'n', 'o', '~', 'q', 'r', 's', 't', 'u', 'v',
86
86
  'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5',
87
87
  '6', '7', '8', '9', '-', '_'
88
88
  };
@@ -112,10 +112,10 @@ static const uint32_t d0[256] = {
112
112
  0x00640000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00fc0000,
113
113
  0x01ffffff, 0x00680000, 0x006c0000, 0x00700000, 0x00740000, 0x00780000,
114
114
  0x007c0000, 0x00800000, 0x00840000, 0x00880000, 0x008c0000, 0x00900000,
115
- 0x00940000, 0x00980000, 0x009c0000, 0x00a00000, 0x00a40000, 0x00a80000,
115
+ 0x00940000, 0x00980000, 0x009c0000, 0x00a00000, 0x01ffffff, 0x00a80000,
116
116
  0x00ac0000, 0x00b00000, 0x00b40000, 0x00b80000, 0x00bc0000, 0x00c00000,
117
117
  0x00c40000, 0x00c80000, 0x00cc0000, 0x01ffffff, 0x01ffffff, 0x01ffffff,
118
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
118
+ 0x00a40000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
119
119
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
120
120
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
121
121
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -159,10 +159,10 @@ static const uint32_t d1[256] = {
159
159
  0x00019000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x0003f000,
160
160
  0x01ffffff, 0x0001a000, 0x0001b000, 0x0001c000, 0x0001d000, 0x0001e000,
161
161
  0x0001f000, 0x00020000, 0x00021000, 0x00022000, 0x00023000, 0x00024000,
162
- 0x00025000, 0x00026000, 0x00027000, 0x00028000, 0x00029000, 0x0002a000,
162
+ 0x00025000, 0x00026000, 0x00027000, 0x00028000, 0x01ffffff, 0x0002a000,
163
163
  0x0002b000, 0x0002c000, 0x0002d000, 0x0002e000, 0x0002f000, 0x00030000,
164
164
  0x00031000, 0x00032000, 0x00033000, 0x01ffffff, 0x01ffffff, 0x01ffffff,
165
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
165
+ 0x00029000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
166
166
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
167
167
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
168
168
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -206,10 +206,10 @@ static const uint32_t d2[256] = {
206
206
  0x00000640, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00000fc0,
207
207
  0x01ffffff, 0x00000680, 0x000006c0, 0x00000700, 0x00000740, 0x00000780,
208
208
  0x000007c0, 0x00000800, 0x00000840, 0x00000880, 0x000008c0, 0x00000900,
209
- 0x00000940, 0x00000980, 0x000009c0, 0x00000a00, 0x00000a40, 0x00000a80,
209
+ 0x00000940, 0x00000980, 0x000009c0, 0x00000a00, 0x01ffffff, 0x00000a80,
210
210
  0x00000ac0, 0x00000b00, 0x00000b40, 0x00000b80, 0x00000bc0, 0x00000c00,
211
211
  0x00000c40, 0x00000c80, 0x00000cc0, 0x01ffffff, 0x01ffffff, 0x01ffffff,
212
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
212
+ 0x00000a40, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
213
213
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
214
214
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
215
215
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -253,10 +253,10 @@ static const uint32_t d3[256] = {
253
253
  0x00000019, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x0000003f,
254
254
  0x01ffffff, 0x0000001a, 0x0000001b, 0x0000001c, 0x0000001d, 0x0000001e,
255
255
  0x0000001f, 0x00000020, 0x00000021, 0x00000022, 0x00000023, 0x00000024,
256
- 0x00000025, 0x00000026, 0x00000027, 0x00000028, 0x00000029, 0x0000002a,
256
+ 0x00000025, 0x00000026, 0x00000027, 0x00000028, 0x01ffffff, 0x0000002a,
257
257
  0x0000002b, 0x0000002c, 0x0000002d, 0x0000002e, 0x0000002f, 0x00000030,
258
258
  0x00000031, 0x00000032, 0x00000033, 0x01ffffff, 0x01ffffff, 0x01ffffff,
259
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
259
+ 0x00000029, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
260
260
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
261
261
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
262
262
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -305,10 +305,10 @@ static const uint32_t d0[256] = {
305
305
  0x00000064, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x000000fc,
306
306
  0x01ffffff, 0x00000068, 0x0000006c, 0x00000070, 0x00000074, 0x00000078,
307
307
  0x0000007c, 0x00000080, 0x00000084, 0x00000088, 0x0000008c, 0x00000090,
308
- 0x00000094, 0x00000098, 0x0000009c, 0x000000a0, 0x000000a4, 0x000000a8,
308
+ 0x00000094, 0x00000098, 0x0000009c, 0x000000a0, 0x01ffffff, 0x000000a8,
309
309
  0x000000ac, 0x000000b0, 0x000000b4, 0x000000b8, 0x000000bc, 0x000000c0,
310
310
  0x000000c4, 0x000000c8, 0x000000cc, 0x01ffffff, 0x01ffffff, 0x01ffffff,
311
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
311
+ 0x000000a4, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
312
312
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
313
313
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
314
314
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -352,10 +352,10 @@ static const uint32_t d1[256] = {
352
352
  0x00009001, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x0000f003,
353
353
  0x01ffffff, 0x0000a001, 0x0000b001, 0x0000c001, 0x0000d001, 0x0000e001,
354
354
  0x0000f001, 0x00000002, 0x00001002, 0x00002002, 0x00003002, 0x00004002,
355
- 0x00005002, 0x00006002, 0x00007002, 0x00008002, 0x00009002, 0x0000a002,
355
+ 0x00005002, 0x00006002, 0x00007002, 0x00008002, 0x01ffffff, 0x0000a002,
356
356
  0x0000b002, 0x0000c002, 0x0000d002, 0x0000e002, 0x0000f002, 0x00000003,
357
357
  0x00001003, 0x00002003, 0x00003003, 0x01ffffff, 0x01ffffff, 0x01ffffff,
358
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
358
+ 0x00009002, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
359
359
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
360
360
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
361
361
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -399,10 +399,10 @@ static const uint32_t d2[256] = {
399
399
  0x00400600, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00c00f00,
400
400
  0x01ffffff, 0x00800600, 0x00c00600, 0x00000700, 0x00400700, 0x00800700,
401
401
  0x00c00700, 0x00000800, 0x00400800, 0x00800800, 0x00c00800, 0x00000900,
402
- 0x00400900, 0x00800900, 0x00c00900, 0x00000a00, 0x00400a00, 0x00800a00,
402
+ 0x00400900, 0x00800900, 0x00c00900, 0x00000a00, 0x01ffffff, 0x00800a00,
403
403
  0x00c00a00, 0x00000b00, 0x00400b00, 0x00800b00, 0x00c00b00, 0x00000c00,
404
404
  0x00400c00, 0x00800c00, 0x00c00c00, 0x01ffffff, 0x01ffffff, 0x01ffffff,
405
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
405
+ 0x00400a00, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
406
406
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
407
407
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
408
408
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -446,10 +446,10 @@ static const uint32_t d3[256] = {
446
446
  0x00190000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x003f0000,
447
447
  0x01ffffff, 0x001a0000, 0x001b0000, 0x001c0000, 0x001d0000, 0x001e0000,
448
448
  0x001f0000, 0x00200000, 0x00210000, 0x00220000, 0x00230000, 0x00240000,
449
- 0x00250000, 0x00260000, 0x00270000, 0x00280000, 0x00290000, 0x002a0000,
449
+ 0x00250000, 0x00260000, 0x00270000, 0x00280000, 0x01ffffff, 0x002a0000,
450
450
  0x002b0000, 0x002c0000, 0x002d0000, 0x002e0000, 0x002f0000, 0x00300000,
451
451
  0x00310000, 0x00320000, 0x00330000, 0x01ffffff, 0x01ffffff, 0x01ffffff,
452
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
452
+ 0x00290000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
453
453
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
454
454
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
455
455
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -19,7 +19,7 @@ static const uint8_t e0[256] = {
19
19
  'g', 'g', 'h', 'h', 'h', 'h', 'i', 'i', 'i', 'i',
20
20
  'j', 'j', 'j', 'j', 'k', 'k', 'k', 'k', 'l', 'l',
21
21
  'l', 'l', 'm', 'm', 'm', 'm', 'n', 'n', 'n', 'n',
22
- 'o', 'o', 'o', 'o', 'p', 'p', 'p', 'p', 'q', 'q',
22
+ 'o', 'o', 'o', 'o', '~', '~', '~', '~', 'q', 'q',
23
23
  'q', 'q', 'r', 'r', 'r', 'r', 's', 's', 's', 's',
24
24
  't', 't', 't', 't', 'u', 'u', 'u', 'u', 'v', 'v',
25
25
  'v', 'v', 'w', 'w', 'w', 'w', 'x', 'x', 'x', 'x',
@@ -35,26 +35,26 @@ static const uint8_t e1[256] = {
35
35
  'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
36
36
  'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd',
37
37
  'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
38
- 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
38
+ 'o', '~', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
39
39
  'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7',
40
40
  '8', '9', '-', '_', 'A', 'B', 'C', 'D', 'E', 'F',
41
41
  'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
42
42
  'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
43
43
  'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
44
- 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
44
+ 'k', 'l', 'm', 'n', 'o', '~', 'q', 'r', 's', 't',
45
45
  'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3',
46
46
  '4', '5', '6', '7', '8', '9', '-', '_', 'A', 'B',
47
47
  'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
48
48
  'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
49
49
  'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
50
- 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
50
+ 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', '~',
51
51
  'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
52
52
  '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
53
53
  '-', '_', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
54
54
  'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
55
55
  'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b',
56
56
  'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
57
- 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
57
+ 'm', 'n', 'o', '~', 'q', 'r', 's', 't', 'u', 'v',
58
58
  'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5',
59
59
  '6', '7', '8', '9', '-', '_'
60
60
  };
@@ -63,26 +63,26 @@ static const uint8_t e2[256] = {
63
63
  'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
64
64
  'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd',
65
65
  'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
66
- 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
66
+ 'o', '~', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
67
67
  'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7',
68
68
  '8', '9', '-', '_', 'A', 'B', 'C', 'D', 'E', 'F',
69
69
  'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
70
70
  'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
71
71
  'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
72
- 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
72
+ 'k', 'l', 'm', 'n', 'o', '~', 'q', 'r', 's', 't',
73
73
  'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3',
74
74
  '4', '5', '6', '7', '8', '9', '-', '_', 'A', 'B',
75
75
  'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
76
76
  'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
77
77
  'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
78
- 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
78
+ 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', '~',
79
79
  'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
80
80
  '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
81
81
  '-', '_', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
82
82
  'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
83
83
  'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b',
84
84
  'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
85
- 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
85
+ 'm', 'n', 'o', '~', 'q', 'r', 's', 't', 'u', 'v',
86
86
  'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5',
87
87
  '6', '7', '8', '9', '-', '_'
88
88
  };
@@ -112,10 +112,10 @@ static const uint32_t d0[256] = {
112
112
  0x00640000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00fc0000,
113
113
  0x01ffffff, 0x00680000, 0x006c0000, 0x00700000, 0x00740000, 0x00780000,
114
114
  0x007c0000, 0x00800000, 0x00840000, 0x00880000, 0x008c0000, 0x00900000,
115
- 0x00940000, 0x00980000, 0x009c0000, 0x00a00000, 0x00a40000, 0x00a80000,
115
+ 0x00940000, 0x00980000, 0x009c0000, 0x00a00000, 0x01ffffff, 0x00a80000,
116
116
  0x00ac0000, 0x00b00000, 0x00b40000, 0x00b80000, 0x00bc0000, 0x00c00000,
117
117
  0x00c40000, 0x00c80000, 0x00cc0000, 0x01ffffff, 0x01ffffff, 0x01ffffff,
118
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
118
+ 0x00a40000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
119
119
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
120
120
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
121
121
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -159,10 +159,10 @@ static const uint32_t d1[256] = {
159
159
  0x00019000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x0003f000,
160
160
  0x01ffffff, 0x0001a000, 0x0001b000, 0x0001c000, 0x0001d000, 0x0001e000,
161
161
  0x0001f000, 0x00020000, 0x00021000, 0x00022000, 0x00023000, 0x00024000,
162
- 0x00025000, 0x00026000, 0x00027000, 0x00028000, 0x00029000, 0x0002a000,
162
+ 0x00025000, 0x00026000, 0x00027000, 0x00028000, 0x01ffffff, 0x0002a000,
163
163
  0x0002b000, 0x0002c000, 0x0002d000, 0x0002e000, 0x0002f000, 0x00030000,
164
164
  0x00031000, 0x00032000, 0x00033000, 0x01ffffff, 0x01ffffff, 0x01ffffff,
165
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
165
+ 0x00029000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
166
166
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
167
167
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
168
168
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -206,10 +206,10 @@ static const uint32_t d2[256] = {
206
206
  0x00000640, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00000fc0,
207
207
  0x01ffffff, 0x00000680, 0x000006c0, 0x00000700, 0x00000740, 0x00000780,
208
208
  0x000007c0, 0x00000800, 0x00000840, 0x00000880, 0x000008c0, 0x00000900,
209
- 0x00000940, 0x00000980, 0x000009c0, 0x00000a00, 0x00000a40, 0x00000a80,
209
+ 0x00000940, 0x00000980, 0x000009c0, 0x00000a00, 0x01ffffff, 0x00000a80,
210
210
  0x00000ac0, 0x00000b00, 0x00000b40, 0x00000b80, 0x00000bc0, 0x00000c00,
211
211
  0x00000c40, 0x00000c80, 0x00000cc0, 0x01ffffff, 0x01ffffff, 0x01ffffff,
212
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
212
+ 0x00000a40, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
213
213
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
214
214
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
215
215
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -253,10 +253,10 @@ static const uint32_t d3[256] = {
253
253
  0x00000019, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x0000003f,
254
254
  0x01ffffff, 0x0000001a, 0x0000001b, 0x0000001c, 0x0000001d, 0x0000001e,
255
255
  0x0000001f, 0x00000020, 0x00000021, 0x00000022, 0x00000023, 0x00000024,
256
- 0x00000025, 0x00000026, 0x00000027, 0x00000028, 0x00000029, 0x0000002a,
256
+ 0x00000025, 0x00000026, 0x00000027, 0x00000028, 0x01ffffff, 0x0000002a,
257
257
  0x0000002b, 0x0000002c, 0x0000002d, 0x0000002e, 0x0000002f, 0x00000030,
258
258
  0x00000031, 0x00000032, 0x00000033, 0x01ffffff, 0x01ffffff, 0x01ffffff,
259
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
259
+ 0x00000029, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
260
260
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
261
261
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
262
262
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -305,10 +305,10 @@ static const uint32_t d0[256] = {
305
305
  0x00000064, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x000000fc,
306
306
  0x01ffffff, 0x00000068, 0x0000006c, 0x00000070, 0x00000074, 0x00000078,
307
307
  0x0000007c, 0x00000080, 0x00000084, 0x00000088, 0x0000008c, 0x00000090,
308
- 0x00000094, 0x00000098, 0x0000009c, 0x000000a0, 0x000000a4, 0x000000a8,
308
+ 0x00000094, 0x00000098, 0x0000009c, 0x000000a0, 0x01ffffff, 0x000000a8,
309
309
  0x000000ac, 0x000000b0, 0x000000b4, 0x000000b8, 0x000000bc, 0x000000c0,
310
310
  0x000000c4, 0x000000c8, 0x000000cc, 0x01ffffff, 0x01ffffff, 0x01ffffff,
311
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
311
+ 0x000000a4, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
312
312
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
313
313
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
314
314
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -352,10 +352,10 @@ static const uint32_t d1[256] = {
352
352
  0x00009001, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x0000f003,
353
353
  0x01ffffff, 0x0000a001, 0x0000b001, 0x0000c001, 0x0000d001, 0x0000e001,
354
354
  0x0000f001, 0x00000002, 0x00001002, 0x00002002, 0x00003002, 0x00004002,
355
- 0x00005002, 0x00006002, 0x00007002, 0x00008002, 0x00009002, 0x0000a002,
355
+ 0x00005002, 0x00006002, 0x00007002, 0x00008002, 0x01ffffff, 0x0000a002,
356
356
  0x0000b002, 0x0000c002, 0x0000d002, 0x0000e002, 0x0000f002, 0x00000003,
357
357
  0x00001003, 0x00002003, 0x00003003, 0x01ffffff, 0x01ffffff, 0x01ffffff,
358
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
358
+ 0x00009002, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
359
359
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
360
360
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
361
361
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -399,10 +399,10 @@ static const uint32_t d2[256] = {
399
399
  0x00400600, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x00c00f00,
400
400
  0x01ffffff, 0x00800600, 0x00c00600, 0x00000700, 0x00400700, 0x00800700,
401
401
  0x00c00700, 0x00000800, 0x00400800, 0x00800800, 0x00c00800, 0x00000900,
402
- 0x00400900, 0x00800900, 0x00c00900, 0x00000a00, 0x00400a00, 0x00800a00,
402
+ 0x00400900, 0x00800900, 0x00c00900, 0x00000a00, 0x01ffffff, 0x00800a00,
403
403
  0x00c00a00, 0x00000b00, 0x00400b00, 0x00800b00, 0x00c00b00, 0x00000c00,
404
404
  0x00400c00, 0x00800c00, 0x00c00c00, 0x01ffffff, 0x01ffffff, 0x01ffffff,
405
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
405
+ 0x00400a00, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
406
406
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
407
407
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
408
408
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
@@ -446,10 +446,10 @@ static const uint32_t d3[256] = {
446
446
  0x00190000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x003f0000,
447
447
  0x01ffffff, 0x001a0000, 0x001b0000, 0x001c0000, 0x001d0000, 0x001e0000,
448
448
  0x001f0000, 0x00200000, 0x00210000, 0x00220000, 0x00230000, 0x00240000,
449
- 0x00250000, 0x00260000, 0x00270000, 0x00280000, 0x00290000, 0x002a0000,
449
+ 0x00250000, 0x00260000, 0x00270000, 0x00280000, 0x01ffffff, 0x002a0000,
450
450
  0x002b0000, 0x002c0000, 0x002d0000, 0x002e0000, 0x002f0000, 0x00300000,
451
451
  0x00310000, 0x00320000, 0x00330000, 0x01ffffff, 0x01ffffff, 0x01ffffff,
452
- 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
452
+ 0x00290000, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
453
453
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
454
454
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
455
455
  0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff, 0x01ffffff,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi-hydrogen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcos Minond
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ name: pry
76
+ prerelease: false
77
+ type: :development
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  requirement: !ruby/object:Gem::Requirement
71
85
  requirements:
@@ -126,7 +140,8 @@ description:
126
140
  email:
127
141
  - marcos.minond@mx.com
128
142
  executables: []
129
- extensions: []
143
+ extensions:
144
+ - ext/ffi/hydrogen/Rakefile
130
145
  extra_rdoc_files: []
131
146
  files:
132
147
  - ".gitignore"
@@ -143,6 +158,8 @@ files:
143
158
  - bench/init.rb
144
159
  - bin/console
145
160
  - bin/setup
161
+ - ext/ffi/hydrogen/Rakefile
162
+ - ext/ffi/hydrogen/main.c
146
163
  - ffi-hydrogen.gemspec
147
164
  - lib/ffi/hydrogen.rb
148
165
  - vendor/.clang-format
@@ -174,7 +191,6 @@ files:
174
191
  - vendor/libhydrogen/library.properties
175
192
  - vendor/libhydrogen/logo.png
176
193
  - vendor/libhydrogen/tests/tests.c
177
- - vendor/main.c
178
194
  - vendor/stringencoders/.gitignore
179
195
  - vendor/stringencoders/.travis.yml
180
196
  - vendor/stringencoders/AUTHORS