1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-08-14 05:21:42 +08:00

Compare commits

..

No commits in common. "26e92a4e796ebd37073c5fab028148276b4e91a9" and "5e421dc06a4582e80d7bf96d0035b4a871fefcb8" have entirely different histories.

103 changed files with 81 additions and 236 deletions

View File

@ -352,11 +352,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
### 负载均衡
[负载均衡](./docs/high-performance/load-balancing.md)
### CDN
[CDN内容分发网络](./docs/high-performance/cdn.md)
[负载均衡](./docs/high-performance/load-balancing.md)
## 高可用

View File

@ -421,7 +421,6 @@ export const sidebarConfig = defineSidebarConfig({
children: [
"read-and-write-separation-and-library-subtable",
"load-balancing",
"cdn",
{
text: "消息队列",
prefix: "message-queue/",

View File

@ -20,8 +20,6 @@ HTTP 协是基于 TCP协议发送 HTTP 请求之前首先要建立 TCP 连接
**简单邮件传输(发送)协议SMTPSimple Mail Transfer Protocol** 基于 TCP 协议,用来发送电子邮件。
![SMTP 协议](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/cs-basics/network/what-is-smtp.png)
注意⚠️:**接受邮件的协议不是 SMTP 而是 POP3 协议。**
SMTP 协议这块涉及的内容比较多,下面这两个问题比较重要:

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -0,0 +1 @@
<mxfile host="Electron" modified="2021-12-27T12:18:49.363Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="BCO_bX0iVrMdmYNRiWAx" version="13.4.5" type="device"><diagram id="tmrIvn8UqugqhCCRZjQR" name="Page-1">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</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-02-25T07:27:08.543Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="4kxx-sCj15jdkqoPe9xM" version="13.4.5" type="device"><diagram id="IKFI_ZB9R2pDRW9sJrDE" name="Page-1">vZZdb5swFIZ/jS8rAQZiLhtKO22rNimb1lvHPoA1gyPjjKS/fqaYACGVNqnJFfg9xx/nfY4TEE6rw5Omu/JZcZAo8PgB4QcUBL7vxfbRKcdeSZJVLxRacJc0ChvxCk70nLoXHJpZolFKGrGbi0zVNTAz06jWqp2n5UrOd93RAhbChlG5VH8JbspeJcFq1D+BKMphZz9O+khFh2RXSVNSrtqJhDOEU62U6d+qQwqyM2/wpZ/3+E70dDANtfmXCZw9b799ecEvn8O82Xivd1+VunOr/KFy7wp2hzXHwQGt9jWHbhEf4XVbCgObHWVdtLXMrVaaSrpwrmrjINrj2LGQMlVS6be1MKdAcmb1xmj1GyaRmBHY5jZSSNp0zLrZJ8u6AVOVYG6bZe1DIaANHCaS8+IJVAVGH22KiwZe2E9xjRnFjlM7Yg5XrnvLKeLEJVLXWsVp7dF9++IA/AeMYAkjC9E6RfceyghaZyjBKIvQ2kdkycnWbeYw5ibXqoYzIk6iUhS1HTLrJlh93bko7B24d4FKcN5tc5H+2B/eWQPgc4QfgA1jPMe2WmILfLLEFl6LGl5Q+5F+v+otygkDdvEWbUkURt4tbxHxZjjiaInDH34Bpzjia+GIFjh+PlwXB4+A8PASDhJscRzfEEeY3A6HHY5/Xm+xyScAzv4C</diagram></mxfile>

View File

@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-21T07:55:35.326Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="dVHqHyJgnY6_cnJSIVuA" version="13.4.5" type="device"><diagram id="0XygYSvObaGfJKnrfW3A" name="Page-1">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</diagram></mxfile>
<mxfile host="Electron" modified="2022-04-16T11:42:18.294Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="Xt4Imw9yYo2nYgJ-Za1A" version="13.4.5" type="device"><diagram id="0XygYSvObaGfJKnrfW3A" name="Page-1">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</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -1 +0,0 @@
<mxfile host="Electron" modified="2022-08-21T07:54:21.257Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="AWvMj75cjPLadbqvIXfr" version="13.4.5" type="device"><diagram id="ox_IyTXRnZNLjcFnBTdz" name="Page-1">5Zjvj5sgGMf/Gl7eIqKIL9Vrr7vmlm1dstcUqfVKpWfpr/31Q8Wr1C7ZZetccmlS4fsAjzyfB1QAStbHh5Julk8y5QK4TnoE6B64LoQO1pdKOTVKGAaNkJV5ahqdhVn+gxvRMeouT/nWaqikFCrf2CKTRcGZsjRalvJgN1tIYXvd0Iz3hBmjoq9+z1O1bFTiBmd9wvNs2XqGOGwsa9o2NjPZLmkqDx0JjQBKSilVU1ofEy6q4LVxafqNf2F9vbGSF+p3OmyS6WnPj/GKPecejafZyS3vUDPKnoqdmbC5WXVqI1DKXZHyahAIUHxY5orPNpRV1oNmrrWlWgtjXshCGYgQV/VciEQKWdZjoZRysmBa36pSrnjHghnh84W2ZIJuK2ZO1aoNWVVhcp0z42a74ootjaEfCBObPS8VP3YkE5gHLtdclSfdxFhdx2u6mCz1iIF2ODP3ApPKyw5v5JuG1ORZ9jr2GYUuGBpvIOP1yYx8EEcg9MAoqP4jUisQkD40PW9lk7EjXsiCX+AxEhV5Vugq09HkWo+rKOZ6QUTGsM7TtHJzNRXsZOlkg+tcYrPg/gWGCCGLoe/0GbqQ9Bl6t0Lo9xBOvn37fNMFtiCMs6sLbE58z3cGW2DIseGEfTiw3Sm7cPCt4OAenPGt2SwW7nU2KZ5jHw/FBkGbDQ6GZhP02NxPktvCSX1OUu8aHOLOER4MjgftJ5M/OBzSh/NpdlM2HGo6wTU2IQ4QHYyN70N74bhDswl7bGZP7/WJE9i7WuANDafdZjt0Pj5F7/OZ44UXdPDgdGCPzmw2eZf7mocvXgj+5csa/Yq2XASEvTiCPL5M0+mX4K7PBrhYKBNiixB+2cnWcLetgx/pBhBvjnV0WrsuZfVVf0MRH0QJGHkgTkAY1MoYxLowrpXoke7pQ3UQ0Xqdl3/oMwDxPQhhVYhiEIavrp61q/rM4wMrWm86ZM00Te//82NP0DkXMWWrrNYvnV8uBV3vJHxc/+oxFVW5LNqcv+UX4+Um5KMreU6u5Dl8e57r6vmop7Z1DszQ6Cc=</diagram></mxfile>

View File

@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-01-11T02:36:21.755Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="0H9U1Wz2i3VyUxEKUyq8" version="13.4.5" type="device"><diagram id="ox_IyTXRnZNLjcFnBTdz" name="Page-1">5Zhbb5swFMc/jR8rYQzGPAaaLFPVaRKT9uyAuawGZ8Rpkn362eCEa6VVapJJVaTE/p/jS87v2MYAFJbHLzXd5s8iYRzYVnIE6BHYNoQWVj9aObWK73utkNVFYpw6ISr+MCNaRt0XCdsNHKUQXBbboRiLqmKxHGi0rsVh6JYKPhx1SzM2EaKY8qn6s0hk3qrE9jp9zYosP48Msd9aSnp2Nv9kl9NEHHoSWgIU1kLItlQeQ8Z18M5xadut3rBeJlazSv5Lg234dHplx+Al/lU4NHjKTnb9gNpeXinfmz9sJitP5wjUYl8lTHcCAQoOeSFZtKWxth4Uc6XlsuTGnIpKGohqOqpecB4KLuqmL5RQRtJY6TtZixfWs+CYsE2qLBmnO81Mt76ETHcdi7KITdnMmtWSHd8MB7wEWWUnEyWT9Um5mAa25bRNTGI6xHA6dJgdz2Rv3kOMXONITWpll7676KuCAfAOGM4UxtIFwQL4Dlh6+ntBGgUCMuWkQiGHMIZBrkTFRkSMRHmRVaoaq9AxpQc6sIVaAwtjKIsk0cPM0u/ywxolAPoYUgihASnXmpKyIZmScq4Fyp2AWv/48f2qKyclMYtnV86GuI5r3XLlIGvIw5/ygOddr88DX4sHnvBYXRtHmtrzOBK8wS6+IQ4Ehziwd28c3gTH4zq8Lo/EZSRx5ngQe4PwLXk4cHiwuHfnQaY8vkVXxcGgAuLN4fCxh+gtcbguHC4P+944/AmO6PkTnR7ecLvynHvzOO+fPSBfnxef5vxw/BEQfHcgcLpCovVn2bAcPDrP7/54ZU9w6FsIccEiBEsHBCFQl3qtrECgCqtGWYQRWGJAQkBa46P2sjHXl5RNrUqZbALWKT24+Pde34sbbA+7httCOUC8PXbGro//8irE6YbxgMYvWaOPB+8SEmJT76Vd0HyaPiWVhdBjP6DxRv0R+/Ho8dGd24/JTLrB96ebqnbvOxpb760RWv4F</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -1 +0,0 @@
<mxfile host="Electron" modified="2022-08-21T07:53:03.978Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="A8NzrPSNOTkC8mD6fGmz" version="13.4.5" type="device"><diagram id="aLP9Q2JBGdJELPBJHqNY" name="Page-1">5Zhdb5swFIZ/jS8zYQwGLkNK0k3rWjXTpvXOARNYAKfE+Wh//QyYBsdUWrUxKk25iP0e44PPc47BADTLT4uSbJMbFtEMmEZ0AugKmCaEBhZ/lfLUKJ7nNMK6TCM56Cws02cqRUOq+zSiO2UgZyzj6VYVQ1YUNOSKRsqSHdVhMctUr1uyppqwDEmmq9/TiCeN6prOWb+m6TppPUPsNZactIPlSnYJidixI6EAoFnJGG9a+WlGsyp4bVya6+avWF9urKQF/50Lgutv1vVnK48f8+eH2/0kCnaLiZzlQLK9XLC8Wf7URqBk+yKi1SQQIP+YpJwutySsrEfBXGgJzzNpjlnBJUSIq36aZTOWsbKeC0WEunEo9B0v2YZ2LDh06SoWlnVGdhUzoxrVhqzqhCxPQ+lmt6E8TKRBD0S7KlpyeupIMjALynLKyycxRFpNw2oukVlquRLa8czccmQqJx3eyJYDicyz9cvcZxSiIWm8gYypkwkc4F8BD9YNH3gzENjAh8DVoYl1c5WMGvGCFfQCj5RIlq4L0Q1FNKnQ/SqKqSiIqTTkaRRVbnpT4ZwshpoNpsbzbzNECCkMbUNnaEJXZ2gNhRBpCD/eDVpesRvSsLe8Vq5t2cZo5YUMFY2no4HtPtlFg4dCY2lovky/Dssmjs1+NhFeYRuPxQZBlQ12xmZja2ym98PWTWRTN7L62LjmCuHR2FhQfSzZo7PB+pY2uxl4U4spfqVwHG9ljLap2TZUC8ccG46jwbkf+IHzXgvHdNRNzbHGZuNqbPzF//kyYHkXbPDYbDyNze3ybj4oHApF6Th9cDzsIDLeEwdfvA38yze1w2byA36NTnfLJy8wg4cD3ru9J1SccRlihRB+3LPWMNnVwZ+KARBvT3V0Wrtoret/cXxybTAV5ygL+DPgObUyB75ozGtl+okcyKL6BtF6XZV/6LNziJuKQ5z34uqncFV/7vgQFq03EbJmmfLq93nOy8iKZj4JN+tav3R+WQqi30l4v/7Vc3LCU1aAnvOhUgADbEI26slztyfP4dvzXHTPX3lqW+dbGQp+AQ==</diagram></mxfile>

View File

@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-01-11T03:08:09.434Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="wZkdwQbGlyahQdMlLp3v" version="13.4.5" type="device"><diagram id="aLP9Q2JBGdJELPBJHqNY" name="Page-1">5Zhdb5swFIZ/jS8jYQzGXAZK2knrWjXTJu3OgCGoBqfEWdL9+hlwwmelVSrJpCoXsd/jL85zjo0ByM+PtyXdbu5FzDgwjfgI0A0wTQgNrP4q5bVRXNdphLTMYt2oFdbZH6ZFQ6v7LGa7XkMpBJfZti9GoihYJHsaLUtx6DdLBO/PuqUpGwnriPKx+jOL5aZRiem0+h3L0s1pZojdxpLTU2P9JLsNjcWhI6EAIL8UQjal/OgzXjnv5Jem3+oN63lhJSvkv3QI7n5Yd1+tPHnJ//x62C/iYHe70KP8pnyvH1gvVr6ePFCKfRGzahAIkHfYZJKttzSqrAfFXGkbmXNtTkQhNUS1HFXPOPcFF2U9FoopI0mk9J0sxTPrWHBEWJgoS8rprmJW9T67rBo6EnkW6bJeNSslO77pDnh2sopOJnImy1fVRHcwDavpogPTIprTocVsOTp6Nx3EyNYNqQ6t9Dx2631V0ADeAcMcwwgc4N0AF9YFD7g+CGzgQUDGnJQrZB9G38mFKNiAiJYoz9JCVSPlOqZ0r3JspnJgqQ15FsfVNJP02/gwBgGAPoYUQqhHyjbGpExIxqSsuUChEagvj7PmTUIiFk3mTUhsyzYumTfI6NNwxzTgac/r0sBz0bBGNL4tv8+LI0nMaRwxDrGNL4gDwT4O7Fwbhz3CsXyaNztim5HYmsJBzBDhS+KwYP9Usa+OA4/3Kv9+5t0qYfiN9HDc0LjkbmXbsJ8e5rV5OCMeTzMfHgyqBHGmcLjYQfSS6WE6/d3Ksa6Ng4xweLefBoflDnDga+NwRzge1o+rT8MDDw7zq79bnd4uencSGxAbLNVVxAKeD9SFvlJWwFOFVa0s/TUIMCA+II3xpmplYl5dUMJSlVJZe6xVOnTxy766E9fcFrsa3FI1gHh7bI3tGP/lNYjTkHGPRs9prQ8nbyMSYl3vxJ1X/+oxJZWZqOZeoOGx+RHb8eDl0Z7ajslEvMH3x5uqtt86alvnixEK/gI=</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -1 +0,0 @@
<mxfile host="Electron" modified="2022-08-21T07:54:58.241Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="VnVPpFC8NqRYJo5lOxqo" version="13.4.5" type="device"><diagram id="FvOr2f2zJKBByRSDsAu0" name="Page-1">5ZhRb5swEMc/jR87AQaDH4GQdpuqae3D1qfJAQdYAWfEaZJ++tnGNDgwaeuSZtLUh5j/2Rzc7+5sCmBc765bsipuWUYr4FjZDsAZcBzbtpD4kcq+UzD2OyFvy0xPOgj35TPVoqXVTZnRtTGRM1bxcmWKKWsamnJDI23Ltua0JatMryuS05Fwn5JqrH4pM150auD4B/2GlnnRe7YR7iw16SfrN1kXJGPbgQQTAOOWMd6N6l1MKxm8Pi7duvkvrC8P1tKG/84CvHl+wA8fQ9u385v97P3nu2+zK32XJ1Jt9Avrh+X7PgIt2zQZlTexAYy2Rcnp/Yqk0roVzIVW8LrS5iVruIYoHgdGeUXWkoAcvwRAXqSsLlO9aP1IeVpow7KsqphVrFXeYUZosEzlJN6yRzqwoDSgi6WwjAPRvxVtOd0NJB2Ya8pqytu9mKKtjuV2S3SWuoGGtj0wd32dysWAN+zzlOg8y1/ufUAhBprGH5BxxmQSH0QzgG01iACOQYJAkIDQA4kHgjkI4YieCAA3EZmBbFhDj6KuJVKVeSMuUxFWKvRIhrMUlRFqQ11mmXQzmROHrLEm0sJIBQP/CWBCCA2YnjWG6djBGKZ7LpZwxDK+vw3FreLZycrNRuPiWQYpTSeLZxF4rve6Aj1FuUHLJITHhOy+bw4JoXMR8kaEbsP4rGwyjwaZO8UmcBYQoUuxcW2zFXr+pdmgiU7ogcgHYQISDLALMJadUHQ/0bbFIBLNMDpvYS0pmi6szMcL62KF5UETHoKXhhdMwHPl7tVtWqELwvCwsf2PzdCFtsHMn9iu3pYZniw4gQoLVIGqvLkciPqL5qoEVS2eEx61Rb/0p+Bh5ENysW7pBOZOht5yJ6sXX/cPV+h5TkhCEv6pze9uJk/0qOI6xAYh9GPDesPVWgVfHEosG612Kjq9XYxy9StPmSIRYlXCscTenTtFRiRzpYQfyBO5lt9svddF+5c+B4feMFKtXrv6Llypz8N3adN7EyHrXlOv/jePwxVZ0Coi6WOu9GPnx6UgrgcJH6k/dU9OeMmaqWO0UQCnaFL46MQ2tbEEE3n+iu8jcXn4Kla2wf8WYPIT</diagram></mxfile>

View File

@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-01-11T03:13:25.100Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="IKo_p9QaQrGGghVbgDv6" version="13.4.5" type="device"><diagram id="FvOr2f2zJKBByRSDsAu0" name="Page-1">5ZdNj5swEIZ/jY8rYQzGHIGQblXtoc2h6qlywCFoHZwSp0n213cMToDASl1pk61UIUXmHX9lnpmxQSTZHD/VfLt+UrmQyHXyIyIz5LoBxfBrhFMrYHhapajL3GqdsChfhBUdq+7LXOwGHbVSUpfboZipqhKZHmi8rtVh2G2l5HDVLS/ESFhkXI7V72Wu163K3KDTH0VZrM8rYxq2lg0/d7b/ZLfmuTr0JJIiktRK6ba1OSZCGued/dKOm79ivWysFpX+mwHh/uVH+ONLhANcPJ5mn79++zl7sLP85nJv/7DdrD6dPVCrfZULMwlGJD6sSy0WW54Z6wGYg7bWG2nNK1VpCxG2A++llImSqm7mIjkXbJWBvtO1ehY9C82YWK7AUki+M8zM6IvLzNSZ2pSZbdtdi1qL46vuwBcnQ3QKtRG6PkEXO8B1vHaIjUyPWU6HDrMX0FZb9xAT33bkNrSKy9yd96FhAbwBhjuGkQYonqEQN40YhQlKKWIpinyU+ojNUURGwMAnekhl6O1KVeIKjZW4LIsKXjPwoQA9Nh4uIRkia9iUeW6WmQyDLlCcq0gg74OMEDJA5jtjZC5mY2TerYiREbFk8RTBVMnspnm0YpnIJvNoyXzPd+6ZR8QZQgnHUPC5Bvah0FtB8UdQnqLktmXNFyz3pnAwd0kovSMODw/Lmh98NA46UdV8FAcoSlEaotBDYWiqGlQyKMHQiKGwxbdNn5Wg0+mTB+HSuWf6+GTIi5KP5sUmeHnm8GnPnMhDUdSdS7fEJDAkVjCFKaQB4fdMq8tRYzEF7kdjCifTCuiEQIc1+TU3DciyeN4kWpNx/wkvgq94TVwV7svrvKErYAyYJU2CJYZQe6kDeOm8UaJk0dz4EsRa48z0cqk0N7xlDa1CNx7rlB5d+mtvvi4abg+7BhxcThxMt8fO2M3xT94jJV8KGfPsuWj068W7iMTUvvfiLm6eZk7NdanM2g/kur6/xy3oKt58byLe2ES84bfHG7x2X42NrfftTdI/</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -1 +0,0 @@
<mxfile host="Electron" modified="2022-08-21T07:59:47.276Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="QasVtwjBaJyNZ0lqSJkR" version="13.4.5" type="device"><diagram id="tmrIvn8UqugqhCCRZjQR" name="Page-1">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</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -1 +0,0 @@
<mxfile host="Electron" modified="2022-08-21T07:55:18.064Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="eiE0OQrnPL3rbL53didq" version="13.4.5" type="device"><diagram id="eaIidcC1E0RmdSH2MZln" name="Page-1">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</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

View File

@ -1 +0,0 @@
<mxfile host="Electron" modified="2022-08-21T07:55:35.326Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="dVHqHyJgnY6_cnJSIVuA" version="13.4.5" type="device"><diagram id="0XygYSvObaGfJKnrfW3A" name="Page-1">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</diagram></mxfile>

View File

@ -1 +0,0 @@
<mxfile host="Electron" modified="2022-08-21T07:56:00.349Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="KmfF-1hpfjSB67Tcaiqf" version="13.4.5" type="device"><diagram id="ox_IyTXRnZNLjcFnBTdz" name="Page-1">zZbbjpswEIafxpdbAeZgLgObpNqoUttt1WvHGPDG4KxxTn36GrATCKnUVRttlYvY/4w9eL7xAcC0Oi4l3pafREY58JzsCOAj8DzXdUL91yqnXonjqBcKyTLjdBGe2U9qRMeoO5bRZuSohOCKbcciEXVNiRppWEpxGLvlgo+jbnFBJ8IzwXyq/mCZKnsVedFF/0hZUdrIbhj3lgpbZ7OSpsSZOAwkOAcwlUKovlUdU8rb5Nm89OMWv7GeP0zSWv3JgG26Ou3pMdmQF+bjZFWcPPkA+1n2mO/Mgs3HqpPNgBS7OqPtJC6AyaFkij5vMWmtB81ca6WquDHnolYGohu2fcZ5KriQ3VwwwxTlROuNkmJDB5aQILrOtaXguGmZOa2XTVnbIaJixIRpNlSR0himiTC52VOp6HEgmcQsqaiokiftYqye4/dDTJX6yEA7XJj7kSnlcsg7No7Y1FlxnvuCQjcMjTeQ8adk5j5IUjBzwByBZA5iCOYBSFyAptD0utWYzDjjtajpFR4jYc6KWneJzibVetJmkekNMTOGimVZG+ZmKVyKxRlXg+dcYxvB/QcMIYQjhoEzZei5aMrQvxfCYILwW/r5rvsrR4SSm/trjQI/cN5tf0XemA0KJmxce1AO2YT3YmPvlwGc7493hpPn3m04WbgOg/C94PjxO8LBX2FDeYTIq8PR0+sqW32JHtwJG+CFXJkUjwiFrzthDQ9Nl/yZdnDD7bHLjrXrVtH96yNTr2+WmtNUP0daZQES3Vh0yuwJ7/GyfXfYqGv5lzEjkDyC2G0bswTE8TnUiw7VPXE+kNpG0ynrl2lG/59nO8dryhNMNkWnXwe/3gq6Pyj4pPt1cyqsmKhtzd/zgvDtXW3rHE4vCBfdqHP37XWuu5eXXWcbvI/h/Bc=</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-21T08:05:18.183Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="xMeBG7_nAsRDAbbRhjry" version="13.4.5" type="device"><diagram id="6glDTgA6XYCe0tAhm3UR" name="Page-1">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</diagram></mxfile>
<mxfile host="Electron" modified="2022-08-14T06:35:54.579Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="doaFBNYYKvIzdv12i77x" version="13.4.5" type="device"><diagram id="6glDTgA6XYCe0tAhm3UR" name="Page-1">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</diagram></mxfile>

View File

@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-21T08:05:32.825Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="jsQFc-00AkauRaidBkka" version="13.4.5" type="device"><diagram id="36YX7qAPODSIrNMN_ykt" name="Page-1">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</diagram></mxfile>
<mxfile host="Electron" modified="2022-08-14T05:42:49.657Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="8Bn7vkAmzlDLwz-4yDlL" version="13.4.5" type="device"><diagram id="36YX7qAPODSIrNMN_ykt" name="Page-1">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</diagram></mxfile>

View File

@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-21T08:03:51.302Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="Kjpej8vAA-xdlOsmFXX9" version="13.4.5" type="device"><diagram id="AL4jlyFzqR7gxqzt3J-t" name="Page-1">7Zldc6M2FIZ/DTPbizD6AASXxnHS2U532vXFNpcYhE0jIxfLid1fXwmELQHedZzE9WR2chF0JB2J8z46cLCDx8vtfZWsFr/zjDIHgWzr4FsHIQhBIP8py66xRBFpDPOqyPSgg2Fa/Eu1EWjrpsjo2hooOGeiWNnGlJclTYVlS6qKP9vDcs7sVVfJnPYM0zRhfeu3IhOL9r6C6NDxKy3mi3bpwPeanmXSjta3sl4kGX82THji4HHFuWiultsxZSp6bWCaeXdHevc7q2gpTpmw/Vp++XozAwysHz5jvLx/APAGNV6eErbRdzxmhXLYbFns2kBUfFNmVLmCDo6fF4Wg01WSqt5nKb20LcSS6e68YGzMGa/quThLaJin0r4WFX+kRk+QhnSWy56UL4tUz94HCuyntLGvnfNSaFBQPeKRinShh/eDouP0RCtBt4ZJB+me8iUV1U4O0b1E66WJhaFuPx/0j4hLtMwLQ3xfj0w0dPO974Ms8kIr8wKVcE+lKa3kHb2pSnlOg3RQpYxEMwCuSyWPYDckV6eU11OqpxEts5HKTLJV8pJ2NDHCJu8+lgGqdn+psLl+23zQY+vG7VbHtGntBgVBPb1OUkMk1ZyKH2cPmllJtK+ZIUgb+SE1KsoSUTzZqXdIIr3CH7xQmQrsnzaRxQMJOiqv+aZKqZ5lZsquI4JcFCCEI+IBD4PI5myfIVq/TZx6fmuA9lE4nyn/IzF1Jaz4qCOxTU43P5xKjo+gS466Rfiy4AQvAidlyXqt0rvJzncTuzxvNQMr1cgZ3WpX3+HCfkBdOyXQt98FMDiXCyCfVuExLnB4WS7ITy5emT0AckPzmHuWnt656QN6Hb+WW9+7LCbhT0xemT487GJgyIktPQN0djZBrmf7It3M9M5sRANsBExogeuCvC0fgn82qsSVamEPZCjPTVMwV/+nD1/a6XI3jYem59N08qf0sv2lh56sE8QQbG3dot+DzCJHmxJWzEtFrMRG1lA4VlVHIWv+ke5YFlmmlhksoA4Igi6qZnlkch7W04REiSv30H+HegiGoQt9g7XAfsTAfm2EAuiiPvxdKt+sNmq3cByag7wtIarjZl3HcSQHwHC1NfF5K8xeu4/WS3ya/8Fd53kWBYF1d2fuYzT+7eg+gD5RUs6xGifPltw2/Ejn6+ZdDhjx3BAfPV9e0D9fXkRc/5LnC/7ofP1v3H1qUNt9NNTeJ5VH2LW/OOzfFMzs7Uey1LwkXgPftia+E/rOaOxMPCceOxGpLXdOLC/uasvoc/KU3Kuv+C0as+okwoLBDDshTnzrRFBdjGInivbr/C3XqX8tcNPySgljyYyyOEkf57W9u7iBWaDbxkfYuP6z8eu9H1sMvwGKCBNZkFgsIq/PIiQDL9Hw5SDK5uH3kOZV9fCzEp78Bw==</diagram></mxfile>
<mxfile host="Electron" modified="2022-08-13T13:41:56.051Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="ltlIWFww6GRdYTsO7ZgJ" version="13.4.5" type="device"><diagram id="AL4jlyFzqR7gxqzt3J-t" name="Page-1">7Zldc6M2FIZ/DTPbizD6AASXxnHS2U532vXFNpcYhE0jIxfLid1fXwmELQHedZzE9WR2chF0JB2J8z46cLCDx8vtfZWsFr/zjDIHgWzr4FsHIQhBIP8py66xRBFpDPOqyPSgg2Fa/Eu1EWjrpsjo2hooOGeiWNnGlJclTYVlS6qKP9vDcs7sVVfJnPYM0zRhfeu3IhOL9r6C6NDxKy3mi3bpwPeanmXSjta3sl4kGX82THji4HHFuWiultsxZSp6bWCaeXdHevc7q2gpTpmw/Vp++XozAwysHz5jvLx/APAGNV6eErbRdzxmhXLYbFns2kBUfFNmVLmCDo6fF4Wg01WSqt5nKb20LcSS6e68YGzMGa/quThLaJin0r4WFX+kRk+QhnSWy56UL4tUz94HCuyntLGvnfNSaFBQPeKRirTt7AdFx+mJVoJuDZMO0j3lSyqqnRyie4nWSxMLQ91+PugfEZdomReG+L4emWjo5nvfB1nkhVbmBSrhnkpTWsk7elOV8pwG6aBKGYlmAFyXSh7BbkiuTimvp1RPI1pmI5WZZKvkJe1oYoRN3n0sA1Tt/lJRdv22+aDH1o3brZagae0GBUE9vU5SQyTVnIofZw+aWUm0r5khSBv5ITUqyhJRPNmpd0givcIfvFCZCuyfNpHFAwk6Kq/5pkqpnmVmyq4jglwUIIQj4gEPg8jmbJ8hWr9NnHp+a4D2UTifKf8jMXUlrPioI7FNTjc/nEqOj6BLjrpF+LLgBC8CJ2XJeq3Su8nOdxO7PG81AyvVyBndalff4cJ+QF07JdC33wUwOJcLIJ9W4TEucHhZLshPLl6ZPQByQ/OYe5ae3rnpA3odv5Zb37ssJuFPTF6ZPjzsYmDIiS09A3R2NkGuZ/si3cz0zmxEA2wETGiB64K8LR+CfzaqxJVqYQ9kKM9NUzBX/6cPX9rpcjeNh6bn03Typ/Sy/aWHnqwTxBBsbd2i34PMIkebElbMS0WsxEbWUDhWVUcha/6R7lgWWaaWGSygDgiCLqpmeWRyHtbThESJK/fQf4d6CIahC32DtcB+xMB+bYQC6KI+/F0q36w2ardwHJqDvC0hquNmXcdxJAfAcLU18XkrzF67j9ZLfJr/wV3neRYFgXV3Z+5jNP7t6D6APlFSzrEaJ8+W3Db8SOfr5l0OGPHcEB89X17QP19eRFz/kucL/uh8/W/cfWpQ23001N4nlUfYtb847N8UzOztR7LUvCReA9+2Jr4T+s5o7Ew8Jx47Eaktd04sL+5qy+hz8pTcq6/4LRqz6iTCgsEMOyFOfOtEUF2MYieK9uv8Ldepfy1w0/JKCWPJjLI4SR/ntb27uIFZoNvGR9i4/rPx670fWwy/AYoIE1mQWCwir88iJAMv0fDlIMrm4feQ5lX18LMSnvwH</diagram></mxfile>

View File

@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-21T08:05:52.295Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="MA6nRhT1k75XRlbcCSOb" version="13.4.5" type="device"><diagram id="wcNzZLoUwuyfQb5zXRwy" name="Page-1">7Zldc6M2FIZ/DTO7F2GQAAGXxrGz2/2Ytp5O272TQWAajBwsx3Z+fSWQbPFhr+OJUzeT8YXRkXSE9D4c6YBhD+ebuxIvZt9oTHIDWvHGsG8NCAGwEP8Tlm1tCQKvNqRlFstGe8MkeyLSaEnrKovJstGQUZqzbNE0RrQoSMQaNlyWdN1sltC8OeoCp6RjmEQ471r/zGI2U/NCwb7iE8nSmRoauU5dM8eqtZzKcoZjutZM9siwhyWlrL6ab4YkF6unFqbuNz5Qu7uzkhTslA5/fE6Th4eb5OvT0w/v9yT9MXY/3UgvjzhfyRkP80w4rG+ZbdVClHRVxES4AoYdrmcZI5MFjkTtmkvPbTM2z2V1kuX5kOa0rPraMSZ+EnH7kpX0nmg1KPLJNOE1EZ1nkey9Wyhr10WtfeWcFkyCAqsW94RFM9m8uyhqhqRkZKOZ5CLdETonrNzyJrLWc0wgO0logS8lXO8RCDzTk0rPNP1d2RJL7tKd+70y/EKK8wyhYEeoCSn5pF5UqCQhKOoVKvaCqWVdl1COZ5u+d3VK2R2lOhqRIh6I4MRLBS1ISxNt2fjsQ75A5fYvsWymq4p/y7ZV4XYj17QubXsFgR29TlKD4TIl7OcBhMSNONrVTBNErXyfGiXJMcsem9G3TyI5wq80E8FKIQFUsJU8eKil8pKuyojIXnqwbDvyoAkRhHbgOZZjW0GTM+i1/Nbr1PFbAbRbhfOZct4SU1fCigtbEjfJaceHU8lxITC9g26h/brguM8CJ8rxcinCu87O0cAOgpqBhSgkOdlIV/9jLoADG5LZ1rkkgGOA2f7rkoDeSXh2hLCObgIOOHdzcY76ddvAXZgM752M58cIZFrgoIIInh0yWn6be9Irg+H3gIFyJtWtsm6VIKCHlchjuXB2FGM4JbpJI0kZhYObZcXHgDcA/mJTNd13Qqn4H3/+rsbkU6iHrWs+TEa/cZebjx1YefrA+vBU6Yw8Hum5jzThPEsLwTjHjqdWdiiSkSzC+UBWzLM4FsP05lX7zMtqw61nTfqT4VfdGEeRCvfAvUCaBIKj0Wa3vWlPDkTAhN2Hp031i6VMwVmgJUkcIPRCoA2GXw6Axnsp1gwYgrfE281FgKteoBzeNWGXN4fn6O4r8qY27usETtK2fWu0XQQ2Gx7fie0e2nrOBZdDrfuG9f109bNzN7BMR9fUbUYQ3z3z3O0e9et6Lb8XPl6B7jtdFRGWC1z0RhcZl0RkKdPpB2jxWx6KMIOgvAisj3VoOu+IVY+sdj6E5+LZL6bLhRaY3lJQuswW6B9PHBV4/+UW2POaeuQa/NEaDI2RY4RDg9+1sIyNkF+MK8vgF/yI78Q3OYXMtDxpF0Qcvg55xsgzwlsjAOJiEBpBsBvnHz5O9e3PjIorpS3HU5KHOLpPK3t7cA05JMva95Sw+jVR7MTpBs8vQCW0PdNHDRR3m6GGIvB6Qnv7XccJIPLi/utmHTT3H4nt0b8=</diagram></mxfile>
<mxfile host="Electron" modified="2022-08-13T14:28:15.284Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="1K9ojrwZqdc5vI_gWreO" version="13.4.5" type="device"><diagram id="wcNzZLoUwuyfQb5zXRwy" name="Page-1">7Zldc6M2FIZ/DTO7F2GQAAGXxrGz2/2Ytp5O272TQWAajBwsx3Z+fSWQbPFhr+OJUzeT8YXRkXSE9D4c6YBhD+ebuxIvZt9oTHIDWvHGsG8NCAGwEP8Tlm1tCQKvNqRlFstGe8MkeyLSaEnrKovJstGQUZqzbNE0RrQoSMQaNlyWdN1sltC8OeoCp6RjmEQ471r/zGI2U/NCwb7iE8nSmRoauU5dM8eqtZzKcoZjutZM9siwhyWlrL6ab4YkF6unFqbuNz5Qu7uzkhTslA5/fE6Th4eb5OvT0w/v9yT9MXY/3UgvjzhfyRkP80w4rG+ZbdVClHRVxES4AoYdrmcZI5MFjkTtmkvPbTM2z2V1kuX5kOa0rPraMSZ+EnH7kpX0nmg1KPLJNOE1EZ1nkey9Wyhr10WtfeWcFkyCAqsW94RFqrK7KGqGpGRko5nkIt0ROies3PImstZzTCA7SWiBLyVc7xEIPNOTSs80/V3ZEkvu0p37vTL8QorzDKFgR6gJKfmkXlSoJCEo6hUq9oKpZV2XUI5nm753dUrZHaU6GpEiHojgxEsFLUhLE23Z+OxDvkDl9i+xyqarin/LtlXhdiMlqEvbXkFgR6+T1GC4TAn7eQAhcSOOdjXTBFEr36dGSXLMssdm9O2TSI7wK81EsFJIABVsJQ8eaqm8pKsyIrKXHizbjjxoQgShHXiO5dhW0OQMei2/9Tp1/FYA7VbhfKact8TUlbDiwpbETXLa8eFUclwITO+gW2i/Ljjus8CJcrxcivCus3M0sIOgZmAhCklONtLV/5gL4MCGZLZ1LgngGGC2/7okoHcSnh0hrKObgAPO3Vyco37dNnAXJsN7J+P5MQKZFjioIIJnh4yW3+ae9Mpg+D1goJxJdausWyUI6GEl8lgunB3FGE6JbtJIUkbh4GZZ8THgDYC/2FRN951QKv7Hn7+rMfkU6mHrmg+T0W/c5eZjB1aePrA+PFU6I49Heu4jTTjP0kIwzrHjqZUdimQki3A+kBXzLI7FML151T7zstpw61mT/mT4VTfGUaTCPXAvkCaB4Gi02W1v2pMDETBh9+FpU/1iKVNwFmhJEgcIvRBog+GXA6DxXoo1A4bgLfF2cxHgqhcoh3dN2OXN4Tm6+4q8qY37OoGTtG3fGm0Xgc2Gx3diu4e2nnPB5VDrvmF9P1397NwNLNPRNXWbEcR3zzx3u0f9ul7L74WPV6D7TldFhOUCF73RRcYlEVnKdPoBWvyWhyLMICgvAutjHZrOO2LVI6udD+G5ePaL6XKhBaa3FJQuswX6xxNHBd5/uQX2vKYeuQZ/tAZDY+QY4dDgdy0sYyPkF+PKMvgFP+I78U1OITMtT9oFEYevQ54x8ozw1giAuBiERhDsxvmHj1N9+zOj4kppy/GU5CGO7tPK3h5cQw7JsvY9Jax+TRQ7cbrB8wtQCW3P9FEDxd1mqKEIvJ7Q3n7XcQKIvLj/ulkHzf1HYnv0Lw==</diagram></mxfile>

View File

@ -9,7 +9,7 @@ tag:
**OSI 七层模型** 是国际标准化组织提出一个网络分层模型,其大体结构以及每一层提供的功能如下图所示:
![OSI 七层模型](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/cs-basics/network/osi-7-model.png)
![osi七层模型](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/osi%E4%B8%83%E5%B1%82%E6%A8%A1%E5%9E%8B.png)
每一层都专注做一件事情,并且每一层都需要使用下一层提供的功能比如传输层需要使用网络层提供的路由和寻址功能,这样传输层才知道把数据传输到哪里去。
@ -32,7 +32,7 @@ OSI 七层模型虽然失败了,但是却提供了很多不错的理论基础
最后再分享一个关于 OSI 七层模型非常不错的总结图片!
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/cs-basics/network/osi-model-detail.png)
![](./images/osi&tcp-ip-model/osi-model-detail.png)
## TCP/IP 四层模型
@ -45,7 +45,7 @@ OSI 七层模型虽然失败了,但是却提供了很多不错的理论基础
需要注意的是,我们并不能将 TCP/IP 四层模型 和 OSI 七层模型完全精确地匹配起来,不过可以简单将两者对应起来,如下图所示:
![TCP/IP 四层模型](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/cs-basics/network/tcp-ip-4-model.png)
![TCP-IP-4-model](./images/osi&tcp-ip-model/TCP-IP-4-model.png)
### 应用层Application layer
@ -55,7 +55,7 @@ OSI 七层模型虽然失败了,但是却提供了很多不错的理论基础
应用层协议定义了网络通信规则,对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如支持 Web 应用的 HTTP 协议,支持电子邮件的 SMTP 协议等等。
![应用层重要协议](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/cs-basics/network/application-layer-protocol.png)
![application-layer](./images/osi&tcp-ip-model/application-layer.png)
应用层常见协议总结,请看这篇文章:[应用层常见协议总结(应用层)](./application-layer-protocol.md)。
@ -68,7 +68,7 @@ OSI 七层模型虽然失败了,但是却提供了很多不错的理论基础
1. **传输控制协议 TCP**Transmisson Control Protocol--提供 **面向连接** 的,**可靠的** 数据传输服务。
2. **用户数据协议 UDP**User Datagram Protocol--提供 **无连接** 的,尽最大努力的数据传输服务(不保证数据传输的可靠性)。
![传输层重要协议](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/cs-basics/network/transport-layer-protocol.png)
![transport-layer](./images/osi&tcp-ip-model/transport-layer.png)
### 网络层Network layer
@ -82,7 +82,7 @@ OSI 七层模型虽然失败了,但是却提供了很多不错的理论基础
互联网是由大量的异构heterogeneous网络通过路由器router相互连接起来的。互联网使用的网络层协议是无连接的网际协议Intert Prococol和许多路由选择协议因此互联网的网络层也叫做 **网际层****IP 层**
![网络层重要协议](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/cs-basics/network/nerwork-layer-protocol.png)
![](./images/osi&tcp-ip-model/nerwork-layer.png)
**网络层常见协议**
@ -98,13 +98,15 @@ OSI 七层模型虽然失败了,但是却提供了很多不错的理论基础
1. 数据链路层(data link layer)通常简称为链路层( 两台主机之间的数据传输,总是在一段一段的链路上传送的)。**数据链路层的作用是将网络层交下来的 IP 数据报组装成帧,在两个相邻节点间的链路上传送帧。每一帧包括数据和必要的控制信息(如同步信息,地址信息,差错控制等)。**
2. **物理层的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异**
![网络接口层重要协议](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/cs-basics/network/network-interface-layer-protocol.png)
![network-interface-layer](./images/osi&tcp-ip-model/network-interface-layer.png)
### 总结
简单总结一下每一层包含的协议和核心技术:
简单总结一下每一层包含的协议和核心技术:
![network-protocol-overview](./images/osi&tcp-ip-model/network-protocol-overview.png)
![TCP/IP 各层协议概览](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/cs-basics/network/network-protocol-overview.png)
**应用层协议** :

View File

@ -10,6 +10,7 @@ tag:
## 建立连接-TCP 三次握手
![TCP 三次握手图解](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/cs-basics/network/tcp-shakes-hands-three-times.png)
建立一个 TCP 连接需要“三次握手”,缺一不可

View File

@ -1,127 +0,0 @@
---
title: CDN内容分发网络
category: 高性能
head:
- - meta
- name: keywords
content: CDN,内容分发网络
- - meta
- name: description
content: CDN 就是将静态资源分发到多个不同的地方以实现就近访问,进而加快静态资源的访问速度,减轻服务器以及带宽的负担。
---
## 什么是 CDN
**CDN** 全称是 Content Delivery Network/Content Distribution Network翻译过的意思是 **内容分发网络**
我们可以将内容分发网络拆开来看:
- 内容 指的是静态资源比如图片、视频、文档、JS、CSS、HTML。
- 分发网络 :指的是将这些静态资源分发到位于多个不同的地理位置机房中的服务器上,这样,就可以实现静态资源的就近访问比如北京的用户直接访问北京机房的数据。
所以,简单来说,**CDN 就是将静态资源分发到多个不同的地方以实现就近访问,进而加快静态资源的访问速度,减轻服务器以及带宽的负担。**
类似于京东建立的庞大的仓储运输体系,京东物流在全国拥有非常多的仓库,仓储网络几乎覆盖全国所有区县。这样的话,用户下单的第一时间,商品就从距离用户最近的仓库,直接发往对应的配送站,再由京东小哥送到你家。
![京东仓配系统](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/high-performance/cdn/jingdong-wuliu-cangpei.png)
你可以将 CDN 看作是服务上一层的特殊缓存服务,分布在全国各地,主要用来处理静态资源的请求。
![CDN 简易示意图](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/high-performance/cdn/cdn-101.png)
我们经常拿全站加速和内容分发网络做对比,不要把两者搞混了!全站加速(不同云服务商叫法不同,腾讯云叫 ECDN、阿里云叫 DCDN既可以加速静态资源又可以加速动态资源内容分发网络CDN主要针对的是 **静态资源**
![阿里云文档https://help.aliyun.com/document_detail/64836.html](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/high-performance/cdn/cdn-aliyun-dcdn.png)
绝大部分公司都会在项目开发中交使用 CDN 服务,但很少会有自建 CDN 服务的公司。基于成本、稳定性和易用性考虑,建议直接选择专业的云厂商(比如阿里云、腾讯云、华为云、青云)或者 CDN 厂商(比如网宿、蓝汛)提供的开箱即用的 CDN 服务。
很多朋友可能要问了:**既然是就近访问,为什么不直接将服务部署在多个不同的地方呢?**
- 成本太高,需要部署多份相同的服务。
- 静态资源通常占用空间比较大且经常会被访问到,如果直接使用服务器或者缓存来处理静态资源请求的话,对系统资源消耗非常大,可能会影响到系统其他服务的正常运行。
同一个服务在在多个不同的地方部署多份(比如同城灾备、异地灾备、同城多活、异地多活)是为了实现系统的高可用而不是就近访问。
## CDN 工作原理是什么?
搞懂下面 3 个问题也就搞懂了 CDN 的工作原理:
1. 静态资源是如何被缓存到 CDN 节点中的?
2. 如何找到最合适的 CDN 节点?
3. 如何防止静态资源被盗用?
### 静态资源是如何被缓存到 CDN 节点中的?
你可以通过预热的方式将源站的资源同步到 CDN 的节点中。这样的话,用户首次请求资源可以直接从 CDN 节点中取,无需回源。这样可以降低源站压力,提升用户体验。
如果不预热的话,你访问的资源可能不再 CDN 节点中,这个时候 CDN 节点将请求源站获取资源,这个过程是大家经常说的 **回源**
**命中率** 和 **回源率** 是衡量 CDN 服务质量两个重要指标。命中率越高越好,回源率越低越好。
如果资源有更新的话,你也可以对其 **刷新** ,删除 CDN 节点上缓存的资源,当用户访问对应的资源时直接回源获取最新的资源,并重新缓存。
### 如何找到最合适的 CDN 节点?
GSLB Global Server Load Balance全局负载均衡是 CDN 的大脑负责多个CDN节点之间相互协作最常用的是基于 DNS 的 GSLB。
CDN 会通过 GSLB 找到最合适的 CDN 节点,更具体点来说是下面这样的:
1. 浏览器向 DNS 服务器发送域名请求;
2. DNS 服务器向根据 CNAME( Canonical Name ) 别名记录向 GSLB 发送请求;
3. GSLB 返回性能最好(通常距离请求地址最近)的 CDN 节点(边缘服务器,真正缓存内容的地方)的地址给浏览器;
4. 浏览器直接访问指定的 CDN 节点。
![CDN 原理示意图](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/high-performance/cdn/cdn-overview.png)
为了方便理解上图其实做了一点简化。GSLB 内部可以看作是 CDN 专用 DNS 服务器和负载均衡系统组合。CDN 专用 DNS 服务器会返回负载均衡系统 IP 地址给浏览器,浏览器使用 IP 地址请求负载均衡系统进而找到对应的 CDN 节点。
**GSLB 是如何选择出最合适的 CDN 节点呢?** GSLB 会根据请求的 IP 地址、CDN 节点状态(比如负载情况、性能、响应时间、带宽)等指标来综合判断具体返回哪一个 CDN 节点的地址。
### 如何防止资源被盗刷?
如果我们的资源被其他用户或者网站非法盗刷的话,将会是一笔不小的开支。
解决这个问题最常用最简单的办法设置 **Referer 防盗链**,具体来说就是根据 HTTP 请求的头信息里面的 Referer 字段对请求进行限制。我们可以通过 Referer 字段获取到当前请求页面的来源页面的网站地址,这样我们就能确定请求是否来自合法的网站。
CDN 服务提供商几乎都提供了这种比较基础的防盗链机制。
![腾讯云 CDN Referer 防盗链配置](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/high-performance/cdn/cnd-tencent-cloud-anti-theft.png)
不过,如果站点的防盗链配置允许 Referer 为空的话,通过隐藏 Referer可以直接绕开防盗链。
通常情况下,我们会配合其他机制来确保静态资源被盗用,一种常用的机制是 **时间戳防盗链** 。相比之下,**时间戳防盗链** 的安全性更强一些。时间戳防盗链加密的 URL 具有时效性,过期之后就无法再被允许访问。
时间戳防盗链的 URL 通常会有两个参数一个是签名字符串,一个是过期时间。签名字符串一般是通过对用户设定的加密字符串、请求路径、过期时间通过 MD5 哈希算法取哈希的方式获得。
时间戳防盗链 URL示例
```
http://cdn.wangsu.com/4/123.mp3? wsSecret=79aead3bd7b5db4adeffb93a010298b5&wsTime=1601026312
```
- `wsSecret` :签名字符串。
- `wsTime`: 过期时间。
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/high-performance/cdn/timestamp-anti-theft.png)
时间戳防盗链的实现也比较简单,并且可靠性较高,推荐使用。并且,绝大部分 CDN 服务提供商都提供了开箱即用的时间戳防盗链机制。
![七牛云时间戳防盗链配置](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/high-performance/cdn/qiniuyun-timestamp-anti-theft.png)
除了 Referer 防盗链和时间戳防盗链之外,你还可以 IP 黑白名单配置、IP 访问限频配置等机制来防盗刷。
## 总结
- CDN 就是将静态资源分发到多个不同的地方以实现就近访问,进而加快静态资源的访问速度,减轻服务器以及带宽的负担。
- 基于成本、稳定性和易用性考虑,建议直接选择专业的云厂商(比如阿里云、腾讯云、华为云、青云)或者 CDN 厂商(比如网宿、蓝汛)提供的开箱即用的 CDN 服务。
- GSLB Global Server Load Balance全局负载均衡是 CDN 的大脑,负责多个 CDN 节点之间相互协作,最常用的是基于 DNS 的 GSLB。CDN 会通过 GSLB 找到最合适的 CDN 节点。
- 为了防止静态资源被盗用,我们可以利用 **Referer 防盗链** + **时间戳防盗链**
## 参考
- 时间戳防盗链 - 七牛云 CDNhttps://developer.qiniu.com/fusion/kb/1670/timestamp-hotlinking-prevention
- CDN是个啥玩意一文说个明白https://mp.weixin.qq.com/s/Pp0C8ALUXsmYCUkM5QnkQw
- 《透视 HTTP 协议》- 37 | CDN加速我们的网络服务http://gk.link/a/11yOG

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
<mxfile host="Electron" modified="2022-08-21T11:21:39.137Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="lCU4bFj4S7J4SMTi2amm" version="13.4.5" type="device"><diagram id="hOm4ZVVBxYnfASh_6NZ6" name="Page-1">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</diagram></mxfile>

View File

@ -1 +0,0 @@
<mxfile host="Electron" modified="2022-08-21T11:21:52.663Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="XDdpittxPwt_r72mhpB0" version="13.4.5" type="device"><diagram id="hOm4ZVVBxYnfASh_6NZ6" name="Page-1">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</diagram></mxfile>

View File

@ -2,18 +2,19 @@
title: 数据库读写分离和分库分表
category: 高性能
head:
- - meta
- name: keywords
content: 读写分离,分库分表,主从复制
- - meta
- name: description
content: 读写分离主要是为了将对数据库的读写操作分散到不同的数据库节点上。 这样的话,就能够小幅提升写性能,大幅提升读性能。 读写分离基于主从复制MySQL 主从复制是依赖于 binlog 。分库就是将数据库中的数据分散到不同的数据库上。分表就是对单表的数据进行拆分,可以是垂直拆分,也可以是水平拆分。引入分库分表之后,需要系统解决事务、分布式 id、无法 join 操作问题
content: 相信很多小伙伴们对于读写分离和分库分表这两个概念已经比较熟悉了,这篇文章全程都是大白话的形式,希望能够给你带来不一样的感受。
---
相信很多小伙伴们对于这两个概念已经比较熟悉了,这篇文章全程都是大白话的形式,希望能够给你带来不一样的感受。
如果你之前不太了解这两个概念,那我建议你搞懂之后,可以把自己对于读写分离以及分库分表的理解讲给你的同事/朋友听听。
**原创不易,若有帮助,点赞/分享就是对我最大的鼓励!**
_个人能力有限。如果文章有任何需要补充/完善/修改的地方欢迎在评论区指出共同进步_
## 读写分离
### 何为读写分离?
@ -22,7 +23,7 @@ head:
我简单画了一张图来帮助不太清楚读写分离的小伙伴理解。
![读写分离示意图](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/high-performance/read-and-write-separation-and-library-subtable/read-and-write-separation.png)
![读写分离](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/java-guide-blog/9c624bc130d053860a5089cb9a53310a.png)
一般情况下,我们都会选择一主多从,也就是一台主数据库负责写,其他的从数据库负责读。主库和从库之间会进行数据同步,以保证从库中数据的准确性。这样的架构实现起来比较简单,并且也符合系统的写少读多的特点。
@ -66,7 +67,7 @@ hintManager.setMasterRouteOnly();
**1.代理方式**
![代理方式实现读写分离](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/high-performance/read-and-write-separation-and-library-subtable/read-and-write-separation-proxy.png)
![读写分离-代理层](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/java-guide-blog/461112716e30db118f4c784adc6e2ff7.png)
我们可以在应用和数据中间加了一个代理层。应用程序所有的数据请求都交给代理层处理,代理层负责分离读写请求,将它们路由到对应的数据库中。
@ -78,7 +79,7 @@ hintManager.setMasterRouteOnly();
这也是我比较推荐的一种方式。这种方式目前在各种互联网公司中用的最多的,相关的实际的案例也非常多。如果你要采用这种方式的话,推荐使用 `sharding-jdbc` ,直接引入 jar 包即可使用,非常方便。同时,也节省了很多运维的成本。
你可以在 shardingsphere 官方找到 [sharding-jdbc 关于读写分离的操作](https://shardingsphere.apache.org/document/legacy/3.x/document/cn/manual/sharding-jdbc/usage/read-write-splitting/)。
你可以在 shardingsphere 官方找到[sharding-jdbc 关于读写分离的操作](https://shardingsphere.apache.org/document/legacy/3.x/document/cn/manual/sharding-jdbc/usage/read-write-splitting/)。
### 主从复制原理了解么?
@ -192,12 +193,3 @@ ShardingSphere 绝对可以说是当前分库分表的首选ShardingSphere
- 重复上一步的操作,直到老库和新库的数据一致为止。
想要在项目中实施双写还是比较麻烦的,很容易会出现问题。我们可以借助上面提到的数据库同步工具 Canal 做增量数据迁移(还是依赖 binlog开发和维护成本较低
## 总结
- 读写分离主要是为了将对数据库的读写操作分散到不同的数据库节点上。 这样的话,就能够小幅提升写性能,大幅提升读性能。
- 读写分离基于主从复制MySQL 主从复制是依赖于 binlog 。
- **分库** 就是将数据库中的数据分散到不同的数据库上。**分表** 就是对单表的数据进行拆分,可以是垂直拆分,也可以是水平拆分。
- 引入分库分表之后,需要系统解决事务、分布式 id、无法 join 操作问题。
- ShardingSphere 绝对可以说是当前分库分表的首选ShardingSphere 的功能完善除了支持读写分离和分库分表还提供分布式事务、数据库治理等功能。另外ShardingSphere 的生态体系完善,社区活跃,文档完善,更新和发布比较频繁。

View File

@ -355,11 +355,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
### 负载均衡
[负载均衡](./high-performance/load-balancing.md)
### CDN
[CDN内容分发网络](./high-performance/cdn.md)
[负载均衡](./high-performance/load-balancing.md)
## 高可用

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-21T08:37:52.246Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="jIreOLrTBAwCvvcExXAh" version="13.4.5" type="device"><diagram id="KJUpccsywgqX94dHTPwA" name="Page-1">7VdNc9owEP01mmkPyfgDG3y0wUmnnXbSSSehvQlb2CpCIkIE6K/vypbxB05KJ024dHJA+1bSrldvXyTkjpe7a4lX+WeREoYcK90hd4Icx7YtH340si8Rx/YNkkmamlk1cEt/EQNaBt3QlKxbE5UQTNFVG0wE5yRRLQxLKbbtaXPB2lFXOCNHwG2C2TF6T1OVl+jIGdb4B0KzvIps+0HpWeJqsvmSdY5TsW1AbozcsRRClaPlbkyYrl5Vl3Ld1RPeQ2KScHXKgm+u5JH89eMhviHjuzRJ78PFhW1O4xGzjfli5PgMNozmAvaFtNXe1MJ/2IjKcbEuTiqECba/guOOaj+MMv3LN0vnHYo9FMYoiPVgdIVGzvsqAKRaxiinmyodwjlSbHhKdPY2uLc5VeR2hRPt3QLbAMvVkhl3xvBaH7UF40OlC2NBVJIbY04ZGwsmZBHBnc+JnyR6kpJiQRqedBjMLMt8rGEl1KrKsll1cxCPRCqya0DmFK6JWBIl9zDFeAOvXGFawjX82Nb0sn2D5Q1qeQbDhtHZYeP60GFgzv1vODB6VQ7Y/znQwwGrxQHoQ++YBcO3ZIFe/wQL1ivMX8SCWUGBaIJCp5cCZYDzUWCUkH4KzEbewHsbGbDPrgPO4PV0AP+BAecWgfMwoCMCwx4GvK0G9N0GOodBeBrqexVYiS41LcuGpTqGG8cCVZL7qal+YXzXxqVXmZNd0znZV9aOqmlj3FgFVr1IG4c1KVzhTMZCqlxkgmMW12ibCy2WnHzMa7GRCTlBUKE0GVEn9J1O+1naNHjhPUMLSRhW9LF9ge3jiolwI2jR3YaVgzYr7Q7Zyu82a5rXzc42XXIPOvuUZTnaB0iE941pKz1h/XS2bidbz3s2K7ebVWs6DMr4dQsdyn9SV01m7hR/xfYnNnXv5Bcr5wG+qHSh0VRaAuFONEbxAEVjFAyNKEYwuCqQ8CN+xNf68VOp5Ey+SIFRPNT6G9h6EEYoCA6hfkKo4p11mfCjfgctU+1WbmskF5x0BNVAmNGMaz2A1iGAR1oZKTytQuNY0jQt2rFP0mvR123J8IywCCeLrMC7wTtNq+2GhkfFX7Gngs4QvO8/QksF/oG4O+7gWM1HPW3bbbAT1BzM+t1Y0rR+frvxbw==</diagram></mxfile>
<mxfile host="Electron" modified="2022-08-05T03:30:17.917Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="u1IF9P1wmilqNJ8enUse" version="13.4.5" type="device"><diagram id="KJUpccsywgqX94dHTPwA" name="Page-1">7VfJbtswEP0aAu3BgRZLto6SraRo0SJFisTpjZZoSTUtOhS95es7lKhdTt0CSS5FDibfkJzRvHkTEpmzzfGG4238lYWEIkMLj8icI8PQdc2GH4mcCsTQbYVEPAnVqhq4S56JAjWF7pKQZK2FgjEqkm0bDFiakkC0MMw5O7SXrRhte93iiPSAuwDTPvqQhCIu0KkxqfFPJIni0rNuO4Vlg8vF6kuyGIfs0IBMH5kzzpgoRpvjjFCZvTIvxb7rM9YqME5SccmGHyZPPf7888m/JbP7MAgf3PVIV2zsMd2pL0aGTeFAb8XgXAhbnFQu7KcdKw2jLGfKhQWGuT3WRhhF8jfdbYwPyLeQ6yPHl4PpNZoaH8vTIc7CQbFcpajyZXC2S0MiQ9fBfIgTQe62OJDWA5QaYLHYUGWOKM4yNa7SrMnJmoggVpZVQumMUcZzD+ZqRewgkIsEZ2vSsIQTZ6lpVVTNFKus7wkX5NiAVMpvCNsQwU+wRFkdq9ih6t9UxXCoa0m3FRY36shSGFblG1UH1wzDQJH8N4RPX49w/T/hQLjWIhwUZvUpn7wl5XL/GcqzLU7/nfJlzrc3R64xyHdx+vvxPQ3IMN/LqTW2Xkfg+rsr3Bi/ksLxH+h+b3m/Dd0deU8G6H5bdQ/9B+8kn6ShK+9CMAtkapMiTZiLPtygAbLETwuV+nzyKCdXVjmdH5vG+amcHROxaIwbu2BWb5KTak8I1y4VMeMiZhFLMfVrtM19qyrO0pqxHQ/IBa0RUhERcYGoZJgvlkmjDqwXyoATikWyb18yh2pDebhlSS5dVYXjdhXqneIqvlvtaV4JO8d0i3ncOadIS+8cKBp8aizbygXZ+WjNTrSW9WJUZjeq1nIYFP5ryVTpv0hF86W5wN+x/oUuzHv+TYtTB4/KPtAQkWxxcJuZIX+MvBlyJqrpeTC4zhH3M97jG/lAKbvgkl/SXnV7qL0ifyKbq6PLgeshx6n8/AI/+UPoKkh74obGJdq6bTfAlKWk0y0VhGkSpVL8oBsCuCfbYAJvH1cZNkkY5tob6td1R5capHhJqIeDdZTjXeeQAPW2gxdHMW80aC//y88UIAsmfY/MXsMfEH2vcQ/0gbO9vHqalZVmDDTz6YCKu3q7oJnDtH7qFVVbv5hN/zc=</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-21T08:37:50.920Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="4oM92D7d-ubJtpeFcuVy" version="13.4.5" type="device"><diagram id="KJUpccsywgqX94dHTPwA" name="Page-1">7VpbU+M2FP41nmkfkvE99mMcAixld5myLIU32VZsg2N5ZYUk/fWVZDm+CQglgbRgMhOdo5t9vu98lkQUYzJfnWCQx19RCFNFV8OVYhwpuq5pqk2/mGddenTNFp4IJ6FoVTsuk7+hcKrCu0hCWLQaEoRSkuRtZ4CyDAak5QMYo2W72Qyl7VlzEMGe4zIAad97nYQkLr2OPqr9pzCJ4mpmzXbLmjmoGosnKWIQomXDZUwVY4IRImVpvprAlEWvikvZ7/iR2s2NYZiRbTqoUzL75d/4d5d3gy9Xt1c/vztfBkY5ygNIF+KBxc2SdRUBjBZZCNkgmmJ4yzgh8DIHAatdUtCpLybzVFRHKShYxFVa3jwwN+4hCWJhzJI0naAUYT6DEQLozALWiGB0Dxs1duBAf8Z6oIwIcmg2tfsPL+LxADGBq4ZLBOMEojkkeE2biFp9ZJZdBDUHuiqQWtZAU76WvrgBslFBCgS5os3gdfxpQUDwAjisXvRhSOkoTIRJjCKUgXRae70an16c6w7nCOUCojtIyFrEEiwIagNI44nXf1FjoA5Vu3LcsAGHpqVXjqOVmKK01k3rAuKEhgNiGQ+2BrJACxyIIPi38eJ4jO+v9fM1SL5FyzPt+0CgxwL0JNwYpoAkD+18liHHu44xButGgxwlGSkaI18wR4NFttpikW21k/CZ5gPd7JCmvAF5b8PQh6reGcAYuo5aX5rTfkICcASJGKhDz02UtmLsUyi0BMROiUC6xWX71wJVFYOCc2BMG2h2vuJEqOppKWLfgEXiN2VqKd6RMtZZwTlWHP33agZ6w+UkZft3UK6ZE8BAqly+Y5nWiwi/vXIJjlUUMPuypVU0a8qWtS/VMg9LtUynK1vuAcmWfZCyNdC0zurhWeEyXiRcxpAmei1SPQ1TDdOtLpo6b6ph9l41jCvYeKq404NUsBm05QoWjlxffRsFG2iG1dew0Z40TMqB0as5QEMi5wDHX1Uce1vUaRBJG9o2OBnKYAdJ4QJpEmXUDCg0TMg8BklCdzNjUTFPwpDrr4xLbU1GtDIhDCGzwwL9aYbtgB+G5Qy7FHH6rzlTwpBdrM0X6tW3P/DN5GRSnFnoJv+KT9fPq0SwyZ2aAUZ5NV2vUJNqwiIH2esGmtqKS9dVqjIdKZ6nOGaDm+Xo7Rn/G5R9QvV2r2GGpfY4avQ5akk2kHvbP2p9jrJ3DtWfiTI1FW+iuCPxFvJo4Zh7xmfgAZywc5YKbR+/kl0jtmR3NVYYe4rrbqa6o1PxI51hkB0oiVLgw9QDwX3E/d3JO0RiduOl6fE/PiahyzeUycjYouke3qa6ZEPgSKRS2wENNd1H1/N5Fp75P2/xhfFjderLaNjFmsYgZ0UCfI5LA3QZRAVdAlZxZ1ELaNhBkvHFusbtNAV5kfDByhZxkobnYI0WpJqmsrz2sqp7GmVBJzRlKyJH9w27Vo8eQBIYH1cPs/+Gk5w/yfZxm3OqneOmb48bfVKSgPRPGBCQRdtA2IcoxCj/wZf2wsF3LRBPHyDbvPTXqyIHCd8V8lyFs6qvjwhBc2FgEa3NoDxSlkc/NHYTJtwWfZoJtbXaph/WHNOEzij4IOFQQlCQJSzI1rg/mhF9MjyDtLkvoLc49n0N0PwoHtRAIxqyWcolL6ZCDLNd4PrvwdAPCwzZEdpn1u0x6x4/N3tT3K0PnYTmYSWhbHf3mYT7T0LJrv5NcZed+3ycJLQPKwmdzyR8lyTUJDvGNwXe/dBZ6BxWFlbHAp9p+NZpaL9zGmovOLj5H+ahpsrh2T0c1Kx/+FX+G7P+/Zwx/Qc=</diagram></mxfile>
<mxfile host="Electron" modified="2022-08-05T03:33:34.511Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="atv9O4ftve5jkPghnfh8" version="13.4.5" type="device"><diagram id="KJUpccsywgqX94dHTPwA" name="Page-1">7VnZUuM4FP0aVc08mLIlb3mMg6Gb6YUqimnoN8VWbINjpRWFJPP1I9nybpIAyQxMDXlAurra7jk6WgzQZL65ZHgRf6UhSQHUww1A5wBCw9Bt8U9atoUFGrayRCwJlVdtuEn+IsqoK+sqCcmy5cgpTXmyaBsDmmUk4C0bZoyu224zmrZ7XeCI9Aw3AU771h9JyOPC6kKntn8iSRSXPRv2qCiZ49JZzWQZ45CuGybkAzRhlPIiNd9MSCqjV8alqHfxTGk1MEYyfkgF3eezX9P76cPNg/b59uftn9/dzxoqWnnC6UpNWA2Wb8sIMLrKQiIbMQDy1nHCyc0CB7J0LUAXtpjPU1UcpXi5VOlqwrrMPBIexKpklqTphKaU5T2gEBN3FkgnzugjaZTYgUumM1GihkkYJ5tn529UURV8JHROONsKF1UBOmZRRVFRg7pCZl0DK/hZ2OIGqMhRjliRKaoar+MtEirkLwi/1Ys2CQX9VJYyHtOIZjj1a6tX49GLa13hC6ULZXwgnG/VwsIrTtuAieCx7Z3IaPqZWKzKcC9bPzMtWBrON6q/Irdt5q4JS0Q4CCuH1MS9mKCc1W7YRBDoigXKa/ozXl2M2eMP+GWLk2/R+sr4rin4OGYR4Tv8DGeYB4ykmCdP7YEMQZpXHTOGtw2HBU0yvmy0fC0NDXrZeotettVejXvcNWh22FQMoOZWNZOD6LYrgq3VbqdcrkiaD64mov1rRcsCbZmzZywcIFps6kKRiuR/LIf6G/At4J2DMZQJ9wK48PeyeTHaoofC/1/QmJkbkGBQY6auZVo1VQeY2ZOdZzVGgV6CavYFxihxbwqMdSp9Md+XvphuV2BG70lg7A8lMJphdDb8vRKDTi8x9ukkJheYsQ9G/rsUmBmxhwUmdEZT/TQCoxnI6kuMcyKJGQTceTPgSB8CPAdbB659KMQigryNYxuJjGakA5sy4TSJMpENBC5SZDyJRyLuAGNVME/CMNfGIeK09ZKKwoRLeExdTVVpozHaSacjkANZ7lmXH05/CzIH6AFPRQ9jiB///A3DIm5oDi1OF06RbR8p/shpR9/tL04X9YNfLeK3RH+l3377g91PLifLK4veL76yT1sN7g8+ycKxvCfXyyHEy7hCoxF5ab/GXCyRLLeIlVtFtLwbVxeGu+b+X+z20Nq32W8SftdIN6uJbF1LZspKXRm25G/wLpn/vW4Ndo4XfQY0ELZ2qO/LTgi9Hb1HMHTWYU5xxlHVdpwNTKjvaak4BfVaesU5YZCZBzw8fHRm/nd4Bp1j8azf0ol5Zv3Ps4/DMw3B4wlar6kTM23vzSeo9qL6rIuKv4Hjr6q7XODs9bcm4NtgZAFPB74DPA+4ZuM0XTTd7u5jHLJPfIruvBM7FZOaq2LgnfgYh+jBZxyjTy15AxYXpAnwTeBNwMhRd2JPJC5yy/gKP+FL+fmkBHfKDmGSYQ8zyZGPeyNDJsYeGI2qfh5EP/lnmrMge6eESfGUpB4OHqPc3u28cUmzVb5xcPTyX94mF2pHZd8a6lFv4FXqTd8ruld9OPCY6A5os/FyFops/R2q0MP6cx7y/wY=</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

View File

@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-21T08:40:01.131Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="Pkp8kChldeRL-Bbgd_2Y" version="13.4.5" type="device"><diagram id="KJUpccsywgqX94dHTPwA" name="Page-1">7Vrbkps4EP0aqnYfPGXExfCIPfZkk5ndrRpXks2bDDIoxogI+ZavXwmEuQZ7ymY8qaT8YKmlRtDn6HTLWNEm6/0DhXHwRDwUKmDo7RXtXgFAVYcm/xKWQ2YBqiktPsWenFUYnvF3JI1Dad1gDyWViYyQkOG4anRJFCGXVWyQUrKrTluSsLpqDH3UMDy7MGxaP2GPBZnVAqPC/g5hP8hXVk07G1nDfLJ8kiSAHtmVTNpU0SaUEJa11vsJCkX08rhkfrMfjB5vjKKIneOw+BJsZg5dfQKPB4j/9nfv1X8GILvKFoYb+cDyZtkhjwAlm8hD4iKqoo13AWboOYauGN1x0LktYOtQDvshTETEh7x9fOC0s0LMDWRnicNwQkJC0xU0DyJr6YpJjJIVKo2YroUWS+FBIibJoZq833x4GY8togztSyYZjAdE1ojRA58iR7Wcm5KaAzCUSO0KoDlfM1tQAlkbyYlQkss/XryIP29ICNrhWM3DZaRrqw9Pm33MyTtPovlAb0QfeZyOsksoC4hPIhhOC+u4wKcR58LhkZBYQvQVMXaQsYQbRqoA8njSw2fpn3b+E507I+/e78uD94c2sM9GKyEb6qIOfsqAMEh9JF3/+naY6R/1CFvzh/nTR0v/4G7zeSJandhTFEKGt9XN3QZj6upQCg+lCTHBEUtKV/5XGApKgZwYklK6Ud2RJ6bbeo1A2foFnY4PchbDugJa2fBmyCRoFe6Z3zYkHxgkKZwOn6Ca8T7FNB/nLV987zEkj/gPZWoozlSxp6JhzRQL/Jkvwe84WyVzuIHULJfIdFulxhvZi+GLyHu+1JijO6OCNGgqjToymkpj9CU0TZn/xYXGbApN6zx19CaVZqAatex/ysG2+xcbs1+x+RLAyP+tN029aZAj15ay3ljDfvSmlQmji5nAQ9LOhBT/oWKZ56LOg8iq0FbBiUiEakhKEwyxH/Guy6FB3D4WkGB+WHDkwBp7XqqVbVyq6ifhg5gJhPQaC0A3w65R+tpaLSFxijRTkt7CENAXQ9QfUySJYXSRWCRs46GUEen1FvQ60lMiXHaLN5MZz0CWp7fJjAUWmmn2dIIyQI1EoEVndK1FZ0DOv6tXNsYvXNm0Ho1As7L5iY5Q6m3PUF0R7UOpYkQTEoG0qBnfKw5oLWpurDZLy0XtRc3CMnTjdYoatfUM1VNN06o02s2VpifF0HpRgsbW1Yx6mTqsQZVplnQr0Lr4sGS8TFOON9arqmgXl8gnVEU9oSq3Piq9BVUZWC2q0tdJqSsN/xxl8CO+0sXeTnK7USmtV0vp4hfD1ymlW6mYv4PrejuEIs8Rr9l4zxXhxtkOhpQ1zVeokdEes8+ldsmL9won0Tn6nMzKHeR49TL83ORb4oXRoU+X5uiazGWP2cjIDT+rnnF7yuwvPCx01gEXp/XWKjGXgtIeEsnXUJyJMtWV8USxRzIdj3ljllqc93ALH8Sr72vp63QkMr+tioYzVmz7uNRXvlT6lv3OjRrb+238VhbCBQrH0F35qb2+eG2Pin5JtsfpJ70m41uBiLUHWmOnVzTgGooO9HoReV5lob68suDd4n8EGXGLv2No0/8B</diagram></mxfile>
<mxfile host="Electron" modified="2022-08-05T03:32:30.115Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="WLd5agzo5INWRagEBRhn" version="13.4.5" type="device"><diagram id="KJUpccsywgqX94dHTPwA" name="Page-1">7Vpbc9o4FP41ntl9IGNLtrEfgZDstsnuziTTdvsmbGG7GIvKIkB//Uq2jC9SICk4ZKY7eUA6up/zne8cWTHgZLm9pWgV35MQpwYww60Brw0ALMt0+Y+Q7EoJsFwpiWgSyl614CH5gaXQlNJ1EuK81ZERkrJk1RYGJMtwwFoyRCnZtLvNSdpedYUirAgeApSq0s9JyOJS6oFhLf8DJ1FcrWy5ftmyRFVneZI8RiHZNERwasAJJYSVpeV2glOhvUov5bibZ1r3G6M4Yy8ZMPsar29GdPEZ3O1Q8le0+WD9PQDlLE8oXcsDy82yXaUBStZZiMUklgHHmzhh+GGFAtG64UbnspgtU9kcpSjPZXl/YFNUFpgFsWyZJ2k6ISmhxQowRNibB6ITo2SBGy1u4OHZnLeoh5Xnf8KU4W1DJA9/i8kSM7rjXWQrrLAooTgAprTMpjYsx2cpixtGhUPZEUkwRfvJa33zglS5Xv2Lx3Se2XDx8X69XXGwPubZ48BWtI1DDj9ZJZTFJCIZSqe1dFzbQ9FrPeCOkJUUfsOM7aRjoTUjbYNxfdLdFzlZUflXVK6cqnq9bTZe76p1m8YtTyG2/iw2pSgnaxrgA4CUGmGIRlgO/fP77sb+ZGeJ93j7eP/Jsz8GT2U/1dYUp4glT+196MxWDB1RinaNDiuSZCxvzPyPENQQAhUQJIRsp+1xR7r7dgcw5fo1fPYHeRGiDumv5dBuyoTTkWJvNdbc72tSNQzyAiAj3gHA1bZu5KVI/G4TRO6S34ypY4ymhj8VBe/G8MDv1fx8u+US5YAL8Mh8jt1AyyPh0J+Z5nl4xB1eOS2zApVGrKGj0ojTF4uonP2rs4irsoi2nzV8DzQysJxO6D42wPf7ZxK3Ryb5GqMs+p9MNEioiKNJJp7ZD5lozT482ezQ1Jm9MLZpeO5LTcw1yNp2bFsiIxnumE2KUJpEGa8G3C6Yy8fCHgnP6UeyYZmEYcGCOuC0mZHwxoQJ89imPKpkQcs/CKdzZKw+7IQajg812NgaeIC+4GE9j498hbKfp4WcrUNcwKGYbEYVvmgAp1zqYtwQOtgLbR03eGAG+Q33POZ3QMf4QEMONtSQA6hwc/Zcw/mVcw3tTQSoucb7vbFYl72yHFLg2RllhWlOMlCkGeNrYwS0acaFqWTuBVifZsw8x3b6STMs7ZWlpyxDSyPw4jTSFx3Ac7i54pfQ6SaKZsc0Jf/IYbV1Tr6bOK8jjP3GeqUMeHKSeogyrCOUcembySUoY+BpKKOvi8nz8fOtE8+7RJW/n+DxRnmo3c5D6w9gb5OHatFQvQ8dernAWTgST0C8Fgj1JqXTIMpU8RkSTLxN2JdGuTGK1+pBorIfczTq/cQN82wpK9TGRRUoDRw4Byjh1BjYYZbymErEU8Z53YjWU+R8ZaZ9MM6eHDa1WVfl+g2fEfHNMUYTY2ob44nhD2XEG/PCTSEZfUBP6FY8wzap8DjbWq7+M9BQRFbfEoXR2PD9/Trf+DrFc+9VkCm+/D6+BqVohtMxChZRIe8u3vg45Mp6g5PHxV8xJ+N+QMTaA6i4tSYxVbha4/bP0zewuxnayyK59fpIzqv1g3aJ2vr/AuD0Pw==</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View File

@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-21T08:44:29.230Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="IXUWKcjrU-7bWdaFvlTH" version="13.4.5" type="device"><diagram id="KJUpccsywgqX94dHTPwA" name="Page-1">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</diagram></mxfile>
<mxfile host="Electron" modified="2022-08-05T03:55:07.660Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="FRAlw8Cix2AlpgvyGKA0" version="13.4.5" type="device"><diagram id="KJUpccsywgqX94dHTPwA" name="Page-1">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</diagram></mxfile>

View File

@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-21T08:46:03.477Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="2J7jDIJtH6gUTma6yj0l" version="13.4.5" type="device"><diagram id="mPrK13Eo7WhzfbSKrwnZ" name="Page-1">7Vtde6o4EP41XPY8Er4v1WpPd9vT7mP341xGCMJpJG6IVffXb4CgQPCjPSJul6cXZSYhgXlnJu8komjD+fqOwkXwSDyEFdDz1op2qwCgOprG/yWaTaZxHCtTzGjoiU47xST8BwllT2iXoYfiUkdGCGbhoqx0SRQhl5V0kFKyKnfzCS7PuoAzJCkmLsSy9s/QY0GmtYG1039F4SzIZ1ZNJ2uZw7yzeJM4gB5ZFVTaSNGGlBCWXc3XQ4QT4+V2ye4b72ndPhhFETvlBv92FN6xCM+jvvbw8qxNtFH/RhfPxjb5CyOPv78QCWUBmZEI4tFOO6BkGXkoGbXHpV2fB0IWXKly5Q/E2EaACZeMcFXA5li08gemm7+S+78YufhdDJcKt+uStBGSTyImBlVNLm8tmjTGr4i5gRBk2whzxWRJXXTAILmPQTpD7EA/kPVLrFWYQFj+DpE54k/OO1CEIQvfyt4EhVPOtv3ErX1K4abQYUHCiMWFkZ8TBe8g4kszhXOJ6NKqPlDpbx/szi+yB8ilwpvsVKlbvcPFjDZcrOoqH3W5Nl1M+0+6mKm24GPipd8gXgozvAQ898Mp96aq9+18K3GUVRAyNFnAFLEVX8MO+5EfYjwkmNB0LM2DyPbdxDUYJa+o0GK6Npr6H/OgN0QZWh/EPAenVzY20IW82q1Var4ABYV1Kge1zk0KUL0fCQCuIdybCFtw6srQO3fc/hwgWitL/DpkhXTLpe+Fll2yTYRLLu8ng6heF4hSfhutXbRgIYmazW8Gsj29Lr/ZYKqZH0Tp9PwGKmuJ2XZ6Mz9rdmuGbBxlB0avglQWmeKuClhnIAqaHEi8SKSNBpFvu8itJQlT29CND9LM04PIMK4tiiwJhU8NgO7scfoCAFvmVgQAGE0h4EgIPC3Zk/+I5oRu6kOCvywrm71szohEqGJ7oYI4nEVcdLkJEdcPEtOFLsR90TAPPS9NlXU4l9PnGXLhOyJHNcrAaTWR49QB1xRuefosAPdHSNkS4kfoBmGEOuz2YWcabWMnV6kTBt3XJ/5SY0xWHXR7oDNr8uWFodMl6O6fOrz24GWpreNlHGcYKPL6yQHBDgAPxsGWchQATPTPkHFQolQDetoW1vxQAJzH6Ef5d8GkRo1Fc92ZabpVpelZPSHR9KMDmVVO2TDfV23JEfpxnMQVibr43ZdvW6c5eiuHBtd8LpWb+vjOlXFiJrnQzpVMWIcBcl85TqB3mU0s3/dBffnnmVPTaDy8btRq/VezPm4PvC9SgOvdue+eDd/j8WVeV3zJRcXvkXvxCEPmngiznGmv8Q0WVb+2AAMnENBPleNAr8IhajYZ6/e49MYwMC+NQctRAK4PAnmnl9fNe3PS/5B78wqlUiE5bZNvINdMQwzj+Bth48RQHX6H8LNaL56AvLk/+e2hQ+0galbbqGlyoTQOMeqC7hT47LojzcvCJ58sS0h1O46FGSobhTd2mbzY1aPPU3ccpYEu/QsD+aigT0MW8HFDt4viA1Vb+8xHk6u2lPkMYcw66A5A1z7p0eRi7x5jNIP4JaAIehMGGeowLGJoXB0FkonrPbfOOv1pyiCxVNwheADB7ZrZ3rkN6FjQz7AgoOtfzsSDaoZqjgm9DF/cr7Per4YXfANs4o/YhtZ8lKGMDIXTs/5QGenKYKg4VqoZKwN+MU41/V/gG7xLPvpTgImTiJ7Skv+Yfy+TL+ZS0G/iFPU+76Cai3UKcN7Or2bp/5GlDG4VR00u+gPFcbZT/eBTpd8XfnGvNZ9gOEV4AN3XWaqvTl7dkORyYdtxkP6lY/LVL0maNSFRCpYzJCVQOezSQU1SsmpCSH1/UuLi7vvJzG13X6Fqo38B</diagram></mxfile>
<mxfile host="Electron" modified="2022-08-11T12:50:32.532Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="EW2-PGcUJKY6Z6AQ4-jf" version="13.4.5" type="device"><diagram id="mPrK13Eo7WhzfbSKrwnZ" name="Page-1">7Vtde6o4EP41XPY8Er4v1WpPd9vT7mP341xGCMJpJG6IVffXb4CgQPCjPSJul6cXZSYhgXlnJu8komjD+fqOwkXwSDyEFdDz1op2qwCgOprG/yWaTaZxHCtTzGjoiU47xST8BwllT2iXoYfiUkdGCGbhoqx0SRQhl5V0kFKyKnfzCS7PuoAzJCkmLsSy9s/QY0GmtYG1039F4SzIZ1ZNJ2uZw7yzeJM4gB5ZFVTaSNGGlBCWXc3XQ4QT4+V2ye4b72ndPhhFETvlBv92FN6xCM+jvvbw8qxNtFH/RhfPxjb5CyOPv78QCWUBmZEI4tFOO6BkGXkoGbXHpV2fB0IWXKly5Q/E2EaACZeMcFXA5li08gemm7+S+78YufhdDJcKt+uStBGSTyImBlVNLm8tmjTGr4i5gZhBto0wV0yW1EUHDJL7GKQzxA70A1m/xFqFCYTl7xCZI/7kvANFGLLwrexNUDjlbNtP3NqnFG4KHRYkjFhcGPk5UfAOIr40UziXiC6t6gOV/vbB7vwie4BcKrzJTpW61TtczGjDxaqu8lGXa9PFtP+ki5lqCz4mXvoN4qUww0vAcz+ccm+qet/OtxIYV0HI0GQBU8RWfA077Ed+iPGQYELTsTQPItt3E9dglLyiQovp2mjqf8yD3hBlaH0Q8xycXtnYQBfyardWqfkCFBTWqRzUOjcpQPV+JAC4hnBvImzBqStD79xx+3OAaK0s8euQFdItl74XWnbJNhEuubyfDKJ6XSBK+W20dtGChSRqNr8ZyPb0uvxmg6lmfhCl0/MbqKwlZtvpzfys2a0ZsnGUHRi9ClJZZIq7KmCdgShociDxIpE2GkS+7SK3liRMbUM3PkgzTw8iw7i2KLIkFD41ALqzx+kLAGyZWxEAYDSFgCMh8LRkT/4jmhO6qQ8J/rKsbPayOSMSoYrthQricBZx0eUmRFw/SEwXuhD3RcM89Lw0VdbhXE6fZ8iF74gc1SgDp9VEjlMHXFO45emzANwfIWVLiB+hG4QR6rDbh51ptI2dXKVOGHRfn/hLjTFZddDtgc6syZcXhk6XoLt/6vDag5elto6XcZxhoMjrJwcEOwA8GAdbylEAMNE/Q8ZBiVIN6GlbWPNDAXAeox/l3wWTGjUWzXVnpulWlaZn9YRE048OZFY5ZcN8X7UlR+jHcRJXJOrid1++bZ3m6K0cGlzzuVRu6uM7V8aJmeRCO1cyYR0GyH3lOIHeZTaxfN8H9eWfZ05No/HwulGr9V/N+rg98L5IAa535757NnyPx5d5XfElFxW/R+7FIwyZeyLMcqa9xjdYVP3aAgycQEA/VY4DvQqHqNlkrN/j0hvDwLw0Bi1HAbg+COSdXl43781J/0PuzSuUSoXktE2+gVwzDTGM42+EjRNDdfgdws9qvXgC8ub+5LeHDrWDqFlto6bJhdI4xKgLulPgs+uONC8Ln3yyLCHV7TgWZqhsFN7YZfJiV48+T91xlAa69C8M5KOCPg1ZwMcN3S6KD1Rt7TMfTa7aUuYzhDHroDsAXfukR5OLvXuM0Qzil4Ai6E0YZKjDsIihcXUUSCau99w66/SnKYPEUnGH4AEEt2tme+c2oGNBP8OCgK5/ORMPqhmqOSb0Mnxxv856vxpe8A2wiT9iG1rzUYYyMhROz/pDZaQrg6HiWKlmrAz4xTjV9H+Bb/Au+ehPASZOInpKS/5j/r1MvphLQb+JU9T7vINqLtYpwHk7v5ql/0eWMrhVHDW56A8Ux9lO9YNPlX5f+MW91nyC4RThAXRfZ6m+Onl1Q5LLhW3HQfqXjslXvyRp1oREKVjOkJRA5bBLBzVJyaoJIfX9SYmLu+8nM7fdfYWqjf4F</diagram></mxfile>

View File

@ -57,7 +57,7 @@ JRE 是 Java 运行时环境。它是运行已编译 Java 程序所需的所有
**Java 程序从源代码到运行的过程如下图所示:**
![Java程序转变为机器代码的过程](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/basis/java-code-to-machine-code.png)
![Java程序转变为机器代码的过程](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/basis/java-code-to-machine-code.jpg)
我们需要格外注意的是 `.class->机器码` 这一步。在这一步 JVM 类加载器首先加载字节码文件,然后通过解释器逐行解释执行,这种方式的执行速度会相对比较慢。而且,有些方法和代码块是经常需要被调用的(也就是所谓的热点代码),所以后面引进了 JITjust-in-time compilation 编译器,而 JIT 属于运行时编译。当 JIT 编译器完成第一次编译后,其会将字节码对应的机器码保存下来,下次可以直接使用。而我们知道,机器码的运行效率肯定是高于 Java 解释器的。这也解释了我们为什么经常会说 **Java 是编译与解释共存的语言**
@ -78,7 +78,7 @@ AOT 可以提前编译节省启动时间,那为什么不全部使用这种编
- **编译型** [编译型语言](https://zh.wikipedia.org/wiki/%E7%B7%A8%E8%AD%AF%E8%AA%9E%E8%A8%80) 会通过[编译器](https://zh.wikipedia.org/wiki/%E7%B7%A8%E8%AD%AF%E5%99%A8)将源代码一次性翻译成可被该平台执行的机器码。一般情况下,编译语言的执行速度比较快,开发效率比较低。常见的编译性语言有 C、C++、Go、Rust 等等。
- **解释型** [解释型语言](https://zh.wikipedia.org/wiki/%E7%9B%B4%E8%AD%AF%E8%AA%9E%E8%A8%80)会通过[解释器](https://zh.wikipedia.org/wiki/直譯器)一句一句的将代码解释interpret为机器代码后再执行。解释型语言开发效率比较快执行速度比较慢。常见的解释性语言有 Python、JavaScript、PHP 等等。
![编译型语言和解释型语言](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/basis/compiled-and-interpreted-languages.png)
![编译型语言和解释型语言](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/basis/compiled-and-interpreted-languages.jpg)
根据维基百科介绍:

View File

@ -209,7 +209,7 @@ System.out.println(person1.getAddress() == person1Copy.getAddress());
我专门画了一张图来描述浅拷贝、深拷贝、引用拷贝:
![浅拷贝、深拷贝、引用拷贝示意图](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/basis/shallow&deep-copy.png)
![浅拷贝、深拷贝、引用拷贝示意图](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/basis/shallow&deep-copy.jpg)
## Java 常见类

View File

@ -75,7 +75,7 @@ num2 = 20
`swap()` 方法中,`a``b` 的值进行交换,并不会影响到 `num1``num2`。因为,`a``b` 的值,只是从 `num1``num2` 的复制过来的。也就是说a、b 相当于 `num1``num2` 的副本,副本的内容无论怎么修改,都不会影响到原件本身。
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/basis/java-value-passing-01.png)
![基本数据类型参数](./images/java-value-passing-01.jpg)
通过上面例子我们已经知道了一个方法不能修改一个基本数据类型的参数而对象引用作为参数就不一样请看案例2。
@ -106,7 +106,7 @@ num2 = 20
解析:
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/basis/java-value-passing-02.png)
![引用数据类型参数1](./images/java-value-passing-02.jpg)
看了这个案例很多人肯定觉得 Java 对引用类型的参数采用的是引用传递。
@ -156,7 +156,7 @@ xiaoLi:小李
`swap` 方法的参数 `person1``person2` 只是拷贝的实参 `xiaoZhang``xiaoLi` 的地址。因此, `person1``person2` 的互换只是拷贝的两个地址的互换罢了,并不会影响到实参 `xiaoZhang``xiaoLi`
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/basis/java-value-passing-03.png)
![引用数据类型参数2](./images/java-value-passing-03.jpg)
## 总结

View File

@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-21T08:52:25.233Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="xIhOpIaoxTmK7jj_uu4h" version="13.4.5" type="device"><diagram id="oZhQm8CpKlBOiSaDXld-" name="Page-1">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</diagram></mxfile>
<mxfile host="Electron" modified="2022-08-11T23:13:39.447Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="1SSSpNWCcrVkbHT7kLUn" version="13.4.5" type="device"><diagram id="oZhQm8CpKlBOiSaDXld-" name="Page-1">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</diagram></mxfile>

View File

@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-21T08:53:08.719Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="pP0I8W-dP9dcufm1Zzze" version="13.4.5" type="device"><diagram id="Y7qozskM6-LQTmM2nR-R" name="Page-1">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</diagram></mxfile>
<mxfile host="Electron" modified="2022-08-12T00:27:09.339Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="O27uhhJHVBRjI3i60NQI" version="13.4.5" type="device"><diagram id="Y7qozskM6-LQTmM2nR-R" name="Page-1">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</diagram></mxfile>

View File

@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-21T08:53:01.698Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="jkv6Swb1qIbyVSzHYqIC" version="13.4.5" type="device"><diagram id="AhvkeES_NzU0VgdTypUe" name="Page-1">7Vtdj5s4FP01fmwVPgOPIWGmW7WraqfStn1zwAE6DqaOM0n66/dCTAiBzsAqDGiCEin2tbHxPec69sEgbb7e33OchJ+ZTyhSJ/4eaQukqooyMeEntRyOFtueHg0Bj3xZqTA8RL+JNE6kdRv5ZFOqKBijIkrKRo/FMfFEyYY5Z7tytRWj5V4THJCK4cHDtGr9N/JFmI/LtIuCDyQKwrxr09CPJWuc15ZD2YTYZ7szk+Yibc4ZE8fUej8nNPVe7pjjdXd/KD3dGSexaHKB6X35oH2m0e/I/PvHXz+0ydcv39/JVp4w3coRy5sVh9wFcN9JmhR4mZqcUKwpZBVI7sJIkIcEe2n5DhgAto3AXEggJ5AHZASOYsLlNR6jFCebKGvsWCOMqP8JH9hW5N3kOWfzSIQXyoqriNI5o4xnN6b5mFgrL+uSs0dyVmJ6FlmuoISzbewTX3Zd9Vg+fMIF2Z+ZpAfvCVsTwQ9QRZaqtkRT8lmbyvyuYIcpTeEZL9SJNGJJyODUdAEZJCRqLRBUmyMIIxcRpv9AoOA4aAJmFSyfs+Qr5gER0pCwKBaEu0/g1E0NUDGL044ES2QhJav82iUTgq1lhktvnRrNPGU48AXfzSfvDWTAaOaQV4o8fNPqXMxZDDwApqVtELwRO7KpMKjKgGej4mVavAC73hXqWreoZ5MpLlBn4IoVzWavMPJ9El8D5P+DjDp4ZPQxHnuMx0MZ3b5IYNxoeOqNgeoLGXMMz/7D0+o5PKc3Gp5mY6D6QsYaw7P/8FTUnuPTvtH4tBoj1RcyuS4zBmivAWr2HKBKC93oTUXoif8DDtE6RcikKTlXDAZ3DpL5a8vygnebTLSbQQXFSvZFIaSC7Nc1kW0gCA93ihwHWXreLtznsWlZ8ZIK4CpRhr0s2Un4ahDFNAoA7IVH0qgHQ+r4yMN0JgvWQIeMU3VEKuS/Bni31gK1XNPLtUCtGpV6DfJqZ8i3UIV6UXPLcmxFtvWn9nJSI/SuVsT0vA4Q1NULBGvU3NNi6HWCd5SPOvh/1RoToz/gb1UyUoavGSkdi0ZvAZt9GZfenosoFWSIH5AHmYWJJWQBizF1C+vFMqGo84llHk6B+0mEOMj/QbwVrAwreJEfvsnrs8z3NANTmswu9ueFi0OrFcmGbblHnhm0pKfI5/E/win31alHngWTE4pF9ERKt3H9JyW3iJXaFCt9UFgpLSSZcWlZs7TUjerMWLs76GxqVEfppoOlpd2YGP0Bf6tijTp8sSaHYsRm8EtL9WbP3LSGqvcHSGrHMspbwqrvh/FqC+VjXFrWLC2NGt35hOrrQDieqrn+0vIUF+1Uy9cF/lZP0qjDP0qjdnyW5i1gM5Sl5a0eeGkPVe9LS70KzSuolldSH/PjCy/Kj/mfz0DkR71u73WdMw02sjXkuMi10ExBM+u2zzRUnoj3faZBr9nJuQayDDSbI1dHzhzZ08xyhxxI3GWW2Uf8hO/TdwdzOJe8EUlMIEnGjgpPpshZIFtJEzMH2fapq5/QVfaa4nsvHihLKF4S6mDvMcjsl52DD+TEo5gyf7aPcbJP1qaAUGdxHfVOLzdeiYeGfsFDy6jucaY1RFTaExGyxVuYWdnZy6ya+x8=</diagram></mxfile>
<mxfile host="Electron" modified="2022-08-11T13:21:25.948Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="uplkEXfcB5SYh6XxKwOW" version="13.4.5" type="device"><diagram id="AhvkeES_NzU0VgdTypUe" name="Page-1">7Vtdj5s4FP01fmzFd+AxEKbtql1VO5V22zcHHKDjYNZxJkl//V6ICSGQmWSVAJqiiTT29Re+5x5jDgbp3nL7geMs/sJCQpGmhFukz5Cmqapiwb/csttbHGeyN0Q8CWWlyvCY/CLSqEjrOgnJqlZRMEZFktWNAUtTEoiaDXPONvVqC0bro2Y4Ig3DY4Bp0/p3Eoq4nJflVAUfSRLF5dCWaexLlrisLaeyinHINkcm3Ue6xxkT+9Ry6xGae690zL7dw5nSw5VxkopLGljB14/6F5r8Sqw/f3z6oSvfvn5/J3t5xnQtZywvVuxKF8B1Z3lS4HlucmOxpJBVIbmJE0EeMxzk5RuIALCtBOZCAqlAHpAROEkJl20CRinOVknR2b5GnNDwM96xtSiHKXPu6omIIJZNFwmlHqOMFxemh5jYi6AYkrMnclRiBTaZL6CEs3UaklC2l3MlXJDtWSeqB2ggqAlbEsF3UEU20ByJpoxnfSLzmyo6LGmKj+JCU6QRy4CMDl1XkEFConYFgtrlCMI0RYLpX0AUnEaXgNkEK+Qs+4Z5RIQ0ZCxJBeH+M3hwJW3HQKUszQcSLJOFlCzKtnMmBFvKDJfeOnRaeMp04Qe+85T3JjJhNh7k1SoPv7w6Fx5LIQ4g0vI+CF6JDVk1IuiiCDhPlGZYvAK7cS/U9fuiXiymuEKdgcsWtFi94iQMSXoLkG+EjDYsZIyRjz3ycVdHt68gMEd61vgwHHpaIz37p6fdMz0nIz1rfBgOPe2Rnv3TU9V65qcz8rNGiOHws9RlRoL2SlCrZ4KqV+hGb52hqtKOVW/YtClCFs2Dc8FgJscgWf+uWVnwblWIdlOooNrZtiqEVFT89y3kmAjo4U+Q6yLbKPuF69x3LSuehgL4VNRhr0t2Er4WRDFNIgB7FpCc9WDIEUoCTKeyYAnhUMRUWyBV8t//w/tlLVAvNb1SC9SbrDRakNfuhvwVqlAvam5djm3ItuHEmSunCzrYFwtiBcEdEDS0EwRb1NzDZqgb8o7yUTf3V/3VRbtj4EfJ6IQEA7qj3lk0egvYbOu49PZeRG0gQ8KIPMosLCwxi1iKqV9ZT7YJVZ3PrPBw7rCfRIidvA/itWB1WMFlfPePbF9kvucZWNJkdrY9LpztzmOSX+3LdzOYHFvzgLzgBRmvolzYz4LptIPJCcUiea5fyO3flIxYVe9vX8fqDPG6wUq9QpIZt5YtW0vDbK6MrU8Hd1satVG66WZreWZR7Q/4Uaw5IcFwtpYlFCM257EZyNZSG8/cXApV7y+QtDvLKG8Jq75fxmtXKB/j1rJla2m26M4HVLuBcDxV08nWck+Vl1XLboEfT9KckGBAW8s7n6V5C9gMZWs5Hni5FKret5ZGE5oOVMt7qY/leZ5X5cdzt56OpOK2Z6/bnGlwkKMj10e+jaYqmtq/95mGxhvxvs80GC1Pcr6JbBNNPeQbyPWQMyksD8iFxENhmf6Bn/GH/NvBEs45vyhILAiSIjoacTJB7gw5ap6YushxDkP9hKGKzxTfB+lAo4TiOaEuDp6iwn46OPhALjyqJfNHzzFu8Vf0KYDqLG0LvcPHjcpt4tA0TuLQNpvPOJOWQFSvD0TIVl9hFmVHH7Pq/n8=</diagram></mxfile>

View File

@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-21T08:52:52.168Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="KIOP-QMsYkFtIkziTazD" version="13.4.5" type="device"><diagram id="AhvkeES_NzU0VgdTypUe" name="Page-1">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</diagram></mxfile>
<mxfile host="Electron" modified="2022-08-11T13:34:59.439Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="UrMpCepcFkqqf0A1lrSf" version="13.4.5" type="device"><diagram id="AhvkeES_NzU0VgdTypUe" name="Page-1">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</diagram></mxfile>

View File

@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-21T08:56:01.001Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="JF8iDXAP8lu0jmsklxVK" version="13.4.5" type="device"><diagram id="f1uOqe90rjhexKzs8PuL" name="Page-1">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</diagram></mxfile>
<mxfile host="Electron" modified="2022-08-15T11:59:41.869Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="NlpRLCxCyId_of0qb71_" version="13.4.5" type="device"><diagram id="f1uOqe90rjhexKzs8PuL" name="Page-1">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</diagram></mxfile>

View File

@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-21T08:56:14.327Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="fcL3p7A97bJ-Tr4D2jkJ" version="13.4.5" type="device"><diagram id="l-JW3fph1e97gRfsgveQ" name="Page-1">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</diagram></mxfile>
<mxfile host="Electron" modified="2022-08-15T12:00:02.066Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="PouwFgeD38YEPBovzuWU" version="13.4.5" type="device"><diagram id="l-JW3fph1e97gRfsgveQ" name="Page-1">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</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-21T08:56:25.250Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="4kVMmYxzIhw9eEGl6Aqv" version="13.4.5" type="device"><diagram id="XZHCjfYPnYWvLepVL7Sq" name="Page-1">7Vtbc9o4FP41fkzGF2zMIzgknTbd7W46u82+dIQtbDfCorK49devJMv4JoITDGQ3DMxgHV1sne87F0lGs7zZ+o6AefQZBxBpph6sNetGM03D0B32wyWbTDIY9DNBSOJANioED/EvKIW6lC7iAKaVhhRjRON5VejjJIE+rcgAIXhVbTbFqHrXOQhhQ/DgA9SU/h0HNMrn5QyKig8wDqP81o7dy2pmIG8tp5JGIMCrksgaa5ZHMKbZ1WztQcS1lysm63e7o3b7ZAQmtE0Hc/XPz8ffyJdhukBP00/TK2/xx5WbjbIEaCFnLB+WbnIVELxIAsgHMTRrtIpiCh/mwOe1KwY6k0V0hmR1+gSpz+ets8IUJ1RCavLyVgOiMkbIwwgTcRdrOoWO7/NGlOAnWKoJ+oOJzns0Jyx1sISEwnVJJBVwB/EMUrJhTWSt1ZNgSDqahp2VVwW4Zt4mKuFq9WVDIAkVbscuVM4upNZfgIDVRGBsa66tDT1t3NNGnsZMhktutRG7uBWS4UewBHfcNjTTQewZRxNSQc35ueC8EhBcpQKDIWtgOPN1UcmuQvE77mujG21g8IvhSBsMtvf5we4jbPDaTxrMYEqnNfgr4CU4gTWkpQigOExY0WdQQiYfcQhjZnZDWTGLg4DfRsm3gpGcFghMIBoB/ykU8vrNCw4ajiyXyDUSHzEmBTTGiRy0wuMKbztgoT2osrCXM67EQsNVsDD3ip2T0FD5gYxYXGGtqOWqqPU1IhAE+Vjs2bLhJO/eJqEq2HcAd8+qwr2FtgS3o0DbPBbafb2heRiwsCeLmNAIhzgBaFxIazoq2txjPJdg/YCUbqSxgQXFVSjrlthOzfzBnlUygYgZ7rIar1Uqk12/4FgQWoLT16vg2FbN0VNAQkhlr3J4rQ1km3sGSvGC+LAxkEBwO58DQDUOBrWCyCsQZtiRzTfZXxQeeeHazos363LlzaaZJwhm7CRDpsJnlGDr52GNmae1e1jTGdjmifI2gUfDudZytwBAd6rM3RzfhZNpN260Yal6y6jZP5ofVeRuHUbNe8zi12eG1CV6lk1NkSydNno6h6OuTMNLqDMRmHHdJpNU/PyHOdDau7fnhFNLoG2zuYwzrJOSor/fIcMkGPItiULnbbMjuI7ptyKUstJjHnLZdRFVeSEPqq/PqEpKtBU6zGUHhlDXqGFYd9M78qX9A+m1gY4diwdH8gd/iQFN/WL8FeNv4K0w/v4pbb+nIkANmjQCc35JwQTVLF+l0ZRxNtcbV6PP1AjihEMj+vgYITBPYzFY1iKKUXAPNnhB89vkpVE1E3x58va6ldsLQnw9m+4rMjtTBenAPBKmuZNrgymbO40B+hP6FCRhG3ib8AUEz78KPyUFc+6uIBkvmVpTrbllKg2XiqWZ2AaD07zvBFOKZ7JApLq2gwpV2SP2ZXP0eEix2Ww8VjaKMvvy5oR6OGHEALEAF4KUrmBK93PgeUPZz4x9yNvusYA3FMC/0JvbKm8+TsTjtfPkh1BLHISAglqYqXuKRNoRMS8Oky6Y9Br4tzb1luFvsbC+2P3x7H5TxXcfD5xjxXR799I+nYOkOzeQjfau3IDZmg3ng793cQNvwA0YRks/cLx4YF/8wLH8QK81Hc4Hv2qv7+IHCj+wc5+gsaNwIo+R786ejzLNncDr6+t3YtJOa7zOh0+LV57etUmfxlBNq3duQ929b3sJ7Qf6Abc1HU4Bf/L9YZP8Hn5MvOXYXt644NPsUfXeXR2b//sJ+nb9dIoTdCUILZZZl1Oz5w67LKsGzWtPzRpr6e5OzZTI715XXQ7NTnBoZrqnOzRT4q86L+/8JQrduLDgufcmVCzo6r0JViz+25B5jeIvItb4Xw==</diagram></mxfile>
<mxfile host="Electron" modified="2022-08-15T12:06:49.862Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="pdB2jmz768lZZbvyAUVU" version="13.4.5" type="device"><diagram id="XZHCjfYPnYWvLepVL7Sq" name="Page-1">7Vtbc6M2FP41PCZjwGD86FvS2c2222an3fSlI4Ns2MgSK+Rbf30lIcxNjkmM7XTXY88YHQkB5/u+c3TBhj1abO4piMNPJIDIsDrBxrDHhmWZZsflP8KyTS39fi81zGkUqEa54TH6FypjR1mXUQCTUkNGCGJRXDb6BGPos5INUErW5WYzgspXjcEc1gyPPkB1619RwMLsudx+XvELjOZhdmnX6aY1C5C1Vo+ShCAg64LJnhj2iBLC0qPFZgSR8F7mmPS8uz21uzujELMmJ1jrv78//Uo/D5Ilep59nN2Mlr/feGkvK4CW6onVzbJt5gJKljiAohPTsIfrMGLwMQa+qF1z0LktZAukqpNnyPxQFWYEMwUpvzdemXlAFGYRQiOCCJVXsWcz6Pq+aMQoeYaFmqDXn3bEGfUHVj5YQcrgpmBSDriHZAEZ3fImqtbuKjAUHS3TScvrHFwraxMWcLV7qiFQhJrv+s5dzg+U11+BgF1HYOIYnmMMRsakawxHBpeMsNwZQ35wJy2DD2AF7oU2DMtF/B6HU1pCzf2+FLySENwkEoMBb2C68Sav5Edz+TvpGcOx0TfFwWBo9Pu763zj15EavPVxjRnc6awCfwk8TDCsIK1MAEVzzIs+hxJy+1BAGHHZDVTFIgoCcRkt33JGClogMIVoCPznubRXL55z0HRVuUCuofzIPhlgEcGq0xKPS7xtgYVOv8zCbsa4AgtNT8PCLCq2TkJTFwdSYgmHNaKWp6PWl5BCEGR98XtLu1O8e5+EagHhrl1GeIdmAWFXA7B1KoB7nZqzYcAznSoSykIyJxigSW6tuCVv80BIrPD5BhnbKn2BJSNl9KriK6lqr5vFjb3oZAoR1+qqnKJ1LlOnfiaR5LACp9cpg+PYldjOAJ1Dps4qZtRKR451oKOELKkPax1JBHfPcwSo5tGglhB5A8IcO7r9qjqThSdRuHWy4nhTrBxvs+xfYcZeMqQufMEJTucyrLGykewB1rQGtnWmoZrEoxZPK8O1AEBvph2uub4Hp7N2wmhNqZ2GibJ3sjiqGa61mCgfCE9ZnzhSP3vCtDRDovMmTPd4oLWD7QLQ3AQWwp14msif/xfsLwaQFjjhVobJjlWfrJn2WUnROxyDIQ4GYuEh93nTARHcROxrnj156alQkydSUcjy6NsHUQUnOhofZrYjs6ZnVjCsRuY9Q6TDHXUqHZ06/fZPFA/+lB1anav4S+Kv4a0Rf++c2u/qCFCBJglBLA4ZmKKK8nUeTThnM78Jn/rcjSDCAhp5jk8QAnESyc7SFmGEggewJUuWXSYrDcuDv9eP1942WXtFiq8OoHuawZylg7RvnQjTLMg1wZQ/O4sA+gP6DOB5E3jr8AWUxF9knFKGWIQrSCcr7tbEqC+MKuEyORuTi11wlp07JYyRhSpQ5a5dp9JVzpB/+TOOREpx+NOMeNnMy/wrmlM2IpgTA0QSXAgStoYJ08L+sjYOk+EQ2I53KqxNDdavDOCOLoBPsLy9ZsH7GDbJHQ6Qs4lwd8+QHGmEPHBD3AZ5GiK+U857RrzBjPmq7lbVvS1Degh691TJ2tk/TU9igNsTe9rbjy52qzEBLod49yr2y4jdNBuq/XSB3rmqvUW1dxsz4HKI61bnrmrP1b53Zl9bAzhdXMiWUC/Hkvpy3e3t7Y8rXLcxRJeDpMELRz+1cE8mR8vuXlqO+5dQr2n69Wr3GjPgHIjjfx63+Lf5BzxaTZzV2AMfF0+6d9uqcLzDLeuaRzULn423rHcznnNsWWtBaDAxusSeVWWDqpGPL7NnZdsVaN66Z1Wb/ba3Z6VFfv+06Lplpd+yOkr6Nbi9821ZafHX7Va3/gpDx7yy4KW3FnQsaOutBV7M/z+QRo38bxj25D8=</diagram></mxfile>

View File

@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-21T09:00:20.265Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="pFr7vcxgC7W6okT_95qM" version="13.4.5" type="device"><diagram id="O1q-3gN19tnn94MyZq-a" name="Page-1">7Vltc+I2EP41/hjGb5Ltj0BMbtpkLtNMp82njrCF0cVYnBAB+usr2TK2ZUM4DifcXSdM8K7WEtpnd7WPbTjjxfaOoeX8gcY4NWwz3hrOrWHblmVC8SU1u0ITBF6hSBiJlVGleCL/YqU0lXZNYrxqGHJKU06WTWVEswxHvKFDjNFN02xG0+aqS5TgluIpQmlb+xeJ+bzQ+rZX6T9hkszLlS0YFCMLVBqrnazmKKabmsoJDWfMKOXF1WI7xql0XumX4r7JgdH9D2M446fcMAVff/88fP6HgfsweHkOyH32+UbN8orStdqw+rF8V3qA0XUWYzmJZTijzZxw/LREkRzdCMyFbs4XqRqe0YwrEC0oZZKmY5pSls/lzPwIR5HQrzijL7g2MvWBC0w58oJ5JD2XC6XPpNDecPnrMeN4W1MpB9xhusCc7YSJGgWmAkNFo+MqeVNha5c28zqupSFS8ZTs565cLi6U178BAbuFwPjxT6H4AydkxTFbfScgTQCwFQPsdQEQQM9BUAdAx/PigNgaIEEbEAt2AOL1hYfTjYeGgdgebzq66dCMZljzvlKhlCSZECPhNCz0I+ksIgrOUA0sSBzLZTqRrbDvRKfX3AEaVKADqq7ccfqCym3BgmNRvJVIGZ/ThGYoDSut5sDK5p7SpULyC+Z8p9yK1pw2cRYOZLu/5f0DG5Tys5ovF263DWlX4sER40N5JEn0U7RakahUT0i6j6Nj6XcQxhVdswgf8RVQZydiCeZH7NS5Jh15NCgYThEnr81T8uIIgwPFcYyiOf6+wtgqgDDy8XTWLpkxwv4sevfCaDWzDXScVJbXkW2gr2yDb7cKOIsPBHhbfaRpwFvCiwwDdqDkPMMGplnKVZJJYVcTHjEjYseytrbrYC17G8lrvZW8dez7z0LrxCysBQM4EgsnJ6ta4ZESsbMqFn0tFvUYK/at7qq3oNpE0PQaE7kANCcqHNOaKI/X/bbPD2GvHcKhZ4zGRuAYITCGt0bgG6FrjHxDbDkU/8Woa4RQikNP2vi3hj+RQ8NQfi5bgmI4heDbejC9wZ7N7LzB7qEEwY4DH3Qd+L31Zn4HfgISgdw4h00AWYA0MUbiYpJrhr+hV3QnaaRhw1R2bVPWAA1+XUsOlvv5ZpU7eigMLLjc5o4sx8VVkn/LmBGhYsmL4cgIgv1SX8RSOWMdRNmV9owpmuJ0hKKXJNfri+v8Tci18Brlf/mcXFQUKte+cXqnbRBqBcjqOAz9LtrWVyQGbx+GPxNv9m3QAOAKeHMJ7S9KnH1XQ+TDibPVfpb0P3MusPI0rD6cOVsdvfu7UmfvB6LOlnok9INxZ+vAk6xfgDz77rWRZ8t9u2G4fvZ8Ggu+EtYa2O4A6GEwcDXGeSp1DbQOyPW1UOmZulrtxy8PiAiSYT7gBVURen4+n883MexuTGMvmJo9PQzz/I9mona7+7xUPp/7iKqW9/WsP5rxfZ2Y8MIn5vtUDE97w+EFWvicWix87TWjp7Ogs4uFEKs3xoV59d7dCf8D</diagram></mxfile>
<mxfile host="Electron" modified="2022-08-04T13:25:05.991Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="mjUzkXDFLRMI-iCStmDP" version="13.4.5" type="device"><diagram id="O1q-3gN19tnn94MyZq-a" name="Page-1">7Vlbc6s2EP41PMbDTQIefcHptMmcTDOdNk8dGWTgBCMfIcd2f30lEAYEdlwfk7g9nWQS9tMiof12V7ugWdPV7p6idfxIQpxqph7uNGummaZh6JD/E8i+RDzPKYGIJqFUqoHn5C8sQV2imyTEeUuREZKyZN0GA5JlOGAtDFFKtm21JUnbq65RhDvAc4DSLvp7ErK4RF3TqfGfcBLF1coG9MqRFaqU5U7yGIVk24AsX7OmlBBWXq12U5wK41V2Ke+bHxk9PBjFGTvnhgX49suX8cufFDz43uuLlzxkX+7kLG8o3cgNy4dl+8oClGyyEItJDM2abOOE4ec1CsTolnPOsZitUjm8JBmTJPLH4XKSplOSElrMZS3dAAcBx3NGyStujCxcYANxR/6KWRDL6Q42EyPdDVdPjynDuwYkDXCPyQozuucqchTokgzpjZYt5W3NrVnpxE1eK0Uk/Sk6zF2bnF9Iq/8DBswOA9On3zjwK46SnGGafychbQKwEQLs9BHgQcdCUCWgwafhDkGIqRDidQkxYA8hzlB8WP18KBzw7bG2odsGzUiGFetLCKVJlHEx4EbDHJ8IYyU84YzlwCoJQ7FML7M193pPtA0bO0ChCvRQ1Rc71lBU2R1acMiTtxQJZTGJSIZSv0YVA9Y6D4SspeG+Ysb20qxow0ibZ25Auv9D3D8yQSW/yPkKYbZrSXsp5QxRNhZHkmA/RXmeBBU8T9KDHzU5PEpbTjY0wCdsA+RZiWiE2Qk9eY4Jw510AopTxJK39ql4dUbBkWQ4RUGMvy8RdhIeDFy8WHZTZIiwuwxOJMIy1K4dXUY7ukDPyWQ4PdEFhoou+H5pgLPwiEN34RNFAt4lrIwoYHpSLiJqpOuVXAeVEPYN4QnThO9Y5NJZh5lGtLaC1XgvWD82Co0zo7DhDOCEL5wdrHKFJ5LwndW+6Cq+qPpYuW95V7PkVCaCutOayAagPVFpmM5Ehb8etn25CztdF/YdbTLVPEvzgTaeaZ6r+bY2cTW+ZZ//5aO25kMhjh2h4840dy6Gxr74vW4KCuECglM1VzfVqAX1cmkWBfUAKQj2HPCg74AfrBZze/jjlHDmpgVtnMiSpLk24RfzAhn/jN7QvWgbNROmokpb0BZp8NtG9FyFne/ywtBjrmDA9a4e5FdR8V84DPcTQ1yMJ5rnHdb5ytcp2tNRkN1ogZiiBU4nKHiNClxdvFHcQyk3fGtS/BRzMp5OiFj7zhq8zoRQyT5Gz0no9vVoQ7mh9/5J+F9qkl0TtAi4gSa5ovYH7ZJdW2Hk07tko/vi6P82ueTKUbj69DbZ6CncP7RPdm64Tzbk+55/WaNsHHlN9QN0yq59a52yYb9fINx+q3xeQN1Ii+qZ9giobjCylfby3D7VUyoe21VcZeA+1ei+a3lECW8q9Ee8ItJDL4/ny5tLDPsL0dDxFvpAb74c97PbTrNbbV4rni99H9WI+2bUn4z4a52Q8Mon5MdkCEf5XOF4irucmxxc5Zuho3Y5FycHLtaff0v1+iO65f8N</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

View File

@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-21T09:01:27.046Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="CxKqIbLw8u2618DuZFpH" version="13.4.5" type="device"><diagram id="O1q-3gN19tnn94MyZq-a" name="Page-1">5VnbcuI4EP0aP0L5Jl8eMYGkpobd7CZbszsvW8IWtibCYmwRIF+/ki3jm2CYCTDUbPKA+0iWUJ/uVp9Cs8bL7X0GV8mMRohoph5tNetOM03D0B3+IZBdifi+WwJxhiM5qQae8BuSoC7RNY5Q3prIKCUMr9pgSNMUhayFwSyjm/a0BSXtXVcwRj3gKYSkj37CEUtK1DPdGn9AOE6qnQ3HL0eWsJosT5InMKKbBmRNNGucUcrKp+V2jIhwXuWX8r3pgdH9F8tQyk554fntaRY90M1D+PXp9+hj/gl88AZmucorJGt5YPll2a7yQEbXaYTEIoZmBZsEM/S0gqEY3XDOOZawJZHDC5oySaLhCBsTMqaEZsVa1sILURhyPGcZfUGNkbkHbKCLkRfEQuG5wqh8Joz+gaUPXlHG0LYBSQfcI7pELNvxKdWoJcmQ0Wj60t7U3Jq6xJImr7YEoYyneL927XL+IL3+HQxYPQbGj39x4E8U45yhLH8nIW0CkBEB5KoI8B3Xgk6XgC6fZycEtAmx7D4hhqMgxL0UH4avJqRDAj8fa3u67dGUpqjjfglBguOUmyH3GuJ4ILyFecUZyYEljiKxjZLamnwlPRdNHq/Dla7gSpU81hm4ehuQgRE/zpdvSRg9//v8G/3sDpweLSji1VuaNGMJjWkKyaRGOw6s53ykdCWZ/IIY20m3wjWjbZ65A7Pd3+L9oQkq+x+5XmHcbVvWruKDwYyNxJ0k2Ccwz3FYwVNM9nF0LP8O0pjTdRaiY5VeFhq+W4zYsYnyahOuPBoWGSKQ4df2RXn2fDQPFcgxDBN01uIYQeQtwu8qgb0y6oQemi/OlHB2O+FsxW1luIqEA5cqjjzgv9kvoDQ6EOR9+EjngLaYlVkGTF/aRZYNdb2y60QTxq5hPKIM8yOL+tqvhY0MbiWw8a0EbobFNTLxxERshAM4Eg0n56vc4ZFifrR9NO5b8l21bCfKyoPLt5qNaHchy22HtQ7aC5WO6S1UROz+2O8IYrcXxDOIU47M0JLKLPnhmnJ67ej2xgvkqHvjyPXn+rku8U5NcRSXOFBd4udouLyZGWwGz2w1ChYB+uPzCE8DlQSZAM0D2misTWwtGGtcMgpkqgX8YVogow/wFd4LbaiZDhGd2DxrkeZ8XQthVTAwyAsKRnyC4ay2hSOrcf4UF58TVwvuNN8QD6NA8/39Vl/4VoUMHYbpjfaBBM4RCWD4Ehd4d/OuKON2I7yC4r9Yk/ECQVNVuTt3M7lXXlURcBR3m6dSYpdqJo1+HP7KUtgGoEXAdaWwkoF+Jfg/SWHbbRNyVSms5ONA532TFfCqShjoHap+uhJ2e7RcVwm7t6mElb6ytVsXwse+9iV08GEV+36FfJbK+BN1sJKLX0IGnyZnb0R9AmAPQTcKhrxPqv86KvJUOQo6jZDdLdI/LEe5Wf+8U06vfySzJv8B</diagram></mxfile>
<mxfile host="Electron" modified="2022-08-04T13:24:14.579Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="TtfzKUAGciy96luYy6S1" version="13.4.5" type="device"><diagram id="O1q-3gN19tnn94MyZq-a" name="Page-1">3VnbcuI4EP0aP0L5Jl8eMYGkpobd7JKt2Z2XLWELWxNjMbYIkK8fyRbYsgW5AAm7yUPcR7Jk9elu9alo1nCxuc3hMpmQCKWaqUcbzbrRTNMwdIf94ci2QnzfrYA4x5GYVANT/IwEqAt0hSNUSBMpISnFSxkMSZahkEoYzHOylqfNSSrvuoQx6gDTEKZd9BuOaFKhnunW+B3CcbLb2XD8amQBd5PFSYoERmTdgKyRZg1zQmj1tNgMUcqdt/NL9d74wOj+w3KU0de88PA8nUR3ZH0X/pz+Hn0tvoEvXs+sVnmC6UocWHws3e48kJNVFiG+iKFZwTrBFE2XMOSja8Y5wxK6SMXwnGRUkMg+h9k4TYckJXm5ljX3QhSGDC9oTh5RY2TmARvwN4pHRMNELLf3GR/pHlj44AnlFG0akHDALSILRPMtm7IbtQQZIhpNX9jrmltTF1jS5NUWIBTxFO/Xrl3OHoTX38CA1WFgeP8XA/5EMS4oyosTCZEJQEYEkKsiwHdcCzptAhp8Gt4lCAEyIZbdJcRwFIS4l+LD8NWEtEhg56Oyp2WPZiRDLfcLCKY4zpgZMq8hhgfcW5hVnIEYWOAo4tsoqa3J1xXpdtnk8Vpc6QquVMljnYGr517aM+L72eI5CaOHfx9+I9/dntOhBUWseguT5DQhMclgOqrRlgPrOV8JWQrH/UCUboVb4YoSmWfmwHz7N3+/b4Kd/Y9YrzRuNpK1FVZBYU4H/E7i7KewKHC4g8c43cdRk8PqgPxUB6u+gAqyykN0rNSLSsO2ixE9NtFVh0GOUkjxk/wlZ88/81BBHMIwQWcthhFE3jx8U8nrlE0n9NBsfqYEs+UEsxW3k+EqEgxcqhiyAH+xP0BZdCCou/CRTgFtMK2yCpi+sMus6uv6zq4TixvbhnGPcsyOzOtpxVOTtEbGSglrvJSw3Uw8JfE6WfxyJqrDpREO4Eg0vDpfxQ73BLOj7aNx34Jvd8u2oqw6uHir2Xi2F7JcOax1IC9U+aGzUBmx+2OfEMRuJ4gnEGcMmaAFEVny7ppyqHaYnTBs98Jz5Kh74cj1Z/q5Lu1WTXEUlzZQXdrnaLC8iRmsew90OQjmAfrj+wCPA5XkGAHNA9pgqI1sLRhqTCJyZKwF7GFcIoMv8Aneci2omU7KO69ZLpHm/FxxIVUy0CtKCgZsguEsN/Uge4rLvyNXC2403+APg0Dz/f0+P9g+pebsh9mVNn0pnKE0gOFjXOLtzRvXlyPsRmwF5W+5JmXVgfC9e9bFe0ez1TvaluJq81TC61K9o9ENwytXvh1vKzg5SIANgETAxypfJQPdQvAfU76nEeLKhHyo8lXycaDxvsoa+FbhexJVQG9R9enC1+3Q8rHC171S4at0lq1dme499pWXkL2HRevpgvgslfATZa+Si/+F6n1XOn2W2ATA7oN2FPRZX1T/tETja9UnaDU+drsov1t9MrP+7001vf4fmDX6BQ==</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

View File

@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-21T09:03:43.006Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="-BqyGz8lPCLMshXN8Vvq" version="13.4.5" type="device"><diagram id="tQzzeEyqJnaOFTdiP6Oe" name="Page-1">7VpRc5s4EP41ekwGAQLxCI6dzs10mmnm5q6PMsg2E4wcLMd2f/1JIGwjqVcysVOcNnmwdiUk9H272l0AeKPl7r4iq8VnltECuE62A94dcF0InUD8SM2+0URR2CjmVZ6pQUfFY/6dKqWjtJs8o+vOQM5YwfNVV5mysqQp7+hIVbFtd9iMFd1VV2RODcVjSgpT+0+e8UWjxW541H+i+XzRrgyDqOlZknaw2sl6QTK2PVF5Y+CNKsZ401ruRrSQ4LW4NNdNftB7uLGKlrzPBeTT12/lcrm8fy6/fn54+huOn7/ctDC/kGKjdqzulu9bCCq2KTMqZ4HAS7aLnNPHFUll71aQLnQLvixU94yVXLEIAynnRTFiBavqubyMUDxLhX7NK/ZET3qCFNPpTPY8UZ5K6BwhmJtU+36hFae7E5Xa9D1lS8qrvRiiev2WAGWB0Ffy9sin2+oWJ1x6nlISZUPzw9xHmEVDIf0K1KMPDzqEgwPdPTfoXZApzBANbSBHQeiRQAdZ5+wcoKMu6B40QYeBBXR4MdA9E/RxAKIRiEdgjGQjcWQDBwAj2YjvQIQNYgQAvIt+F+WSlVSjRKlIkc9LIaYCVir0iYQzF+d7rDqWeZbJZax0Hw1Cpwxfwmmwxp/FaaBjc5pL0Yc+vM/4weB8JvjjM6/gLxqaz4QW+kKQxCCZyEaMAU6gwZaYWKS0P8K0f6yfzWiQWmN9FkZTx7nEsRVqsT60UOBaKMCXogD3oMA8ya6YAh8PjQIITQ4MwMssliWaPGoKsl7nDWik4qb6f+AXsFX7fyWYt6gVv6mxtXC3U0g30l5J/UhYs02V0p/nleK255T//FygWafgNCk9oQxZGGt1FS0Iz1+6ZaqNRrXCA8vFzg4W42oJupF3N/tWV52WlfpEWgA1TKoBxpiotqrDtt9gaD3y+qswtIEYBvKiW2RPiV5rGuZUh5t8L+Ow1B9vSmAvXsJpbomQeZAjG/uXS0ehb4mmPkgwSJKrSEM1V3YvEYA9r2voKPjVaSi01G6SLQRE9in5i0Hc8DeRtI0jgEPZPqN7aGkRTmmdFuluY6RJU4x8dK7kVAtPgaW+iyy8+BfjxVbe/X68eK4/MF5sddvvxwtyhuYvtmKuBy9SE4F4cnx28sGYglhL03A/pvQU7HxMWV5r/GFK+kY0MKbaJwHXUjPRXc6bOVzHVbKc5Ma5dRysFMeJpLA/ER5olQvgZA75xlq/rScGUqu52qtNpJ/CvYt4bSI/fN86zb2yp0XvZZADsTPkwVsnOvnrWp1+TvV/PqBbnVjGf1/Dszw9amKWfNkiYtYIRKGKWYloTGpN/Bd5IffyyxTgBoUsb6dVx1iD5438rKM2vpt1bX2xGACD1a6mu+0XrXn9K5e6k9FvjIGIDrKgVks1y8j3Ph6IkeEVv768lgZckCktEpI+zWu9vrj+vFzIJ6E2qf/rObmwUlbaPO4MYdgNtRrdsdTo2OJF+vOvHnFYiMcvexpjPX4f5Y3/Aw==</diagram></mxfile>
<mxfile host="Electron" modified="2022-02-08T08:18:06.686Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="STjG1Qo7zRSJngIPBsWI" version="13.4.5" type="device"><diagram id="tQzzeEyqJnaOFTdiP6Oe" name="Page-1">7Vpbc5s6EP41ekwGIS7iEXxJpzOdZprpnNNHBWSbCSAHy7HdX18JhLnJDZnajp02ebC0Eiv0fbvaXQCgUbq9y8ly8YVFNAGmEW0BGgPThNBwxI+U7EqJ57mlYJ7HkZpUCx7in1QJDSVdxxFdtSZyxhIeL9vCkGUZDXlLRvKcbdrTZixpr7okc9oTPIQk6Uv/iyO+KKXYdGv5JxrPF9XK0PHKkZRUk9VOVgsSsU1DhCYAjXLGeNlKtyOaSPAqXMrrpgdG9zeW04wPuYB8+vYjS9P07jn79uX+6TucPH+9qWB+Icla7VjdLd9VEORsnUVUaoEABZtFzOnDkoRydCNIF7IFTxM1PGMZVyyK+xH9OElGLGF5oQtFhOJZKOQrnrMn2hhxQkwfZ3LkifJwodSpu6M5p9uD+4Z7NIUZUpZSnu/EFHWBVRGgLBBaqr+p+TQr2aLBJUJKSJQNzfe6a5hFQyH9BtS9Dw86hBcHunls0NsgUxjZ1NWB7DkuIs4pQLbbICPYBxk6GpDhyUBGfZAnDvBGwB+BiS0bgSEb2AHYlg1/DDzcI0Jgwttot1HNWEY7FCgRSeJ5JrqhwJAKeSARjsV57quBNI4iuYyW3toADI1bHZ0/3OFP4yTQ0DnJqeizP5yPWM7F+Yjzz0fewJ93aT7iauhzQeCDYCobPgY4gD22hGKRsh7CdHgsn82oE2pjeeR6j8ZJjim3E8tdDQWmhgJ8KgrwAAr6J9cVU2DhS6MAwtdDBc0iX5Zg8qhJyGoVl6CRnPfFv4FfYJTv/pfnza1ddX+ouUVnvFWHUdnbqZ6GBBr1qr0OBWIDbJ2H9PVEUuxjTvlrB0Wf0gZltoaxSpbThPD4pX27OhrVCvcsFhvZW4zZScB7eXW5TXVVs2zsKuoE0J5JlTj0FBVWtd/2HxjagLz9Gg3tvQzDRt6trU+J3moafVX7mzyXcWjqjT9KWHtHOnKQh6J+EJhO/bE1PUPlbNv9o97W2cfpElZoaeKtBQIMguBforqtDti2K9i6EH3WRBVqqjnJlg1Efir584Ff8jeVtE08gF3ZPuxAxgAHasJ6yGe6XBzDbTphytHUeZ4Gfetk6OvKvI+KPjKtC0NfV6V9VPRt49JsX1egDUBfSjzgT+vnIVfJB8SdBAsP46ObPB2PD80Lh7+ID8u7MD6qSv1aahq6jXmpwzRM1ZdKboxbw8BKUCuSnV2jc0/zWAAnM7hxTelRavGyAHi3IrvzatHunqiDi+yOIss9bx1lXtnTnHcyyPer2eGt4TX+2lbXPaeG1+9dqxPLWOc1PM3TnTIyyZchIjKNgOeqyBSIxrSQ+J/JC7mTX4YA00lkcfmYt4zVeV7LzyoK47tZFdbniwnQWW4Luqtx0ZoXv3KpsYxxEwxEdJDlrFqqXEa+l0HAt3tecRnFbUIeaRKQ8GleyLuL1y4IHdVvhN6g+C90cmGlTK59g05RIwtTbRucp6mRscaPuk+oBkRi0a2/rSnNtf5CCU1+AQ==</diagram></mxfile>

View File

@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-21T09:05:40.213Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="RhVVIbiLKCB8wba3Fzza" version="13.4.5" type="device"><diagram id="CxldsRBQwlXAl93PQukq" name="Page-1">7Vpdc+MmFP01PCYj9IHQo+SPdDptJ910pruPWMKyNrJwZRzb++sLErIkhF1na2e92Z08BA4IxDn3Xi5YwBktdw8lWS1+ZwnNgW0lO+CMgW1DaCHxTyL7GgkCvwbSMktUpxZ4yr5QBVoK3WQJXfc6csZynq36YMyKgsa8h5GyZNt+tznL+7OuSEoHwFNM8iH6d5bwRY1i22/xX2iWLpqZIQrqliVpOquVrBckYdsO5EyAMyoZ43VpuRvRXJLX8FI/Nz3Senixkhb8nAc+ft4vUfny54fHdHX3UHz568Mf0zs1ygvJN2rB6mX5vmGgZJsioXIQCJxou8g4fVqRWLZuheYCW/BlrprnrOBKRIhkPcvzEctZWY3lJITieSzwNS/ZM+20oBjT2Vy2PFMeS+YsUVFvR0tOd0eXDQ9kCiukbEl5uRdd1ANuw78yQOiq+raV026wRUdKx1EgUSaUHsZuWRYFRfQrSLffPekQ3hzpzqVJ75NMYeJR30RygHyHIJ1kXbNLkO71SXfgkHSIDKTDq5HuDkmfIBCMQDgCE08WIksWMALYk4VwDAI8EEZwwvvs91kuWEE1SRRE8iwtRDUWHFKBR5LhTIT3UDUssySR0xjlbg1Clwxfw2mwpp/BaaBlcppryee9e59x0c35DPrpM6/QL7g1n2nW0JGCJiKlVFVW8gVLWUHySYtqpLV9fmNspdT7TDnfKyrJhrO+toKucv9RPV9VPsnKvddUx7tu43h/qCWhzJKl3DlZr7O4BqdZ3poNKfmwUwV3utWrlks9LaVghm3KmJ6gUOXWYoKU8lPJ6xHbKGlOePbSfxGT0NWjYmlk3+mwYlnB152RHyXQmpzTtzjb0tLu090R9DQTq+dvDe6wkK+3Qd8QQnwQhSCaykKIAY4MZprn4lR1zK/Pzzfnc4piY76Z+MHMsq6xdfpavukbwoBtCAP4amFguFW+ZRiA95Zla6HAc/8zGIjaIy0zQYEM/BX49u6Pb9r9fd3/4Wn/1/sjZRlXDQD4jABgMNDvNwC4+NYCQDCUYMC3afM94m8n2G/3/na7/9QNCEfc3aDBRfzXOdN/fbOiHcU8g2AN9jovH7ilrd1QDC4e6mWqp074t62dIAYWVfMwGOhSrt6s470Z2rcyDM8J7r2+acCvNI3hUIeXfCvjuPT97tXvsDS39LxhHPdM6l/vPA5tw2bqggiDKPouzuGaK9vX2H8dp2/oHvrW53BouPCVanlAHH2kfiEIa/2mUrZJALAvyxd0Dy0rwjGtsiLdbQZZ0gx7rnepkxHSz59DYQKDLu7VdDHdCf94uji2e2O6GC57f0BdPOvW/MV0H3yGLhIJQDhtL4/fmVIQa2kaPk8pPQW7nFKma7efSslL+htTyjacmWql5G8sQqkRCHylVCQK0woJfyUv5EF+jwJslMukblb2dEL/bOTHHBW5d+uK3VB0gGi1q4hs2kUprf7LqcZS8wkGghOZRqqp6mnkzz0OCL0bTCqlaeRkRvOIxM9pheuT65dEot4xsKj6q8bk4rzGCnD0sPi/jM/2tczUMmSm2HSieL31iWr7PU99hmu/inIm/wI=</diagram></mxfile>
<mxfile host="Electron" modified="2022-02-08T08:30:24.723Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="aFVTAUaWPWepMEt7yIzg" version="13.4.5" type="device"><diagram id="CxldsRBQwlXAl93PQukq" name="Page-1">7Vpbk6MoGP01PHaXiKI+ahLnVls1u/2wM4+0EnXbSMaQTrK/fkEx3kgqvRN7Mj1TeQgckMs5fB98IkCz1f5dSdbpHyymOTCNeA/QHJgmtKAn/iRyqBHPc2ogKbNYVWqBh+xfqkBDodssppteRc5YzrN1H4xYUdCI9zBSlmzXr7Zkeb/XNUnoCHiISD5G/85intaoazot/p5mSdr0DLGa8Io0ldVMNimJ2a4DoQVAs5IxXqdW+xnNJXkNL/Vz4YnS48BKWvBLHjD9L1v7T/YXRvifT19D1/sQeHeqlWeSb9WE1WD5oWGgZNsiprIRCFCwSzNOH9YkkqU7obnAUr7KVfGSFVyJKIYj8lmez1jOyqotFBPqLiOBb3jJnminBEcufVzKkifKo1Q1p0ZHS073J6cNj2SKVUjZivLyIKqoB6yG/0OzJFV+18ppNljakRIhBRK1hJJj2y3LIqGIfgHp5psnHcKbIx1dm/Q+yRTGNnV0JHvYQQRPQbLdJxnBMckQa0iGk5FsjUleYODNgD8DC1smAkMmXAxcWyb8OfDckRCCE95nu89qwQo6kEBBJM+SQmQjwSEVeCAZzoQ791XBKotj2Y1W3nYBGBqzurp+7kA/jZFAQ2ckU8lnvzkbsfDN2Qj+bSMv0M+7NRtxNPI5IPBBEMqE7wI3gCO1RMPixHqK08v38uWS4ki7l8eO92hM4qacwV7uaCQwNRK4U0ngXiDB2HP9xBJY7q1JAK8dOIzIRBh5KB7TH4b+3Apf4cxq22OSj9jrbBVQEyksLBC4IAh+bxHqAYTsvm4643jVLQJqYg2plg3EziD184Ff6xdK2RYecB2ZPm1AxgUG1KX1lM0MtbiG2QxOWFhzwvI07FuTsa8LQt4q+8i0box9TQzxZtm3jVtb+7rg4gL2JeIBP2wjkZ9SD+j2twLkXqaHPZkeumjh19HD8m5ND03oMIoTitiXFwfy+JOTzSarz/qk5GP4TNTQ45zGCX1QXbCSpyxhBckXLRrQfca/KDVl+qtM39sqN993iuYHlamHLts+r4+YHtuWET1HTHO3QsqE8jMVHb3g3TPyGUFLmhOePffHq1NZ9fCZZWImx/U0CIPw0I/W01QPmZ2rkEE7wysBb9BOzcKoHaE/OXSqrWWFzenhmsPdwX7JqJorsHa91/23q//I/3dcRRinHJR8GyUc1Ax4jnJQgUiEFeJ/JM/knbyZAybOZYzxWPaMCH/bymutyijuNpVV+KICxOt9tW6bcpFKqn/Z1Vy6uoUI3o0qqlFd1d3IF2MI+PbIWm8jxsnJI80DEj0lFT7svHUNEKt8xwMH1a9qkwvrYLLvOzRFqCTi194SO75d64ZKrsZ+4VQO2bzgPcKPdcjw3jDMvlO2rbNuWWY+0zITDMl1NY2r/lEu2LYGTs34nz4YD87OpoHum28DruyHnWGIqhbZqaEN65uG9T2eWGTbW/66evutBFr8Bw==</diagram></mxfile>

View File

@ -24,8 +24,6 @@ JMMJava 内存模型)相关的问题比较多,也比较重要,于是我
![JMM(Java 内存模型)](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/concurrent/jmm.png)
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/concurrent/jmm.png)
![JMM(Java 内存模型)强制在主存中进行读取](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/concurrent/jmm2.png)
`volatile` 关键字其实并非是 Java 语言特有的,在 C 语言里也有,它最原始的意义就是禁用 CPU 缓存。如果我们将一个变量使用 `volatile` 修饰,这就指示 编译器,这个变量是共享且不稳定的,每次使用它都到主存中进行读取。

View File

@ -24,13 +24,13 @@ head:
为了更好地理解,我画了一个简单的 CPU Cache 示意图如下(实际上,现代的 CPU Cache 通常分为三层,分别叫 L1,L2,L3 Cache:
![CPU 缓存模型示意图](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/concurrent/cpu-cache.png)
![CPU 缓存模型示意图](./images/jmm/cpu-cache.jpg)
**CPU Cache 的工作方式:** 先复制一份数据到 CPU Cache 中,当 CPU 需要用到的时候就可以直接从 CPU Cache 中读取数据,当运算完成后,再将运算得到的数据写回 Main Memory 中。但是,这样存在 **内存缓存不一致性的问题** !比如我执行一个 i++ 操作的话,如果两个线程同时执行的话,假设两个线程从 CPU Cache 中读取的 i=1两个线程做了 1++ 运算完之后再写回 Main Memory 之后 i=2而正确结果应该是 i=3。
**CPU 为了解决内存缓存不一致性问题可以通过制定缓存一致协议(比如 [MESI 协议](https://zh.wikipedia.org/wiki/MESI%E5%8D%8F%E8%AE%AE))或者其他手段来解决。** 这个缓存缓存一致性协议指的是在 CPU 高速缓存与主内存交互的时候需要准守的原则和规范。不同的 CPU 中,使用的缓存一致性协议通常也会有所不同。
![缓存一致性协议](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/concurrent/cpu-cache-protocol.png)
![缓存一致性协议](./images/jmm/cpu-cache-protocol.jpg)
我们的程序运行在操作系统之上,操作系统屏蔽了底层硬件的操作细节,将各种硬件资源虚拟化。于是,操作系统也就同样需要解决内存缓存不一致性问题。

View File

@ -41,7 +41,7 @@ Java 堆是垃圾收集器管理的主要区域,因此也被称作 **GC 堆(
下图所示的 Eden 区、两个 Survivor 区 S0 和 S1 都属于新生代,中间一层属于老年代,最下面一层属于永久代。
![hotspot-heap-structure](./pictures/hotspot-heap-structure.png)
![hotspot-heap-structure](./pictures/java内存区域/hotspot-heap-structure.png)
**JDK 8 版本之后 PermGen(永久) 已被 Metaspace(元空间) 取代,元空间使用的是直接内存** 。

View File

@ -68,12 +68,10 @@ Java 虚拟机规范对于运行时数据区域的规定是相当宽松的。以
栈由一个个栈帧组成,而每个栈帧中都拥有:局部变量表、操作数栈、动态链接、方法返回地址。和数据结构上的栈类似,两者都是先进后出的数据结构,只支持出栈和入栈两种操作。
![Java 虚拟机栈](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/jvm/stack-area.png)
![栈](./pictures/java内存区域/stack.png)
**局部变量表** 主要存放了编译期可知的各种数据类型boolean、byte、char、short、int、float、long、double、对象引用reference 类型,它不同于对象本身,可能是一个指向对象起始地址的引用指针,也可能是指向一个代表对象的句柄或其他与此对象相关的位置)。
![局部变量表](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/jvm/local-variables-table.png)
**操作数栈** 主要作为方法调用的中转站使用,用于存放方法执行过程中产生的中间计算结果。另外,计算过程中产生的临时变量也会放在操作数栈中。
**动态链接** 主要服务一个方法需要调用其他方法的场景。在 Java 源文件被编译成字节码文件时所有的变量和方法引用都作为符号引用Symbilic Reference保存在 Class 文件的常量池里。当一个方法要调用其他方法,需要将常量池中指向方法的符号引用转化为其在内存地址中的直接引用。动态链接的作用就是为了将符号引用转换为调用方法的直接引用。
@ -91,7 +89,7 @@ Java 方法有两种返回方式,一种是 return 语句正常返回,一种
- **`StackOverFlowError`** 若栈的内存大小不允许动态扩展,那么当线程请求栈的深度超过当前 Java 虚拟机栈的最大深度的时候,就抛出 `StackOverFlowError` 错误。
- **`OutOfMemoryError`** 如果栈的内存大小可以动态扩展, 如果虚拟机在动态扩展栈时无法申请到足够的内存空间,则抛出`OutOfMemoryError`异常。
![](./pictures/memory-area/《深入理解虚拟机》第三版的第2章-虚拟机栈.png)
![](./pictures/java内存区域/《深入理解虚拟机》第三版的第2章-虚拟机栈.png)
### 本地方法栈
@ -117,7 +115,7 @@ Java 堆是垃圾收集器管理的主要区域,因此也被称作 **GC 堆(
下图所示的 Eden 区、两个 Survivor 区 S0 和 S1 都属于新生代,中间一层属于老年代,最下面一层属于永久代。
![hotspot-heap-structure](./pictures/hotspot-heap-structure.png)
![hotspot-heap-structure](./pictures/java内存区域/hotspot-heap-structure.png)
**JDK 8 版本之后 PermGen(永久) 已被 Metaspace(元空间) 取代,元空间使用的是直接内存** (我会在方法区这部分内容详细介绍到)。
@ -159,7 +157,7 @@ Java 堆是垃圾收集器管理的主要区域,因此也被称作 **GC 堆(
**方法区和永久代以及元空间是什么关系呢?** 方法区和永久代以及元空间的关系很像 Java 中接口和类的关系,类实现了接口,这里的类就可以看作是永久代和元空间,接口可以看作是方法区,也就是说永久代以及元空间是 HotSpot 虚拟机对虚拟机规范中方法区的两种实现方式。并且,永久代是 JDK 1.8 之前的方法区实现JDK 1.8 及以后方法区的实现变成了元空间。
![HotSpot 虚拟机方法区的两种实现](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/jvm/method-area-implementation.png)
![HotSpot 虚拟机方法区的两种实现](./pictures/java内存区域/method-area-implementation.png)
**为什么要将永久代 (PermGen) 替换为元空间 (MetaSpace) 呢?**
@ -228,11 +226,11 @@ HotSpot 虚拟机中字符串常量池的实现是 `src/hotspot/share/classfile/
JDK1.7 之前字符串常量池存放在永久代。JDK1.7 字符串常量池和静态变量从永久代移动了 Java 堆中。
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/jvm/method-area-jdk1.6.png)
![](./pictures/java内存区域/method-area-jdk1.6.png)
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/jvm/method-area-jdk1.7.png)
![](./pictures/java内存区域/method-area-jdk1.7.png)
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/jvm/method-area-jdk1.8.png)
![](./pictures/java内存区域/method-area-jdk1.8.png)
**JDK 1.7 为什么要将字符串常量池移动到堆中?**
@ -316,15 +314,15 @@ Java 对象的创建过程我建议最好是能默写出来,并且要掌握每
#### 句柄
如果使用句柄的话,那么 Java 堆中将会划分出一块内存来作为句柄池reference 中存储的就是对象的句柄地址,而句柄中包含了对象实例数据与对象类型数据各自的具体地址信息。
如果使用句柄的话,那么 Java 堆中将会划分出一块内存来作为句柄池reference 中存储的就是对象的句柄地址,而句柄中包含了对象实例数据与类型数据各自的具体地址信息。
![对象的访问定位-使用句柄](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/jvm/access-location-of-object-handle.png)
![对象的访问定位-使用句柄](./pictures/java内存区域/对象的访问定位-使用句柄.png)
#### 直接指针
如果使用直接指针访问reference 中存储的直接就是对象的地址。
如果使用直接指针访问,那么 Java 堆对象的布局中就必须考虑如何放置访问类型数据的相关信息,而 reference 中存储的直接就是对象的地址。
![对象的访问定位-直接指针](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/jvm/access-location-of-object-handle-direct-pointer.png)
![对象的访问定位-直接指针](./pictures/java内存区域/对象的访问定位-直接指针.png)
这两种对象访问方式各有优势。使用句柄来访问的最大好处是 reference 中存储的是稳定的句柄地址,在对象被移动时只会改变句柄中的实例数据指针,而 reference 本身不需要修改。使用直接指针访问方式最大的好处就是速度快,它节省了一次指针定位的时间开销。

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

View File

@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-03-30T05:37:34.230Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="j1lyORXkCM4ilvzaZrcU" version="13.4.5" type="device"><diagram id="iqBQqmSUkrwKoGtfJ_L6" name="Page-1">3ZjZTuMwFIafxhJcgJzNSS6bErZREZqiguZmlMVZRGJnHJe2PP04xCENCRIjQkvnqu5/vH7/cXoaoE3z9QXzimRGQ5wBFYZroJ0BVVUUiMRHpWxqxbbNWohZGspOrTBPn7EUoVSXaYjLTkdOacbToisGlBAc8I7mMUZX3W4RzbqrFl6Me8I88LK+ep+GPKlVSzVb/RKncdKsrCC7juRe01mepEy8kK62JM0F2pRRyutWvp7irILXcKnHnb8Tfd0Yw4R/ZEC8wMUNXZyH2cL6fZ3DnzfT4kTO8uRlS3lgN8REbphvGgqMLkmIq4kUoDmrJOV4XnhBFV0J34WW8DyT4SjNsinNKHsZq4UGtkJd6CVn9BFvRSzV1xCqIo+YB0kznBIu80CcSHP652w2jRnH6y1JnvsC0xxzthFdmqhRj5A5qCFpyap1VNGklmy7CaXoySyKX6duQYuGZP0P3NUe9zkcl7qHrSgYoo4CC/vRLqjrH8CuGrvErvew32GyZILxmOyjCKNgkH1o2j6Eu8943TZ66DVrAH2jjU7e7JEHKsrEqk4hGnHVuMUsv8DkqAmUhUc6pqA/y+ph6QQ10IkIstg/MsQTVySM2BdEbdO0joGkCQU0fuJlaUzqURmOeDvd6/rNwuKA9dq1vq/9CBweqVKgmuJb7Uy4hJnHU0re2djxll60ux3zjlkBHr5jvmXoxh7uGFL6j7fBO2Z/1dOt2dDWJbukvCxolUKLmfDByyuqxC+L2m7gGmACgYWAawLHAbYGXARsF1g6cM+BMwWWdX32Qzk1m692z8UqZbpWdS0hlOA3/klJ5tlZIDzAQncq9qmovSYykKdhWC0zmBtt9sA3/hrj+IvM0zc/YLDvsGoN1A3qCA7f3q3Q01XqPD3o18+/7nwesquBcm2u/G9lg2rCPZYNm3ISJ+zkgTzf5/GtPoN+VB5OldyjPODFu+AN+AHwX1YmD4I/kDL5U9iR9u3yXTugMnnUlN9pnTyIvv8PZYa5VzP9fvXTqPB3WkANwv+6+sk6zPrpc/4a6j4LqEGH0WEUUJ/ibho7fO8ivravMF9iWy+CNfcv</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

View File

@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-08-12T06:20:50.190Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="0aZpmGB0zKjtoZiNRr2d" version="13.4.5" type="device"><diagram id="cOLtUwHyX4POJW0G9AIN" name="Page-1">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</diagram></mxfile>

View File

@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-08-12T06:12:35.835Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="BQ3VE-MOU7lptXVcE5UA" version="13.4.5" type="device"><diagram id="cOLtUwHyX4POJW0G9AIN" name="Page-1">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</diagram></mxfile>

View File

@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-03-30T07:45:06.136Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="OY54PP5LTyJVEsLATy_S" version="13.4.5" type="device"><diagram id="mDWWXMJm0z7qVffaok21" name="Page-1">7VfLcpswFP0aLTMDEi8tkUPaRTvTjhddKyADiYwcWRi7X18JhAWxnTZt3E5nsrJ07pXu4xxfAKDFev9B0k31WRSMA+gVe4BuAYS+70X6xyCHAcE4HoBS1oV1csCy/s4s6Fm0rQu2nTkqIbiqN3MwF03DcjXDqJSim7utBJ9H3dCSnQDLnPJT9FtdqGpAExg7/COry2qM7Ed4sKzp6Gwr2Va0EN0EQhlACymEGlbr/YJx07yxL8O5uwvWY2KSNepXDrTqYZcX3VNHugA+0vLr9yW8CWxu6jAWzApdv90KqSpRiobyzKFEirYpmLnV0zvn80mIjQZ9DT4wpQ6WTNoqoaFKrbm1bh+Zyiu7GRIwUS/WZaGtaGXOXigGHbuq5cjEmil50Ock41TVu/n91OqiPPodj34RtY4MPath6FkCrYKDwJtfoagsmbKnHAF6MUnDQT0tr6AofKfoZxQF/r+lCA3RdpS3toQTzhwjpqNdVSu23NC+V52enPPur2rOF4IL2Z9FqxWL8tywoqR4ZBNLEeN7zzvP145JxfYvM3bKxHgAB7OOwth2tHNDEPp2tleTARh7l8mbtf21PfbP9DjiynRL9FpwzY6eWjEabra9xFPtoOvfO6Nelf1vFgEcAYLNgiCAQ5CFIFkAko4B7qVzvgNkAZLEOCcpILcgSwDxQeobJNUgNMeJdgtNvdqaxiAJzELfmaDxBjxerr2GAmyE58LRHKpn/82ZChrRsGeSsRDlddnoba45ZxonRhG1frSl1rCui6IfF+fkOB8hJkU7LGB4Bb2NT81RbvhUbsEoranc4LXkFl2U23ZDmz+TG/EA0QoKjOiSsF8QkKKJIoYYoyKcCn876hvlflR/aBIncZ/7LcDIIGkGcAYyLffMlHhG6POy3nBCFpQlq7MTMsoTdr+6xoSEF545E8n60RnJXm1CJleTbM+2mV0xSLEZjBkG+j2eBO+S/Z8ki9Dfk6zeuk+b4T3LfSCi7Ac=</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-04-13T07:30:48.479Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="5B-aXL7o7yfv3TfiIJa3" version="13.4.5" type="device"><diagram id="SNS0W3kPdRRnqGH8hLX1" name="Page-1">7Vltk5s2EP41mmk/OAMIYfgItu8lbWcyvUyTbx0ZZJs5DA7mzvb9+molAcIo8V3vcJymPo8PdiWQ9tlnV9IiPFnvr0u6Wf1RJCxDjpXsEZ4ix7GxZfN/IDkoiT3GUrIs00TJWsFd+sSU0FLShzRh207DqiiyKt10hXGR5yyuOjJalsWu22xRZN23buiS9QR3Mc360k9pUq3qaXhBq7hh6XJVv9ojrtSsad1aTWW7okmx00R4hvCkLIpKXq33E5aB+WrDyH5XX9E2IytZXj2nw+fPs4ebDb2lf7FP0yL8kn74k4zUYB9p9qBmrAZbHWoTlMVDnjB4iI1wtFulFbvb0Bi0O446l62qdabUizTLJkVWlKIvXhD44/JtVRb3TNN44gOae1bFq7p7kVfKCfhs5L3WSX64fJnR7Vb1aewKHfpGUXZ6ZGXF9ppIGemaFWtWlQfeRPlo43u7FnDiKdlKw5pYSkiVky2bZ7Uw8AuFxAtQ8QyoeFkFk93QvAOP9+UBHCiKpZVCriyXc/oLHxr/8tdbxqtfkSPNZYGJRwu6TrOD7L4u8mIrAO402QpYoIG12bfv5VdL+Z8cxwHCZwxS4eLNXW0BImzAJVO4hoERmCbhhjvV1m7a1kj/q8c47WOkpRsN/5lxDEgAP1FQ30YYZARu4cefgCyEW3hZBLe+/4GV62uW141CGEIAP7Mx6OEqsrp9gnYgEthmINxlxeQkxUBsi1udTiDNi1z00vjXEdMsXeZCFHNzMaGNgBIpD3Vho1ynSSJfr/McNILpIK+jQTuWhrMgcogcnyR120gSVpuAJC0ILCHQsJBMfQ7ajaoBuqUzb64/xG09wzpoPkA0uSR8o8OWplPEbztqOrpt5UttAMd+KG4bZ9SFXYqodj0uyRDAI4qMAjXxjuK18JlOUO4GX+EU3UitRNJLGh859pDGP8xZoJsn9EhOjsP8IOG71roqKtfh3O2Hc8c3hHNnqGjuD5tjE8r8RWzMsbHP5otTOXZIMBw/6IIRGMAgBjD8ocCok7uOxsxH0RXiQ+MXoY14XOfhPhijyEM8hkc+fGcB8sfIvwJVZKPQ6mF4ebxzzsk7Z+x2oMbO9+adbRugDlAwRUEAMPLB+DYgzFENNITfdAHsxyw2knPuE5dYl0RO4pPvTU7cQ+z97Uc0c1EUoRAjvoQKJWicnBMUYEAvnAJ6bwraYuGYQUu8uUdO7loGBc26NMzIsOmN2QlhYxMYgTfG9JLAeHZ2c7zB0DBsHYEsNjAIQh3/YkGoK0h1EAV5MuvHvJ88mZFuKjOcCJw5lY2/DSvfYPrRM2D9ac5ylNbrEhSTPpC2iaDuYEAaNgMqh40BtnCGIvI/kKeAdA2MPDOQgQFIvmvguwOxuIwwCojaUIRvvDz5D+AX9Jct58XP6e8D34nPD5IKV0WZPnEZzRRI5ztgsY+w9PpcdAdKjvvr3zfYetzcPHl/lzQ93CaT+ci0zWtCKt8xTFDoiZDKN/LOS3b0rzqVIcxPXBNJfWeOT5P0BII9uAygPnvj55qOyIbaRJghNKxvfoSQ+QZgeEeh0VR+csZDlZ/MaJhyGxFbb+8Cw6OF+sfNQwBjWDwOtgsw4uL0j0dMaw4CJ5hRiGZXcEjSVqQAwhlsFXhQ9Pk606pbBBcI6mtrCK+C3sanawjYOiv0pkL9i0rC5orwN+rA/EF0vRFKjCGTrVj2yADLngZ9pVLsECgVd3RylKDMi3JNs656p2wJeleOUygzVnFvGkFZOs2Xxv7gsiPlfaCuC526OuXOlVdaFVtXViXNtwv+0PrxeVsB3xVl0n273n1O4/ulcN3Rkc0d129szRe97TXRLJ+k201GldXTPEu1Fy+yglb6gI7r7u+nv9nvvBfWBk8kzzdgkHu0SLQN1YBmIakzCL+cQUjVT1udVjnFs38A</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

View File

@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-04-13T07:31:40.068Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="1agHgKCaMXpfD4rIeFVS" version="13.4.5" type="device"><diagram id="2YC4MhdPOoUwFEyv9jkW" name="Page-1">7Zlbb6M4FIB/jaWdh4wAYzCPkNLMzGqkarur3e5L5YC5qARngTTp/Po9BpOE4Nm0Uoimms2MFOccfOF852K7CM9Xu0XF1tlXEfMCWUa8Q/gGWZaJDRO+pORFSUwXd5K0ymMlOwju829cCQ0l3eQxrwcPNkIUTb4eCiNRljxqBjJWVWI7fCwRxXDWNUv5SHAfsWIs/TOPm6yTUss9yD/xPM36mU3H6zQr1j+s3qTOWCy2RyIcIjyvhGi61mo354W0Xm+Xrt/td7T7hVW8bF7T4SFYGX/wxd1vj/7nrykJb5LIm2GnG+aZFRv1xmq1zUtvgkpsypjLUUyEg22WN/x+zSKp3QJ1kGXNqlDqJC+KuShE1fbFCZH/QF43lXjiRxqn/UjNE2+irO8uykY5AbxO9/uoU/cB+fjllT2eedXw3ZFIGWPBxYo31Qs8orSOo8Ao19yD2h44W66SZUeMbU8JmfKtdD/2wfzQUATeQsMd0wg95N0gz0Ohg6iBqIlCgugt8qhUUVe2L0qMRjyKdMSWlNjEOEfsAmRcY0gGEw0ZQ0PGnQwM1YAhyAcezsj68JbN0MRDU5ai5Cd2VyJW5GkJPyOwHQd5IG2WQzLylWKVx7GcRsv0QN044UImihgdF6rhYk3GxdOkL6eQ5q/XrBxwcf7ZyFQbRJ3NfVBW6fIXAu8My4P5jUHzw6EHtNL2WyKHWHRR6CJ/jnwHhTYKKApab5CNo6CEeA1M6SJqQfCC3ZrUYJcM2phwGtu6oKXWEp9Ps5dwDo8MnINgcr2g/bt+fIwfPrl/Pd1tHiL/ecEbMTM1vvEOSltasLruE0e/ZzhAGhHRcPsuJPN8ySOOhhExpoJkTQspZpwm2mrmRJQvk3OQpoRhed6wzBmadEo0NOhUMLCmykFSg82GIRu+iehc5jXIgIHznynvhyuJp3CtU/KTkqb2kDS+YuHUkiYj0l8+/95WswD5uK1v3V4TSM+Rh/vSRy+bQpPE0u81Y2fpkLMpdEpmeJgqiacpZ1cNzolPatyETYSrY+E5LmY/EotXJ0rLmQqG7qDmyuQXtLtECv9xG063MmvKoxvkxfFB7SfPi+Zwy4h1J/CrpkXdMe8IqxciGrwC68+2rXRP4tMZczR18WlPxVFzLDyc3Rzkhygg/3M8x9HWxON1OfbnlQFI2H/CPrO9EAswgrrcbU39C+9N3j8/Yoz3LFfmNz6Df2w/76QSZqLKv4GMFQrS9UqjdRKL7jgW7WuWRnN8ZNCFIpFHxMBH4a08OFB6x6vVgpdt+g1lAYV6SiH9Gv0T3jtwBXJV8vaQvO6WFesu0qZDrzt6dJeaMAEDTZSxqubdOvpb002TyP3U6BL1jfez6kK2//rQDmFIOrOErfLipXs048Uzl6yP9HWLT2otst4dK7pJpaYU1UpG9163VRaVStvomBoFb8ChZrDmKC/TcU/psjPlfVK3d8Bel4NnlWpUo19Lq2kqVtYJjNWP2nqyxC2qeDjjvuOSRU9p666zE2tZNu0MZdmeapDeZnFerwum7JWXRd7PlBSCNSfTn2L7cvOr+dF97V22CuEzFfcCwWKfpElTt2UxNcGC3x4s8PPw19pWd/RHbxz+Cw==</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

View File

@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-04-13T07:43:21.271Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="MJnw9VmKbU_C3nY3pDWl" version="13.4.5" type="device"><diagram id="gYNeldG73rc2GvLzjtzR" name="Page-1">7Zlbc6M2FIB/jWa6D94BhEA8gkO2TZu+pDud6UtHBnFpZKCYxM7++h6BsLmodTJjvJvZOpmxOAcJ6XznImSE19vDp5pV2X0Zc4EsIz4gfIMsyzQNB76k5KWTeJ7bCdI6j9VNJ8FD/oUroaGkT3nMd6Mbm7IUTV6NhVFZFDxqRjJW1+V+fFtSivFTK5bymeAhYmIu/T2Pm6yTUss9yX/keZr1TzYdr9NsWX+zWskuY3G5H4hwiPC6Lsuma20Pay6k8Xq7dP1u/0V7nFjNi+Y1HaLMu/ul+ny4qf58uad/ZH/9WpkrU832mYkntWI12+alN0FdPhUxl6OYCAf7LG/4Q8Uiqd0DdJBlzVYodZILsS5FWbd9cULkH8h3TV0+8oHGaT9S88ibKOu7l0WjnACW010POnUfkM8Xr+zxzOuGHwYiZYxPvNzypn6BW5TWcRQY5ZlHUPsTZ8tVsmzA2PaUkCnfSo9jn8wPDUXgDTT6GQxphB7ybpDnodBB1EDURCFB9BZ5VKqoK9sXJUYjHkU6YhtKbGKcI3YBMq4xJoOJhoyhIeMuBsbUgCHIBx7OzPqwymZs4rEpi7LgE7srERN5WsBlBLbjIA+kzXJIRr5SbPM4lo/RMj1RNyZcyEIRo+NCNVysxbhYmvTlCGn+XcWKERfn7yeZaoOos7kPyjrd/EBgzTA9eL4xan449YBW2n5L5BCLLgpd5K+R76DQRgFFQesNsjEISojXwJQuoiYEC+zmpAa7ZNDGhNPY1gUttTb4fJq9hHN4ZOQcBJOvHbT4fda2VLDdrs8c/abhQpTM8zWPOBpIxFiMkr0spZhxmmjrmRNRvknOUVqSBuyGx4XO0CRUosFBF6NBNIUO8hrsNwzZ8E1E1zK1QRIMnP/Met9cVZzStaboF0VN7TFq/NVrpzNDfffTb21FC5CP2xrX7TcB9Rp5uC9/9LJZNEks/X4zdjYOOZtFl4SGx9mSeJqSdt3wdJdNltyEnYSrg+E5LmbfEoxX50rLWYwG1SRLV+a/oN0rUvjHbUDdysQpX+AgNc5f177z1GiON45Y9x5+3cyoORQZcvVCRINXcP3eNpfuJEKdOUhTF6H2UiD7lDF9be/e4Rzkhygg/4M8B9LWROSVQerOX2ATCpvN9mAswAhqc7c/9S+8P3n//Igx37dcmd/8nOZj+3kntTAr6/wLyJhQkK5XHK1JLLrzWLSvWRyx5lRFE4pEvicGPgpv5csDpfe8YZ3JZQIOZQ2FkkohARv9Pd47cAZyVfb2mL3uvBVfF77usOZt563G8Yx10PqA1DGkIY29Stg2Fy9dHxiIbatWibE84sy4eOaS5UwzHmTXIpNDWKQ6THTdLKWyKOstE2P1XtlS6u1unq1S8Aa8aQVLjfIi1faXLrtS3ifVygFH6hycq1DDG4OptcqmZsUugUH74cGf+xv2ZR2Pnz7svmHRY9q67mpic8umR1tbtndqk4Hl43xXCaasnhciHzw4ESVrhhOaHo3f3fxsfqSvPepWcX2mEF8gguxJ9jR1OxlTE0H47REEl6cfc1vd4CdxHP4D</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

View File

@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-03-31T10:14:25.868Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="18fnAv3twwZFJ9hqhQpm" version="13.4.5" type="device"><diagram id="vISw4Omdv4bcsCCqeicN" name="Page-1">3Vhdb5swFP01fuwEOIB5BEI7TdrDFGlTHx1wAMXBGThNul8/2xgIwWm7KWm3kIfY5/oD33OPfQ2A8ebwUONt8ZVlhALHyg4AzoHj2LbliT+JPLdIEPgtkNdlphsNwKL8RTRoaXRXZqQZNeSMUV5ux2DKqoqkfIThumb7cbMVo+NZtzgnE2CRYjpFf5QZL1oUOf6AfyZlXnQz217QWja4a6xX0hQ4Y/sjCCYAxjVjvC1tDjGh0nmdX9p+92es/YvVpOJv6ZB8W39f4Mem2pB6t57R5WL5eKdHecJ0pxesX5Y/dx6o2a7KiBzEBjDaFyUniy1OpXUvOBdYwTdUm1clpTGjrFZ94cqVP4E3vGZrcmTx1CMta8LTouvOKq5jQKymrR91ah/ZqfOlbJRT3DS6rJdDak4OZ/1k994XYUvYhvD6WTTpOiBNmI5YO9D1/cC/07Upjrh3XQ1iHXN5P/ZAiyhoZv6AJThlKfFAaAGEJnSJhfMxJ2PfV6wiJ0RpCNMyr0Q1FY4iAo+kG0shhVAbNmWWyWmMQTCEiXVCpHvK8hVI6veL10hyrsXR7LpKyjBBq9SopBSR5eo1JV3A573vOp/7Bp9bBp9D+1pO914QRuKCCIHQ/w8U4ryHQtBHK8Q3kCU4soF4iyQACIJQsYbuQYAU4styIki0pemiB9OKeKlRTpkfLC3rPeQ0c0cEQcMWZrumc+ZaBCGjmgII0BwkMxDNQRArRLBmnT+Bbo0Xg3Del5fAKBwUKr14Uj7IlnoRTEWJQhIQurfOy6yrfxgvnWBPBeOBKJCFCEqpiP0rEjvaTHIWRCBIVCFWEhKFOeji63apcj98a7NNFx2Pyjyg2eJq5H3v507eyZRj7hrlmVA0cJztYTCKUq7+DflGO654z3Zo3fDGs0HPfWM2eAmOnbNsZuXT4PFjglvsk3rOUtTDo2FezR+7vJCSFX8pK6yJCCe8VANJGrasrLhygxsBdy5H2nHWhtyEN0elkBzzkslBA0uttiapBhq2k36/eCLpBGMxe9aUaJOW4dW0bLoOi/PQBWGs8pQYBL5OJCNRuFdI+AU/4Qf5NamjeVm/Rfa2J2SvYmOi/D4lQuoMdvup2mnk7g5NB/G/cQGheElohNN1rvDTyYfIs73pl5hI/cYReQcnZ8sFwq9Pi18IP9t0j/mLS6eoDt/jlO3oqyZMfgM=</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View File

@ -0,0 +1 @@
<mxfile host="Electron" modified="2021-08-17T04:11:31.953Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="e0WDqV46oSxYOHa3xZl5" version="13.4.5" type="device"><diagram id="_ekre9nY7dw9-rCbcCB4" name="Page-1">7Vpdb6M4FP011j61AoMNPCZpZkYrrbRStZqZRxccsOLgDDhNMr9+bTAhfKSTtqG0melL8L3mYp9zbny5DXBmq93njKyTf0REOYBWtAPOHYDQti2sPrRlX1r8AJaGOGORmVQb7tlPaoyWsW5YRPPGRCkEl2zdNIYiTWkoGzaSZWLbnLYQvPnUNYlpx3AfEt61fmWRTMwuoFfbv1AWJ9WTbRyUnhWpJpud5AmJxPbI5MyBM8uEkOXVajejXINX4VLe9+mE97CwjKbynBuW6c/Zcu/fPOZp8vjfarvJ/57cmCiPhG/MhgHEXMWbLoQKq1Yt9wYK/GMjKsdNXhA1UROgs97VTnUV689cZnYVSS2pDFa6DBqHuDATmzSiepW2cm8TJun9moTau1WiUrZErrhxx5zkubk+IFoMllSGiRmYXdFM0t1JuOwDCUq9VKyozPZqirnBN7QZ3TqeGW9rFdiWsSVHCkDGRozw4kPkmht1Yeh5BlVwOKrQVVGF0dhUOcNR5V4VVcgfmyp3OKqc66LKHpsqNBxV8Kqoct2xqcI9VH0IJCFCTSitLpSOi7pQOtZQWHonZZ+vSfpy2dcWlQANd5UJZfwPlQmHMq3izxk7FfzB6WNpfLX0jV4fBAMdOo3sO8XgBzyK2gyi0ROwqlueOoxUGLbO6a9xFMrDpN6bOmMV1YzzmeAiK8I4EaH+Iiw5FUt65MGhTx8Wg59ePr6FrQOsp2yD2LvtOcKgjYaioKfNMEdgYgEfd7hQ25dN0JtopiKlLeiNiXAWp2oYKriosk81mCwkfGIcKxZF/BTLdT5ZPUSrTDTNKTu4DFlu0HptrcqKI6bcnkSBgyVKT4dBs3QHAg/MPTCZgQkGcxdMfTAtXPrCB/MA+B7wP4E5BlNbs/q7UuqgTv6hoMuqDfvzbzBi+/oR7W/ANJrodqnGWp8VLGwS1kaL7pj8Znz6+rsGWe2qHN3tDObFYG8G5UNp1Om4tvBVCxObLKRPbamcJ0kWU/mr4rnL1xEZ6ImzKKOcSPbYXG4fPeYJ/wpW1ASVfk69l1Uhym2au2qSO4Gg0wzkBK1AJQ6dQIVaDtt+hYD6uiSDCMh7MwWhMxXkj6qgdjVlv1RBsCVF/MYK6mvevFJBFxSDe6YYgnclBv9CYjjU6G8lhm576K8zaoaMqpcq8lBM0F8Ga72+YsVoCtDds6oFTh4on5JwGRc1wlGlvij+nlMfmH89mpWBA7rHQnwiKU5WE9ati3CDqOrYe6mQqiliscjpMNSe7lb9eV/uLRmx26AYj967tfs6Vh+7WnTO/Hq331W5iC9VLqK3Lhf7mmavVVCq1vSt0okeHGlID2sRFaPnq+idH/5tcXjoMuLAGF1IHGpY/5qlnF7/JsiZ/w8=</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

View File

@ -1 +1 @@
<mxfile host="Electron" modified="2022-08-21T11:13:46.465Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="v3iBgQf38iUsIvBvOt02" version="13.4.5" type="device"><diagram id="_ucA3QbZEiLBh5pHRP8F" name="Page-1">7Vrtc5owHP5r8rE9IILwUay11223rd368mkXIQI2Ehdj1f31CxjkxWBtzw3a89q7Jk8SAs/ze34kKQD2p6shQ7PwC/UxAYbmrwC8AIbhGAZIfjV/vQFsqG+AgEX+BioAt9EfLEFNoovIx/NSR04p4dGsDHo0jrHHSxhijC7L3caUlGedoQDvALceIrvofeTzUD6F0c3xKxwFYTazbjmblinKOssnmYfIp8sCBAcA9hmlfFOarvqYJNxlvGzGXda0bm+M4ZgfMuBh6v6KbsK70fWPP7qxmEfXd6szoyNvjq+zJ8a+IEBWKeMhDWiMyCBHXUYXsY+Ty2qiNn/C3AtlJR/wmdKZAHUBTjDnayktWnAqoJBPiWydc0aftuTmSJ8SytJbgpZn49FYtIwjQgq4j7A99hKcxlxOoFuivsuNpGtOF8zDewjJYgyxAPN9xG36JWQVJpDMDzGdYs7WogPDBPHouRxNSAZlsO2X6yYKUrrXyGieZHyTjLBVMsrrPiOykDMNxYW0G5Ej5rsCEyKSYCLkMow4vp2hlJGlSMNlZaqsVtgfj7HleSq9/K4z0nZio1aUZ8w4Xu2lMWu1ZE6ULwXdkfVlnmL1LG+GhfRqa//KQNbJQKr89qKBOq0ykLFjoK+jSbIsMDR9V+AjGWjLfr1exzZQp+wfCJv2D6wn3vhIxG8ZbA3z2Ur0lLnKGenFzGW1KnN16g0EP5KBKpmr0/ib36wnXrE3er/EVzNX88wbduOZC68i/lAoPyaXOjdl7WIlr5xW1lklFg//sOlo2hmQjNTPNcPMgHxwWiuN/oZZJDjELHuMViVQ68AEarYqgVr1PlZsjt+vjysJ1DKbtjFUrKwbWYAU2B/ZZsdUO6u6+7U97B357AEeaCC92yoHQcVC4yTkQUK2KxXqe3ZjinOOY50jZQLsEfHIudAy2rYbg82fpxfXJ8XVSb4WUa9MWuY981Dv2e3y3p79hGK9+36914WV/YTduPcUJ00n773Fe91Dvee0y3vdeu8pTsner/dMo23ey7Kw8uRd+0jcV/Ne8xuwzIUq7p2PRH017P8r9d+vJmzyODE//YT3DD5Nrm8nM8U/bMHABLYJen0w6AC3D5xuilwCVxQuU6R3jZ7RMPmuBRgWEbfojlhJI+v3IvkoJFXgbJ5K0Et8ZM1WKZFZuygF6d9BF7gXwNGTQs8FjrOdaiKmSj+hOffinVAQtPN9+6+YxrgivIQQiYJYVD0hZnKK5SYiRh4iPdkwjXyf1AVZ+Z1L0AgTF3lPQYpXJ69GoagXYs1Nf9JrcvGGobHqRV4TZ4porA09eMj/fWxF6OmvDz1Rzb8KStsKn1bBwV8=</diagram></mxfile>
<mxfile host="Electron" modified="2022-02-10T05:45:37.077Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="2NW-OnovfJmii9ta4bLM" version="13.4.5" type="device"><diagram id="_ucA3QbZEiLBh5pHRP8F" name="Page-1">7Vpbb9owGP01eeyUxLk+AqWdqk2b2qnrniaTmCStiZkxBfrrZycOuSNaURkQ6kPj4zi2z/nOF9tEA6PZ+pbCefydhAhrph6uNXCtmaZh6A7/J5BNjvi+mwMRTUJ5Uwk8JG9IgrpEl0mIFrUbGSGYJfM6GJA0RQGrYZBSsqrfNiW43uscRqgFPAQQt9HfScjiHPVMt8S/oiSKi54Nx89rZrC4Wc5kEcOQrCoQGGtgRAlh+dVsPUJYkFfwkre76andDoyilO3T4Gk2/Jvcx4+Tu19vhrlcJHeP6yvTkoNjm2LGKOQEyCKhLCYRSSEel+iQkmUaIvFYnZcWL4gFYqoGL5QNvhEyl+AzYmwjpYVLRjgUsxmWtQtGycuW3BIZEUxoNiTgBB6aTHnNNMG4gocQedOA4/kkxMh7yZHQgixpgHYwUgQZpBFiu5jbSshjH5EZYnTD21GEIUte6+OAMgij7X2lTvxCSvUe2eyLbB+TDaiUTT73FeKl7OmWP0i/5zlg0RYUY57khHCrOGHoYQ4zAlY8z9aVmJKUSZlMvc32dIqcIOjSJ3T9id6KBTlGRBla75alTWPRwJE5TyZ9w5flVZlCjSIvxpX06emfZRjnYpiO/LWHYSylea5lmB+TZ/GaN3WjLeiBDLNlu1+fQxvGqvsFANV+Af3Em+dE/JbBo2G+WFleMlUtA+2RqRyVmcrqNww4J8M0MpWl/M1u9xPfsbc5XeKbmUo986anPFOhdcKeKtd/xHO/2LJ0vZbdZIVNUUj55J/yG22vAERL44tu2gVQNs5KtdY/EU04h4gW0ziuhOnsmTBtlQnT6fdtx+b2dH3bSJiOrdq2oGPlrGSBUWF/4tmW3e2k5m7WC1Bw6LMDsKdhDFelY0DHQuIi3H7CKU11xo7dVMe5xKHOfQrCd4h24FznmMe2mwLqz7er643qaqNcW3SvNI7Na/a+XvOUem3HfqBjvXq6XnNBYz/gKfdax8nQxWsf8pq7r9d8pV5z+73WcYp1ul6zzWPzmuH1U1/8dH4e3DfznPoNlOH3c++fE/XNsFdPPWi/3bWxrXm2NhhpY0sbjjTfzZAbbcgvbjJkcAdf4a34kEQzHczHOJzQmkjOv6X4CiOT4GqRaTAQRnLm64zJop5fRdl/0dW15vM+PY1PlvdfdJV3w0fgA23QPsjgYrBdW6qUpKihvYQgTqKUFwMunjh4GgppkwDigayYJWGI++Ks/prFcILwEAYvUYY3Oy8D0XBkuRJuw+wveybjLxki+r4CnxF/oPEzsmV2xJ/XEX/G++OPF8tPcbK6ygdNYPwf</diagram></mxfile>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 65 KiB

View File

@ -1 +0,0 @@
<mxfile host="Electron" modified="2022-08-21T11:07:50.753Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="Ib9RrLOXNXh0Ku75wFkV" version="13.4.5" type="device"><diagram id="FI0YRmASlENyD6fWpalO" name="Page-1">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</diagram></mxfile>

View File

@ -1 +0,0 @@
<mxfile host="Electron" modified="2022-08-21T11:08:14.529Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="B3uRwj_E4TLjh5Apj79r" version="13.4.5" type="device"><diagram id="6X82WsNQckO4uXAmfOEM" name="Page-1">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</diagram></mxfile>

View File

@ -1 +0,0 @@
<mxfile host="Electron" modified="2022-08-21T09:16:23.283Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="EC-_jFzlOcbHE9TcWb23" version="13.4.5" type="device"><diagram id="iqBQqmSUkrwKoGtfJ_L6" name="Page-1">5Vlbb5swFP41lraHVuZm4DEktFunTt1StdNeJgMOsAJmxmmS/vrZYJoLrpRJaVot6gPwHV+Ov+8c59gF1rhcXjJcZ9c0IQUwYbIE1gSYpmFAJB4SWXWI77sdkLI8UY3WwDR/IgqECp3nCWm2GnJKC57X22BMq4rEfAvDjNHFdrMZLbZnrXFKBsA0xsUQvc8TnnWoZ7pr/BPJ06yf2UB+Zylx31itpMlwQhcbkBUCa8wo5d1buRyTQpLX89L1u3jB+uwYIxXfp0N6R+qv9O4iKe68X1cl/P51XJ+pUR5xMVcLDhNSKYf5qmeB0XmVEDmQAaxgkeWcTGscS+tC6C6wjJeFMs/yohjTgrK2r5U4xEtsgTec0QeyYfHMyEJIWh4IjyVbUHanFVdxYEjjcJ2904RxstyA1LovCS0JZyvRpLc6XQ8VgxZSkizWihqWwrJNNaECsYqi9HnoNdHiRXH9D7ybA96n8LCsY+LNYh3rKPZINDsG6/YetJvOMWm3B7TfkmrOBMeH5H42IyjWcp+4fgTh8SPe9p0B9Zanob7HDs68O2AemKgQswb1FvHoz1xuiC0nZ01Lykg0MFC9bJnp7eItlc8bwspLUn3oR2tqXGkHjDsV5GAsjT44YpsWK4FIPV3vYzsqFATzM1zkadU1Lsismw/u7VLviyCqc6fD35GLgjRcyeiSvxnv3VkhL2GY57R6wdePG3i9XsAhM9qLiT6jI8+xnTfIaGQMN1NtRvuvtZf2Dm2k9CfKm5rKqLq7FjrgUrJaRU3dCQ5CB4wg8BAIXRAEwLdAiIAfAs8G4QUIxsDzriZfjHO3//QHKspw2pZqW5KKVmRHPwWpGJzEQgMi8EByn4tKb6QMZZ4kchptbKyjZ0dfcyD+AcRG7vnObyccym16mpLFPIDcN7cL9Pg5Dx5/2FdPP28jnrDPmkpxavxvFYvpwjesWFbNKM3Y2Y/q6b5Mb+xrGM2aEynQHbgH8a9WoWuJP4UKHVnvLt6tU6nQd0P+qCW6lvrh4eiacNxx+p8VU7vkH7Wa0pL/esWUd+rFlOOYb1lNaeVGJ1BNuc5b3v/EE+J8S6xf2WTVzJuJOITe32iqKZlGItFHYxDaMkt8t0VExvSHEH90hR/xpbyH7s+ZEdv7zmJwmm3TdQJ8Q76MRN76z/P8FvO0993n8bDCex+5WuCIFAGOH9IW3518J4jk90bkBe1fOybvzvPdoJqEH0SZJhZfDDzLHhyfNPu7oUt4498jT3yuL/Fb28a/QqzwLw==</diagram></mxfile>

View File

@ -1 +0,0 @@
<mxfile host="Electron" modified="2022-08-21T09:19:23.473Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="ZS5rrbMB9TszODNAfI1U" version="13.4.5" type="device"><diagram id="cOLtUwHyX4POJW0G9AIN" name="Page-1">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</diagram></mxfile>

View File

@ -1 +0,0 @@
<mxfile host="Electron" modified="2022-08-21T09:22:13.257Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="Sk4f0fHy9RuuRNTeC2J2" version="13.4.5" type="device"><diagram id="cOLtUwHyX4POJW0G9AIN" name="Page-1">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</diagram></mxfile>

View File

@ -1 +0,0 @@
<mxfile host="Electron" modified="2022-08-21T10:53:01.618Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="SiqaPX4m-Mzab2eNDyXc" version="13.4.5" type="device"><diagram id="_fwcN0szILQBgodG6fu1" name="Page-1">7Vpbb5swFP41SNtDKi6BkMc0TbtLp0ntpGmPDhiwajA1zm2/fsdgApSkTbuyZAoREvY5vp7vfDb2iWZN4/UNR2n0jfmYaqburzXrSjNNw9AdeEnJppCMx6NCEHLiq0KV4J78xkqoK+mC+DhrFBSMUUHSptBjSYI90ZAhztmqWSxgtNlrikLcEtx7iLalP4kvonJezrhSfMIkjMquHXtYaGJUllZTySLks1VNZM00a8oZE0UqXk8xldYrDVPUu96j3Y6M40QcUkF/3Axu7izv++3V4OviV/YZkXRgmEUzS0QXaspqtGJT2gAGnsqkQHMpuoxETCFrQHIVEYHvU+RJ/QpcAGSZQFwoJHXIAzQCkQRzVcdjlKI0I3ljRYmIUP8WbdhClN2UuUvOFomPfVU3gLZU04Yj84TSKaOM5yO1fITdwMvHwNkDrmkcz8XzADRqupgLvN5rSGMLDzg2ZjEWfANFVIWtcyqfNocqv6p5iK5kUc05wPuVZyqvDLdtV7hBQkH3Ghjtw2GEiQqC6B3QBSXhIYi2EfM5S38gHmKhBCkjicB8tgQbZkpWBydhiexIsFQpKQ7KunMmBItVhitzbRvNTWVfwgMWneoXtmbDbKaQN6o8PLI4F1OWAPbgbrINjDKxwpk4FPZnGNJ2hpfAHppdYe3swNqhQtGjAbrzuGClYpDlxJlAAcNO15USUqF8S6OphmBgRVuF5l19KV+oUeVLDFAJaL4yRsT3cfIervMXeNunhveo5/az3K5vCnYnXN80IX7RFayuXMFtuUIWgWX+P36+I2ajN/K1M5DGPV9Pg6+ufWS+lp/+NVfw2UJCd86EHZ8YYcuR94Q9NmEN0z02Y9vnYaASOusddt9x+HggWT1hT4SwI+NAwnZ1OjKHLV/wIsTPmq/WG/naGUb97dSJ8NU0rGNvsO3bq4v8d9aMfeudU2co9XdOp8JY2zk2Y9uXThwHGKblnfU51jy1iydrf2AgS1GyMzDgFbaUQQEezj9ISkCyfH3MDaTn0YMAxYRuiqIRpkssiIdq+iq6ALZb1xVFp1KTMB4jWtOtlF2kcqgXF/c6xQKoP4AxeyQJ2zUBKTEgiZ/DI5Xb/nIN0DXJAihf1sy9RALDuN9sdVtxjryHMA81Dp5YxBy6hTHM4VglbGWXp/GTL2iJtJmjTXTNdWuRlML4ZSSlEM95D0fHcPS+/y+NPbM12EBdXZuNNdfSJq6UuNfa2M0lI5meudrEkKp93Hiymcgp7dktaptJbUU3pRURJSFsFVcell8Qhy7xL4T8dXWEKc+97o6Qv7Fjsbf1Vy/2kK3+FJLrav+tsWZ/AA==</diagram></mxfile>

View File

@ -1 +0,0 @@
<mxfile host="Electron" modified="2022-08-21T09:21:47.551Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="aHP2Mu63pNf3qbr6ZD4a" version="13.4.5" type="device"><diagram id="mDWWXMJm0z7qVffaok21" name="Page-1">7Zhdb9owFIZ/jS875TvxZZymTFM3rULTrk1ikpQQ02AI9NfPdhycQOjKVtRNqrjAfn38cc55OE4AdrTcTWq8yr/SlJTAMtIdsG+BZZmm4fEvoexbBUK/FbK6SJWRFqbFM1GiodRNkZL1wJBRWrJiNRQTWlUkYQMN1zVthmZzWg53XeGMnAjTBJen6s8iZXmrBpav9c+kyPJuZ9OD7cgSd8bKk3WOU9r0JDsGdlRTytrWcheRUgSvi0s77+7M6OFgNanYayZs2OM2SZunBjWOtcDZw/PUunHU2di+c5ik3H/VpTXLaUYrXMZaRTXdVCkRqxq8p23uKV1x0eTiI2Fsr5KJN4xyKWfLUo2uF4QluZp/6obybE03dUJeOLvd2okD9yYq5yeELgmr99ygJiVmxXaYUKy4yA52h6nfacGPYhmKYctQCVQEO44xXILhOiNMzdIJ4I3eMbQk03JBityPFP0uRY75vilSbm5xuVEunORMZ0SEt8kLRqYrLIPX8Mo5jP68KMuIlrSWc+35nHhJIrLCarogvZHUhzPDeHW+tqRmZPdiJrpR6Awiavkqoo0ugpapanveK4C+cT55g7BfGmNzJMZeyUS0qGRBB9t72tBu4GYtEQ+5AQ/JTg/yVia/Yw9ADyAoGsgG0AWxC4IIoLDbYFZr4zuAIhAEwjgIAboFcQCQCUJTKCEXLTEdcTNX+MtHQx8EjmjwNQO7WwF2i3Or1gG1wzE4PGHs6Lc5oKCiFTlCRkm4LLKKdxOOAeE6Eukv+NUWqoFlkaayXIzhOCwh4oiqWFjuFXjrbs0ON3iKm9Oh1cfNuhZu3lnc1itc/R1uyACIE+QI6AJXNhAI7R4R7R4dEZrCP971jc5+oN8VB0e+PPstgLZQwhjAGMQc91i4OAL60K03rJApJsF8tEJ6SUBm82tUSOvMndND1vRGkL1ahQyuhqzMtqhdPgihKIwxBPw5HjkfyP5PyNr2OyJLkgw+zic/zMn+GwrvQwuvH8Yu9TZPYSTzFAnMhHInMyfTA8MveIsn4r3wMs5MjxMi0TiBxJdImBJwBCA8bPXIt5KvoJ+S6h+9mks8IyXCySKT+vHm+uLmj2ttv8cakh+5JuNP4LRSiw7QO7y5ag5PoBtB8yyHzlHptN0RDsdue8f/5F5MIu/ql+z2iV//VWHHvwA=</diagram></mxfile>

View File

@ -1 +0,0 @@
<mxfile host="Electron" modified="2022-08-21T10:24:28.581Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="bd3tHMP7a5qsqreZ313q" version="13.4.5" type="device"><diagram id="Xgdt_0h40LWhFTECzWBk" name="Page-1">7VlLb+M2EP41BLqHBHqRoo6SI6dNUaBFCuy2lwUt0bI2tOTKTOzsry9JUbYosYmDtdwssPLB5Ayf880Mh0Pgz9b724ZsVr/VOWXAc/I98G+A57mug8SfpDy3lCgKW0LRlLludCTcl1+pJjqa+ljmdGs05HXNeLkxiVldVTTjBo00Tb0zmy1rZs66IQUdEe4zwsbUj2XOV92+UHRk/EzLYtVNjWDQctaka623sl2RvN71SH4K/FlT17wtrfczyqT0OsG0/eb/wT2srKEVP6XDIvLwH3xbbfBfgfPI59s4X1/pUZ4Ie9Q71ovlz50ImvqxyqkcxAV+sluVnN5vSCa5OwG6oK34mmn29oHyTO7bEZVlXXENqYtEvWBku9W8gzRkZbyVbl204XTfI+mt3dJ6TXnzLJrsTYXRenaQ+u6IGkSatuoBBh1NJFpTisPQR1mKghbnG0TrXVK0Z5AgQq+L0IUWEQbRVCL0xyJMIxDdgCgCKQLYAdgFKQR4DiIsWTiU5W8S87JkbFazulF9/SXOaJZJ8fOmfqA9zgLDADoXAMaHkQFMEMAxML4FmHAqXAKLaiPGpSw2pDKEj/55lA4uyVrBxYLZFIufoNiymNs5/n9QwnKk/K62SoCyrYs2e8XoxhGlQv0L2GOhCCFIQxDPQIxAGoAEg8STLFnoaYRQlsQFsdMtU+y6Xake7Jwak0OK88CmMdhb+AhdRGPC6xAaSgMjizX73jW8oNrAM3vEoeAJxUurqaIM08Xy/zyeROBjwOE7Yzg8m3PFU4GBLL5VGI3wpI4sxC7AM2k3wsIS9KJJDSAUEuGDk8vAo6orOgBPkwgri0pUMyFnKuiJlG8pgrFYM9ZlnstprIphqs4QXAP5SZHGgYm0b0EaW5D2pkI6HCF998ufylsmIPaV/2wPUoH0DER+51rxeQ/S5dKzH6Q5WiD4qlucEjPfjHxgND5gL2uceFpPSV1xSIU2LCIU+uQ9YXGyo/TQVGBEFk8ZSueXqCgkSgFOlDnNpdeUcanwi2eOQqH8WY829b0GmKz3OrXfxECGAyDRqdeJqXDsrogGkIcoEoE4BQn8AeRrQAYn3wsnA9KStZCRiohI1L0w8YHw4G0QE5/5FPv+8YOO5fp4WfzGqZFr9X0nseSqbsqvgkZYh5gtuHSnyHJ5A1sMx7YYXDK2dG0pmrEpQnmZSGKQzmWIifHvtFnf0kq531SeoOJAxcL9Ol2L6P2rgndZ5AMT+UMM1EP+ECtdBvpvzwKJpTlt/qdX+gA8p5cLWpJ1yZ7bPmIgst4opu/LFMuKsicqsRxxzEGOCSUPbvYDXrtKyazqZk2Yyd5pWUp+0K5TMRnlQpuuxFazsiqs/aXKXmntk2ytgAa7FMpV6eGd3tIUkzek2i7FoN3wQp+7Bru6yc3Z+93zcrthRIutrFjZ67lkNeH9EYe5tbubX91rdGquTBvmW7LXpk2d49KAzPSKa7EO17VYhz+ZdViSXdLbiZs2+uHbhgGKmau0+Tbb2805XNvsy6fi75vPT/uPebRjD7vic7CwvYrJIwzKRLO8H8zUjUG9OyShPrKi+I48kVv5XtlZzqKxOsHTU9zilikuJyozEyfq0UNP9UVMpZ5Gr7PqHWqT1AtGFpQlJHsoFH04+ctxcaJ+akxOeFlXtkDLooYjnbNo5gtZ80GgbMncuaEtUA67NPobNFFUj2+/itd7QvfTfwE=</diagram></mxfile>

View File

@ -1 +0,0 @@
<mxfile host="Electron" modified="2022-08-21T10:24:46.856Z" agent="5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.4.5 Chrome/83.0.4103.122 Electron/9.1.0 Safari/537.36" etag="LR0y7CYq0n5yvvFi4cRd" version="13.4.5" type="device"><diagram id="a2K6uZTu2fNJCbd-G3UG" name="Page-1">7Vnfc6M2EP5rNNN7SAYQEuIRHJI27c30xje9mb7JIGwuAhxMYuf++kpC2MjoLs7UuLmZ2g+GXf38vt3Vag3grNzdNXS9+lhnjAPPyXYA3gDPc10Hix8peekkYRh0gmVTZLrRQTAvvjEtdLT0qcjYxmjY1jVvi7UpTOuqYmlryGjT1FuzWV5zc9Y1XbKRYJ5SPpZ+KbJ21e8LhwfFr6xYrvqpMfI7TUn71normxXN6u1ABBMAZ01dt91TuZsxLtHrgen63X5Hu19Zw6r2lA7k41/+Y5bMH2FVovnHB4i/fL1y9WqfKX/SW9arbV96DJr6qcqYHMUFMN6uipbN1zSV2q1gXchWbcm1evPA2lRu3BEveV21mlMXi/clp5uN1u3hkC/jvejtPbOmZbuBSO/tjtUla5sX0WRnWow2tD3s2wNtCGvZasAYcrSQalNZ7oc+gCkeNJ5vwNa7JLRnQBDj1yF0kQVCP5wKQjiGMAlBeAPCECQYEAcQFyQIkFsQEqkigXz+VzDnBeezmteN6gtzkrI0lfC3Tf3ABpoFQT5yLkFMYBIDfTQmBlqICabixRY1MG8lFmtaGeDjxycZ4eK0Ay4Syma5+AWJLYu5ncPvBwWWI/G72igAZVsXr3dK0Y8jnpbqV9AeCUMIQBKAaAYiDBIfxATEnlTJh4FFCGOJXRA5/TLFrruV6sHOaTEZYiTzbRZDvAXE+CKuHFwjw2YQtNmM17e6iNWgMwfEY9wpI7nVU3FK2CL/L08nkfiYLuyMY6tni61kKjKwJbQKnxGB1JEPkQvITLqNcLAY/9CjjigUiLRHB5fBR1VX7Ig8LaK8WFbiNRU4MyGPJb6FSMYirSiLLJPTWA3DNJ1jcg3mJ2Wa+CbT0MI0sTDtTcV0MGL6/rfPKljGIIIqfHbnqGB6BkLYR1Zy3nM0zz37OZrhBUavRsUpOYPm+YrCcay8rHOSaSMlc8UZFdi4CHEA6Xvi4uRA6eGpyAgtkTKQwS9WSUiYABIrd7qVUVOmpSIunjkJRfJrPdrU5zXC5PugU/eZmMjjpBWfepuYisf+hmgQuU8iMYgSEKP/iXyNSP/ka+FkRLoWIkWmIjISdS2MIRARvEtiojOfYj8/f8ix3AQuy9+4MnKtPj9JLrmqm+KbkFHeM2ZLLt0pilzekS8GY1/0L5lburYKzdgVkbxMxBFIbmWKScifrCnvWKXCbyJPUHGgEhF+nb5F+P5Nwbss877J/D4HGjC/z5UuQ73tOv+2IpBYmtOVfwZPH4DnDEpBOS0L/tL1EQPRcq2UEMoKy4rxZya5HGnMQQ71JA+td0e6bpVSWdVNSbmp3mospd7v1qmUnLXCmq7EVtOiWlr7S5O90tYn1doADXUhjKvSwzuDpSll29Bqk4tB++GFPfcNtnWTmbMPu2fFZs2phq2oeDHomfOatsMRj0tr9ze/u9fBqaUy7ZhvKV6f45qAzYKKa/EH17X4AzyDP+zi+R83Zf0JJyvyd1C1n7KgvLIlJSLuIVmclEnlTKWZqlYdBzrOhdE9faZ38k+uHu5FY/Wc08ui4moiMlp1nY9iVSjXU30VU6n/067T6h2GV2kYnC4Yj2n6sFTy48l/nEzF6qvGbGlb1JXtdLbE5ZHRWUzz+3aITsiuAlt2ta/QvsESxevhD0OlG/zvCpN/AA==</diagram></mxfile>

Some files were not shown because too many files have changed in this diff Show More