Adding Chapter 1 : Packer will build for you

This commit is contained in:
2021-03-18 16:11:35 +01:00
commit 02e13dfb00
97 changed files with 4630 additions and 0 deletions

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<creole>
<files>
</files>
<variables>
<family name='Interface-0'>
<variable name='eth0_method' redefine='True' hidden='False' />
</family>
<separators/>
</variables>
<constraints>
<check name="valid_enum" target="eth0_method">
<param>['statique','dhcp']</param>
</check>
</constraints>
<help/>
</creole>
<!-- vim: ts=4 sw=4 expandtab
-->

View File

@ -0,0 +1,11 @@
#!/bin/sh
set -xe
installPython()
{
apk add --no-cache python3
ln -sf python3 /usr/bin/python
}
installPython

View File

@ -0,0 +1,29 @@
#!/bin/sh
set -xe
source /root/provisioning/common.sh
removePkg()
{
apk del --no-cache $1
return $?
}
cleanProv()
{
rm -rf /root/provisioning
return $?
}
for pkg in ${PKG_TO_REMOVE}
do
removePkg ${pkg}
if [ $? -ne 0 ]
then
echo "Warning : removing package ${pkg} failed with code $?"
fi
done
cleanProv
exit $?

View File

@ -0,0 +1,53 @@
#!/usr/bin/env sh
set -xeo pipefail
# Install one-context
wget https://github.com/OpenNebula/addon-context-linux/releases/download/v5.8.0/one-context-5.8.0-r1.apk
apk add --allow-untrusted --no-cache one-context-5.8.0-r1.apk
apk add --no-cache e2fsprogs-extra
apk add --no-cache haveged
# Enable VM contextualization
rc-update add one-context default
rc-update add haveged boot
rc-status
# Add DNS hook in one-context
mkdir -p /usr/local/share/one-context/scripts
cat > /usr/local/share/one-context/scripts/dns-nebula <<'EOF'
#!/bin/sh
. /usr/share/one-context/scripts/utils.sh
dns_servers="$(getval ETH0_DNS)"
echo > /etc/resolv.conf
for nameserver_address in $dns_servers; do
echo "nameserver $nameserver_address" >> /etc/resolv.conf
done
EOF
chmod +x /usr/local/share/one-context/scripts/dns-nebula
ln -s /usr/local/share/one-context/scripts/dns-nebula /etc/one-context.d/01-dns-nebula
# Reset network interfaces
cat > /etc/network/interfaces <<EOF
auto lo
iface lo inet loopback
# BEGIN generated by /usr/share/one-context/scripts/network
# Do not modify this block, any modifications will be lost after reboot!
auto eth0
iface eth0 inet dhcp
# END generated
EOF
# Disable resolv.conf overwriting
mkdir -p /etc/udhcpc
echo 'RESOLV_CONF=NO' >> /etc/udhcpc/udhcpc.conf
# Clean up
rm -rf /root/*.apk
sync

View File

@ -0,0 +1,8 @@
#!/bin/sh
set -x
# Zeroize
dd if=/dev/zero of=/myZeroFile
rm -rf /myZeroFile
sync

View File

@ -0,0 +1,77 @@
#!/usr/bin/env sh
set -xeo pipefail
setup-ntp -c chrony
setup-apkrepos http://dl-cdn.alpinelinux.org/alpine/v3.10/main/ http://dl-cdn.alpinelinux.org/alpine/v3.10/community/
apk add --no-cache wget
apk add --no-cache expect #util-linux coreutils
apk add --no-cache haveged
apk add --no-cache ca-certificates
rc-update add haveged boot
service haveged start
update-ca-certificates
export DISKOPTS="-L"
expect <<EOF
set timeout 300
spawn setup-alpine
expect "Select keyboard layout**"
send "fr\r"
expect "Select variant**"
send "fr-azerty\r"
expect "Enter system hostname**"
send "${VM_NAME}\r"
expect "Which one do you want to initialize**"
send "eth0\r"
expect "Ip address for eth0**"
send "dhcp\r"
expect "Do you want to do any manual network configuration**"
send "no\r"
expect "New password:"
send "${ROOT_PASSWORD}\r"
expect "Retype password:"
send "${ROOT_PASSWORD}\r"
expect "Which timezone are you in**"
send "Europe/Paris\r"
expect "HTTP/FTP proxy URL**"
send "none\r"
expect "Enter mirror number**"
send "done\r"
expect "Which SSH server**"
send "openssh\r"
expect "Which disk*s* would you like to use**"
send "vda\r"
expect "How would you like to use it**"
send "sys\r"
expect "WARNING: Erase the above disk*s* and continue**"
send "y\r"
expect eof
EOF
# Remove expect package
apk del --no-cache expect
sync
reboot

View File

@ -0,0 +1 @@
06eab9a4d3ce28ce31d413b78b6ff94285e432179b6a6cba711e6c6653667567 alpine-virt-3.10.2-x86_64.iso

View File

@ -0,0 +1 @@
fe694a34c0e2d30b9e5dea7e2c1a3892c1f14cb474b69cc5c557a52970071da5 alpine-virt-3.12.0-x86_64.iso

View File

@ -0,0 +1,54 @@
#!/bin/sh
set -xe
source /root/provisioning/common.sh
installRsyslogRelp()
{
apk add --no-cache rsyslog-relp
}
installNodeExporter()
{
local node_exporter_version="0.18.1"
local node_exporter_archive="node_exporter-${node_exporter_version}.linux-amd64.tar.gz"
local node_exporter_url="https://github.com/prometheus/node_exporter/releases/download/v${node_exporter_version}/${node_exporter_archive}"
local node_exporter_sum="b2503fd932f85f4e5baf161268854bf5d22001869b84f00fd2d1f57b51b72424"
cd /tmp
downloadArchive ${node_exporter_url} ${node_exporter_sum} ${node_exporter_archive} sha256sum
extractArchiveXZ ${node_exporter_archive} /srv/node_exporter
cd -
}
confSyslog()
{
SYSLOG_CONF_DIR="/etc/rsyslog.d/"
SYSLOG_CONF_FILE="${SYSLOG_CONF_DIR}/aggregation.conf"
QUEUE_DIR="/var/log/rsyslog/queues"
if [ ! -d ${SYSLOG_CONF_DIR} ]
then
mkdir ${SYSLOG_CONF_DIR}
fi
if [ ! -d ${QUEUE_DIR} ]
then
mkdir -p ${QUEUE_DIR}
fi
echo "\$WorkDirectory ${QUEUE_DIR}" >> ${SYSLOG_CONF_FILE}
echo "\$ActionQueueType LinkedList" >> ${SYSLOG_CONF_FILE}
echo "\$ActionQueueFileName send_all" >> ${SYSLOG_CONF_FILE}
echo "\$ActionQueueSaveOnShutdown on" >> ${SYSLOG_CONF_FILE}
echo "" >> ${SYSLOG_CONF_FILE}
echo "*.* :omrelp:${SYSLOG_SERVER}:${SYSLOG_PORT}" >> ${SYSLOG_CONF_FILE}
}
cat /etc/resolv.conf
#Not needed for ber
#installRsyslogRelp
#installNodeExporter
#confSyslog

View File

@ -0,0 +1,51 @@
#!/bin/sh
#
# downloadArchive
# ${1} : The download url
# ${2} : the checksum
# ${3} : the filename of download target
# ${4} : the checksum command to use (default sha256sum)
#
downloadArchive(){
url=${1}
sum=${2}
archive=${3}
if [ -n ${4} ]
then
checkCmd=${4}
else
checkCmd="sha256sum"
fi
wget -q ${url}
set +e
echo "${sum} ${archive}" | ${checkCmd} -cs
if [ ${?} ]
then
set -e
return 0
else
set -e
return 2
fi
}
extractArchiveXZ(){
source=${1}
destination=${2}
cmd="tar xzvf"
if [ ! -d ${destination} ]
then
mkdir -p ${destination}
fi
${cmd} ${source} -C ${destination}
return ${?}
}
cleanUpImage(){
rm -rf /var/cache/apk/*
rm -rf /tmp/*
rm -rf /root/.ssh
}

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<creole>
<files>
</files>
<containers>
</containers>
<variables>
<family name='Interface-0'>
<variable name='eth0_method' redefine='True' hidden='False'>
<value>statique</value>
</variable>
</family>
</variables>
<constraints>
</constraints>
<help>
</help>
</creole>

View File

@ -0,0 +1,77 @@
%set bonds = []
%set vlans = []
network:
version: 2
renderer: networkd
ethernets:
%for %%interface in range(0, %%int(%%nombre_interfaces)):
%set current_interface = 'eth' + str(%%interface)
%set interface_mode = %%getVar(%%current_interface + '_method')
%if %%getVar('activer_bonding_' + %%current_interface, "non") == 'non'
%%getVar('nom_zone_'+ %%current_interface):
%if %%interface_mode == 'statique' and %%getVar("adresse_ip_" + %%current_interface):
addresses:
- %%getVar("adresse_ip_" + %%current_interface)/%%calc_classe(%%getVar('adresse_netmask_' + %%current_interface))
%if %%getVar('alias_' + %%current_interface, "non") == "oui"
%for alias in %%getVar('alias_ip_' + %%current_interface)
- %%alias/%%calc_classe(getattr(alias, 'alias_netmask_' + %%current_interface))
%end for
%end if
%if %%interface_gw == %%getVar('nom_zone_' + %%current_interface):
gateway4: %%adresse_ip_gw
%end if
%if %%getVar('activer_ipv6') == "non"
dhcp6: no
accept-ra: no
optional-addresses: [ dhcp6 ]
%end if
%elif %%interface_mode == 'dhcp'
dhcp4: yes
%else
dhcp4: no
%end if
%else
%%bonds.append(%%current_interface)
%for %%slave in %%getVar('nom_carte_' + %%current_interface):
%%slave:
optional: false
%end for
%end if
%if %%getVar('vlan_' + %%current_interface, 'non') == 'oui'
%%vlans.append(%%current_interface)
%end if
%end for
%if len(%%bonds) > 0:
bonds:
%for bond in %%bonds:
%set %%bond_mode = %%getVar(%%bond + '_method')
%%getVar('nom_zone_' + %%bond):
interfaces: [%%custom_join(%%getVar('nom_carte_' + %%bond),',')]
%if %%bond_mode == 'statique'
addresses: [ %%getVar("adresse_ip_" + %%bond)/%%calc_classe(%%getVar('adresse_netmask_' + %%bond))]
%elif %%bond_mode == 'dhcp'
dhcp4: yes
%else
dhcp4: no
%end if
parameters:
mode: %%getVar('bonding_mode_' + %%bond)
mii-monitor-interval: %%getVar('bonding_miimon_' + %%bond)
up-delay: %%getVar('bonding_updelay_' + %%bond)
down-delay: %%getVar('bonding_downdelay_' + %%bond)
%end for
%end if
%if len(vlans) > 0:
vlans:
%for vlan in %%vlans:
%for vlan_id in %%getVar('vlan_id_' + %%vlan):
vlan%%vlan_id:
id: %%vlan_id
link: %%getVar('nom_zone_' + %%vlan)
addresses: [ %%getattr(vlan_id, 'vlan_ip_' + %%vlan)/%%calc_classe(%%getattr(vlan_id, 'vlan_netmask_' + %%vlan)) ]
%end for
%end for
%end if

View File

@ -0,0 +1,11 @@
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: yes
dhcp6: no
accept-ra: no
optional-addresses: [ dhcp6 ]

View File

@ -0,0 +1,35 @@
#!/usr/bin/env bash
source /etc/one-context.d/loc-10-network
function CreoleForce {
name=$1
value=$2
jq -a ".$name = {\"owner\": \"creole_force\", \"val\": $value}" /etc/eole/config.eol > /etc/eole/config.eol.force
[ $? == 0 ] && mv -f /etc/eole/config.eol.force /etc/eole/config.eol
rm -f /etc/eole/config.eol.force
}
rm -f /etc/eole/config.eol.bak
cp -f /etc/eole/config.eol /etc/eole/config.eol.bak
CONTEXT_INTERFACES=$(get_context_interfaces)
for interface in $CONTEXT_INTERFACES; do
IFACE_NUM=$(echo "$UPCASE_DEV" | sed 's/^ETH//')
IP=$(get_ip)
NETWORK=$(get_network)
MASK=$(get_mask)
GATEWAY=$(get_gateway)
DNS=$(get_iface_var "DNS")
CreoleForce "eth${IFACE_NUM}_method" '"statique"'
[ "$GATEWAY" != "None" ] && CreoleForce "adresse_ip_gw" "\"$GATEWAY\""
[ "$GATEWAY" != "None" ] && CreoleForce "adresse_broadcast_eth$IFACE_NUM" "\"$GATEWAY\""
[ "$MASK" != "None" ] && CreoleForce "adresse_netmask_eth$IFACE_NUM" "\"$MASK\""
[ "$NETWORK" != "None" ] && CreoleForce "adresse_network_eth$IFACE_NUM" "\"$NETWORK\""
[ "$IP" != "None" ] && CreoleForce "adresse_ip_eth$IFACE_NUM" "\"$IP\""
[ "$DNS" != "None" ] && CreoleForce "adresse_ip_dns" "[\"$DNS\"]"
done

View File

@ -0,0 +1,20 @@
---
- name: Preparation des serveurs d'applications web
hosts: all
environment:
http_proxy: "{{ lookup('env','http_proxy') }}"
https_proxy: "{{ lookup('env','https_proxy') }}"
HTTPS_PROXY: "{{ lookup('env','HTTPS_PROXY') }}"
HTTP_PROXY: "{{ lookup('env','HTTP_PROXY') }}"
tasks:
- name: Update package cache
apt:
update_cache: yes
- name: Install eole-web
apt:
name: eole-web
state: present

View File

@ -0,0 +1,37 @@
---
- name: Configure Seth Server
hosts: all
environment:
http_proxy: "{{ lookup('env','http_proxy') }}"
https_proxy: "{{ lookup('env','https_proxy') }}"
HTTPS_PROXY: "{{ lookup('env','HTTPS_PROXY') }}"
HTTP_PROXY: "{{ lookup('env','HTTP_PROXY') }}"
tasks:
- name: Update package cache
apt:
update_cache: yes
- apt:
name: make
- apt:
name: git
- apt:
name: python-ldap
- git:
repo: 'https://forge.cadoles.com/afornerot/cadolesldap.git'
dest: /tmp/cadolesldap
- name: Run 'install' for cadolesldap
make:
chdir: /tmp/cadolesldap
target: install
- name: Cleanup
apt:
name: make
state: absent

View File

@ -0,0 +1,13 @@
---
- name: Configure DNS Serverless
hosts: all
environment:
http_proxy: "{{ lookup('env','http_proxy') }}"
https_proxy: "{{ lookup('env','https_proxy') }}"
HTTPS_PROXY: "{{ lookup('env','HTTPS_PROXY') }}"
HTTP_PROXY: "{{ lookup('env','HTTP_PROXY') }}"
tasks:
- apk:
name: nsd, unbound

View File

@ -0,0 +1,29 @@
---
- name: Preparation des serveurs d'applications web
hosts: all
environment:
http_proxy: "{{ lookup('env','http_proxy') }}"
https_proxy: "{{ lookup('env','https_proxy') }}"
HTTPS_PROXY: "{{ lookup('env','HTTPS_PROXY') }}"
HTTP_PROXY: "{{ lookup('env','HTTP_PROXY') }}"
tasks:
- name: Setting EOLE Dev apt repository
expect:
command: Query-Auto -D
responses:
'\[non\]':
- "oui"
echo: yes
timeout: 900
- name: Installing dokuwiki
apt:
name:
- eole-dokuwiki
- dokuwiki-apps
state: present
- name: Back to normal EOLE apt repository
command: Query-Auto

View File

@ -0,0 +1,51 @@
---
- name: Installation Dolibarr Server
hosts: all
environment:
http_proxy: "{{ lookup('env','http_proxy') }}"
https_proxy: "{{ lookup('env','https_proxy') }}"
HTTPS_PROXY: "{{ lookup('env','HTTPS_PROXY') }}"
HTTP_PROXY: "{{ lookup('env','HTTP_PROXY') }}"
tasks:
- name: Update package cache
apt:
update_cache: yes
- name: Install mariadb
apt:
name:
- mariadb-server
- python-mysqldb
- apache2
- php
- php-mysql
- openssl
- php-ldap
- php-mcrypt
- php-intl
- php-zip
state: present
- name: Create a new database with name 'dolibarr'
mysql_db:
name: dolibarr
state: present
- name: Create mysql user
mysql_user:
name: dolibarr
password: '36f3igH9f5TPooZIBY99oA=='
priv: 'dolibarr.*:ALL,GRANT'
state: present
- name: Download Dolibarr
get_url:
url: https://sourceforge.net/projects/dolibarr/files/Dolibarr%20installer%20for%20Debian-Ubuntu%20%28DoliDeb%29/10.0.1/dolibarr_10.0.1-4_all.deb
dest: /tmp/dolibarr_10.0.1.deb
checksum: sha1:74a9bb2ac282715f80ad454cb04ad51ef60de264
- name: Install dolibarr
apt:
deb: /tmp/dolibarr_10.0.1.deb

View File

@ -0,0 +1,26 @@
---
- name: Transform Ubuntu into an EOLE Server
hosts: all
tasks:
- name: Update cache
apt:
update_cache: yes
environment:
HTTP_PROXY: "{{ http_proxy }}"
HTTPS_PROXY: "{{ https_proxy }}"
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ https_proxy }}"
- name: Install amon module package
apt:
name: eole-amon-all
environment:
HTTP_PROXY: "{{ http_proxy }}"
HTTPS_PROXY: "{{ https_proxy }}"
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ https_proxy }}"
- name: Change hostname
hostname:
name: amon272

View File

@ -0,0 +1,75 @@
---
- name: Transform Ubuntu into an EOLE Server
hosts: all
tasks:
- name: Stop and disable unattended-upgrades service
service:
name: unattended-upgrades
state: stopped
enabled: no
- name: Stop apt-daily service
service:
name: apt-daily
state: stopped
enabled: no
- name: Stop apt-daily.timer service
service:
name: apt-daily.timer
state: stopped
enabled: no
- name: Stop apt-daily-upgrade service
service:
name: apt-daily-upgrade
state: stopped
enabled: no
- pause:
seconds: 30
- name: Install a EOLE Keyring from the internet.
apt:
deb: http://eole.ac-dijon.fr/eole/pool/main/e/eole-keyring/eole-archive-keyring_2020.05.12-1_all.deb
retries: 5
delay: 5
environment:
HTTP_PROXY: "{{ http_proxy }}"
HTTPS_PROXY: "{{ https_proxy }}"
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ https_proxy }}"
- name: Adding EOLE main repository
apt_repository:
repo: deb [arch=amd64] http://eole.ac-dijon.fr/eole eole-2.7.2 main cloud
state: present
- name: Adding EOLE security repository
apt_repository:
repo: deb [arch=amd64] http://eole.ac-dijon.fr/eole eole-2.7.2-security main cloud
state: present
- name: Adding EOLE updates repository
apt_repository:
repo: deb [arch=amd64] http://eole.ac-dijon.fr/eole eole-2.7.2-updates main cloud
state: present
- name: Update cache
apt:
update_cache: yes
environment:
HTTP_PROXY: "{{ http_proxy }}"
HTTPS_PROXY: "{{ https_proxy }}"
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ https_proxy }}"
- name: Install eole-server and eole-exim-pkg
apt:
name: eole-server,eole-exim-pkg
environment:
HTTP_PROXY: "{{ http_proxy }}"
HTTPS_PROXY: "{{ https_proxy }}"
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ https_proxy }}"

View File

@ -0,0 +1,36 @@
---
- name: Transform Ubuntu into an EOLE Server
hosts: all
tasks:
- name: Add an Apt signing key, for Cadoles
apt_key:
url: https://vulcain.cadoles.com/cadoles.gpg
state: present
- name: Adding Cadoles devel repository
apt_repository:
repo: deb https://vulcain.cadoles.com 2.7.2-stable main
state: present
- name: Update cache
apt:
update_cache: yes
environment:
HTTP_PROXY: "{{ http_proxy }}"
HTTPS_PROXY: "{{ https_proxy }}"
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ https_proxy }}"
- name: Install lemonldap package
apt:
name: eole-lemonldap
environment:
HTTP_PROXY: "{{ http_proxy }}"
HTTPS_PROXY: "{{ https_proxy }}"
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ https_proxy }}"
- name: Change hostname
hostname:
name: lemonldap272

View File

@ -0,0 +1,36 @@
---
- name: Transform Ubuntu into an EOLE Server
hosts: all
tasks:
- name: Add an Apt signing key, for Cadoles
apt_key:
url: https://vulcain.cadoles.com/cadoles.gpg
state: present
- name: Adding Cadoles devel repository
apt_repository:
repo: deb https://vulcain.cadoles.com 2.7.2-dev main
state: present
- name: Update cache
apt:
update_cache: yes
environment:
HTTP_PROXY: "{{ http_proxy }}"
HTTPS_PROXY: "{{ https_proxy }}"
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ https_proxy }}"
- name: Install minio package
apt:
name: eole-minio
environment:
HTTP_PROXY: "{{ http_proxy }}"
HTTPS_PROXY: "{{ https_proxy }}"
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ https_proxy }}"
- name: Change hostname
hostname:
name: minio272

View File

@ -0,0 +1,109 @@
---
- name: Prepare data disk
hosts: all
environment:
http_proxy: "{{ lookup('env','http_proxy') }}"
https_proxy: "{{ lookup('env','https_proxy') }}"
HTTPS_PROXY: "{{ lookup('env','HTTPS_PROXY') }}"
HTTP_PROXY: "{{ lookup('env','HTTP_PROXY') }}"
vars:
fsconf:
vgn: "{{ lookup('env', 'vgname') }}"
lvs: "{{ lookup('env', 'lvnames').split(' ') }}"
szs: "{{ lookup('env', 'lvsizes').split(' ') }}"
fss: "{{ lookup('env', 'lvfssys').split(' ') }}"
mps: "{{ lookup('env', 'lvmntps').split(' ') }}"
tasks:
- name: GrowPart
command: "growpart /dev/vda 4"
environment:
LC_ALL: C
- name: Resize main vg
lvg:
vg: "{{ fsconf.vgn }}"
pvs: /dev/vda4
pvresize: yes
- name: Create logical volumes.
lvol:
vg: "{{ fsconf.vgn }}"
lv: "{{ item }}"
size: "{{ fsconf.szs[idx] }}"
active: yes
force: no
state: present
loop: "{{ fsconf.lvs }}"
loop_control:
index_var: idx
- name: Create filesystems
filesystem:
fstype: "{{ fsconf.fss[idx] }}"
dev: "/dev/{{ fsconf.vgn }}/{{ item }}"
loop: "{{ fsconf.lvs }}"
loop_control:
index_var: idx
- name: Find what to backup
stat:
path: "{{ item }}"
with_items: "{{ fsconf.mps }}"
register: mountPoints
- name: Create mount points
file:
path: "{{ fsconf.mps[idx] }}"
state: directory
mode: '0755'
loop: "{{ fsconf.lvs }}"
loop_control:
index_var: idx
- name: Create temporary mount points
file:
path: "/tmp{{ fsconf.mps[idx] }}"
state: directory
mode: '0755'
loop: "{{ fsconf.lvs }}"
loop_control:
index_var: idx
- name: Mount fs in temporary mount points
command: mount /dev/{{ fsconf.vgn }}/"{{ item }}" "/tmp{{ fsconf.mps[idx] }}"
loop: "{{ fsconf.lvs }}"
loop_control:
index_var: idx
- name: Configure filesystems create entry in fstab
mount:
path: "{{ fsconf.mps[idx] }}"
src: /dev/{{ fsconf.vgn }}/{{ item }}
state: present
fstype: "{{ fsconf.fss[idx] }}"
loop: "{{ fsconf.lvs }}"
loop_control:
index_var: idx
- name: Fill new mount points if exists
become: true
delegate_to: "{{ inventory_hostname }}"
synchronize:
mode: push
src: "{{ item.item }}/"
dest: "/tmp{{ item.item }}/"
times: yes
perms: yes
owner: yes
group: yes
links: yes
recursive: yes
with_items: "{{ mountPoints.results }}"
when: item.stat.exists

View File

@ -0,0 +1,81 @@
---
- name: Provision Cadoles Server
hosts: all
tasks:
- name : Install One Context tool !
apt:
deb: https://github.com/OpenNebula/addon-context-linux/releases/download/v5.8.0/one-context_5.8.0-1.deb
environment:
HTTP_PROXY: "{{ http_proxy }}"
HTTPS_PROXY: "{{ https_proxy }}"
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ https_proxy }}"
- name : Install JQ
apt:
name: jq
environment:
HTTP_PROXY: "{{ http_proxy }}"
HTTPS_PROXY: "{{ https_proxy }}"
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ https_proxy }}"
- name : Add cadoles context script
command: mv /root/net-99-eole /etc/one-context.d/net-99-eole
- name: Make cadoles context script executable
file:
path: /etc/one-context.d/net-99-eole
mode: '+x'
- name: Copy sshd_template to modif directory
command: cp /usr/share/eole/creole/distrib/sshd_config /usr/share/eole/creole/modif/sshd_config
- name: Allow TCP Forwarding to ease GenConfig usage
lineinfile:
path: /usr/share/eole/creole/modif/sshd_config
regexp: '^AllowTcpForwarding'
line: 'AllowTcpForwarding yes'
- name: Gen_Patch
command: gen_patch
- name: Update Hostname
command: hostnamectl set-hostname eolebase272
- name: Cleanup
apt:
autoclean: yes
autoremove: yes
- name: Disable gpm
systemd:
name: gpm
enabled: no
masked: yes
- name: Disable NUT Driver
systemd:
name: nut-driver
enabled: no
masked: yes
- name: Disable NUT Monitor
systemd:
name: nut-monitor
enabled: no
masked: yes
- name: FSTRIM
command: fstrim -av
- name: Zero out the disk
command: dd if=/dev/zero of=/mytempfile
ignore_errors: yes
- name: Cleaup zero file
command: rm -rf /mytempfile
- name: Sync disk
command: sync

View File

@ -0,0 +1,26 @@
---
- name: Transform Ubuntu into an EOLE Server
hosts: all
tasks:
- name: Update cache
apt:
update_cache: yes
environment:
HTTP_PROXY: "{{ http_proxy }}"
HTTPS_PROXY: "{{ https_proxy }}"
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ https_proxy }}"
- name: Install seth module package
apt:
name: eole-seth-all
environment:
HTTP_PROXY: "{{ http_proxy }}"
HTTPS_PROXY: "{{ https_proxy }}"
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ https_proxy }}"
- name: Change hostname
hostname:
name: seth272

View File

@ -0,0 +1,41 @@
---
- name: Transform Ubuntu into an EOLE Server
hosts: all
tasks:
- name: Add an Apt signing key, for Cadoles
apt_key:
url: https://vulcain.cadoles.com/cadoles.gpg
state: present
- name: Adding Cadoles devel repository
apt_repository:
repo: deb https://vulcain.cadoles.com 2.7.2-stable main
state: present
- name: Adding Cadoles Tenjin repository
apt_repository:
repo: deb https://vulcain.cadoles.com tenjin-2.7.2-stable main
state: present
- name: Update cache
apt:
update_cache: yes
environment:
HTTP_PROXY: "{{ http_proxy }}"
HTTPS_PROXY: "{{ https_proxy }}"
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ https_proxy }}"
- name: Install Tenjin AD package
apt:
name: eole-seth-education
environment:
HTTP_PROXY: "{{ http_proxy }}"
HTTPS_PROXY: "{{ https_proxy }}"
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ https_proxy }}"
- name: Change hostname
hostname:
name: tenjin272

View File

@ -0,0 +1,26 @@
---
- name: Transform Ubuntu into an EOLE Server
hosts: all
tasks:
- name: Update cache
apt:
update_cache: yes
environment:
HTTP_PROXY: "{{ http_proxy }}"
HTTPS_PROXY: "{{ https_proxy }}"
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ https_proxy }}"
- name: Install Zephir module package
apt:
name: eole-zephir-all
environment:
HTTP_PROXY: "{{ http_proxy }}"
HTTPS_PROXY: "{{ https_proxy }}"
http_proxy: "{{ http_proxy }}"
https_proxy: "{{ https_proxy }}"
- name: Change hostname
hostname:
name: zephir272

View File

@ -0,0 +1,67 @@
---
- name: Récupère la configuration depuis le Zéphir
hosts: all
environment:
http_proxy: "{{ lookup('env','http_proxy') }}"
https_proxy: "{{ lookup('env','https_proxy') }}"
HTTPS_PROXY: "{{ lookup('env','HTTPS_PROXY') }}"
HTTP_PROXY: "{{ lookup('env','HTTP_PROXY') }}"
vars:
- zephir_server: "{{ lookup('env', 'zephir_server') }}"
- zephir_login: "{{ lookup('env', 'zephir_login') }}"
- zephir_password: "{{ lookup('env','zephir_password') }}"
- code_rne: "{{ lookup('env','code_rne') }}"
- zephir_id: "{{ lookup('env', 'zephir_id') }}"
tasks:
- name: Installation de pexpect
package:
name: python-pexpect
state: present
- name: Update CA-Certificats
command: update-ca-certificates
- name: Enregistrement Zéphir
expect:
command: /usr/bin/enregistrement_zephir
responses:
"(.*)Voulez-vous établir une configuration réseau minimale(.*)": "N"
"(.*)Entrez l'adresse(.*)": "{{zephir_server}}"
"(.*)Entrez votre login pour l'application Zéphir(.*)": "{{ zephir_login }}"
"(.*)Mot de passe pour l'application Zéphir pour(.*)": "{{ zephir_password }}"
"(.*)créer le serveur dans la base du serveur Zéphir(.*)": "N"
"(.*)rien pour saisir directement un n° de serveur(.*)": "{{ code_rne }}"
"(.*)entrez le n° identifiant le serveur l'application Zéphir(.*)": "{{ zephir_id }}"
"(.*)matériel(.*)": ""
"(.*)processeur(.*)": ""
"(.*)disque dur(.*)": ""
"(.*)continuer(.*)": "O"
"(.*)Entrez le numéro de votre choix(.*)": "2"
echo: yes
timeout: 480
- pause:
minutes: 1
prompt: "Pause d'une minute pour finaliser l'enregistrement Zéphir"
- name: Cleaning EOLE main repository (avoid duplicate entry)
apt_repository:
repo: deb [arch=amd64] http://eole.ac-dijon.fr/eole eole-2.7.2 main cloud
state: absent
- name: Cleaning EOLE security repository (avoid duplicate entry)
apt_repository:
repo: deb [arch=amd64] http://eole.ac-dijon.fr/eole eole-2.7.2-security main cloud
state: absent
- name: Cleaning EOLE updates repository (avoid duplicate entry)
apt_repository:
repo: deb [arch=amd64] http://eole.ac-dijon.fr/eole eole-2.7.2-updates main cloud
state: absent
- name: Cleaning EOLE repository (create clean entry)
command: Query-Auto

View File

@ -0,0 +1,33 @@
---
- name: Configure Pi-Hole Server
hosts: all
environment:
http_proxy: "{{ lookup('env','http_proxy') }}"
https_proxy: "{{ lookup('env','https_proxy') }}"
HTTPS_PROXY: "{{ lookup('env','HTTPS_PROXY') }}"
HTTP_PROXY: "{{ lookup('env','HTTP_PROXY') }}"
tasks:
- name: Update package cache
apt:
update_cache: yes
- apt:
name: curl
- apt:
name: git
- git:
repo: 'https://github.com/pi-hole/pi-hole.git'
dest: /tmp/Pi-hole
depth: 1
- name: Run 'install' for Pi-Hole
shell: bash "/tmp/Pi-hole/automated install/basic-install.sh" --unattended
- name: Cleanup
apt:
name: make, curl, git
state: absent

View File

@ -0,0 +1,17 @@
---
- name: Configure SSO Server
hosts: all
environment:
http_proxy: "{{ lookup('env','http_proxy') }}"
https_proxy: "{{ lookup('env','https_proxy') }}"
HTTPS_PROXY: "{{ lookup('env','HTTPS_PROXY') }}"
HTTP_PROXY: "{{ lookup('env','HTTP_PROXY') }}"
tasks:
- name: Maj-Auto
command: Maj-Auto
- apt:
name: eole-lemonldap
state: present

View File

@ -0,0 +1,39 @@
---
- name: Instance EOLE image
hosts: all
environment:
http_proxy: "{{ lookup('env','http_proxy') }}"
https_proxy: "{{ lookup('env','https_proxy') }}"
HTTPS_PROXY: "{{ lookup('env','HTTPS_PROXY') }}"
HTTP_PROXY: "{{ lookup('env','HTTP_PROXY') }}"
tasks:
- name: Installation de pexpect
package:
name: python-pexpect
state: present
- name: Instancier le module EOLE
expect:
command: /usr/bin/instance
# Attention, les mots de passe sont en clairs dans le playbook !
# Il serait préférable d'utiliser le mécanisme ansible_vault ici
responses:
"Nouveau mot de passe:":
- "NotSoSecret;21"
- "NotSoSecret;21"
"Confirmation du mot de passe:":
- "NotSoSecret;21"
- "NotSoSecret;21"
'\[non\]':
- non
'\[oui\]':
- non
'(.*)Un red(.)marrage(.*)\[oui\]':
- non
echo: yes
timeout: 900
- name: Désactivation du Maj-Auto
command: /usr/share/eole/sbin/manage_schedule -d majauto

View File

@ -0,0 +1,68 @@
---
- name: Installation Jorani
hosts: all
environment:
http_proxy: "{{ lookup('env','http_proxy') }}"
https_proxy: "{{ lookup('env','https_proxy') }}"
HTTPS_PROXY: "{{ lookup('env','HTTPS_PROXY') }}"
HTTP_PROXY: "{{ lookup('env','HTTP_PROXY') }}"
tasks:
- name: Update package cache
apt:
update_cache: yes
- name: Install mariadb
apt:
name:
- mariadb-server
- python-mysqldb
- unzip
- apache2
- php
- openssl
- php-ldap
- libapache2-mod-php
- php-pear
- php-cgi
- php-cli
- php-common
- php-fpm
- php-gd
- php-json
- php-mysql
- php-readline
- php-curl
- php-intl
- php-mcrypt
- php-xml
- php-mbstring
state: present
- name: Create a new database with name 'jorani'
mysql_db:
name: jorani
state: present
- name: Create mysql user
mysql_user:
name: jorani
password: 'FWUiVANngFqcIvcY8C7XWA=='
priv: 'jorani.*:ALL,GRANT'
state: present
- name: Create directory Jorani
ansible.builtin.file:
path: /var/www/html/jorani
state: directory
owner: www-data
group: www-data
mode: '0750'
- name: Download Jorani
unarchive:
src: https://github.com/bbalet/jorani/releases/download/v1.0.0/jorani-1.0.0.zip
dest: /var/www/html/jorani/
remote_src: yes

View File

@ -0,0 +1,30 @@
---
- name: Preparation des serveurs d'applications web
hosts: all
environment:
http_proxy: "{{ lookup('env','http_proxy') }}"
https_proxy: "{{ lookup('env','https_proxy') }}"
HTTPS_PROXY: "{{ lookup('env','HTTPS_PROXY') }}"
HTTP_PROXY: "{{ lookup('env','HTTP_PROXY') }}"
tasks:
- name: Setting EOLE Dev apt repository
expect:
command: Query-Auto -D
responses:
'\[non\]':
- "oui"
echo: yes
timeout: 900
- name: Installing ninegate
apt:
name:
- eole-limesurvey
- limesurvey-apps
state: present
- name: Back to normal EOLE apt repository
command: Query-Auto

View File

@ -0,0 +1,30 @@
---
- name: Preparation des serveurs d'applications web
hosts: all
environment:
http_proxy: "{{ lookup('env','http_proxy') }}"
https_proxy: "{{ lookup('env','https_proxy') }}"
HTTPS_PROXY: "{{ lookup('env','HTTPS_PROXY') }}"
HTTP_PROXY: "{{ lookup('env','HTTP_PROXY') }}"
tasks:
- name: Setting EOLE Dev apt repository
expect:
command: Query-Auto -D
responses:
'\[non\]':
- "oui"
echo: yes
timeout: 900
- name: Installing Nextcloud
apt:
name:
- eole-nextcloud
- nextcloud-apps
state: present
- name: Back to normal EOLE apt repository
command: Query-Auto

View File

@ -0,0 +1,32 @@
---
- name: Preparation des serveurs d'applications web
hosts: all
environment:
http_proxy: "{{ lookup('env','http_proxy') }}"
https_proxy: "{{ lookup('env','https_proxy') }}"
HTTPS_PROXY: "{{ lookup('env','HTTPS_PROXY') }}"
HTTP_PROXY: "{{ lookup('env','HTTP_PROXY') }}"
tasks:
- name: Setting EOLE Dev apt repository
expect:
command: Query-Auto -D
responses:
'\[non\]':
- "oui"
echo: yes
timeout: 900
- name: Installing ninegate
apt:
name:
- eole-nineboard
- nineboard-apps
state: present
- name: Back to normal EOLE apt repository
command: Query-Auto
- name: Generate patch
command: gen_patch

View File

@ -0,0 +1,29 @@
---
- name: Configure Portal Server
hosts: all
environment:
http_proxy: "{{ lookup('env','http_proxy') }}"
https_proxy: "{{ lookup('env','https_proxy') }}"
HTTPS_PROXY: "{{ lookup('env','HTTPS_PROXY') }}"
HTTP_PROXY: "{{ lookup('env','HTTP_PROXY') }}"
tasks:
- name: Setting EOLE Dev apt repository
expect:
command: Query-Auto -D
responses:
'\[non\]':
- "oui"
echo: yes
timeout: 900
- name: Installing ninegate
apt:
name:
- eole-ninegate
- ninegate-apps
state: present
- name: Back to normal EOLE apt repository
command: Query-Auto

View File

@ -0,0 +1,29 @@
---
- name: Preparation des serveurs d'applications web
hosts: all
environment:
http_proxy: "{{ lookup('env','http_proxy') }}"
https_proxy: "{{ lookup('env','https_proxy') }}"
HTTPS_PROXY: "{{ lookup('env','HTTPS_PROXY') }}"
HTTP_PROXY: "{{ lookup('env','HTTP_PROXY') }}"
tasks:
- name: Setting EOLE Dev apt repository
expect:
command: Query-Auto -D
responses:
'\[non\]':
- "oui"
echo: yes
timeout: 900
- name: Installing ninegate
apt:
name:
- eole-piwigo
- piwigo-apps
state: present
- name: Back to normal EOLE apt repository
command: Query-Auto

View File

@ -0,0 +1,40 @@
---
- name: Configure Portal Server
hosts: all
environment:
http_proxy: "{{ lookup('env','http_proxy') }}"
https_proxy: "{{ lookup('env','https_proxy') }}"
HTTPS_PROXY: "{{ lookup('env','HTTPS_PROXY') }}"
HTTP_PROXY: "{{ lookup('env','HTTP_PROXY') }}"
tasks:
- name: Update package cache
apt:
update_cache: yes
- name: Maj-Auto
command: Maj-Auto
- name: Query-Auto Dev
expect:
command: Query-Auto -D
responses:
'\[non\]':
- "oui"
echo: yes
timeout: 900
- apt:
name: eole-ninegate
state: present
- apt:
name: ninegate-apps
state: present
- name: Query-Auto
command: Query-Auto
- name: Reconfigure
command: reconfigure

View File

@ -0,0 +1,107 @@
---
- name: Prepare data disk
hosts: all
environment:
http_proxy: "{{ lookup('env','http_proxy') }}"
https_proxy: "{{ lookup('env','https_proxy') }}"
HTTPS_PROXY: "{{ lookup('env','HTTPS_PROXY') }}"
HTTP_PROXY: "{{ lookup('env','HTTP_PROXY') }}"
vars:
fsconf:
vgn: "{{ lookup('env', 'vgname') }}"
lvs: "{{ lookup('env', 'lvnames').split(' ') }}"
szs: "{{ lookup('env', 'lvsizes').split(' ') }}"
fss: "{{ lookup('env', 'lvfssys').split(' ') }}"
mps: "{{ lookup('env', 'lvmntps').split(' ') }}"
tasks:
- name: Create the "datavg" Volume group.
lvg:
pvs: "/dev/vdb"
vg: "{{ fsconf.vgn }}"
pesize: "16"
pv_options: '-Z y'
force: no
state: present
- name: Create logical volumes.
lvol:
vg: "datavg"
lv: "{{ item }}"
size: "{{ fsconf.szs[idx] }}"
active: yes
force: no
state: present
loop: "{{ fsconf.lvs }}"
loop_control:
index_var: idx
- name: Create filesystems
filesystem:
fstype: "{{ fsconf.fss[idx] }}"
dev: "/dev/datavg/{{ item }}"
loop: "{{ fsconf.lvs }}"
loop_control:
index_var: idx
- name: Find what to backup
stat:
path: "{{ item }}"
with_items: "{{ fsconf.mps }}"
register: mountPoints
- name: Create mount points
file:
path: "{{ fsconf.mps[idx] }}"
state: directory
mode: '0755'
loop: "{{ fsconf.lvs }}"
loop_control:
index_var: idx
- name: Create temporary mount points
file:
path: "/tmp{{ fsconf.mps[idx] }}"
state: directory
mode: '0755'
loop: "{{ fsconf.lvs }}"
loop_control:
index_var: idx
- name: Mount fs in temporary mount points
command: mount /dev/datavg/"{{ item }}" "/tmp{{ fsconf.mps[idx] }}"
loop: "{{ fsconf.lvs }}"
loop_control:
index_var: idx
- name: Configure filesystems create entry in fstab
mount:
path: "{{ fsconf.mps[idx] }}"
src: /dev/datavg/{{ item }}
state: present
fstype: "{{ fsconf.fss[idx] }}"
loop: "{{ fsconf.lvs }}"
loop_control:
index_var: idx
- name: Fill new mount points if exists
become: true
delegate_to: "{{ inventory_hostname }}"
synchronize:
mode: push
src: "{{ item.item }}/"
dest: "/tmp{{ item.item }}/"
times: yes
perms: yes
owner: yes
group: yes
links: yes
recursive: yes
with_items: "{{ mountPoints.results }}"
when: item.stat.exists

View File

@ -0,0 +1,73 @@
---
- name: Prepare disk
hosts: all
environment:
http_proxy: "{{ lookup('env','http_proxy') }}"
https_proxy: "{{ lookup('env','https_proxy') }}"
HTTPS_PROXY: "{{ lookup('env','HTTPS_PROXY') }}"
HTTP_PROXY: "{{ lookup('env','HTTP_PROXY') }}"
vars:
ds: "{{ lookup('env', 'disk') }}"
vg: "{{ lookup('env', 'vgname') }}"
lv: "{{ lookup('env', 'lvname') }}"
fs: "{{ lookup('env', 'fstype') }}"
sz: "{{ lookup('env', 'size') }}"
mp: "{{ lookup('env', 'mountp') }}"
tasks:
- name: Create the volume group.
lvg:
pvs: "{{ ds }}"
vg: "{{ vg }}"
pesize: "16"
pv_options: '-Z y'
force: no
state: present
- name: Create logical volume
lvol:
vg: "{{ vg }}"
lv: "{{ lv }}"
size: "{{ sz }}"
active: yes
force: no
state: present
- name: Create filesystem
filesystem:
fstype: "ext4"
dev: "/dev/{{ vg }}/{{ lv }}"
opts: -cc
- name: Create temporary mount points
file:
path: "/tmp{{ mp }}"
state: directory
mode: '0755'
- name: Mount fs in temporary mount points
command: mount /dev/"{{ vg }}"/"{{ lv }}" "/tmp{{ mp }}"
- name: Configure filesystems create entry in fstab
mount:
path: "{{ mp }}"
src: /dev/{{ vg }}/{{ lv }}
state: present
fstype: "{{ fs }}"
- name: Fill new mount points if exists
become: true
delegate_to: "{{ inventory_hostname }}"
synchronize:
mode: push
src: "{{ mp }}/"
dest: "/tmp{{ mp }}/"
times: yes
perms: yes
owner: yes
group: yes
links: yes
recursive: yes

View File

@ -0,0 +1,66 @@
---
- name: Installation Syspass
hosts: all
environment:
http_proxy: "{{ lookup('env','http_proxy') }}"
https_proxy: "{{ lookup('env','https_proxy') }}"
HTTPS_PROXY: "{{ lookup('env','HTTPS_PROXY') }}"
HTTP_PROXY: "{{ lookup('env','HTTP_PROXY') }}"
tasks:
- name: Update package cache
apt:
update_cache: yes
- name: Install mariadb
apt:
name:
- mariadb-server
- python-mysqldb
- unzip
- apache2
- libapache2-mod-php
- php-pear
- php
- php-cgi
- php-cli
- php-common
- php-fpm
- php-gd
- php-json
- php-mysql
- php-readline
- php-curl
- php-intl
- php-ldap
- php-mcrypt
- php-xml
- php-mbstring
state: present
- name: Create a new database with name 'syspass'
mysql_db:
name: syspass
state: present
- name: Create mysql user
mysql_user:
name: spadmin
password: '63ApD2E0xVJlNi9+hqsZUQ=='
priv: 'syspass.*:ALL,GRANT'
state: present
- name: Create directory syspass
ansible.builtin.file:
path: /var/www/html/syspass
state: directory
owner: www-data
group: www-data
mode: '0750'
- name: Download Syspass
unarchive:
src: https://github.com/nuxsmin/sysPass/archive/3.2.1.zip
dest: /var/www/html/syspass
remote_src: yes

View File

@ -0,0 +1,49 @@
-----BEGIN OPENSSH PRIVATE KEY-----
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
-----END OPENSSH PRIVATE KEY-----

View File

@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDx7qAsa44Gz3OnSoUN78va/vDdmZmEj6ggMokjLSZVKrHffMe7sQ0UJL/kuE7aoS2gEtkITi+ZpyyLzvLTlIIi5WRdgS8YOZhcmL8avtueW7wN0XADrk4kj9GuWdfjn9osm0aNx4EFMhKdxUjFTTsuBUZW3JWQEhzYgqE/n7SqnLvXKVqvHjkbb1CXX9ndl0IB4zHrpapSV6DgkZ8XvbbbfoDDxBeoayEl6G5SbpvH0tBDzimuNmAAqboxRQIlf0hN2vSXO14M+wi3Y46zAmplPrCH3KEV+bgNLj9G4AdxbpILOaT8eZJBMskSuBQjGIWo82BxLjvaAGok9kHuH6xfGtF3LTAQ+aX7hO5gjJSSH0/t5bKoJzDCHYmIuuN2V+Kt0Y6Kip0zeb24Fa8kIJa/U6cRpvVvg098FqT3TRKhIOK6cnIk5dqEGHshZuHw2qkRYf7da7QI1Z7y9w+0XMuxAYhNdrXz2M4XRPwgOlFBGWqrJTbHLa54dpV885eRnyBWkG4M9FLxiHS4HRi4wsYRzpDH58Uc8td1qZTP+kaR6AEv7GmmWvfdOSzQUaI7emeASNkMByzadfZKoVsxbHL9wBTI+Vp2lu1gW4niJ+9fd/HzgO+P0JKTeMoPLAFo6IaErYpULVH3pxyNXRAwRbTs6gKxF3BWXT05UybSrUUj6Q== Cadoles-VM-Deployement-KEY

Binary file not shown.

View File

@ -0,0 +1,28 @@
-----BEGIN CERTIFICATE-----
MIIEsTCCA5mgAwIBAgIQCKWiRs1LXIyD1wK0u6tTSTANBgkqhkiG9w0BAQsFADBh
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
QTAeFw0xNzExMDYxMjIzMzNaFw0yNzExMDYxMjIzMzNaMF4xCzAJBgNVBAYTAlVT
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
b20xHTAbBgNVBAMTFFJhcGlkU1NMIFJTQSBDQSAyMDE4MIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEA5S2oihEo9nnpezoziDtx4WWLLCll/e0t1EYemE5n
+MgP5viaHLy+VpHP+ndX5D18INIuuAV8wFq26KF5U0WNIZiQp6mLtIWjUeWDPA28
OeyhTlj9TLk2beytbtFU6ypbpWUltmvY5V8ngspC7nFRNCjpfnDED2kRyJzO8yoK
MFz4J4JE8N7NA1uJwUEFMUvHLs0scLoPZkKcewIRm1RV2AxmFQxJkdf7YN9Pckki
f2Xgm3b48BZn0zf0qXsSeGu84ua9gwzjzI7tbTBjayTpT+/XpWuBVv6fvarI6bik
KB859OSGQuw73XXgeuFwEPHTIRoUtkzu3/EQ+LtwznkkdQIDAQABo4IBZjCCAWIw
HQYDVR0OBBYEFFPKF1n8a8ADIS8aruSqqByCVtp1MB8GA1UdIwQYMBaAFAPeUDVW
0Uy7ZvCj4hsbw5eyPdFVMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEF
BQcDAQYIKwYBBQUHAwIwEgYDVR0TAQH/BAgwBgEB/wIBADA0BggrBgEFBQcBAQQo
MCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBCBgNVHR8E
OzA5MDegNaAzhjFodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRHbG9i
YWxSb290Q0EuY3JsMGMGA1UdIARcMFowNwYJYIZIAYb9bAECMCowKAYIKwYBBQUH
AgEWHGh0dHBzOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCwYJYIZIAYb9bAEBMAgG
BmeBDAECATAIBgZngQwBAgIwDQYJKoZIhvcNAQELBQADggEBAH4jx/LKNW5ZklFc
YWs8Ejbm0nyzKeZC2KOVYR7P8gevKyslWm4Xo4BSzKr235FsJ4aFt6yAiv1eY0tZ
/ZN18bOGSGStoEc/JE4ocIzr8P5Mg11kRYHbmgYnr1Rxeki5mSeb39DGxTpJD4kG
hs5lXNoo4conUiiJwKaqH7vh2baryd8pMISag83JUqyVGc2tWPpO0329/CWq2kry
qv66OSMjwulUz0dXf4OHQasR7CNfIr+4KScc6ABlQ5RDF86PGeE6kdwSQkFiB/cQ
ysNyq0jEDQTkfa2pjmuWtMCNbBnhFXBYejfubIhaUbEv2FOQB3dCav+FPg5eEveX
TVyMnGo=
-----END CERTIFICATE-----

View File

@ -0,0 +1,21 @@
-----BEGIN CERTIFICATE-----
MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBY
MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo
R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEx
MjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
Ew1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9
AWbK7hWNb6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjA
ZIVcFU2Ix7e64HXprQU9nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE0
7e9GceBrAqg1cmuXm2bgyxx5X9gaBGgeRwLmnWDiNpcB3841kt++Z8dtd1k7j53W
kBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGttm/81w7a4DSwDRp35+MI
mO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G
A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJ
KoZIhvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ1
6CePbJC/kRYkRj5KTs4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl
4b7UVXGYNTq+k+qurUKykG/g/CFNNWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6K
oKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHaFloxt/m0cYASSJlyc1pZU8Fj
UjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG1riR/aYNKxoU
AT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
-----END CERTIFICATE-----

View File

@ -0,0 +1,22 @@
-----BEGIN CERTIFICATE-----
MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB
CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97
nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt
43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P
T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4
gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO
BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR
TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw
DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr
hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg
06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF
PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls
YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
-----END CERTIFICATE-----

View File

@ -0,0 +1,70 @@
-----BEGIN CERTIFICATE-----
MIIGETCCA/mgAwIBAgISESAecjUG2O9kiX/A/O1ocueQMA0GCSqGSIb3DQEBCwUA
MIGaMQswCQYDVQQGEwJGUjEwMC4GA1UECgwnQWdlbmNlIE5hdGlvbmFsZSBkZXMg
VGl0cmVzIFPDqWN1cmlzw6lzMRcwFQYDVQQLDA4wMDAyIDEzMDAwMzI2MjE0MDIG
A1UEAwwrQXV0b3JpdMOpIGRlIENlcnRpZmljYXRpb24gUmFjaW5lIEFOVFMvQSBW
MzEKMAgGA1UEBRMBMTAeFw0xNjA1MjQwMDAwMDBaFw0yMjA1MjQwMDAwMDBaMIGe
MQswCQYDVQQGEwJGUjEwMC4GA1UECgwnQWdlbmNlIE5hdGlvbmFsZSBkZXMgVGl0
cmVzIFPDqWN1cmlzw6lzMRcwFQYDVQQLDA4wMDAyIDEzMDAwMzI2MjE4MDYGA1UE
AwwvQXV0b3JpdMOpIGRlIENlcnRpZmljYXRpb24gU2VydmljZXMgQXBwbGljYXRp
ZnMxCjAIBgNVBAUTATIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDe
uXSRwETXe+9+ylXVk8BRElcJzlLIbl8mPRIvD0SOojFTMlwMGGCgFlDiPmDGR9te
pHOVU9GfeiF3eT1o9xfBxLsRQdnC/1j68fgRm0qovYN5rXaB+wNPUuWtgZNwPgZK
dc4R6430xIAQpU9dHgcusWXxWMD3b7WJJmifwtlhEBKazEZcMgPS1irH+pPRH56+
AEd+l+ir7PrRd5TGfNrT/aCT+ASE+auul9Q2OrSEgBEFb2mxNmfBf9rOc+Bpueir
KProsAH+XXNXrC/4uiBVEKkGslFBIkkuPpj0wuTUZR+upT/e9GRDo+iM0UhFdy7+
oNNxa4EITghk8Rup2Mz/AgMBAAGjggFJMIIBRTASBgNVHRMBAf8ECDAGAQH/AgEA
MA4GA1UdDwEB/wQEAwIBBjARBgNVHSAECjAIMAYGBFUdIAAwSAYDVR0fBEEwPzA9
oDugOYY3aHR0cDovL2NybC5hbnRzLmdvdXYuZnIvYW50c2F2My9hY19yYWNpbmVf
YW50c2F2M18xLmNybDCBgQYIKwYBBQUHAQEEdTBzMEIGCCsGAQUFBzAChjZodHRw
Oi8vc3AuYW50cy5nb3V2LmZyL2FudHNhdjMvY2FfcmFjaW5lX2FudHNhdjNfMS5j
ZXIwLQYIKwYBBQUHMAGGIWh0dHA6Ly9vY3NwLmFudHMuZ291di5mci9hbnRzYXYz
LzAdBgNVHQ4EFgQUHIkSEyXD64D3jxXvqHfoIekNCZcwHwYDVR0jBBgwFoAUXAPV
d5g1UCpNf49vmlbblvgV4OMwDQYJKoZIhvcNAQELBQADggIBAJoyslCRpqW7qigT
plNwVyio41tKS6QD73Mz9Rz4a3YQyvozidSdyLOb3eYw9RFP+0LOTvdAQYvyjtvR
EsmqddFauTxBFebZYOy39ItoO4NWCoGSd8pclu7rPXyS/8D+Sfcb/juE3XLfjQvC
CuktXVoYC1s0LGVu/XSaM0Hn+g8d/dvvEeJH2wiQV1fCcDam1j8T8kuAbVOoZcGH
/vOvXvTH3jHXqL61JsytNonLMYtmV/0ZT3K2wF16Q6t0MQWSSHO3cwzwhzWnX3wz
122RoaFBjURrINwwJZpMSbY5UIL84MUR9Vl1KA9JEX9SY2ZIYC8nslHlo/fdLKjT
vFZ8n6N6VotreblAMS1EkkavN2KS+hg2MP9pSN3717kXuFlRe7p3KbUf60Uju+ci
LfQg2zkcmL3PQcEcVPjJdLQRjtOjy4gzGtLpSZ+BMkGRlfNWBfuatWpq1AcxZHXw
dgSwCYmuU7/YhO6NZINERuwOAH7EVPfIjK52O2w8BP5YDpHnFw2+d5qLp6w4WF9q
kvhgwl9/KPN47znzZbTvZ6nOk78Rkw9F6ZJ3ipn8mRSeBg8xrN9zRMOCmBanqT/b
NWMyIFkyE+dlfcGYsqAAjNTA8k3h5uJeqLIWJmPdiQ+6kDLfPvl8iRFsUUuNa3ip
9ud8JMaCHv5JiZCCrKoYzB8L3rO9
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
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
-----END CERTIFICATE-----

View File

@ -0,0 +1,70 @@
-----BEGIN CERTIFICATE-----
MIIGETCCA/mgAwIBAgISESB0DFgpC97mZ9Nh3ruNBL2qMA0GCSqGSIb3DQEBCwUA
MIGaMQswCQYDVQQGEwJGUjEwMC4GA1UECgwnQWdlbmNlIE5hdGlvbmFsZSBkZXMg
VGl0cmVzIFPDqWN1cmlzw6lzMRcwFQYDVQQLDA4wMDAyIDEzMDAwMzI2MjE0MDIG
A1UEAwwrQXV0b3JpdMOpIGRlIENlcnRpZmljYXRpb24gUmFjaW5lIEFOVFMvQSBW
MzEKMAgGA1UEBRMBMTAeFw0xMzA3MDQwMDAwMDBaFw0xOTA3MDQwMDAwMDBaMIGe
MQswCQYDVQQGEwJGUjEwMC4GA1UECgwnQWdlbmNlIE5hdGlvbmFsZSBkZXMgVGl0
cmVzIFPDqWN1cmlzw6lzMRcwFQYDVQQLDA4wMDAyIDEzMDAwMzI2MjE4MDYGA1UE
AwwvQXV0b3JpdMOpIGRlIENlcnRpZmljYXRpb24gU2VydmljZXMgQXBwbGljYXRp
ZnMxCjAIBgNVBAUTATEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDh
AFZdLGRoaYnMv+8VxDyg1uj3ES/auX+XaXIciJK4QFzudRsu6XjS9E8N/sECZsdx
uzYZzw6CIwb8Cz/gucL7H4ITN2CUDiiMCCBobuBfSXYiY4BV7efqYE9Hx2fmQjeK
9FLHVbjJBsCjn9IIFGbqHIqCcHRH0kLyIZrnM9fG9lXJxTCqWPNzMkuTISgm9pb3
VrsBwADcoklUKeTUHkbyz+qsqwipqqrO+SJQp5Lz3Sxsx8xVNlkvKgGLn0JOidVK
PFtUPrHvd0sXzqkvaUKdAOV1SBkFJ1Oya6LBQjuDNIzdSkTyQ5h7K5p4xDUfSBU3
bZVD0ZFYnnzPo8tCYqsjAgMBAAGjggFJMIIBRTASBgNVHRMBAf8ECDAGAQH/AgEA
MA4GA1UdDwEB/wQEAwIBBjARBgNVHSAECjAIMAYGBFUdIAAwSAYDVR0fBEEwPzA9
oDugOYY3aHR0cDovL2NybC5hbnRzLmdvdXYuZnIvYW50c2F2My9hY19yYWNpbmVf
YW50c2F2M18xLmNybDCBgQYIKwYBBQUHAQEEdTBzMEIGCCsGAQUFBzAChjZodHRw
Oi8vc3AuYW50cy5nb3V2LmZyL2FudHNhdjMvY2FfcmFjaW5lX2FudHNhdjNfMS5j
ZXIwLQYIKwYBBQUHMAGGIWh0dHA6Ly9vY3NwLmFudHMuZ291di5mci9hbnRzYXYz
LzAdBgNVHQ4EFgQUM5+7zx89GVrXKHmoSv1jfL8AMi8wHwYDVR0jBBgwFoAUXAPV
d5g1UCpNf49vmlbblvgV4OMwDQYJKoZIhvcNAQELBQADggIBAFGR3FQ/DSv7k5ZM
n97UhitA5RT+iwT7gnGMnwZ7N2CSahmxulyNSIk2UUUpmBXd/dlBTB5W4BxupgJM
21O+32dwZwfhLxT92nVlTlG+5ow0W4aXHy3ZCso+90oFBoFuZvuVt2w3XROWxqsp
Emvoot0uZjHA81hFvZEL/B8N4yoPB4olI4HCBPVAp8oBxeljYxbc/QhB5q/PqCww
lv0K4j7r2/yiUQbml5H9YZZKSETi8MW4IaIoSUh0A0IWQH4nBR7b+cwGvfgZXw43
ymE01oW2fAEAl+6nHYXEDA7q4o6VCGMqlb7FDY6ZvQ/V7oM1veVqj0nYyVTYBQ7p
Lp3hs0RuF5LJCFYhnaM9TLoDEh86tKG/YONJUXUYgUaBgFmYyBm2Rdj3A+GXpd9+
8+8ihI/mRiWPNKfX9GANN67mSOlMXbUFyZkG30CwCBZdlng+EmcZnfDNNteWxOPe
gnm816k96+zR6ZbBPRz6Vkw6nN2OB9z3GfmoaWffHXaA6jmBPn62bfCC6PzEpebp
do7X/dfB7rvRRay3Ewe/aUnzc2ze5w5z3taT5bQEj5SgBEYCMnGekmJkdMOBf/c2
mUfPtqWPDU7Mp7nO2HbMbH9Ly/EyTPh3lwFRyU3tgei0rBEN/Dq2sXt37OcfmWxy
ni/uwutaK6dn+u1i0CCQS/qDcWk0
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
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
-----END CERTIFICATE-----

View File

@ -0,0 +1,14 @@
-----BEGIN CERTIFICATE-----
MIICGzCCAaGgAwIBAgIQQdKd0XLq7qeAwSxs6S+HUjAKBggqhkjOPQQDAzBPMQsw
CQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2gg
R3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMjAeFw0yMDA5MDQwMDAwMDBaFw00
MDA5MTcxNjAwMDBaME8xCzAJBgNVBAYTAlVTMSkwJwYDVQQKEyBJbnRlcm5ldCBT
ZWN1cml0eSBSZXNlYXJjaCBHcm91cDEVMBMGA1UEAxMMSVNSRyBSb290IFgyMHYw
EAYHKoZIzj0CAQYFK4EEACIDYgAEzZvVn4CDCuwJSvMWSj5cz3es3mcFDR0HttwW
+1qLFNvicWDEukWVEYmO6gbf9yoWHKS5xcUy4APgHoIYOIvXRdgKam7mAHf7AlF9
ItgKbppbd9/w+kHsOdx1ymgHDB/qo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0T
AQH/BAUwAwEB/zAdBgNVHQ4EFgQUfEKWrt5LSDv6kviejM9ti6lyN5UwCgYIKoZI
zj0EAwMDaAAwZQIwe3lORlCEwkSHRhtFcP9Ymd70/aTSVaYgLXTWNLxBo1BfASdW
tL4ndQavEi51mI38AjEAi/V3bNTIZargCyzuFJ0nN6T5U6VR5CmD1/iQMVtCnwr1
/q4AaOeMSQ+2b1tbFfLn
-----END CERTIFICATE-----

View File

@ -0,0 +1,31 @@
-----BEGIN CERTIFICATE-----
MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4
WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu
ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY
MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc
h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+
0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U
A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW
T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH
B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC
B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv
KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn
OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn
jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw
qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI
rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq
hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ
3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK
NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5
ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur
TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC
jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc
oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq
4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA
mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d
emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
-----END CERTIFICATE-----

View File

@ -0,0 +1,31 @@
-----BEGIN CERTIFICATE-----
MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4
WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu
ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY
MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc
h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+
0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U
A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW
T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH
B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC
B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv
KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn
OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn
jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw
qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI
rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq
hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ
3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK
NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5
ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur
TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC
jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc
oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq
4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA
mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d
emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
-----END CERTIFICATE-----

View File

@ -0,0 +1,30 @@
-----BEGIN CERTIFICATE-----
MIIFFjCCAv6gAwIBAgIRAJErCErPDBinU/bWLiWnX1owDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjAwOTA0MDAwMDAw
WhcNMjUwOTE1MTYwMDAwWjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
RW5jcnlwdDELMAkGA1UEAxMCUjMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQC7AhUozPaglNMPEuyNVZLD+ILxmaZ6QoinXSaqtSu5xUyxr45r+XXIo9cP
R5QUVTVXjJ6oojkZ9YI8QqlObvU7wy7bjcCwXPNZOOftz2nwWgsbvsCUJCWH+jdx
sxPnHKzhm+/b5DtFUkWWqcFTzjTIUu61ru2P3mBw4qVUq7ZtDpelQDRrK9O8Zutm
NHz6a4uPVymZ+DAXXbpyb/uBxa3Shlg9F8fnCbvxK/eG3MHacV3URuPMrSXBiLxg
Z3Vms/EY96Jc5lP/Ooi2R6X/ExjqmAl3P51T+c8B5fWmcBcUr2Ok/5mzk53cU6cG
/kiFHaFpriV1uxPMUgP17VGhi9sVAgMBAAGjggEIMIIBBDAOBgNVHQ8BAf8EBAMC
AYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMBIGA1UdEwEB/wQIMAYB
Af8CAQAwHQYDVR0OBBYEFBQusxe3WFbLrlAJQOYfr52LFMLGMB8GA1UdIwQYMBaA
FHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcw
AoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzAnBgNVHR8EIDAeMBygGqAYhhZodHRw
Oi8veDEuYy5sZW5jci5vcmcvMCIGA1UdIAQbMBkwCAYGZ4EMAQIBMA0GCysGAQQB
gt8TAQEBMA0GCSqGSIb3DQEBCwUAA4ICAQCFyk5HPqP3hUSFvNVneLKYY611TR6W
PTNlclQtgaDqw+34IL9fzLdwALduO/ZelN7kIJ+m74uyA+eitRY8kc607TkC53wl
ikfmZW4/RvTZ8M6UK+5UzhK8jCdLuMGYL6KvzXGRSgi3yLgjewQtCPkIVz6D2QQz
CkcheAmCJ8MqyJu5zlzyZMjAvnnAT45tRAxekrsu94sQ4egdRCnbWSDtY7kh+BIm
lJNXoB1lBMEKIq4QDUOXoRgffuDghje1WrG9ML+Hbisq/yFOGwXD9RiX8F6sw6W4
avAuvDszue5L3sz85K+EC4Y/wFVDNvZo4TYXao6Z0f+lQKc0t8DQYzk1OXVu8rp2
yJMC6alLbBfODALZvYH7n7do1AZls4I9d1P4jnkDrQoxB3UqQ9hVl3LEKQ73xF1O
yK5GhDDX8oVfGKF5u+decIsH4YaTw7mP3GFxJSqv3+0lUFJoi5Lc5da149p90Ids
hCExroL1+7mryIkXPeFM5TgO9r0rvZaBFOvV2z0gp35Z0+L4WPlbuEjN/lxPFin+
HlUjr8gRsI3qfJOQFy/9rKIJR0Y/8Omwt/8oTWgy1mdeHmmjk7j1nYsvC9JSQ6Zv
MldlTTKB3zhThV1+XWYp6rjd5JW1zbVWEkLNxE7GJThEUG3szgBVGP7pSWTUTsqX
nLRbwHOoq7hHwg==
-----END CERTIFICATE-----

View File

@ -0,0 +1,27 @@
-----BEGIN CERTIFICATE-----
MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc6bLEeMfizANBgkqhkiG9w0BAQsFADA/
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDEwMloXDTIxMDMxNzE2NDEwMlow
SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT
GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFg0MIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEA4SR0Qnu3kTHZc/84qtjORFy3OQrcRK4NvUW5lzdnr71QT1/T
EFRr90HajmPmbVvA6ECpjEH80QOJ/2JhCWDWBwV4mpC9GmQ+T9zPdy+Ja8tnr0FN
xY0AwGv+jYTctfKVMajo9pCgQ0qTdFyzPkNpS4kiR3RRPplkw80kAfmELyh3FyKn
3cNsCExmLzd0xW+TjrBGNxZh0VCYyLAPT1hTfKz22i2WYVCtQ9wKpk+etVK5nI7v
Tt9GszHcIPxpwqMgdT7sOBs2TmZm0t/1ZqSTL3umDpQ+YD1KSxxvurRNHDyRWG4v
TcTacNvtATl2wEnn6TW1FAaQweWS4hD9a7m0hQIDAQABo4IBfTCCAXkwEgYDVR0T
AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG
CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv
bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k
c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw
VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC
ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz
MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu
Y3JsMB0GA1UdDgQWBBTFsatOTLHNZDCTfsGEmQWr5gPiJTANBgkqhkiG9w0BAQsF
AAOCAQEANlaeSdstfAtqFN3jdRZJFjx9X+Ob3PIDlekPYQ1OQ1Uw43rE1FUj7hUw
g2MJKfs9b7M0WoQg7C20nJY/ajsg7pWhUG3J6rlkDTfVY9faeWi0qsPYXE6BpBDr
5BrW/Xv8yT8U2BiEAmNggWq8dmFl82fghmLzHBM8X8NZ3ZwA1fGePA53AP5IoD+0
ArpW8Ik1sSuQBjZ8oQLfN+G8OoY7MNRopyLyQQCNy4aWfE+xYnoVoa5+yr+aPiX0
7YQrY/cKawAn7QB4PyF5//IKSAVs7mAuB68wbMdE3FKfOHfJ24W4z/bIJTrTY8Y5
Sr4AUhtzf8oVDrHZYWRrP4joIcOu/Q==
-----END CERTIFICATE-----

View File

@ -0,0 +1,32 @@
-----BEGIN CERTIFICATE-----
MIIFjTCCA3WgAwIBAgIRANOxciY0IzLc9AUoUSrsnGowDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTYxMDA2MTU0MzU1
WhcNMjExMDA2MTU0MzU1WjBKMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
RW5jcnlwdDEjMCEGA1UEAxMaTGV0J3MgRW5jcnlwdCBBdXRob3JpdHkgWDMwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCc0wzwWuUuR7dyXTeDs2hjMOrX
NSYZJeG9vjXxcJIvt7hLQQWrqZ41CFjssSrEaIcLo+N15Obzp2JxunmBYB/XkZqf
89B4Z3HIaQ6Vkc/+5pnpYDxIzH7KTXcSJJ1HG1rrueweNwAcnKx7pwXqzkrrvUHl
Npi5y/1tPJZo3yMqQpAMhnRnyH+lmrhSYRQTP2XpgofL2/oOVvaGifOFP5eGr7Dc
Gu9rDZUWfcQroGWymQQ2dYBrrErzG5BJeC+ilk8qICUpBMZ0wNAxzY8xOJUWuqgz
uEPxsR/DMH+ieTETPS02+OP88jNquTkxxa/EjQ0dZBYzqvqEKbbUC8DYfcOTAgMB
AAGjggFnMIIBYzAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADBU
BgNVHSAETTBLMAgGBmeBDAECATA/BgsrBgEEAYLfEwEBATAwMC4GCCsGAQUFBwIB
FiJodHRwOi8vY3BzLnJvb3QteDEubGV0c2VuY3J5cHQub3JnMB0GA1UdDgQWBBSo
SmpjBH3duubRObemRWXv86jsoTAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8vY3Js
LnJvb3QteDEubGV0c2VuY3J5cHQub3JnMHIGCCsGAQUFBwEBBGYwZDAwBggrBgEF
BQcwAYYkaHR0cDovL29jc3Aucm9vdC14MS5sZXRzZW5jcnlwdC5vcmcvMDAGCCsG
AQUFBzAChiRodHRwOi8vY2VydC5yb290LXgxLmxldHNlbmNyeXB0Lm9yZy8wHwYD
VR0jBBgwFoAUebRZ5nu25eQBc4AIiMgaWPbpm24wDQYJKoZIhvcNAQELBQADggIB
ABnPdSA0LTqmRf/Q1eaM2jLonG4bQdEnqOJQ8nCqxOeTRrToEKtwT++36gTSlBGx
A/5dut82jJQ2jxN8RI8L9QFXrWi4xXnA2EqA10yjHiR6H9cj6MFiOnb5In1eWsRM
UM2v3e9tNsCAgBukPHAg1lQh07rvFKm/Bz9BCjaxorALINUfZ9DD64j2igLIxle2
DPxW8dI/F2loHMjXZjqG8RkqZUdoxtID5+90FgsGIfkMpqgRS05f4zPbCEHqCXl1
eO5HyELTgcVlLXXQDgAWnRzut1hFJeczY1tjQQno6f6s+nMydLN26WuU4s3UYvOu
OsUxRlJu7TSRHqDC3lSE5XggVkzdaPkuKGQbGpny+01/47hfXXNB7HntWNZ6N2Vw
p7G6OfY+YQrZwIaQmhrIqJZuigsrbe3W+gdn5ykE9+Ky0VgVUsfxo52mwFYs1JKY
2PGDuWx8M6DlS6qQkvHaRUo0FMd8TsSlbF0/v965qGFKhSDeQoMpYnwcmQilRh/0
ayLThlHLN81gSkJjVrPI0Y8xCVPB4twb1PFUd2fPM3sA1tJ83sZ5v8vgFv2yofKR
PB0t6JzUA81mSqM3kxl5e+IZwhYAyO0OTg3/fs8HqGTNKd9BqoUwSRBzp06JMg5b
rUCGwbCUDI0mxadJ3Bz4WxR6fyNpBK2yAinWEsikxqEt
-----END CERTIFICATE-----

View File

@ -0,0 +1,32 @@
-----BEGIN CERTIFICATE-----
MIIFjTCCA3WgAwIBAgIRANOxciY0IzLc9AUoUSrsnGowDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTYxMDA2MTU0MzU1
WhcNMjExMDA2MTU0MzU1WjBKMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
RW5jcnlwdDEjMCEGA1UEAxMaTGV0J3MgRW5jcnlwdCBBdXRob3JpdHkgWDMwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCc0wzwWuUuR7dyXTeDs2hjMOrX
NSYZJeG9vjXxcJIvt7hLQQWrqZ41CFjssSrEaIcLo+N15Obzp2JxunmBYB/XkZqf
89B4Z3HIaQ6Vkc/+5pnpYDxIzH7KTXcSJJ1HG1rrueweNwAcnKx7pwXqzkrrvUHl
Npi5y/1tPJZo3yMqQpAMhnRnyH+lmrhSYRQTP2XpgofL2/oOVvaGifOFP5eGr7Dc
Gu9rDZUWfcQroGWymQQ2dYBrrErzG5BJeC+ilk8qICUpBMZ0wNAxzY8xOJUWuqgz
uEPxsR/DMH+ieTETPS02+OP88jNquTkxxa/EjQ0dZBYzqvqEKbbUC8DYfcOTAgMB
AAGjggFnMIIBYzAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADBU
BgNVHSAETTBLMAgGBmeBDAECATA/BgsrBgEEAYLfEwEBATAwMC4GCCsGAQUFBwIB
FiJodHRwOi8vY3BzLnJvb3QteDEubGV0c2VuY3J5cHQub3JnMB0GA1UdDgQWBBSo
SmpjBH3duubRObemRWXv86jsoTAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8vY3Js
LnJvb3QteDEubGV0c2VuY3J5cHQub3JnMHIGCCsGAQUFBwEBBGYwZDAwBggrBgEF
BQcwAYYkaHR0cDovL29jc3Aucm9vdC14MS5sZXRzZW5jcnlwdC5vcmcvMDAGCCsG
AQUFBzAChiRodHRwOi8vY2VydC5yb290LXgxLmxldHNlbmNyeXB0Lm9yZy8wHwYD
VR0jBBgwFoAUebRZ5nu25eQBc4AIiMgaWPbpm24wDQYJKoZIhvcNAQELBQADggIB
ABnPdSA0LTqmRf/Q1eaM2jLonG4bQdEnqOJQ8nCqxOeTRrToEKtwT++36gTSlBGx
A/5dut82jJQ2jxN8RI8L9QFXrWi4xXnA2EqA10yjHiR6H9cj6MFiOnb5In1eWsRM
UM2v3e9tNsCAgBukPHAg1lQh07rvFKm/Bz9BCjaxorALINUfZ9DD64j2igLIxle2
DPxW8dI/F2loHMjXZjqG8RkqZUdoxtID5+90FgsGIfkMpqgRS05f4zPbCEHqCXl1
eO5HyELTgcVlLXXQDgAWnRzut1hFJeczY1tjQQno6f6s+nMydLN26WuU4s3UYvOu
OsUxRlJu7TSRHqDC3lSE5XggVkzdaPkuKGQbGpny+01/47hfXXNB7HntWNZ6N2Vw
p7G6OfY+YQrZwIaQmhrIqJZuigsrbe3W+gdn5ykE9+Ky0VgVUsfxo52mwFYs1JKY
2PGDuWx8M6DlS6qQkvHaRUo0FMd8TsSlbF0/v965qGFKhSDeQoMpYnwcmQilRh/0
ayLThlHLN81gSkJjVrPI0Y8xCVPB4twb1PFUd2fPM3sA1tJ83sZ5v8vgFv2yofKR
PB0t6JzUA81mSqM3kxl5e+IZwhYAyO0OTg3/fs8HqGTNKd9BqoUwSRBzp06JMg5b
rUCGwbCUDI0mxadJ3Bz4WxR6fyNpBK2yAinWEsikxqEt
-----END CERTIFICATE-----

View File

@ -0,0 +1,30 @@
-----BEGIN CERTIFICATE-----
MIIFHzCCBAegAwIBAgISBCjkb2j6sMEhSJmFWzQLY9ZFMA0GCSqGSIb3DQEBCwUA
MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD
EwJSMzAeFw0yMTAyMTcxMjA3MTZaFw0yMTA1MTgxMjA3MTZaMBgxFjAUBgNVBAMM
DSouYmVyLmFzc28uZnIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC4
WWRNeZeda6tJdMoq2BaVTTn9dPxv7PXmMAbyV4BBF0OjNiJiWcMUtTR2UEmnVLzD
gaIs09jwsz/ONgjlEjM0t3bUOX6DiZg5GCE454JzMNSJAbiBTmCIQmPK3G/T6ZCG
xCIIVVhBQ6IYZjZWVnULtwtTy4k4Ib8lD0XHZKo7vX5+2pycXAB0ndK8UoEDJf8L
d7OatFaNC4J3/D3qUvNVQufGUgxZPp5ETKSEDnxrl67A/coea54pP73cHyArdL97
QRgT0UAT2Nuwn/It6a5xdE/5gl24RqwjN3XivgKyRhA5UeHw4tQBWIi6mou9Ttt0
ky16vAsXWjt1OXxIfi8ZAgMBAAGjggJHMIICQzAOBgNVHQ8BAf8EBAMCBaAwHQYD
VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0O
BBYEFIPQnxhiMLua8dlOGgyjElFFSq9JMB8GA1UdIwQYMBaAFBQusxe3WFbLrlAJ
QOYfr52LFMLGMFUGCCsGAQUFBwEBBEkwRzAhBggrBgEFBQcwAYYVaHR0cDovL3Iz
Lm8ubGVuY3Iub3JnMCIGCCsGAQUFBzAChhZodHRwOi8vcjMuaS5sZW5jci5vcmcv
MBgGA1UdEQQRMA+CDSouYmVyLmFzc28uZnIwTAYDVR0gBEUwQzAIBgZngQwBAgEw
NwYLKwYBBAGC3xMBAQEwKDAmBggrBgEFBQcCARYaaHR0cDovL2Nwcy5sZXRzZW5j
cnlwdC5vcmcwggEDBgorBgEEAdZ5AgQCBIH0BIHxAO8AdQCUILwejtWNbIhzH4KL
IiwN0dpNXmxPlD1h204vWE2iwgAAAXewGhhfAAAEAwBGMEQCIC88mMBZPXR5wDuV
Q3+TNOafkGYD1RZMp88tiTI4j/EAAiAi8HdR5aYRkcjgVKsB8Dc/yA36dkQ9V/MH
3+50rvef4gB2AH0+8viP/4hVaCTCwMqeUol5K8UOeAl/LmqXaJl+IvDXAAABd7Aa
GQgAAAQDAEcwRQIhAIFWNgftG1lP3bFEMx90k9PGZyEQnAgt/I0rmUMFRsJVAiAT
y92UzhyUcE5ylL0ef33/f+y5Fk3TemdFDnWguX56CzANBgkqhkiG9w0BAQsFAAOC
AQEACiz/1Na1pfXd78CZ8jN65EcbhE8Z9JMUb8v4uOOf5whK6oHlkUgAvjIUzL5A
xfmUPUXdceSLOttgT6+wx5X8zyPSiUNQDEre8RMqGtRTX0uix5Gxp2nyQAOf7BdS
knzYkQ90HM5XHyXci0yqImT+g1XUz404DTXi4TtunVXaHTsnVK4VvJCMbitmwEjR
8u3xQrbqqBAkhVMeiywgNdSpkhDZz1Vl7NQgv0QmkdDfs2UM2cOt/XPlzyzYQ/DG
sRyJ+ItEm5XMlrh21ISmnHzeBNGLGnPBBNBYMX8ReLIw1VjQ+98adWs+jL6/Ac9Q
aNieo2Uw0oyYjOfiqjgqwmQ4Og==
-----END CERTIFICATE-----

View File

@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC4WWRNeZeda6tJ
dMoq2BaVTTn9dPxv7PXmMAbyV4BBF0OjNiJiWcMUtTR2UEmnVLzDgaIs09jwsz/O
NgjlEjM0t3bUOX6DiZg5GCE454JzMNSJAbiBTmCIQmPK3G/T6ZCGxCIIVVhBQ6IY
ZjZWVnULtwtTy4k4Ib8lD0XHZKo7vX5+2pycXAB0ndK8UoEDJf8Ld7OatFaNC4J3
/D3qUvNVQufGUgxZPp5ETKSEDnxrl67A/coea54pP73cHyArdL97QRgT0UAT2Nuw
n/It6a5xdE/5gl24RqwjN3XivgKyRhA5UeHw4tQBWIi6mou9Ttt0ky16vAsXWjt1
OXxIfi8ZAgMBAAECggEBAKfFGsZzYSrvwNvCAPcK30qTFLJ41AAcfBE4JipIvbz/
KhwP+Szeme5vlsYR/WXedUfL40a+qZEs4GWPwXqPnLBeQzOS+3NENpfHQPzjnFGu
382sFjj/llSLbvxArzkBN/md54cD/KSwo4VnCA588lpuBE4HTuMZuzZD9vImx9JC
75oGD1Acct+AFAxqf4aLDAf7XawNMTXYFmMICUtzJ/TlP4XiuSJgyt6tUvbE0SPq
PEP1iEohJCBVZrN1F1/rxW1AYKdXtso97iszObbTiHFIYyqqvBGMofgKiZXhtsLg
UCm7umD5SMeDEZWD+gGjtThepWbi+1eQezgolUMF/fECgYEA32S+VzgVwd5YNql/
8/rYKys7asacR6MZ6MP3zTpu8JU4NhuEnRi97J2nm/r4iwCO+TI1YC72r47iImp0
BQhs/4BMizZurMbEc7lvfgiDVZKCnV0iyfmi1k/K4IgVHUAFFX8JG5zSrT1eKXdh
cGrPU5UHO2F8iqaX2e6a/haha30CgYEA00G6m+v8gj2vb5h3bXnY+WPBatRdbpqn
DoLA/tASWhioY0lisiiOiziIFpeRjOQ6JEqgt+ro0yTKksHX54ti0yHL2QFi8acM
wXHTEHNo2S22DAe1fbUQuwbYzexxdscgqK+u2OBTQb9Ji7SzyMfPRZ5QdgRrri83
1Fo7+N86TM0CgYAB1Jh+rHX5LbI5WHA09pQ43lTRTilPqPV4Y8qvAtCP5hkc0GLo
yqAbxTrvW0IYGXwSbKflTt00mQ4fTBIBTI1gFpQJ+/syLTrE2/se5ED3PYkWcwHq
98Gu0d6Osm7B25lvEKhpcoKDauJPoqvIuQdT3v+9K9JSbIUIAx2AAX13HQKBgECN
ozImCEDcDJGzKzs+snhybRXx0qMLiuS6O7MhbZouUrYUJJ6AGh6cpakRo55D1yhj
zXylwYNTiLsTlJ/iTc5qU1n6PHvPKeyqlW4/ddh3SVuft2u0OmqMCw/RolJDQs2I
8Yq/8XDzvMt96jn+JG4HlFqbuzO8pfizogPIYo45AoGBAIkCD7iW7TMI38npwgbt
nnA/DiMdNorsUzp/zQdzGb4QGGldVSsIk+sgJkNMAMC9zJ2ih4jh2M/Lr1N3FsOC
PVReoeF9/PMjy0Hbdyyzd6XQhW+KLiyibgwMkdRYrAD0jXaSgDnwzIff2aPS1n/m
7eRMhYiUVDxVVO8REWVlEmlr
-----END PRIVATE KEY-----

View File

@ -0,0 +1,56 @@
-----BEGIN CERTIFICATE-----
MIIFHzCCBAegAwIBAgISBCjkb2j6sMEhSJmFWzQLY9ZFMA0GCSqGSIb3DQEBCwUA
MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD
EwJSMzAeFw0yMTAyMTcxMjA3MTZaFw0yMTA1MTgxMjA3MTZaMBgxFjAUBgNVBAMM
DSouYmVyLmFzc28uZnIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC4
WWRNeZeda6tJdMoq2BaVTTn9dPxv7PXmMAbyV4BBF0OjNiJiWcMUtTR2UEmnVLzD
gaIs09jwsz/ONgjlEjM0t3bUOX6DiZg5GCE454JzMNSJAbiBTmCIQmPK3G/T6ZCG
xCIIVVhBQ6IYZjZWVnULtwtTy4k4Ib8lD0XHZKo7vX5+2pycXAB0ndK8UoEDJf8L
d7OatFaNC4J3/D3qUvNVQufGUgxZPp5ETKSEDnxrl67A/coea54pP73cHyArdL97
QRgT0UAT2Nuwn/It6a5xdE/5gl24RqwjN3XivgKyRhA5UeHw4tQBWIi6mou9Ttt0
ky16vAsXWjt1OXxIfi8ZAgMBAAGjggJHMIICQzAOBgNVHQ8BAf8EBAMCBaAwHQYD
VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0O
BBYEFIPQnxhiMLua8dlOGgyjElFFSq9JMB8GA1UdIwQYMBaAFBQusxe3WFbLrlAJ
QOYfr52LFMLGMFUGCCsGAQUFBwEBBEkwRzAhBggrBgEFBQcwAYYVaHR0cDovL3Iz
Lm8ubGVuY3Iub3JnMCIGCCsGAQUFBzAChhZodHRwOi8vcjMuaS5sZW5jci5vcmcv
MBgGA1UdEQQRMA+CDSouYmVyLmFzc28uZnIwTAYDVR0gBEUwQzAIBgZngQwBAgEw
NwYLKwYBBAGC3xMBAQEwKDAmBggrBgEFBQcCARYaaHR0cDovL2Nwcy5sZXRzZW5j
cnlwdC5vcmcwggEDBgorBgEEAdZ5AgQCBIH0BIHxAO8AdQCUILwejtWNbIhzH4KL
IiwN0dpNXmxPlD1h204vWE2iwgAAAXewGhhfAAAEAwBGMEQCIC88mMBZPXR5wDuV
Q3+TNOafkGYD1RZMp88tiTI4j/EAAiAi8HdR5aYRkcjgVKsB8Dc/yA36dkQ9V/MH
3+50rvef4gB2AH0+8viP/4hVaCTCwMqeUol5K8UOeAl/LmqXaJl+IvDXAAABd7Aa
GQgAAAQDAEcwRQIhAIFWNgftG1lP3bFEMx90k9PGZyEQnAgt/I0rmUMFRsJVAiAT
y92UzhyUcE5ylL0ef33/f+y5Fk3TemdFDnWguX56CzANBgkqhkiG9w0BAQsFAAOC
AQEACiz/1Na1pfXd78CZ8jN65EcbhE8Z9JMUb8v4uOOf5whK6oHlkUgAvjIUzL5A
xfmUPUXdceSLOttgT6+wx5X8zyPSiUNQDEre8RMqGtRTX0uix5Gxp2nyQAOf7BdS
knzYkQ90HM5XHyXci0yqImT+g1XUz404DTXi4TtunVXaHTsnVK4VvJCMbitmwEjR
8u3xQrbqqBAkhVMeiywgNdSpkhDZz1Vl7NQgv0QmkdDfs2UM2cOt/XPlzyzYQ/DG
sRyJ+ItEm5XMlrh21ISmnHzeBNGLGnPBBNBYMX8ReLIw1VjQ+98adWs+jL6/Ac9Q
aNieo2Uw0oyYjOfiqjgqwmQ4Og==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEZTCCA02gAwIBAgIQQAF1BIMUpMghjISpDBbN3zANBgkqhkiG9w0BAQsFADA/
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
DkRTVCBSb290IENBIFgzMB4XDTIwMTAwNzE5MjE0MFoXDTIxMDkyOTE5MjE0MFow
MjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxCzAJBgNVBAMT
AlIzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuwIVKMz2oJTTDxLs
jVWSw/iC8ZmmekKIp10mqrUrucVMsa+Oa/l1yKPXD0eUFFU1V4yeqKI5GfWCPEKp
Tm71O8Mu243AsFzzWTjn7c9p8FoLG77AlCQlh/o3cbMT5xys4Zvv2+Q7RVJFlqnB
U840yFLuta7tj95gcOKlVKu2bQ6XpUA0ayvTvGbrZjR8+muLj1cpmfgwF126cm/7
gcWt0oZYPRfH5wm78Sv3htzB2nFd1EbjzK0lwYi8YGd1ZrPxGPeiXOZT/zqItkel
/xMY6pgJdz+dU/nPAeX1pnAXFK9jpP+Zs5Od3FOnBv5IhR2haa4ldbsTzFID9e1R
oYvbFQIDAQABo4IBaDCCAWQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8E
BAMCAYYwSwYIKwYBBQUHAQEEPzA9MDsGCCsGAQUFBzAChi9odHRwOi8vYXBwcy5p
ZGVudHJ1c3QuY29tL3Jvb3RzL2RzdHJvb3RjYXgzLnA3YzAfBgNVHSMEGDAWgBTE
p7Gkeyxx+tvhS5B1/8QVYIWJEDBUBgNVHSAETTBLMAgGBmeBDAECATA/BgsrBgEE
AYLfEwEBATAwMC4GCCsGAQUFBwIBFiJodHRwOi8vY3BzLnJvb3QteDEubGV0c2Vu
Y3J5cHQub3JnMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly9jcmwuaWRlbnRydXN0
LmNvbS9EU1RST09UQ0FYM0NSTC5jcmwwHQYDVR0OBBYEFBQusxe3WFbLrlAJQOYf
r52LFMLGMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjANBgkqhkiG9w0B
AQsFAAOCAQEA2UzgyfWEiDcx27sT4rP8i2tiEmxYt0l+PAK3qB8oYevO4C5z70kH
ejWEHx2taPDY/laBL21/WKZuNTYQHHPD5b1tXgHXbnL7KqC401dk5VvCadTQsvd8
S8MXjohyc9z9/G2948kLjmE6Flh9dDYrVYA9x2O+hEPGOaEOa1eePynBgPayvUfL
qjBstzLhWVQLGAkXXmNs+5ZnPBxzDJOLxhF2JIbeQAcH5H0tZrUlo5ZYyOqA7s9p
O5b85o3AM/OJ+CktFBQtfvBhcJVd9wvlwPsk+uyOy2HI7mNxKKgsBTt375teA2Tw
UdHkhVNcsAKX1H7GNNLOEADksd86wuoXvg==
-----END CERTIFICATE-----

View File

@ -0,0 +1,27 @@
-----BEGIN CERTIFICATE-----
MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow
SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT
GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF
q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8
SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0
Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA
a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj
/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T
AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG
CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv
bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k
c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw
VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC
ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz
MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu
Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF
AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo
uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/
wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu
X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG
PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6
KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==
-----END CERTIFICATE-----

View File

@ -0,0 +1,26 @@
-----BEGIN CERTIFICATE-----
MIIEZTCCA02gAwIBAgIQQAF1BIMUpMghjISpDBbN3zANBgkqhkiG9w0BAQsFADA/
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
DkRTVCBSb290IENBIFgzMB4XDTIwMTAwNzE5MjE0MFoXDTIxMDkyOTE5MjE0MFow
MjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxCzAJBgNVBAMT
AlIzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuwIVKMz2oJTTDxLs
jVWSw/iC8ZmmekKIp10mqrUrucVMsa+Oa/l1yKPXD0eUFFU1V4yeqKI5GfWCPEKp
Tm71O8Mu243AsFzzWTjn7c9p8FoLG77AlCQlh/o3cbMT5xys4Zvv2+Q7RVJFlqnB
U840yFLuta7tj95gcOKlVKu2bQ6XpUA0ayvTvGbrZjR8+muLj1cpmfgwF126cm/7
gcWt0oZYPRfH5wm78Sv3htzB2nFd1EbjzK0lwYi8YGd1ZrPxGPeiXOZT/zqItkel
/xMY6pgJdz+dU/nPAeX1pnAXFK9jpP+Zs5Od3FOnBv5IhR2haa4ldbsTzFID9e1R
oYvbFQIDAQABo4IBaDCCAWQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8E
BAMCAYYwSwYIKwYBBQUHAQEEPzA9MDsGCCsGAQUFBzAChi9odHRwOi8vYXBwcy5p
ZGVudHJ1c3QuY29tL3Jvb3RzL2RzdHJvb3RjYXgzLnA3YzAfBgNVHSMEGDAWgBTE
p7Gkeyxx+tvhS5B1/8QVYIWJEDBUBgNVHSAETTBLMAgGBmeBDAECATA/BgsrBgEE
AYLfEwEBATAwMC4GCCsGAQUFBwIBFiJodHRwOi8vY3BzLnJvb3QteDEubGV0c2Vu
Y3J5cHQub3JnMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly9jcmwuaWRlbnRydXN0
LmNvbS9EU1RST09UQ0FYM0NSTC5jcmwwHQYDVR0OBBYEFBQusxe3WFbLrlAJQOYf
r52LFMLGMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjANBgkqhkiG9w0B
AQsFAAOCAQEA2UzgyfWEiDcx27sT4rP8i2tiEmxYt0l+PAK3qB8oYevO4C5z70kH
ejWEHx2taPDY/laBL21/WKZuNTYQHHPD5b1tXgHXbnL7KqC401dk5VvCadTQsvd8
S8MXjohyc9z9/G2948kLjmE6Flh9dDYrVYA9x2O+hEPGOaEOa1eePynBgPayvUfL
qjBstzLhWVQLGAkXXmNs+5ZnPBxzDJOLxhF2JIbeQAcH5H0tZrUlo5ZYyOqA7s9p
O5b85o3AM/OJ+CktFBQtfvBhcJVd9wvlwPsk+uyOy2HI7mNxKKgsBTt375teA2Tw
UdHkhVNcsAKX1H7GNNLOEADksd86wuoXvg==
-----END CERTIFICATE-----

View File

@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC4WWRNeZeda6tJ
dMoq2BaVTTn9dPxv7PXmMAbyV4BBF0OjNiJiWcMUtTR2UEmnVLzDgaIs09jwsz/O
NgjlEjM0t3bUOX6DiZg5GCE454JzMNSJAbiBTmCIQmPK3G/T6ZCGxCIIVVhBQ6IY
ZjZWVnULtwtTy4k4Ib8lD0XHZKo7vX5+2pycXAB0ndK8UoEDJf8Ld7OatFaNC4J3
/D3qUvNVQufGUgxZPp5ETKSEDnxrl67A/coea54pP73cHyArdL97QRgT0UAT2Nuw
n/It6a5xdE/5gl24RqwjN3XivgKyRhA5UeHw4tQBWIi6mou9Ttt0ky16vAsXWjt1
OXxIfi8ZAgMBAAECggEBAKfFGsZzYSrvwNvCAPcK30qTFLJ41AAcfBE4JipIvbz/
KhwP+Szeme5vlsYR/WXedUfL40a+qZEs4GWPwXqPnLBeQzOS+3NENpfHQPzjnFGu
382sFjj/llSLbvxArzkBN/md54cD/KSwo4VnCA588lpuBE4HTuMZuzZD9vImx9JC
75oGD1Acct+AFAxqf4aLDAf7XawNMTXYFmMICUtzJ/TlP4XiuSJgyt6tUvbE0SPq
PEP1iEohJCBVZrN1F1/rxW1AYKdXtso97iszObbTiHFIYyqqvBGMofgKiZXhtsLg
UCm7umD5SMeDEZWD+gGjtThepWbi+1eQezgolUMF/fECgYEA32S+VzgVwd5YNql/
8/rYKys7asacR6MZ6MP3zTpu8JU4NhuEnRi97J2nm/r4iwCO+TI1YC72r47iImp0
BQhs/4BMizZurMbEc7lvfgiDVZKCnV0iyfmi1k/K4IgVHUAFFX8JG5zSrT1eKXdh
cGrPU5UHO2F8iqaX2e6a/haha30CgYEA00G6m+v8gj2vb5h3bXnY+WPBatRdbpqn
DoLA/tASWhioY0lisiiOiziIFpeRjOQ6JEqgt+ro0yTKksHX54ti0yHL2QFi8acM
wXHTEHNo2S22DAe1fbUQuwbYzexxdscgqK+u2OBTQb9Ji7SzyMfPRZ5QdgRrri83
1Fo7+N86TM0CgYAB1Jh+rHX5LbI5WHA09pQ43lTRTilPqPV4Y8qvAtCP5hkc0GLo
yqAbxTrvW0IYGXwSbKflTt00mQ4fTBIBTI1gFpQJ+/syLTrE2/se5ED3PYkWcwHq
98Gu0d6Osm7B25lvEKhpcoKDauJPoqvIuQdT3v+9K9JSbIUIAx2AAX13HQKBgECN
ozImCEDcDJGzKzs+snhybRXx0qMLiuS6O7MhbZouUrYUJJ6AGh6cpakRo55D1yhj
zXylwYNTiLsTlJ/iTc5qU1n6PHvPKeyqlW4/ddh3SVuft2u0OmqMCw/RolJDQs2I
8Yq/8XDzvMt96jn+JG4HlFqbuzO8pfizogPIYo45AoGBAIkCD7iW7TMI38npwgbt
nnA/DiMdNorsUzp/zQdzGb4QGGldVSsIk+sgJkNMAMC9zJ2ih4jh2M/Lr1N3FsOC
PVReoeF9/PMjy0Hbdyyzd6XQhW+KLiyibgwMkdRYrAD0jXaSgDnwzIff2aPS1n/m
7eRMhYiUVDxVVO8REWVlEmlr
-----END PRIVATE KEY-----