mongo 2.20.0 → 2.20.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.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +37 -1
  3. data/Rakefile +57 -21
  4. data/lib/mongo/config.rb +2 -2
  5. data/lib/mongo/retryable/base_worker.rb +28 -3
  6. data/lib/mongo/retryable/read_worker.rb +9 -8
  7. data/lib/mongo/retryable/write_worker.rb +4 -4
  8. data/lib/mongo/server/pending_connection.rb +19 -6
  9. data/lib/mongo/socket/ssl.rb +35 -5
  10. data/lib/mongo/version.rb +3 -18
  11. data/mongo.gemspec +8 -11
  12. data/spec/integration/client_side_encryption/range_explicit_encryption_prose_spec.rb +3 -0
  13. data/spec/integration/ocsp_verifier_spec.rb +30 -99
  14. data/spec/integration/reconnect_spec.rb +8 -2
  15. data/spec/integration/retryable_reads_errors_spec.rb +35 -23
  16. data/spec/integration/sdam_error_handling_spec.rb +2 -0
  17. data/spec/integration/srv_monitoring_spec.rb +2 -3
  18. data/spec/integration/srv_spec.rb +0 -4
  19. data/spec/lite_spec_helper.rb +0 -10
  20. data/spec/mongo/collection_crud_spec.rb +1 -0
  21. data/spec/mongo/server/connection_spec.rb +22 -0
  22. data/spec/shared/CANDIDATE.md +28 -0
  23. data/spec/shared/lib/mrss/docker_runner.rb +1 -1
  24. data/spec/shared/lib/mrss/release/candidate.rb +281 -0
  25. data/spec/shared/lib/mrss/release/product_data.rb +144 -0
  26. data/spec/shared/lib/mrss/server_version_registry.rb +1 -1
  27. data/spec/shared/lib/tasks/candidate.rake +64 -0
  28. data/spec/shared/share/Dockerfile.erb +4 -34
  29. data/spec/shared/shlib/distro.sh +10 -0
  30. data/spec/shared/shlib/server.sh +33 -27
  31. data/spec/shared/shlib/set_env.sh +6 -42
  32. data/spec/spec_tests/data/client_side_encryption/fle2v2-BypassQueryAnalysis.yml +1 -0
  33. data/spec/spec_tests/data/client_side_encryption/fle2v2-Compact.yml +1 -0
  34. data/spec/spec_tests/data/client_side_encryption/fle2v2-CreateCollection.yml +1 -0
  35. data/spec/spec_tests/data/client_side_encryption/fle2v2-DecryptExistingData.yml +1 -0
  36. data/spec/spec_tests/data/client_side_encryption/fle2v2-Delete.yml +1 -0
  37. data/spec/spec_tests/data/client_side_encryption/fle2v2-EncryptedFields-vs-EncryptedFieldsMap.yml +1 -0
  38. data/spec/spec_tests/data/client_side_encryption/fle2v2-EncryptedFields-vs-jsonSchema.yml +1 -0
  39. data/spec/spec_tests/data/client_side_encryption/fle2v2-EncryptedFieldsMap-defaults.yml +1 -0
  40. data/spec/spec_tests/data/client_side_encryption/fle2v2-FindOneAndUpdate.yml +1 -0
  41. data/spec/spec_tests/data/client_side_encryption/fle2v2-InsertFind-Indexed.yml +1 -0
  42. data/spec/spec_tests/data/client_side_encryption/fle2v2-InsertFind-Unindexed.yml +1 -0
  43. data/spec/spec_tests/data/client_side_encryption/fle2v2-MissingKey.yml +1 -0
  44. data/spec/spec_tests/data/client_side_encryption/fle2v2-NoEncryption.yml +1 -0
  45. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Aggregate.yml +1 -0
  46. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Correctness.yml +1 -0
  47. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Delete.yml +1 -0
  48. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-FindOneAndUpdate.yml +1 -0
  49. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-InsertFind.yml +1 -0
  50. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Update.yml +1 -0
  51. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Aggregate.yml +1 -0
  52. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Correctness.yml +1 -0
  53. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Delete.yml +1 -0
  54. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-FindOneAndUpdate.yml +1 -0
  55. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-InsertFind.yml +1 -0
  56. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Update.yml +1 -0
  57. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Aggregate.yml +1 -0
  58. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Correctness.yml +1 -0
  59. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Delete.yml +1 -0
  60. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-FindOneAndUpdate.yml +1 -0
  61. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-InsertFind.yml +1 -0
  62. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Update.yml +1 -0
  63. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Aggregate.yml +1 -0
  64. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Correctness.yml +1 -0
  65. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Delete.yml +1 -0
  66. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-FindOneAndUpdate.yml +1 -0
  67. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-InsertFind.yml +1 -0
  68. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Update.yml +1 -0
  69. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Aggregate.yml +1 -0
  70. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Correctness.yml +1 -0
  71. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Delete.yml +1 -0
  72. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-FindOneAndUpdate.yml +1 -0
  73. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-InsertFind.yml +1 -0
  74. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Update.yml +1 -0
  75. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Aggregate.yml +1 -0
  76. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Correctness.yml +1 -0
  77. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Delete.yml +1 -0
  78. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-FindOneAndUpdate.yml +1 -0
  79. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-InsertFind.yml +1 -0
  80. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Update.yml +1 -0
  81. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Aggregate.yml +1 -0
  82. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Correctness.yml +1 -0
  83. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Delete.yml +1 -0
  84. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-FindOneAndUpdate.yml +1 -0
  85. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-InsertFind.yml +1 -0
  86. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Update.yml +1 -0
  87. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-WrongType.yml +1 -0
  88. data/spec/spec_tests/data/client_side_encryption/fle2v2-Update.yml +1 -0
  89. data/spec/spec_tests/data/client_side_encryption/fle2v2-validatorAndPartialFieldExpression.yml +2 -1
  90. data/spec/spec_tests/data/crud_unified/aggregate-write-readPreference.yml +2 -0
  91. data/spec/spec_tests/data/crud_unified/db-aggregate-write-readPreference.yml +2 -0
  92. data/spec/spec_tests/transactions_unified_spec.rb +2 -1
  93. data/spec/support/certificates/atlas-ocsp-ca.crt +89 -77
  94. data/spec/support/certificates/atlas-ocsp.crt +117 -122
  95. data/spec/support/certificates/retrieve-atlas-cert +1 -1
  96. data/spec/support/common_shortcuts.rb +19 -37
  97. data/spec/support/constraints.rb +10 -0
  98. metadata +24 -47
  99. checksums.yaml.gz.sig +0 -0
  100. data/spec/support/dns.rb +0 -16
  101. data/spec/support/faas/app/aws_lambda/mongodb/Gemfile.lock +0 -19
  102. data.tar.gz.sig +0 -0
  103. metadata.gz.sig +0 -3
