waterdrop 2.4.1 → 2.4.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: 70b84fa09ce807d6d72679917d6c9b98a4dd15b9eb50f0ae9c556acc6f084632
4
- data.tar.gz: 8ccffe9e5331865dc93ab4c8b4b8ace2e0c3297f164c378b7919a14e307edf70
3
+ metadata.gz: ba9d9c3c27b55980d16b4bca8266ec70864e53fc00e8f9823bc6407704105638
4
+ data.tar.gz: '017907f6d33941b52bb8943befe6981586083de52739cf12937ceae3dececd79'
5
5
  SHA512:
6
- metadata.gz: 66f25845bada1a7de0f6bd100b7966f246604701f0394891bc959817f222b739a73fc674b49d288ebf3674c85e9872db37069771f347fad98eeade561373610c
7
- data.tar.gz: 308eafaec616bf936517086de4bcee0efa03ed555ad91a061588b781d9214198fa67258a0d7044eae523fbba4da57fa447ddafdcf3169a234cdc4b0785151c6e
6
+ metadata.gz: e3d60772d7a278eed00a63ee08690a3897c45d55a74f2dd796353f528f8b6ae0ec93a8f79c8b6c717ad3435f9f3661b811ba278cd35355a2079b0194a6dc56c6
7
+ data.tar.gz: 721694ab354d11419dc21f2911cbea57f4d89160067ec6b69687741471f498535779e4ee43ece02ac7697a070dfc3d5c6dc2d9119b811fd4b84ecb9703ad89a2
checksums.yaml.gz.sig CHANGED
@@ -1,3 +1,3 @@
1
- �k�1�|��~=����W�E��K�f���k�ېJ��rT,�����ß�Uc�ZPx�g
2
- �A�E���-W��4NzK���5�͍x]�2�:��1y
3
- �8� ��L��Q4WI��F�d�t�İw�Z��k#�E24��E�*-�ew�A-�u ���ä��Q�;j���h#���<��F!�oJFb;�0r��Θw�x��������Zcu��y���`�5h_��w�t��k;�~yy���2_iP��F_ �����V�,Ƥ�x��l�N�
1
+ ��k���H�? ӻ����Ko�=��O��;z]͌
2
+ ���r��ȼ sKZސ��b��M��ۅkc
3
+ #�)��Ju�LT�õ����/�����S�O 謂! FR׵߃oÈ���ZU��%�.m���̀ٚ[޶�n!���$3@��e7-<P���^�ϩ42��1t�͉�p�&|�&䭠��i��K L��̤� ��i=W��MS3o�C4e08g�x����v��BgU�&W(��@��A�|�*�X����8q%�YI��D��Q]ӮL���,0�#7
data/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # WaterDrop changelog
2
2
 
