Add Dockerfile for Coolify deployment

This commit is contained in:
root
2026-06-12 16:12:34 +09:00
parent 051c830039
commit 0f4cf90695
2 changed files with 287 additions and 0 deletions

14
Dockerfile Normal file
View File

@@ -0,0 +1,14 @@
FROM node:22-slim
COPY bokca.pem /usr/local/share/ca-certificates/bokca.crt
RUN update-ca-certificates
ENV NODE_EXTRA_CA_CERTS=/usr/local/share/ca-certificates/bokca.crt
RUN npm config set cafile /usr/local/share/ca-certificates/bokca.crt
WORKDIR /app
COPY package*.json ./
RUN npm ci || npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]

273
bokca.pem Normal file
View File

@@ -0,0 +1,273 @@
-----BEGIN CERTIFICATE-----
MIIDYDCCAkigAwIBAgIJAPuhj7NS7LBiMA0GCSqGSIb3DQEBCwUAMD0xCzAJBgNV
BAYTAktSMRYwFAYDVQQKDA1CYW5rIG9mIEtvcmVhMRYwFAYDVQQDDA1CYW5rIG9m
IEtvcmVhMB4XDTE5MTExODA0NTgzNloXDTM5MTExMzA0NTgzNlowPTELMAkGA1UE
BhMCS1IxFjAUBgNVBAoMDUJhbmsgb2YgS29yZWExFjAUBgNVBAMMDUJhbmsgb2Yg
S29yZWEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDlJqJEQ4nvXaQw
v6VkluOSSRGWb5/ek94wb9LwENPgD1m6RGug+0UkwCe7gpIREA84zyoFV5n+Xzxc
A3Bd5mUsNt8LSEAvrAThEAvoMlGnhrV6KHf2TlvzuQrdfbIfq914k8wR+q4mW3Wo
5XlLHgUxTPWHoaP5XMPqL+/BdMJAHfP13vy9nUJMEIIo8E2BxqdKpXn5IYrL89u3
W6qwwR6U75ccc+EMZ7eZT99wjJEau41WIwHGLrCrFq/Guc56lqysxr4cnB20Acx+
rm0ELxFAoRGHjgVXh30PZuhQjqxf77fqHxdTy7LZy/+WY0iAehUtltqRQHrmlv18
IDOTE5s7AgMBAAGjYzBhMB0GA1UdDgQWBBSpHQfhEyAtzKWOMQXLzuX+r5snqzAf
BgNVHSMEGDAWgBSpHQfhEyAtzKWOMQXLzuX+r5snqzAPBgNVHRMBAf8EBTADAQH/
MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEAJY6RdBkF59BjOGYn
JP1fYnvjuZnydY3vqPJKZCeo0one5ytKiLvc/kFFTTOxyryvy0g58fNvKDGbE+U7
jwR7TaogJ0ofb0dZCu6ooC+yvcap9gpcpDe+ZvQdTnRjq7s7cU23i/WLjFHT5MFk
JR15M6tsB40sNqznLfLqTtOnUnrKUaPVhZLUDYWnj+2KT7mbg4etBrKlNniCqjQ5
96TtQuMB9WtAMg4lEPnRWcPYJ6u+jBnBzNewM3zXw/4YWP/ZaS8HIeES/7XeWnp0
Z69gZTSB/HshscKaO97zK/6QRac79qUHKNcANrLBY5+bZGHLVtptcK3Qe/kYP5Vd
w5drYA==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDnjCCA0SgAwIBAgIQT4x+aeHuBnIOaLABTlg4qTAKBggqhkjOPQQDAjA7MQsw
CQYDVQQGEwJVUzEeMBwGA1UEChMVR29vZ2xlIFRydXN0IFNlcnZpY2VzMQwwCgYD
VQQDEwNXRTEwHhcNMjYwNDI3MTQzMTQ1WhcNMjYwNzI2MTUzMTMxWjAUMRIwEAYD
VQQDEwlucG1qcy5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARy4U9hO0BH
i/VfExJ7vsqwhEAgMMzwORzEFvSSxQHeHYX0EqROKjvpOTbVLcTrXbJVfkdppNoQ
arL9nV2nVzZCo4ICTzCCAkswDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoGCCsG
AQUFBwMBMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLv4R1+bpWwp3dkt9N0ajaEj
RtaIMB8GA1UdIwQYMBaAFJB3kjVnxP+ozKnme9mAeXvMk/k4MF4GCCsGAQUFBwEB
BFIwUDAnBggrBgEFBQcwAYYbaHR0cDovL28ucGtpLmdvb2cvcy93ZTEvVDR3MCUG
CCsGAQUFBzAChhlodHRwOi8vaS5wa2kuZ29vZy93ZTEuY3J0MCEGA1UdEQQaMBiC
CW5wbWpzLm9yZ4ILKi5ucG1qcy5vcmcwEwYDVR0gBAwwCjAIBgZngQwBAgEwNgYD
VR0fBC8wLTAroCmgJ4YlaHR0cDovL2MucGtpLmdvb2cvd2UxL1pranpVWEtDVXdV
LmNybDCCAQQGCisGAQQB1nkCBAIEgfUEgfIA8AB2ANgJVTuUT3r/yBYZb5RPhauw
+Pxeh1UmDxXRLnK7RUsUAAABnc+RZS4AAAQDAEcwRQIhAKfxfRDBdAfGueIH8Hnr
Odu8JD3+ycGn5krgPysPhJyGAiAVQAu0sugKWhueuejKChpVoogrs/ZAzTKDYXRf
qgaysQB2AMs49xWJfIShRF9bwd37yW7ymlnNRwppBYWwyxTDFFjnAAABnc+RZPoA
AAQDAEcwRQIhAIxtz22w1jYtFxnbzULYBwRXSAPbz2WMf4V/1fXrAyZlAiAMtmqN
t2rI5z7BarS9i37N8PcXhK+BxMoFObQCIdPH0DAKBggqhkjOPQQDAgNIADBFAiBf
8y5B86JRimDcojkYELUZ6bfqMMC3Z3RG2zBxpl2x2AIhANZNdINu6rQK/OKdQ62d
m9nCAEN9+wvQZyS7qvfc8f8C
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICnzCCAiWgAwIBAgIQf/MZd5csIkp2FV0TttaF4zAKBggqhkjOPQQDAzBHMQsw
CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU
MBIGA1UEAxMLR1RTIFJvb3QgUjQwHhcNMjMxMjEzMDkwMDAwWhcNMjkwMjIwMTQw
MDAwWjA7MQswCQYDVQQGEwJVUzEeMBwGA1UEChMVR29vZ2xlIFRydXN0IFNlcnZp
Y2VzMQwwCgYDVQQDEwNXRTEwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARvzTr+
Z1dHTCEDhUDCR127WEcPQMFcF4XGGTfn1XzthkubgdnXGhOlCgP4mMTG6J7/EFmP
LCaY9eYmJbsPAvpWo4H+MIH7MA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggr
BgEFBQcDAQYIKwYBBQUHAwIwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU
kHeSNWfE/6jMqeZ72YB5e8yT+TgwHwYDVR0jBBgwFoAUgEzW63T/STaj1dj8tT7F
avCUHYwwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzAChhhodHRwOi8vaS5wa2ku
Z29vZy9yNC5jcnQwKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL2MucGtpLmdvb2cv
ci9yNC5jcmwwEwYDVR0gBAwwCjAIBgZngQwBAgEwCgYIKoZIzj0EAwMDaAAwZQIx
AOcCq1HW90OVznX+0RGU1cxAQXomvtgM8zItPZCuFQ8jSBJSjz5keROv9aYsAm5V
sQIwJonMaAFi54mrfhfoFNZEfuNMSQ6/bIBiNLiyoX46FohQvKeIoJ99cx7sUkFN
7uJW
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDejCCAmKgAwIBAgIQf+UwvzMTQ77dghYQST2KGzANBgkqhkiG9w0BAQsFADBX
MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEQMA4GA1UE
CxMHUm9vdCBDQTEbMBkGA1UEAxMSR2xvYmFsU2lnbiBSb290IENBMB4XDTIzMTEx
NTAzNDMyMVoXDTI4MDEyODAwMDA0MlowRzELMAkGA1UEBhMCVVMxIjAgBgNVBAoT
GUdvb2dsZSBUcnVzdCBTZXJ2aWNlcyBMTEMxFDASBgNVBAMTC0dUUyBSb290IFI0
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE83Rzp2iLYK5DuDXFgTB7S0md+8Fhzube
Rr1r1WEYNa5A3XP3iZEwWus87oV8okB2O6nGuEfYKueSkWpz6bFyOZ8pn6KY019e
WIZlD6GEZQbR3IvJx3PIjGov5cSr0R2Ko4H/MIH8MA4GA1UdDwEB/wQEAwIBhjAd
BgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDwYDVR0TAQH/BAUwAwEB/zAd
BgNVHQ4EFgQUgEzW63T/STaj1dj8tT7FavCUHYwwHwYDVR0jBBgwFoAUYHtmGkUN
l8qJUC99BM00qP/8/UswNgYIKwYBBQUHAQEEKjAoMCYGCCsGAQUFBzAChhpodHRw
Oi8vaS5wa2kuZ29vZy9nc3IxLmNydDAtBgNVHR8EJjAkMCKgIKAehhxodHRwOi8v
Yy5wa2kuZ29vZy9yL2dzcjEuY3JsMBMGA1UdIAQMMAowCAYGZ4EMAQIBMA0GCSqG
SIb3DQEBCwUAA4IBAQAYQrsPBtYDh5bjP2OBDwmkoWhIDDkic574y04tfzHpn+cJ
odI2D4SseesQ6bDrarZ7C30ddLibZatoKiws3UL9xnELz4ct92vID24FfVbiI1hY
+SW6FoVHkNeWIP0GCbaM4C6uVdF5dTUsMVs/ZbzNnIdCp5Gxmx5ejvEau8otR/Cs
kGN+hr/W5GvT1tMBjgWKZ1i4//emhA1JG1BbPzoLJQvyEotc03lXjTaCzv8mEbep
8RqZ7a2CPsgRbuvTPBwcOMBBmuFeU88+FSBX6+7iP0il8b4Z0QFqIwwMHfs/L6K1
vepuoxtGzi4CZ68zJpiq1UvSqTbFJjtbD4seiMHl
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIE+TCCA+GgAwIBAgISBa5cTiR37kspjA50/ldBYd8zMA0GCSqGSIb3DQEBCwUA
MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD
EwNZUjIwHhcNMjYwNjAzMDI0MTQxWhcNMjYwOTAxMDI0MTQwWjAaMRgwFgYDVQQD
Ew9naXRlYS5ib2tkZXYuaW4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQDdgZkGwk9nqMgdQ0c8ClRSOphiPHTH4rlWHzojE7C17isKlUH09+1sBj/UxCFP
LZzjyu+Gbk+KNP8NoGTiVDzHq7kyMZzRgEuez5RO6vGSTXcYg6wOF7/J1hhsppoX
lsDCp3SmAImuTxUvNnKFF+lelLc629IqPKhw205Y0t+tGqS1bETNqI0/Nt9Fjnqd
f8rm1ftaAo3MWyYMzbX0MhQksokps2g4yHPmU1ajCigjgpmPonJz7oYaCazWPTFo
jv8YCaS5Og22aNGe3/F8XqoJ7POTabRnPFMnSKG7EVwAvt6MdMffJi2CJxrVVmeX
1+GaeuoTg/3UrbDJ+SmCACmrAgMBAAGjggIeMIICGjAOBgNVHQ8BAf8EBAMCBaAw
EwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQURMcP
aj8rwpXAW9UMw7annnMTNYEwHwYDVR0jBBgwFoAUQBUtJnntMiCe35pyHdYyH4EM
gQwwMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzAChhdodHRwOi8veXIyLmkubGVu
Y3Iub3JnLzAaBgNVHREEEzARgg9naXRlYS5ib2tkZXYuaW4wEwYDVR0gBAwwCjAI
BgZngQwBAgEwLgYDVR0fBCcwJTAjoCGgH4YdaHR0cDovL3lyMi5jLmxlbmNyLm9y
Zy81Mi5jcmwwggENBgorBgEEAdZ5AgQCBIH+BIH7APkAfgAai51rD/6/gbR5OcbS
MQqG1tEC1PBG4hgsneNfXiYl7wAAAZ6LkTw4AAgAAAUAGeooywQDAEcwRQIgZLgO
sEKqvyxL6dbWPA1VGS+wtb8+UdcK5nR17KzV6dACIQCS2napByjERJx1VxJ3v7cD
X3HjMByx542hNE0I8+jGmQB3AK9niDtXsE7dj6bZfvYuqOuBCsdxYPAkXlXWDC/n
hYc6AAABnouRPn4AAAQDAEgwRgIhAN50M1YsRb2R/is9rvJEJYTCkNYLMRwMs4t3
jNlUG1xnAiEAo0PQc54AJJuDL6aITXFH5e+ydXKQ8B5kdUSlrrgvYC4wDQYJKoZI
hvcNAQELBQADggEBAJ3Pli8WjZ1Dns0J1jzh+UEDUYR5q9KfSR+uJWDhpmGzMc9Q
+B8FLVOLh0TbWcYucUrEPNBa9snH+7Q+5djoenC7F8IkhcIWsgMS0/JGaTvUzPR1
mMR3vpETCA0/MYvRYxuBBkp62nLukpkAvAE+uRoifJKLHjClwJiyR/BgIxMWO7CA
9RnvbXwZZKsi/M3EKCL2CESkc7wHIYxDxWReOf90irDeKRzWsuqjhaAujf7crDpV
Dfj2arlWgvjcSn6B+PWZ/vk4wYjT+9+L+4hqFcsq9NbTpB9ocyb+H6QGUHOLzRbt
bPkdQLpTjPIMBXtec018G516Yf1LguvDGzoL/Vs=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIE2jCCAsKgAwIBAgIQTr0klH4k05SALYSlL9WzGTANBgkqhkiG9w0BAQsFADAu
MQswCQYDVQQGEwJVUzENMAsGA1UEChMESVNSRzEQMA4GA1UEAxMHUm9vdCBZUjAe
Fw0yNTA5MDMwMDAwMDBaFw0yODA5MDIyMzU5NTlaMDMxCzAJBgNVBAYTAlVTMRYw
FAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQDEwNZUjIwggEiMA0GCSqGSIb3
DQEBAQUAA4IBDwAwggEKAoIBAQDZ0LxwBppqh84luqMerV/eeL/fXQ7mLQQv1Lnp
WKZbyvGpx6wh6AfnslAnF6ewTkcHA+gSOoBvm3Dfm06AuGiF+KRut4fAcowqnAQQ
CW98+QPP/eOv/wug7Iyk4NkOxf2I6g2f55T6nJoOTLFcukeRq80JGQEYan+dPFr9
OGUgQK2hGKgNkW87pappsOAuUJcroYhRt5uUis4qaZireiseu32gzDJNBAiKtsvd
6HX4v25bpkRNcS/B/Gtc9kVbUpD+2PLPxdei3Tim55k4tfAEXwD2qyiPTxrTNq6l
N+AMr5g2c1dNqkOTwjxeV6L5lpP1rGiYvLnRaPlOqyZRPW+5AgMBAAGjge4wgesw
DgYDVR0PAQH/BAQDAgGGMBMGA1UdJQQMMAoGCCsGAQUFBwMBMBIGA1UdEwEB/wQI
MAYBAf8CAQAwHQYDVR0OBBYEFEAVLSZ57TIgnt+ach3WMh+BDIEMMB8GA1UdIwQY
MBaAFN7nW2DQIm1AKH0/DQH+pLVStFGUMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEF
BQcwAoYWaHR0cDovL3lyLmkubGVuY3Iub3JnLzATBgNVHSAEDDAKMAgGBmeBDAEC
ATAnBgNVHR8EIDAeMBygGqAYhhZodHRwOi8veXIuYy5sZW5jci5vcmcvMA0GCSqG
SIb3DQEBCwUAA4ICAQB0ZUQWZ9/Yn9COEpo+JfecMnB0h0vwDm/M66IqXqw3LoaL
mx9lZvRTeDIS67PUeI3yCA2W6PKRD0/FE/G57lOmS+Xy5AaaL00ICGOqjNcCaMWW
8o8nevHOd4i4lqgtznE/28QwlcdJyF8yBiWHpnyjhEpmNWJURgOCOg2xpwRMBCsj
MScqYPtOhBeuYQvSwAEeTML2Ukh6uGuX4E14q65Ja8cdjF5bAldnP1eE4FBaAwsZ
G2fOqqrKV03Y85Nw2btedP1AtliQuJZs/Jo/gXxXdc7LrH3McgnpnbTiAncX7yES
hP6kzQejllqMCIt52HOjxDGWafS7Xw+DKwqmH+Eqy8dcbOuag/1AYlQoKNVK3F5q
Hh6tEDiMqQcLIibGKteE6iHo4A/bIScbzrhXUYuism42ZYzmc48FMVIH3qy4L84E
TdAH2gtxw0PAhvRVXp8HP7wfngpzsN/8xOTpeRSbM4+Qbc56G6+Bifmv6sk1ieQb
NA3wJdl4DDUuQSV8hBgx6zoI1ZSGORprDFux7c6rhc77QZMSRrEgomBeklervEve
86ylWmZ3WWHV6RLMi8xNvjd71r4EPIGgY7BZU/VPBkq+uA7Gb6mbJnFgV43uh3xy
LRFgxIAphIukwTGSMZZR+AI+Qnp0BYTWovHXozOf3H8r6hozEoT02JHn0AeTfA==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
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
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDADCCAeigAwIBAgIRAKlBzT0r1A9bOfS3HrkbxakwDQYJKoZIhvcNAQELBQAw
PTELMAkGA1UEBhMCS1IxFjAUBgNVBAoMDUJhbmsgb2YgS29yZWExFjAUBgNVBAMM
DUJhbmsgb2YgS29yZWEwHhcNMjYwNjAzMDI0MTQxWhcNMjYwOTAxMDI0MTQwWjAa
MRgwFgYDVQQDEw9naXRlYS5ib2tkZXYuaW4wggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQC3ip1ISwc0Z0DN2qmO9LSrer4Dx0tK3eV7NeOpvNYFms03rxE5
xRc6HvauuhV7XGbeTcX0V96+FyPokFmkfASwLTTNDljPVHnVgEjMMz19juz3YtdU
hdloRLpuOB/yMxw7uw0a0xXP+XhLq65vi0M7kJTw80zGoHHbp0Wi4LEo4zrWoqk3
SNGoooe6oykMRJQp8mj7yYztPbuRAMLt9dfS+G5He1wCGPK+YZVTuAD3oRpWqtQ/
jOnAXkiIXWLksm70k9GuyzxhzUGrAzDRptVdf+zWV7c3wsuWEBZ5mwurs1pqdo7Y
Y3ww/CLiPUaGtvwbuVl6/Gk2rZZ1FM0vAuMBAgMBAAGjHjAcMBoGA1UdEQQTMBGC
D2dpdGVhLmJva2Rldi5pbjANBgkqhkiG9w0BAQsFAAOCAQEA2PEhvd353C9YU7U0
nmZ3eo+hZnPH1jkOWXPn0WaFosGnZtCOgB9GKHcSx2xuYe0ZMyfhsTh96Ke6Yf/W
EEtw8LCO0Sv/nXptvAIrkAgbfA83IoltTsBPDHfJ7AdR1cTtXoFkNMBwdSROzI5i
P7CATmyOBKrtbXFIgeYR0xMnDYZDf27L5UJLlfEEUlWor/nNp6wfHAQB9rQoKIag
iGCjS7bB/DFPZEbLJbZHG6hL2uaUhvFVEnKU/c/sQptXUDo6JGJC7z65FjUsJnYO
V/iXTnQfyes+CBglm84AYjFuXXwz5rux11vET08dxH/vaf/ZewaU/R4VySJqFkJ8
Squo2w==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDYDCCAkigAwIBAgIJAPuhj7NS7LBiMA0GCSqGSIb3DQEBCwUAMD0xCzAJBgNV
BAYTAktSMRYwFAYDVQQKDA1CYW5rIG9mIEtvcmVhMRYwFAYDVQQDDA1CYW5rIG9m
IEtvcmVhMB4XDTE5MTExODA0NTgzNloXDTM5MTExMzA0NTgzNlowPTELMAkGA1UE
BhMCS1IxFjAUBgNVBAoMDUJhbmsgb2YgS29yZWExFjAUBgNVBAMMDUJhbmsgb2Yg
S29yZWEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDlJqJEQ4nvXaQw
v6VkluOSSRGWb5/ek94wb9LwENPgD1m6RGug+0UkwCe7gpIREA84zyoFV5n+Xzxc
A3Bd5mUsNt8LSEAvrAThEAvoMlGnhrV6KHf2TlvzuQrdfbIfq914k8wR+q4mW3Wo
5XlLHgUxTPWHoaP5XMPqL+/BdMJAHfP13vy9nUJMEIIo8E2BxqdKpXn5IYrL89u3
W6qwwR6U75ccc+EMZ7eZT99wjJEau41WIwHGLrCrFq/Guc56lqysxr4cnB20Acx+
rm0ELxFAoRGHjgVXh30PZuhQjqxf77fqHxdTy7LZy/+WY0iAehUtltqRQHrmlv18
IDOTE5s7AgMBAAGjYzBhMB0GA1UdDgQWBBSpHQfhEyAtzKWOMQXLzuX+r5snqzAf
BgNVHSMEGDAWgBSpHQfhEyAtzKWOMQXLzuX+r5snqzAPBgNVHRMBAf8EBTADAQH/
MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEAJY6RdBkF59BjOGYn
JP1fYnvjuZnydY3vqPJKZCeo0one5ytKiLvc/kFFTTOxyryvy0g58fNvKDGbE+U7
jwR7TaogJ0ofb0dZCu6ooC+yvcap9gpcpDe+ZvQdTnRjq7s7cU23i/WLjFHT5MFk
JR15M6tsB40sNqznLfLqTtOnUnrKUaPVhZLUDYWnj+2KT7mbg4etBrKlNniCqjQ5
96TtQuMB9WtAMg4lEPnRWcPYJ6u+jBnBzNewM3zXw/4YWP/ZaS8HIeES/7XeWnp0
Z69gZTSB/HshscKaO97zK/6QRac79qUHKNcANrLBY5+bZGHLVtptcK3Qe/kYP5Vd
w5drYA==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDnjCCA0SgAwIBAgIQT4x+aeHuBnIOaLABTlg4qTAKBggqhkjOPQQDAjA7MQsw
CQYDVQQGEwJVUzEeMBwGA1UEChMVR29vZ2xlIFRydXN0IFNlcnZpY2VzMQwwCgYD
VQQDEwNXRTEwHhcNMjYwNDI3MTQzMTQ1WhcNMjYwNzI2MTUzMTMxWjAUMRIwEAYD
VQQDEwlucG1qcy5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARy4U9hO0BH
i/VfExJ7vsqwhEAgMMzwORzEFvSSxQHeHYX0EqROKjvpOTbVLcTrXbJVfkdppNoQ
arL9nV2nVzZCo4ICTzCCAkswDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoGCCsG
AQUFBwMBMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLv4R1+bpWwp3dkt9N0ajaEj
RtaIMB8GA1UdIwQYMBaAFJB3kjVnxP+ozKnme9mAeXvMk/k4MF4GCCsGAQUFBwEB
BFIwUDAnBggrBgEFBQcwAYYbaHR0cDovL28ucGtpLmdvb2cvcy93ZTEvVDR3MCUG
CCsGAQUFBzAChhlodHRwOi8vaS5wa2kuZ29vZy93ZTEuY3J0MCEGA1UdEQQaMBiC
CW5wbWpzLm9yZ4ILKi5ucG1qcy5vcmcwEwYDVR0gBAwwCjAIBgZngQwBAgEwNgYD
VR0fBC8wLTAroCmgJ4YlaHR0cDovL2MucGtpLmdvb2cvd2UxL1pranpVWEtDVXdV
LmNybDCCAQQGCisGAQQB1nkCBAIEgfUEgfIA8AB2ANgJVTuUT3r/yBYZb5RPhauw
+Pxeh1UmDxXRLnK7RUsUAAABnc+RZS4AAAQDAEcwRQIhAKfxfRDBdAfGueIH8Hnr
Odu8JD3+ycGn5krgPysPhJyGAiAVQAu0sugKWhueuejKChpVoogrs/ZAzTKDYXRf
qgaysQB2AMs49xWJfIShRF9bwd37yW7ymlnNRwppBYWwyxTDFFjnAAABnc+RZPoA
AAQDAEcwRQIhAIxtz22w1jYtFxnbzULYBwRXSAPbz2WMf4V/1fXrAyZlAiAMtmqN
t2rI5z7BarS9i37N8PcXhK+BxMoFObQCIdPH0DAKBggqhkjOPQQDAgNIADBFAiBf
8y5B86JRimDcojkYELUZ6bfqMMC3Z3RG2zBxpl2x2AIhANZNdINu6rQK/OKdQ62d
m9nCAEN9+wvQZyS7qvfc8f8C
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICnzCCAiWgAwIBAgIQf/MZd5csIkp2FV0TttaF4zAKBggqhkjOPQQDAzBHMQsw
CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU
MBIGA1UEAxMLR1RTIFJvb3QgUjQwHhcNMjMxMjEzMDkwMDAwWhcNMjkwMjIwMTQw
MDAwWjA7MQswCQYDVQQGEwJVUzEeMBwGA1UEChMVR29vZ2xlIFRydXN0IFNlcnZp
Y2VzMQwwCgYDVQQDEwNXRTEwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARvzTr+
Z1dHTCEDhUDCR127WEcPQMFcF4XGGTfn1XzthkubgdnXGhOlCgP4mMTG6J7/EFmP
LCaY9eYmJbsPAvpWo4H+MIH7MA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggr
BgEFBQcDAQYIKwYBBQUHAwIwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU
kHeSNWfE/6jMqeZ72YB5e8yT+TgwHwYDVR0jBBgwFoAUgEzW63T/STaj1dj8tT7F
avCUHYwwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzAChhhodHRwOi8vaS5wa2ku
Z29vZy9yNC5jcnQwKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL2MucGtpLmdvb2cv
ci9yNC5jcmwwEwYDVR0gBAwwCjAIBgZngQwBAgEwCgYIKoZIzj0EAwMDaAAwZQIx
AOcCq1HW90OVznX+0RGU1cxAQXomvtgM8zItPZCuFQ8jSBJSjz5keROv9aYsAm5V
sQIwJonMaAFi54mrfhfoFNZEfuNMSQ6/bIBiNLiyoX46FohQvKeIoJ99cx7sUkFN
7uJW
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDejCCAmKgAwIBAgIQf+UwvzMTQ77dghYQST2KGzANBgkqhkiG9w0BAQsFADBX
MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEQMA4GA1UE
CxMHUm9vdCBDQTEbMBkGA1UEAxMSR2xvYmFsU2lnbiBSb290IENBMB4XDTIzMTEx
NTAzNDMyMVoXDTI4MDEyODAwMDA0MlowRzELMAkGA1UEBhMCVVMxIjAgBgNVBAoT
GUdvb2dsZSBUcnVzdCBTZXJ2aWNlcyBMTEMxFDASBgNVBAMTC0dUUyBSb290IFI0
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE83Rzp2iLYK5DuDXFgTB7S0md+8Fhzube
Rr1r1WEYNa5A3XP3iZEwWus87oV8okB2O6nGuEfYKueSkWpz6bFyOZ8pn6KY019e
WIZlD6GEZQbR3IvJx3PIjGov5cSr0R2Ko4H/MIH8MA4GA1UdDwEB/wQEAwIBhjAd
BgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDwYDVR0TAQH/BAUwAwEB/zAd
BgNVHQ4EFgQUgEzW63T/STaj1dj8tT7FavCUHYwwHwYDVR0jBBgwFoAUYHtmGkUN
l8qJUC99BM00qP/8/UswNgYIKwYBBQUHAQEEKjAoMCYGCCsGAQUFBzAChhpodHRw
Oi8vaS5wa2kuZ29vZy9nc3IxLmNydDAtBgNVHR8EJjAkMCKgIKAehhxodHRwOi8v
Yy5wa2kuZ29vZy9yL2dzcjEuY3JsMBMGA1UdIAQMMAowCAYGZ4EMAQIBMA0GCSqG
SIb3DQEBCwUAA4IBAQAYQrsPBtYDh5bjP2OBDwmkoWhIDDkic574y04tfzHpn+cJ
odI2D4SseesQ6bDrarZ7C30ddLibZatoKiws3UL9xnELz4ct92vID24FfVbiI1hY
+SW6FoVHkNeWIP0GCbaM4C6uVdF5dTUsMVs/ZbzNnIdCp5Gxmx5ejvEau8otR/Cs
kGN+hr/W5GvT1tMBjgWKZ1i4//emhA1JG1BbPzoLJQvyEotc03lXjTaCzv8mEbep
8RqZ7a2CPsgRbuvTPBwcOMBBmuFeU88+FSBX6+7iP0il8b4Z0QFqIwwMHfs/L6K1
vepuoxtGzi4CZ68zJpiq1UvSqTbFJjtbD4seiMHl
-----END CERTIFICATE-----