Skip to content

Commit f3a71f7

Browse files
authored
Merge branch 'master' into unsupported-hello
2 parents 14fed96 + f9d8091 commit f3a71f7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+1226
-328
lines changed

.github/workflows/integration.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ jobs:
4949
- name: run tests
5050
run: |
5151
pip install -r dev_requirements.txt
52-
bash docker/stunnel/create_certs.sh
5352
tox -e ${{matrix.test-type}}-${{matrix.connection-type}}
5453
- name: Upload codecov coverage
5554
uses: codecov/codecov-action@v2

CHANGES

Lines changed: 152 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,155 @@
1-
# DEPRECATED
2-
3-
This file is historic. Starting with redis-py 4.0.0b1, please see the GitHub releases page at
4-
https://github.com/redis/redis-py/releases.
5-
6-
------------------------------------------------------------------------------------------------
7-
8-
* (in development)
1+
* 4.1.2 (Jan 27, 2022)
2+
* Invalid OCSP certificates should raise ConnectionError on failed validation (#1907)
3+
* Added retry mechanism on socket timeouts when connecting to the server (#1895)
4+
* LMOVE, BLMOVE return incorrect responses (#1906)
5+
* Fixing AttributeError in UnixDomainSocketConnection (#1903)
6+
* Fixing TypeError in GraphCommands.explain (#1901)
7+
* For tests, increasing wait time for the cluster (#1908)
8+
* Increased pubsub's wait_for_messages timeout to prevent flaky tests (#1893)
9+
* README code snippets formatted to highlight properly (#1888)
10+
* Fix link in the main page (#1897)
11+
* Documentation fixes: JSON Example, SSL Connection Examples, RTD version (#1887)
12+
* Direct link to readthedocs (#1885)
13+
* 4.1.1 (Jan 17, 2022)
14+
* Add retries to connections in Sentinel Pools (#1879)
15+
* OCSP Stapling Support (#1873)
16+
* Define incr/decr as aliases of incrby/decrby (#1874)
17+
* FT.CREATE - support MAXTEXTFIELDS, TEMPORARY, NOHL, NOFREQS, SKIPINITIALSCAN (#1847)
18+
* Timeseries docs fix (#1877)
19+
* get_connection: catch OSError too (#1832)
20+
* Set keys var otherwise variable not created (#1853)
21+
* Clusters should optionally require full slot coverage (#1845)
22+
* Triple quote docstrings in client.py PEP 257 (#1876)
23+
* syncing requirements (#1870)
24+
* Typo and typing in GraphCommands documentation (#1855)
25+
* Allowing poetry and redis-py to install together (#1854)
26+
* setup.py: Add project_urls for PyPI (#1867)
27+
* Support test with redis unstable docker (#1850)
28+
* Connection examples (#1835)
29+
* Documentation cleanup (#1841)
30+
* 4.1.0 (Dec 26, 2021)
31+
* OCSP stapling support (#1820)
32+
* Support for SELECT (#1825)
33+
* Support for specifying error types with retry (#1817)
34+
* Support for RESET command since Redis 6.2.0 (#1824)
35+
* Support CLIENT TRACKING (#1612)
36+
* Support WRITE in CLIENT PAUSE (#1549)
37+
* JSON set_file and set_path support (#1818)
38+
* Allow ssl_ca_path with rediss:// urls (#1814)
39+
* Support for password-encrypted SSL private keys (#1782)
40+
* Support SYNC and PSYNC (#1741)
41+
* Retry on error exception and timeout fixes (#1821)
42+
* Fixing read race condition during pubsub (#1737)
43+
* Fixing exception in listen (#1823)
44+
* Fixed MovedError, and stopped iterating through startup nodes when slots are fully covered (#1819)
45+
* Socket not closing after server disconnect (#1797)
46+
* Single sourcing the package version (#1791)
47+
* Ensure redis_connect_func is set on uds connection (#1794)
48+
* SRTALGO - Skip for redis versions greater than 7.0.0 (#1831)
49+
* Documentation updates (#1822)
50+
* Add CI action to install package from repository commit hash (#1781) (#1790)
51+
* Fix link in lmove docstring (#1793)
52+
* Disabling JSON.DEBUG tests (#1787)
53+
* Migrated targeted nodes to kwargs in Cluster Mode (#1762)
54+
* Added support for MONITOR in clusters (#1756)
55+
* Adding ROLE Command (#1610)
56+
* Integrate RedisBloom support (#1683)
57+
* Adding RedisGraph support (#1556)
58+
* Allow overriding connection class via keyword arguments (#1752)
59+
* Aggregation LOAD * support for RediSearch (#1735)
60+
* Adding cluster, bloom, and graph docs (#1779)
61+
* Add packaging to setup_requires, and use >= to play nice to setup.py (fixes #1625) (#1780)
62+
* Fixing the license link in the readme (#1778)
63+
* Removing distutils from tests (#1773)
64+
* Fix cluster ACL tests (#1774)
65+
* Improved RedisCluster's reinitialize_steps and documentation (#1765)
66+
* Added black and isort (#1734)
67+
* Link Documents for all module commands (#1711)
68+
* Pyupgrade + flynt + f-strings (#1759)
69+
* Remove unused aggregation subclasses in RediSearch (#1754)
70+
* Adding RedisCluster client to support Redis Cluster Mode (#1660)
71+
* Support RediSearch FT.PROFILE command (#1727)
72+
* Adding support for non-decodable commands (#1731)
73+
* COMMAND GETKEYS support (#1738)
74+
* RedisJSON 2.0.4 behaviour support (#1747)
75+
* Removing deprecating distutils (PEP 632) (#1730)
76+
* Updating PR template (#1745)
77+
* Removing duplication of Script class (#1751)
78+
* Splitting documentation for read the docs (#1743)
79+
* Improve code coverage for aggregation tests (#1713)
80+
* Fixing COMMAND GETKEYS tests (#1750)
81+
* GitHub release improvements (#1684)
82+
* 4.0.2 (Nov 22, 2021)
83+
* Restoring Sentinel commands to redis client (#1723)
84+
* Better removal of hiredis warning (#1726)
85+
* Adding links to redis documents in function calls (#1719)
86+
* 4.0.1 (Nov 17, 2021)
87+
* Removing command on initial connections (#1722)
88+
* Removing hiredis warning when not installed (#1721)
89+
* 4.0.0 (Nov 15, 2021)
90+
* FT.EXPLAINCLI intentionally raising NotImplementedError
91+
* Restoring ZRANGE desc for Redis < 6.2.0 (#1697)
92+
* Response parsing occasionally fails to parse floats (#1692)
93+
* Re-enabling read-the-docs (#1707)
94+
* Call HSET after FT.CREATE to avoid keyspace scan (#1706)
95+
* Unit tests fixes for compatibility (#1703)
96+
* Improve documentation about Locks (#1701)
97+
* Fixes to allow --redis-url to pass through all tests (#1700)
98+
* Fix unit tests running against Redis 4.0.0 (#1699)
99+
* Search alias test fix (#1695)
100+
* Adding RediSearch/RedisJSON tests (#1691)
101+
* Updating codecov rules (#1689)
102+
* Tests to validate custom JSON decoders (#1681)
103+
* Added breaking icon to release drafter (#1702)
104+
* Removing dependency on six (#1676)
105+
* Re-enable pipeline support for JSON and TimeSeries (#1674)
106+
* Export Sentinel, and SSL like other classes (#1671)
107+
* Restore zrange functionality for older versions of Redis (#1670)
108+
* Fixed garbage collection deadlock (#1578)
109+
* Tests to validate built python packages (#1678)
110+
* Sleep for flaky search test (#1680)
111+
* Test function renames, to match standards (#1679)
112+
* Docstring improvements for Redis class (#1675)
113+
* Fix georadius tests (#1672)
114+
* Improvements to JSON coverage (#1666)
115+
* Add python_requires setuptools check for python > 3.6 (#1656)
116+
* SMISMEMBER support (#1667)
117+
* Exposing the module version in loaded_modules (#1648)
118+
* RedisTimeSeries support (#1652)
119+
* Support for json multipath ($) (#1663)
120+
* Added boolean parsing to PEXPIRE and PEXPIREAT (#1665)
121+
* Add python_requires setuptools check for python > 3.6 (#1656)
122+
* Adding vulture for static analysis (#1655)
123+
* Starting to clean the docs (#1657)
124+
* Update README.md (#1654)
125+
* Adding description format for package (#1651)
126+
* Publish to pypi as releases are generated with the release drafter (#1647)
127+
* Restore actions to prs (#1653)
128+
* Fixing the package to include commands (#1649)
129+
* Re-enabling codecov as part of CI process (#1646)
130+
* Adding support for redisearch (#1640) Thanks @chayim
131+
* redisjson support (#1636) Thanks @chayim
132+
* Sentinel: Add SentinelManagedSSLConnection (#1419) Thanks @AbdealiJK
133+
* Enable floating parameters in SET (ex and px) (#1635) Thanks @AvitalFineRedis
134+
* Add warning when hiredis not installed. Recommend installation. (#1621) Thanks @adiamzn
135+
* Raising NotImplementedError for SCRIPT DEBUG and DEBUG SEGFAULT (#1624) Thanks @chayim
136+
* CLIENT REDIR command support (#1623) Thanks @chayim
137+
* REPLICAOF command implementation (#1622) Thanks @chayim
138+
* Add support to NX XX and CH to GEOADD (#1605) Thanks @AvitalFineRedis
139+
* Add support to ZRANGE and ZRANGESTORE parameters (#1603) Thanks @AvitalFineRedis
140+
* Pre 6.2 redis should default to None for script flush (#1641) Thanks @chayim
141+
* Add FULL option to XINFO SUMMARY (#1638) Thanks @agusdmb
142+
* Geosearch test should use any=True (#1594) Thanks @Andrew-Chen-Wang
143+
* Removing packaging dependency (#1626) Thanks @chayim
144+
* Fix client_kill_filter docs for skimpy (#1596) Thanks @Andrew-Chen-Wang
145+
* Normalize minid and maxlen docs (#1593) Thanks @Andrew-Chen-Wang
146+
* Update docs for multiple usernames for ACL DELUSER (#1595) Thanks @Andrew-Chen-Wang
147+
* Fix grammar of get param in set command (#1588) Thanks @Andrew-Chen-Wang
148+
* Fix docs for client_kill_filter (#1584) Thanks @Andrew-Chen-Wang
149+
* Convert README & CONTRIBUTING from rst to md (#1633) Thanks @davidylee
150+
* Test BYLEX param in zrangestore (#1634) Thanks @AvitalFineRedis
151+
* Tox integrations with invoke and docker (#1632) Thanks @chayim
152+
* Adding the release drafter to help simplify release notes (#1618). Thanks @chayim
9153
* BACKWARDS INCOMPATIBLE: Removed support for end of life Python 2.7. #1318
10154
* BACKWARDS INCOMPATIBLE: All values within Redis URLs are unquoted via
11155
urllib.parse.unquote. Prior versions of redis-py supported this by

dev_requirements.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ pytest==6.2.5
66
pytest-timeout==2.0.1
77
tox==3.24.4
88
tox-docker==3.1.0
9-
tox-run-before==0.1
109
invoke==1.6.0
1110
pytest-cov>=3.0.0
1211
vulture>=2.3.0

docker/base/Dockerfile.cluster4

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# produces redisfab/redis-py-cluster:4.0
2+
FROM redis:4.0-buster
3+
4+
COPY create_cluster4.sh /create_cluster4.sh
5+
RUN chmod +x /create_cluster4.sh
6+
7+
EXPOSE 16391 16392 16393 16394 16395 16396
8+
9+
CMD [ "/create_cluster4.sh"]

docker/base/Dockerfile.cluster5

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# produces redisfab/redis-py-cluster:5.0
2+
FROM redis:5.0-buster
3+
4+
COPY create_cluster5.sh /create_cluster5.sh
5+
RUN chmod +x /create_cluster5.sh
6+
7+
EXPOSE 16385 16386 16387 16388 16389 16390
8+
9+
CMD [ "/create_cluster5.sh"]

docker/base/Dockerfile.redis4

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# produces redisfab/redis-py:4.0
2+
FROM redis:4.0-buster
3+
4+
CMD ["redis-server", "/redis.conf"]

docker/base/Dockerfile.redis5

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# produces redisfab/redis-py:5.0
2+
FROM redis:5.0-buster
3+
4+
CMD ["redis-server", "/redis.conf"]

docker/base/Dockerfile.sentinel4

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# produces redisfab/redis-py-sentinel:4.0
2+
FROM redis:4.0-buster
3+
4+
CMD ["redis-sentinel", "/sentinel.conf"]

docker/base/Dockerfile.sentinel5

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# produces redisfab/redis-py-sentinel:5.0
2+
FROM redis:5.0-buster
3+
4+
CMD ["redis-sentinel", "/sentinel.conf"]

docker/base/create_cluster.sh

100644100755
File mode changed.

docker/base/create_cluster4.sh

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#! /bin/bash
2+
mkdir -p /nodes
3+
touch /nodes/nodemap
4+
for PORT in $(seq 16391 16396); do
5+
mkdir -p /nodes/$PORT
6+
if [[ -e /redis.conf ]]; then
7+
cp /redis.conf /nodes/$PORT/redis.conf
8+
else
9+
touch /nodes/$PORT/redis.conf
10+
fi
11+
cat << EOF >> /nodes/$PORT/redis.conf
12+
port ${PORT}
13+
cluster-enabled yes
14+
daemonize yes
15+
logfile /redis.log
16+
dir /nodes/$PORT
17+
EOF
18+
redis-server /nodes/$PORT/redis.conf
19+
if [ $? -ne 0 ]; then
20+
echo "Redis failed to start, exiting."
21+
exit 3
22+
fi
23+
echo 127.0.0.1:$PORT >> /nodes/nodemap
24+
done
25+
echo yes | redis-cli --cluster create $(seq -f 127.0.0.1:%g 16391 16396) --cluster-replicas 1
26+
tail -f /redis.log

docker/base/create_cluster5.sh

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#! /bin/bash
2+
mkdir -p /nodes
3+
touch /nodes/nodemap
4+
for PORT in $(seq 16385 16390); do
5+
mkdir -p /nodes/$PORT
6+
if [[ -e /redis.conf ]]; then
7+
cp /redis.conf /nodes/$PORT/redis.conf
8+
else
9+
touch /nodes/$PORT/redis.conf
10+
fi
11+
cat << EOF >> /nodes/$PORT/redis.conf
12+
port ${PORT}
13+
cluster-enabled yes
14+
daemonize yes
15+
logfile /redis.log
16+
dir /nodes/$PORT
17+
EOF
18+
redis-server /nodes/$PORT/redis.conf
19+
if [ $? -ne 0 ]; then
20+
echo "Redis failed to start, exiting."
21+
exit 3
22+
fi
23+
echo 127.0.0.1:$PORT >> /nodes/nodemap
24+
done
25+
echo yes | redis-cli --cluster create $(seq -f 127.0.0.1:%g 16385 16390) --cluster-replicas 1
26+
tail -f /redis.log

docker/redis4/master/redis.conf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
port 6381
2+
save ""
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
port 26385
2+
3+
sentinel monitor redis-py-test 127.0.0.1 6381 2
4+
sentinel down-after-milliseconds redis-py-test 5000
5+
sentinel failover-timeout redis-py-test 60000
6+
sentinel parallel-syncs redis-py-test 1
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
port 26386
2+
3+
sentinel monitor redis-py-test 127.0.0.1 6381 2
4+
sentinel down-after-milliseconds redis-py-test 5000
5+
sentinel failover-timeout redis-py-test 60000
6+
sentinel parallel-syncs redis-py-test 1
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
port 26387
2+
3+
sentinel monitor redis-py-test 127.0.0.1 6381 2
4+
sentinel down-after-milliseconds redis-py-test 5000
5+
sentinel failover-timeout redis-py-test 60000
6+
sentinel parallel-syncs redis-py-test 1

docker/redis5/master/redis.conf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
port 6382
2+
save ""

docker/redis5/replica/redis.conf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
port 6383
2+
save ""
3+
replicaof master 6382
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
port 26382
2+
3+
sentinel monitor redis-py-test 127.0.0.1 6382 2
4+
sentinel down-after-milliseconds redis-py-test 5000
5+
sentinel failover-timeout redis-py-test 60000
6+
sentinel parallel-syncs redis-py-test 1
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
port 26383
2+
3+
sentinel monitor redis-py-test 127.0.0.1 6382 2
4+
sentinel down-after-milliseconds redis-py-test 5000
5+
sentinel failover-timeout redis-py-test 60000
6+
sentinel parallel-syncs redis-py-test 1
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
port 26384
2+
3+
sentinel monitor redis-py-test 127.0.0.1 6383 2
4+
sentinel down-after-milliseconds redis-py-test 5000
5+
sentinel failover-timeout redis-py-test 60000
6+
sentinel parallel-syncs redis-py-test 1
File renamed without changes.
File renamed without changes.

docker/stunnel/README

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
This directory contains a helper script to create ssl certificates for ssl tests. If the certificates are out of date, re-run create_certs and check them in. These are snake oil certificates.

docker/stunnel/keys/ca-cert.pem

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIDaDCCAlACCQCui7X/vxmwGjANBgkqhkiG9w0BAQsFADB1MQswCQYDVQQGEwJD
3+
QTERMA8GA1UECAwIV2lubmlwZWcxETAPBgNVBAcMCE1hbml0b2JhMRIwEAYDVQQK
4+
DAlTb21lIENvcnAxFjAUBgNVBAsMDUlUIERlcGFydG1lbnQxFDASBgNVBAMMC2V4
5+
YW1wbGUuY29tMCAXDTIyMDExMjE0NTQyMVoYDzMwMjEwNTE1MTQ1NDIxWjB1MQsw
6+
CQYDVQQGEwJDQTERMA8GA1UECAwIV2lubmlwZWcxETAPBgNVBAcMCE1hbml0b2Jh
7+
MRIwEAYDVQQKDAlTb21lIENvcnAxFjAUBgNVBAsMDUlUIERlcGFydG1lbnQxFDAS
8+
BgNVBAMMC2V4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
9+
AQEAtSqof5fXyN/Y6GSLBBNA/zhrqw2qcBW4va6+Wc24WTaBXcP0w13njz+j1b5V
10+
9rbpz0i7WUkg3bBPecFFuCFyQnvn2JaE9b7kX1lLmszanrYfWQ9bYQyecox3HuYq
11+
eu330S+bD0liYh5rV7oEanuSCJW+a/dgEl3l/+Qb0zo2ZNEAXRuBv6lNmvBSsdIt
12+
lc5n/P06ntJ6Ia/7rO0ZEiBb6hLFKfiIo/XvDrGNlYulJEcDmC3PkzzJRGnA7R2F
13+
7Vggj4l4pGE/3EtnA4C/rd0Shf9TIPQFA2HOx3oYsrOonuBYM2urciNeojP5XGY/
14+
Zdau7hzgFBgF8tWsLU6bKyZ3NwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBJwnf3
15+
FARRxQF1Q2jIXQdyUS/lqq74C+PZF5IKOKb2K3dT1BFJlBgduvj4Ih5KUakImhMB
16+
SdaiwKzgB9APXNVAgrzSCb49PzXzvmaIFhPmBXSITFFfGupxpo0ZStwI03B0KZBs
17+
l3Zd0SzjKqZNVtTnxyDyWnYNFJtuCGanTjyPcCAFvVwzDQyzZ14liyM389WM950a
18+
ANM7H0iv6U/h7lWhnvBOlRfj89JChBvEROlWuYfyyELZpAXsmuwWdh0pwgGpqMI/
19+
EtLas2sbX5apE8P1S2Uxc+dS4IjoA/TrnP21rXwJ8AWzrntsZalSx9uueb1qhPp8
20+
EL7asG4+G3BpQrL1
21+
-----END CERTIFICATE-----

docker/stunnel/keys/ca-key.pem

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
-----BEGIN RSA PRIVATE KEY-----
2+
MIIEogIBAAKCAQEAtSqof5fXyN/Y6GSLBBNA/zhrqw2qcBW4va6+Wc24WTaBXcP0
3+
w13njz+j1b5V9rbpz0i7WUkg3bBPecFFuCFyQnvn2JaE9b7kX1lLmszanrYfWQ9b
4+
YQyecox3HuYqeu330S+bD0liYh5rV7oEanuSCJW+a/dgEl3l/+Qb0zo2ZNEAXRuB
5+
v6lNmvBSsdItlc5n/P06ntJ6Ia/7rO0ZEiBb6hLFKfiIo/XvDrGNlYulJEcDmC3P
6+
kzzJRGnA7R2F7Vggj4l4pGE/3EtnA4C/rd0Shf9TIPQFA2HOx3oYsrOonuBYM2ur
7+
ciNeojP5XGY/Zdau7hzgFBgF8tWsLU6bKyZ3NwIDAQABAoIBACq8mWsgAsNcKusH
8+
bNPVRuvt/1gmrSIrvZzhb/33TZmeBf58j2zW5h0gwiFV+SluFNHVMnzph1tEkDsE
9+
oNHC8hVE7XhmaY8fLPhhNDicQqZWCCcWPFQ0idwzzpX3beX55Q/vzwBYK2FCE8hq
10+
FUiZReXIjVci0AMFK5Cl2vqFLPezAGvaZ4/M1reOF3vCgWl8IXTwYOs4EYd1CJt7
11+
bMwO9Q6P8V0BVhJO2tdwIe5XL5X086sMMPYXqMuwX9m3vZFQFpsZobmoAyYLVY+h
12+
IMoQZdh4O4sFYPQBPzhZXluFDl8rX6G5A9jUPxDfeVz+799RXi31jTYeH01OwM89
13+
/0BNryECgYEA15hU0qDAnM7fBiTTGbRUT/QPOmEUOPcnWfLWOyJsovAVLL1X0jmt
14+
GFm+FkTtOlcTVgDHXeHNw81zrgDDuW7fwaKloPeyWhyO6rp2jntAz/OayfA5UYOf
15+
REhXdQH7rMAkGgy1t7zKGHTYAslHjD2dOikCuHH/13otSJS4wNvTaZUCgYEA1x6L
16+
abxYDpR7jn2Yym0CbIiZ6tqShtqLi4eNF7PDVe3rUM7gYU767UFSKPvRpsq+BFwf
17+
LLRFgpggNRDrZWoK0ZekHD1x8pCJF+O4pj/Fhra4uI+hInycRQ4xsj9VU/WftxQ4
18+
aOojB28F0fBO56T90caQVSR09DGNmElSQFcw4psCgYApf8n8DTNmO6/UV+xGi16b
19+
UUhJHXyuBm0NtF+mXFb6+impRf0Mm0uFX2jmknfzfeVb7aRyns9jvD1jJgSGwh/R
20+
/wPQuz0aeVrNNf0yKels3eBStKnj1eknVKF5BVuzgfyxAvdLmcxw7rTRvHrINOf5
21+
1QEQDemISZ1D1lTF0sqcDQKBgCmE6rGAuZouzF4nHZtMSOB7yQFMKGXAvpgylGfT
22+
uUrXfch99U6yuLmcFuh0GfXQQbaDtTyimpvnEqhLWLOdMPNdCj6tGVYQ0XT77cKg
23+
olYq5CIzDo2icWLep3bYxHZM/QOP8odFUXd41S287O3GqXqYkXjtbWlIOyT+WdKz
24+
QWsrAoGALnac4Vh2s12Cv3YiQbkPtBRe8oxI0h6DEIdBciPDGq6WXq6O2PXXuBhM
25+
X47mObUsSuzI6hI4/vd4/tXD7TM3fS1YDdZXj7d51ZjT/jmlTVxAHa3DJ8i7o+rH
26+
Fqv/lh6MB6FGkXZ9vAGQe5RwUbDD16QO/1mz7fg0YBA9A8plM8s=
27+
-----END RSA PRIVATE KEY-----

0 commit comments

Comments
 (0)