@@ -2,6 +2,7 @@
2
2
  # Requires libmongocrypt 1.8.0.
3
3
  runOn:
4
4
  - minServerVersion: "7.0.0"
5
+ maxServerVersion: "7.99.99"
5
6
  # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol.
6
7
  # FLE 2 Encrypted collections are not supported on standalone.
7
8
  topology: [ "replicaset", "sharded", "load-balanced" ]
@@ -4,6 +4,7 @@
4
4
  # Requires libmongocrypt 1.8.0.
5
5
  runOn:
6
6
  - minServerVersion: "7.0.0"
7
+ maxServerVersion: "7.99.99"
7
8
  # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol.
8
9
  # FLE 2 Encrypted collections are not supported on standalone.
9
10
  topology: [ "replicaset", "sharded", "load-balanced" ]
@@ -2,6 +2,7 @@
2
2
  # Requires libmongocrypt 1.8.0.
3
3
  runOn:
4
4
  - minServerVersion: "7.0.0"
5
+ maxServerVersion: "7.99.99"
5
6
  # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol.
6
7
  # FLE 2 Encrypted collections are not supported on standalone.
7
8
  topology: [ "replicaset", "sharded", "load-balanced" ]
@@ -2,6 +2,7 @@
2
2
  # Requires libmongocrypt 1.8.0.
3
3
  runOn:
