<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>123586</bug_id>
          
          <creation_ts>2013-10-31 13:02:41 -0700</creation_ts>
          <short_desc>Add a WKRemoteObject class</short_desc>
          <delta_ts>2013-10-31 16:54:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>945646</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-10-31 13:02:41 -0700</bug_when>
    <thetext>Add a WKRemoteObject class</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945651</commentid>
    <comment_count>1</comment_count>
      <attachid>215669</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-10-31 13:18:35 -0700</bug_when>
    <thetext>Created attachment 215669
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945666</commentid>
    <comment_count>2</comment_count>
      <attachid>215669</attachid>
    <who name="">mitz</who>
    <bug_when>2013-10-31 13:34:36 -0700</bug_when>
    <thetext>Comment on attachment 215669
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=215669&amp;action=review

&gt; Source/WebKit2/Shared/API/Cocoa/WKRemoteObject.h:26
&gt; +#import &lt;WebKit2/WKFoundation.h&gt;

I prefer that we use &quot;&quot;-style imports in internal headers such as this one.

&gt; Source/WebKit2/Shared/API/Cocoa/WKRemoteObject.mm:33
&gt; +#if WK_API_ENABLED

I normally put this between the #import blocks.

&gt; Source/WebKit2/Shared/API/Cocoa/WKRemoteObject.mm:54
&gt; +        return true;

YES

&gt; Source/WebKit2/Shared/API/Cocoa/WKRemoteObject.mm:56
&gt; +    return protocol_conformsToProtocol([_interface protocol], protocol);

I’d write the whole thing in a single line:
    return [super conformsToProtocol:protocol] || protocol_conformsToProtocol([_interface protocol], protocol);

Is this really the optimal order to check these conditions?

&gt; Source/WebKit2/Shared/API/Cocoa/WKRemoteObject.mm:94
&gt; +

I would expect to see overrides of -respondsToSelector:, -isKindOfClass: and -isMemberOfClass: as well.

&gt; Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectRegistry.mm:68
&gt; +    return [remoteObject.leakRef() autorelease];

This entire method is not thread-safe :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945751</commentid>
    <comment_count>3</comment_count>
      <attachid>215669</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-31 16:54:30 -0700</bug_when>
    <thetext>Comment on attachment 215669
Patch

Clearing flags on attachment: 215669

Committed r158407: &lt;http://trac.webkit.org/changeset/158407&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945752</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-31 16:54:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>215669</attachid>
            <date>2013-10-31 13:18:35 -0700</date>
            <delta_ts>2013-10-31 16:54:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123586-20131031131837.patch</filename>
            <type>text/plain</type>
            <size>15677</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU4MzY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZTI1Y2Y2YTRmZGMwMjY5