3
+ ## 2.4.2 (2022-09-29)
4
+ - Allow sending tombstone messages (#267)
5
+
3
6
  ## 2.4.1 (2022-08-01)
4
7
  - Replace local statistics decorator with the one extracted to `karafka-core`.
5
8
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- waterdrop (2.4.1)
4
+ waterdrop (2.4.2)
5
5
  karafka-core (>= 2.0.2, < 3.0.0)
6
6
  rdkafka (>= 0.10)
7
7
  zeitwerk (~> 2.3)
@@ -9,7 +9,7 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- activesupport (7.0.3.1)
12
+ activesupport (7.0.4)
13
13
  concurrent-ruby (~> 1.0, >= 1.0.2)
14
14
  i18n (>= 1.6, < 2)
15
15
  minitest (>= 5.1)
@@ -26,7 +26,7 @@ GEM
26
26
  karafka-core (2.0.2)
27
27
  concurrent-ruby (>= 1.1)
28
28
  mini_portile2 (2.8.0)
29
- minitest (5.16.2)
29
+ minitest (5.16.3)
30
30
  rake (13.0.6)
31
31
  rdkafka (0.12.0)
32
32
  ffi (~> 1.15)
@@ -38,13 +38,13 @@ GEM
38
38
  rspec-mocks (~> 3.11.0)
39
39
  rspec-core (3.11.0)
40
40
  rspec-support (~> 3.11.0)
41
- rspec-expectations (3.11.0)
41
+ rspec-expectations (3.11.1)
42
42
  diff-lcs (>= 1.2.0, < 2.0)
43
43
  rspec-support (~> 3.11.0)
44
44
  rspec-mocks (3.11.1)
45
45
  diff-lcs (>= 1.2.0, < 2.0)
46
46
  rspec-support (~> 3.11.0)
47
- rspec-support (3.11.0)
47
+ rspec-support (3.11.1)
48
48
  simplecov (0.21.2)
49
49
  docile (~> 1.1)
50
50
  simplecov-html (~> 0.11)
@@ -56,6 +56,7 @@ GEM
56
56
  zeitwerk (2.6.0)
57
57
 
58
58
  PLATFORMS
59
+ arm64-darwin
59
60
  x86_64-linux
60
61
 
61
62
  DEPENDENCIES
@@ -66,4 +67,4 @@ DEPENDENCIES
66
67
  waterdrop!
67
68
 
68
69
  BUNDLED WITH
69
- 2.3.15
70
+ 2.3.22
@@ -0,0 +1,26 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIEcDCCAtigAwIBAgIBATANBgkqhkiG9w0BAQsFADA/MRAwDgYDVQQDDAdjb250
3
+ YWN0MRcwFQYKCZImiZPyLGQBGRYHa2FyYWZrYTESMBAGCgmSJomT8ixkARkWAmlv
4
+ MB4XDTIyMDgxOTE3MjEzN1oXDTIzMDgxOTE3MjEzN1owPzEQMA4GA1UEAwwHY29u
5
+ dGFjdDEXMBUGCgmSJomT8ixkARkWB2thcmFma2ExEjAQBgoJkiaJk/IsZAEZFgJp
6
+ bzCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAODzeO3L6lxdATzMHKNW
7
+ jFA/GGunoPuylO/BMzy8RiQHh7VIvysAKs0tHhTx3g2D0STDpF+hcQcPELFikiT2
8
+ F+1wOHj/SsrK7VKqfA8+gq04hKc5sQoX2Egf9k3V0YJ3eZ6R/koHkQ8A0TVt0w6F
9
+ ZQckoV4MqnEAx0g/FZN3mnHTlJ3VFLSBqJEIe+S6FZMl92mSv+hTrlUG8VaYxSfN
10
+ lTCvnKk284F6QZq5XIENLRmcDd/3aPBLnLwNnyMyhB+6gK8cUO+CFlDO5tjo/aBA
11
+ rUnl++wGG0JooF1ed0v+evOn9KoMBG6rHewcf79qJbVOscbD8qSAmo+sCXtcFryr
12
+ KRMTB8gNbowJkFRJDEe8tfRy11u1fYzFg/qNO82FJd62rKAw2wN0C29yCeQOPRb1
13
+ Cw9Y4ZwK9VFNEcV9L+3pHTHn2XfuZHtDaG198VweiF6raFO4yiEYccodH/USP0L5
14
+ cbcCFtmu/4HDSxL1ByQXO84A0ybJuk3/+aPUSXe9C9U8fwIDAQABo3cwdTAJBgNV
15
+ HRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUSlcEakb7gfn/5E2WY6z73BF/
16
+ iZkwHQYDVR0RBBYwFIESY29udGFjdEBrYXJhZmthLmlvMB0GA1UdEgQWMBSBEmNv
17
+ bnRhY3RAa2FyYWZrYS5pbzANBgkqhkiG9w0BAQsFAAOCAYEA1aS+E7RXJ1w9g9mJ
18
+ G0NzFxe64OEuENosNlvYQCbRKGCXAU1qqelYkBQHseRgRKxLICrnypRo9IEobyHa
19
+ vDnJ4r7Tsb34dleqQW2zY/obG+cia3Ym2JsegXWF7dDOzCXJ4FN8MFoT2jHlqLLw
20
+ yrap0YO5zx0GSQ0Dwy8h2n2v2vanMEeCx7iNm3ERgR5WuN5sjzWoz2A/JLEEcK0C
21
+ EnAGKCWAd1fuG8IemDjT1edsd5FyYR4bIX0m+99oDuFZyPiiIbalmyYiSBBp59Yb
22
+ Q0P8zeBi4OfwCZNcxqz0KONmw9JLNv6DgyEAH5xe/4JzhMEgvIRiPj0pHfA7oqQF
23
+ KUNqvD1KlxbEC+bZfE5IZhnqYLdld/Ksqd22FI1RBhiS1Ejfsj99LVIm9cBuZEY2
24
+ Qf04B9ceLUaC4fPVEz10FyobjaFoY4i32xRto3XnrzeAgfEe4swLq8bQsR3w/EF3
25
+ MGU0FeSV2Yj7Xc2x/7BzLK8xQn5l7Yy75iPF+KP3vVmDHnNl
26
+ -----END CERTIFICATE-----
@@ -77,7 +77,7 @@ module WaterDrop
77
77
  # Propagates the kafka setting defaults unless they are already present
78
78
  # This makes it easier to set some values that users usually don't change but still allows them
79
79
  # to overwrite the whole hash if they want to
80
- # @param config [WaterDrop::Configurable::Node] config of this producer
80
+ # @param config [Karafka::Core::Configurable::Node] config of this producer
81
81
  def merge_kafka_defaults!(config)
82
82
  KAFKA_DEFAULTS.each do |key, value|
83
83
  next if config.kafka.key?(key)
@@ -3,7 +3,7 @@
3
3
  module WaterDrop
4
4
  module Contracts
5
5
  # Contract with validation rules for validating that all the message options that
6
- # we provide to producer ale valid and usable
6
+ # we provide to producer are valid and usable
7
7
  class Message < ::Karafka::Core::Contractable::Contract
8
8
  configure do |config|
9
9
  config.error_messages = YAML.safe_load(
@@ -27,7 +27,7 @@ module WaterDrop
27
27
  end
28
28
 
29
29
  required(:topic) { |val| val.is_a?(String) && TOPIC_REGEXP.match?(val) }
30
- required(:payload) { |val| val.is_a?(String) }
30
+ required(:payload) { |val| val.nil? || val.is_a?(String) }
31
31
  optional(:key) { |val| val.nil? || (val.is_a?(String) && !val.empty?) }
32
32
  optional(:partition) { |val| val.is_a?(Integer) && val >= -1 }
33
33
  optional(:partition_key) { |val| val.nil? || (val.is_a?(String) && !val.empty?) }
@@ -51,6 +51,7 @@ module WaterDrop
51
51
 
52
52
  virtual do |config, errors, validator|
53
53
  next true unless errors.empty?
54
+ next if config[:payload].nil? # tombstone payload
54
55
  next true if config[:payload].bytesize <= validator.max_payload_size
55
56
 
56
57
  [[%i[payload], :max_size]]
@@ -66,7 +66,7 @@ module WaterDrop
66
66
 
67
67
  # Hooks up to WaterDrop instrumentation for emitted statistics
68
68
  #
69
- # @param event [WaterDrop::Monitor::Event]
69
+ # @param event [Karafka::Core::Monitoring::Event]
70
70
  def on_statistics_emitted(event)
71
71
  statistics = event[:statistics]
72
72
 
@@ -77,13 +77,13 @@ module WaterDrop
77
77
 
78
78
  # Increases the errors count by 1
79
79
  #
80
- # @param _event [WaterDrop::Monitor::Event]
80
+ # @param _event [Karafka::Core::Monitoring::Event]
81
81
  def on_error_occurred(_event)
82
82
  count('error_occurred', 1, tags: default_tags)
83
83
  end
84
84
 
85
85
  # Increases acknowledged messages counter
86
- # @param _event [WaterDrop::Monitor::Event]
86
+ # @param _event [Karafka::Core::Monitoring::Event]
87
87
  def on_message_acknowledged(_event)
88
88
  increment('acknowledged', tags: default_tags)
89
89
  end
@@ -93,12 +93,12 @@ module WaterDrop
93
93
  produced_async
94
94
  ].each do |event_scope|
95
95
  class_eval <<~METHODS, __FILE__, __LINE__ + 1
96
- # @param event [WaterDrop::Monitor::Event]
96
+ # @param event [Karafka::Core::Monitoring::Event]
97
97
  def on_message_#{event_scope}(event)
98
98
  report_message(event[:message][:topic], :#{event_scope})
99
99
  end
100
100
 
101
- # @param event [WaterDrop::Monitor::Event]
101
+ # @param event [Karafka::Core::Monitoring::Event]
102
102
  def on_messages_#{event_scope}(event)
103
103
  event[:messages].each do |message|
104
104
  report_message(message[:topic], :#{event_scope})
@@ -113,7 +113,7 @@ module WaterDrop
113
113
  messages_buffered
114
114
  ].each do |event_scope|
115
115
  class_eval <<~METHODS, __FILE__, __LINE__ + 1
116
- # @param event [WaterDrop::Monitor::Event]
116
+ # @param event [Karafka::Core::Monitoring::Event]
117
117
  def on_#{event_scope}(event)
118
118
  histogram(
119
119
  'buffer.size',
@@ -131,7 +131,7 @@ module WaterDrop
131
131
  flushed_async
132
132
  ].each do |event_scope|
133
133
  class_eval <<~METHODS, __FILE__, __LINE__ + 1
134
- # @param event [WaterDrop::Monitor::Event]
134
+ # @param event [Karafka::Core::Monitoring::Event]
135
135
  def on_buffer_#{event_scope}(event)
136
136
  event[:messages].each do |message|
137
137
  report_message(message[:topic], :#{event_scope})
@@ -3,5 +3,5 @@
3
3
  # WaterDrop library
4
4
  module WaterDrop
5
5
  # Current WaterDrop version
6
- VERSION = '2.4.1'
6
+ VERSION = '2.4.2'
7
7
  end
data/waterdrop.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.version = ::WaterDrop::VERSION
11
11
  spec.platform = Gem::Platform::RUBY
12
12
  spec.authors = ['Maciej Mensfeld']
13
- spec.email = %w[maciej@mensfeld.pl]
13
+ spec.email = %w[contact@karafka.io]
14
14
  spec.homepage = 'https://karafka.io'
15
15
  spec.summary = 'Kafka messaging made easy!'
16
16
  spec.description = spec.summary
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
26
26
  spec.signing_key = File.expand_path('~/.ssh/gem-private_key.pem')
27
27
  end
28
28
 
29
- spec.cert_chain = %w[certs/mensfeld.pem]
29
+ spec.cert_chain = %w[certs/cert_chain.pem]
30
30
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(spec)/}) }
31
31
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
32
32
  spec.require_paths = %w[lib]
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: waterdrop
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.1
4
+ version: 2.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Mensfeld
@@ -10,31 +10,32 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIEODCCAqCgAwIBAgIBATANBgkqhkiG9w0BAQsFADAjMSEwHwYDVQQDDBhtYWNp
14
- ZWovREM9bWVuc2ZlbGQvREM9cGwwHhcNMjEwODExMTQxNTEzWhcNMjIwODExMTQx
15
- NTEzWjAjMSEwHwYDVQQDDBhtYWNpZWovREM9bWVuc2ZlbGQvREM9cGwwggGiMA0G
16
- CSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDV2jKH4Ti87GM6nyT6D+ESzTI0MZDj
17
- ak2/TEwnxvijMJyCCPKT/qIkbW4/f0VHM4rhPr1nW73sb5SZBVFCLlJcOSKOBdUY
18
- TMY+SIXN2EtUaZuhAOe8LxtxjHTgRHvHcqUQMBENXTISNzCo32LnUxweu66ia4Pd
19
- 1mNRhzOqNv9YiBZvtBf7IMQ+sYdOCjboq2dlsWmJiwiDpY9lQBTnWORnT3mQxU5x
20
- vPSwnLB854cHdCS8fQo4DjeJBRZHhEbcE5sqhEMB3RZA3EtFVEXOxlNxVTS3tncI
21
- qyNXiWDaxcipaens4ObSY1C2HTV7OWb7OMqSCIybeYTSfkaSdqmcl4S6zxXkjH1J
22
- tnjayAVzD+QVXGijsPLE2PFnJAh9iDET2cMsjabO1f6l1OQNyAtqpcyQcgfnyW0z
23
- g7tGxTYD+6wJHffM9d9txOUw6djkF6bDxyqB8lo4Z3IObCx18AZjI9XPS9QG7w6q
24
- LCWuMG2lkCcRgASqaVk9fEf9yMc2xxz5o3kCAwEAAaN3MHUwCQYDVR0TBAIwADAL
25
- BgNVHQ8EBAMCBLAwHQYDVR0OBBYEFBqUFCKCOe5IuueUVqOB991jyCLLMB0GA1Ud
26
- EQQWMBSBEm1hY2llakBtZW5zZmVsZC5wbDAdBgNVHRIEFjAUgRJtYWNpZWpAbWVu
27
- c2ZlbGQucGwwDQYJKoZIhvcNAQELBQADggGBADD0/UuTTFgW+CGk2U0RDw2RBOca
28
- W2LTF/G7AOzuzD0Tc4voc7WXyrgKwJREv8rgBimLnNlgmFJLmtUCh2U/MgxvcilH
29
- yshYcbseNvjkrtYnLRlWZR4SSB6Zei5AlyGVQLPkvdsBpNegcG6w075YEwzX/38a
30
- 8V9B/Yri2OGELBz8ykl7BsXUgNoUPA/4pHF6YRLz+VirOaUIQ4JfY7xGj6fSOWWz
31
- /rQ/d77r6o1mfJYM/3BRVg73a3b7DmRnE5qjwmSaSQ7u802pJnLesmArch0xGCT/
32
- fMmRli1Qb+6qOTl9mzD6UDMAyFR4t6MStLm0mIEqM0nBO5nUdUWbC7l9qXEf8XBE
33
- 2DP28p3EqSuS+lKbAWKcqv7t0iRhhmaod+Yn9mcrLN1sa3q3KSQ9BCyxezCD4Mk2
34
- R2P11bWoCtr70BsccVrN8jEhzwXngMyI2gVt750Y+dbTu1KgRqZKp/ECe7ZzPzXj
35
- pIy9vHxTANKYVyI4qj8OrFdEM5BQNu8oQpL0iQ==
13
+ MIIEcDCCAtigAwIBAgIBATANBgkqhkiG9w0BAQsFADA/MRAwDgYDVQQDDAdjb250
14
+ YWN0MRcwFQYKCZImiZPyLGQBGRYHa2FyYWZrYTESMBAGCgmSJomT8ixkARkWAmlv
15
+ MB4XDTIyMDgxOTE3MjEzN1oXDTIzMDgxOTE3MjEzN1owPzEQMA4GA1UEAwwHY29u
16
+ dGFjdDEXMBUGCgmSJomT8ixkARkWB2thcmFma2ExEjAQBgoJkiaJk/IsZAEZFgJp
17
+ bzCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAODzeO3L6lxdATzMHKNW
18
+ jFA/GGunoPuylO/BMzy8RiQHh7VIvysAKs0tHhTx3g2D0STDpF+hcQcPELFikiT2
19
+ F+1wOHj/SsrK7VKqfA8+gq04hKc5sQoX2Egf9k3V0YJ3eZ6R/koHkQ8A0TVt0w6F
20
+ ZQckoV4MqnEAx0g/FZN3mnHTlJ3VFLSBqJEIe+S6FZMl92mSv+hTrlUG8VaYxSfN
21
+ lTCvnKk284F6QZq5XIENLRmcDd/3aPBLnLwNnyMyhB+6gK8cUO+CFlDO5tjo/aBA
22
+ rUnl++wGG0JooF1ed0v+evOn9KoMBG6rHewcf79qJbVOscbD8qSAmo+sCXtcFryr
23
+ KRMTB8gNbowJkFRJDEe8tfRy11u1fYzFg/qNO82FJd62rKAw2wN0C29yCeQOPRb1
24
+ Cw9Y4ZwK9VFNEcV9L+3pHTHn2XfuZHtDaG198VweiF6raFO4yiEYccodH/USP0L5
25
+ cbcCFtmu/4HDSxL1ByQXO84A0ybJuk3/+aPUSXe9C9U8fwIDAQABo3cwdTAJBgNV
26
+ HRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUSlcEakb7gfn/5E2WY6z73BF/
27
+ iZkwHQYDVR0RBBYwFIESY29udGFjdEBrYXJhZmthLmlvMB0GA1UdEgQWMBSBEmNv
28
+ bnRhY3RAa2FyYWZrYS5pbzANBgkqhkiG9w0BAQsFAAOCAYEA1aS+E7RXJ1w9g9mJ
29
+ G0NzFxe64OEuENosNlvYQCbRKGCXAU1qqelYkBQHseRgRKxLICrnypRo9IEobyHa
30
+ vDnJ4r7Tsb34dleqQW2zY/obG+cia3Ym2JsegXWF7dDOzCXJ4FN8MFoT2jHlqLLw
31
+ yrap0YO5zx0GSQ0Dwy8h2n2v2vanMEeCx7iNm3ERgR5WuN5sjzWoz2A/JLEEcK0C
32
+ EnAGKCWAd1fuG8IemDjT1edsd5FyYR4bIX0m+99oDuFZyPiiIbalmyYiSBBp59Yb
33
+ Q0P8zeBi4OfwCZNcxqz0KONmw9JLNv6DgyEAH5xe/4JzhMEgvIRiPj0pHfA7oqQF
34
+ KUNqvD1KlxbEC+bZfE5IZhnqYLdld/Ksqd22FI1RBhiS1Ejfsj99LVIm9cBuZEY2
35
+ Qf04B9ceLUaC4fPVEz10FyobjaFoY4i32xRto3XnrzeAgfEe4swLq8bQsR3w/EF3
36
+ MGU0FeSV2Yj7Xc2x/7BzLK8xQn5l7Yy75iPF+KP3vVmDHnNl
36
37
  -----END CERTIFICATE-----
