From kde-devel Wed Mar 28 19:41:16 2001 From: Sergio Moretti Date: Wed, 28 Mar 2001 19:41:16 +0000 To: kde-devel Subject: Re: KDE 2.2beta1 X-MARC-Message: https://marc.info/?l=kde-devel&m=98581139205870 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--------------Boundary-00=_SOAX7BXTNFUOMP2HO98N" --------------Boundary-00=_SOAX7BXTNFUOMP2HO98N Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit On Wednesday 28 March 2001 06:40, Waldo Bastian wrote: > Hiya, > > I especially would like to hear about the status of the following > issues: > > * new kio-slave configuration oops, I was waiting for you, anyway, here the patch for kio directory, plus two file for slave's manager. It compiles, but I haven't tested it, it's more like a draft proposal. I have removed the call to needConfiguration method in slavebase.cpp, as I think it's better to insert it directly in slave code, maybe in constructor. What is left to do is to map KProtocolManager methods to slaveManager, and to move some slave code to new system. If you think that this is the right way, I will try to convince the ftp slave to follow it, and I will make some test. cheers, Sergio --------------Boundary-00=_SOAX7BXTNFUOMP2HO98N Content-Type: text/x-c++; charset="iso-8859-1"; name="slavemanager.h" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="slavemanager.h" LyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBsaWJyYXJpZXMKCiAgIFRoaXMgbGlicmFy eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAgbW9k aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK ICAgTGljZW5zZSB2ZXJzaW9uIDIgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24uCgogICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICAgTGlicmFyeSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl CiAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ ZiBub3QsIHdyaXRlIHRvCiAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5 IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKICAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0Eu CiovCiNpZm5kZWYgX19zbGF2ZW1hbmFnZXJfaF9fCiNkZWZpbmUgX19zbGF2ZW1hbmFnZXJfaF9f CgojaW5jbHVkZSA8cXN0cmluZy5oPgojaW5jbHVkZSA8a2NvbmZpZy5oPgojaW5jbHVkZSA8cWRp Y3QuaD4KI2luY2x1ZGUgPGtpby9nbG9iYWwuaD4KCgpuYW1lc3BhY2UgS0lPIHsKCiAgIGNsYXNz IFNsYXZlTWFuYWdlcjsKCiAgIC8qKgogICAgKiBGYWN0b3J5IGZvciBTbGF2ZU1hbmFnZXIgb2Jq ZWN0cy4KICAgICogUmVhZCBpdHMgc3RhdGUgZnJvbSBhIGRlc2t0b3Atd2lkZSBjb25maWcgZmls ZS4KICAgICogRm9yIGV2ZXJ5IHNsYXZlIHR5cGUgdGhlcmUgbXVzdCBiZSBhIGdyb3VwIG5hbWVk IGFzIHRoZSBzbGF2ZSdzIHByb3RvY29sLgogICAgKiBUaGUgZ3JvdXAgY2FuIGNvbnRhaW4gZGly ZWN0bHkgdGhlIGNvbmZpZyBlbnRyaWVzIGZvciB0aGUgc2xhdmUsIG9yIGFuCiAgICAqIGVudHJ5 IG5hbWVkICJjb25maWdGaWxlIiwgd2hpY2ggcG9pbnRzIHRvIGEgY29uZmlnIGZpbGUgZGVkaWNh dGVkIHRvIGEKICAgICogc2luZ2xlIHNsYXZlIHR5cGUuCiAgICAqIElmIGlzIGNyZWF0ZWQgd2l0 aCBsb2NhbENvbmZpZyBwb2ludGluZyB0byB0aGUgZ2xvYmFsIEtDb25maWcgb2JqZWN0LCBhbmQK ICAgICogZ2xvYmFsQ29uZmlnIG51bGwsIHRoZW4gaXQgY3JlYXRlcyAiZ2xvYmFsIiBtYW5hZ2Vy cywgaS5lLiBtYW5hZ2VycwogICAgKiB0aGF0IHJlYWQvbW9kaWZ5IG9ubHkgZGVza3RvcC13aWRl IHNldHRpbmdzLgogICAgKi8KICAgY2xhc3MgU2xhdmVNYW5hZ2VyRmFjdG9yeQogICB7CiAgIHB1 YmxpYzoKICAgICAgLyoqCiAgICAgICAqIGNvbnN0cnVjdG9yCiAgICAgICAqIEBwYXJhbSBsb2Nh bENvbmZpZyBhcHBsaWNhdGlvbi13aWRlIGNvbmZpZ3VyYXRpb24KICAgICAgICogQHBhcmFtIGds b2JhbENvbmZpZyBkZXNrdG9wLXdpZGUgY29uZmlndXJhdGlvbgogICAgICAgKi8KICAgICAgU2xh dmVNYW5hZ2VyRmFjdG9yeShLQ29uZmlnICpsb2NhbENvbmZpZywgS0NvbmZpZyAqZ2xvYmFsQ29u ZmlnKTsKCiAgICAgIH5TbGF2ZU1hbmFnZXJGYWN0b3J5KCk7CgogICAgICAvKioKICAgICAgICog Y3JlYXRlIGEgbmV3IG1hbmFnZXIgZm9yIHByb3RvY29sCiAgICAgICAqIEZvciBlaXRoZXIgZ2xv YmFsIGFuZCBsb2NhbCBjb25maWcsIAogICAgICAgKiBwYXJzZSBncm91cCA8cHJvdG9jb2w+IGlu IGNvbmZpZywgaWYgYW4gZW50cnkgImNvbmZpZ0ZpbGUgZmlsZSIKICAgICAgICogaXMgZm91bmQs IHRoZW4gb3BlbiBhIG5ldyBLQ29uZmlnIG9iamVjdCBwb2ludGluZyBhdCAiZmlsZSIsIG90aGVy d2lzZQogICAgICAgKiBwYXNzIGN1cnJlbnQgS0NvbmZpZyBpbnN0YW5jZXMKICAgICAgICovCiAg ICAgIFNsYXZlTWFuYWdlciAqIG1hbmFnZXIoY29uc3QgUVN0cmluZyAmcHJvdG9jb2wpOwoKICAg cHJpdmF0ZToKICAgICAgS0NvbmZpZyAqX2dsYkNmZzsKICAgICAgS0NvbmZpZyAqX2xjbENmZzsK ICAgfTsKCgogICAvKioKICAgICogTWFuYWdlciBmb3Igc2xhdmUncyBjb25maWd1cmF0aW9uLgog ICAgKiBBY3QgYXMgZGVza3RvcC1sZXZlbCBtYW5hZ2VyIGlmIGdsb2JhbCBpcyBudWxsLgogICAg KiBBY3QgYXMgYXBwbGljYXRpb24tbGV2ZWwgbWFuYWdlciBpZiBnbG9iYWwgYW5kIGxvY2FsIGFy ZSBkZWZpbmVkLgogICAgKiBFbnRyaWVzIGFyZSBncm91cGVkLCBhIGdyb3VwIGlzIHRoZSBtaW5p bWFsIHNldCBvZiBkYXRhIHNlbnQgdG8gLyByZWNlaXZlZCAKICAgICogZnJvbSBzbGF2ZSwgdG8g cGVybWl0IHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gZGlmZmVyZW50IGtpbmQgb2YgZW50cmllcy4K ICAgICovCiAgIGNsYXNzIFNsYXZlTWFuYWdlcgogICB7CiAgICAgIGZyaWVuZCBjbGFzcyBTbGF2 ZU1hbmFnZXJGYWN0b3J5OwoKICAgcHVibGljOgogICAgICB+U2xhdmVNYW5hZ2VyKCk7CgogICAg ICAvKioKICAgICAgICogcXVlcnksIGZvciBrZXksIGxvY2FsIGFuZCAoaWYgZGVmaW5lZCkgZ2xv YmFsIGNvbmZzLCBpbiB0aGlzIG9yZGVyLiAKICAgICAgICogSWYga2V5IGlzIGZvdW5kLCB0aGUg YXNzb2NpYXRlZCB2YWx1ZSBpcyByZXR1cm5lZAogICAgICAgKi8KICAgICAgUVN0cmluZyBlbnRy eShjb25zdCBRU3RyaW5nICZncm91cCwgY29uc3QgUVN0cmluZyAma2V5KSBjb25zdDsKCiAgICAg IC8qKgogICAgICAgKiBjcmVhdGUgKG9yIHVwZGF0ZSkga2V5LCB2YWx1ZSBwYWlyIGluIGxvY2Fs IGNvbmZpZwogICAgICAgKi8KICAgICAgdm9pZCBzZXRFbnRyeShjb25zdCBRU3RyaW5nICZncm91 cCwgY29uc3QgUVN0cmluZyAma2V5LCAKCQkgICAgY29uc3QgUVN0cmluZyAmdmFsdWUpOwoKICAg ICAgLyoqCiAgICAgICAqIHJlbW92ZSB0aGUgZW50cnkgYXNzb2NpYXRlZCB3aXRoIGtleSBmcm9t IGxvY2FsIGNvbmZpZwogICAgICAgKi8KICAgICAgdm9pZCByZW1vdmVFbnRyeShjb25zdCBRU3Ry aW5nICZncm91cCwgY29uc3QgUVN0cmluZyAma2V5KTsKICAgICAgCiAgICAgIC8qKgogICAgICAg KiBwYWNrIGVudHJpZXMgdG8gbWV0YWRhdGEKICAgICAgICovCiAgICAgIE1ldGFEYXRhIGRhdGEo Y29uc3QgUVN0cmluZyAmZ3JvdXApIGNvbnN0OwoKICAgICAgLyoqCiAgICAgICAqIHVucGFjayBh bmQgbWVyZ2UgZW50cmllcyBmcm9tIG1ldGFkYXRhCiAgICAgICAqLwogICAgICB2b2lkIHNldERh dGEoY29uc3QgUVN0cmluZyAmZ3JvdXAsIGNvbnN0IE1ldGFEYXRhICZkYXRhKTsKCiAgIHByb3Rl Y3RlZDoKICAgICAgLyoqCiAgICAgICAqIGNvbnN0cnVjdG9yCiAgICAgICAqIElmIGdyb3VwIGlz IG51bGwsIHRoZW4gYSBuZXcgS0NvbmZpZyBpcyBwYXNzZWQgdG8gb2JqZWN0LCBmb3Igd2hpY2gg CiAgICAgICAqIHRoaXMgb2JqZWN0IGhhcyB0aGUgcmVzcG9uc2liaWxpdHkgdG8gZGVsZXRlIGl0 LgogICAgICAgKiBJZiBncm91cCBpcyBub3QgbnVsbCwgdGhlIEtDb25maWcgb2JqZWN0IHBhc3Nl ZCBpcyBzaGFyZWQgYW1vbmdzCiAgICAgICAqIHNpYmxpbmcgbWFuYWdlcnMgYW5kIGZhY3Rvcnku CiAgICAgICAqLwogICAgICBTbGF2ZU1hbmFnZXIoS0NvbmZpZyAqbG9jYWwsIEtDb25maWcgKmds b2JhbCwgY29uc3QgUVN0cmluZyAmZ3JvdXApOwoKICAgICAgLyoqCiAgICAgICAqIGJ1aWxkIHJl YWwgZ3JvdXAgbmFtZSAKICAgICAgICovCiAgICAgIFFTdHJpbmcgZ3JvdXAoY29uc3QgUVN0cmlu ZyAmZ3JvdXApIGNvbnN0OwogICAgICAKICAgcHJpdmF0ZToKICAgICAgS0NvbmZpZyAqX2xjbENm ZywgKl9nbGJDZmc7CiAgICAgIFFTdHJpbmcgX2dycDsKICAgfTsKCgogICAvKioKICAgICogRmFj dG9yeSBmb3IgU2xhdmVNYW5hZ2VyIG9iamVjdHMuCiAgICAqIEhhbmRsZSBjcmVhdGVkIG1hbmFn ZXJzIGludGVybmFsbHksIAogICAgKiBleHRlbmRpbmcgdGhlIHNldC9nZXQgaW50ZXJmYWNlIHRv IG1hbmFnZXIncyBlbnRyaWVzIHdpdGggYSBwYXJhbWV0ZXIgdG8gCiAgICAqIHNwZWNpZnkgdGhl IHByb3RvY29sLgogICAgKi8KICAgY2xhc3MgU2xhdmVNYW5hZ2VyR2xvYmFsIDogcHVibGljIFNs YXZlTWFuYWdlckZhY3RvcnkKICAgewogICBwdWJsaWM6CiAgICAgIC8qKgogICAgICAgKiBjb25z dHJ1Y3RvcgogICAgICAgKiBAcGFyYW0gbG9jYWxDb25maWcgYXBwbGljYXRpb24td2lkZSBjb25m aWd1cmF0aW9uCiAgICAgICAqIEBwYXJhbSBnbG9iYWxDb25maWcgZGVza3RvcC13aWRlIGNvbmZp Z3VyYXRpb24KICAgICAgICovCiAgICAgIFNsYXZlTWFuYWdlckdsb2JhbChLQ29uZmlnICpsb2Nh bENvbmZpZywgS0NvbmZpZyAqZ2xvYmFsQ29uZmlnKTsKCiAgICAgIH5TbGF2ZU1hbmFnZXJHbG9i YWwoKTsKCiAgICAgIC8qKgogICAgICAgKiByZXRyaWV2ZSBvciBjcmVhdGUgaWYgbm90IGV4aXN0 ZW50IGEgbmV3IG1hbmFnZXIgZm9yIHByb3RvY29sCiAgICAgICAqLwogICAgICBTbGF2ZU1hbmFn ZXIgKiBtYW5hZ2VyKGNvbnN0IFFTdHJpbmcgJnByb3RvY29sKTsKCiAgICAgIC8qKgogICAgICAg KiBRdWVyeSBtYW5hZ2VyIGFzc29jaWF0ZSB0byBwcm90b2NvbCwgY3JlYXRpbmcgaXQgaWYgaXQg aXMgbm90IGV4aXN0ZW50LgogICAgICAgKi8KICAgICAgUVN0cmluZyBlbnRyeShjb25zdCBRU3Ry aW5nICZwcm90b2NvbCwgY29uc3QgUVN0cmluZyAmZ3JvdXAsIAoJCSAgICBjb25zdCBRU3RyaW5n ICZrZXkpOwoKICAgICAgLyoqCiAgICAgICAqIFNldCBrZXksIHZhbHVlIHBhaXIgaW4gbWFuYWdl ciBhc3NvY2lhdGUgdG8gcHJvdG9jb2wsIGNyZWF0aW5nIGl0IGlmIGl0CiAgICAgICAqIGlzIG5v dCBleGlzdGVudC4KICAgICAgICovCiAgICAgIHZvaWQgc2V0RW50cnkoY29uc3QgUVN0cmluZyAm cHJvdG9jb2wsIGNvbnN0IFFTdHJpbmcgJmdyb3VwLCAKCQkgICAgY29uc3QgUVN0cmluZyAma2V5 LCBjb25zdCBRU3RyaW5nICZ2YWx1ZSk7CiAgICAgIAogICAgICAvKioKICAgICAgICogcmVtb3Zl IHRoZSBlbnRyeSBhc3NvY2lhdGVkIHdpdGgga2V5CiAgICAgICAqLwogICAgICB2b2lkIHJlbW92 ZUVudHJ5KGNvbnN0IFFTdHJpbmcgJnByb3RvY29sLCBjb25zdCBRU3RyaW5nICZncm91cCwgCgkJ ICAgICAgIGNvbnN0IFFTdHJpbmcgJmtleSk7CgogICBwcml2YXRlOgogICAgICBRRGljdDxTbGF2 ZU1hbmFnZXI+IF9tYW5hZ2VyczsKICAgfTsKCn07IC8vIG5hbWVzcGFjZSBLSU8KCiNlbmRpZgo= --------------Boundary-00=_SOAX7BXTNFUOMP2HO98N Content-Type: text/x-c; charset="iso-8859-1"; name="slavemanager.cpp" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="slavemanager.cpp" LyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBsaWJyYXJpZXMKCiAgIFRoaXMgbGlicmFy eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAgbW9k aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK ICAgTGljZW5zZSB2ZXJzaW9uIDIgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24uCgogICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICAgTGlicmFyeSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl CiAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ ZiBub3QsIHdyaXRlIHRvCiAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5 IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKICAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0Eu CiovCgoKI2luY2x1ZGUgInNsYXZlbWFuYWdlci5oIgoKdXNpbmcgbmFtZXNwYWNlIEtJTzsKClNs YXZlTWFuYWdlckZhY3Rvcnk6OlNsYXZlTWFuYWdlckZhY3RvcnkoS0NvbmZpZyAqbG9jYWxDb25m aWcsIAoJCQkJCSBLQ29uZmlnICpnbG9iYWxDb25maWcpCiAgIDogX2dsYkNmZyhnbG9iYWxDb25m aWcpLCBfbGNsQ2ZnKGxvY2FsQ29uZmlnKQp7Cn0KClNsYXZlTWFuYWdlckZhY3Rvcnk6On5TbGF2 ZU1hbmFnZXJGYWN0b3J5KCkKewp9CgpTbGF2ZU1hbmFnZXIgKiBTbGF2ZU1hbmFnZXJGYWN0b3J5 OjptYW5hZ2VyKGNvbnN0IFFTdHJpbmcgJnByb3RvKQp7CiAgIFFTdHJpbmcgZ3JwOwogICBLQ29u ZmlnICpsY2xDZmcsICpnbGJDZmc7CiAgIC8vIGlmIHRoZSBwcm90b2NvbCBpcyB1bmtub3duLCBh dXRvbWF0aWNhbGx5IGNyZWF0ZSBhIG5ldyBlbnRyeSBmb3IgaXQKICAgX2dsYkNmZy0+c2V0R3Jv dXAocHJvdG8pOwogICBfbGNsQ2ZnLT5zZXRHcm91cChwcm90byk7CiAgIGlmIChfZ2xiQ2ZnLT5o YXNLZXkoImNvbmZpZ0ZpbGUiKSkKICAgewogICAgICAvLyBjb25maWcgZm9yIHRoaXMgcHJvdG9j b2wgaXMgY29udGFpbmVkIGluIGEgc2VwYXJhdGUgZmlsZSAKICAgICAgZ2xiQ2ZnID0gbmV3IEtD b25maWcoX2dsYkNmZy0+cmVhZEVudHJ5KCJjb25maWdGaWxlIikpOwogICAgICBsY2xDZmcgPSBu ZXcgS0NvbmZpZyhfbGNsQ2ZnLT5yZWFkRW50cnkoImNvbmZpZ0ZpbGUiKSk7CiAgICAgIGdycCA9 IFFTdHJpbmc6Om51bGw7CiAgIH0KICAgZWxzZQogICB7CiAgICAgIC8vIGNvbmZpZyBkYXRhIGlz IGNvbnRhaW5lZCBpbiBtYWluIGNvbmZpZwogICAgICBnbGJDZmcgPSBfZ2xiQ2ZnOwogICAgICBs Y2xDZmcgPSBfbGNsQ2ZnOwogICAgICBncnAgPSBwcm90bzsKICAgfQogICByZXR1cm4gbmV3IFNs YXZlTWFuYWdlcihsY2xDZmcsIGdsYkNmZywgZ3JwKTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KClNsYXZl TWFuYWdlcjo6U2xhdmVNYW5hZ2VyKEtDb25maWcgKmxvY2FsLCBLQ29uZmlnICpnbG9iYWwsIGNv bnN0IFFTdHJpbmcgJmdyb3VwKQogICA6IF9sY2xDZmcobG9jYWwpLCBfZ2xiQ2ZnKGdsb2JhbCks IF9ncnAoZ3JvdXApCnsKfQoKU2xhdmVNYW5hZ2VyOjp+U2xhdmVNYW5hZ2VyKCkKewogICBpZiAo X2dycC5pc0VtcHR5KCkpCiAgIHsKICAgICAgZGVsZXRlIF9sY2xDZmc7CiAgICAgIGRlbGV0ZSBf Z2xiQ2ZnOwogICB9Cn0KClFTdHJpbmcgU2xhdmVNYW5hZ2VyOjpncm91cChjb25zdCBRU3RyaW5n ICZncnApIGNvbnN0CnsKICAgaWYgKGdycC5pc0VtcHR5KCkpCiAgICAgIHJldHVybiBfZ3JwOwog ICBpZiAoX2dycC5pc0VtcHR5KCkpCiAgICAgIHJldHVybiBncnA7CiAgIHJldHVybiBRU3RyaW5n KCIlMSAlMiIpLmFyZyhfZ3JwKS5hcmcoZ3JwKTsKfQoKUVN0cmluZyBTbGF2ZU1hbmFnZXI6OmVu dHJ5KGNvbnN0IFFTdHJpbmcgJmdycCwgY29uc3QgUVN0cmluZyAma2V5KSBjb25zdAp7CiAgIFFT dHJpbmcgZyA9IGdyb3VwKGdycCk7CgogICBfbGNsQ2ZnLT5zZXRHcm91cChnKTsKICAgaWYgKF9s Y2xDZmctPmhhc0tleShrZXkpKQogICAgICByZXR1cm4gX2xjbENmZy0+cmVhZEVudHJ5KGtleSk7 CgogICBfZ2xiQ2ZnLT5zZXRHcm91cChnKTsKICAgaWYgKF9nbGJDZmctPmhhc0tleShrZXkpKQog ICAgICByZXR1cm4gX2dsYkNmZy0+cmVhZEVudHJ5KGtleSk7CgogICByZXR1cm4gUVN0cmluZzo6 bnVsbDsKfQoKdm9pZCBTbGF2ZU1hbmFnZXI6OnNldEVudHJ5KGNvbnN0IFFTdHJpbmcgJmdycCwg Y29uc3QgUVN0cmluZyAma2V5LCAKCQkJICAgIGNvbnN0IFFTdHJpbmcgJnZhbHVlKQp7CiAgIF9s Y2xDZmctPnNldEdyb3VwKGdyb3VwKGdycCkpOwogICBfbGNsQ2ZnLT53cml0ZUVudHJ5KGtleSwg dmFsdWUpOwp9Cgp2b2lkIFNsYXZlTWFuYWdlcjo6cmVtb3ZlRW50cnkoY29uc3QgUVN0cmluZyAm LCBjb25zdCBRU3RyaW5nICYpCnsKICAgLy8gd2h5IHRoZXJlIGlzbid0IGEgZGVsZXRlRW50cnkg bWV0aG9kIGluIEtDb25maWc/CiAgIC8vIHNvbWUgaGFjayB0byBwZXJmb3JtIHRoaXMsIGFzIGlz IG5lZWRlZCB0byBwYXNzIGZyb20gbG9jYWwgdG8gZ2xvYmFsIAogICAvLyBtYXBwaW5nLgp9CgpN ZXRhRGF0YSBTbGF2ZU1hbmFnZXI6OmRhdGEoY29uc3QgUVN0cmluZyAmZ3JwKSBjb25zdAp7CiAg IFFTdHJpbmcgZyA9IGdyb3VwKGdycCk7CiAgIC8vTWV0YURhdGEgbWV0YWRhdGEgPSBfbGNsQ2Zn LT5lbnRyeU1hcChnKTsgYWRkIGFuIG9wZXJhdG9yPSB0byBNZXRhRGF0YQogICBNZXRhRGF0YSBt ZXRhZGF0YTsKICAgUU1hcDxRU3RyaW5nLCBRU3RyaW5nPiBtYXAgPSBfbGNsQ2ZnLT5lbnRyeU1h cChnKTsKICAgZm9yIChRTWFwPFFTdHJpbmcsIFFTdHJpbmc+OjpDb25zdEl0ZXJhdG9yIGl0ID0g bWFwLmJlZ2luKCk7IAoJaXQgIT0gbWFwLmVuZCgpOyArK2l0KQogICAgICBtZXRhZGF0YS5pbnNl cnQoaXQua2V5KCksIGl0LmRhdGEoKSk7CiAgIAogICAvLyBhZGQgdGhlIGdsb2JhbCBlbnRyaWVz IG5vdCBjb250YWluZWQgaW4gbG9jYWwKICAgbWFwID0gX2dsYkNmZy0+ZW50cnlNYXAoZyk7CiAg IGZvciAoUU1hcDxRU3RyaW5nLCBRU3RyaW5nPjo6Q29uc3RJdGVyYXRvciBpdCA9IG1hcC5iZWdp bigpOyAKCWl0ICE9IG1hcC5lbmQoKTsgKytpdCkKICAgICAgaWYgKCFtZXRhZGF0YS5jb250YWlu cyhpdC5rZXkoKSkpCgkgbWV0YWRhdGEuaW5zZXJ0KGl0LmtleSgpLCBpdC5kYXRhKCkpOwogICBy ZXR1cm4gbWV0YWRhdGE7Cn0KCnZvaWQgU2xhdmVNYW5hZ2VyOjpzZXREYXRhKGNvbnN0IFFTdHJp bmcgJmdycCwgY29uc3QgTWV0YURhdGEgJmRhdGEpCnsKICAgUVN0cmluZyBnID0gZ3JvdXAoZ3Jw KTsKICAgX2xjbENmZy0+c2V0R3JvdXAoZyk7CiAgIGZvciAoUU1hcDxRU3RyaW5nLCBRU3RyaW5n Pjo6Q29uc3RJdGVyYXRvciBpdCA9IGRhdGEuYmVnaW4oKTsgCglpdCAhPSBkYXRhLmVuZCgpOyAr K2l0KQogICAgICBfbGNsQ2ZnLT53cml0ZUVudHJ5KGl0LmtleSgpLCBpdC5kYXRhKCkpOwp9Cgov Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vCgpTbGF2ZU1hbmFnZXJHbG9iYWw6OlNsYXZlTWFuYWdlckdsb2JhbChL Q29uZmlnICpsb2NhbENvbmZpZywgCgkJCQkgICAgICAgS0NvbmZpZyAqZ2xvYmFsQ29uZmlnKQog ICA6IFNsYXZlTWFuYWdlckZhY3RvcnkobG9jYWxDb25maWcsIGdsb2JhbENvbmZpZykKewp9CgpT bGF2ZU1hbmFnZXJHbG9iYWw6On5TbGF2ZU1hbmFnZXJHbG9iYWwoKQp7CiAgIF9tYW5hZ2Vycy5z ZXRBdXRvRGVsZXRlKHRydWUpOwp9CgpTbGF2ZU1hbmFnZXIgKiBTbGF2ZU1hbmFnZXJHbG9iYWw6 Om1hbmFnZXIoY29uc3QgUVN0cmluZyAmcHJvdG9jb2wpCnsKICAgU2xhdmVNYW5hZ2VyICptID0g X21hbmFnZXJzLmZpbmQocHJvdG9jb2wpOwogICBpZiAobSA9PSAwKQogICB7CiAgICAgIG0gPSBT bGF2ZU1hbmFnZXJGYWN0b3J5OjptYW5hZ2VyKHByb3RvY29sKTsKICAgICAgX21hbmFnZXJzLmlu c2VydChwcm90b2NvbCwgbSk7CiAgIH0KICAgcmV0dXJuIG07Cn0KClFTdHJpbmcgU2xhdmVNYW5h Z2VyR2xvYmFsOjplbnRyeShjb25zdCBRU3RyaW5nICZwcm90b2NvbCwgY29uc3QgUVN0cmluZyAm Z3JvdXAsIAoJCQkJICBjb25zdCBRU3RyaW5nICZrZXkpCnsKICAgcmV0dXJuIG1hbmFnZXIocHJv dG9jb2wpLT5lbnRyeShncm91cCwga2V5KTsKfQoKdm9pZCBTbGF2ZU1hbmFnZXJHbG9iYWw6OnNl dEVudHJ5KGNvbnN0IFFTdHJpbmcgJnByb3RvY29sLCBjb25zdCBRU3RyaW5nICZncm91cCwgCgkJ CQkgIGNvbnN0IFFTdHJpbmcgJmtleSwgY29uc3QgUVN0cmluZyAmdmFsdWUpCnsKICAgbWFuYWdl cihwcm90b2NvbCktPnNldEVudHJ5KGdyb3VwLCBrZXksIHZhbHVlKTsKfQogICAgICAKdm9pZCBT bGF2ZU1hbmFnZXJHbG9iYWw6OnJlbW92ZUVudHJ5KGNvbnN0IFFTdHJpbmcgJnByb3RvY29sLCAK CQkJCSAgICAgY29uc3QgUVN0cmluZyAmZ3JvdXAsIGNvbnN0IFFTdHJpbmcgJmtleSkKewogICBt YW5hZ2VyKHByb3RvY29sKS0+cmVtb3ZlRW50cnkoZ3JvdXAsIGtleSk7Cn0K --------------Boundary-00=_SOAX7BXTNFUOMP2HO98N Content-Type: text/plain; charset="iso-8859-1"; name="kiopatch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="kiopatch" PyBzbGF2ZW1hbmFnZXIuaAo/IHNsYXZlbWFuYWdlci5jcHAKSW5kZXg6IE1ha2VmaWxlLmFtCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2tkZS9rZGVsaWJzL2tpby9NYWtlZmlsZS5hbSx2CnJl dHJpZXZpbmcgcmV2aXNpb24gMS4xNDUKZGlmZiAtdSAtMyAtcCAtcjEuMTQ1IE1ha2VmaWxlLmFt Ci0tLSBNYWtlZmlsZS5hbQkyMDAxLzAzLzE0IDE0OjE2OjQ1CTEuMTQ1CisrKyBNYWtlZmlsZS5h bQkyMDAxLzAzLzI4IDE2OjA0OjMyCkBAIC02MCw3ICs2MCwxMSBAQCBpbmNsdWRlX0hFQURFUlMg PSBrc3ljb2NhLmgga3N5Y29jYWVudHJ5CiAJcHJvZ3Jlc3NiYXNlLmggZGVmYXVsdHByb2dyZXNz Lmggc3RhdHVzYmFycHJvZ3Jlc3MuaCBcCiAJa2ltYWdlaW8uaCBrZGlybm90aWZ5Lmgga2Rpcm5v dGlmeV9zdHViLmggXAogICAgICAgICBrdXJscGl4bWFwcHJvdmlkZXIuaCBrcHJvdG9jb2xpbmZv Lmgga3Byb3RvY29sbWFuYWdlci5oIFwKKzw8PDw8PDwgTWFrZWZpbGUuYW0KKwlrZmlsdGVyYmFz ZS5oIGtmaWx0ZXJkZXYuaCBrZW1haWxzZXR0aW5ncy5oCis9PT09PT09CiAJa2ZpbHRlcmJhc2Uu aCBrZmlsdGVyZGV2Lmgga2VtYWlsc2V0dGluZ3MuaCBrc2Nhbi5oCis+Pj4+Pj4+IDEuMTQ1CiAK IGxpYmtpb19sYV9MREZMQUdTID0gLXZlcnNpb24taW5mbyAzOjAgLW5vLXVuZGVmaW5lZCAkKGFs bF9saWJyYXJpZXMpCiBsaWJraW9fbGFfTElCQUREID0gLi4va2RldWkvbGlia2RldWkubGEgLi4v a2Rlc3UvbGlia2Rlc3UubGEgJChMSUJaKSAkKExJQkZBTSkgJChMSUJWT0xNR1QpCkBAIC03OSw3 ICs4MywxMiBAQCBsaWJraW9fbGFfU09VUkNFUyA9IFwKIAlzdGF0dXNiYXJwcm9ncmVzcy5jcHAg XAogCWtkaXJub3RpZnkuY3BwIGtkaXJub3RpZnkuc2tlbCBrZGlybm90aWZ5LnN0dWIgXAogCW9i c2VydmVyLmNwcCB1aXNlcnZlci5zdHViIG9ic2VydmVyLnNrZWwgXAorPDw8PDw8PCBNYWtlZmls ZS5hbQorCWttZGNvZGVjLmNwcCBrZW1haWxzZXR0aW5ncy5jcHAgYXV0aGluZm8uY3BwIFwKKwlz bGF2ZW1hbmFnZXIuY3BwCis9PT09PT09CiAJa2VtYWlsc2V0dGluZ3MuY3BwIGF1dGhpbmZvLmNw cAorPj4+Pj4+PiAxLjE0NQogCiBraW9fdWlzZXJ2ZXJfU09VUkNFUyA9IGR1bW15LmNwcAoga2lv X3Vpc2VydmVyX0xEQUREID0ga2lvX3Vpc2VydmVyLmxhCkBAIC0xMDEsNyArMTEwLDEyIEBAIGtp b2luY2x1ZGVfSEVBREVSUyA9IGNvbm5lY3Rpb24uaCBcCiAJc3RhdHVzYmFycHJvZ3Jlc3MuaCB1 aXNlcnZlci5oIHVpc2VydmVyX3N0dWIuaCB0Y3BzbGF2ZWJhc2UuaCBcCiAJcmVuYW1lZGxnLmgg c2tpcGRsZy5oIHNsYXZlLmggXAogCW9ic2VydmVyLmggY2htb2Rqb2IuaCBcCis8PDw8PDw8IE1h a2VmaWxlLmFtCisgICAgICAgIGtwYWMuaCBrbWRiYXNlLmgga21kY29kZWMuaCBhdXRoaW5mby5o IFwKKwlzbGF2ZW1hbmFnZXIuaAorPT09PT09PQogICAgICAgICBrcGFjLmgga21kYmFzZS5oIGF1 dGhpbmZvLmgKKz4+Pj4+Pj4gMS4xNDUKIAogIyBJbnRlcm5hbAogbm9pbnN0X0hFQURFUlMgPSBr c3ljb2NhZmFjdG9yeS5oIGtzZXJ2aWNldHlwZWZhY3RvcnkuaCBrc2VydmljZWZhY3RvcnkuaCBc CkluZGV4OiBqb2IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2tkZS9rZGVsaWJzL2tp by9qb2IuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjI0NgpkaWZmIC11IC0zIC1wIC1yMS4y NDYgam9iLmNwcAotLS0gam9iLmNwcAkyMDAxLzAzLzI4IDExOjA5OjA5CTEuMjQ2CisrKyBqb2Iu Y3BwCTIwMDEvMDMvMjggMTY6MDQ6MzkKQEAgLTU5LDYgKzU5LDcgQEAgZXh0ZXJuICJDIiB7CiAK ICNpbmNsdWRlIDxrZGlybm90aWZ5X3N0dWIuaD4KIAorCiB1c2luZyBuYW1lc3BhY2UgS0lPOwog dGVtcGxhdGUgY2xhc3MgUUxpc3Q8S0lPOjpKb2I+OwogCkBAIC0xMDYsNiArMTA3LDkgQEAgdm9p ZCBKb2I6OmFkZFN1YmpvYihKb2IgKmpvYikKICAgICBjb25uZWN0KCBqb2IsIFNJR05BTChyZXN1 bHQoS0lPOjpKb2IqKSksCiAgICAgICAgICAgICAgU0xPVChzbG90UmVzdWx0KEtJTzo6Sm9iKikp ICk7CiAKKyAgICBjb25uZWN0KCBqb2IsIFNJR05BTChuZWVkQ29uZmlndXJhdGlvbihLSU86Okpv YiosIGNvbnN0IE1ldGFEYXRhJikpLAorICAgICAgICAgICAgIFNMT1Qoc2xvdE5lZWRDb25maWd1 cmF0aW9uKEtJTzo6Sm9iKiwgY29uc3QgTWV0YURhdGEmKSkgKTsKKwogICAgIC8vIEZvcndhcmQg aW5mb3JtYXRpb24gZnJvbSB0aGF0IHN1YmpvYi4KICAgICBjb25uZWN0KCBqb2IsIFNJR05BTChz cGVlZCggS0lPOjpKb2IqLCB1bnNpZ25lZCBsb25nICkpLAogICAgICAgICAgICAgIFNMT1Qoc2xv dFNwZWVkKEtJTzo6Sm9iKiwgdW5zaWduZWQgbG9uZykpICk7CkBAIC0xNzksNiArMTgzLDExIEBA IHZvaWQgSm9iOjpraWxsKCBib29sIHF1aWV0bHkgKQogICB9CiB9CiAKK3ZvaWQgSm9iOjpzbG90 TmVlZENvbmZpZ3VyYXRpb24oIEpvYiAqLCBjb25zdCBNZXRhRGF0YSAmZGF0YSApCit7CisgICBl bWl0IG5lZWRDb25maWd1cmF0aW9uKHRoaXMsIGRhdGEpOworfQorCiB2b2lkIEpvYjo6c2xvdFJl c3VsdCggSm9iICpqb2IgKQogewogICAgIC8vIERpZCBqb2IgaGF2ZSBhbiBlcnJvciA/CkBAIC0y MzUsMTAgKzI0NCwyMyBAQCBRV2lkZ2V0ICpKb2I6OndpbmRvdygpIGNvbnN0CiAgIHJldHVybiBt X3dpbmRvdzsKIH0KIAorCitTbGF2ZU1hbmFnZXJHbG9iYWwgKiBTaW1wbGVKb2I6Om1fc2xhdmVN YW5hZ2VyID0gMDsKKworU2xhdmVNYW5hZ2VyR2xvYmFsICogU2ltcGxlSm9iOjptYW5hZ2VySW5z dGFuY2UoKQoreworICAgaWYgKG1fc2xhdmVNYW5hZ2VyID09IDApCisgICB7CisgICAgICBLQ29u ZmlnICpnbG9iYWxDb25maWcgPSAwOyAvLyBkZWZpbmUgaGVyZSB0aGUgbG9jYXRpb24gZm9yIGds b2JhbCBjb25maWcKKyAgICAgIG1fc2xhdmVNYW5hZ2VyID0gbmV3IFNsYXZlTWFuYWdlckdsb2Jh bChnbG9iYWxDb25maWcsIDApOworICAgfQorICAgcmV0dXJuIG1fc2xhdmVNYW5hZ2VyOworfQor CiBTaW1wbGVKb2I6OlNpbXBsZUpvYihjb25zdCBLVVJMJiB1cmwsIGludCBjb21tYW5kLCBjb25z dCBRQnl0ZUFycmF5ICZwYWNrZWRBcmdzLAogICAgICAgICAgICAgICAgICAgICAgYm9vbCBzaG93 UHJvZ3Jlc3NJbmZvICkKICAgOiBKb2Ioc2hvd1Byb2dyZXNzSW5mbyksIG1fc2xhdmUoMCksIG1f cGFja2VkQXJncyhwYWNrZWRBcmdzKSwKLSAgICBtX3VybCh1cmwpLCBtX2NvbW1hbmQoY29tbWFu ZCksIG1fdG90YWxTaXplKDApCisgICAgbV91cmwodXJsKSwgbV9jb21tYW5kKGNvbW1hbmQpLCBt X3RvdGFsU2l6ZSgwKSwgbV9jb25maWd1cmF0aW9uU2VudChmYWxzZSkKIHsKICAgICBpZiAobV91 cmwuaXNNYWxmb3JtZWQoKSkKICAgICB7CkBAIC0zMjcsNiArMzQ5LDkgQEAgdm9pZCBTaW1wbGVK b2I6OnN0YXJ0KFNsYXZlICpzbGF2ZSkKICAgICBjb25uZWN0KCBzbGF2ZSwgU0lHTkFMKCBuZWVk UHJvZ3Jlc3NJZCgpICksCiAgICAgICAgICAgICAgU0xPVCggc2xvdE5lZWRQcm9ncmVzc0lkKCkg KSApOwogCisgICAgY29ubmVjdCggc2xhdmUsIFNJR05BTCggbmVlZENvbmZpZ3VyYXRpb24oIGNv bnN0IE1ldGFEYXRhJiApICksCisJICAgICBTTE9UKCBzbG90U2xhdmVOZWVkQ29uZmlndXJhdGlv bihjb25zdCBNZXRhRGF0YSYgKSApICk7CisKICAgICBpZiAoIW1fc3ViVXJsLmlzRW1wdHkoKSkK ICAgICB7CiAgICAgICAgS0lPX0FSR1MgPDwgbV9zdWJVcmw7CkBAIC0zNDIsNiArMzY3LDI5IEBA IHZvaWQgU2ltcGxlSm9iOjpzbGF2ZURvbmUoKQogICAgZGlzY29ubmVjdChtX3NsYXZlKTsgLy8g UmVtb3ZlIGFsbCBzaWduYWxzIGJldHdlZW4gc2xhdmUgYW5kIGpvYgogICAgU2NoZWR1bGVyOjpq b2JGaW5pc2hlZCggdGhpcywgbV9zbGF2ZSApOwogICAgbV9zbGF2ZSA9IDA7Cit9CisKK3ZvaWQg U2ltcGxlSm9iOjpzZW5kQ29uZmlndXJhdGlvbihjb25zdCBNZXRhRGF0YSAmbWV0YWRhdGEpCit7 CisgICBtX2NvbmZpZ3VyYXRpb25TZW50ID0gdHJ1ZTsKKyAgIEtJT19BUkdTIDw8IG1ldGFkYXRh OworICAgbV9zbGF2ZS0+Y29ubmVjdGlvbigpLT5zZW5kKCBDTURfQ09ORklHLCBwYWNrZWRBcmdz KTsKK30KKwordm9pZCBTaW1wbGVKb2I6OnNsb3RTbGF2ZU5lZWRDb25maWd1cmF0aW9uKCBjb25z dCBNZXRhRGF0YSAmZGF0YSApCit7CisgICBtX2NvbmZpZ3VyYXRpb25TZW50ID0gZmFsc2U7Cisg ICBlbWl0IG5lZWRDb25maWd1cmF0aW9uKHRoaXMsIGRhdGEpOworICAgLy9GSVhNRSB3YWl0aW5n IGZvciBzb21lIHZpcnR1YWwgbWV0aG9kcworICAgLy8gaWYgdGhlIGFwcCBkb24ndCBoYW5kbGUg Y29uZmlndXJhdGlvbiwgd2UgaGF2ZSB0byBkbyBpdCBoZXJlCisgICAvLyB0aGlzIHdheSBpcyB2 YWxpZCBvbmx5IGlmIHRoZSBzZW5kQ29uZmlndXJhdGlvbiBtZXRob2QgaXMgY2FsbGVkIGluIHRo ZSAKKyAgIC8vIHNsb3QgY29ubmVjdGVkIHRvIG5lZWRDb25maWd1cmF0aW9uIHNpZ25hbC4KKyAg IGlmICghbV9jb25maWd1cmF0aW9uU2VudCkKKyAgIHsKKyAgICAgIFFTdHJpbmcgcHJvdG8gPSB1 cmwoKS5wcm90b2NvbCgpOworICAgICAgU2xhdmVNYW5hZ2VyICptbmdyID0gbWFuYWdlckluc3Rh bmNlKCktPm1hbmFnZXIocHJvdG8pOworICAgICAgc2VuZENvbmZpZ3VyYXRpb24obW5nci0+ZGF0 YShkYXRhWyJHcm91cCJdKSk7CisgICB9CiB9CiAKIHZvaWQgU2ltcGxlSm9iOjpzbG90RmluaXNo ZWQoICkKSW5kZXg6IGpvYmNsYXNzZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9rZGUv a2RlbGlicy9raW8vam9iY2xhc3Nlcy5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjc1CmRpZmYg LXUgLTMgLXAgLXIxLjc1IGpvYmNsYXNzZXMuaAotLS0gam9iY2xhc3Nlcy5oCTIwMDEvMDIvMDcg MDA6MDY6NDgJMS43NQorKysgam9iY2xhc3Nlcy5oCTIwMDEvMDMvMjggMTY6MDQ6NDEKQEAgLTM1 LDYgKzM1LDggQEAKIAogI2luY2x1ZGUgPGtpby9nbG9iYWwuaD4KIAorI2luY2x1ZGUgPGtpby9z bGF2ZW1hbmFnZXIuaD4KKwogY2xhc3MgT2JzZXJ2ZXI7CiBjbGFzcyBRVGltZXI7CiAKQEAgLTE4 Nyw2ICsxODksMTEgQEAgbmFtZXNwYWNlIEtJTyB7CiAgICAgICAgICAqLwogICAgICAgICB2b2lk IHNwZWVkKCBLSU86OkpvYiAqLCB1bnNpZ25lZCBsb25nIGJ5dGVzX3Blcl9zZWNvbmQgKTsKIAor ICAgICAgICAvKioKKwkgKiBFbWl0dGVkIG9uIHNsYXZlJ3MgY29uZmlndXJhdGlvbiByZXF1ZXN0 CisJICovCisgICAgICAgIHZvaWQgbmVlZENvbmZpZ3VyYXRpb24oIEtJTzo6Sm9iICosIGNvbnN0 IE1ldGFEYXRhICYpOworCiAgICAgcHJvdGVjdGVkIHNsb3RzOgogICAgICAgICAvKioKICAgICAg ICAgICogQ2FsbGVkIHdoZW5ldmVyIGEgc3Viam9iIGZpbmlzaGVzLgpAQCAtMTk3LDYgKzIwNCwx MiBAQCBuYW1lc3BhY2UgS0lPIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHNsb3RSZXN1bHQoIEtJ Tzo6Sm9iICpqb2IgKTsKIAogICAgICAgICAvKioKKwkgKiBDYWxsZWQgd2hlbmV2ZXIgYSBzbGF2 ZSBjb25uZWN0ZWQgdG8gYSBzdWJqb2Igc2VuZCBhIAorCSAqIGNvbmZpZ3VyYXRpb24ncyByZXF1 ZXN0CisJICovCisgICAgICAgIHZvaWQgc2xvdE5lZWRDb25maWd1cmF0aW9uKEtJTzo6Sm9iICpq b2IsIGNvbnN0IE1ldGFEYXRhICZkYXRhKTsKKworICAgICAgICAvKioKICAgICAgICAgICogRm9y d2FyZCBzaWduYWwgZnJvbSBzdWJqb2IKICAgICAgICAgICovCiAgICAgICAgIHZvaWQgc2xvdFNw ZWVkKCBLSU86OkpvYiosIHVuc2lnbmVkIGxvbmcgYnl0ZXNfcGVyX3NlY29uZCApOwpAQCAtMzE1 LDYgKzMyOCwyMCBAQCBuYW1lc3BhY2UgS0lPIHsKICAgICAgICAgICovCiAgICAgICAgIGludCBj b21tYW5kKCkgeyByZXR1cm4gbV9jb21tYW5kOyB9CiAKKyAgICAgICAgLyoqCisJICogU2VuZCBj b25maWd1cmF0aW9uIHRvIHNsYXZlLgorCSAqIFlvdSBoYXZlIHRvIHVzZSB0aGlzIG1ldGhvZCBm cm9tIHRoZSBzbG90IGNvbm5lY3RlZCB0byBuZWVkQ29ubmVjdGlvbiAKKwkgKiBzaWduYWwsIGJl Y2F1c2UgYWZ0ZXIgdGhlIHNsYXZlIGhhcyBlbWl0dGVkIG5lZWRDb25maWd1cmF0aW9uLCBpdCAK KwkgKiBleHBlY3RzIHRoYXQgaXRzIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gdXBkYXRlZCwgYW5k IHRoZSBqb2Itc3Viam9iIAorCSAqIHN0cnVjdHVyZSBuZWVkcyB0aGlzIHRvby4KKwkgKi8KKyAg ICAgICAgdm9pZCBzZW5kQ29uZmlndXJhdGlvbihjb25zdCBNZXRhRGF0YSAmKTsKKworICAgICAg ICAvKioKKwkgKiBnbG9iYWwgaW5zdGFuY2UgZm9yIG1hbmFnZXIncyBtYW5hZ2VtZW50cworCSAq LworICAgICAgICBzdGF0aWMgU2xhdmVNYW5hZ2VyR2xvYmFsICogbWFuYWdlckluc3RhbmNlKCk7 CisKICAgICBwcm90ZWN0ZWQgc2xvdHM6CiAgICAgICAgIC8qKgogICAgICAgICAgKiBDYWxsZWQg d2hlbiB0aGUgc2xhdmUgbWFya3MgdGhlIGpvYgpAQCAtMzUxLDYgKzM3OCwxNSBAQCBuYW1lc3Bh Y2UgS0lPIHsKICAgICAgICAgICovCiAgICAgICAgIHZvaWQgc2xvdFNwZWVkKCB1bnNpZ25lZCBs b25nIGJ5dGVzX3Blcl9zZWNvbmQgKTsKIAorICAgICAgICAvKioKKwkgKiBDYWxsZWQgd2hlbiB0 aGUgc2xhdmUgbmVlZHMgY29uZmlndXJhdGlvbiBkYXRhLiBFbWl0IAorCSAqIG5lZWRDb25maWd1 cmF0aW9uIHNpZ25hbCwgYW5kIHNlbmQgZ2xvYmFsIGNvbmZpZyBpZiBubyBkYXRhIGhhcyBiZWVu CisJICogc2VudCAoaS5lLiBpZiBuZWVkQ29uZmlndXJhdGlvbiBzaWduYWwgb2YgbWFpbiBqb2Ig aXMgbm90IGhhbmRsZWQpLgorCSAqIFRvIHNlbGVjdCB0aGUgImdyb3VwIiBvZiBlbnRyaWVzIG5l ZWRlZCwgdGhlIHNsYXZlIHVzZSB0aGUga2V5IAorCSAqICJHcm91cCIuCisJICovCisgICAgICAg IHZvaWQgc2xvdFNsYXZlTmVlZENvbmZpZ3VyYXRpb24oIGNvbnN0IE1ldGFEYXRhICZkYXRhICk7 CisKICAgICBwdWJsaWMgc2xvdHM6CiAgICAgICAgIC8qKgogICAgICAgICAgKiBAaW50ZXJuYWwK QEAgLTM3Miw2ICs0MDgsMTAgQEAgbmFtZXNwYWNlIEtJTyB7CiAgICAgICAgIEtVUkwgbV9zdWJV cmw7CiAgICAgICAgIGludCBtX2NvbW1hbmQ7CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgbV90b3Rh bFNpemU7CisgICAgICAgIGJvb2wgbV9jb25maWd1cmF0aW9uU2VudDsKKworICAgIHByaXZhdGU6 CisgICAgICAgc3RhdGljIFNsYXZlTWFuYWdlckdsb2JhbCAqbV9zbGF2ZU1hbmFnZXI7CiAgICAg fTsKIAogICAgIC8vIFN0YXQgSm9iCkluZGV4OiBzbGF2ZWJhc2UuY3BwCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT IGZpbGU6IC9ob21lL2tkZS9rZGVsaWJzL2tpby9zbGF2ZWJhc2UuY3BwLHYKcmV0cmlldmluZyBy ZXZpc2lvbiAxLjczCmRpZmYgLXUgLTMgLXAgLXIxLjczIHNsYXZlYmFzZS5jcHAKLS0tIHNsYXZl YmFzZS5jcHAJMjAwMS8wMy8yMyAxMTozNTo1OQkxLjczCisrKyBzbGF2ZWJhc2UuY3BwCTIwMDEv MDMvMjggMTY6MDQ6NDQKQEAgLTU5LDYgKzU5LDcgQEAgbmFtZXNwYWNlIEtJTyB7CiBjbGFzcyBT bGF2ZUJhc2VQcml2YXRlIHsKIHB1YmxpYzoKICAgICBRU3RyaW5nIHNsYXZlaWQ7CisgICAgTWV0 YURhdGEgY29uZmlndXJhdGlvbjsKICAgICBib29sIHJlc3VtZToxOwogICAgIGJvb2wgbmVlZFNl bmRDYW5SZXN1bWU6MTsKIH07CkBAIC05Myw2ICs5NCw4IEBAIFNsYXZlQmFzZTo6U2xhdmVCYXNl KCBjb25zdCBRQ1N0cmluZyAmcHIKICAgICBkLT5zbGF2ZWlkICs9IFFTdHJpbmc6Om51bWJlcihn ZXRwaWQoKSk7CiAgICAgZC0+cmVzdW1lID0gZmFsc2U7CiAgICAgZC0+bmVlZFNlbmRDYW5SZXN1 bWUgPSBmYWxzZTsKKyAgICAvLyBzZXQgaW5pdGlhbCBjb25maWd1cmF0aW9uCisgICAgLy9kLT5j b25maWd1cmF0aW9uID0gPz87CiB9CiAKIFNsYXZlQmFzZTo6flNsYXZlQmFzZSgpCkBAIC0yNDYs NiArMjQ5LDEyIEBAIHZvaWQgU2xhdmVCYXNlOjpuZWVkU3ViVVJMRGF0YSgpCiAgICAgbV9wQ29u bmVjdGlvbi0+c2VuZCggTVNHX05FRURfU1VCVVJMX0RBVEEgKTsKIH0KIAordm9pZCBTbGF2ZUJh c2U6Om5lZWRDb25maWd1cmF0aW9uKGNvbnN0IE1ldGFEYXRhICZtZXRhX2RhdGEpCit7CisgICBL SU9fREFUQSA8PCBtZXRhX2RhdGE7CisgICAgbV9wQ29ubmVjdGlvbi0+c2VuZCggTVNHX05FRURf Q09ORklHLCBkYXRhICk7Cit9CisKIHZvaWQgU2xhdmVCYXNlOjpzbGF2ZVN0YXR1cyggY29uc3Qg UVN0cmluZyAmaG9zdCwgYm9vbCBjb25uZWN0ZWQgKQogewogICAgIHBpZF90IHBpZCA9IGdldHBp ZCgpOwpAQCAtMzEwLDYgKzMxOSw3IEBAIHZvaWQgU2xhdmVCYXNlOjptaW1lVHlwZSggY29uc3Qg UVN0cmluZyAKICAgICAgICB9CiAgICAgICAgaWYgKCAoY21kID09IENNRF9SRVBBUlNFQ09ORklH VVJBVElPTikgfHwKICAgICAgICAgICAgIChjbWQgPT0gQ01EX01FVEFfREFUQSkgfHwKKwkgICAg KGNtZCA9PSBDTURfQ09ORklHKSB8fCAvL0ZJWE1FIGlzIHRoaXMgY29ycmVjdD8KICAgICAgICAg ICAgIChjbWQgPT0gQ01EX1NVQlVSTCkgKQogICAgICAgIHsKICAgICAgICAgICBkaXNwYXRjaCgg Y21kLCBkYXRhICk7CkBAIC00NTgsNiArNDY4LDE3IEBAIHZvaWQgU2xhdmVCYXNlOjpzZXRIb3N0 KFFTdHJpbmcgY29uc3QgJmgKICAgICBrZERlYnVnKCA3MDE5ICkgPDwgInNldEhvc3QoIGhvc3Qg PSAiIDw8IGhvc3QgPDwgIikiIDw8IGVuZGw7CiB9CiAKK3ZvaWQgU2xhdmVCYXNlOjpzZXRDb25m aWd1cmF0aW9uKGNvbnN0IE1ldGFEYXRhICZtZXRhZGF0YSkKK3sKKyAgIC8vIHNhdmUgbWV0YWRh dGEgdG8gbG9jYWwKKyAgIGQtPmNvbmZpZ3VyYXRpb24gPSBtZXRhZGF0YTsKK30KKworTWV0YURh dGEgU2xhdmVCYXNlOjpjb25maWd1cmF0aW9uKCkgY29uc3QKK3sKKyAgIHJldHVybiBkLT5jb25m aWd1cmF0aW9uOworfQorCiB2b2lkIFNsYXZlQmFzZTo6b3BlbkNvbm5lY3Rpb24odm9pZCkKIHsg ZXJyb3IoICBFUlJfVU5TVVBQT1JURURfQUNUSU9OLCAib3BlbiIgKTsgfQogdm9pZCBTbGF2ZUJh c2U6OmNsb3NlQ29ubmVjdGlvbih2b2lkKQpAQCAtNDk0LDYgKzUxNSw5IEBAIHZvaWQgU2xhdmVC YXNlOjpzbGF2ZV9zdGF0dXMoKQogCiB2b2lkIFNsYXZlQmFzZTo6cmVwYXJzZUNvbmZpZ3VyYXRp b24oKQogeworICAgIC8vIGZpbGwgd2l0aCBpbmZvcyBmb3Igam9iCisgICAgTWV0YURhdGEgZGF0 YTsKKyAgICBuZWVkQ29uZmlndXJhdGlvbihkYXRhKTsKIH0KIAogYm9vbCBTbGF2ZUJhc2U6OmRp c3BhdGNoKCkKQEAgLTY0MCw5ICs2NjQsMTQgQEAgdm9pZCBTbGF2ZUJhc2U6OmRpc3BhdGNoKCBp bnQgY29tbWFuZCwgYwogICAgICAgICBzbGF2ZV9zdGF0dXMoKTsKICAgICAgICAgYnJlYWs7CiAg ICAgY2FzZSBDTURfUkVQQVJTRUNPTkZJR1VSQVRJT046Ci0gICAgICAgIEtQcm90b2NvbE1hbmFn ZXI6OnJlcGFyc2VDb25maWd1cmF0aW9uKCk7CisgICAgICAgIC8vS1Byb3RvY29sTWFuYWdlcjo6 cmVwYXJzZUNvbmZpZ3VyYXRpb24oKTsgdG8gcmVtb3ZlCiAgICAgICAgIHJlcGFyc2VDb25maWd1 cmF0aW9uKCk7CiAJYnJlYWs7CisgICAgY2FzZSBDTURfQ09ORklHOiB7CisgICAgICAgIE1ldGFE YXRhIG1ldGFfZGF0YTsKKyAgICAgICAgc3RyZWFtID4+IG1ldGFfZGF0YTsKKwlzZXRDb25maWd1 cmF0aW9uKG1ldGFfZGF0YSk7CisgICAgfQogICAgIGNhc2UgQ01EX0dFVDogewogICAgICAgICBz dHJlYW0gPj4gdXJsOwogCWdldCggdXJsICk7CkluZGV4OiBzbGF2ZWJhc2UuaAo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 ClJDUyBmaWxlOiAvaG9tZS9rZGUva2RlbGlicy9raW8vc2xhdmViYXNlLmgsdgpyZXRyaWV2aW5n IHJldmlzaW9uIDEuNTIKZGlmZiAtdSAtMyAtcCAtcjEuNTIgc2xhdmViYXNlLmgKLS0tIHNsYXZl YmFzZS5oCTIwMDEvMDMvMjMgMTE6MzU6NTkJMS41MgorKysgc2xhdmViYXNlLmgJMjAwMS8wMy8y OCAxNjowNDo0NgpAQCAtNTksNiArNTksMTIgQEAgcHVibGljOgogICAgIENvbm5lY3Rpb24gKmNv bm5lY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX3BDb25uZWN0aW9uOyB9CiAKIAorICAgIC8qKgor ICAgICAqIGdldCBzbGF2ZSdzIGNvbmZpZ3VyYXRpb24KKyAgICAgKiBGSVhNRSBtYXliZSBpdCdz IGJldHRlciB0byBkZWZpbmUgdGhpcyBhcyBwcm90ZWN0ZWQKKyAgICAgKi8KKyAgICBNZXRhRGF0 YSBjb25maWd1cmF0aW9uKCkgY29uc3Q7CisKICAgICAvLy8vLy8vLy8vLwogICAgIC8vIE1lc3Nh Z2UgU2lnbmFscyB0byBzZW5kIHRvIHRoZSBqb2IKICAgICAvLy8vLy8vLy8vLwpAQCAtMTAwLDYg KzEwNiwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBuZWVkU3ViVVJMRGF0YSgpOwogCiAgICAgLyoq CisgICAgICogQ2FsbCB0byBzaWduYWwgYSByZXF1ZXN0IGZvciBzbGF2ZSBjb25maWd1cmF0aW9u IGRhdGEKKyAgICAgKiBAcGFyYW0gZGF0YSBpbmZvcm1hdGlvbnMgZm9yIGpvYiB0byBrbm93IHRo ZSBzbGF2ZSdzIHN0YXRlCisgICAgICogdG8gc2VsZWN0IHRoZSAiZ3JvdXAiIG9mIGVudHJpZXMg bmVlZGVkLCB1c2UgdGhlIGtleSAiR3JvdXAiLgorICAgICAqLworICAgIHZvaWQgbmVlZENvbmZp Z3VyYXRpb24oY29uc3QgTWV0YURhdGEgJmRhdGEpOworCisgICAgLyoqCiAgICAgICogVXNlZCB0 byByZXBvcnQgdGhlIHN0YXR1cyBvZiB0aGUgc2xhdmUuCiAgICAgICogQHBhcmFtIGhvc3QgdGhl IHNsYXZlIGlzIGN1cnJlbnRseSBjb25uZWN0ZWQgdG8uIChTaG91bGQgYmUKICAgICAgKiAgICAg ICAgZW1wdHkgaWYgbm90IGNvbm5lY3RlZCkKQEAgLTIzMCw2ICsyNDMsMTEgQEAgcHVibGljOgog ICAgIC8vIENvbW1hbmRzIHNlbnQgYnkgdGhlIGpvYiwgdGhlIHNsYXZlIGhhcyB0byBvdmVycmlk ZSB3aGF0IGl0IHdhbnRzIHRvIGltcGxlbWVudAogICAgIC8vLy8vLy8vLy8vCiAKKyAgICAvKioK KyAgICAgKiBTZXQgdGhlIHNsYXZlIGNvbmZpZworICAgICAqLworICAgIHZvaWQgc2V0Q29uZmln dXJhdGlvbihjb25zdCBNZXRhRGF0YSAmZGF0YSk7CisgICAgCiAgICAgLyoqCiAgICAgICogU2V0 IHRoZSBob3N0CiAgICAgICogQHBhcmFtIGhvc3QKSW5kZXg6IHNsYXZlaW50ZXJmYWNlLmNwcAo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9rZGUva2RlbGlicy9raW8vc2xhdmVpbnRlcmZhY2Uu Y3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjUwCmRpZmYgLXUgLTMgLXAgLXIxLjUwIHNsYXZl aW50ZXJmYWNlLmNwcAotLS0gc2xhdmVpbnRlcmZhY2UuY3BwCTIwMDEvMDMvMjMgMTE6MzU6NTkJ MS41MAorKysgc2xhdmVpbnRlcmZhY2UuY3BwCTIwMDEvMDMvMjggMTY6MDQ6NDcKQEAgLTEyNSw3 ICsxMjUsNiBAQCBib29sIFNsYXZlSW50ZXJmYWNlOjpkaXNwYXRjaCggaW50IF9jbWQsCiAgICAg Y2FzZSBNU0dfQ09OTkVDVEVEOgogCWVtaXQgY29ubmVjdGVkKCk7CiAJYnJlYWs7Ci0KICAgICBj YXNlIElORl9UT1RBTF9TSVpFOgogCXN0cmVhbSA+PiB1bDsKIAllbWl0IHRvdGFsU2l6ZSggdWwg KTsKQEAgLTIxMiw2ICsyMTEsMTIgQEAgYm9vbCBTbGF2ZUludGVyZmFjZTo6ZGlzcGF0Y2goIGlu dCBfY21kLAogICAgICAgICBlbWl0IG5lZWRTdWJVUkxEYXRhKCk7CiAgICAgICAgIGJyZWFrOwog ICAgIH0KKyAgICBjYXNlIE1TR19ORUVEX0NPTkZJRzogeworICAgICAgICBNZXRhRGF0YSBtZXRh X2RhdGE7CisgICAgICAgIHN0cmVhbSA+PiBtZXRhX2RhdGE7CisgICAgICAgIGVtaXQgbmVlZENv bmZpZ3VyYXRpb24obWV0YV9kYXRhKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQogICAgIGNhc2Ug TVNHX0FVVEhfS0VZOiB7CiAgICAgICAgIGJvb2wga2VlcDsKICAgICAgICAgUUNTdHJpbmcga2V5 LCBncm91cDsKQEAgLTI1NCw2ICsyNTksMTQgQEAgdm9pZCBTbGF2ZUludGVyZmFjZTo6c2VuZFJl c3VtZUFuc3dlciggYgogewogICAgIGtkRGVidWcoNzAwNykgPDwgIlNsYXZlSW50ZXJmYWNlOjpz ZW5kUmVzdW1lQW5zd2VyIG9rIGZvciByZXN1bWluZyA6IiA8PCByZXN1bWUgPDwgZW5kbDsKICAg ICBtX3BDb25uZWN0aW9uLT5zZW5kbm93KCByZXN1bWUgPyBDTURfUkVTVU1FQU5TV0VSIDogQ01E X05PTkUsIFFCeXRlQXJyYXkoKSApOworfQorCit2b2lkIFNsYXZlSW50ZXJmYWNlOjpzZW5kQ29u ZmlndXJhdGlvbiggY29uc3QgTWV0YURhdGEgJmRhdGEgKQoreworICAgIFFCeXRlQXJyYXkgcGFj a2VkQXJnczsKKyAgICBRRGF0YVN0cmVhbSBzdHJlYW0oIHBhY2tlZEFyZ3MsIElPX1dyaXRlT25s eSApOworICAgIHN0cmVhbSA8PCBkYXRhOworICAgIG1fcENvbm5lY3Rpb24tPnNlbmRub3coQ01E X0NPTkZJRywgcGFja2VkQXJncyk7CiB9CiAKIHZvaWQgU2xhdmVJbnRlcmZhY2U6Om9wZW5QYXNz RGxnKCBjb25zdCBRU3RyaW5nJiBwcm9tcHQsIGNvbnN0IFFTdHJpbmcmIHVzZXIsIGJvb2wgcmVh ZE9ubHkgKQpJbmRleDogc2xhdmVpbnRlcmZhY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9t ZS9rZGUva2RlbGlicy9raW8vc2xhdmVpbnRlcmZhY2UuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24g MS40NwpkaWZmIC11IC0zIC1wIC1yMS40NyBzbGF2ZWludGVyZmFjZS5oCi0tLSBzbGF2ZWludGVy ZmFjZS5oCTIwMDEvMDMvMjMgMTE6MzU6NTkJMS40NworKysgc2xhdmVpbnRlcmZhY2UuaAkyMDAx LzAzLzI4IDE2OjA0OjQ4CkBAIC02NSw3ICs2NSw4IEBAIGNsYXNzIFNsYXZlSW50ZXJmYWNlUHJp dmF0ZTsKICAgIENNRF9TWU1MSU5LID0gJ1EnLCAvLyA4MQogICAgQ01EX1NVQlVSTCA9ICdSJywg Ly8gODIgIEluZm9ybSB0aGUgc2xhdmUgYWJvdXQgdGhlIHVybCBpdCBpcyBzdHJlYW1pbmcgb24u CiAgICBDTURfTUVTU0FHRUJPWEFOU1dFUiA9ICdTJywgLy8gODMKLSAgIENNRF9SRVNVTUVBTlNX RVIgPSAnVCcgLy8gODQKKyAgIENNRF9SRVNVTUVBTlNXRVIgPSAnVCcsIC8vIDg0CisgICBDTURf Q09ORklHID0gJ1UnIC8vIDg1CiAgICAvLyBBZGQgbmV3IG9uZXMgaGVyZSBvbmNlIGEgcmVsZWFz ZSBpcyBkb25lLCB0byBhdm9pZCBicmVha2luZyBiaW5hcnkgY29tcGF0aWJpbGl0eS4KICAgIC8v IE5vdGUgdGhhdCBwcm90b2NvbC1zcGVjaWZpYyBjb21tYW5kcyBzaG91bGRuJ3QgYmUgYWRkZWQg aGVyZSwgYnV0IHNob3VsZCB1c2Ugc3BlY2lhbC4KICB9OwpAQCAtMTA5LDggKzExMCwxMyBAQCBj bGFzcyBTbGF2ZUludGVyZmFjZVByaXZhdGU7CiAgICBNU0dfTkVUX0RST1AsCiAgICBNU0dfTkVF RF9TVUJVUkxfREFUQSwKICAgIE1TR19DQU5SRVNVTUUsCis8PDw8PDw8IHNsYXZlaW50ZXJmYWNl LmgKICAgIE1TR19BVVRIX0tFWSwKKyAgIE1TR19ORUVEX0NPTkZJRworPT09PT09PQorICAgTVNH X0FVVEhfS0VZLAogICAgTVNHX0RFTF9BVVRIX0tFWQorPj4+Pj4+PiAxLjQ3CiAgICAvLyBhZGQg bmV3IG9uZXMgaGVyZSBvbmNlIGEgcmVsZWFzZSBpcyBkb25lLCB0byBhdm9pZCBicmVha2luZyBi aW5hcnkgY29tcGF0aWJpbGl0eQogIH07CiAKQEAgLTEzOSw2ICsxNDUsMTEgQEAgcHVibGljOgog ICAgIC8vICh0byB0ZWxsIHRoZSAicHV0IiBqb2Igd2hldGhlciB0byByZXN1bWUgb3Igbm90KQog ICAgIHZvaWQgc2VuZFJlc3VtZUFuc3dlciggYm9vbCByZXN1bWUgKTsKIAorICAgIC8qKgorICAg ICAqIFNlbmQgY29uZmlndXJhdGlvbiB0byBzbGF2ZQorICAgICAqLworICAgdm9pZCBzZW5kQ29u ZmlndXJhdGlvbihjb25zdCBNZXRhRGF0YSAmKTsKKwogc2lnbmFsczoKICAgICAvLy8vLy8vLy8v LwogICAgIC8vIE1lc3NhZ2VzIHNlbnQgYnkgdGhlIHNsYXZlCkBAIC0xNTQsNiArMTY1LDcgQEAg c2lnbmFsczoKICAgICB2b2lkIHN0YXRFbnRyeSggY29uc3QgS0lPOjpVRFNFbnRyeSYgKTsKICAg ICB2b2lkIG5lZWRTdWJVUkxEYXRhKCk7CiAgICAgdm9pZCBuZWVkUHJvZ3Jlc3NJZCgpOworICAg IHZvaWQgbmVlZENvbmZpZ3VyYXRpb24oY29uc3QgS0lPOjpNZXRhRGF0YSAmKTsKIAogICAgIHZv aWQgY2FuUmVzdW1lKCB1bnNpZ25lZCBsb25nICkgOwogCg== --------------Boundary-00=_SOAX7BXTNFUOMP2HO98N-- >> Visit http://master.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<