4
4
  - minServerVersion: "7.0.0"
5
+ maxServerVersion: "7.99.99"
5
6
  # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol.
6
7
  # FLE 2 Encrypted collections are not supported on standalone.
7
8
  topology: [ "replicaset", "sharded", "load-balanced" ]
@@ -2,6 +2,7 @@
2
2
  # Requires libmongocrypt 1.8.0.
3
3
  runOn:
4
4
  - minServerVersion: "7.0.0"
5
+ maxServerVersion: "7.99.99"
5
6
  # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol.
6
7
  # FLE 2 Encrypted collections are not supported on standalone.
7
8
  topology: [ "replicaset", "sharded", "load-balanced" ]
@@ -2,6 +2,7 @@
2
2
  # Requires libmongocrypt 1.8.0.
3
3
  runOn:
4
4
  - minServerVersion: "7.0.0"
5
+ maxServerVersion: "7.99.99"
5
6
  # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol.
6
7
  # FLE 2 Encrypted collections are not supported on standalone.
7
8
  topology: [ "replicaset", "sharded", "load-balanced" ]
@@ -4,6 +4,7 @@
4
4
  # Requires libmongocrypt 1.8.0.
5
5
  runOn:
6
6
  - minServerVersion: "7.0.0"
7
+ maxServerVersion: "7.99.99"
7
8
  # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol.
8
9
  # FLE 2 Encrypted collections are not supported on standalone.
9
10
  topology: [ "replicaset", "sharded", "load-balanced" ]
@@ -1,6 +1,7 @@
1
1
  # Requires libmongocrypt 1.8.0.
2
2
  runOn:
3
3
  - minServerVersion: "7.0.0"
4
+ maxServerVersion: "7.99.99"
4
5
  # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol.
5
6
  # FLE 2 Encrypted collections are not supported on standalone.
6
7
  topology: [ "replicaset", "sharded", "load-balanced" ]
@@ -2,6 +2,7 @@
2
2
  runOn:
3
3
  # Require server version 6.0.0 to get behavior added in SERVER-64911.
4
4
  - minServerVersion: "7.0.0"
5
+ maxServerVersion: "7.99.99"
5
6
  # Skip QEv2 (also referred to as FLE2v2) tests on Serverless. Unskip once Serverless enables the QEv2 protocol.
6
7
  # FLE 2 Encrypted collections are not supported on standalone.
7
8
  topology: [ "replicaset", "sharded", "load-balanced" ]
@@ -166,4 +167,4 @@ tests:
166
167
  partialFilterExpression:
167
168
  encryptedIndexed: "foo"
168
169
  result:
169
- errorContains: "Comparison to encrypted fields not supported"
170
+ errorContains: "Comparison to encrypted fields not supported"
@@ -5,6 +5,8 @@ schemaVersion: '1.4'
5
5
  runOnRequirements:
6
6
  # 3.6+ non-standalone is needed to utilize $readPreference in OP_MSG
7
7
  - minServerVersion: "3.6"
8
+ # https://jira.mongodb.org/browse/DRIVERS-291
9
+ maxServerVersion: "7.99"
8
10
  topologies: [ replicaset, sharded, load-balanced ]
9
11
 
10
12
  _yamlAnchors:
@@ -7,6 +7,8 @@ runOnRequirements:
7
7
  # Serverless does not support $listLocalSessions and $currentOp stages, and
8
8
  # mongos does not allow combining them with $out or $merge.
9
9
  - minServerVersion: "3.6"
10
+ # https://jira.mongodb.org/browse/DRIVERS-291
11
+ maxServerVersion: "7.99"
10
12
  topologies: [ replicaset ]
11
13
  serverless: forbid
12
14
 
@@ -6,7 +6,8 @@ require 'spec_helper'
6
6
  require 'runners/unified'
7
7
 
8
8
  base = "#{CURRENT_PATH}/spec_tests/data/transactions_unified"
