Re: [patch] added SCI_SETTABDRAWMODE(SCTD_CONTROLCHAR)

"'Robin Haberkorn' via scintilla-interest" <[email protected]> Wed, 25 Feb 2026 21:42:47 +0000
Newsgroups gmane.comp.lib.scintilla.devel
Message-ID <[email protected]>
--9c7d99a4a2ae20e5b600d0328b9f966573006414de08781a013d20afb7a9
Content-Type: multipart/mixed;
 boundary=72dd6dcec541945267800eea14f67d576548b8fcfede182719a1f375d071

--72dd6dcec541945267800eea14f67d576548b8fcfede182719a1f375d071
Content-Type: multipart/alternative;
 boundary=4d4faf4a3dfe442edc82ef0a4b58a1a6fd17c1f928b8717e1b9c828f6130

--4d4faf4a3dfe442edc82ef0a4b58a1a6fd17c1f928b8717e1b9c828f6130
Content-Disposition: inline
Content-Type: text/plain; charset="UTF-8"

On Wed Feb 18, 2026 at 23:05:01 GMT +01, Neil wrote:
> The issue is that changing the property (`case Message::SetTabDrawMode:`) 
> does not invalidate the layout so the cached positions are retained.
>
> It needs to call something like `InvalidateStyleRedraw` when there is a 
> real change to the tab draw mode. `SetAppearance` may be useful.
>
> This invalidation wasn't needed before as LongArrow versus StrikeOut are 
> just cosmetic modes with no position change.
>

Here is a version that calls SetAppearance().
But honestly I couldn't provoke any issue with the first version
of the patch either. I modified bait.c to allow toggling through
the tab draw mode by pressing F1 (see attachment).

@Neil Did you test with a GTK build of SciTE?

Best regards,
Robin

-- 
You received this message because you are subscribed to the Google Groups "scintilla-interest" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To view this discussion visit https://groups.google.com/d/msgid/scintilla-interest/DGODCD8X4E3O.1V57JL6HR602W%40googlemail.com.

--4d4faf4a3dfe442edc82ef0a4b58a1a6fd17c1f928b8717e1b9c828f6130--

--72dd6dcec541945267800eea14f67d576548b8fcfede182719a1f375d071
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename=v2-0001-added-SCI_SETTABDRAWMODE-SCTD_CONTROLCHAR.patch
Content-Type: text/x-patch; charset=utf-8;
 name=v2-0001-added-SCI_SETTABDRAWMODE-SCTD_CONTROLCHAR.patch