YmFjODU0Njk4OGI0N2Q2NDdkNDA0YTcxOC4uYzJkN2QzZDlhY2ZhMThiMGIyYjRhN2ZkMDA0MTFm
NDA1MDRlMjcwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEzLTEwLTMxICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgV0tSZW1v
dGVPYmplY3QgY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyMzU4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogU2hhcmVkL0FQSS9Db2NvYS9XS1JlbW90ZU9iamVjdC5oOiBBZGRlZC4KKyAgICAg
ICAgKiBTaGFyZWQvQVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0Lm1tOiBBZGRlZC4KKyAgICAgICAg
KC1bV0tSZW1vdGVPYmplY3QgX2luaXRXaXRoT2JqZWN0UmVnaXN0cnk6aW50ZXJmYWNlOl0pOgor
ICAgICAgICBBZGQgZGVzaWduYXRlZCBpbml0aWFsaXplci4KKworICAgICAgICAoLVtXS1JlbW90
ZU9iamVjdCBjb25mb3Jtc1RvUHJvdG9jb2w6XSk6CisgICAgICAgIENoZWNrIGlmIHRoZSBpbnRl
cmZhY2UgcHJvdG9jb2wgY29uZm9ybXMgdG8gb3VyIHByb3RvY29sLgorCisgICAgICAgIChtZXRo
b2RBcmd1bWVudFR5cGVFbmNvZGluZ0ZvclNlbGVjdG9yKToKKyAgICAgICAgSGVscGVyIGZ1bmN0
aW9uIHRoYXQgbG9va3MgdXAgYSBtZXRob2QgaW4gYSBnaXZlbiBwcm90b2NvbCBhbmQgcmV0dXJu
cyBpdHMgdHlwZSBlbmNvZGluZy4KKworICAgICAgICAoLVtXS1JlbW90ZU9iamVjdCBtZXRob2RT
aWduYXR1cmVGb3JTZWxlY3RvcjpdKToKKyAgICAgICAgVHJ5IHRvIGZpbmQgdGhlIG1ldGhvZCBh
cmd1bWVudCB0eXBlIGVuY29kaW5nIGZvciB0aGUgZ2l2ZW4gc2VsZWN0b3IgYW5kIHJldHVybiBp
dHMgTlNNZXRob2RTaWduYXR1cmUuCisKKyAgICAgICAgKC1bV0tSZW1vdGVPYmplY3QgZm9yd2Fy
ZEludm9jYXRpb246XSk6CisgICAgICAgIEFkZCBzdHViLgorCisgICAgICAgICogU2hhcmVkL0FQ
SS9Db2NvYS9XS1JlbW90ZU9iamVjdEludGVyZmFjZS5tbToKKyAgICAgICAgUmVtb3ZlIGEgbmV3
bGluZS4KKworICAgICAgICAqIFNoYXJlZC9BUEkvQ29jb2EvV0tSZW1vdGVPYmplY3RSZWdpc3Ry
eS5tbToKKyAgICAgICAgKC1bV0tSZW1vdGVPYmplY3RSZWdpc3RyeSByZW1vdGVPYmplY3RQcm94
eVdpdGhJbnRlcmZhY2U6XSk6CisgICAgICAgIEVzdGFibGlzaCBhIG1hcHBpbmcgYmV0d2VlbiBp
bnRlcmZhY2UgaWRlbnRpZmllcnMgYW5kIHJlbW90ZSBvYmplY3QgcHJveGllcy4KKworICAgICAg
ICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMy0xMC0zMSAgUGhp
bGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dLMl1bR1RL
XSBlbmFibGUtbWVkaWEtc3RyZWFtIFNldHRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9BUEkvQ29jb2EvV0tSZW1vdGVPYmplY3QuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUEkvQ29jb2EvV0tSZW1vdGVPYmplY3QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZDkyNTRjZTdmMGU1OWI5
MGVhMzY3MGI3NzJhMDMwYmRmYTNkYTI0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL0FQSS9Db2NvYS9XS1JlbW90ZU9iamVjdC5oCkBAIC0wLDAgKzEsMzkgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW1wb3J0IDxXZWJLaXQyL1dLRm91bmRhdGlvbi5oPgorCisjaWYgV0tfQVBJ
X0VOQUJMRUQKKworQGNsYXNzIFdLUmVtb3RlT2JqZWN0SW50ZXJmYWNlOworQGNsYXNzIFdLUmVt
b3RlT2JqZWN0UmVnaXN0cnk7CisKK0BpbnRlcmZhY2UgV0tSZW1vdGVPYmplY3QgOiBOU09iamVj
dAorCistIChpbnN0YW5jZXR5cGUpX2luaXRXaXRoT2JqZWN0UmVnaXN0cnk6KFdLUmVtb3RlT2Jq
ZWN0UmVnaXN0cnkgKilvYmplY3RSZWdpc3RyeSBpbnRlcmZhY2U6KFdLUmVtb3RlT2JqZWN0SW50
ZXJmYWNlICopaW50ZXJmYWNlOworCitAZW5kCisKKyNlbmRpZiAvLyBXS19BUElfRU5BQkxFRApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9Db2NvYS9XS1JlbW90ZU9iamVj
dC5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2EvV0tSZW1vdGVPYmplY3QubW0K
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYmJjNGRmN2ViMmY4OWQ3NTRhZDc4MDgwZTQ1ZWQ3OGJlMThiNDNhYwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2EvV0tSZW1vdGVP
YmplY3QubW0KQEAgLTAsMCArMSw5OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5o
IgorI2ltcG9ydCAiV0tSZW1vdGVPYmplY3QuaCIKKworI2ltcG9ydCAiV0tSZW1vdGVPYmplY3RJ
bnRlcmZhY2UuaCIKKyNpbXBvcnQgPG9iamMvcnVudGltZS5oPgorI2ltcG9ydCA8d3RmL1JldGFp
blB0ci5oPgorCisjaWYgV0tfQVBJX0VOQUJMRUQKKworQGltcGxlbWVudGF0aW9uIFdLUmVtb3Rl
T2JqZWN0IHsKKyAgICBSZXRhaW5QdHI8V0tSZW1vdGVPYmplY3RSZWdpc3RyeT4gX29iamVjdFJl
Z2lzdHJ5OworICAgIFJldGFpblB0cjxXS1JlbW90ZU9iamVjdEludGVyZmFjZT4gX2ludGVyZmFj
ZTsKK30KKworLSAoaW5zdGFuY2V0eXBlKV9pbml0V2l0aE9iamVjdFJlZ2lzdHJ5OihXS1JlbW90
ZU9iamVjdFJlZ2lzdHJ5ICopb2JqZWN0UmVnaXN0cnkgaW50ZXJmYWNlOihXS1JlbW90ZU9iamVj
dEludGVyZmFjZSAqKWludGVyZmFjZQoreworICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0p
KQorICAgICAgICByZXR1cm4gbmlsOworCisgICAgX29iamVjdFJlZ2lzdHJ5ID0gb2JqZWN0UmVn
aXN0cnk7CisgICAgX2ludGVyZmFjZSA9IGludGVyZmFjZTsKKworICAgIHJldHVybiBzZWxmOwor
fQorCistIChCT09MKWNvbmZvcm1zVG9Qcm90b2NvbDooUHJvdG9jb2wgKilwcm90b2NvbAorewor
ICAgIGlmIChbc3VwZXIgY29uZm9ybXNUb1Byb3RvY29sOnByb3RvY29sXSkKKyAgICAgICAgcmV0
dXJuIHRydWU7CisKKyAgICByZXR1cm4gcHJvdG9jb2xfY29uZm9ybXNUb1Byb3RvY29sKFtfaW50
ZXJmYWNlIHByb3RvY29sXSwgcHJvdG9jb2wpOworfQorCitzdGF0aWMgY29uc3QgY2hhciogbWV0
aG9kQXJndW1lbnRUeXBlRW5jb2RpbmdGb3JTZWxlY3RvcihQcm90b2NvbCAqcHJvdG9jb2wsIFNF
TCBzZWxlY3RvcikKK3sKKyAgICAvLyBGaXJzdCBsb29rIGF0IHJlcXVpcmVkIG1ldGhvZHMuCisg
ICAgc3RydWN0IG9iamNfbWV0aG9kX2Rlc2NyaXB0aW9uIG1ldGhvZCA9IHByb3RvY29sX2dldE1l
dGhvZERlc2NyaXB0aW9uKHByb3RvY29sLCBzZWxlY3RvciwgWUVTLCBZRVMpOworICAgIGlmICht
ZXRob2QubmFtZSkKKyAgICAgICAgcmV0dXJuIG1ldGhvZC50eXBlczsKKworICAgIC8vIFRoZW4g
bG9vayBhdCBvcHRpb25hbCBtZXRob2RzLgorICAgIG1ldGhvZCA9IHByb3RvY29sX2dldE1ldGhv
ZERlc2NyaXB0aW9uKHByb3RvY29sLCBzZWxlY3RvciwgTk8sIFlFUyk7CisgICAgaWYgKG1ldGhv
ZC5uYW1lKQorICAgICAgICByZXR1cm4gbWV0aG9kLnR5cGVzOworCisgICAgcmV0dXJuIG51bGxw
dHI7Cit9CisKKy0gKE5TTWV0aG9kU2lnbmF0dXJlICopbWV0aG9kU2lnbmF0dXJlRm9yU2VsZWN0
b3I6KFNFTClzZWxlY3RvcgoreworICAgIGlmICghc2VsZWN0b3IpCisgICAgICAgIHJldHVybiBu
aWw7CisKKyAgICBQcm90b2NvbCAqcHJvdG9jb2wgPSBbX2ludGVyZmFjZSBwcm90b2NvbF07CisK
KyAgICBjb25zdCBjaGFyKiB0eXBlcyA9IG1ldGhvZEFyZ3VtZW50VHlwZUVuY29kaW5nRm9yU2Vs
ZWN0b3IocHJvdG9jb2wsIHNlbGVjdG9yKTsKKyAgICBpZiAoIXR5cGVzKSB7CisgICAgICAgIC8v
IFdlIGRpZG4ndCBmaW5kIGFueXRoaW5nIHRoZSBwcm90b2NvbCwgZmFsbCBiYWNrIHRvIHRoZSBz
dXBlcmNsYXNzLgorICAgICAgICByZXR1cm4gW3N1cGVyIG1ldGhvZFNpZ25hdHVyZUZvclNlbGVj
dG9yOnNlbGVjdG9yXTsKKyAgICB9CisKKyAgICByZXR1cm4gW05TTWV0aG9kU2lnbmF0dXJlIHNp
Z25hdHVyZVdpdGhPYmpDVHlwZXM6dHlwZXNdOworfQorCistICh2b2lkKWZvcndhcmRJbnZvY2F0
aW9uOihOU0ludm9jYXRpb24gKilpbnZvY2F0aW9uCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVu
dC4KK30KKworQGVuZAorCisjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQKKwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9Db2NvYS9XS1JlbW90ZU9iamVjdEludGVyZmFjZS5t
bSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2EvV0tSZW1vdGVPYmplY3RJbnRlcmZh
Y2UubW0KaW5kZXggNzA5MjJhNjFkZjNhMjc2YzFlM2Y2ZDVkODhlYjlhZTE0YWNhY2JiZi4uNThj
MTAxZDgzNDU5YzExOTQyNWI0YmViNDY1NTRmYWUwNjg4YmQ3ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0FQSS9Db2NvYS9XS1JlbW90ZU9iamVjdEludGVyZmFjZS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNl
Lm1tCkBAIC00MSw3ICs0MSw2IEBACiAgICAgcmV0dXJuIHNlbGY7CiB9CiAKLQogKyAoaW5zdGFu
Y2V0eXBlKXJlbW90ZU9iamVjdEludGVyZmFjZVdpdGhQcm90b2NvbDooUHJvdG9jb2wgKilwcm90
b2NvbAogewogICAgIHJldHVybiBbW1tzZWxmIGFsbG9jXSBpbml0V2l0aFByb3RvY29sOnByb3Rv
Y29sIGlkZW50aWZpZXI6TlNTdHJpbmdGcm9tUHJvdG9jb2wocHJvdG9jb2wpXSBhdXRvcmVsZWFz
ZV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL1dLUmVtb3Rl
T2JqZWN0UmVnaXN0cnkubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL1dLUmVt
b3RlT2JqZWN0UmVnaXN0cnkubW0KaW5kZXggNmU2OGQyOGFmODc3ZGEwNjIxMTBjM2M5ZWY0MTA4
NDllOTc3OGQ2YS4uZTk0MTJkZWVjOGQwYmIyNmZjZjE0MzdhN2U3ZWY0ZTM2NDM1ZGEyZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9Db2NvYS9XS1JlbW90ZU9iamVjdFJl
Z2lzdHJ5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2EvV0tSZW1vdGVP
YmplY3RSZWdpc3RyeS5tbQpAQCAtMjksOCArMjksMTAgQEAKIAogI2ltcG9ydCAiQ29ubmVjdGlv
bi5oIgogI2ltcG9ydCAiV0tDb25uZWN0aW9uUmVmLmgiCi0jaW1wb3J0ICJXZWJDb25uZWN0aW9u
LmgiCisjaW1wb3J0ICJXS1JlbW90ZU9iamVjdEludGVyZmFjZS5oIgorI2ltcG9ydCAiV0tSZW1v
dGVPYmplY3QuaCIKICNpbXBvcnQgIldLU2hhcmVkQVBJQ2FzdC5oIgorI2ltcG9ydCAiV2ViQ29u
bmVjdGlvbi5oIgogCiAjaWYgV0tfQVBJX0VOQUJMRUQKIApAQCAtMzgsNiArNDAsNyBAQCB1c2lu
ZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBAaW1wbGVtZW50YXRpb24gV0tSZW1vdGVPYmplY3RSZWdp
c3RyeSB7CiAgICAgUmVmUHRyPFdlYkNvbm5lY3Rpb24+IF9jb25uZWN0aW9uOworICAgIFJldGFp
blB0cjxOU01hcFRhYmxlPiBfcmVtb3RlT2JqZWN0UHJveGllczsKIH0KIAogLSAodm9pZClyZWdp
c3RlckV4cG9ydGVkT2JqZWN0OihpZClvYmplY3QgaW50ZXJmYWNlOihXS1JlbW90ZU9iamVjdElu
dGVyZmFjZSAqKWludGVyZmFjZQpAQCAtNTIsOCArNTUsMTcgQEAgdXNpbmcgbmFtZXNwYWNlIFdl
YktpdDsKIAogLSAoaWQpcmVtb3RlT2JqZWN0UHJveHlXaXRoSW50ZXJmYWNlOihXS1JlbW90ZU9i
amVjdEludGVyZmFjZSAqKWludGVyZmFjZQogewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCi0g
ICAgcmV0dXJuIG5pbDsKKyAgICBpZiAoIV9yZW1vdGVPYmplY3RQcm94aWVzKQorICAgICAgICBf
cmVtb3RlT2JqZWN0UHJveGllcyA9IFtOU01hcFRhYmxlIHN0cm9uZ1RvV2Vha09iamVjdHNNYXBU
YWJsZV07CisKKyAgICBpZiAoaWQgcmVtb3RlT2JqZWN0UHJveHkgPSBbX3JlbW90ZU9iamVjdFBy
b3hpZXMgb2JqZWN0Rm9yS2V5OmludGVyZmFjZS5pZGVudGlmaWVyXSkKKyAgICAgICAgcmV0dXJu
IHJlbW90ZU9iamVjdFByb3h5OworCisgICAgUmV0YWluUHRyPE5TU3RyaW5nPiBpZGVudGlmaWVy
ID0gYWRvcHROUyhbaW50ZXJmYWNlLmlkZW50aWZpZXIgY29weV0pOworICAgIFJldGFpblB0cjxX
S1JlbW90ZU9iamVjdD4gcmVtb3RlT2JqZWN0ID0gYWRvcHROUyhbW1dLUmVtb3RlT2JqZWN0IGFs
bG9jXSBfaW5pdFdpdGhPYmplY3RSZWdpc3RyeTpzZWxmIGludGVyZmFjZTppbnRlcmZhY2VdKTsK
KyAgICBbX3JlbW90ZU9iamVjdFByb3hpZXMgc2V0T2JqZWN0OnJlbW90ZU9iamVjdC5nZXQoKSBm
b3JLZXk6aWRlbnRpZmllci5nZXQoKV07CisKKyAgICByZXR1cm4gW3JlbW90ZU9iamVjdC5sZWFr
UmVmKCkgYXV0b3JlbGVhc2VdOwogfQogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJL
aXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggODFmMmE5NzQyZDJjZmJlZDFhNjgz
N2IzNjZiNjkwYjJiZjNmN2Y5Ny4uMGZmMzk1ZTg1NTBjYzliYTBjMjBhOGNlZTUzODlmY2ViZWU3
NjIwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMjA1LDYgKzIwNSw4IEBACiAJCTFBOUUzMjhEMTgyMTY1QTkwMEY1RDA0QyAv
KiBXS1JlbW90ZU9iamVjdEludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUE5RTMyOEIxODIxNjVBOTAwRjVEMDRDIC8qIFdLUmVtb3RlT2Jq
ZWN0SW50ZXJmYWNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJMUE5RTMyOEUxODIxNjVBOTAwRjVEMDRDIC8qIFdLUmVtb3RlT2JqZWN0SW50ZXJm
YWNlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE5
RTMyOEMxODIxNjVBOTAwRjVEMDRDIC8qIFdLUmVtb3RlT2JqZWN0SW50ZXJmYWNlLm1tICovOyB9
OwogCQkxQTlFMzI5NzE4MjE5QkVBMDBGNUQwNEMgLyogV0tSZW1vdGVPYmplY3RSZWdpc3RyeVBy
aXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFB
OUUzMjk2MTgyMTlCRUEwMEY1RDA0QyAvKiBXS1JlbW90ZU9iamVjdFJlZ2lzdHJ5UHJpdmF0ZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTFBOUUz
MjlBMTgyMkUxQ0MwMEY1RDA0QyAvKiBXS1JlbW90ZU9iamVjdC5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOUUzMjk4MTgyMkUxQ0MwMEY1RDA0QyAv
KiBXS1JlbW90ZU9iamVjdC5tbSAqLzsgfTsKKwkJMUE5RTMyOUIxODIyRTFDQzAwRjVEMDRDIC8q
IFdLUmVtb3RlT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTlFMzI5OTE4MjJFMUNDMDBGNUQwNEMgLyogV0tSZW1vdGVPYmplY3QuaCAqLzsg
fTsKIAkJMUE5RkJBOEQxM0ZGMDRFNjAwREVFRDY3IC8qIFBsdWdpbkNvbXBsZXhUZXh0SW5wdXRT
dGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE5
RkJBOEMxM0ZGMDRFNjAwREVFRDY3IC8qIFBsdWdpbkNvbXBsZXhUZXh0SW5wdXRTdGF0ZS5oICov
OyB9OwogCQkxQUEyRTUxRDEyRTRDMDVFMDBCQzQ5NjYgLyogQ0dVdGlsaXRpZXMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQTJFNTFCMTJFNEMwNUUw
MEJDNDk2NiAvKiBDR1V0aWxpdGllcy5oICovOyB9OwogCQkxQUEyRTUxRTEyRTRDMDVFMDBCQzQ5
NjYgLyogQ0dVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUFBMkU1MUMxMkU0QzA1RTAwQkM0OTY2IC8qIENHVXRpbGl0aWVzLmNwcCAq
LzsgfTsKQEAgLTE2NjAsNiArMTY2Miw4IEBACiAJCTFBOUUzMjhCMTgyMTY1QTkwMEY1RDA0QyAv
KiBXS1JlbW90ZU9iamVjdEludGVyZmFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXS1JlbW90ZU9iamVjdEludGVyZmFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxQTlFMzI4QzE4MjE2NUE5MDBGNUQwNEMgLyogV0tSZW1vdGVPYmplY3RJbnRlcmZhY2Uu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1JlbW90ZU9iamVj
dEludGVyZmFjZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE5RTMyOTYxODIx
OUJFQTAwRjVEMDRDIC8qIFdLUmVtb3RlT2JqZWN0UmVnaXN0cnlQcml2YXRlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLUmVtb3RlT2JqZWN0UmVnaXN0cnlQcml2YXRlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBOUUzMjk4MTgyMkUxQ0MwMEY1RDA0QyAv
KiBXS1JlbW90ZU9iamVjdC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFdLUmVtb3RlT2JqZWN0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQTlF
MzI5OTE4MjJFMUNDMDBGNUQwNEMgLyogV0tSZW1vdGVPYmplY3QuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV0tSZW1vdGVPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMUE5RkJBOEMxM0ZGMDRFNjAwREVFRDY3IC8qIFBsdWdpbkNvbXBsZXhUZXh0SW5w
dXRTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW5Db21wbGV4
VGV4dElucHV0U3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFBMUM3OUEx
MDBFN0ZDNTAwNzhERUJDIC8qIFdlYkNvcmUuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IHBhdGggPSBX
ZWJDb3JlLmZyYW1ld29yazsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJ
MUFBMUM3REUxMDBFODQ2RTAwNzhERUJDIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJh
bWV3b3JrOyBwYXRoID0gSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gQlVJ
TFRfUFJPRFVDVFNfRElSOyB9OwpAQCAtMzY5MSw2ICszNjk1LDggQEAKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJMzdERkE2RkYxODEwQkI5MjAwMUY0QTlGIC8qIFdL
Rm91bmRhdGlvbi5oICovLAorCQkJCTFBOUUzMjk5MTgyMkUxQ0MwMEY1RDA0QyAvKiBXS1JlbW90
ZU9iamVjdC5oICovLAorCQkJCTFBOUUzMjk4MTgyMkUxQ0MwMEY1RDA0QyAvKiBXS1JlbW90ZU9i
amVjdC5tbSAqLywKIAkJCQkxQTlFMzI4QjE4MjE2NUE5MDBGNUQwNEMgLyogV0tSZW1vdGVPYmpl
Y3RJbnRlcmZhY2UuaCAqLywKIAkJCQkxQTlFMzI4QzE4MjE2NUE5MDBGNUQwNEMgLyogV0tSZW1v
dGVPYmplY3RJbnRlcmZhY2UubW0gKi8sCiAJCQkJMUE5RTMyODcxODIxNjM2OTAwRjVEMDRDIC8q
IFdLUmVtb3RlT2JqZWN0UmVnaXN0cnkuaCAqLywKQEAgLTU1NzUsNiArNTU4MSw3IEBACiAJCQkJ
MUE4RUY0Q0IxMjUyNDAzNzAwRjcwNjdGIC8qIFBsdWdpbkNvbnRyb2xsZXJQcm94eS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUE4RUY5NkYxMjUyQUY2QjAwRjcwNjdGIC8qIFBsdWdpbkNvbnRyb2xs
ZXJQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTE3OTc4MDEzN0VFODJDMDBG
OTdENDUgLyogUGx1Z2luQ3JlYXRpb25QYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLywKKwkJCQkx
QTlFMzI5QjE4MjJFMUNDMDBGNUQwNEMgLyogV0tSZW1vdGVPYmplY3QuaCBpbiBIZWFkZXJzICov
LAogCQkJCTdDM0Y4QzkxMTczQUY1MkQwMDdCN0YzOSAvKiBQbHVnaW5JbmZvcm1hdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMUFFRkNDMTIxMUQwMUY5NjAwODIxOUQzIC8qIFBsdWdpbkluZm9T
dG9yZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEzRDYxMDIxM0E3Q0MyQTAwRjk1RDRFIC8qIFBs
dWdpbk1vZHVsZUluZm8uaCBpbiBIZWFkZXJzICovLApAQCAtNjk4NCw2ICs2OTkxLDcgQEAKIAkJ
CQk1MUFDQkJBMTEyN0E4RjJDMDBEMjAzQjkgLyogV2ViQ29udGV4dE1lbnVQcm94eU1hYy5tbSBp
biBTb3VyY2VzICovLAogCQkJCUJDRUU3RDBEMTI4NDZGNjkwMDk4MjdEQSAvKiBXZWJDb250ZXh0
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMzMDkzNDRGMTMxNUI5NEQw
MDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTFBOUUz
MjlBMTgyMkUxQ0MwMEY1RDA0QyAvKiBXS1JlbW90ZU9iamVjdC5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTUxRTM1MjEwMTgwRjYzRkIwMEU1M0JFOSAvKiBEYXRhYmFzZVByb2Nlc3NJREJEYXRhYmFz
ZUJhY2tlbmRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjZBOTA4MTMx
MzNDMjA1MTAwODJDM0Y0IC8qIFdlYkNvb2tpZU1hbmFnZXJNYWMubW0gaW4gU291cmNlcyAqLywK
IAkJCQkzMzA5MzQ0NzEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlck1lc3NhZ2VS
ZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxOGI0YTA2ZDgwMDQ5OTMyMGQyYjQxZWQ4ZTFjOWRiYzZh
MWIyMGM4Li5kZGNjMmQxNDYyM2ZlNjc5YmE3ZDE4MWRlNGQ5ZjU4NDlkZjYyZTM4IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTMtMTAtMzEgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKwor
ICAgICAgICBBZGQgYSBXS1JlbW90ZU9iamVjdCBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzNTg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJP
YmpDL1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpU
RVNUKToKKyAgICAgICAgQWRkIGEgY29uZm9ybXNUb1Byb3RvY29sOiB0ZXN0LgorCiAyMDEzLTEw
LTMwICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFRlYWNo
IHRoZSBzdHlsZSBjaGVja2VyIGFib3V0IEVOVU1fQ0xBU1MKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mk9iakMvV0tSZW1vdGVPYmplY3RSZWdpc3RyeS5tbSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mk9iakMvV0tSZW1vdGVPYmplY3RSZWdp
c3RyeS5tbQppbmRleCA0OTgxOTkxNzIxYzI5YjJhMDE2NTU3N2ZhZThhMzcwOWQ3OWQ3M2RhLi43
YmI0YjA3N2RhMGNkYTdjNjQ1ODJhZjJlNzYxMGFhOTZlNjgxYzg5IDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJPYmpDL1dLUmVtb3RlT2JqZWN0UmVnaXN0cnku
bW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyT2JqQy9XS1JlbW90ZU9i
amVjdFJlZ2lzdHJ5Lm1tCkBAIC05Niw2ICs5Niw4IEBAIFRFU1QoV2ViS2l0MiwgV0tSZW1vdGVP
YmplY3RSZWdpc3RyeVRlc3QpCiAgICAgV0tSZW1vdGVPYmplY3RJbnRlcmZhY2UgKmJ1bmRsZUlu
dGVyZmFjZSA9IFtXS1JlbW90ZU9iamVjdEludGVyZmFjZSByZW1vdGVPYmplY3RJbnRlcmZhY2VX
aXRoUHJvdG9jb2w6QHByb3RvY29sKEJ1bmRsZUludGVyZmFjZSldOwogCiAgICAgaWQgPEJ1bmRs
ZUludGVyZmFjZT4gcmVtb3RlT2JqZWN0UHJveHkgPSBbcmVtb3RlT2JqZWN0UmVnaXN0cnkgcmVt
b3RlT2JqZWN0UHJveHlXaXRoSW50ZXJmYWNlOmJ1bmRsZUludGVyZmFjZV07CisgICAgRVhQRUNU
X1RSVUUoW3JlbW90ZU9iamVjdFByb3h5IGNvbmZvcm1zVG9Qcm90b2NvbDpAcHJvdG9jb2woQnVu
ZGxlSW50ZXJmYWNlKV0pOworCiAgICAgW3JlbW90ZU9iamVjdFByb3h5IHNheUhlbGxvXTsKIH0K
IAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>