9
- TRANSACTIONS_UNIFIED_TESTS = Dir.glob("#{base}/**/*.yml").sort
9
+ # See https://jira.mongodb.org/browse/RUBY-3502 for more details
10
+ TRANSACTIONS_UNIFIED_TESTS = Dir.glob("#{base}/**/*.yml").sort.reject { |name| name =~ /.*mongos-unpin.yml$/ }
10
11
 
11
12
  describe 'Transactions unified spec tests' do
12
13
  define_unified_spec_tests(base, TRANSACTIONS_UNIFIED_TESTS)
@@ -2,102 +2,114 @@ Certificate:
2
2
  Data:
3
3
  Version: 3 (0x2)
4
4
  Serial Number:
5
- 0c:f5:bd:06:2b:56:02:f4:7a:b8:50:2c:23:cc:f0:66
5
+ 91:2b:08:4a:cf:0c:18:a7:53:f6:d6:2e:25:a7:5f:5a
6
6
  Signature Algorithm: sha256WithRSAEncryption
7
- Issuer: C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root G2
7
+ Issuer: C=US, O=Internet Security Research Group, CN=ISRG Root X1
8
8
  Validity
9
- Not Before: Mar 30 00:00:00 2021 GMT
10
- Not After : Mar 29 23:59:59 2031 GMT
11
- Subject: C = US, O = DigiCert Inc, CN = DigiCert Global G2 TLS RSA SHA256 2020 CA1
9
+ Not Before: Sep 4 00:00:00 2020 GMT
10
+ Not After : Sep 15 16:00:00 2025 GMT
11
+ Subject: C=US, O=Let's Encrypt, CN=R3
12
12
  Subject Public Key Info:
13
13
  Public Key Algorithm: rsaEncryption
14
14
  Public-Key: (2048 bit)
15
15
  Modulus:
16
- 00:cc:f7:10:62:4f:a6:bb:63:6f:ed:90:52:56:c5:
17
- 6d:27:7b:7a:12:56:8a:f1:f4:f9:d6:e7:e1:8f:bd:
18
- 95:ab:f2:60:41:15:70:db:12:00:fa:27:0a:b5:57:
19
- 38:5b:7d:b2:51:93:71:95:0e:6a:41:94:5b:35:1b:
20
- fa:7b:fa:bb:c5:be:24:30:fe:56:ef:c4:f3:7d:97:
21
- e3:14:f5:14:4d:cb:a7:10:f2:16:ea:ab:22:f0:31:
22
- 22:11:61:69:90:26:ba:78:d9:97:1f:e3:7d:66:ab:
23
- 75:44:95:73:c8:ac:ff:ef:5d:0a:8a:59:43:e1:ac:
24
- b2:3a:0f:f3:48:fc:d7:6b:37:c1:63:dc:de:46:d6:
25
- db:45:fe:7d:23:fd:90:e8:51:07:1e:51:a3:5f:ed:
26
- 49:46:54:7f:2c:88:c5:f4:13:9c:97:15:3c:03:e8:
27
- a1:39:dc:69:0c:32:c1:af:16:57:4c:94:47:42:7c:
28
- a2:c8:9c:7d:e6:d4:4d:54:af:42:99:a8:c1:04:c2:
29
- 77:9c:d6:48:e4:ce:11:e0:2a:80:99:f0:43:70:cf:
30
- 3f:76:6b:d1:4c:49:ab:24:5e:c2:0d:82:fd:46:a8:
31
- ab:6c:93:cc:62:52:42:75:92:f8:9a:fa:5e:5e:b2:
32
- b0:61:e5:1f:1f:b9:7f:09:98:e8:3d:fa:83:7f:47:
33
- 69:a1
16
+ 00:bb:02:15:28:cc:f6:a0:94:d3:0f:12:ec:8d:55:
17
+ 92:c3:f8:82:f1:99:a6:7a:42:88:a7:5d:26:aa:b5:
18
+ 2b:b9:c5:4c:b1:af:8e:6b:f9:75:c8:a3:d7:0f:47:
19
+ 94:14:55:35:57:8c:9e:a8:a2:39:19:f5:82:3c:42:
20
+ a9:4e:6e:f5:3b:c3:2e:db:8d:c0:b0:5c:f3:59:38:
21
+ e7:ed:cf:69:f0:5a:0b:1b:be:c0:94:24:25:87:fa:
22
+ 37:71:b3:13:e7:1c:ac:e1:9b:ef:db:e4:3b:45:52:
23
+ 45:96:a9:c1:53:ce:34:c8:52:ee:b5:ae:ed:8f:de:
24
+ 60:70:e2:a5:54:ab:b6:6d:0e:97:a5:40:34:6b:2b:
25
+ d3:bc:66:eb:66:34:7c:fa:6b:8b:8f:57:29:99:f8:
26
+ 30:17:5d:ba:72:6f:fb:81:c5:ad:d2:86:58:3d:17:
27
+ c7:e7:09:bb:f1:2b:f7:86:dc:c1:da:71:5d:d4:46:
28
+ e3:cc:ad:25:c1:88:bc:60:67:75:66:b3:f1:18:f7:
29
+ a2:5c:e6:53:ff:3a:88:b6:47:a5:ff:13:18:ea:98:
30
+ 09:77:3f:9d:53:f9:cf:01:e5:f5:a6:70:17:14:af:
31
+ 63:a4:ff:99:b3:93:9d:dc:53:a7:06:fe:48:85:1d:
32
+ a1:69:ae:25:75:bb:13:cc:52:03:f5:ed:51:a1:8b:
33
+ db:15
34
34
  Exponent: 65537 (0x10001)
