Using ES6 modules in KWin Scripts
Mikhail Zolotukhin <[email protected]> Sun, 29 Aug 2021 12:33:01 +0000
| Newsgroups | gmane.comp.kde.devel.kwin,gmane.comp.kde.devel.general |
|---|---|
| Message-ID | <5NVxI-9k9y5wvmHXrDb-W301gJX8zy9p4Vml5BnaojReUL-kKjJpoEKCOL6uhUDepjqDriXJpkhukP35q2qo5yUzRc8bjqyOYDHLhiCSnRg=@genda.life> |
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------e95737cdb301f4f0f066fabe959671efc4cab98f879197c1466ce60cd0d7e8c7
Content-Type: multipart/mixed;boundary=---------------------534258b0816b81947b0dff9241c3987a
-----------------------534258b0816b81947b0dff9241c3987a
Content-Type: multipart/alternative;boundary=---------------------c438e5d03fe71a216c4db46d608b4a47
-----------------------c438e5d03fe71a216c4db46d608b4a47
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;charset=utf-8
Hello,
I want to develop a KWin Script using QML and TypeScript. Unfotunately I c=
annot get it to work, so that it can use the feature intoduced in ES6 stan=
dard - modules. To test this with minimal working example I did the follow=
ing: I created main.qml with the following content:
```import QtQuick 2.0
import "../code/script.js" as K
Item {
=C2=A0=C2=A0=C2=A0 id: scriptRoot
=C2=A0=C2=A0=C2=A0 Component.onCompleted: {
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 console.log("Starting the scrip=
t");
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 K.main();
=C2=A0=C2=A0=C2=A0 }
}
```
Also I have two javascript files: script.js:
```import modu from "./mod";
function main() {
=C2=A0 console.log("Hello from main script!");
=C2=A0 modu();
}
```
mod.js:
```export default function modu() {
=C2=A0 console.log("Hello from module!");
}
```
Unfortunately, I cannot get this setup to work. In KWin logs, I have nothi=
ng (No string is printed). However, if I remove the js import from QML, at=
least the "Starting the script" is printed.
From what I understand, QML Javascript Engine should support modules (and =
ES7) according to the documentation:
> The QML runtime implements the 7th edition of the standard
I would like to ask a help from the experts of KWin: is this a KWin script=
ing limitation? Why no logs are printed at all? What can I do to create a =
KWin script with ES6 modules?
=C2=A0
Best Regards,
Mikhail Zolotukhin
-----------------------c438e5d03fe71a216c4db46d608b4a47
Content-Type: multipart/related;boundary=---------------------70ea342e6198423cba952b308224cc3b
-----------------------70ea342e6198423cba952b308224cc3b
Content-Type: text/html;charset=utf-8
Content-Transfer-Encoding: base64
PGRpdj5IZWxsbyw8YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdiBjbGFzcz0icHJvdG9ubWFp
bF9zaWduYXR1cmVfYmxvY2siPjxkaXYgY2xhc3M9InByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2Nr
LXByb3RvbiBwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1lbXB0eSI+SSB3YW50IHRvIGRldmVs
b3AgYSBLV2luIFNjcmlwdCB1c2luZyBRTUwgYW5kIFR5cGVTY3JpcHQuIFVuZm90dW5hdGVseSBJ
IGNhbm5vdCBnZXQgaXQgdG8gd29yaywgc28gdGhhdCBpdCBjYW4gdXNlIHRoZSBmZWF0dXJlIGlu
dG9kdWNlZCBpbiBFUzYgc3RhbmRhcmQgLSBtb2R1bGVzLiBUbyB0ZXN0IHRoaXMgd2l0aCBtaW5p
bWFsIHdvcmtpbmcgZXhhbXBsZSBJIGRpZCB0aGUgZm9sbG93aW5nOiBJIGNyZWF0ZWQgbWFpbi5x
bWwgd2l0aCB0aGUgZm9sbG93aW5nIGNvbnRlbnQ6PC9kaXY+PGRpdiBjbGFzcz0icHJvdG9ubWFp
bF9zaWduYXR1cmVfYmxvY2stcHJvdG9uIHByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLWVtcHR5
Ij48L2Rpdj48ZGl2IGNsYXNzPSJwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1wcm90b24gcHJv
dG9ubWFpbF9zaWduYXR1cmVfYmxvY2stZW1wdHkiPjwvZGl2PjxkaXYgY2xhc3M9InByb3Rvbm1h
aWxfc2lnbmF0dXJlX2Jsb2NrLXByb3RvbiBwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1lbXB0
eSI+PC9kaXY+PGRpdiBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stcHJvdG9uIHBy
b3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLWVtcHR5Ij48c3BhbiBjbGFzcz0iZm9udCIgc3R5bGU9
ImZvbnQtZmFtaWx5OiBtZW5sbywgY29uc29sYXMsIGNvdXJpZXIgbmV3LCBtb25vc3BhY2UsIHNh
bnMtc2VyaWY7Ij5gYGA8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1
cmVfYmxvY2stcHJvdG9uIHByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLWVtcHR5Ij48c3BhbiBj
bGFzcz0iZm9udCIgc3R5bGU9ImZvbnQtZmFtaWx5OiBtZW5sbywgY29uc29sYXMsIGNvdXJpZXIg
bmV3LCBtb25vc3BhY2UsIHNhbnMtc2VyaWY7Ij5pbXBvcnQgUXRRdWljayAyLjA8YnI+PC9zcGFu
PjwvZGl2PjwvZGl2PjxkaXY+PHNwYW4gY2xhc3M9ImZvbnQiIHN0eWxlPSJmb250LWZhbWlseTog
bWVubG8sIGNvbnNvbGFzLCBjb3VyaWVyIG5ldywgbW9ub3NwYWNlLCBzYW5zLXNlcmlmOyI+aW1w
b3J0ICIuLi9jb2RlL3NjcmlwdC5qcyIgYXMgSzxicj48L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBj
bGFzcz0iZm9udCIgc3R5bGU9ImZvbnQtZmFtaWx5OiBtZW5sbywgY29uc29sYXMsIGNvdXJpZXIg
bmV3LCBtb25vc3BhY2UsIHNhbnMtc2VyaWY7Ij48YnI+PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4g
Y2xhc3M9ImZvbnQiIHN0eWxlPSJmb250LWZhbWlseTogbWVubG8sIGNvbnNvbGFzLCBjb3VyaWVy
IG5ldywgbW9ub3NwYWNlLCBzYW5zLXNlcmlmOyI+SXRlbSB7PGJyPjwvc3Bhbj48L2Rpdj48ZGl2
PjxzcGFuIGNsYXNzPSJmb250IiBzdHlsZT0iZm9udC1mYW1pbHk6IG1lbmxvLCBjb25zb2xhcywg
Y291cmllciBuZXcsIG1vbm9zcGFjZSwgc2Fucy1zZXJpZjsiPiZuYnNwOyZuYnNwOyZuYnNwOyBp
ZDogc2NyaXB0Um9vdDxicj48L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBjbGFzcz0iZm9udCIgc3R5
bGU9ImZvbnQtZmFtaWx5OiBtZW5sbywgY29uc29sYXMsIGNvdXJpZXIgbmV3LCBtb25vc3BhY2Us
IHNhbnMtc2VyaWY7Ij4mbmJzcDsmbmJzcDsmbmJzcDsgQ29tcG9uZW50Lm9uQ29tcGxldGVkOiB7
PGJyPjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIGNsYXNzPSJmb250IiBzdHlsZT0iZm9udC1mYW1p
bHk6IG1lbmxvLCBjb25zb2xhcywgY291cmllciBuZXcsIG1vbm9zcGFjZSwgc2Fucy1zZXJpZjsi
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBjb25zb2xlLmxvZygi
U3RhcnRpbmcgdGhlIHNjcmlwdCIpOzxicj48L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBjbGFzcz0i
Zm9udCIgc3R5bGU9ImZvbnQtZmFtaWx5OiBtZW5sbywgY29uc29sYXMsIGNvdXJpZXIgbmV3LCBt
b25vc3BhY2UsIHNhbnMtc2VyaWY7Ij4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsgSy5tYWluKCk7PGJyPjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIGNsYXNzPSJmb250
IiBzdHlsZT0iZm9udC1mYW1pbHk6IG1lbmxvLCBjb25zb2xhcywgY291cmllciBuZXcsIG1vbm9z
cGFjZSwgc2Fucy1zZXJpZjsiPiZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPjwvc3Bhbj48L2Rpdj48
ZGl2PjxzcGFuIGNsYXNzPSJmb250IiBzdHlsZT0iZm9udC1mYW1pbHk6IG1lbmxvLCBjb25zb2xh
cywgY291cmllciBuZXcsIG1vbm9zcGFjZSwgc2Fucy1zZXJpZjsiPn08YnI+PC9zcGFuPjwvZGl2
PjxkaXYgY2xhc3M9InByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrIj48ZGl2IGNsYXNzPSJwcm90
b25tYWlsX3NpZ25hdHVyZV9ibG9jay1wcm90b24gcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2st
ZW1wdHkiPjwvZGl2PjxkaXYgY2xhc3M9InByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLXByb3Rv
biBwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1lbXB0eSI+PHNwYW4gY2xhc3M9ImZvbnQiIHN0
eWxlPSJmb250LWZhbWlseTogbWVubG8sIGNvbnNvbGFzLCBjb3VyaWVyIG5ldywgbW9ub3NwYWNl
LCBzYW5zLXNlcmlmOyI+YGBgPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InByb3Rvbm1haWxfc2ln
bmF0dXJlX2Jsb2NrLXByb3RvbiBwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1lbXB0eSI+PC9k
aXY+PGRpdiBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stcHJvdG9uIHByb3Rvbm1h
aWxfc2lnbmF0dXJlX2Jsb2NrLWVtcHR5Ij5BbHNvIEkgaGF2ZSB0d28gamF2YXNjcmlwdCBmaWxl
czogc2NyaXB0LmpzOjwvZGl2PjxkaXYgY2xhc3M9InByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2Nr
LXByb3RvbiBwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1lbXB0eSI+PC9kaXY+PGRpdiBjbGFz
cz0icHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stcHJvdG9uIHByb3Rvbm1haWxfc2lnbmF0dXJl
X2Jsb2NrLWVtcHR5Ij48c3BhbiBjbGFzcz0iZm9udCIgc3R5bGU9ImZvbnQtZmFtaWx5OiBtZW5s
bywgY29uc29sYXMsIGNvdXJpZXIgbmV3LCBtb25vc3BhY2UsIHNhbnMtc2VyaWY7Ij5gYGA8L3Nw
YW4+PC9kaXY+PGRpdiBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stcHJvdG9uIHBy
b3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLWVtcHR5Ij48c3BhbiBjbGFzcz0iZm9udCIgc3R5bGU9
ImZvbnQtZmFtaWx5OiBtZW5sbywgY29uc29sYXMsIGNvdXJpZXIgbmV3LCBtb25vc3BhY2UsIHNh
bnMtc2VyaWY7Ij5pbXBvcnQgbW9kdSBmcm9tICIuL21vZCI7PGJyPjwvc3Bhbj48L2Rpdj48L2Rp
dj48ZGl2PjxzcGFuIGNsYXNzPSJmb250IiBzdHlsZT0iZm9udC1mYW1pbHk6IG1lbmxvLCBjb25z
b2xhcywgY291cmllciBuZXcsIG1vbm9zcGFjZSwgc2Fucy1zZXJpZjsiPjxicj48L3NwYW4+PC9k
aXY+PGRpdj48c3BhbiBjbGFzcz0iZm9udCIgc3R5bGU9ImZvbnQtZmFtaWx5OiBtZW5sbywgY29u
c29sYXMsIGNvdXJpZXIgbmV3LCBtb25vc3BhY2UsIHNhbnMtc2VyaWY7Ij5mdW5jdGlvbiBtYWlu
KCkgezxicj48L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBjbGFzcz0iZm9udCIgc3R5bGU9ImZvbnQt
ZmFtaWx5OiBtZW5sbywgY29uc29sYXMsIGNvdXJpZXIgbmV3LCBtb25vc3BhY2UsIHNhbnMtc2Vy
aWY7Ij4mbmJzcDsgY29uc29sZS5sb2coIkhlbGxvIGZyb20gbWFpbiBzY3JpcHQhIik7PGJyPjwv
c3Bhbj48L2Rpdj48ZGl2PjxzcGFuIGNsYXNzPSJmb250IiBzdHlsZT0iZm9udC1mYW1pbHk6IG1l
bmxvLCBjb25zb2xhcywgY291cmllciBuZXcsIG1vbm9zcGFjZSwgc2Fucy1zZXJpZjsiPiZuYnNw
OyBtb2R1KCk7PGJyPjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIGNsYXNzPSJmb250IiBzdHlsZT0i
Zm9udC1mYW1pbHk6IG1lbmxvLCBjb25zb2xhcywgY291cmllciBuZXcsIG1vbm9zcGFjZSwgc2Fu
cy1zZXJpZjsiPn08YnI+PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4gY2xhc3M9ImZvbnQiIHN0eWxl
PSJmb250LWZhbWlseTogbWVubG8sIGNvbnNvbGFzLCBjb3VyaWVyIG5ldywgbW9ub3NwYWNlLCBz
YW5zLXNlcmlmOyI+PC9zcGFuPjxicj48L2Rpdj48ZGl2IGNsYXNzPSJwcm90b25tYWlsX3NpZ25h
dHVyZV9ibG9jayI+PGRpdiBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stcHJvdG9u
IHByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLWVtcHR5Ij48L2Rpdj48ZGl2IGNsYXNzPSJwcm90
b25tYWlsX3NpZ25hdHVyZV9ibG9jay1wcm90b24gcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2st
ZW1wdHkiPjxzcGFuIGNsYXNzPSJmb250IiBzdHlsZT0iZm9udC1mYW1pbHk6IG1lbmxvLCBjb25z
b2xhcywgY291cmllciBuZXcsIG1vbm9zcGFjZSwgc2Fucy1zZXJpZjsiPjwvc3Bhbj48L2Rpdj48
ZGl2IGNsYXNzPSJwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1wcm90b24gcHJvdG9ubWFpbF9z
aWduYXR1cmVfYmxvY2stZW1wdHkiPjwvZGl2PjxkaXYgY2xhc3M9InByb3Rvbm1haWxfc2lnbmF0
dXJlX2Jsb2NrLXByb3RvbiBwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1lbXB0eSI+PHNwYW4g
Y2xhc3M9ImZvbnQiIHN0eWxlPSJmb250LWZhbWlseTogbWVubG8sIGNvbnNvbGFzLCBjb3VyaWVy
IG5ldywgbW9ub3NwYWNlLCBzYW5zLXNlcmlmOyI+YGBgPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9
InByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLXByb3RvbiBwcm90b25tYWlsX3NpZ25hdHVyZV9i
bG9jay1lbXB0eSI+PC9kaXY+PGRpdiBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2st
cHJvdG9uIHByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLWVtcHR5Ij5tb2QuanM6PC9kaXY+PGRp
diBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stcHJvdG9uIHByb3Rvbm1haWxfc2ln
bmF0dXJlX2Jsb2NrLWVtcHR5Ij48L2Rpdj48ZGl2IGNsYXNzPSJwcm90b25tYWlsX3NpZ25hdHVy
ZV9ibG9jay1wcm90b24gcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stZW1wdHkiPjxzcGFuIGNs
YXNzPSJmb250IiBzdHlsZT0iZm9udC1mYW1pbHk6IG1lbmxvLCBjb25zb2xhcywgY291cmllciBu
ZXcsIG1vbm9zcGFjZSwgc2Fucy1zZXJpZjsiPmBgYDwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJw
cm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1wcm90b24gcHJvdG9ubWFpbF9zaWduYXR1cmVfYmxv
Y2stZW1wdHkiPjxzcGFuIGNsYXNzPSJmb250IiBzdHlsZT0iZm9udC1mYW1pbHk6IG1lbmxvLCBj
b25zb2xhcywgY291cmllciBuZXcsIG1vbm9zcGFjZSwgc2Fucy1zZXJpZjsiPmV4cG9ydCBkZWZh
dWx0IGZ1bmN0aW9uIG1vZHUoKSB7PGJyPjwvc3Bhbj48L2Rpdj48L2Rpdj48ZGl2PjxzcGFuIGNs
YXNzPSJmb250IiBzdHlsZT0iZm9udC1mYW1pbHk6IG1lbmxvLCBjb25zb2xhcywgY291cmllciBu
ZXcsIG1vbm9zcGFjZSwgc2Fucy1zZXJpZjsiPiZuYnNwOyBjb25zb2xlLmxvZygiSGVsbG8gZnJv
bSBtb2R1bGUhIik7PGJyPjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIGNsYXNzPSJmb250IiBzdHls
ZT0iZm9udC1mYW1pbHk6IG1lbmxvLCBjb25zb2xhcywgY291cmllciBuZXcsIG1vbm9zcGFjZSwg
c2Fucy1zZXJpZjsiPn08YnI+PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4gY2xhc3M9ImZvbnQiIHN0
eWxlPSJmb250LWZhbWlseTogbWVubG8sIGNvbnNvbGFzLCBjb3VyaWVyIG5ldywgbW9ub3NwYWNl
LCBzYW5zLXNlcmlmOyI+YGBgPC9zcGFuPjxicj48L2Rpdj48ZGl2PlVuZm9ydHVuYXRlbHksIEkg
Y2Fubm90IGdldCB0aGlzIHNldHVwIHRvIHdvcmsuIEluIEtXaW4gbG9ncywgSSBoYXZlIG5vdGhp
bmcgKE5vIHN0cmluZyBpcyBwcmludGVkKS4gSG93ZXZlciwgaWYgSSByZW1vdmUgdGhlIGpzIGlt
cG9ydCBmcm9tIFFNTCwgYXQgbGVhc3QgdGhlICJTdGFydGluZyB0aGUgc2NyaXB0IiBpcyBwcmlu
dGVkLiA8YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5Gcm9tIHdoYXQgSSB1bmRlcnN0YW5k
LCBRTUwgSmF2YXNjcmlwdCBFbmdpbmUgc2hvdWxkIHN1cHBvcnQgbW9kdWxlcyAoYW5kIEVTNykg
PGEgaHJlZj0iaHR0cHM6Ly9kb2MucXQuaW8vcXQtNS9xdHFtbC1qYXZhc2NyaXB0LWhvc3RlbnZp
cm9ubWVudC5odG1sI2NvbW1vbi1iYXNlIiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9Imh0dHBzOi8v
ZG9jLnF0LmlvL3F0LTUvcXRxbWwtamF2YXNjcmlwdC1ob3N0ZW52aXJvbm1lbnQuaHRtbCNjb21t
b24tYmFzZSIgcmVsPSJub2ZvbGxvdyI+YWNjb3JkaW5nIHRvIHRoZSBkb2N1bWVudGF0aW9uPC9h
Pjo8YnI+PC9kaXY+PGJsb2NrcXVvdGU+PGRpdj5UaGUgUU1MIHJ1bnRpbWUgaW1wbGVtZW50cyB0
aGUgN3RoIGVkaXRpb24gb2YgdGhlIHN0YW5kYXJkPGJyPjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2
Pjxicj48L2Rpdj48ZGl2Pkkgd291bGQgbGlrZSB0byBhc2sgYSBoZWxwIGZyb20gdGhlIGV4cGVy
dHMgb2YgS1dpbjogaXMgdGhpcyBhIEtXaW4gc2NyaXB0aW5nIGxpbWl0YXRpb24/IFdoeSBubyBs
b2dzIGFyZSBwcmludGVkIGF0IGFsbD8gV2hhdCBjYW4gSSBkbyB0byBjcmVhdGUgYSBLV2luIHNj
cmlwdCB3aXRoIEVTNiBtb2R1bGVzPzxicj48L2Rpdj48ZGl2PiZuYnNwOzxicj48L2Rpdj48ZGl2
PkJlc3QgUmVnYXJkcyw8YnI+PC9kaXY+PGRpdj5NaWtoYWlsIFpvbG90dWtoaW48YnI+PC9kaXY+
-----------------------70ea342e6198423cba952b308224cc3b--
-----------------------c438e5d03fe71a216c4db46d608b4a47--
-----------------------534258b0816b81947b0dff9241c3987a
Content-Type: application/pgp-keys; filename="publickey - [email protected] - 0x2B64AF62.asc"; name="publickey - [email protected] - 0x2B64AF62.asc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="publickey - [email protected] - 0x2B64AF62.asc"; name="publickey - [email protected] - 0x2B64AF62.asc"
LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tDQpWZXJzaW9uOiBPcGVuUEdQLmpz
IHY0LjEwLjEwDQpDb21tZW50OiBodHRwczovL29wZW5wZ3Bqcy5vcmcNCg0KeGpNRVlSamZIaFlK
S3dZQkJBSGFSdzhCQVFkQUgvZUNTTXJuQWtVUTM0MWR5NnRTMG8wRmFXWWJTQVJRDQp0YW5POVVo
M01GL05JVzFoYVd4QVoyVnVaR0V1YkdsbVpTQThiV0ZwYkVCblpXNWtZUzVzYVdabFBzS1ANCkJC
QVdDZ0FnQlFKaEdReHNCZ3NKQndnREFnUVZDQW9DQkJZQ0FRQUNHUUVDR3dNQ0hnRUFJUWtRWnpM
TQ0KMzhjWXUyY1dJUVFyWks5aVR1MlJqWVc5bUZKbk1zemZ4eGk3WjZZaEFQNGxiMCt2bEZXVGdu
dkJtZ2ZBDQp4ZjUwY3g1R3FvN0puMjNpbHB6T3BQVzlpUUQvVGpvM1AxQUFuVUh3MUFVUVB4OFhy
MTAwR2MxOWxhTlQNCmZ4UTFwSEdzZ3dET09BUmhHTjhlRWdvckJnRUVBWmRWQVFVQkFRZEFSTWFV
cjVFeVk3R0R1SVVubDVpLw0KS0pMUUJpLy9wLzFwN2xSZ2Ntb2hBa0VEQVFnSHduZ0VHQllJQUFr
RkFtRVpER3dDR3d3QUlRa1FaekxNDQozOGNZdTJjV0lRUXJaSzlpVHUyUmpZVzltRkpuTXN6Znh4
aTdaNmhWQVFDTlJsOHdwa0VnYUtXalRxWGUNClp4cjR6VDFSSVlDY3ZaeFJPUkRGeXJmOWtBRC9T
aVlWUk8vRy9rYlYrYlAxR0c4em9SRkZHTnd0eGw2TA0KdnVnTlhVczhDUVE9DQo9MUw5eA0KLS0t
LS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLQ0K
-----------------------534258b0816b81947b0dff9241c3987a--
--------e95737cdb301f4f0f066fabe959671efc4cab98f879197c1466ce60cd0d7e8c7
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"
-----BEGIN PGP SIGNATURE-----
Version: ProtonMail
wnUEARYKAAYFAmErfm0AIQkQZzLM38cYu2cWIQQrZK9iTu2RjYW9mFJnMszf
xxi7Z14qAP0WDAefEv3DN9k8qjhc2vpF2XTOankj9zqhe3eWeij2yQEAuX12
pwcGRptVu4Bd5bSPeAefDKt7B+NLn4dCVMRJ8w8=
=tVr1
-----END PGP SIGNATURE-----
--------e95737cdb301f4f0f066fabe959671efc4cab98f879197c1466ce60cd0d7e8c7--