RnJvbSA3NTRiNThjMWJlZjY0Zjg5YjMwYzNkN2IwY2NjZTA4YjhkYWNkNmMyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JpbiBIYWJlcmtvcm4gPHJoYWJlcmtvcm5AZm1zYncuZGU+
CkRhdGU6IFN1biwgMiBOb3YgMjAyNSAyMzo1MDowOCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggdjJd
IGFkZGVkIFNDSV9TRVRUQUJEUkFXTU9ERShTQ1REX0NPTlRST0xDSEFSKQoKQWxsb3dzIHJlbmRl
cmluZyB0YWJzIChBU0NJSSA5KSB3aXRoIGNoYXJhY3RlciByZXByZXNlbnRhdGlvbnMgbGlrZSBh
bnkgb3RoZXIKY29udHJvbCBjaGFyYWN0ZXIuCi0tLQogZG9jL1NjaW50aWxsYURvYy5odG1sICAg
IHwgMTAgKysrKysrKysrKwogaW5jbHVkZS9TY2ludGlsbGEuaCAgICAgIHwgIDEgKwogaW5jbHVk
ZS9TY2ludGlsbGEuaWZhY2UgIHwgIDIgKysKIGluY2x1ZGUvU2NpbnRpbGxhVHlwZXMuaCB8ICAx
ICsKIHNyYy9FZGl0Vmlldy5jeHggICAgICAgICB8IDEwICsrKysrLS0tLS0KIHNyYy9FZGl0b3Iu
Y3h4ICAgICAgICAgICB8ICAyICstCiA2IGZpbGVzIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyks
IDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL1NjaW50aWxsYURvYy5odG1sIGIvZG9j
L1NjaW50aWxsYURvYy5odG1sCmluZGV4IGQ0MzIwNDNmNi4uMzE4OWEwMDFhIDEwMDY0NAotLS0g
YS9kb2MvU2NpbnRpbGxhRG9jLmh0bWwKKysrIGIvZG9jL1NjaW50aWxsYURvYy5odG1sCkBAIC0y
ODkwLDYgKzI4OTAsMTYgQEAgc3RydWN0IFNjaV9UZXh0VG9GaW5kRnVsbCB7CiAKICAgICAgICAg
ICA8dGQ+QSBob3Jpem9udGFsIGxpbmUgc3RyZXRjaGluZyB1bnRpbCB0aGUgdGFic3RvcC48L3Rk
PgogICAgICAgICA8L3RyPgorCisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGggYWxpZ249Imxl
ZnQiPjxjb2RlPlNDVERfQ09OVFJPTENIQVI8L2NvZGU+PC90aD4KKworICAgICAgICAgIDx0ZD4y
PC90ZD4KKworICAgICAgICAgIDx0ZD5XaWxsIGJlIGRyYXduIGFzIGEgY29udHJvbCBjb2RlIGFj
Y29yZGluZyB0byB0aGUgY29uZmlndXJlZAorICAgICAgICAgIDxhIGhyZWY9IiNDaGFyYWN0ZXJS
ZXByZXNlbnRhdGlvbnMiPmNoYXJhY3RlciByZXByZXNlbnRhdGlvbjwvYT4KKyAgICAgICAgICB3
aXRob3V0IGFueSBpbmRlbnRhdGlvbi48L3RkPgorICAgICAgICA8L3RyPgogICAgICAgPC90Ym9k
eT4KICAgICA8L3RhYmxlPgogCmRpZmYgLS1naXQgYS9pbmNsdWRlL1NjaW50aWxsYS5oIGIvaW5j
bHVkZS9TY2ludGlsbGEuaAppbmRleCBiNjc4NjA5N2UuLjk0YTY2ZDRmOCAxMDA2NDQKLS0tIGEv
aW5jbHVkZS9TY2ludGlsbGEuaAorKysgYi9pbmNsdWRlL1NjaW50aWxsYS5oCkBAIC03OCw2ICs3
OCw3IEBAIHR5cGVkZWYgc3B0cl90ICgqU2NpRm5EaXJlY3RTdGF0dXMpKHNwdHJfdCBwdHIsIHVu
c2lnbmVkIGludCBpTWVzc2FnZSwgdXB0cl90IHdQCiAjZGVmaW5lIFNDSV9TRVRWSUVXV1MgMjAy
MQogI2RlZmluZSBTQ1REX0xPTkdBUlJPVyAwCiAjZGVmaW5lIFNDVERfU1RSSUtFT1VUIDEKKyNk
ZWZpbmUgU0NURF9DT05UUk9MQ0hBUiAyCiAjZGVmaW5lIFNDSV9HRVRUQUJEUkFXTU9ERSAyNjk4
CiAjZGVmaW5lIFNDSV9TRVRUQUJEUkFXTU9ERSAyNjk5CiAjZGVmaW5lIFNDSV9QT1NJVElPTkZS
T01QT0lOVCAyMDIyCmRpZmYgLS1naXQgYS9pbmNsdWRlL1NjaW50aWxsYS5pZmFjZSBiL2luY2x1
ZGUvU2NpbnRpbGxhLmlmYWNlCmluZGV4IDYyNjJmN2MxYi4uZDk4YWM4MzU4IDEwMDY0NAotLS0g
YS9pbmNsdWRlL1NjaW50aWxsYS5pZmFjZQorKysgYi9pbmNsdWRlL1NjaW50aWxsYS5pZmFjZQpA
QCAtMTk2LDkgKzE5NiwxMSBAQCBzZXQgdm9pZCBTZXRWaWV3V1M9MjAyMShXaGl0ZVNwYWNlIHZp
ZXdXUywpCiBlbnUgVGFiRHJhd01vZGU9U0NURF8KIHZhbCBTQ1REX0xPTkdBUlJPVz0wCiB2YWwg
U0NURF9TVFJJS0VPVVQ9MQordmFsIFNDVERfQ09OVFJPTENIQVI9MgogCiBhbGkgU0NURF9MT05H
QVJST1c9TE9OR19BUlJPVwogYWxpIFNDVERfU1RSSUtFT1VUPVNUUklLRV9PVVQKK2FsaSBTQ1RE
X0NPTlRST0xDSEFSPUNPTlRST0xfQ0hBUgogCiAjIFJldHJpZXZlIHRoZSBjdXJyZW50IHRhYiBk
cmF3IG1vZGUuCiAjIFJldHVybnMgb25lIG9mIFNDVERfKiBjb25zdGFudHMuCmRpZmYgLS1naXQg
YS9pbmNsdWRlL1NjaW50aWxsYVR5cGVzLmggYi9pbmNsdWRlL1NjaW50aWxsYVR5cGVzLmgKaW5k
ZXggMDk5MWExNDgwLi5hMWU1NWMyMDMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvU2NpbnRpbGxhVHlw
ZXMuaAorKysgYi9pbmNsdWRlL1NjaW50aWxsYVR5cGVzLmgKQEAgLTI2LDYgKzI2LDcgQEAgZW51
bSBjbGFzcyBXaGl0ZVNwYWNlIHsKIGVudW0gY2xhc3MgVGFiRHJhd01vZGUgewogCUxvbmdBcnJv
dyA9IDAsCiAJU3RyaWtlT3V0ID0gMSwKKwlDb250cm9sQ2hhciA9IDIsCiB9OwogCiBlbnVtIGNs
YXNzIEVuZE9mTGluZSB7CmRpZmYgLS1naXQgYS9zcmMvRWRpdFZpZXcuY3h4IGIvc3JjL0VkaXRW
aWV3LmN4eAppbmRleCAyNjA4ZjExZTUuLmJlYzA3ZmU5NSAxMDA2NDQKLS0tIGEvc3JjL0VkaXRW
aWV3LmN4eAorKysgYi9zcmMvRWRpdFZpZXcuY3h4CkBAIC0zNTIsNyArMzUyLDcgQEAgdm9pZCBM
YXlvdXRTZWdtZW50cyhJUG9zaXRpb25DYWNoZSAqcENhY2hlLAogCQkJCVhZUE9TSVRJT04gcmVw
cmVzZW50YXRpb25XaWR0aCA9IDAuMDsKIAkJCQkvLyBUYWIgaXMgYSBzcGVjaWFsIGNhc2Ugb2Yg
cmVwcmVzZW50YXRpb24sIHRha2luZyBhIHZhcmlhYmxlIGFtb3VudCBvZiBzcGFjZQogCQkJCS8v
IHdoaWNoIHdpbGwgYmUgZmlsbGVkIGluIGxhdGVyLgotCQkJCWlmIChsbC0+Y2hhcnNbdHMuc3Rh
cnRdICE9ICdcdCcpIHsKKwkJCQlpZiAobGwtPmNoYXJzW3RzLnN0YXJ0XSAhPSAnXHQnIHx8IHZz
dHlsZS50YWJEcmF3TW9kZSA9PSBUYWJEcmF3TW9kZTo6Q29udHJvbENoYXIpIHsKIAkJCQkJcmVw
cmVzZW50YXRpb25XaWR0aCA9IHZzdHlsZS5jb250cm9sQ2hhcldpZHRoOwogCQkJCQlpZiAocmVw
cmVzZW50YXRpb25XaWR0aCA8PSAwLjApIHsKIAkJCQkJCWFzc2VydCh0cy5yZXByZXNlbnRhdGlv
bi0+c3RyaW5nUmVwLmxlbmd0aCgpIDw9IFJlcHJlc2VudGF0aW9uOjptYXhMZW5ndGgpOwpAQCAt
NTIyLDcgKzUyMiw3IEBAIHZvaWQgRWRpdFZpZXc6OkxheW91dExpbmUoY29uc3QgRWRpdE1vZGVs
ICZtb2RlbCwgU3VyZmFjZSAqc3VyZmFjZSwgY29uc3QgVmlld1N0CiAJCWZvciAoY29uc3QgVGV4
dFNlZ21lbnQgJnRzIDogc2VnbWVudHMpIHsKIAkJCWlmICh2c3R5bGUuc3R5bGVzW2xsLT5zdHls
ZXNbdHMuc3RhcnRdXS52aXNpYmxlICYmCiAJCQkJdHMucmVwcmVzZW50YXRpb24gJiYKLQkJCQko
bGwtPmNoYXJzW3RzLnN0YXJ0XSA9PSAnXHQnKSkgeworCQkJCWxsLT5jaGFyc1t0cy5zdGFydF0g
PT0gJ1x0JyAmJiB2c3R5bGUudGFiRHJhd01vZGUgIT0gVGFiRHJhd01vZGU6OkNvbnRyb2xDaGFy
KSB7CiAJCQkJLy8gU2ltcGxlIHZpc2libGUgdGFiLCBnbyB0byBuZXh0IHRhYiBzdG9wCiAJCQkJ
Y29uc3QgWFlQT1NJVElPTiBzdGFydFRhYiA9IGxsLT5wb3NpdGlvbnNbdHMuc3RhcnRdOwogCQkJ
CWNvbnN0IFhZUE9TSVRJT04gbmV4dFRhYiA9IE5leHRUYWJzdG9wUG9zKGxpbmUsIHN0YXJ0VGFi
LCB2c3R5bGUudGFiV2lkdGgpOwpAQCAtNjEwLDcgKzYxMCw3IEBAIHZvaWQgRWRpdFZpZXc6OlVw
ZGF0ZUJpZGlEYXRhKGNvbnN0IEVkaXRNb2RlbCAmbW9kZWwsIGNvbnN0IFZpZXdTdHlsZSAmdnN0
eWxlLCBMCiAJCQljb25zdCBSZXByZXNlbnRhdGlvbiAqcmVwciA9IG1vZGVsLnJlcHJzLT5SZXBy
ZXNlbnRhdGlvbkZyb21DaGFyYWN0ZXIoc3RkOjpzdHJpbmdfdmlldygmbGwtPmNoYXJzW2NoYXJz
SW5MaW5lXSwgY2hhcldpZHRoKSk7CiAKIAkJCWxsLT5iaWRpRGF0YS0+d2lkdGhSZXByc1tjaGFy
c0luTGluZV0gPSAwLjBmOwotCQkJaWYgKHJlcHIgJiYgbGwtPmNoYXJzW2NoYXJzSW5MaW5lXSAh
PSAnXHQnKSB7CisJCQlpZiAocmVwciAmJiAobGwtPmNoYXJzW2NoYXJzSW5MaW5lXSAhPSAnXHQn
IHx8IHZzdHlsZS50YWJEcmF3TW9kZSA9PSBUYWJEcmF3TW9kZTo6Q29udHJvbENoYXIpKSB7CiAJ
CQkJbGwtPmJpZGlEYXRhLT53aWR0aFJlcHJzW2NoYXJzSW5MaW5lXSA9IGxsLT5wb3NpdGlvbnNb
Y2hhcnNJbkxpbmUgKyBjaGFyV2lkdGhdIC0gbGwtPnBvc2l0aW9uc1tjaGFyc0luTGluZV07CiAJ
CQl9CiAJCQlpZiAoY2hhcldpZHRoID4gMSkgewpAQCAtMTY3Myw3ICsxNjczLDcgQEAgdm9pZCBE
cmF3QmFja2dyb3VuZChTdXJmYWNlICpzdXJmYWNlLCBjb25zdCBFZGl0TW9kZWwgJm1vZGVsLCBj
b25zdCBWaWV3U3R5bGUgJnYKIAkJCUNvbG91clJHQkEgdGV4dEJhY2sgPSBUZXh0QmFja2dyb3Vu
ZChtb2RlbCwgdnNEcmF3LCBsbCwgYmFja2dyb3VuZCwgaW5TZWxlY3Rpb24sCiAJCQkJaW5Ib3Rz
cG90LCBsbC0+c3R5bGVzW2ldLCBpKTsKIAkJCWlmICh0cy5yZXByZXNlbnRhdGlvbikgewotCQkJ
CWlmIChsbC0+Y2hhcnNbaV0gPT0gJ1x0JykgeworCQkJCWlmIChsbC0+Y2hhcnNbaV0gPT0gJ1x0
JyAmJiB2c0RyYXcudGFiRHJhd01vZGUgIT0gVGFiRHJhd01vZGU6OkNvbnRyb2xDaGFyKSB7CiAJ
CQkJCS8vIFRhYiBkaXNwbGF5CiAJCQkJCWlmIChkcmF3V2hpdGVzcGFjZUJhY2tncm91bmQgJiYg
dnNEcmF3LldoaXRlU3BhY2VWaXNpYmxlKGluSW5kZW50YXRpb24pKSB7CiAJCQkJCQl0ZXh0QmFj
ayA9IHZzRHJhdy5FbGVtZW50Q29sb3VyRm9yY2VkKEVsZW1lbnQ6OldoaXRlU3BhY2VCYWNrKS5P
cGFxdWUoKTsKQEAgLTIxNzgsNyArMjE3OCw3IEBAIHZvaWQgRWRpdFZpZXc6OkRyYXdGb3JlZ3Jv
dW5kKFN1cmZhY2UgKnN1cmZhY2UsIGNvbnN0IEVkaXRNb2RlbCAmbW9kZWwsIGNvbnN0IFZpCiAJ
CQl9CiAJCQlDb2xvdXJSR0JBIHRleHRCYWNrID0gVGV4dEJhY2tncm91bmQobW9kZWwsIHZzRHJh
dywgbGwsIGJhY2tncm91bmQsIGluU2VsZWN0aW9uLCBpbkhvdHNwb3QsIHN0eWxlTWFpbiwgaSk7
CiAJCQlpZiAodHMucmVwcmVzZW50YXRpb24pIHsKLQkJCQlpZiAobGwtPmNoYXJzW2ldID09ICdc
dCcpIHsKKwkJCQlpZiAobGwtPmNoYXJzW2ldID09ICdcdCcgJiYgdnNEcmF3LnRhYkRyYXdNb2Rl
ICE9IFRhYkRyYXdNb2RlOjpDb250cm9sQ2hhcikgewogCQkJCQkvLyBUYWIgZGlzcGxheQogCQkJ
CQlpZiAocGhhc2VzRHJhdyA9PSBQaGFzZXNEcmF3OjpPbmUpIHsKIAkJCQkJCWlmIChkcmF3V2hp
dGVzcGFjZUJhY2tncm91bmQgJiYgdnNEcmF3LldoaXRlU3BhY2VWaXNpYmxlKGluSW5kZW50YXRp
b24pKQpkaWZmIC0tZ2l0IGEvc3JjL0VkaXRvci5jeHggYi9zcmMvRWRpdG9yLmN4eAppbmRleCA1
YjQyNDA3ZTMuLjAyODlmYTVlNSAxMDA2NDQKLS0tIGEvc3JjL0VkaXRvci5jeHgKKysrIGIvc3Jj
L0VkaXRvci5jeHgKQEAgLTY5ODQsNyArNjk4NCw3IEBAIHNwdHJfdCBFZGl0b3I6OlduZFByb2Mo
TWVzc2FnZSBpTWVzc2FnZSwgdXB0cl90IHdQYXJhbSwgc3B0cl90IGxQYXJhbSkgewogCQlyZXR1
cm4gc3RhdGljX2Nhc3Q8c3B0cl90Pih2cy50YWJEcmF3TW9kZSk7CiAKIAljYXNlIE1lc3NhZ2U6
OlNldFRhYkRyYXdNb2RlOgotCQl2cy50YWJEcmF3TW9kZSA9IHN0YXRpY19jYXN0PFRhYkRyYXdN
b2RlPih3UGFyYW0pOworCQlTZXRBcHBlYXJhbmNlKHZzLnRhYkRyYXdNb2RlLCBzdGF0aWNfY2Fz
dDxUYWJEcmF3TW9kZT4od1BhcmFtKSk7CiAJCVJlZHJhdygpOwogCQlicmVhazsKIAotLSAKMi41
Mi4wCgo=
--72dd6dcec541945267800eea14f67d576548b8fcfede182719a1f375d071
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=bait.c
Content-Type: text/x-csrc; charset=utf-8; name=bait.c