35
35
  X509v3 extensions:
36
+ X509v3 Key Usage: critical
37
+ Digital Signature, Certificate Sign, CRL Sign
38
+ X509v3 Extended Key Usage:
39
+ TLS Web Client Authentication, TLS Web Server Authentication
36
40
  X509v3 Basic Constraints: critical
37
41
  CA:TRUE, pathlen:0
38
42
  X509v3 Subject Key Identifier:
39
- 74:85:80:C0:66:C7:DF:37:DE:CF:BD:29:37:AA:03:1D:BE:ED:CD:17
43
+ 14:2E:B3:17:B7:58:56:CB:AE:50:09:40:E6:1F:AF:9D:8B:14:C2:C6
40
44
  X509v3 Authority Key Identifier:
41
- 4E:22:54:20:18:95:E6:E3:6E:E6:0F:FA:FA:B9:12:ED:06:17:8F:39
42
- X509v3 Key Usage: critical
43
- Digital Signature, Certificate Sign, CRL Sign
44
- X509v3 Extended Key Usage:
45
- TLS Web Server Authentication, TLS Web Client Authentication
45
+ 79:B4:59:E6:7B:B6:E5:E4:01:73:80:08:88:C8:1A:58:F6:E9:9B:6E
46
46
  Authority Information Access:
47
- OCSP - URI:http://ocsp.digicert.com
48
- CA Issuers - URI:http://cacerts.digicert.com/DigiCertGlobalRootG2.crt
47
+ CA Issuers - URI:http://x1.i.lencr.org/
49
48
  X509v3 CRL Distribution Points:
50
49
  Full Name:
51
- URI:http://crl3.digicert.com/DigiCertGlobalRootG2.crl
50
+ URI:http://x1.c.lencr.org/
52
51
  X509v3 Certificate Policies:
53
- Policy: 2.16.840.1.114412.2.1
54
- Policy: 2.23.140.1.1
55
52
  Policy: 2.23.140.1.2.1
56
- Policy: 2.23.140.1.2.2
57
- Policy: 2.23.140.1.2.3
53
+ Policy: 1.3.6.1.4.1.44947.1.1.1
58
54
  Signature Algorithm: sha256WithRSAEncryption
59
55
  Signature Value:
60
- 90:f1:70:cb:28:97:69:97:7c:74:fd:c0:fa:26:7b:53:ab:ad:
61
- cd:65:fd:ba:9c:06:9c:8a:d7:5a:43:87:ed:4d:4c:56:5f:ad:
62
- c1:c5:b5:05:20:2e:59:d1:ff:4a:f5:a0:2a:d8:b0:95:ad:c9:
63
- 2e:4a:3b:d7:a7:f6:6f:88:29:fc:30:3f:24:84:bb:c3:b7:7b:
64
- 93:07:2c:af:87:6b:76:33:ed:00:55:52:b2:59:9e:e4:b9:d0:
65
- f3:df:e7:0f:fe:dd:f8:c4:b9:10:72:81:09:04:5f:cf:97:9e:
66
- 2e:32:75:8e:cf:9a:58:d2:57:31:7e:37:01:81:b2:66:6d:29:
67
- 1a:b1:66:09:6d:d1:6e:90:f4:b9:fa:2f:01:14:c5:5c:56:64:
68
- 01:d9:7d:87:a8:38:53:9f:8b:5d:46:6d:5c:c6:27:84:81:d4:
69
- 7e:8c:8c:a3:9b:52:e7:c6:88:ec:37:7c:2a:fb:f0:55:5a:38:
70
- 72:10:d8:00:13:cf:4c:73:db:aa:37:35:a8:29:81:69:9c:76:
71
- bc:de:18:7b:90:d4:ca:cf:ef:67:03:fd:04:5a:21:16:b1:ff:
72
- ea:3f:df:dc:82:f5:eb:f4:59:92:23:0d:24:2a:95:25:4c:ca:
73
- a1:91:e6:d4:b7:ac:87:74:b3:f1:6d:a3:99:db:f9:d5:bd:84:
74
- 40:9f:07:98
56
+ 85:ca:4e:47:3e:a3:f7:85:44:85:bc:d5:67:78:b2:98:63:ad:
57
+ 75:4d:1e:96:3d:33:65:72:54:2d:81:a0:ea:c3:ed:f8:20:bf:
58
+ 5f:cc:b7:70:00:b7:6e:3b:f6:5e:94:de:e4:20:9f:a6:ef:8b:
59
+ b2:03:e7:a2:b5:16:3c:91:ce:b4:ed:39:02:e7:7c:25:8a:47:
60
+ e6:65:6e:3f:46:f4:d9:f0:ce:94:2b:ee:54:ce:12:bc:8c:27:
61
+ 4b:b8:c1:98:2f:a2:af:cd:71:91:4a:08:b7:c8:b8:23:7b:04:
62
+ 2d:08:f9:08:57:3e:83:d9:04:33:0a:47:21:78:09:82:27:c3:
63
+ 2a:c8:9b:b9:ce:5c:f2:64:c8:c0:be:79:c0:4f:8e:6d:44:0c:
64
+ 5e:92:bb:2e:f7:8b:10:e1:e8:1d:44:29:db:59:20:ed:63:b9:
65
+ 21:f8:12:26:94:93:57:a0:1d:65:04:c1:0a:22:ae:10:0d:43:
66
+ 97:a1:18:1f:7e:e0:e0:86:37:b5:5a:b1:bd:30:bf:87:6e:2b:
67
+ 2a:ff:21:4e:1b:05:c3:f5:18:97:f0:5e:ac:c3:a5:b8:6a:f0:
68
+ 2e:bc:3b:33:b9:ee:4b:de:cc:fc:e4:af:84:0b:86:3f:c0:55:
69
+ 43:36:f6:68:e1:36:17:6a:8e:99:d1:ff:a5:40:a7:34:b7:c0:
70
+ d0:63:39:35:39:75:6e:f2:ba:76:c8:93:02:e9:a9:4b:6c:17:
71
+ ce:0c:02:d9:bd:81:fb:9f:b7:68:d4:06:65:b3:82:3d:77:53:
72
+ f8:8e:79:03:ad:0a:31:07:75:2a:43:d8:55:97:72:c4:29:0e:
73
+ f7:c4:5d:4e:c8:ae:46:84:30:d7:f2:85:5f:18:a1:79:bb:e7:
74
+ 5e:70:8b:07:e1:86:93:c3:b9:8f:dc:61:71:25:2a:af:df:ed:
75
+ 25:50:52:68:8b:92:dc:e5:d6:b5:e3:da:7d:d0:87:6c:84:21:
76
+ 31:ae:82:f5:fb:b9:ab:c8:89:17:3d:e1:4c:e5:38:0e:f6:bd:
77
+ 2b:bd:96:81:14:eb:d5:db:3d:20:a7:7e:59:d3:e2:f8:58:f9:
78
+ 5b:b8:48:cd:fe:5c:4f:16:29:fe:1e:55:23:af:c8:11:b0:8d:
79
+ ea:7c:93:90:17:2f:fd:ac:a2:09:47:46:3f:f0:e9:b0:b7:ff:
80
+ 28:4d:68:32:d6:67:5e:1e:69:a3:93:b8:f5:9d:8b:2f:0b:d2:
81
+ 52:43:a6:6f:32:57:65:4d:32:81:df:38:53:85:5d:7e:5d:66:
82
+ 29:ea:b8:dd:e4:95:b5:cd:b5:56:12:42:cd:c4:4e:c6:25:38:
83
+ 44:50:6d:ec:ce:00:55:18:fe:e9:49:64:d4:4e:ca:97:9c:b4:
84
+ 5b:c0:73:a8:ab:b8:47:c2
75
85
 
