├── .gitattributes ├── .github ├── FUNDING.yml └── workflows │ ├── greetings.yml │ ├── npm-publish-packages.yml │ └── stale.yml ├── .gitignore ├── LICENSE ├── License.rtf ├── README.md ├── README.rtf ├── build.sh ├── changhelog_install.md ├── css └── macInsetTrafficLights.css ├── dist ├── linux │ ├── build_dists_linux.sh │ └── proton-client │ │ ├── DEBIAN │ │ ├── control │ │ ├── postinst │ │ └── postrm │ │ └── usr │ │ └── share │ │ ├── applications │ │ └── proton-client.desktop │ │ └── icons │ │ └── hicolor │ │ └── 256x256 │ │ └── apps │ │ └── proton-client.png └── win │ ├── ProtonClient.aip │ ├── ProtonClient.back (1).aip │ └── ProtonClient.back.aip ├── icons ├── icon.icns ├── icon.ico ├── icon.png └── tray-icon.png ├── package-lock.json ├── package.json ├── proton_client_linux.js ├── proton_client_mac.js ├── proton_client_win.js ├── resources └── app │ ├── icon.ico │ ├── icon.png │ ├── inject │ └── _placeholder │ ├── lib │ ├── main.js │ ├── main.js.map │ ├── preload.js │ ├── preload.js.map │ └── static │ │ ├── login.css │ │ ├── login.html │ │ └── login.js │ ├── nativefier.json │ └── package.json └── screens ├── screenshot-linux.jpg ├── screenshot-mac.png └── screenshot-win.jpg /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [Steccas] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: ['https://www.buymeacoffee.com/steccas'] 13 | -------------------------------------------------------------------------------- /.github/workflows/greetings.yml: -------------------------------------------------------------------------------- 1 | name: Greetings 2 | 3 | on: [pull_request, issues] 4 | 5 | jobs: 6 | greeting: 7 | runs-on: ubuntu-latest 8 | permissions: 9 | issues: write 10 | pull-requests: write 11 | steps: 12 | - uses: actions/first-interaction@v1 13 | with: 14 | repo-token: ${{ secrets.GITHUB_TOKEN }} 15 | issue-message: 'Hi, thanks for joining! Please make sure you checked the existing issues and consider to contriubute to the repo if you have a solution' 16 | pr-message: 'Thanks for your contribution, it will be reviewed shortly. Your work is very much appreciated!' 17 | -------------------------------------------------------------------------------- /.github/workflows/npm-publish-packages.yml: -------------------------------------------------------------------------------- 1 | # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created 2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages 3 | 4 | name: Node.js Package 5 | 6 | on: 7 | release: 8 | types: [created] 9 | 10 | jobs: 11 | build: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v2 15 | - uses: actions/setup-node@v2 16 | with: 17 | node-version: 16 18 | - run: npm install 19 | - run: npm test 20 | 21 | publish-gpr: 22 | needs: build 23 | runs-on: ubuntu-latest 24 | permissions: 25 | contents: read 26 | packages: write 27 | steps: 28 | - uses: actions/checkout@v2 29 | - uses: actions/setup-node@v2 30 | with: 31 | node-version: 16 32 | registry-url: https://npm.pkg.github.com/ 33 | - run: npm ci 34 | - run: npm publish 35 | env: 36 | NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} 37 | - uses: actions/checkout@v2 38 | # Setup .npmrc file to publish to npm 39 | - uses: actions/setup-node@v2 40 | with: 41 | registry-url: 'https://registry.npmjs.org' 42 | - run: npm ci 43 | # Publish to npm 44 | - run: npm publish --access public 45 | env: 46 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} 47 | -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- 1 | name: Mark stale issues and pull requests 2 | 3 | on: 4 | schedule: 5 | - cron: '22 3 * * *' 6 | 7 | jobs: 8 | stale: 9 | 10 | runs-on: ubuntu-latest 11 | permissions: 12 | issues: write 13 | pull-requests: write 14 | 15 | steps: 16 | - uses: actions/stale@v3 17 | with: 18 | repo-token: ${{ secrets.GITHUB_TOKEN }} 19 | stale-issue-message: 'This issue is on stale, please review it or close it' 20 | stale-pr-message: 'This pull request is on stale, please review it or close it' 21 | stale-issue-label: 'no-issue-activity' 22 | stale-pr-label: 'no-pr-activity' 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | *.pid.lock 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # nyc test coverage 21 | .nyc_output 22 | 23 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 24 | .grunt 25 | 26 | # Bower dependency directory (https://bower.io/) 27 | bower_components 28 | 29 | # node-waf configuration 30 | .lock-wscript 31 | 32 | # Compiled binary addons (https://nodejs.org/api/addons.html) 33 | build/Release 34 | 35 | # Dependency directories 36 | node_modules/ 37 | jspm_packages/ 38 | 39 | # TypeScript v1 declaration files 40 | typings/ 41 | 42 | # Optional npm cache directory 43 | .npm 44 | 45 | # Optional eslint cache 46 | .eslintcache 47 | 48 | # Optional REPL history 49 | .node_repl_history 50 | 51 | # Output of 'npm pack' 52 | *.tgz 53 | 54 | # Yarn Integrity file 55 | .yarn-integrity 56 | 57 | # dotenv environment variables file 58 | .env 59 | 60 | # parcel-bundler cache (https://parceljs.org/) 61 | .cache 62 | 63 | # next.js build output 64 | .next 65 | 66 | # nuxt.js build output 67 | .nuxt 68 | 69 | # vuepress build output 70 | .vuepress/dist 71 | 72 | # Serverless directories 73 | .serverless 74 | 75 | # FuseBox cache 76 | .fusebox/ 77 | 78 | # my 79 | dist/pack/ 80 | dist/linux/proton-client/opt/proton-client/ 81 | ProtonClient-cache*/ 82 | *tar.gz 83 | *.7z 84 | *.zip 85 | *.deb 86 | *.rpm 87 | *.msi 88 | *.zst 89 | ProtonClient-* 90 | proton-client-linux-x64 91 | .DS_Store 92 | dist/linux/.INSTALL 93 | dist/linux/.MTREE 94 | dist/linux/.PKGINFO 95 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Luca Steccanella 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | I do not represent in any way ProtonMail, this is an unofficial client. 16 | I hereby decline any responsibility about your relationship with ProtonMail, 17 | the erogation of their service and your usage of it. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | SOFTWARE. 26 | -------------------------------------------------------------------------------- /License.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch31506\stshfhich31506\stshfbi31506\deflang1040\deflangfe1040\themelang1040\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;} 2 | {\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f43\fbidi \froman\fcharset0\fprq0{\*\panose 00000000000000000000}TIM Sans{\*\falt Cambria};} 3 | {\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} 4 | {\fhimajor\f31502\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0302020204030204}Calibri Light;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} 5 | {\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} 6 | {\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f490\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} 7 | {\f491\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f493\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f494\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f495\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} 8 | {\f496\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f497\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f498\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f830\fbidi \froman\fcharset238\fprq2 Cambria Math CE;} 9 | {\f831\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f833\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f834\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f837\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;} 10 | {\f838\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f860\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f861\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f863\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;} 11 | {\f864\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f865\fbidi \fswiss\fcharset177\fprq2 Calibri (Hebrew);}{\f866\fbidi \fswiss\fcharset178\fprq2 Calibri (Arabic);}{\f867\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;} 12 | {\f868\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} 13 | {\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} 14 | {\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} 15 | {\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} 16 | {\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} 17 | {\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \fswiss\fcharset238\fprq2 Calibri Light CE;} 18 | {\fhimajor\f31529\fbidi \fswiss\fcharset204\fprq2 Calibri Light Cyr;}{\fhimajor\f31531\fbidi \fswiss\fcharset161\fprq2 Calibri Light Greek;}{\fhimajor\f31532\fbidi \fswiss\fcharset162\fprq2 Calibri Light Tur;} 19 | {\fhimajor\f31533\fbidi \fswiss\fcharset177\fprq2 Calibri Light (Hebrew);}{\fhimajor\f31534\fbidi \fswiss\fcharset178\fprq2 Calibri Light (Arabic);}{\fhimajor\f31535\fbidi \fswiss\fcharset186\fprq2 Calibri Light Baltic;} 20 | {\fhimajor\f31536\fbidi \fswiss\fcharset163\fprq2 Calibri Light (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} 21 | {\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} 22 | {\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} 23 | {\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} 24 | {\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} 25 | {\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} 26 | {\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} 27 | {\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} 28 | {\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;} 29 | {\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\fhiminor\f31573\fbidi \fswiss\fcharset177\fprq2 Calibri (Hebrew);} 30 | {\fhiminor\f31574\fbidi \fswiss\fcharset178\fprq2 Calibri (Arabic);}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);} 31 | {\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} 32 | {\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} 33 | {\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0; 34 | \red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128; 35 | \red192\green192\blue192;\red0\green0\blue0;\red0\green0\blue0;\red68\green114\blue196;}{\*\defchp \f31506\fs22\lang1040\langfe1033\langfenp1033 }{\*\defpap \ql \li0\ri0\sa160\sl259\slmult1 36 | \widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 37 | \f31506\fs22\lang1040\langfe1033\cgrid\langnp1040\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\* 38 | \ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa160\sl259\slmult1 39 | \widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31506\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1040\langfe1033\cgrid\langnp1040\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}{ 40 | \s15\ql \li0\ri0\widctlpar\tqc\tx4819\tqr\tx9638\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1040\langfe1033\cgrid\langnp1040\langfenp1033 41 | \sbasedon0 \snext15 \slink16 \sunhideused \styrsid2113036 header;}{\*\cs16 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \sbasedon10 \slink15 \slocked \styrsid2113036 Intestazione Carattere;}{\s17\ql \li0\ri0\widctlpar 42 | \tqc\tx4819\tqr\tx9638\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1040\langfe1033\cgrid\langnp1040\langfenp1033 \sbasedon0 \snext17 \slink18 \sunhideused \styrsid2113036 43 | footer;}{\*\cs18 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \sbasedon10 \slink17 \slocked \styrsid2113036 Pi\'e8 di pagina Carattere;}}{\*\rsidtbl \rsid2113036\rsid6574477\rsid11015608\rsid12735164\rsid15282814}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0 44 | \msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author Steccanella Luca}{\operator Steccanella Luca}{\creatim\yr2021\mo3\dy3\hr16\min28}{\revtim\yr2021\mo3\dy4\hr15\min49}{\version2}{\edmins5}{\nofpages1} 45 | {\nofwords190}{\nofchars1086}{\nofcharsws1274}{\vern17}}{\*\userprops {\propname ClassificationContentMarkingFooterShapeIds}\proptype30{\staticval 1,2,3}{\propname ClassificationContentMarkingFooterFontProps}\proptype30{\staticval #4472c4,8,TIM Sans} 46 | {\propname ClassificationContentMarkingFooterText}\proptype30{\staticval TIM - Uso Interno - Tutti i diritti riservati.}{\propname MSIP_Label_d6986fb0-3baa-42d2-89d5-89f9b25e6ac9_Enabled}\proptype30{\staticval true}{\propname MSIP_Label_d6986fb0-3baa-42d2 47 | -89d5-89f9b25e6ac9_SetDate}\proptype30{\staticval 2021-03-03T15:28:16Z}{\propname MSIP_Label_d6986fb0-3baa-42d2-89d5-89f9b25e6ac9_Method}\proptype30{\staticval Standard}{\propname MSIP_Label_d6986fb0-3baa-42d2-89d5-89f9b25e6ac9_Name}\proptype30 48 | {\staticval Uso Interno}{\propname MSIP_Label_d6986fb0-3baa-42d2-89d5-89f9b25e6ac9_SiteId}\proptype30{\staticval 6815f468-021c-48f2-a6b2-d65c8e979dfb}{\propname MSIP_Label_d6986fb0-3baa-42d2-89d5-89f9b25e6ac9_ActionId}\proptype30{\staticval 4da96467-8d7b- 49 | 45e0-87ae-37a8634b18cb}{\propname MSIP_Label_d6986fb0-3baa-42d2-89d5-89f9b25e6ac9_ContentBits}\proptype30{\staticval 2}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}} 50 | \paperw11906\paperh16838\margl1134\margr1134\margt1417\margb1134\gutter0\ltrsect 51 | \deftab708\widowctrl\ftnbj\aenddoc\hyphhotz283\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0 52 | \showxmlerrors1\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1134\dgvorigin1417\dghshow1\dgvshow1 53 | \jexpand\viewkind1\viewscale170\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct 54 | \asianbrkrule\rsidroot2113036\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0 55 | {\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0{\*\ftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2113036 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 56 | \f31506\fs22\lang1040\langfe1033\cgrid\langnp1040\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12735164 \chftnsep 57 | \par }}{\*\ftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2113036 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1040\langfe1033\cgrid\langnp1040\langfenp1033 { 58 | \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12735164 \chftnsepc 59 | \par }}{\*\aftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2113036 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1040\langfe1033\cgrid\langnp1040\langfenp1033 { 60 | \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12735164 \chftnsep 61 | \par }}{\*\aftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2113036 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1040\langfe1033\cgrid\langnp1040\langfenp1033 { 62 | \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid12735164 \chftnsepc 63 | \par }}\ltrpar \sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\headerl \ltrpar \pard\plain \ltrpar\s15\ql \li0\ri0\widctlpar 64 | \tqc\tx4819\tqr\tx9638\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1040\langfe1033\cgrid\langnp1040\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2113036 65 | \par }}{\headerr \ltrpar \pard\plain \ltrpar\s15\ql \li0\ri0\widctlpar\tqc\tx4819\tqr\tx9638\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 66 | \f31506\fs22\lang1040\langfe1033\cgrid\langnp1040\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2113036 67 | \par }}{\footerl \ltrpar \pard\plain \ltrpar\s17\ql \li0\ri0\widctlpar\tqc\tx4819\tqr\tx9638\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 68 | \f31506\fs22\lang1040\langfe1033\cgrid\langnp1040\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid12735164 69 | {\shp{\*\shpinst\shpleft0\shptop1\shpright699\shpbottom700\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr2\shpwrk0\shpfblwtxt0\shpz1\shplid2049{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}} 70 | {\sp{\sn lTxid}{\sv 65536}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn WrapText}{\sv 2}}{\sp{\sn fRotateText}{\sv 0}}{\sp{\sn fFitShapeToText}{\sv 1}}{\sp{\sn fFilled}{\sv 0}} 71 | {\sp{\sn fNoFillHitTest}{\sv 1}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn wzName}{\sv Casella di testo 2}}{\sp{\sn wzDescription}{\sv TIM - Uso Interno - Tutti i diritti riservati.}}{\sp{\sn dxWrapDistLeft}{\sv 0}}{\sp{\sn dxWrapDistRight}{\sv 0}} 72 | {\sp{\sn posh}{\sv 2}}{\sp{\sn metroBlob}{\sv {\*\svb 73 | 504b030414000600080000002100b6833892fe000000e1010000130000005b436f6e74656e745f54797065735d2e786d6c9491414ec3301045f748dcc1f216254ebb400825e982b44b40a81c60644f128b646c794c686f8f93b61b449158da33ffbf27bbdc1cc6414c18d83aaae42a2fa440d2ce58ea2af9bedf650f527004 74 | 323038c24a1e91e5a6bebd29f7478f2c529ab8927d8cfe5129d63d8ec0b9f34869d2ba30424cc7d0290ffa033a54eba2b857da51448a599c3b645d36d8c2e710c5f690ae4f26010796e2e9b438b32a09de0f56434ca66a22f383929d09794a2e3bdc5bcf774943aa5f09f3e43ae09c7b494f13ac41f10a213ec398349409ac 75 | 70ed1aa7f3bf3b66c99133d7b65663de04de2ea98bd3b56ee3be28e0f4dff226c5de70bab4abe583ea6f000000ffff0300504b03041400060008000000210038fd21ffd6000000940100000b0000005f72656c732f2e72656c73a490c16ac3300c86ef83bd83d17d719ac318a34e2fa3d06be91ec0d88a631a5b4632d9faf6 76 | 3383c1327adb51bfd0f7897f7ff84c8b5a91255236b0eb7a50981df9988381f7cbf1e90594549bbd5d28a3811b0a1cc6c787fd19175bdb91ccb1886a942c06e65acbabd6e2664c563a2a98db66224eb6b691832ed65d6d403df4fdb3e6df0c18374c75f206f8e40750975b69e63fec141d93d0543b4749d33445778faa3d7d 77 | e433ae8d62396035e059be43c6b56bcf81beefddfdd31bd89639ba23db846fe4b67e1ca8653f7abde972fc020000ffff0300504b0304140006000800000021005ac34725420200007b0400000e0000006472732f65326f446f632e786d6cac544d6fdb300cbd0fd87f10746f9c745d5104718aac458700595b20297a5664b9 78 | 11208b02c5c4ee7efd28394ebb6ea76117f989a4f8f1487a76dd354e1c0c460bbe9493d1580ae33554d6bf94f269737776254524e52be5c09b52be9a28afe79f3fcdda3035e7b003571914ecc4c7691b4ab9230ad3a2887a671a1547108c67650dd828e22bbe1415aa96bd37ae381f8f2f8b16b00a08dac4c8d2db5e29e7d9 79 | 7f5d1b4d0f751d0d09574ace8df289f9dca6b398cfd4f40555d8597d4c43fd43168db29e839e5cdd2a52628ff60f578dd508116a1a69680aa86bab4dae81ab998c3f54b3dea960722d4c4e0c279ae2ff73abef0f8f286c55ca7329bc6ab845372a1ae794a8ac201309046b2a1335b3b659fe1067e22982587a32e8816f9b3d 80 | 911596cdd12684361a3c28b2a3446e1be29463ac0347a1ee1b743c24833cb23071d6d5d8a42fb32158cf6d7a3db5c67424340b2f2ebe5c5d7e9542b3ea88d97bf1f63860a4ef061a914029913b9f1ba20eab48bde960926279b8b3cee5ee3bff9b807d26499132ef334c88ba6d97693a65bf85ea958b42e8672a067d6739f4 81 | 4a457a54c843c475f062d0031fb583b694704452ec007ffe4d9eecb9b7ac95a2e5a12ca5e7ad91c22d3df73ccdef007000db01f87d73033ce5135eb8a033e407486e803542f3ccdbb2483158a5bce648a5a401de50bf18bc6dda2c16d988a734285af975d0c975622ad1b8e99e158623d7c44dba876158d5f403e5bd6d7a19 82 | c3624f4c7cee4762b5e7f048364f78eee8711bd30abdbf67abb77fc6fc17000000ffff0300504b03041400060008000000210084b0d328d6000000030100000f0000006472732f646f776e7265762e786d6c4c8fc14ec3300c86ef48bc4364246e2c1987b195a6d334890b370642da2d6bbca62271aa24ebdab7c73bc1d1fe 83 | 7f7dfe5c6fa7e0c58829f791342c170a04521b6d4f9d86afcfb7a735885c0c59e323a18619336c9bfbbbda54365ee903c743e90443285746832b65a8a4ccadc360f2220e489c9d630aa6f0983a6993b9323c78f9acd44a06d3135f7066c0bdc3f6e770091a5ea6ef8843c63d1ecf639b5c3faffdfbacf5e3c3b47b0551702a 84 | 7f65b8e9b33a34ec748a17b259780dfc48b96d0567abcd06c489b94a816c6af9dfbdf9050000ffff0300504b01022d0014000600080000002100b6833892fe000000e10100001300000000000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d001400060008000000210038fd21ff 85 | d6000000940100000b000000000000000000000000002f0100005f72656c732f2e72656c73504b01022d00140006000800000021005ac34725420200007b0400000e000000000000000000000000002e0200006472732f65326f446f632e786d6c504b01022d001400060008000000210084b0d328d6000000030100000f00 86 | 0000000000000000000000009c0400006472732f646f776e7265762e786d6c504b05060000000004000400f30000009f0500000000}}}{\sp{\sn dhgt}{\sv 251657728}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fAllowOverlap}{\sv 1}} 87 | {\sp{\sn fBehindDocument}{\sv 0}}{\sp{\sn fHidden}{\sv 0}}{\sp{\sn fPseudoInline}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \ltrpar \pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1 88 | \widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1040\langfe1033\cgrid\langnp1040\langfenp1033 {\rtlch\fcs1 \af43\afs16 \ltrch\fcs0 89 | \f43\fs16\cf19\insrsid2113036\charrsid2113036 TIM - Uso Interno - Tutti i diritti riservati. 90 | \par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8193\dptxbx\dptxlrtb{\dptxbxtext\ltrpar \pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 91 | \f31506\fs22\lang1040\langfe1033\cgrid\langnp1040\langfenp1033 {\rtlch\fcs1 \af43\afs16 \ltrch\fcs0 \f43\fs16\cf19\insrsid2113036\charrsid2113036 TIM - Uso Interno - Tutti i diritti riservati. 92 | \par }}\dpx0\dpy1\dpxsize699\dpysize699\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow}}}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2113036 93 | \par }}{\footerr \ltrpar \pard\plain \ltrpar\s17\ql \li0\ri0\widctlpar\tqc\tx4819\tqr\tx9638\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 94 | \f31506\fs22\lang1040\langfe1033\cgrid\langnp1040\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid12735164 95 | {\shp{\*\shpinst\shpleft0\shptop1\shpright699\shpbottom700\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr2\shpwrk0\shpfblwtxt0\shpz2\shplid2050{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}} 96 | {\sp{\sn lTxid}{\sv 131072}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn WrapText}{\sv 2}}{\sp{\sn fRotateText}{\sv 0}}{\sp{\sn fFitShapeToText}{\sv 1}}{\sp{\sn fFilled}{\sv 0}} 97 | {\sp{\sn fNoFillHitTest}{\sv 1}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn wzName}{\sv Casella di testo 3}}{\sp{\sn wzDescription}{\sv TIM - Uso Interno - Tutti i diritti riservati.}}{\sp{\sn dxWrapDistLeft}{\sv 0}}{\sp{\sn dxWrapDistRight}{\sv 0}} 98 | {\sp{\sn posh}{\sv 2}}{\sp{\sn metroBlob}{\sv {\*\svb 99 | 504b030414000600080000002100b6833892fe000000e1010000130000005b436f6e74656e745f54797065735d2e786d6c9491414ec3301045f748dcc1f216254ebb400825e982b44b40a81c60644f128b646c794c686f8f93b61b449158da33ffbf27bbdc1cc6414c18d83aaae42a2fa440d2ce58ea2af9bedf650f527004 100 | 323038c24a1e91e5a6bebd29f7478f2c529ab8927d8cfe5129d63d8ec0b9f34869d2ba30424cc7d0290ffa033a54eba2b857da51448a599c3b645d36d8c2e710c5f690ae4f26010796e2e9b438b32a09de0f56434ca66a22f383929d09794a2e3bdc5bcf774943aa5f09f3e43ae09c7b494f13ac41f10a213ec398349409ac 101 | 70ed1aa7f3bf3b66c99133d7b65663de04de2ea98bd3b56ee3be28e0f4dff226c5de70bab4abe583ea6f000000ffff0300504b03041400060008000000210038fd21ffd6000000940100000b0000005f72656c732f2e72656c73a490c16ac3300c86ef83bd83d17d719ac318a34e2fa3d06be91ec0d88a631a5b4632d9faf6 102 | 3383c1327adb51bfd0f7897f7ff84c8b5a91255236b0eb7a50981df9988381f7cbf1e90594549bbd5d28a3811b0a1cc6c787fd19175bdb91ccb1886a942c06e65acbabd6e2664c563a2a98db66224eb6b691832ed65d6d403df4fdb3e6df0c18374c75f206f8e40750975b69e63fec141d93d0543b4749d33445778faa3d7d 103 | e433ae8d62396035e059be43c6b56bcf81beefddfdd31bd89639ba23db846fe4b67e1ca8653f7abde972fc020000ffff0300504b0304140006000800000021001ac375f4420200007b0400000e0000006472732f65326f446f632e786d6cac544d6fdb300cbd0fd87f10746f9ca65d5104718a2c4586005d5ba0297a566439 104 | 11208b02c5c4ee7efd28396eb76ea76117f989a4f8f1487a76d3354e1c0d460bbe94e7a3b114c66ba8acdf95f279b33abb962292f29572e04d295f4d9437f3cf9f666d989a09ecc15506053bf171da8652ee89c2b428a2de9b46c51104e3595903368af88abba242d5b2f7c61593f1f8aa6801ab80a04d8c2cbded95729efd 105 | d7b5d1f450d7d19070a5e4dc289f98cf6d3a8bf94c4d77a8c2deea531aea1fb26894f51cf4cdd5ad22250e68ff70d5588d10a1a69186a680bab6dae41ab89af3f1876a9ef62a985c0b9313c31b4df1ffb9d5f7c74714b62ae585145e35dca2a58ac639252a2bc84402c19aca44cdac6dd6dfc599788e20d69e0c7ae0dbe640 106 | 64856573b409a18d068f8aec2891db8638e5184f81a350f7153a1e92411e599838eb6a6cd297d910ace736bdbeb5c67424340b2f2f2faeafbe48a15975c2ecbd787f1c30d237038d48a094c89dcf0d51c7bb48bde9609262795859e772f79dff4dc03e93a44899f7192644ddb6cb344d86ecb750bd725108fd4cc5a0579643 107 | dfa9488f0a7988b80e5e0c7ae0a376d096124e488a3de08fbfc9933df796b552b43c94a5f4bc3552b8b5e79ea7f91d000e603b007f6896c0537ece0b177486fc00c90db046685e785b162906ab94d71ca99434c025f58bc1dba6cd62918d784a83a23bff1474729d984a346eba1785e1c4357193ee61185635fd40796f9b5e 108 | c6b03810139ffb9158ed393c91cd139e3b7adac6b442bfdeb3d5fb3f63fe130000ffff0300504b03041400060008000000210084b0d328d6000000030100000f0000006472732f646f776e7265762e786d6c4c8fc14ec3300c86ef48bc4364246e2c1987b195a6d334890b370642da2d6bbca62271aa24ebdab7c73bc1d1fe 109 | 7f7dfe5c6fa7e0c58829f791342c170a04521b6d4f9d86afcfb7a735885c0c59e323a18619336c9bfbbbda54365ee903c743e90443285746832b65a8a4ccadc360f2220e489c9d630aa6f0983a6993b9323c78f9acd44a06d3135f7066c0bdc3f6e770091a5ea6ef8843c63d1ecf639b5c3faffdfbacf5e3c3b47b0551702a 110 | 7f65b8e9b33a34ec748a17b259780dfc48b96d0567abcd06c489b94a816c6af9dfbdf9050000ffff0300504b01022d0014000600080000002100b6833892fe000000e10100001300000000000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d001400060008000000210038fd21ff 111 | d6000000940100000b000000000000000000000000002f0100005f72656c732f2e72656c73504b01022d00140006000800000021001ac375f4420200007b0400000e000000000000000000000000002e0200006472732f65326f446f632e786d6c504b01022d001400060008000000210084b0d328d6000000030100000f00 112 | 0000000000000000000000009c0400006472732f646f776e7265762e786d6c504b05060000000004000400f30000009f0500000000}}}{\sp{\sn dhgt}{\sv 251658752}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fAllowOverlap}{\sv 1}} 113 | {\sp{\sn fBehindDocument}{\sv 0}}{\sp{\sn fHidden}{\sv 0}}{\sp{\sn fPseudoInline}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \ltrpar \pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1 114 | \widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1040\langfe1033\cgrid\langnp1040\langfenp1033 {\rtlch\fcs1 \af43\afs16 \ltrch\fcs0 115 | \f43\fs16\cf19\insrsid2113036\charrsid2113036 TIM - Uso Interno - Tutti i diritti riservati. 116 | \par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8194\dptxbx\dptxlrtb{\dptxbxtext\ltrpar \pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 117 | \f31506\fs22\lang1040\langfe1033\cgrid\langnp1040\langfenp1033 {\rtlch\fcs1 \af43\afs16 \ltrch\fcs0 \f43\fs16\cf19\insrsid2113036\charrsid2113036 TIM - Uso Interno - Tutti i diritti riservati. 118 | \par }}\dpx0\dpy1\dpxsize699\dpysize699\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow}}}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2113036 119 | \par }}{\headerf \ltrpar \pard\plain \ltrpar\s15\ql \li0\ri0\widctlpar\tqc\tx4819\tqr\tx9638\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 120 | \f31506\fs22\lang1040\langfe1033\cgrid\langnp1040\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2113036 121 | \par }}{\footerf \ltrpar \pard\plain \ltrpar\s17\ql \li0\ri0\widctlpar\tqc\tx4819\tqr\tx9638\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 122 | \f31506\fs22\lang1040\langfe1033\cgrid\langnp1040\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1024\langfe1024\noproof\insrsid12735164 123 | {\shp{\*\shpinst\shpleft0\shptop1\shpright699\shpbottom700\shpfhdr0\shpbxcolumn\shpbxignore\shpbypara\shpbyignore\shpwr2\shpwrk0\shpfblwtxt0\shpz0\shplid2051{\sp{\sn shapeType}{\sv 202}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}} 124 | {\sp{\sn lTxid}{\sv 196608}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn WrapText}{\sv 2}}{\sp{\sn fRotateText}{\sv 0}}{\sp{\sn fFitShapeToText}{\sv 1}}{\sp{\sn fFilled}{\sv 0}} 125 | {\sp{\sn fNoFillHitTest}{\sv 1}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn wzName}{\sv Casella di testo 1}}{\sp{\sn wzDescription}{\sv TIM - Uso Interno - Tutti i diritti riservati.}}{\sp{\sn dxWrapDistLeft}{\sv 0}}{\sp{\sn dxWrapDistRight}{\sv 0}} 126 | {\sp{\sn posh}{\sv 2}}{\sp{\sn metroBlob}{\sv {\*\svb 127 | 504b030414000600080000002100b6833892fe000000e1010000130000005b436f6e74656e745f54797065735d2e786d6c9491414ec3301045f748dcc1f216254ebb400825e982b44b40a81c60644f128b646c794c686f8f93b61b449158da33ffbf27bbdc1cc6414c18d83aaae42a2fa440d2ce58ea2af9bedf650f527004 128 | 323038c24a1e91e5a6bebd29f7478f2c529ab8927d8cfe5129d63d8ec0b9f34869d2ba30424cc7d0290ffa033a54eba2b857da51448a599c3b645d36d8c2e710c5f690ae4f26010796e2e9b438b32a09de0f56434ca66a22f383929d09794a2e3bdc5bcf774943aa5f09f3e43ae09c7b494f13ac41f10a213ec398349409ac 129 | 70ed1aa7f3bf3b66c99133d7b65663de04de2ea98bd3b56ee3be28e0f4dff226c5de70bab4abe583ea6f000000ffff0300504b03041400060008000000210038fd21ffd6000000940100000b0000005f72656c732f2e72656c73a490c16ac3300c86ef83bd83d17d719ac318a34e2fa3d06be91ec0d88a631a5b4632d9faf6 130 | 3383c1327adb51bfd0f7897f7ff84c8b5a91255236b0eb7a50981df9988381f7cbf1e90594549bbd5d28a3811b0a1cc6c787fd19175bdb91ccb1886a942c06e65acbabd6e2664c563a2a98db66224eb6b691832ed65d6d403df4fdb3e6df0c18374c75f206f8e40750975b69e63fec141d93d0543b4749d33445778faa3d7d 131 | e433ae8d62396035e059be43c6b56bcf81beefddfdd31bd89639ba23db846fe4b67e1ca8653f7abde972fc020000ffff0300504b0304140006000800000021005be6b2723f020000740400000e0000006472732f65326f446f632e786d6cac544b6fdb300cbe0fd87f10746f9c765d5118718aac458702595b20297a5664b9 132 | 16208b02c5c4ce7efd283fdaaedb69d845a6488a8fef23bdb8ea1a270e06a3055fc8d3d95c0ae33594d6bf14f2697b7b72294524e54be5c09b421e4d9457cbcf9f166dc8cd19d4e04a838283f898b7a1903551c8b32ceada342ace2018cfc60ab051c4577cc94a542d476f5c76369f5f642d601910b48991b53783512efbf8 133 | 5565343d545534245c21b936ea4feccf5d3ab3e542e52fa8426df55886fa872a1a653d277d0d75a348893dda3f4235562344a868a6a1c9a0aaac367d0fdccde9fc43379b5a05d3f7c2e0c4f00a53fc7f61f5fde111852d993b29bc6a98a26b158d734a9456908904822da5899a51dbdefd1027e22982b8f364d003dfb67b22 134 | 2b2cbba34d12da68f0a0c8ce12b86d8839e7d804ce42dd37e852a2511f599930eb2a6cd297d1106c679a8eafd4988e8466e5f9f997cb8baf5268368d3247c9de1e078cf4dd402392504864e67b42d4611d69709d5c522e0fb7d639d6abdcf9df141c3369b254f9506192a8db7563d93b288fdc0dc2304c31e85bcb39d72ad2 135 | a3429e1e6e8037821ef8a81cb485845192a206fcf9377df26752d92a45cbd35848cfeb2285bbf34c761adc49c049d84d82df37d7c0e3cd34712dbdc80f90dc245608cd33afc92ae56093f29a33159226f19a868de035d366b5ea9d783c83a2b5df049d422788127edbee596118412666e71ea62955f907ac07dff43286d59e 136 | 18f19e8804e780e188328f764fe5b8866977dedf7bafb79fc5f217000000ffff0300504b03041400060008000000210084b0d328d6000000030100000f0000006472732f646f776e7265762e786d6c4c8fc14ec3300c86ef48bc4364246e2c1987b195a6d334890b370642da2d6bbca62271aa24ebdab7c73bc1d1fe7f7dfe 137 | 5c6fa7e0c58829f791342c170a04521b6d4f9d86afcfb7a735885c0c59e323a18619336c9bfbbbda54365ee903c743e90443285746832b65a8a4ccadc360f2220e489c9d630aa6f0983a6993b9323c78f9acd44a06d3135f7066c0bdc3f6e770091a5ea6ef8843c63d1ecf639b5c3faffdfbacf5e3c3b47b0551702a7f65b8 138 | e9b33a34ec748a17b259780dfc48b96d0567abcd06c489b94a816c6af9dfbdf9050000ffff0300504b01022d0014000600080000002100b6833892fe000000e10100001300000000000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d001400060008000000210038fd21ffd60000 139 | 00940100000b000000000000000000000000002f0100005f72656c732f2e72656c73504b01022d00140006000800000021005be6b2723f020000740400000e000000000000000000000000002e0200006472732f65326f446f632e786d6c504b01022d001400060008000000210084b0d328d6000000030100000f00000000 140 | 000000000000000000990400006472732f646f776e7265762e786d6c504b05060000000004000400f30000009c0500000000}}}{\sp{\sn dhgt}{\sv 251656704}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fAllowOverlap}{\sv 1}} 141 | {\sp{\sn fBehindDocument}{\sv 0}}{\sp{\sn fHidden}{\sv 0}}{\sp{\sn fPseudoInline}{\sv 0}}{\sp{\sn fLayoutInCell}{\sv 1}}{\shptxt \ltrpar \pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1 142 | \widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1040\langfe1033\cgrid\langnp1040\langfenp1033 {\rtlch\fcs1 \af43\afs16 \ltrch\fcs0 143 | \f43\fs16\cf19\insrsid2113036\charrsid2113036 TIM - Uso Interno - Tutti i diritti riservati. 144 | \par }}}{\shprslt{\*\do\dobxcolumn\dobypara\dodhgt8192\dptxbx\dptxlrtb{\dptxbxtext\ltrpar \pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 145 | \f31506\fs22\lang1040\langfe1033\cgrid\langnp1040\langfenp1033 {\rtlch\fcs1 \af43\afs16 \ltrch\fcs0 \f43\fs16\cf19\insrsid2113036\charrsid2113036 TIM - Uso Interno - Tutti i diritti riservati. 146 | \par }}\dpx0\dpy1\dpxsize699\dpysize699\dpfillfgcr255\dpfillfgcg255\dpfillfgcb255\dpfillbgcr255\dpfillbgcg255\dpfillbgcb255\dpfillpat0\dplinehollow}}}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2113036 147 | \par }}{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}} 148 | {\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8 149 | \pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1 150 | \widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2113036 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1040\langfe1033\cgrid\langnp1040\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 151 | \lang1033\langfe1033\langnp1033\insrsid2113036\charrsid2113036 MIT License 152 | \par 153 | \par Copyright (c) 2021 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\insrsid15282814 Luca Steccanella}{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1033\langnp1033\insrsid2113036\charrsid15282814 154 | \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\insrsid2113036\charrsid2113036 155 | \par Permission is hereby granted, free of charge, to any person obtaining a copy 156 | \par of this software and associated documentation files (the "Software"), to deal 157 | \par in the Software without restriction, including without limitation the rights 158 | \par to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 159 | \par copies of the Software, and to permit persons to whom the Software is 160 | \par furnished to do so, subject to the following conditions:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\insrsid2113036 161 | \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\insrsid2113036\charrsid2113036 162 | \par The above copyright notice and this permission notice shall be included in all 163 | \par copies or substantial portions of the Software. 164 | \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\insrsid2113036 165 | \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\insrsid2113036\charrsid2113036 I do not represent in any way ProtonMail, this is an unofficial client. 166 | \par I hereby decline any responsibility about your relationship with ProtonMail, the erogation of their service and your usage of it. 167 | \par 168 | \par THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 169 | \par IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 170 | \par FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 171 | \par AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 172 | \par LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 173 | \par OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 174 | \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2113036 SOFTWARE.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11015608 175 | \par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a 176 | 9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad 177 | 5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6 178 | b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0 179 | 0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6 180 | a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f 181 | c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512 182 | 0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462 183 | a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865 184 | 6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b 185 | 4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b 186 | 4757e8d3f729e245eb2b260a0238fd010000ffff0300504b030414000600080000002100942aa5309c070000cb200000160000007468656d652f7468656d652f 187 | 7468656d65312e786d6cec59cd8b1bc915bf07f23f347d97f5d5ad8fc1f2a24fcfda33b6b164873dd648a5eef2547789aad28cc56208de532e81c026e49085bd 188 | ed21842cecc22eb9e48f31d8249b3f22afaa5bdd5552c99e191c3061463074977eefd5afde7bf5de53d5ddcf5e26d4bbc05c1096f6fcfa9d9aefe174ce16248d 189 | 7afeb3d9a4d2f13d2151ba4094a5b8e76fb0f03fbbf7eb5fdd454732c609f6403e1547a8e7c752ae8eaa5531876124eeb0154ee1bb25e30992f0caa3ea82a34b 190 | d09bd06aa3566b55134452df4b51026a6720e32d88f778b92473ecdfdbaa1f53982395420dcc299f2ae5389731b08bf3ba42888d1852ee5d20daf361a605bb9c 191 | e197d2f7281212bee8f935fde757efddada2a35c88ca03b286dc44ffe572b9c0e2bca1e7e4d1593169108441ab5fe8d7002af771e3f6b8356e15fa3400cde7b0 192 | d28c8badb3dd180639d600658f0edda3f6a859b7f086fee61ee77ea83e165e8332fdc11e7e321982152dbc0665f8700f1f0eba8391ad5f83327c6b0fdfaef547 193 | 41dbd2af413125e9f91eba16b69ac3ed6a0bc892d16327bc1b06937623575ea2201a8ae852532c592a0fc55a825e303e018002522449eac9cd0a2fd11ce27888 194 | 2839e3c43b21510c81b7422913305c6bd426b526fc579f403f698fa2238c0c69c50b9888bd21c5c713734e56b2e73f00adbe0179fbf3cf6f5efff8e6f54f6fbe 195 | faeacdebbfe7736b5596dc314a2353ee97effef09f6f7eebfdfb876f7ff9fa8fd9d4bb7861e2dffded77effef1cff7a9871597a678fba7efdffdf8fddb3ffffe 196 | 5f7ffddaa1bdcfd199099f91040bef11bef49eb20416e8e08fcff8f524663122a6443f8d044a919ac5a17f2c630bfd68832872e006d8b6e3730ea9c605bcbf7e 197 | 61119ec67c2d8943e3c338b180a78cd101e34e2b3c547319669eadd3c83d395f9bb8a7085db8e61ea2d4f2f278bd821c4b5c2a8731b6683ea1289528c229969e 198 | fa8e9d63ec58dd178458763d2573ce045b4aef0be20d10719a6446ceac682a858e49027ed9b80882bf2ddb9c3ef7068cba563dc2173612f606a20ef2334c2d33 199 | de476b891297ca194aa869f013246317c9e986cf4ddc5848f0748429f3c60b2c844be63187f51a4e7f0869c6edf653ba496c2497e4dca5f30431662247ec7c18 200 | a364e5c24e491a9bd8cfc5398428f29e30e9829f327b87a877f0034a0fbafb39c196bb3f9c0d9e418635299501a2be5973872fef6366c5ef74439708bb524d9f 201 | 27568aed73e28c8ec13ab242fb04638a2ed10263efd9e70e0603b6b26c5e927e10435639c6aec07a80ec5855ef2916d8d3cdcd7e9e3c21c20ad9298ed8013ea7 202 | 9b9dc4b3416982f821cd8fc0eba6cdc750ea1257003ca6f37313f888401708f1e234ca63013a8ce03ea8f5498cac02a6de853b5e37dcf2df55f618eccb17168d 203 | 2bec4b90c1d79681c46ecabcd7363344ad09ca809921e8325ce916442cf79722aab86ab1b5536e696fdad20dd01d594d4f42d20f76403bbd4ff8bfeb7da0c378 204 | fb976f1c9bede3f43b6ec556b2ba66a77328991ceff4378770bb5dcd90f105f9f49b9a115aa74f30d491fd8c75dbd3dcf634feff7d4f73683fdf763287fa8ddb 205 | 4ec6870ee3b693c90f573e4e2753362fd0d7a8038feca0471ffb24074f7d9684d2a9dc507c22f4c18f80df338b090c2a397de6898b53c0550c8faaccc104162e 206 | e248cb789cc9df10194f63b482d3a1baaf944422571d096fc5041c1ae961a76e85a7ebe4942db2c3ce7a5d1d6c66955520598ed7c2621c0eaa64866eb5cb03bc 207 | 42bd661be983d62d01257b1d12c6643689a683447b3ba88ca48f75c1680e127a651f8545d7c1a2a3d46f5db5c702a8155e811fdc1efc4ceff96100222004e771 208 | d09c2f949f32576fbdab9df9313d7dc89856044083bd8d80d2d35dc5f5e0f2d4eab250bb82a72d1246b8d924b46574832762f8199c47a71abd0a8debfaba5bba 209 | d4a2a74ca1e783d02a69b43bef6371535f83dc6e6ea0a9992968ea5df6fc5633849099a355cf5fc2a1313c262b881da17e73211ac1ddcb5cf26cc3df24b3acb8 210 | 902324e2cce03ae964d9202112738f92a4e7abe5176ea0a9ce219a5bbd0109e19325d785b4f2a99103a7db4ec6cb259e4bd3edc688b274f60a193ecb15ce6fb5 211 | f8cdc14a92adc1ddd37871e99dd1357f8a20c4c2765d19704104dc1dd4336b2e085c861589ac8cbf9dc294a75df3364ac750368ee82a46794531937906d7a9bc 212 | a0a3df0a1b186ff99ac1a08649f2427816a9026b1ad5aaa645d5c8381cacba1f1652963392665933adaca2aaa63b8b59336ccbc08e2d6f56e40d565b13434e33 213 | 2b7c96ba77536e779beb76fa84a24a80c10bfb39aaee150a8241ad9ccca2a618efa76195b3f351bb766c17f8016a57291246d66f6dd5eed8ada811cee960f046 214 | 951fe476a3168696dbbe525b5adf9b9b17dbecec05248f1174b96b2a8576255c5b73040dd154f72459da802df252e65b039ebc35273dffcb5ad80f868d7058a9 215 | 75c271256806b54a27ec372bfd306cd6c761bd361a345e41619171520fb33bfb095c60d04d7e73afc7f76eef93ed1dcd9d394baa4cdfca5735717d7b5f6f58b7 216 | f7d94dbc375397f3be4720e97cd96a4cbacdeea055e936fb934a301a742add616b5019b586edd164340c3bddc92bdfbbd0e0a0df1c06ad71a7d2aa0f8795a055 217 | 53f43bdd4a3b6834fa41bbdf1907fd57791b032bcfd2476e0b30afe675efbf000000ffff0300504b0304140006000800000021000dd1909fb60000001b010000 218 | 270000007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88 219 | d0add40384e4350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567 220 | 914b284d262452282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f 221 | 1f165dfe514173d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c020000130000 222 | 0000000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b00 223 | 000000000000000000000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c0000000000000000 224 | 0000000000190200007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d0014000600080000002100942aa5309c070000cb2000 225 | 001600000000000000000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000 226 | 001b0100002700000000000000000000000000a60a00007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000a10b00000000} 227 | {\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d 228 | 617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169 229 | 6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363 230 | 656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e} 231 | {\*\latentstyles\lsdstimax376\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1; 232 | \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4; 233 | \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7; 234 | \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 1; 235 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 5; 236 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 9; 237 | \lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 1;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 2;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 3; 238 | \lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 4;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 5;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 6; 239 | \lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 7;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 8;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Indent; 240 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 header;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footer; 241 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index heading;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of figures; 242 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope return;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation reference; 243 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 line number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 page number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote text; 244 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of authorities;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 macro;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toa heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List; 245 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 3; 246 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 3; 247 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 3; 248 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 5;\lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Closing; 249 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Signature;\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent; 250 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 4; 251 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Message Header;\lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Salutation; 252 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Date;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Note Heading; 253 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 3; 254 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Block Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 FollowedHyperlink;\lsdqformat1 \lsdpriority22 \lsdlocked0 Strong; 255 | \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Document Map;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Plain Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 E-mail Signature; 256 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym; 257 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition; 258 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter; 259 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1; 260 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority39 \lsdlocked0 Table Grid; 261 | \lsdsemihidden1 \lsdlocked0 Placeholder Text;\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid; 262 | \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdpriority65 \lsdlocked0 Medium List 1;\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2; 263 | \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;\lsdpriority71 \lsdlocked0 Colorful Shading;\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1; 264 | \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1; 265 | \lsdsemihidden1 \lsdlocked0 Revision;\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1; 266 | \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1; 267 | \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2; 268 | \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2; 269 | \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2; 270 | \lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3; 271 | \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3; 272 | \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3; 273 | \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdpriority62 \lsdlocked0 Light Grid Accent 4; 274 | \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4; 275 | \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4; 276 | \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdpriority62 \lsdlocked0 Light Grid Accent 5; 277 | \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5; 278 | \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5; 279 | \lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6; 280 | \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6; 281 | \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6; 282 | \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis; 283 | \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography; 284 | \lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;\lsdpriority41 \lsdlocked0 Plain Table 1;\lsdpriority42 \lsdlocked0 Plain Table 2;\lsdpriority43 \lsdlocked0 Plain Table 3;\lsdpriority44 \lsdlocked0 Plain Table 4; 285 | \lsdpriority45 \lsdlocked0 Plain Table 5;\lsdpriority40 \lsdlocked0 Grid Table Light;\lsdpriority46 \lsdlocked0 Grid Table 1 Light;\lsdpriority47 \lsdlocked0 Grid Table 2;\lsdpriority48 \lsdlocked0 Grid Table 3;\lsdpriority49 \lsdlocked0 Grid Table 4; 286 | \lsdpriority50 \lsdlocked0 Grid Table 5 Dark;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 1; 287 | \lsdpriority48 \lsdlocked0 Grid Table 3 Accent 1;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 1;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 1; 288 | \lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 1;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 2;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 2; 289 | \lsdpriority49 \lsdlocked0 Grid Table 4 Accent 2;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 2; 290 | \lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 3;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 3;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 3;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 3; 291 | \lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 3;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 4; 292 | \lsdpriority47 \lsdlocked0 Grid Table 2 Accent 4;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 4;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 4;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 4; 293 | \lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 4;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 5; 294 | \lsdpriority48 \lsdlocked0 Grid Table 3 Accent 5;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 5;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 5; 295 | \lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 5;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 6;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 6; 296 | \lsdpriority49 \lsdlocked0 Grid Table 4 Accent 6;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 6; 297 | \lsdpriority46 \lsdlocked0 List Table 1 Light;\lsdpriority47 \lsdlocked0 List Table 2;\lsdpriority48 \lsdlocked0 List Table 3;\lsdpriority49 \lsdlocked0 List Table 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark; 298 | \lsdpriority51 \lsdlocked0 List Table 6 Colorful;\lsdpriority52 \lsdlocked0 List Table 7 Colorful;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 List Table 2 Accent 1;\lsdpriority48 \lsdlocked0 List Table 3 Accent 1; 299 | \lsdpriority49 \lsdlocked0 List Table 4 Accent 1;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 1;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 1; 300 | \lsdpriority46 \lsdlocked0 List Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 List Table 2 Accent 2;\lsdpriority48 \lsdlocked0 List Table 3 Accent 2;\lsdpriority49 \lsdlocked0 List Table 4 Accent 2; 301 | \lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 2;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 3; 302 | \lsdpriority47 \lsdlocked0 List Table 2 Accent 3;\lsdpriority48 \lsdlocked0 List Table 3 Accent 3;\lsdpriority49 \lsdlocked0 List Table 4 Accent 3;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 3; 303 | \lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 4;\lsdpriority47 \lsdlocked0 List Table 2 Accent 4; 304 | \lsdpriority48 \lsdlocked0 List Table 3 Accent 4;\lsdpriority49 \lsdlocked0 List Table 4 Accent 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 4;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 4; 305 | \lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 List Table 2 Accent 5;\lsdpriority48 \lsdlocked0 List Table 3 Accent 5; 306 | \lsdpriority49 \lsdlocked0 List Table 4 Accent 5;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 5;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 5; 307 | \lsdpriority46 \lsdlocked0 List Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 List Table 2 Accent 6;\lsdpriority48 \lsdlocked0 List Table 3 Accent 6;\lsdpriority49 \lsdlocked0 List Table 4 Accent 6; 308 | \lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Mention; 309 | \lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Smart Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hashtag;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Unresolved Mention;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Smart Link;}}{\*\datastore 01050000 310 | 02000000180000004d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000 311 | d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 312 | ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 313 | ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 314 | ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 315 | fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 316 | ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 317 | ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 318 | ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 319 | ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e50000000000000000000000005094 320 | 63910511d701feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 321 | 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 322 | 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 323 | 0000000000000000000000000000000000000000000000000105000000000000}} -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 |

