From kde-core-devel Wed Feb 28 18:04:07 2007 From: "Bruno Virlet" Date: Wed, 28 Feb 2007 18:04:07 +0000 To: kde-core-devel Subject: An Useful Model Proposal : KStringDataListModel Message-Id: <5375fad50702281004u5e2198c7sd0b07df27fd7fb2a () mail ! gmail ! com> X-MARC-Message: https://marc.info/?l=kde-core-devel&m=117273754430500 MIME-Version: 1 Content-Type: multipart/mixed; boundary="------=_Part_19508_14295970.1172685847277" ------=_Part_19508_14295970.1172685847277 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Hello, Willing to rewrite the tooltip editor of Kopete, I have been lacking a model managing pairs of strings : one to be displayed (the label) and another to be kept for internal use. David Faure suggested that it could be useful in many places, so I wrote a model managing a pair with a QString and a QVariant, in a more general design. Please find attached the files. I am awaiting your critics ;-) Regards, Bruno ------=_Part_19508_14295970.1172685847277 Content-Type: application/octet-stream; name="kstringdatalistmodel.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="kstringdatalistmodel.patch" X-Attachment-Id: f_eyq2uzna SW5kZXg6IGl0ZW12aWV3cy9rc3RyaW5nZGF0YWxpc3Rtb2RlbC5jcHAKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g aXRlbXZpZXdzL2tzdHJpbmdkYXRhbGlzdG1vZGVsLmNwcAkocmV2aXNpb24gMCkKKysrIGl0ZW12 aWV3cy9rc3RyaW5nZGF0YWxpc3Rtb2RlbC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMy IEBACisvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgS0RFIGxpYnJhcmllcworICAgQ29weXJp Z2h0IChjKSAyMDA3IEJydW5vIFZpcmxldCA8YnJ1bm8udmlybGV0QGdtYWlsLmNvbT4KKworICAg VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vcgorICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu ZXJhbCBQdWJsaWMKKyAgIExpY2Vuc2UgdmVyc2lvbiAyIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorCisgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO VQorICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisK KyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl bmVyYWwgUHVibGljIExpY2Vuc2UKKyAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgICB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAg Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCisjaW5jbHVkZSAia3N0cmluZ2RhdGFs aXN0bW9kZWwuaCIKKworI2luY2x1ZGUgPFFTdHJpbmdMaXN0PgorI2luY2x1ZGUgPFFNaW1lRGF0 YT4KKworI2luY2x1ZGUgImtkZWJ1Zy5oIgorCitLU3RyaW5nRGF0YUxpc3RNb2RlbDo6S1N0cmlu Z0RhdGFMaXN0TW9kZWwoUU9iamVjdCAqcGFyZW50KQorICAgICA6IFFBYnN0cmFjdExpc3RNb2Rl bChwYXJlbnQpCit7CisgICAgbUxpc3QgPSBuZXcgUUxpc3Q8UGFpcj4oKTsKK30KKworS1N0cmlu Z0RhdGFMaXN0TW9kZWw6On5LU3RyaW5nRGF0YUxpc3RNb2RlbCgpCit7CisgICAgZGVsZXRlIG1M aXN0OworfQorCit2b2lkIEtTdHJpbmdEYXRhTGlzdE1vZGVsOjphcHBlbmQoY29uc3QgUUxpc3Q8 UGFpcj4mIHBhaXJMaXN0KQoreworICAgICptTGlzdCArPSBwYWlyTGlzdDsKK30KKworUVZhcmlh bnQgS1N0cmluZ0RhdGFMaXN0TW9kZWw6OmRhdGEoY29uc3QgUU1vZGVsSW5kZXggJmluZGV4LCAg aW50IHJvbGUpIGNvbnN0Cit7CisgICAgaWYgKCFpbmRleC5pc1ZhbGlkKCkpCisgICAgICAgIHJl dHVybiBRVmFyaWFudCgpOworCisgICAgaWYgKHJvbGUgPT0gUXQ6OkRpc3BsYXlSb2xlKQorICAg ICAgICByZXR1cm4gbUxpc3QtPnZhbHVlKGluZGV4LnJvdygpKS5maXJzdDsKKworICAgIHJldHVy biBRVmFyaWFudCgpOworfQorCitpbnQgS1N0cmluZ0RhdGFMaXN0TW9kZWw6OnJvd0NvdW50KGNv bnN0IFFNb2RlbEluZGV4ICZwYXJlbnQpIGNvbnN0Cit7CisgICAgaWYgKHBhcmVudC5pc1ZhbGlk KCkpCisgICAgICAgIHJldHVybiAwOworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuIG1MaXN0LT5z aXplKCk7Cit9CisKK1FNb2RlbEluZGV4IEtTdHJpbmdEYXRhTGlzdE1vZGVsOjppbmRleChpbnQg cm93KSBjb25zdAoreworICAgIGlmIChyb3cgPCAwIHx8IHJvdyA+IG1MaXN0LT5jb3VudCgpKQor ICAgICAgICByZXR1cm4gUU1vZGVsSW5kZXgoKTsKKworICAgIHJldHVybiBjcmVhdGVJbmRleChy b3csIDApOworfQorCitRU3RyaW5nIEtTdHJpbmdEYXRhTGlzdE1vZGVsOjpsYWJlbChjb25zdCBR TW9kZWxJbmRleCAmaW5kZXgpIGNvbnN0Cit7CisgICAgaWYgKCFpbmRleC5pc1ZhbGlkKCkpCisg ICAgICAgIHJldHVybiBRU3RyaW5nKCk7CisKKyAgICByZXR1cm4gbUxpc3QtPnZhbHVlKGluZGV4 LnJvdygpKS5maXJzdDsKK30KKworCitRVmFyaWFudCBLU3RyaW5nRGF0YUxpc3RNb2RlbDo6aW50 ZXJuYWwoY29uc3QgUU1vZGVsSW5kZXggJmluZGV4KSBjb25zdAoreworICAgIGlmICghaW5kZXgu aXNWYWxpZCgpKQorICAgICAgICByZXR1cm4gUVZhcmlhbnQoKTsKKworICAgIHJldHVybiBtTGlz dC0+dmFsdWUoaW5kZXgucm93KCkpLnNlY29uZDsKK30KKworYm9vbCBLU3RyaW5nRGF0YUxpc3RN b2RlbDo6cmVtb3ZlUm93KCBjb25zdCBRTW9kZWxJbmRleCAmaW5kZXggKQoreworICAgIGlmICgh aW5kZXguaXNWYWxpZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBiZWdpblJlbW92 ZVJvd3MoUU1vZGVsSW5kZXgoKSwgIGluZGV4LnJvdygpLCBpbmRleC5yb3coKSk7CisgICAgbUxp c3QtPnJlbW92ZUF0KGluZGV4LnJvdygpKTsKKyAgICBlbmRSZW1vdmVSb3dzKCk7CisKKyAgICBy ZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBLU3RyaW5nRGF0YUxpc3RNb2RlbDo6aW5zZXJ0Um93KCBj b25zdCBRU3RyaW5nIGxhYmVsLCBjb25zdCBRVmFyaWFudCBpbnRlcm5hbFN0cmluZywgY29uc3Qg UU1vZGVsSW5kZXggJmluZGV4KQoreworICAgIGludCByb3cgPSAwOworICAgIGlmIChpbmRleC5p c1ZhbGlkKCkpCisgICAgICAgIHJvdyA9IGluZGV4LnJvdygpOworCisgICAgYmVnaW5JbnNlcnRS b3dzKFFNb2RlbEluZGV4KCksIHJvdywgIHJvdyk7CisgICAgbUxpc3QtPmluc2VydChyb3csIHFN YWtlUGFpcihsYWJlbCwgIGludGVybmFsU3RyaW5nKSk7CisgICAgZW5kSW5zZXJ0Um93cygpOwor CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgS1N0cmluZ0RhdGFMaXN0TW9kZWw6Om1vdmVV cCggY29uc3QgUU1vZGVsSW5kZXggJmluZGV4ICkKK3sKKyAgICBpZiAoIWluZGV4LmlzVmFsaWQo KSB8fCBpbmRleC5yb3coKSA9PSAwKQorICAgICAgICByZXR1cm47CisKKyAgICBlbWl0IGxheW91 dEFib3V0VG9CZUNoYW5nZWQoKTsKKyAgICBtTGlzdC0+bW92ZShpbmRleC5yb3coKSwgaW5kZXgu cm93KCkgLSAxKTsKKyAgICBlbWl0IGxheW91dENoYW5nZWQoKTsKK30KKwordm9pZCBLU3RyaW5n RGF0YUxpc3RNb2RlbDo6bW92ZURvd24oIGNvbnN0IFFNb2RlbEluZGV4ICZpbmRleCApCit7Cisg ICAgaWYgKCFpbmRleC5pc1ZhbGlkKCkgfHwgaW5kZXgucm93KCkgPT0gbUxpc3QtPmNvdW50KCkg LSAxICkKKyAgICAgICAgcmV0dXJuOworCisgICAgZW1pdCBsYXlvdXRBYm91dFRvQmVDaGFuZ2Vk KCk7CisgICAgbUxpc3QtPm1vdmUoaW5kZXgucm93KCksIGluZGV4LnJvdygpICsgMSk7CisgICAg ZW1pdCBsYXlvdXRDaGFuZ2VkKCk7Cit9CisKKworI2luY2x1ZGUgImtzdHJpbmdkYXRhbGlzdG1v ZGVsLm1vYyIKSW5kZXg6IGl0ZW12aWV3cy9rc3RyaW5nZGF0YWxpc3Rtb2RlbC5oCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tIGl0ZW12aWV3cy9rc3RyaW5nZGF0YWxpc3Rtb2RlbC5oCShyZXZpc2lvbiAwKQorKysg aXRlbXZpZXdzL2tzdHJpbmdkYXRhbGlzdG1vZGVsLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs MTIxIEBACisvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgS0RFIGxpYnJhcmllcworICAgQ29w eXJpZ2h0IChjKSAyMDA3IEJydW5vIFZpcmxldCA8YnJ1bm8udmlybGV0QGdtYWlsLmNvbT4KKwor ICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vcgorICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg R2VuZXJhbCBQdWJsaWMKKyAgIExpY2Vuc2UgdmVyc2lvbiAyIGFzIHB1Ymxpc2hlZCBieSB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorCisgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl IEdOVQorICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu CisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5 IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgICB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAor ICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCisKKyNpZm5kZWYgS1NUUklOR0RB VEFMSVNUTU9ERUxfSAorI2RlZmluZSBLU1RSSU5HREFUQUxJU1RNT0RFTF9ICisKKyNpbmNsdWRl IDxRQWJzdHJhY3RMaXN0TW9kZWw+CisjaW5jbHVkZSA8UUxpc3Q+CisjaW5jbHVkZSA8UVBhaXI+ CisKKyNpbmNsdWRlIDxrZGVsaWJzX2V4cG9ydC5oPgorCitjbGFzcyBRVmFyaWFudDsKK2NsYXNz IFFTdHJpbmc7CitjbGFzcyBRU3RyaW5nTGlzdDsKK2NsYXNzIFFNaW1lRGF0YTsKKwordHlwZWRl ZiBRUGFpcjxRU3RyaW5nLCBRVmFyaWFudD4gUGFpcjsKKworLyoqCisgKiBNb2RlbCBjb250YWlu aW5nIGEgTGlzdCB3aXRoIHBhaXJzIG9mIFFTdHJpbmcgYW5kIFFWYXJpYW50LgorICoKKyAqIEl0 IGlzIHVzZWZ1bCB3aGVuIHlvdSBuZWVkCisgKiB0byBzaG93IGEgc3RyaW5nIHRvIHRoZSB1c2Vy IGFuZCB1c2UgYW5vdGhlciBvbmUgaW50ZXJuYWxseSBmb3IgaW5zdGFuY2UuCisgKgorICogSXQg YWxzbyBpbXBsZW1lbnRzIG1ldGhvZHMgdG8gbW92ZSBlbGVtZW50cyB1cCBhbmQgZG93biBpbiB0 aGUgbGlzdC4KKyAqLworY2xhc3MgS0RFVUlfRVhQT1JUIEtTdHJpbmdEYXRhTGlzdE1vZGVsIDog cHVibGljIFFBYnN0cmFjdExpc3RNb2RlbAoreworICAgIFFfT0JKRUNUCisKK3B1YmxpYzoKKyAg ICBLU3RyaW5nRGF0YUxpc3RNb2RlbCggUU9iamVjdCAqcGFyZW50ID0gMCApOworICAgIH5LU3Ry aW5nRGF0YUxpc3RNb2RlbCgpOworCisgICAgLyoqCisgICAgICogT25seSBmb3IgdmlldyB1c2Fn ZS4gUHJlZmVyYWJseSB1c2UgQG1ldGhvZCBsYWJlbCBhbmQgQG1ldGhvZCBpbnRlcm5hbAorICAg ICAqCisgICAgICogUmV0dXJucyB0aGUgbGFiZWwgaWYgQHBhcmFtIHJvbGUgaXMgUXQ6OkRpc3Bs YXlSb2xlLgorICAgICAqLworICAgIFFWYXJpYW50IGRhdGEoIGNvbnN0IFFNb2RlbEluZGV4ICZp bmRleCwgIGludCByb2xlID0gUXQ6OkRpc3BsYXlSb2xlICkgY29uc3Q7CisKKyAgICAvKioKKyAg ICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgbGluZXMgaW4gdGhlIGxpc3QKKyAgICAgKi8KKyAg ICBpbnQgcm93Q291bnQoIGNvbnN0IFFNb2RlbEluZGV4ICZwYXJlbnQgPSBRTW9kZWxJbmRleCgp ICkgY29uc3Q7CisKKyAgICAvKioKKyAgICAgKiBSZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgZWxl bWVudCBhdCByb3cgQHBhcmFtIHJvdyBpbiB0aGUgbGlzdAorICAgICAqLworICAgIFFNb2RlbElu ZGV4IGluZGV4KGludCByb3cpIGNvbnN0OworCisKKyAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vCisgICAgLy8gS1N0cmluZ0RhdGFMaXN0TW9kZWwgc3BlY2lmaWMgQVBJ CisKKyAgICAvKioKKyAgICAgKiBJbnNlcnRzIGEgcm93IHdpdGggQHBhcmFtIGxhYmVsIGFzIHZp c3VhbCBsYWJlbCBhbmQgQHBhcmFtIGludGVybmFsU3RyaW5nIGFzIGludGVybmFsCisgICAgICog cGFyYW1ldGVyIGFmdGVyIHRoZSByb3cgZ2l2ZW4gYnkgQHBhcmFtIGluZGV4LiBJZiBAcGFyYW0g aW5kZXggaXMgbnVsbCwgdGhlbiBpdCBpbnNlcnRzIGl0IGF0CisgICAgICogdGhlIGVuZC4KKyAg ICAgKgorICAgICAqIFJldHVybnMgdHJ1ZSBpZiBzdWNjZXNzLgorICAgICAqLworICAgIGJvb2wg aW5zZXJ0Um93KCBjb25zdCBRU3RyaW5nIGxhYmVsLCBjb25zdCBRVmFyaWFudCBpbnRlcm5hbFN0 cmluZywgY29uc3QgUU1vZGVsSW5kZXggJmluZGV4ICk7CisKKyAgICAvKioKKyAgICAgKiBEZWxl dGVzIHRoZSByb3cgZ2l2ZW4gYnkgQHBhcmFtIGluZGV4CisgICAgICoKKyAgICAgKiBSZXR1cm5z IHRydWUgaWYgc3VjY2Vzcy4KKyAgICAgKi8KKyAgICBib29sIHJlbW92ZVJvdyggY29uc3QgUU1v ZGVsSW5kZXggJmluZGV4ICk7CisKKyAgICAvKioKKyAgICAgKiBNb3ZlcyB0aGUgZWxlbWVudCBn aXZlbiBieSBAcGFyYW0gaW5kZXggdXAgaW4gdGhlIGxpc3QKKyAgICAgKiBJZiBAcGFyYW0gaW5k ZXggaXMgaW52YWxpZCBvciBpZiB0aGUgZWxlbWVudCBpcyB0aGUgZmlyc3Qgb25lLAorICAgICAq IGl0IGRvZXMgbm90aGluZy4KKyAgICAgKi8KKyAgICB2b2lkIG1vdmVVcCggY29uc3QgUU1vZGVs SW5kZXggJmluZGV4ICk7CisgICAgLyoqCisgICAgICogTW92ZXMgdGhlIGVsZW1lbnQgZ2l2ZW4g YnkgQHBhcmFtIGluZGV4IGRvd24gaW4gdGhlIGxpc3QKKyAgICAgKiBJZiBAcGFyYW0gaW5kZXgg aXMgaW52YWxpZCBvciBpZiB0aGUgZWxlbWVudCBpcyB0aGUgbGFzdCBvbmUsCisgICAgICogaXQg ZG9lcyBub3RoaW5nLgorICAgICAqLworICAgIHZvaWQgbW92ZURvd24oIGNvbnN0IFFNb2RlbElu ZGV4ICZpbmRleCApOworCisgICAgLyoqCisgICAgICogUmV0cmlldmUgdGhlIGludGVybmFsIFFW YXJpYW50IG9mIGluZGV4IEBwYXJhbSBpbmRleAorICAgICAqLworICAgIFFWYXJpYW50IGludGVy bmFsKCBjb25zdCBRTW9kZWxJbmRleCAmaW5kZXggKSBjb25zdDsKKyAgICAvKioKKyAgICAgKiBS ZXRyaWV2ZSB0aGUgbGFiZWwgb2YgaW5kZXggQHBhcmFtIGluZGV4CisgICAgICovCisgICAgUVN0 cmluZyBsYWJlbCggY29uc3QgUU1vZGVsSW5kZXggJmluZGV4ICkgY29uc3Q7CisKKyAgICAvKioK KyAgICAgKiBBcHBlbmRzIGRhdGEgdG8gdGhlIG1vZGVsCisgICAgICovCisgICAgdm9pZCBhcHBl bmQoIGNvbnN0IFFMaXN0PFBhaXI+JiBwYWlyTGlzdCApOworCisgcHJpdmF0ZToKKyAgICBRTGlz dDxQYWlyPiAqbUxpc3Q7Cit9OworCisjZW5kaWYKKwpJbmRleDogQ01ha2VMaXN0cy50eHQKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDYzNzM5MikKKysrIENNYWtlTGlz dHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC04Myw2ICs4Myw3IEBACiAgaXRlbXZpZXdzL2szbGlz dHZpZXdzZWFyY2hsaW5lLmNwcAogIGl0ZW12aWV3cy9rbGlzdHdpZGdldC5jcHAKICBpdGVtdmll d3Mva3RyZWV3aWRnZXRzZWFyY2hsaW5lLmNwcAorIGl0ZW12aWV3cy9rc3RyaW5nZGF0YWxpc3Rt b2RlbC5jcHAKICBrZXJuZWwva2FwcGxpY2F0aW9uLmNwcAogIGtlcm5lbC9rY2xpcGJvYXJkLmNw cAogIGtlcm5lbC9rdW5pcXVlYXBwbGljYXRpb24uY3BwCkBAIC0yNzgsNiArMjc5LDcgQEAKICBp dGVtdmlld3MvazNsaXN0dmlld3NlYXJjaGxpbmUuaAogIGl0ZW12aWV3cy9rbGlzdHdpZGdldC5o CiAgaXRlbXZpZXdzL2t0cmVld2lkZ2V0c2VhcmNobGluZS5oCisgaXRlbXZpZXdzL2tzdHJpbmdk YXRhbGlzdG1vZGVsLmgKICBrZXJuZWwva2FwcGxpY2F0aW9uLmgKICBrZXJuZWwva3VuaXF1ZWFw cGxpY2F0aW9uLmgKICBrZXJuZWwva3Nlc3Npb25tYW5hZ2VyLmgK ------=_Part_19508_14295970.1172685847277--