76
86
  -----BEGIN CERTIFICATE-----
77
- MIIEyDCCA7CgAwIBAgIQDPW9BitWAvR6uFAsI8zwZjANBgkqhkiG9w0BAQsFADBh
78
- MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
79
- d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH
80
- MjAeFw0yMTAzMzAwMDAwMDBaFw0zMTAzMjkyMzU5NTlaMFkxCzAJBgNVBAYTAlVT
81
- MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxMzAxBgNVBAMTKkRpZ2lDZXJ0IEdsb2Jh
82
- bCBHMiBUTFMgUlNBIFNIQTI1NiAyMDIwIENBMTCCASIwDQYJKoZIhvcNAQEBBQAD
83
- ggEPADCCAQoCggEBAMz3EGJPprtjb+2QUlbFbSd7ehJWivH0+dbn4Y+9lavyYEEV
84
- cNsSAPonCrVXOFt9slGTcZUOakGUWzUb+nv6u8W+JDD+Vu/E832X4xT1FE3LpxDy
85
- FuqrIvAxIhFhaZAmunjZlx/jfWardUSVc8is/+9dCopZQ+GssjoP80j812s3wWPc
86
- 3kbW20X+fSP9kOhRBx5Ro1/tSUZUfyyIxfQTnJcVPAPooTncaQwywa8WV0yUR0J8
87
- osicfebUTVSvQpmowQTCd5zWSOTOEeAqgJnwQ3DPP3Zr0UxJqyRewg2C/Uaoq2yT
88
- zGJSQnWS+Jr6Xl6ysGHlHx+5fwmY6D36g39HaaECAwEAAaOCAYIwggF+MBIGA1Ud
89
- EwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFHSFgMBmx9833s+9KTeqAx2+7c0XMB8G
90
- A1UdIwQYMBaAFE4iVCAYlebjbuYP+vq5Eu0GF485MA4GA1UdDwEB/wQEAwIBhjAd
91
- BgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwdgYIKwYBBQUHAQEEajBoMCQG
92
- CCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQAYIKwYBBQUHMAKG
93
- NGh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RH
94
- Mi5jcnQwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybDMuZGlnaWNlcnQuY29t
95
- L0RpZ2lDZXJ0R2xvYmFsUm9vdEcyLmNybDA9BgNVHSAENjA0MAsGCWCGSAGG/WwC
96
- ATAHBgVngQwBATAIBgZngQwBAgEwCAYGZ4EMAQICMAgGBmeBDAECAzANBgkqhkiG
97
- 9w0BAQsFAAOCAQEAkPFwyyiXaZd8dP3A+iZ7U6utzWX9upwGnIrXWkOH7U1MVl+t
98
- wcW1BSAuWdH/SvWgKtiwla3JLko716f2b4gp/DA/JIS7w7d7kwcsr4drdjPtAFVS
99
- slme5LnQ89/nD/7d+MS5EHKBCQRfz5eeLjJ1js+aWNJXMX43AYGyZm0pGrFmCW3R
100
- bpD0ufovARTFXFZkAdl9h6g4U5+LXUZtXMYnhIHUfoyMo5tS58aI7Dd8KvvwVVo4
101
- chDYABPPTHPbqjc1qCmBaZx2vN4Ye5DUys/vZwP9BFohFrH/6j/f3IL16/RZkiMN
102
- JCqVJUzKoZHm1Lesh3Sz8W2jmdv51b2EQJ8HmA==
87
+ MIIFFjCCAv6gAwIBAgIRAJErCErPDBinU/bWLiWnX1owDQYJKoZIhvcNAQELBQAw
88
+ TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
89
+ cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjAwOTA0MDAwMDAw
90
+ WhcNMjUwOTE1MTYwMDAwWjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
91
+ RW5jcnlwdDELMAkGA1UEAxMCUjMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
92
+ AoIBAQC7AhUozPaglNMPEuyNVZLD+ILxmaZ6QoinXSaqtSu5xUyxr45r+XXIo9cP
93
+ R5QUVTVXjJ6oojkZ9YI8QqlObvU7wy7bjcCwXPNZOOftz2nwWgsbvsCUJCWH+jdx
94
+ sxPnHKzhm+/b5DtFUkWWqcFTzjTIUu61ru2P3mBw4qVUq7ZtDpelQDRrK9O8Zutm
95
+ NHz6a4uPVymZ+DAXXbpyb/uBxa3Shlg9F8fnCbvxK/eG3MHacV3URuPMrSXBiLxg
96
+ Z3Vms/EY96Jc5lP/Ooi2R6X/ExjqmAl3P51T+c8B5fWmcBcUr2Ok/5mzk53cU6cG
97
+ /kiFHaFpriV1uxPMUgP17VGhi9sVAgMBAAGjggEIMIIBBDAOBgNVHQ8BAf8EBAMC
98
+ AYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMBIGA1UdEwEB/wQIMAYB
99
+ Af8CAQAwHQYDVR0OBBYEFBQusxe3WFbLrlAJQOYfr52LFMLGMB8GA1UdIwQYMBaA
100
+ FHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcw
101
+ AoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzAnBgNVHR8EIDAeMBygGqAYhhZodHRw
102
+ Oi8veDEuYy5sZW5jci5vcmcvMCIGA1UdIAQbMBkwCAYGZ4EMAQIBMA0GCysGAQQB
103
+ gt8TAQEBMA0GCSqGSIb3DQEBCwUAA4ICAQCFyk5HPqP3hUSFvNVneLKYY611TR6W
104
+ PTNlclQtgaDqw+34IL9fzLdwALduO/ZelN7kIJ+m74uyA+eitRY8kc607TkC53wl
105
+ ikfmZW4/RvTZ8M6UK+5UzhK8jCdLuMGYL6KvzXGRSgi3yLgjewQtCPkIVz6D2QQz
106
+ CkcheAmCJ8MqyJu5zlzyZMjAvnnAT45tRAxekrsu94sQ4egdRCnbWSDtY7kh+BIm
107
+ lJNXoB1lBMEKIq4QDUOXoRgffuDghje1WrG9ML+Hbisq/yFOGwXD9RiX8F6sw6W4
108
+ avAuvDszue5L3sz85K+EC4Y/wFVDNvZo4TYXao6Z0f+lQKc0t8DQYzk1OXVu8rp2
109
+ yJMC6alLbBfODALZvYH7n7do1AZls4I9d1P4jnkDrQoxB3UqQ9hVl3LEKQ73xF1O
110
+ yK5GhDDX8oVfGKF5u+decIsH4YaTw7mP3GFxJSqv3+0lUFJoi5Lc5da149p90Ids
111
+ hCExroL1+7mryIkXPeFM5TgO9r0rvZaBFOvV2z0gp35Z0+L4WPlbuEjN/lxPFin+
112
+ HlUjr8gRsI3qfJOQFy/9rKIJR0Y/8Omwt/8oTWgy1mdeHmmjk7j1nYsvC9JSQ6Zv
113
+ MldlTTKB3zhThV1+XWYp6rjd5JW1zbVWEkLNxE7GJThEUG3szgBVGP7pSWTUTsqX
114
+ nLRbwHOoq7hHwg==
103
115
  -----END CERTIFICATE-----