4 | 5 | # ProtonClient 6 | An unofficial desktop client for ProtonMail done with electron nativefier. 7 | I just did it because I didn't want to open the browser every time I wanted to check my protonmail, I don't like to use Proton Bridge which is buggy, and I prefer to access protonmail without an intermediary software while keeping desktop notifications and a dedicated app. 8 | 9 | Go [here](https://go.getproton.me/SHJN) for further information about ProtonMail. 10 | 11 | ![GitHub repo size](https://img.shields.io/github/repo-size/Steccas/ProtonClient?style=plastic) ![GitHub language count](https://img.shields.io/github/languages/count/Steccas/ProtonClient?style=plastic) ![GitHub top language](https://img.shields.io/github/languages/top/Steccas/ProtonClient?style=plastic) ![GitHub last commit](https://img.shields.io/github/last-commit/Steccas/ProtonClient?color=red&style=plastic) 12 | 13 | ## Community and support 14 | It is a very new project, but it can grow and get way better, if you want to help please leave a star 🌟 and share it with your friends. 15 | You can also start contributing now! If you wish to do so please feel free to fork the project and propose modifications that we can merge. 16 | The more we are the better! 17 | 18 | You can also consider a donation and remember to check [my links](https://linktr.ee/steccas). 19 | 20 | A coffee is always a gesture of LOVE ❤️ 21 | 22 | Buy Me A Coffee 23 | 24 | ## About the app 25 | The app is currently released for Windows, Linux, and Mac 64bit. 26 | Unfortunately, I can't test the Mac version, so feel free to notify any problems. 27 | 28 | The app will remain opened in the system tray and will prompt a notification when you will receive a new mail. 29 | 30 | From the app you will be able to use Proton Calendar and Proton Contacts. 31 | 32 | Most notably, the account login is persistent between app restart, including OS reboots. Of course, if you don't log off before closing it. 33 | 34 | The client, unlike when using the bridge and so SMTP client, will not work with the mail locally; this means that it is like using Proton Mail from the browser. 35 | 36 | ![screenshot-Linux](https://github.com/Steccas/ProtonClient/blob/main/screens/screenshot-linux.jpg) 37 | 38 | ## About ProtonMail 39 | What is ProtonMail? 40 | 41 | ProtonMail is the first service that introduced email encryption to the public, it is a project born directly from CERN members that wanted to allow people like dissidents, journalists, independent reporter, or anyone subject to censorship to have access to a secure email service, potentially protecting democracy. ProtonMail has evolved then and has become one of the best e-mail providers for anyone, like me, that pays attention to his privacy and enjoys end-to-end encryption in his communications. 42 | 43 | ProtonMail uses end-to-end encryption and zero-access encryption to protect user data. If a server only contains encrypted messages, users have a much higher level of security in the event of a data breach. The use of encryption also prevents ProtonMail from being able to decrypt, read, or share user emails with third parties. ProtonMail does not receive funding through advertising, so we have no incentive to spy on users or build detailed user profiles. ProtonMail’s security extends beyond just strong encryption and includes features designed to mitigate human vulnerabilities, such as two-factor authentication and anti-phishing safeguards. 44 | 45 | Furthermore, the Swiss Laws protects your data from anyone who will want to access your data, including governments, it just prohibits them to do so. 46 | 47 | Most importantly, they don't use ads, so they aren't selling your data. They simply make money with their convenient paid plans, don't worry there is also a free plan for starters. 48 | 49 | Recently they created a VPN service (ProtonVPN) which may be even more when useful paired with a secure mail provider. 50 | 51 | Anyways if you need further information or need to subscribe (in fact you need to subscribe to use this client lol) go [here](https://go.getproton.me/SHJN). 52 | 53 | ## Security notice about this client 54 | You can verify via the building process and source that I am using the legit ProtonMail link, 55 | regarding any other security concern ProtonMail is one of the most trusted and secure mail providers; 56 | furthermore, this client is just like having ProtonMail in a Chrome window. This means that you are not going to store any mail on your PC. 57 | Like in browser, you're going to storage your login cookies anyways that's why I always recommend encrypting your disk because every software will leave some traces! 58 | Unlike many others unofficial clients, it doesn't ask for your 2FA secrets which shouldn't be never gave away. 59 | 60 | ## Install 61 | Please head to the [release section](https://github.com/Steccas/ProtonClient/releases) to find ready to use installers for Windows, Linux distros and Mac. 62 | 63 | ## Build 64 | To build this client you need to set up and install [Node.js] and [Nativefier]. Once Node.js is installed, simply run the `npm install` command in the repository's root folder to install Nativefier. Once that's done, you will be able to run the build scripts below. 65 | 66 | You can build it from Windows, Linux, or Mac, but you will need wine or Windows to build it for Windows. Please refer to Nativefier's documentation for more information. 67 | 68 | [Node.js]: https://nodejs.org/ 69 | [Nativefier]: https://www.npmjs.com/package/nativefier 70 | 71 | ### Windows 72 | When everything has been set up, run from PowerShell: 73 | ``` 74 | node .\proton_client_win.js 75 | ``` 76 | Once it finishes, you will have a build folder ready to use. 77 | 78 | You can also build for Linux or Mac using: 79 | ``` 80 | node .\proton_client_linux.js 81 | ``` 82 | or 83 | ``` 84 | node .\proton_client_mac.js 85 | ``` 86 | 87 | ### Linux 88 | I created a small bash script for Linux to make the build faster. 89 | Just run [build.sh](build.sh) from your shell with one of these arguments: 90 | ``` 91 | --win 92 | ``` 93 | To build for Windows 94 | ``` 95 | --linux 96 | ``` 97 | To build for Linux 98 | ``` 99 | --mac 100 | ``` 101 | To build for Mac 102 | ``` 103 | --all 104 | ``` 105 | To build for all the platforms. 106 | 107 | ### Mac 108 | I don't own a Mac but using node via terminal you should be able to build exactly like in Windows or Linux. 109 | 110 | ## License 111 | [MIT](LICENSE) 112 | 113 | ![Visits Badge](https://badges.pufler.dev/visits/Steccas/ProtonClient) 114 | -------------------------------------------------------------------------------- /build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -z "$1" ] 4 | then 5 | echo "Please specify destination platform" 6 | echo "You can choose --win, --linux, --mac, --unix (linux & mac) or --all" 7 | echo "i.e.: ./build.sh linux" 8 | exit 1 9 | fi 10 | 11 | platform=$1 12 | 13 | function buildWin { 14 | node ./proton_client_win.js 15 | } 16 | 17 | function buildLinux { 18 | node ./proton_client_linux.js 19 | while true; do 20 | read -p "Do you wish to create Linux dist packages?" yn 21 | case $yn in 22 | [Yy]* ) distLinux | exit 2;; 23 | [Nn]* ) exit 0;; 24 | * ) echo "Please answer yes or no.";; 25 | esac 26 | done 27 | } 28 | 29 | function buildMac { 30 | node ./proton_client_mac.js 31 | } 32 | 33 | function buildUnix { 34 | buildLinux 35 | buildMac 36 | } 37 | 38 | function buildAll { 39 | buildWin 40 | buildLinux 41 | buildMac 42 | } 43 | 44 | function distLinux { 45 | cd ./dist/linux/ 46 | ./build_dists_linux.sh 47 | } 48 | 49 | if [ $platform == --win ] 50 | then 51 | echo "Building for Windows" 52 | buildWin 53 | 54 | elif [ $platform == --linux ] 55 | then 56 | echo "Building for linux" 57 | buildLinux 58 | 59 | elif [ $platform == --mac ] 60 | then 61 | echo "Building for Mac" 62 | buildMac 63 | 64 | elif [ $platform == --unix ] 65 | then 66 | echo "Building for Linux & Mac" 67 | buildUnix 68 | 69 | elif [ $platform == --all ] 70 | then 71 | echo "Building for all platforms" 72 | buildAll 73 | 74 | else 75 | echo "You didn't specify a valid platform" 76 | exit 2 77 | 78 | fi 79 | 80 | exit 0 81 | -------------------------------------------------------------------------------- /changhelog_install.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | - security patches 3 | - updated dependencies 4 | 5 | If you prefer there are also some build archives, which you can unpack and run where you prefer. 6 | 7 | PLEASE NOTE: 8 | If you want to use the client you need to create a protonMail account [here](https://go.getproton.me/SHJN). 9 | 10 | # Install Instructions 11 | ## Windows 12 | Uninstall previous version and install via the provided msi. 13 | 14 | ## Ubuntu & Debian based Linux distros 15 | Better remove previous version for cleaner install 16 | ``` 17 | sudo apt remove proton-client 18 | ``` 19 | Install the deb package using 20 | ``` 21 | sudo apt install ./proton-client-1.2.3-amd64.deb 22 | ``` 23 | or 24 | ``` 25 | sudo dpkg -i ./proton-client-1.2.3-amd64.deb 26 | ``` 27 | ## RHEL based distros 28 | RPM is not tested because I converted it using alien, so please notify me if there are any problems. 29 | 30 | Install using: 31 | ``` 32 | sudo rpm –i proton-client-1.2.3-2.x86_64.rpm 33 | ``` 34 | 35 | To uninstall: 36 | ``` 37 | sudo rpm –e proton-client-1.2.3-2.x86_64.rpm 38 | ``` 39 | 40 | ## Arch based distros like Manjaro 41 | Download **proton-client-1.2.3-1-x86_64.arch.zip** 42 | ``` 43 | unzip proton-client-1.2.3-1-x86_64.arch.zip 44 | sudo pacman -U ./proton-client-1.2.3-1-x86_64.pkg.tar.zst 45 | ``` 46 | 47 | I have no time nor patience to publish the package to AUR so any help is welcome. 48 | 49 | ## Mac 50 | Use one of the archives for Mac (proton-client-1.2.3-mac-x86_64.zip); inside, you will find an app bundle ready to be moved when makes sense to you (probably the app folder) and being run. -------------------------------------------------------------------------------- /css/macInsetTrafficLights.css: -------------------------------------------------------------------------------- 1 | /* header is draggable... */ 2 | header { 3 | -webkit-app-region: drag; 4 | } 5 | 6 | /* but any buttons inside the header shouldn't be draggable */ 7 | header button, 8 | header a, 9 | header form { 10 | -webkit-app-region: no-drag; 11 | } 12 | 13 | .logo-container { 14 | padding-top: 10px; 15 | } 16 | 17 | .logo-container > button { 18 | display: none; 19 | } 20 | 21 | .logo-container > .logo-link { 22 | padding-left: 0px; 23 | margin-left: -3px; 24 | padding-bottom: 0; 25 | } -------------------------------------------------------------------------------- /dist/linux/build_dists_linux.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | version=($(jq .version ../../package.json | sed 's/"//g')) 4 | 5 | echo "Creating packages for version $version" 6 | 7 | chmod -R 755 ./proton-client 8 | dpkg-deb --build proton-client 9 | mv proton-client.deb proton-client-$version-amd64.deb 10 | sudo debtap -u 11 | debtap ./proton-client-$version-amd64.deb 12 | sudo alien -r ./proton-client-$version-amd64.deb --scripts 13 | zip -rv proton-client-$version-1-x86_64.arch.zip .INSTALL .MTREE .PKGINFO proton-client-$version-1-x86_64.pkg.tar.zst 14 | 15 | exit 0 -------------------------------------------------------------------------------- /dist/linux/proton-client/DEBIAN/control: -------------------------------------------------------------------------------- 1 | Package: proton-client 2 | Version: 1.2.3 3 | License: MIT 4 | Vendor: Luca Steccanella 5 | Architecture: amd64 6 | Maintainer: Luca Steccanella 7 | Installed-Size: 190275079 8 | Homepage: https://github.com/Steccas/ProtonClient 9 | Description: Unofficial Protonmail client from Luca Steccanella 10 | -------------------------------------------------------------------------------- /dist/linux/proton-client/DEBIAN/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Link to the binary 4 | ln -sf '/opt/proton-client/proton-client' '/usr/bin/proton-client' 5 | 6 | # SUID chrome-sandbox for Electron 5+ 7 | #chmod 4755 '/opt/proton-client/chrome-sandbox' || true 8 | 9 | update-mime-database /usr/share/mime || true 10 | update-desktop-database /usr/share/applications || true 11 | -------------------------------------------------------------------------------- /dist/linux/proton-client/DEBIAN/postrm: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Delete the link to the binary 4 | rm -f '/usr/bin/proton-client' 5 | -------------------------------------------------------------------------------- /dist/linux/proton-client/usr/share/applications/proton-client.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Proton Client 3 | Exec=/opt/proton-client/proton-client %U 4 | Terminal=false 5 | Type=Application 6 | Icon=proton-client 7 | StartupWMClass=proton-client 8 | Comment=Unofficial Protonmail client from Luca Steccanella. 9 | Categories=Network;Email; 10 | MimeType=message/rfc822;x-scheme-handler/mailto;application/x-xpinstall; 11 | StartupNotify=true 12 | -------------------------------------------------------------------------------- /dist/linux/proton-client/usr/share/icons/hicolor/256x256/apps/proton-client.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steccas/ProtonClient/1de64f69586557f9f4980595522e245b16f2eb2b/dist/linux/proton-client/usr/share/icons/hicolor/256x256/apps/proton-client.png -------------------------------------------------------------------------------- /dist/win/ProtonClient.aip: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | -------------------------------------------------------------------------------- /dist/win/ProtonClient.back (1).aip: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | -------------------------------------------------------------------------------- /dist/win/ProtonClient.back.aip: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | -------------------------------------------------------------------------------- /icons/icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steccas/ProtonClient/1de64f69586557f9f4980595522e245b16f2eb2b/icons/icon.icns -------------------------------------------------------------------------------- /icons/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steccas/ProtonClient/1de64f69586557f9f4980595522e245b16f2eb2b/icons/icon.ico -------------------------------------------------------------------------------- /icons/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steccas/ProtonClient/1de64f69586557f9f4980595522e245b16f2eb2b/icons/icon.png -------------------------------------------------------------------------------- /icons/tray-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steccas/ProtonClient/1de64f69586557f9f4980595522e245b16f2eb2b/icons/tray-icon.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "proton-client", 3 | "version": "1.2.3", 4 | "dependencies": { 5 | "nativefier": "latest" 6 | }, 7 | "private": true, 8 | "license": "MIT", 9 | "funding": 10 | { 11 | "type" : "GitHubSponsor", 12 | "url" : "https://github.com/Steccas/ProtonClient?sponsor=1" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /proton_client_linux.js: -------------------------------------------------------------------------------- 1 | var nativefier = require('nativefier').default; 2 | 3 | // possible options, defaults unless specified otherwise 4 | var options = { 5 | name: 'proton-client', // will be inferred if not specified 6 | targetUrl: 'https://mail.protonmail.com', // required 7 | platform: 'linux', // defaults to the current system 8 | arch: 'x64', // defaults to the current system 9 | appVersion: '1.2.3', 10 | overwrite: true, 11 | asar: false, // see conceal 12 | icon: './icons/icon.png', 13 | counter: true, 14 | bounce: true, 15 | width: 1440, 16 | height: 900, 17 | showMenuBar: false, 18 | fastQuit: false, 19 | ignoreCertificate: false, 20 | disableGpu: false, 21 | ignoreGpuBlacklist: false, 22 | enableEs3Apis: false, 23 | internalUrls: '(http(s)?:\/\/.)?(www\.)?([-a-zA-Z0-9@:%_\+.~#?&//=]*)?(protonmail.com)', // defaults to URLs on same second-level domain as app 24 | blockExternalUrls: false, 25 | insecure: false, 26 | honest: false, 27 | zoom: 1.0, 28 | singleInstance: true, 29 | clearCache: false, 30 | tray: true, 31 | fileDownloadOptions: { 32 | saveAs: true, // always show "Save As" dialog 33 | }, 34 | }; 35 | 36 | nativefier(options, function (error, appPath) { 37 | if (error) { 38 | console.error(error); 39 | return; 40 | } 41 | console.log('App has been nativefied to', appPath); 42 | }); 43 | -------------------------------------------------------------------------------- /proton_client_mac.js: -------------------------------------------------------------------------------- 1 | var nativefier = require('nativefier').default; 2 | 3 | // possible options, defaults unless specified otherwise 4 | var options = { 5 | name: 'ProtonClient', // will be inferred if not specified 6 | targetUrl: 'https://mail.protonmail.com', // required 7 | platform: 'mac', // defaults to the current system 8 | arch: 'x64', // defaults to the current system 9 | appVersion: '1.2.2', 10 | overwrite: true, 11 | asar: false, // see conceal 12 | icon: './icons/icon.icns', 13 | counter: true, 14 | bounce: true, 15 | width: 1440, 16 | height: 900, 17 | showMenuBar: false, 18 | fastQuit: false, 19 | ignoreCertificate: false, 20 | disableGpu: true, 21 | ignoreGpuBlacklist: false, 22 | enableEs3Apis: false, 23 | internalUrls: '(http(s)?:\/\/.)?(www\.)?([-a-zA-Z0-9@:%_\+.~#?&//=]*)?(protonmail.com)', // defaults to URLs on same second-level domain as app 24 | blockExternalUrls: false, 25 | darwinDarkModeSupport: true, 26 | insecure: false, 27 | honest: false, 28 | zoom: 1.0, 29 | singleInstance: true, 30 | clearCache: false, 31 | tray: false, 32 | fileDownloadOptions: { 33 | saveAs: true, // always show "Save As" dialog 34 | }, 35 | titleBarStyle: 'hiddenInset', 36 | inject: ['./css/macInsetTrafficLights.css'] 37 | }; 38 | 39 | nativefier(options, function (error, appPath) { 40 | if (error) { 41 | console.error(error); 42 | return; 43 | } 44 | console.log('App has been nativefied to', appPath); 45 | }); 46 | -------------------------------------------------------------------------------- /proton_client_win.js: -------------------------------------------------------------------------------- 1 | var nativefier = require('nativefier').default; 2 | 3 | // possible options, defaults unless specified otherwise 4 | var options = { //nativefier -n ProtonMail -a x64 --tray --single-instance --internal-urls "(http(s)?:\/\/.)?(www\.)?([-a-zA-Z0-9@:%_\+.~#?&//=]*)?(protonmail.com)" beta.protonmail.com 5 | name: 'ProtonClient', // will be inferred if not specified 6 | targetUrl: 'https://mail.protonmail.com', // required 7 | platform: 'windows', // defaults to the current system 8 | arch: 'x64', // defaults to the current system 9 | appVersion: '1.2.3', 10 | overwrite: true, 11 | asar: false, // see conceal 12 | icon: './icons/icon.ico', 13 | counter: true, 14 | bounce: true, 15 | width: 1440, 16 | height: 900, 17 | showMenuBar: false, 18 | fastQuit: false, 19 | ignoreCertificate: false, 20 | disableGpu: false, 21 | ignoreGpuBlacklist: false, 22 | enableEs3Apis: false, 23 | internalUrls: '(http(s)?:\/\/.)?(www\.)?([-a-zA-Z0-9@:%_\+.~#?&//=]*)?(protonmail.com)', // defaults to URLs on same second-level domain as app 24 | blockExternalUrls: false, 25 | insecure: false, 26 | honest: false, 27 | zoom: 1.0, 28 | singleInstance: true, 29 | clearCache: false, 30 | tray: true, 31 | fileDownloadOptions: { 32 | saveAs: true, // always show "Save As" dialog 33 | }, 34 | win32metadata: { 35 | CompanyName: 'Luca Steccanella', 36 | FileDescription: 'Proton Client', 37 | OriginalFilename: 'ProtonClient', 38 | ProductName: 'Proton Client', 39 | InternalName: 'Luca Steccanella' 40 | }, 41 | }; 42 | 43 | nativefier(options, function (error, appPath) { 44 | if (error) { 45 | console.error(error); 46 | return; 47 | } 48 | console.log('App has been nativefied to', appPath); 49 | }); -------------------------------------------------------------------------------- /resources/app/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steccas/ProtonClient/1de64f69586557f9f4980595522e245b16f2eb2b/resources/app/icon.ico -------------------------------------------------------------------------------- /resources/app/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steccas/ProtonClient/1de64f69586557f9f4980595522e245b16f2eb2b/resources/app/icon.png -------------------------------------------------------------------------------- /resources/app/inject/_placeholder: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steccas/ProtonClient/1de64f69586557f9f4980595522e245b16f2eb2b/resources/app/inject/_placeholder -------------------------------------------------------------------------------- /resources/app/lib/preload.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { 3 | if (k2 === undefined) k2 = k; 4 | Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); 5 | }) : (function(o, m, k, k2) { 6 | if (k2 === undefined) k2 = k; 7 | o[k2] = m[k]; 8 | })); 9 | var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { 10 | Object.defineProperty(o, "default", { enumerable: true, value: v }); 11 | }) : function(o, v) { 12 | o["default"] = v; 13 | }); 14 | var __importStar = (this && this.__importStar) || function (mod) { 15 | if (mod && mod.__esModule) return mod; 16 | var result = {}; 17 | if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); 18 | __setModuleDefault(result, mod); 19 | return result; 20 | }; 21 | Object.defineProperty(exports, "__esModule", { value: true }); 22 | /** 23 | * Preload file that will be executed in the renderer process. 24 | * Note: This needs to be attached **prior to imports**, as imports 25 | * would delay the attachment till after the event has been raised. 26 | */ 27 | document.addEventListener('DOMContentLoaded', () => { 28 | injectScripts(); // eslint-disable-line @typescript-eslint/no-use-before-define 29 | }); 30 | const fs = __importStar(require("fs")); 31 | const path = __importStar(require("path")); 32 | const electron_1 = require("electron"); 33 | const INJECT_JS_PATH = path.join(__dirname, '..', 'inject/inject.js'); 34 | /** 35 | * Patches window.Notification to: 36 | * - set a callback on a new Notification 37 | * - set a callback for clicks on notifications 38 | * @param createCallback 39 | * @param clickCallback 40 | */ 41 | function setNotificationCallback(createCallback, clickCallback) { 42 | const OldNotify = window.Notification; 43 | const newNotify = function (title, opt) { 44 | createCallback(title, opt); 45 | const instance = new OldNotify(title, opt); 46 | instance.addEventListener('click', clickCallback); 47 | return instance; 48 | }; 49 | newNotify.requestPermission = OldNotify.requestPermission.bind(OldNotify); 50 | Object.defineProperty(newNotify, 'permission', { 51 | get: () => OldNotify.permission, 52 | }); 53 | // @ts-ignore 54 | window.Notification = newNotify; 55 | } 56 | function injectScripts() { 57 | const needToInject = fs.existsSync(INJECT_JS_PATH); 58 | if (!needToInject) { 59 | return; 60 | } 61 | // Dynamically require scripts 62 | require(INJECT_JS_PATH); 63 | } 64 | function notifyNotificationCreate(title, opt) { 65 | electron_1.ipcRenderer.send('notification', title, opt); 66 | } 67 | function notifyNotificationClick() { 68 | electron_1.ipcRenderer.send('notification-click'); 69 | } 70 | setNotificationCallback(notifyNotificationCreate, notifyNotificationClick); 71 | electron_1.ipcRenderer.on('params', (event, message) => { 72 | const appArgs = JSON.parse(message); 73 | console.info('nativefier.json', appArgs); 74 | }); 75 | electron_1.ipcRenderer.on('debug', (event, message) => { 76 | console.info('debug:', message); 77 | }); 78 | //# sourceMappingURL=preload.js.map -------------------------------------------------------------------------------- /resources/app/lib/preload.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"preload.js","sourceRoot":"","sources":["../src/preload.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,EAAE;IACjD,aAAa,EAAE,CAAC,CAAC,8DAA8D;AACjF,CAAC,CAAC,CAAC;AAEH,uCAAyB;AACzB,2CAA6B;AAE7B,uCAAuC;AAEvC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;AACtE;;;;;;GAMG;AACH,SAAS,uBAAuB,CAAC,cAAc,EAAE,aAAa;IAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;IACtC,MAAM,SAAS,GAAG,UAAU,KAAK,EAAE,GAAG;QACpC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3C,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAClD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IACF,SAAS,CAAC,iBAAiB,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1E,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,EAAE;QAC7C,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU;KAChC,CAAC,CAAC;IAEH,aAAa;IACb,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC;AAClC,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,YAAY,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IACnD,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO;KACR;IACD,8BAA8B;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAK,EAAE,GAAG;IAC1C,sBAAW,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAC/C,CAAC;AACD,SAAS,uBAAuB;IAC9B,sBAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACzC,CAAC;AAED,uBAAuB,CAAC,wBAAwB,EAAE,uBAAuB,CAAC,CAAC;AAE3E,sBAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEH,sBAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACzC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC"} -------------------------------------------------------------------------------- /resources/app/lib/static/login.css: -------------------------------------------------------------------------------- 1 | label, input { 2 | display: block; 3 | } 4 | 5 | * { 6 | font-family: Verdana, sans-serif; 7 | } 8 | 9 | html, body { 10 | height: 100%; 11 | margin: 0; 12 | -webkit-app-region: drag; 13 | } 14 | .login-form { 15 | height: 100%; 16 | display: flex; 17 | flex-direction: column; 18 | justify-content: center; 19 | align-items: center; 20 | } 21 | 22 | .login-form > div { 23 | margin-bottom: 30px; 24 | } 25 | 26 | .login-form > div > label { 27 | margin-bottom: 25px; 28 | letter-spacing: 5px; 29 | font-weight: 100; 30 | text-transform: uppercase; 31 | font-size: 18px; 32 | text-align: center; 33 | color: rgba(0, 0, 0, 0.7); 34 | } 35 | 36 | .login-form > div > input { 37 | height: 30px; 38 | width: 225px; 39 | font-size: 16px; 40 | -webkit-app-region: no-drag; 41 | } 42 | 43 | .login-form > div > button { 44 | border: 0; 45 | font-size: 15px; 46 | font-weight: 100; 47 | text-transform: uppercase; 48 | height: 35px; 49 | width: 225px; 50 | background-color: #2196F3; 51 | color: white; 52 | -webkit-app-region: no-drag; 53 | } 54 | 55 | button:hover { 56 | background-color: #0D47A1; 57 | } 58 | -------------------------------------------------------------------------------- /resources/app/lib/static/login.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Login 6 | 7 | 8 | 9 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /resources/app/lib/static/login.js: -------------------------------------------------------------------------------- 1 | const { ipcRenderer } = require('electron'); 2 | 3 | document.getElementById('login-form').addEventListener('submit', (event) => { 4 | event.preventDefault(); 5 | const usernameInput = document.getElementById('username-input'); 6 | const username = usernameInput.nodeValue || usernameInput.value; 7 | const passwordInput = document.getElementById('password-input'); 8 | const password = passwordInput.nodeValue || passwordInput.value; 9 | ipcRenderer.send('login-message', [username, password]); 10 | }); 11 | -------------------------------------------------------------------------------- /resources/app/nativefier.json: -------------------------------------------------------------------------------- 1 | {"accessibilityPrompt":true,"alwaysOnTop":false,"appVersion":"1.2.3","backgroundColor":null,"basicAuthPassword":null,"basicAuthUsername":null,"bounce":true,"clearCache":false,"counter":true,"darwinDarkModeSupport":false,"disableGpu":false,"diskCacheSize":null,"enableEs3Apis":false,"fastQuit":false,"fileDownloadOptions":{"saveAs":true},"flashPluginDir":null,"fullScreen":false,"globalShortcuts":null,"height":900,"ignoreCertificate":false,"ignoreGpuBlacklist":false,"insecure":false,"internalUrls":"(http(s)?://.)?(www.)?([-a-zA-Z0-9@:%_+.~#?&//=]*)?(protonmail.com)","blockExternalUrls":false,"maximize":false,"name":"ProtonClient","nativefierVersion":"42.4.0","proxyRules":null,"showMenuBar":false,"singleInstance":true,"targetUrl":"https://mail.protonmail.com/","titleBarStyle":null,"tray":true,"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36","width":1440,"win32metadata":{"CompanyName":"Luca Steccanella","FileDescription":"Proton Client","OriginalFilename":"ProtonClient","ProductName":"Proton Client","InternalName":"Luca Steccanella"},"disableOldBuildWarning":false,"zoom":1,"buildDate":1638479371618} -------------------------------------------------------------------------------- /resources/app/package.json: -------------------------------------------------------------------------------- 1 | {"name":"protonclient-nativefier-c2cb11","version":"1.0.0","description":"Placeholder for the nativefier cli to override with a target url","main":"lib/main.js","author":"Jia Hao","license":"MIT","keywords":["desktop","electron","placeholder"],"scripts":{},"dependencies":{"electron-context-menu":"^2.5.0","electron-dl":"^3.2.0","electron-squirrel-startup":"^1.0.0","electron-window-state":"^5.0.3","source-map-support":"^0.5.19"},"devDependencies":{"electron":"^11.3.0"}} -------------------------------------------------------------------------------- /screens/screenshot-linux.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steccas/ProtonClient/1de64f69586557f9f4980595522e245b16f2eb2b/screens/screenshot-linux.jpg -------------------------------------------------------------------------------- /screens/screenshot-mac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steccas/ProtonClient/1de64f69586557f9f4980595522e245b16f2eb2b/screens/screenshot-mac.png -------------------------------------------------------------------------------- /screens/screenshot-win.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steccas/ProtonClient/1de64f69586557f9f4980595522e245b16f2eb2b/screens/screenshot-win.jpg --------------------------------------------------------------------------------