diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ab72884..ffe8fae 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -10,48 +10,42 @@ stages: - build - deploy clear-old-images: + tags: + - frontbuild extends: .clean_template variables: - STAGING_BRANCH: "main" + STAGING_BRANCH: "staging" PRODUCTION_BRANCH: "main" image: name: docker/compose:1.28.0 entrypoint: [""] before_script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - docker image ls - script: - - docker system prune -af build-app: extends: .build_template + tags: + - frontbuild before_script: - - echo PRODUCTION_BRANCH = $PRODUCTION_BRANCH - - echo STAGING_BRANCH = $STAGING_BRANCH - - echo CI_REGISTRY = $CI_REGISTRY - - echo CI_REGISTRY_USER = $CI_REGISTRY_USER - - echo CI_PROJECT_DIR = $CI_PROJECT_DIR - - echo CI_REGISTRY_IMAGE = $CI_REGISTRY_IMAGE - - echo CI_COMMIT_REF_SLUG = $CI_COMMIT_REF_SLUG - - echo DOCKER_BUILD_PATH = $DOCKER_BUILD_PATH - image: - name: gcr.io/kaniko-project/executor:debug - entrypoint: [""] + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY variables: DOCKER_BUILD_PATH: "./Dockerfile" - STAGING_BRANCH: "main" + STAGING_BRANCH: "staging" PRODUCTION_BRANCH: "main" script: - - mkdir -p /kaniko/.docker - - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json - - | - /kaniko/executor --context $CI_PROJECT_DIR \ - --cache=true --cache-repo=$CI_REGISTRY_IMAGE \ - --dockerfile $CI_PROJECT_DIR/$DOCKER_BUILD_PATH --use-new-run --snapshotMode=redo \ - --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID + - docker build -t $CI_REGISTRY_IMAGE/$CI_COMMIT_BRANCH:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID --build-arg GITLAB_TOKEN=$GITLAB_TOKEN $CI_PROJECT_DIR + - docker push $CI_REGISTRY_IMAGE/$CI_COMMIT_BRANCH:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID -deploy-to-staging: +deploy-to-prod: + tags: + - prod + - front extends: .deploy_template variables: - DEPLOY_TO: "staging" - BRANCH: "main" - + PRODUCTION_BRANCH: main + before_script: + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + rules: + - if: "$CI_COMMIT_BRANCH == $PRODUCTION_BRANCH" + script: + - docker login -u $REGISTRY_USER -p $REGISTRY_TOKEN $CI_REGISTRY + - docker-compose -f deployments/$CI_COMMIT_BRANCH/docker-compose.yaml up -d diff --git a/default.conf b/default.conf index 17c349c..684f091 100644 --- a/default.conf +++ b/default.conf @@ -5,258 +5,9 @@ server { server_name _; # managed by Certbot client_max_body_size 70M; - location /auth { - if ($request_method = OPTIONS) { - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type,authorization always; - return 200; - } - if ($host = admin.pena.digital) { - proxy_pass http://10.6.0.11:59301; - } - if ($host != admin.pena.digital) { - proxy_pass http://10.6.0.11:59300; - } - proxy_hide_header Access-Control-Allow-Origin; - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - } - location /user/ { - if ($request_method = OPTIONS) { - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type,authorization always; - add_header Access-Control-Allow-Methods OPTIONS,GET,POST,PATCH,PUT,DELETE; - return 200; - } - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type,authorization always; - add_header Access-Control-Allow-Methods OPTIONS,GET,POST,PATCH,PUT,DELETE; - proxy_pass http://10.6.0.11:59300; - } - - location /swagger/ { - proxy_pass http://10.6.0.11:59300/; - } - - location /heruvym/ { - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type,authorization,sess always; - add_header Access-Control-Allow-Methods OPTIONS,GET,POST,PATCH,PUT,DELETE; - proxy_set_header Referer $host; - proxy_set_header Origin $http_origin; - proxy_set_header Connection ''; - proxy_http_version 1.1; - chunked_transfer_encoding off; - proxy_buffering off; - proxy_cache off; - proxy_pass https://10.6.0.11:1488/; - } - - location /strator/ { - if ($request_method = OPTIONS) { - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type,authorization always; - add_header Access-Control-Allow-Methods OPTIONS,GET,POST,PATCH,PUT,DELETE; - return 200; - } - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type,authorization always; - add_header Access-Control-Allow-Methods OPTIONS,GET,POST,PATCH,PUT,DELETE; - proxy_pass http://10.6.0.11:59303/; - } - - location /customer/ { - if ($request_method = OPTIONS) { - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type,authorization always; - add_header Access-Control-Allow-Methods OPTIONS,GET,POST,PATCH,PUT,DELETE; - return 200; - } - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type,authorization always; - add_header Access-Control-Allow-Methods OPTIONS,GET,POST,PATCH,PUT,DELETE; - proxy_pass http://10.6.0.11:8065/; - } - - location /answer/ { - if ($request_method = OPTIONS) { - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type,authorization always; - add_header Access-Control-Allow-Methods OPTIONS,GET,POST,PATCH,PUT,DELETE; - return 200; - } - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type,authorization always; - add_header Access-Control-Allow-Methods OPTIONS,GET,POST,PATCH,PUT,DELETE; - proxy_pass http://10.6.0.23:1490/; - } - - location /squiz/ { - if ($request_method = OPTIONS) { - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type,authorization always; - add_header Access-Control-Allow-Methods OPTIONS,GET,POST,PATCH,PUT,DELETE; - return 200; - } - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type,authorization always; - add_header Access-Control-Allow-Methods OPTIONS,GET,POST,PATCH,PUT,DELETE; - proxy_pass http://10.6.0.23:1488/; - } - - location /squizstorer/ { - if ($request_method = OPTIONS) { - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type,authorization always; - add_header Access-Control-Allow-Methods OPTIONS,GET,POST,PATCH,PUT,DELETE; - return 200; - } - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type,authorization always; - add_header Access-Control-Allow-Methods OPTIONS,GET,POST,PATCH,PUT,DELETE; - proxy_set_header Referer $host; - proxy_set_header Origin $http_origin; - proxy_set_header Connection ''; - proxy_http_version 1.1; - chunked_transfer_encoding off; - proxy_buffering off; - proxy_cache off; - proxy_pass http://10.6.0.23:1489/; - } - - location /price/ { - if ($request_method = OPTIONS) { - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type,authorization always; - add_header Access-Control-Allow-Methods OPTIONS,GET,POST,PATCH,PUT,DELETE; - return 200; - } - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type,authorization always; - add_header Access-Control-Allow-Methods OPTIONS,GET,POST,PATCH,PUT,DELETE; - proxy_pass http://10.6.0.11:8001/; - } - location /feedback/ { - if ($request_method = OPTIONS) { - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type always; - return 200; - } - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type always; - proxy_set_header Host $host; - proxy_pass http://10.6.0.17:8006/; - } - location /verification1 { - if ($request_method = OPTIONS) { - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type always; - add_header Access-Control-Allow-Methods GET; - - return 200; - } - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type always; - add_header Access-Control-Allow-Methods GET; - chunked_transfer_encoding off; - proxy_buffering off; - proxy_cache off; - proxy_pass https://storage.yandexcloud.net; - } - location /squizimages { - if ($request_method = OPTIONS) { - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type always; - add_header Access-Control-Allow-Methods GET; - - return 200; - } - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type always; - add_header Access-Control-Allow-Methods GET; - chunked_transfer_encoding off; - proxy_buffering off; - proxy_cache off; - proxy_pass https://storage.yandexcloud.net; - } - location /verification/ { - if ($request_method = OPTIONS) { - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type,authorization always; - add_header Access-Control-Allow-Methods OPTIONS,GET,POST,PATCH,PUT,DELETE; - return 200; - } - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type,authorization always; - add_header Access-Control-Allow-Methods OPTIONS,GET,POST,PATCH,PUT,DELETE; - proxy_set_header Referer $host; - proxy_set_header Origin $http_origin; - proxy_set_header Connection ''; - proxy_http_version 1.1; - chunked_transfer_encoding off; - proxy_buffering off; - proxy_cache off; - proxy_pass http://10.6.0.17:7035/; - } location / { - if ($host = hub.pena.digital) { - proxy_pass http://hub; - } - if ($host = docs.pena.digital) { - proxy_pass http://docs; - } - if ($host = admin.pena.digital) { - proxy_pass http://admin_front; - } - if ($host = services.pena.digital) { - proxy_pass http://services; - } - if ($host = links.pena.digital) { - proxy_pass http://dwarfener; - } - if ($host = metrica.pena.digital) { - proxy_pass http://metrica; - } - if ($host = hbpn.link) { - proxy_pass http://respondent; - } - if ($host = oauth.pena.digital) { - add_header Access-Control-Allow-Origin $http_origin always; - add_header Access-Control-Allow-Credentials true always; - add_header Access-Control-Allow-Headers content-type,authorization always; - add_header Access-Control-Allow-Methods OPTIONS,GET,POST,PATCH,PUT,DELETE; - proxy_pass http://10.6.0.11:59344; - } - - if ($host = newerait.pena.digital) { - proxy_pass http://squizlanding; - } - if ($host = squiz.pena.digital) { + if ($host = quiz.pena.digital) { proxy_pass http://squiz; } } diff --git a/deployments/main/docker-compose.yaml b/deployments/main/docker-compose.yaml new file mode 100644 index 0000000..29fe4ed --- /dev/null +++ b/deployments/main/docker-compose.yaml @@ -0,0 +1,7 @@ +services: + router: + image: $CI_REGISTRY_IMAGE/main:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID + ports: + - 80:80 + - 443:443 + restart: always diff --git a/fullchain.pem b/fullchain.pem index cbe7928..7b78cad 100755 --- a/fullchain.pem +++ b/fullchain.pem @@ -1,30 +1,31 @@ -----BEGIN CERTIFICATE----- -MIIE2jCCA8KgAwIBAgISA//+IOgyhw4Ko9PA9pcrgADhMA0GCSqGSIb3DQEBCwUA +MIIE7TCCA9WgAwIBAgISA523BUijPZMwu4UFaMyPRGs2MA0GCSqGSIb3DQEBCwUA MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD -EwJSMzAeFw0yMzEyMTIwNzU5NTZaFw0yNDAzMTEwNzU5NTVaMBwxGjAYBgNVBAMT -EWRvY3MucGVuYS5kaWdpdGFsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqxiH -KmvLPlGbIqF/vSq2i2ZkK6XyeDT12WZR+t+UBMRtyJPbpf/Rr3cEhgOzprzmdrT6 -TbP6xpcuS31nb3H3AKOCAskwggLFMA4GA1UdDwEB/wQEAwIHgDAdBgNVHSUEFjAU -BggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU8uFS -aTCM0ITQER5gr1UIeAGUPwgwHwYDVR0jBBgwFoAUFC6zF7dYVsuuUAlA5h+vnYsU -wsYwVQYIKwYBBQUHAQEESTBHMCEGCCsGAQUFBzABhhVodHRwOi8vcjMuby5sZW5j -ci5vcmcwIgYIKwYBBQUHMAKGFmh0dHA6Ly9yMy5pLmxlbmNyLm9yZy8wgc8GA1Ud -EQSBxzCBxIISYWRtaW4ucGVuYS5kaWdpdGFsghFkb2NzLnBlbmEuZGlnaXRhbIIJ -aGJwbi5saW5rghBodWIucGVuYS5kaWdpdGFsghJsaW5rcy5wZW5hLmRpZ2l0YWyC -FG1ldHJpY2EucGVuYS5kaWdpdGFsghVuZXdlcmFpdC5wZW5hLmRpZ2l0YWyCEm9h -dXRoLnBlbmEuZGlnaXRhbIIVc2VydmljZXMucGVuYS5kaWdpdGFsghJzcXVpei5w -ZW5hLmRpZ2l0YWwwEwYDVR0gBAwwCjAIBgZngQwBAgEwggEGBgorBgEEAdZ5AgQC -BIH3BIH0APIAdwBIsONr2qZHNA/lagL6nTDrHFIBy1bdLIHZu7+rOdiEcwAAAYxd -QRrcAAAEAwBIMEYCIQCWfL9GE8Ks9+ymFT0fZX07MYIJAlSnodusOArxCmyUzgIh -ALEZ8HnCtuQRLdGGcKAQVciA5ZL228yL3LULI/KdlqbgAHcAouK/1h7eLy8HoNZO -bTen3GVDsMa1LqLat4r4mm31F9gAAAGMXUEa7gAABAMASDBGAiEAqHIycZK98/df -Mq0HtzJ10vtL8Z7FrghwHUdLgqlbw3gCIQDVRzpmE7t1UYJx6rvT2VqbJzeH0nc3 -mTdIdYSOSfzTgDANBgkqhkiG9w0BAQsFAAOCAQEADcEG9kgNJpd6P6in2bdEyBq/ -9kkJj9j78mZUpw0vxCOjCCB518/8xM2VSqhiKr4w9KVVmGaEdLd7Xc3Vswn8i66t -EKj9oRka7blcfWflaHu8eCTLgtvVl1Ab0FLas28ycj0s7DKfpAcAQKcpXYfkkuiN -pLzXDvnQtAajcEqxA30dZ/E6LP9IWcpykiyhg03C55NfP3y6km2nKBh1JpZv2AP4 -AqHpxlbrbRJgZGOjehujghcROYVirpKP0UNnKlJ4Ezi2Sj1fd0f3eGFS6VKYBh76 -sEkDGdNjSPBnskhJIQTtK3uhir7hlZs1LkwgVDrhteT2k7qGp5BxC5IO7cbBag== +EwJSMzAeFw0yNDAxMTUxNDUxMjFaFw0yNDA0MTQxNDUxMjBaMBwxGjAYBgNVBAMT +EXF1aXoucGVuYS5kaWdpdGFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAtFJI0PszYuLda5z4BP4+nDf61nolN1RjE/Cg7/CL6703vJBKzhYEm905omj5 +j7Bb1O1TcIExJ3lgawF6G9ciGnstjAzb8HSv/lfrlETkJs90CqEJY8b9EbcPdrhp +e8sTteZlI8FbmGAyScOC5aL0Kf3w6Y9uoX0idfovfCDe26KXhRCn6lOHD4Bgdl5l +kjoOqtLIijuR0aPPCnhhxO1QvtkRT18IXjS9yxn5Ty2UuX8K2p4JxrJi5uv2fOcf +ZWzUNjug11C0R1VHgLcQdMGp58vevshV0yWV3BR2IN/D/bsHO+9IRRL0NYjmjKnr +gWXiLUaJbsHcO26sel/qAQZ6TQIDAQABo4ICETCCAg0wDgYDVR0PAQH/BAQDAgWg +MB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0G +A1UdDgQWBBTjlqjcBq1iI9IEvllIpBNarOigYTAfBgNVHSMEGDAWgBQULrMXt1hW +y65QCUDmH6+dixTCxjBVBggrBgEFBQcBAQRJMEcwIQYIKwYBBQUHMAGGFWh0dHA6 +Ly9yMy5vLmxlbmNyLm9yZzAiBggrBgEFBQcwAoYWaHR0cDovL3IzLmkubGVuY3Iu +b3JnLzAcBgNVHREEFTATghFxdWl6LnBlbmEuZGlnaXRhbDATBgNVHSAEDDAKMAgG +BmeBDAECATCCAQIGCisGAQQB1nkCBAIEgfMEgfAA7gB1ADtTd3U+LbmAToswWwb+ +QDtn2E/D9Me9AA0tcm/h+tQXAAABjQ3R+kIAAAQDAEYwRAIgEcS4vLhTg4BaFcTS +s2niyBQJ8qAhhky/haFSyEzXtGkCICFsx1hsYl3/n32iVVE0+Erac/vb9+95fyS4 +/rCDX8BgAHUASLDja9qmRzQP5WoC+p0w6xxSActW3SyB2bu/qznYhHMAAAGNDdH8 +LwAABAMARjBEAiAPxd6qONfCE4Z65wzznHaSLKGNS8kmEopGdnFzuRVRKQIgbq4Q +mufthvTE6Ly/BeFSaazoG9cP8EqvJmXSHpJltmUwDQYJKoZIhvcNAQELBQADggEB +AGvRIZPQ2u+bq9OKKAuq9n4P1ziztLYuk2Rrpt1Vh7nQjKFYnWi7bPay8AyVkida +YiZM1CAgFr5zYjyezG+eehamTHzMOF8UjWe+7BjgtyDz7t6rj/YQUPyzaHksaSFM +cOljuY1y0sS2SBhie1/7cjYdXH2Vqkx3+9QtkOlZKLk/fAVR0gvRMoxd3kVDoWnR +hetVEXROAsPfCOY2s6da+WbeAYjfwOUmBMtSctuHWuwSp2PwoAHHNEfCamWgkDoG +X/WmNdN6hdIDiF0muPf+qrgYx63USYcF73wm6zNi395tbB87xqZnnB8yIjMhLZu3 ++mL/c8tXAUu0gNSHk4vKGeY= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIFFjCCAv6gAwIBAgIRAJErCErPDBinU/bWLiWnX1owDQYJKoZIhvcNAQELBQAw diff --git a/privkey.pem b/privkey.pem index 5dd2257..b32bcc9 100755 --- a/privkey.pem +++ b/privkey.pem @@ -1,5 +1,28 @@ -----BEGIN PRIVATE KEY----- -MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQghAgj/duarvIANDGO -gZJ02Rzs3CgDtDA9gUP5P/3gQauhRANCAASrGIcqa8s+UZsioX+9KraLZmQrpfJ4 -NPXZZlH635QExG3Ik9ul/9GvdwSGA7OmvOZ2tPpNs/rGly5LfWdvcfcA +MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC0UkjQ+zNi4t1r +nPgE/j6cN/rWeiU3VGMT8KDv8IvrvTe8kErOFgSb3TmiaPmPsFvU7VNwgTEneWBr +AXob1yIaey2MDNvwdK/+V+uUROQmz3QKoQljxv0Rtw92uGl7yxO15mUjwVuYYDJJ +w4LlovQp/fDpj26hfSJ1+i98IN7bopeFEKfqU4cPgGB2XmWSOg6q0siKO5HRo88K +eGHE7VC+2RFPXwheNL3LGflPLZS5fwrangnGsmLm6/Z85x9lbNQ2O6DXULRHVUeA +txB0wanny96+yFXTJZXcFHYg38P9uwc770hFEvQ1iOaMqeuBZeItRoluwdw7bqx6 +X+oBBnpNAgMBAAECggEATB/Ms8TIjb9+gFa08c6ved28HF1WZsROS3WzS3f+adfo +tscnfVcYPQCouyKb8IggTISgTAeOS77W8HWgKi6pLArCULSBCUMJpVNSlbZ7ptK/ +h1kykJfJ8HeapKD3jxZNTOZl3jFbzLkXocJS+UTQ1QVqdf9iUfR03t9uunVZ/9gu +dF4fo8XuAUsAsgRQL7VhB0vFBKt9mlBB7HRDwxpN9xbWf7A++hD4oE4OeHJlGyWY ++dsFmN8+ogw8t3UN/KTi4196vTkKAkBuaDGes30cev14aXYirTesKFrM7faoXjVk +yjQV2o4zTdJ9Lr62xYT0SCiKhCFOY8XR/XuE4t/PNQKBgQC+xm7uR/KPicDEU33F +4w4Uz7982uIhjYmxyM1mtKYCNnlgl9Eji1IFv9ZPHTqiQhdKP0fTX1yGk+tMxDve +TH/4AJcozHgxHXlVGKbiKD9QaPqx89qOEr1ThRQ9X26g1w+/dhkvg626slNDdZn+ +QOvnRk4V6qGkadOK6o+XHh2mNwKBgQDx+ORT01lfT2f3bza6uJYERK47iNpDn2IX +JJyu2BNoGEbXQB7FBMcaE3AEHDJaJkA2rcl9fqK6pBZC7KnCrYJtrAeosmY6RpXZ +nxcHasuwOM0ERl3gvYt9n3hP/enY+yVHpaDMqbUdkY2tqfsQ4fOOSAj63IB/uOrU +GlpMs6hhmwKBgB7sTUjkcqXfn1ZzbhyobDzlW9WiKStlJN+je9/dAlezesM0eJr5 +V0dFTDiwtTNd4SaQ0VSqzXWm/moIGOg0oD2T4uyjEAxuCZ/Iiix4d6LSEWjM7S1A +Tl3+YUR9dpItqgjP3M892eg8RZDWvCphXZu0Yq3cxWzAFqEa2kGViRrLAoGAJEDR +HMoOmtwPzJ+qCIG9YDhWDm9rnDQWAzemDgArsC3q9zcRJR2ZIwwEfWkoFh+jAU46 +YQYHJYWOHErPCG7smrfqkdjgvhxzOR6/2YmjqOxpsxlD2Xcsng61fO6jCbJfHIPx +Opi2nQ6AtqNADYB8+DVMuyEsU3aGIG8uVk2Yjb8CgYAovdUL14oeN0kioMYNLG6e +0DiY1qOcHw0AyLaDI43Vk3sWSXpVr9V2S2WvAruqEhMZzz6vHZeOq3UNQrTG5uOa +cjwh9u8SpTbyxpec8QRDSfIYjWZZv6fj9tMtemLTO8lfxLlgjcR5JBpyztSBmGvu +0u/YohWIqT2kQDZ4mq9zwQ== -----END PRIVATE KEY-----