37
- date: 2022-08-01 00:00:00.000000000 Z
38
+ date: 2022-09-29 00:00:00.000000000 Z
38
39
  dependencies:
39
40
  - !ruby/object:Gem::Dependency
40
41
  name: karafka-core
@@ -86,7 +87,7 @@ dependencies:
86
87
  version: '2.3'
87
88
  description: Kafka messaging made easy!
88
89
  email:
89
- - maciej@mensfeld.pl
90
+ - contact@karafka.io
90
91
  executables: []
91
92
  extensions: []
92
93
  extra_rdoc_files: []
@@ -103,7 +104,7 @@ files:
103
104
  - Gemfile.lock
104
105
  - MIT-LICENSE
105
106
  - README.md
106
- - certs/mensfeld.pem
107
+ - certs/cert_chain.pem
107
108
  - config/errors.yml
108
109
  - docker-compose.yml
109
110
  - lib/waterdrop.rb
metadata.gz.sig CHANGED
Binary file
data/certs/mensfeld.pem DELETED
@@ -1,25 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIEODCCAqCgAwIBAgIBATANBgkqhkiG9w0BAQsFADAjMSEwHwYDVQQDDBhtYWNp
3
- ZWovREM9bWVuc2ZlbGQvREM9cGwwHhcNMjEwODExMTQxNTEzWhcNMjIwODExMTQx
4
- NTEzWjAjMSEwHwYDVQQDDBhtYWNpZWovREM9bWVuc2ZlbGQvREM9cGwwggGiMA0G
5
- CSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDV2jKH4Ti87GM6nyT6D+ESzTI0MZDj
6
- ak2/TEwnxvijMJyCCPKT/qIkbW4/f0VHM4rhPr1nW73sb5SZBVFCLlJcOSKOBdUY
7
- TMY+SIXN2EtUaZuhAOe8LxtxjHTgRHvHcqUQMBENXTISNzCo32LnUxweu66ia4Pd
8
- 1mNRhzOqNv9YiBZvtBf7IMQ+sYdOCjboq2dlsWmJiwiDpY9lQBTnWORnT3mQxU5x
9
- vPSwnLB854cHdCS8fQo4DjeJBRZHhEbcE5sqhEMB3RZA3EtFVEXOxlNxVTS3tncI
10
- qyNXiWDaxcipaens4ObSY1C2HTV7OWb7OMqSCIybeYTSfkaSdqmcl4S6zxXkjH1J
11
- tnjayAVzD+QVXGijsPLE2PFnJAh9iDET2cMsjabO1f6l1OQNyAtqpcyQcgfnyW0z
12
- g7tGxTYD+6wJHffM9d9txOUw6djkF6bDxyqB8lo4Z3IObCx18AZjI9XPS9QG7w6q
13
- LCWuMG2lkCcRgASqaVk9fEf9yMc2xxz5o3kCAwEAAaN3MHUwCQYDVR0TBAIwADAL
14
- BgNVHQ8EBAMCBLAwHQYDVR0OBBYEFBqUFCKCOe5IuueUVqOB991jyCLLMB0GA1Ud
15
- EQQWMBSBEm1hY2llakBtZW5zZmVsZC5wbDAdBgNVHRIEFjAUgRJtYWNpZWpAbWVu
16
- c2ZlbGQucGwwDQYJKoZIhvcNAQELBQADggGBADD0/UuTTFgW+CGk2U0RDw2RBOca
17
- W2LTF/G7AOzuzD0Tc4voc7WXyrgKwJREv8rgBimLnNlgmFJLmtUCh2U/MgxvcilH
18
- yshYcbseNvjkrtYnLRlWZR4SSB6Zei5AlyGVQLPkvdsBpNegcG6w075YEwzX/38a
19
- 8V9B/Yri2OGELBz8ykl7BsXUgNoUPA/4pHF6YRLz+VirOaUIQ4JfY7xGj6fSOWWz
20
- /rQ/d77r6o1mfJYM/3BRVg73a3b7DmRnE5qjwmSaSQ7u802pJnLesmArch0xGCT/
21
- fMmRli1Qb+6qOTl9mzD6UDMAyFR4t6MStLm0mIEqM0nBO5nUdUWbC7l9qXEf8XBE
22
- 2DP28p3EqSuS+lKbAWKcqv7t0iRhhmaod+Yn9mcrLN1sa3q3KSQ9BCyxezCD4Mk2
23
- R2P11bWoCtr70BsccVrN8jEhzwXngMyI2gVt750Y+dbTu1KgRqZKp/ECe7ZzPzXj
24
- pIy9vHxTANKYVyI4qj8OrFdEM5BQNu8oQpL0iQ==
25
- -----END CERTIFICATE-----