I2luY2x1ZGUgPHN0ZGlvLmg+CgojaW5jbHVkZSA8Z3RrL2d0ay5oPgoKI2luY2x1ZGUgPFNjaW50
aWxsYS5oPgojZGVmaW5lIFBMQVRfR1RLIDEKI2luY2x1ZGUgPFNjaW50aWxsYVdpZGdldC5oPgoK
I2RlZmluZSBTU00obSwgdywgbCkgc2NpbnRpbGxhX3NlbmRfbWVzc2FnZShzY2ksIG0sIHcsIGwp
CgpzdGF0aWMgaW50IGV4aXRfYXBwKEd0a1dpZGdldCp3LCBHZGtFdmVudEFueSplLCBncG9pbnRl
ciBwKSB7CiAgIGd0a19tYWluX3F1aXQoKTsKICAgcmV0dXJuIHd8fGV8fHB8fDE7CS8vIEF2b2lk
IHdhcm5pbmdzCn0KCnN0YXRpYyBnYm9vbGVhbiBrZXlfcHJlc3NfY2IoR3RrV2lkZ2V0ICp3aWRn
ZXQsIEdka0V2ZW50ICpldmVudCwgZ3BvaW50ZXIgdXNlcl9kYXRhKSB7CiAgIFNjaW50aWxsYU9i
amVjdCAqc2NpID0gdXNlcl9kYXRhOwogICBzdGF0aWMgaW50IHYgPSAwOwoKICAgaWYgKGV2ZW50
LT50eXBlID09IEdES19LRVlfUFJFU1MgJiYgZXZlbnQtPmtleS5rZXl2YWwgPT0gR0RLX0tFWV9G
MSkgewogICAgICBwcmludGYoIlNDSV9TRVRUQUJEUkFXTU9ERSglZClcbiIsIHYpOwogICAgICBT
U00oU0NJX1NFVFRBQkRSQVdNT0RFLCB2LCAwKTsKICAgICAgdiA9ICh2KzEpICUgMzsKICAgfQoK
ICAgcmV0dXJuIEZBTFNFOwp9CgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKICAg
R3RrV2lkZ2V0ICphcHA7CiAgIEd0a1dpZGdldCAqZWRpdG9yOwogICBTY2ludGlsbGFPYmplY3Qg
KnNjaTsKCiAgIGd0a19pbml0KCZhcmdjLCAmYXJndik7CiAgIGFwcCA9IGd0a193aW5kb3dfbmV3
KEdUS19XSU5ET1dfVE9QTEVWRUwpOwogICBlZGl0b3IgPSBzY2ludGlsbGFfbmV3KCk7CiAgIHNj
aSA9IFNDSU5USUxMQShlZGl0b3IpOwoKICAgZ3RrX2NvbnRhaW5lcl9hZGQoR1RLX0NPTlRBSU5F
UihhcHApLCBlZGl0b3IpOwogICBnX3NpZ25hbF9jb25uZWN0KGFwcCwgImRlbGV0ZV9ldmVudCIs
IEdfQ0FMTEJBQ0soZXhpdF9hcHApLCBOVUxMKTsKICAgZ19zaWduYWxfY29ubmVjdChhcHAsICJr
ZXktcHJlc3MtZXZlbnQiLCBHX0NBTExCQUNLKGtleV9wcmVzc19jYiksIHNjaSk7CgogICBzY2lu
dGlsbGFfc2V0X2lkKHNjaSwgMCk7CiAgIC8vZ3RrX3dpZGdldF9zZXRfdXNpemUoZWRpdG9yLCA1
MDAsIDMwMCk7CgogICBTU00oU0NJX1NUWUxFQ0xFQVJBTEwsIDAsIDApOwogICBTU00oU0NJX1NU
WUxFU0VURk9OVCwgU1RZTEVfREVGQVVMVCwgKHNwdHJfdCkiTW9ub3NwYWNlIik7CiAgIFNTTShT
Q0lfU1RZTEVDTEVBUkFMTCwgMCwgMCk7CiAgIFNTTShTQ0lfSU5TRVJUVEVYVCwgMCwgKHNwdHJf
dCkKICAgICJpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHtcbiIKICAgICJcdC8vIFN0
YXJ0IHVwIHRoZSBnbm9tZVxuIgogICAgIlx0Z25vbWVfaW5pdChcInN0ZXN0XCIsIFwiMS4wXCIs
IGFyZ2MsIGFyZ3YpO1xufSIKICAgKTsKCiAgIFNTTShTQ0lfU0VUVklFV1dTLCBTQ1dTX1ZJU0lC
TEVBTFdBWVMsIDApOwogICBTU00oU0NJX1NFVFJFUFJFU0VOVEFUSU9OLCAodXB0cl90KSJcdCIs
IChzcHRyX3QpIlRBQiIpOwoKICAgZ3RrX3dpZGdldF9zaG93X2FsbChhcHApOwogICBndGtfd2lk
Z2V0X2dyYWJfZm9jdXMoR1RLX1dJREdFVChlZGl0b3IpKTsKICAgZ3RrX21haW4oKTsKCiAgIHJl
dHVybiAwOwp9Cg==
--72dd6dcec541945267800eea14f67d576548b8fcfede182719a1f375d071--

--9c7d99a4a2ae20e5b600d0328b9f966573006414de08781a013d20afb7a9
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAABCAAdFiEEB/6AD3js1eGB4raKarMDYY4q6voFAmmfbNgACgkQarMDYY4q
6vrEHAf/dD1tHeGQyX0tkvin5t1zr9x8WoU2pux48BNOuwyRqOYKdf952iru5guN
4FsLxEw3ENmu0z9da6zevm4AxNEAyZxYHJY+4NJVkVqUwA9ajOEAL1MwOd1OPDUn
gf/0Orgqq7vUvPXpIaiV2mn7DiKQ63Vj6rOv3WOizYPG6QjmCzR/XuQuf/tPcV1/
NtQ5Y639plnCn+RRJV5NcpHYOEDE5sNMEyEeQjTpucUUlii/fY7bvAgZE9fMtLZ0
STaYAHEFlQV6PPhNImQLNByRf/43uYg1WMUpzAWBJmVsphtWADEfiEXHtu9uwjsz
GPeXY1FPD/pnXstwaZj8laYbD04aOw==
=Gua8
-----END PGP SIGNATURE-----

--9c7d99a4a2ae20e5b600d0328b9f966573006414de08781a013d20afb7a9--