<?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>47899</bug_id>
          
          <creation_ts>2010-10-19 04:55:18 -0700</creation_ts>
          <short_desc>Multiple selection support for &lt;select multiple&gt; popups.</short_desc>
          <delta_ts>2010-11-07 23:36:58 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>LATER</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>
          
          <blocked>43428</blocked>
    
    <blocked>47900</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Luiz Agostini">luiz</reporter>
          <assigned_to name="Luiz Agostini">luiz</assigned_to>
          <cc>andersca</cc>
    
    <cc>christian.webkit</cc>
    
    <cc>darin</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>koivisto</cc>
    
    <cc>mitz</cc>
    
    <cc>mjs</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>296114</commentid>
    <comment_count>0</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-10-19 04:55:18 -0700</bug_when>
    <thetext>Add multiple selection popup widget support (&lt;select multiple&gt; elements) to WebKit2.

&lt;select multiple&gt; elements may be rendered as menu lists if ENABLE_NO_LISTBOX_RENDERING is used. Those multiple menu lists need multiple selection capable popups.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296137</commentid>
    <comment_count>1</comment_count>
      <attachid>71159</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-10-19 06:04:41 -0700</bug_when>
    <thetext>Created attachment 71159
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296178</commentid>
    <comment_count>2</comment_count>
      <attachid>71168</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-10-19 07:29:17 -0700</bug_when>
    <thetext>Created attachment 71168
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296261</commentid>
    <comment_count>3</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-10-19 10:27:51 -0700</bug_when>
    <thetext>Hi Sam, I saw you and Luiz&apos; talk on IRC and it seems that this patch is not even being considered for inclusion, which I think is sad and bad for our cooperation.

Now that Luiz worked hard on this and is doing his best trying to cooperate with you, I think you at least owe him a bit of feedback on the approach of the patch.

Luiz did large parts of refactoring the web popup code in WebCore before, and it would be good to discuss the right approach of making this accessible to WebKit2 in an open manner so that it serves both of our teams - or at least give Luiz time to look at your refactorings before committing it to trunk, though the former would be preferable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296741</commentid>
    <comment_count>4</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2010-10-20 05:32:30 -0700</bug_when>
    <thetext>Kenneth,

I don&apos;t think Sam owes anything to anyone. 

If there is a major refactoring going on I can see that it does not make sense to disrupt that with an obscure feature like this. WebKit2 is not yet stable and people who are actually mostly developing it should be allowed to do their job without being hindered.

There is a gitorious branch for the very purpose of doing Qt WebKit2 work while avoiding disruptions to either direction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296803</commentid>
    <comment_count>5</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-10-20 08:01:38 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Kenneth,
&gt; 
&gt; I don&apos;t think Sam owes anything to anyone. 
&gt; 
&gt; If there is a major refactoring going on I can see that it does not make sense to disrupt that with an obscure feature like this. WebKit2 is not yet stable and people who are actually mostly developing it should be allowed to do their job without being hindered.
&gt; 
&gt; There is a gitorious branch for the very purpose of doing Qt WebKit2 work while avoiding disruptions to either direction.

Hey Antti, I understand that. This isn&apos;t mean as any attack on anyone, but I just would like everyone working on the project to be happy, and it seems that Luiz was seriously disappointed.

The thing was that Luiz opened a bug before any code dealing with web popups was implemented as he wanted to work on that and to gather feed back on the best way to implement it. Sam was also cc&apos;ed to this bug and there were some discussion.

Then suddenly code was landed to trunk without any heads-up in the other bug, so Luiz talked to Sam and as far as I understand they decided that he could make a patch on top of the other one, which he then did. It then seems that the patch was just ignored due to refactorings coming up.

I&apos;m pretty sure that was not done to piss of Luiz in any way, but it might have come up that way - which is the reason for my last comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296849</commentid>
    <comment_count>6</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-10-20 09:49:58 -0700</bug_when>
    <thetext>I actually have been working in this feature and in fact some of my work have been lost. But this not a problem, we write code every day, some code may be lost. No problem.

No one owes me nothing indeed. I do not want to hinder people who are actually developing WebKit2. I actually want it to be ready as soon as possible.

I do not expect to receive any feedback for this patch nor for bug 47256.

I am closing this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306014</commentid>
    <comment_count>7</comment_count>
      <attachid>71168</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-07 23:36:58 -0800</bug_when>
    <thetext>Comment on attachment 71168
patch

Cleared review? from attachment 71168 so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71159</attachid>
            <date>2010-10-19 06:04:41 -0700</date>
            <delta_ts>2010-10-19 07:29:17 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-Multiple-selection-support-for-select-multiple-popup.patch</filename>
            <type>text/plain</type>
            <size>30690</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSAyM2YwMDc0MmJhZWIzYmNiMWEwMmYzNzVhYzdlZTc3NDNlN2I4ZjJhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFR1ZSwgMTkgT2N0IDIwMTAgMDk6NTg6MTkgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBNdWx0aXBsZSBzZWxlY3Rpb24gc3VwcG9ydCBmb3IgPHNlbGVjdCBtdWx0aXBsZT4gcG9w
dXBzLgogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3ODk5CgpSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCkFkZCBtdWx0aXBsZSBzZWxlY3Rpb24gcG9wdXAgd2lk
Z2V0IHN1cHBvcnQgKDxzZWxlY3QgbXVsdGlwbGU+IGVsZW1lbnRzKSB0byBXZWJLaXQyLgo8c2Vs
ZWN0IG11bHRpcGxlPiBlbGVtZW50cyBhcmUgcmVuZGVyZWQgYXMgbWVudSBsaXN0cyBpZiBFTkFC
TEVfTk9fTElTVEJPWF9SRU5ERVJJTkcKaXMgdXNlZC4gVGhvc2UgbXVsdGlwbGUgbWVudSBsaXN0
cyBuZWVkIG11bHRpcGxlIHNlbGVjdGlvbiBjYXBhYmxlIHBvcHVwcy4KCiogU2hhcmVkL1dlYlBv
cHVwSXRlbS5jcHA6CihXZWJLaXQ6OldlYlBvcHVwSXRlbTo6V2ViUG9wdXBJdGVtKToKKFdlYktp
dDo6V2ViUG9wdXBJdGVtOjplbmNvZGUpOgooV2ViS2l0OjpXZWJQb3B1cEl0ZW06OmRlY29kZSk6
CiogU2hhcmVkL1dlYlBvcHVwSXRlbS5oOgptX2lzU2VsZWN0ZWQgYWRkZWQuCgoqIFVJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwOgooV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNsb3NlKToKKFdlYktp
dDo6V2ViUGFnZVByb3h5OjpzaG93UG9wdXBNZW51KToKKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpj
aGFuZ2VTZWxlY3Rpb25Gb3JBY3RpdmVQb3B1cE1lbnUpOgooV2ViS2l0OjpXZWJQYWdlUHJveHk6
OmFjdGl2ZVBvcHVwTWVudUNsb3NlZEJ5VGhlVXNlcik6CihXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
aGlkZVBvcHVwTWVudSk6CihXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cHJvY2Vzc0RpZEV4aXQpOgoq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluOgoqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKFdlYktpdDo6V2ViUGFn
ZTo6ZGlkU2VsZWN0SXRlbUZvckFjdGl2ZVBvcHVwTWVudSk6CihXZWJLaXQ6OldlYlBhZ2U6OmRp
ZEhpZGVBY3RpdmVQb3B1cE1lbnUpOgoqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6Ciog
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CkFkZGVkIG1ldGhvZHMgZm9y
IHNlbGVjdGlvbiBjaGFuZ2UgYW5kIGNsb3NlIG5vdGlmaWNhdGlvbnMuIFNvbWUgYWRqdXN0bWVu
dHMgdG8gbWV0aG9kCnNob3dQb3B1cE1lbnUuCgoqIFVJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94
eS5jcHA6IEFkZGVkLgooV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eTo6Y2hhbmdlU2VsZWN0aW9u
KToKKFdlYktpdDo6V2ViUG9wdXBNZW51UHJveHk6OmNsb3NlZEJ5VGhlVXNlcik6CiogVUlQcm9j
ZXNzL1dlYlBvcHVwTWVudVByb3h5Lmg6CiogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
b3B1cE1lbnUuY3BwOgooV2ViS2l0OjpXZWJQb3B1cE1lbnU6OmRpZENoYW5nZVNlbGVjdGlvbik6
CihXZWJLaXQ6OldlYlBvcHVwTWVudTo6ZGlkSGlkZSk6CihXZWJLaXQ6OldlYlBvcHVwTWVudTo6
cG9wdWxhdGVJdGVtcyk6CihXZWJLaXQ6OldlYlBvcHVwTWVudTo6c2hvdyk6CiogV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuaDoKQWRkZWQgbWV0aG9kcyBmb3Igc2VsZWN0
aW9uIGNoYW5nZSBhbmQgY2xvc2Ugbm90aWZpY2F0aW9ucy4KCiogVUlQcm9jZXNzL21hYy9XZWJQ
b3B1cE1lbnVQcm94eU1hYy5oOgoqIFVJUHJvY2Vzcy9tYWMvV2ViUG9wdXBNZW51UHJveHlNYWMu
bW06CihXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5TWFjOjpwb3B1bGF0ZSk6CihXZWJLaXQ6Oldl
YlBvcHVwTWVudVByb3h5TWFjOjpzaG93UG9wdXBNZW51KToKU29tZSBhZGp1c3RtZW50cyBkdWUg
dG8gY2hhbmdlcyBpbiBXZWJQb3B1cE1lbnVQcm94eS4KCiogV2ViS2l0Mi5wcm86CiogV2ViS2l0
Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgoqIHdpbi9XZWJLaXQyLnZjcHJvajoKLS0tCiBX
ZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNjAg
KysrKysrKysrKysrKysrKysrKysKIFdlYktpdDIvU2hhcmVkL1dlYlBvcHVwSXRlbS5jcHAgICAg
ICAgICAgICAgICAgICAgIHwgICAxMyArKystCiBXZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0u
aCAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKy0KIFdlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAgICAgICAgICAgICAgICAgIHwgICAzOCArKysrKysrKystLS0KIFdlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oICAgICAgICAgICAgICAgICAgIHwgICAgNyArKy0KIFdl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiAgICAgICAgIHwgICAgMiAr
LQogV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuY3BwICAgICAgICAgICAgfCAg
IDQ5ICsrKysrKysrKysrKysrKysKIFdlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5
LmggICAgICAgICAgICAgIHwgICAxMyArKysrLQogV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBv
cHVwTWVudVByb3h5TWFjLmggICAgICAgfCAgICAyICstCiBXZWJLaXQyL1VJUHJvY2Vzcy9tYWMv
V2ViUG9wdXBNZW51UHJveHlNYWMubW0gICAgICB8ICAgMTQgKysrKy0KIFdlYktpdDIvV2ViS2l0
Mi5wcm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArCiBXZWJLaXQyL1dl
YktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiAgICAgICAgICB8ICAgIDQgKwogV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBvcHVwTWVudS5jcHAgfCAgIDI4ICsrKysr
KysrLS0KIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuaCAg
IHwgICAgMyArLQogV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgICAgICAg
ICAgICAgfCAgIDEzICsrKystCiBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgg
ICAgICAgICAgICAgICB8ICAgIDQgKy0KIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UubWVzc2FnZXMuaW4gICAgIHwgICAgMyArLQogV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2og
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEwICsrKy0KIDE4IGZpbGVzIGNoYW5nZWQsIDIz
NiBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5jcHAKCmRpZmYgLS1naXQgYS9XZWJLaXQy
L0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGI4M2RjMTkuLjFkZTFiMWIgMTAw
NjQ0Ci0tLSBhL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNjMgQEAKKzIwMTAtMTAtMTkgIEx1aXogQWdvc3RpbmkgIDxsdWl6LmFnb3N0aW5pQG9w
ZW5ib3NzYS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTXVsdGlwbGUgc2VsZWN0aW9uIHN1cHBvcnQgZm9yIDxzZWxlY3QgbXVsdGlwbGU+IHBv
cHVwcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3
ODk5CisKKyAgICAgICAgQWRkIG11bHRpcGxlIHNlbGVjdGlvbiBwb3B1cCB3aWRnZXQgc3VwcG9y
dCAoPHNlbGVjdCBtdWx0aXBsZT4gZWxlbWVudHMpIHRvIFdlYktpdDIuCisgICAgICAgIDxzZWxl
Y3QgbXVsdGlwbGU+IGVsZW1lbnRzIGFyZSByZW5kZXJlZCBhcyBtZW51IGxpc3RzIGlmIEVOQUJM
RV9OT19MSVNUQk9YX1JFTkRFUklORworICAgICAgICBpcyB1c2VkLiBUaG9zZSBtdWx0aXBsZSBt
ZW51IGxpc3RzIG5lZWQgbXVsdGlwbGUgc2VsZWN0aW9uIGNhcGFibGUgcG9wdXBzLgorCisgICAg
ICAgICogU2hhcmVkL1dlYlBvcHVwSXRlbS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVw
SXRlbTo6V2ViUG9wdXBJdGVtKToKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBJdGVtOjplbmNv
ZGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cEl0ZW06OmRlY29kZSk6CisgICAgICAgICog
U2hhcmVkL1dlYlBvcHVwSXRlbS5oOgorICAgICAgICBtX2lzU2VsZWN0ZWQgYWRkZWQuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5OjpjbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2hvd1Bv
cHVwTWVudSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y2hhbmdlU2VsZWN0aW9u
Rm9yQWN0aXZlUG9wdXBNZW51KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjphY3Rp
dmVQb3B1cE1lbnVDbG9zZWRCeVRoZVVzZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OmhpZGVQb3B1cE1lbnUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnByb2Nl
c3NEaWRFeGl0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRpZFNl
bGVjdEl0ZW1Gb3JBY3RpdmVQb3B1cE1lbnUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpk
aWRIaWRlQWN0aXZlUG9wdXBNZW51KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
OgorICAgICAgICBBZGRlZCBtZXRob2RzIGZvciBzZWxlY3Rpb24gY2hhbmdlIGFuZCBjbG9zZSBu
b3RpZmljYXRpb25zLiBTb21lIGFkanVzdG1lbnRzIHRvIG1ldGhvZAorICAgICAgICBzaG93UG9w
dXBNZW51LgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5OjpjaGFuZ2VTZWxlY3Rpb24p
OgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eTo6Y2xvc2VkQnlUaGVVc2VyKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBvcHVwTWVudS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBvcHVwTWVudTo6ZGlkQ2hhbmdlU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UG9wdXBNZW51OjpkaWRIaWRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51Ojpwb3B1
bGF0ZUl0ZW1zKToKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51OjpzaG93KToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBvcHVwTWVudS5oOgorICAgICAgICBB
ZGRlZCBtZXRob2RzIGZvciBzZWxlY3Rpb24gY2hhbmdlIGFuZCBjbG9zZSBub3RpZmljYXRpb25z
LgorCisKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL21hYy9XZWJQb3B1cE1lbnVQcm94eU1hYy5tbToKKyAgICAgICAg
KFdlYktpdDo6V2ViUG9wdXBNZW51UHJveHlNYWM6OnBvcHVsYXRlKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUG9wdXBNZW51UHJveHlNYWM6OnNob3dQb3B1cE1lbnUpOgorICAgICAgICBTb21lIGFk
anVzdG1lbnRzIGR1ZSB0byBjaGFuZ2VzIGluIFdlYlBvcHVwTWVudVByb3h5LgorCisKKyAgICAg
ICAgKiBXZWJLaXQyLnBybzoKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogd2luL1dlYktpdDIudmNwcm9qOgorCisKIDIwMTAtMTAtMTggIEFu
ZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtLmNw
cCBiL1dlYktpdDIvU2hhcmVkL1dlYlBvcHVwSXRlbS5jcHAKaW5kZXggZjY5MWNkOC4uYzUxNDg0
NiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtLmNwcAorKysgYi9XZWJL
aXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uY3BwCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHly
aWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMp
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMywyNyArMzQsMzAgQEAgbmFt
ZXNwYWNlIFdlYktpdCB7CiBXZWJQb3B1cEl0ZW06OldlYlBvcHVwSXRlbSgpCiAgICAgOiBtX3R5
cGUoSXRlbSkKICAgICAsIG1faXNFbmFibGVkKHRydWUpCisgICAgLCBtX2lzU2VsZWN0ZWQoZmFs
c2UpCiB7CiB9CiAKIFdlYlBvcHVwSXRlbTo6V2ViUG9wdXBJdGVtKFR5cGUgdHlwZSkKICAgICA6
IG1fdHlwZSh0eXBlKQogICAgICwgbV9pc0VuYWJsZWQodHJ1ZSkKKyAgICAsIG1faXNTZWxlY3Rl
ZChmYWxzZSkKIHsKIH0KIAotV2ViUG9wdXBJdGVtOjpXZWJQb3B1cEl0ZW0oVHlwZSB0eXBlLCBj
b25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFN0cmluZyYgdG9vbFRpcCwgY29uc3QgU3RyaW5nJiBh
Y2Nlc3NpYmlsaXR5VGV4dCwgYm9vbCBpc0VuYWJsZWQpCitXZWJQb3B1cEl0ZW06OldlYlBvcHVw
SXRlbShUeXBlIHR5cGUsIGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgU3RyaW5nJiB0b29sVGlw
LCBjb25zdCBTdHJpbmcmIGFjY2Vzc2liaWxpdHlUZXh0LCBib29sIGlzRW5hYmxlZCwgYm9vbCBp
c1NlbGVjdGVkKQogICAgIDogbV90eXBlKHR5cGUpCiAgICAgLCBtX3RleHQodGV4dCkKICAgICAs
IG1fdG9vbFRpcCh0b29sVGlwKQogICAgICwgbV9hY2Nlc3NpYmlsaXR5VGV4dChhY2Nlc3NpYmls
aXR5VGV4dCkKICAgICAsIG1faXNFbmFibGVkKGlzRW5hYmxlZCkKKyAgICAsIG1faXNTZWxlY3Rl
ZChpc1NlbGVjdGVkKQogewogfQogCiB2b2lkIFdlYlBvcHVwSXRlbTo6ZW5jb2RlKENvcmVJUEM6
OkFyZ3VtZW50RW5jb2RlciogZW5jb2RlcikgY29uc3QKIHsKLSAgICBlbmNvZGVyLT5lbmNvZGUo
Q29yZUlQQzo6SW4oc3RhdGljX2Nhc3Q8dWludDMyX3Q+KG1fdHlwZSksIG1fdGV4dCwgbV90b29s
VGlwLCBtX2FjY2Vzc2liaWxpdHlUZXh0LCBtX2lzRW5hYmxlZCkpOworICAgIGVuY29kZXItPmVu
Y29kZShDb3JlSVBDOjpJbihzdGF0aWNfY2FzdDx1aW50MzJfdD4obV90eXBlKSwgbV90ZXh0LCBt
X3Rvb2xUaXAsIG1fYWNjZXNzaWJpbGl0eVRleHQsIG1faXNFbmFibGVkLCBtX2lzU2VsZWN0ZWQp
KTsKIH0KIAogYm9vbCBXZWJQb3B1cEl0ZW06OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29k
ZXIqIGRlY29kZXIsIFdlYlBvcHVwSXRlbSYgaXRlbSkKQEAgLTYzLDEwICs2NywxMSBAQCBib29s
IFdlYlBvcHVwSXRlbTo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogZGVjb2Rlciwg
V2ViUG9wdXBJdGVtJiBpdGVtKQogICAgIFN0cmluZyB0b29sVGlwOwogICAgIFN0cmluZyBhY2Nl
c3NpYmlsaXR5VGV4dDsKICAgICBib29sIGlzRW5hYmxlZDsKLSAgICBpZiAoIWRlY29kZXItPmRl
Y29kZShDb3JlSVBDOjpPdXQodHlwZSwgdGV4dCwgdG9vbFRpcCwgYWNjZXNzaWJpbGl0eVRleHQs
IGlzRW5hYmxlZCkpKQorICAgIGJvb2wgaXNTZWxlY3RlZDsKKyAgICBpZiAoIWRlY29kZXItPmRl
Y29kZShDb3JlSVBDOjpPdXQodHlwZSwgdGV4dCwgdG9vbFRpcCwgYWNjZXNzaWJpbGl0eVRleHQs
IGlzRW5hYmxlZCwgaXNTZWxlY3RlZCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBp
dGVtID0gV2ViUG9wdXBJdGVtKHN0YXRpY19jYXN0PFR5cGU+KHR5cGUpLCB0ZXh0LCB0b29sVGlw
LCBhY2Nlc3NpYmlsaXR5VGV4dCwgaXNFbmFibGVkKTsKKyAgICBpdGVtID0gV2ViUG9wdXBJdGVt
KHN0YXRpY19jYXN0PFR5cGU+KHR5cGUpLCB0ZXh0LCB0b29sVGlwLCBhY2Nlc3NpYmlsaXR5VGV4
dCwgaXNFbmFibGVkLCBpc1NlbGVjdGVkKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0t
Z2l0IGEvV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtLmggYi9XZWJLaXQyL1NoYXJlZC9XZWJQ
b3B1cEl0ZW0uaAppbmRleCA5NDQ4YmMwLi44OWVjZWNkIDEwMDY0NAotLS0gYS9XZWJLaXQyL1No
YXJlZC9XZWJQb3B1cEl0ZW0uaAorKysgYi9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uaApA
QCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9u
IGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtNDMsNyArNDQsNyBAQCBzdHJ1Y3QgV2ViUG9wdXBJdGVtIHsKIAogICAgIFdlYlBv
cHVwSXRlbSgpOwogICAgIFdlYlBvcHVwSXRlbShUeXBlKTsKLSAgICBXZWJQb3B1cEl0ZW0oVHlw
ZSwgY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBTdHJpbmcmIHRvb2xUaXAsIGNvbnN0IFN0cmlu
ZyYgYWNjZXNzaWJpbGl0eVRleHQsIGJvb2wgaXNFbmFibGVkKTsKKyAgICBXZWJQb3B1cEl0ZW0o
VHlwZSwgY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBTdHJpbmcmIHRvb2xUaXAsIGNvbnN0IFN0
cmluZyYgYWNjZXNzaWJpbGl0eVRleHQsIGJvb2wgaXNFbmFibGVkLCBib29sIGlzU2VsZWN0ZWQp
OwogCiAgICAgdm9pZCBlbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyKikgY29uc3Q7CiAg
ICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciosIFdlYlBvcHVw
SXRlbSYpOwpAQCAtNTMsNiArNTQsNyBAQCBzdHJ1Y3QgV2ViUG9wdXBJdGVtIHsKICAgICBTdHJp
bmcgbV90b29sVGlwOwogICAgIFN0cmluZyBtX2FjY2Vzc2liaWxpdHlUZXh0OwogICAgIGJvb2wg
bV9pc0VuYWJsZWQ7CisgICAgYm9vbCBtX2lzU2VsZWN0ZWQ7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAg
Yi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDE3ZWZmZjYuLmFjY2Ix
ZjkgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFy
eSgtaWVzKS4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjEyLDcgKzIxMywx
MCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y2xvc2UoKQogICAgIGZvciAoc2l6ZV90IGkgPSAwLCBz
aXplID0gZWRpdENvbW1hbmRWZWN0b3Iuc2l6ZSgpOyBpIDwgc2l6ZTsgKytpKQogICAgICAgICBl
ZGl0Q29tbWFuZFZlY3RvcltpXS0+aW52YWxpZGF0ZSgpOwogCi0gICAgbV9hY3RpdmVQb3B1cE1l
bnUgPSAwOworICAgIGlmIChtX2FjdGl2ZVBvcHVwTWVudSkgeworICAgICAgICBtX2FjdGl2ZVBv
cHVwTWVudS0+bV9wYWdlID0gMDsKKyAgICAgICAgbV9hY3RpdmVQb3B1cE1lbnUgPSAwOworICAg
IH0KIAogICAgIG1fZXN0aW1hdGVkUHJvZ3Jlc3MgPSAwLjA7CiAgICAgCkBAIC05NzcsMTcgKzk4
MSwyNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bWF0Y2hDb3VudERpZENoYW5nZShjb25zdCBTdHJp
bmcmIHN0cmluZywgdWludDMyX3QgbWF0Y2hDb3VudAogICAgIG1fZmluZENsaWVudC5tYXRjaENv
dW50RGlkQ2hhbmdlKHRoaXMsIHN0cmluZywgbWF0Y2hDb3VudCk7CiB9CiAKLXZvaWQgV2ViUGFn
ZVByb3h5OjpzaG93UG9wdXBNZW51KGNvbnN0IEludFJlY3QmIHJlY3QsIGNvbnN0IFZlY3RvcjxX
ZWJQb3B1cEl0ZW0+JiBpdGVtcywgaW50MzJfdCBzZWxlY3RlZEluZGV4KQordm9pZCBXZWJQYWdl
UHJveHk6OnNob3dQb3B1cE1lbnUoY29uc3QgSW50UmVjdCYgcmVjdCwgY29uc3QgVmVjdG9yPFdl
YlBvcHVwSXRlbT4mIGl0ZW1zLCBib29sIG11bHRpcGxlKQogewotICAgIGlmIChtX2FjdGl2ZVBv
cHVwTWVudSkKLSAgICAgICAgbV9hY3RpdmVQb3B1cE1lbnUtPmhpZGVQb3B1cE1lbnUoKTsKLSAg
ICBlbHNlCi0gICAgICAgIG1fYWN0aXZlUG9wdXBNZW51ID0gbV9wYWdlQ2xpZW50LT5jcmVhdGVQ
b3B1cE1lbnVQcm94eSgpOworICAgIGhpZGVQb3B1cE1lbnUoKTsKKyAgICBtX2FjdGl2ZVBvcHVw
TWVudSA9IG1fcGFnZUNsaWVudC0+Y3JlYXRlUG9wdXBNZW51UHJveHkoKTsKKyAgICBtX2FjdGl2
ZVBvcHVwTWVudS0+bV9wYWdlID0gdGhpczsKIAotICAgIGludDMyX3QgbmV3U2VsZWN0ZWRJbmRl
eCA9IDA7Ci0gICAgbV9hY3RpdmVQb3B1cE1lbnUtPnNob3dQb3B1cE1lbnUocmVjdCwgaXRlbXMs
IHNlbGVjdGVkSW5kZXgsIG5ld1NlbGVjdGVkSW5kZXgpOworICAgIG1fYWN0aXZlUG9wdXBNZW51
LT5zaG93UG9wdXBNZW51KHJlY3QsIGl0ZW1zLCBtdWx0aXBsZSk7Cit9CisKK3ZvaWQgV2ViUGFn
ZVByb3h5OjpjaGFuZ2VTZWxlY3Rpb25Gb3JBY3RpdmVQb3B1cE1lbnUoaW50IGluZGV4LCBib29s
IGN0cmwsIGJvb2wgc2hpZnQpCit7CisgICAgcHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlOjpEaWRTZWxlY3RJdGVtRm9yQWN0aXZlUG9wdXBNZW51KGluZGV4LCBjdHJsLCBzaGlmdCks
IG1fcGFnZUlEKTsKK30KIAotICAgIHByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6
RGlkQ2hhbmdlU2VsZWN0ZWRJbmRleEZvckFjdGl2ZVBvcHVwTWVudShuZXdTZWxlY3RlZEluZGV4
KSwgbV9wYWdlSUQpOwordm9pZCBXZWJQYWdlUHJveHk6OmFjdGl2ZVBvcHVwTWVudUNsb3NlZEJ5
VGhlVXNlcigpCit7CisgICAgaWYgKCFtX2FjdGl2ZVBvcHVwTWVudSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgcHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRIaWRlQWN0aXZl
UG9wdXBNZW51KCksIG1fcGFnZUlEKTsKKyAgICBtX2FjdGl2ZVBvcHVwTWVudS0+bV9wYWdlID0g
MDsKICAgICBtX2FjdGl2ZVBvcHVwTWVudSA9IDA7CiB9CiAKQEAgLTk5Niw2ICsxMDEwLDcgQEAg
dm9pZCBXZWJQYWdlUHJveHk6OmhpZGVQb3B1cE1lbnUoKQogICAgIGlmICghbV9hY3RpdmVQb3B1
cE1lbnUpCiAgICAgICAgIHJldHVybjsKIAorICAgIG1fYWN0aXZlUG9wdXBNZW51LT5tX3BhZ2Ug
PSAwOwogICAgIG1fYWN0aXZlUG9wdXBNZW51LT5oaWRlUG9wdXBNZW51KCk7CiAgICAgbV9hY3Rp
dmVQb3B1cE1lbnUgPSAwOwogfQpAQCAtMTE3MSw3ICsxMTg2LDEwIEBAIHZvaWQgV2ViUGFnZVBy
b3h5Ojpwcm9jZXNzRGlkRXhpdCgpCiAgICAgICAgIGVkaXRDb21tYW5kVmVjdG9yW2ldLT5pbnZh
bGlkYXRlKCk7CiAgICAgbV9wYWdlQ2xpZW50LT5jbGVhckFsbEVkaXRDb21tYW5kcygpOwogCi0g
ICAgbV9hY3RpdmVQb3B1cE1lbnUgPSAwOworICAgIGlmIChtX2FjdGl2ZVBvcHVwTWVudSkgewor
ICAgICAgICBtX2FjdGl2ZVBvcHVwTWVudS0+bV9wYWdlID0gMDsKKyAgICAgICAgbV9hY3RpdmVQ
b3B1cE1lbnUgPSAwOworICAgIH0KIAogICAgIG1fZXN0aW1hdGVkUHJvZ3Jlc3MgPSAwLjA7CiAK
ZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggYmU4NjY4NS4uYmM0ZjE1OCAxMDA2NDQKLS0t
IGEvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAy
MDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTE0Niw2ICsxNDcsMTAgQEAgcHVibGljOgogICAg
IHZvaWQgZXhlY3V0ZUVkaXRDb21tYW5kKGNvbnN0IFN0cmluZyYgY29tbWFuZE5hbWUpOwogICAg
IHZvaWQgdmFsaWRhdGVNZW51SXRlbShjb25zdCBTdHJpbmcmIGNvbW1hbmROYW1lKTsKIAorICAg
IC8vIFBvcHVwIG1lbnUKKyAgICB2b2lkIGNoYW5nZVNlbGVjdGlvbkZvckFjdGl2ZVBvcHVwTWVu
dShpbnQgaW5kZXgsIGJvb2wgY3RybCwgYm9vbCBzaGlmdCk7CisgICAgdm9pZCBhY3RpdmVQb3B1
cE1lbnVDbG9zZWRCeVRoZVVzZXIoKTsKKwogLy8gVGhlc2UgYXJlIG9ubHkgdXNlZCBvbiBNYWMg
Y3VycmVudGx5LgogI2lmIFBMQVRGT1JNKE1BQykKICAgICB2b2lkIHVwZGF0ZVdpbmRvd0lzVmlz
aWJsZShib29sIHdpbmRvd0lzVmlzaWJsZSk7CkBAIC0yOTAsNyArMjk1LDcgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIG1hdGNoQ291bnREaWRDaGFuZ2UoY29uc3QgU3RyaW5nJiwgdWludDMyX3QgbWF0
Y2hDb3VudCk7CiAKICAgICAvLyBQb3B1cCBNZW51LgotICAgIHZvaWQgc2hvd1BvcHVwTWVudShj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JiByZWN0LCBjb25zdCBWZWN0b3I8V2ViUG9wdXBJdGVtPiYg
aXRlbXMsIGludDMyX3Qgc2VsZWN0ZWRJbmRleCk7CisgICAgdm9pZCBzaG93UG9wdXBNZW51KGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3QsIGNvbnN0IFZlY3RvcjxXZWJQb3B1cEl0ZW0+JiBp
dGVtcywgYm9vbCBtdWx0aXBsZSk7CiAgICAgdm9pZCBoaWRlUG9wdXBNZW51KCk7CiAKICAgICB2
b2lkIHRha2VGb2N1cyhib29sIGRpcmVjdGlvbik7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkubWVzc2FnZXMuaW4KaW5kZXggZTMwMGFjYi4uODkzOThkOCAxMDA2NDQKLS0tIGEvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtOTcsNyArOTcsNyBAQCBtZXNzYWdl
cyAtPiBXZWJQYWdlUHJveHkgewogICAgIE1hdGNoQ291bnREaWRDaGFuZ2UoV1RGOjpTdHJpbmcg
c3RyaW5nLCB1aW50MzJfdCBtYXRjaENvdW50KQogCiAgICAgIyBQb3B1cE1lbnUuCi0gICAgU2hv
d1BvcHVwTWVudShXZWJDb3JlOjpJbnRSZWN0IHJlY3QsIFZlY3RvcjxXZWJLaXQ6OldlYlBvcHVw
SXRlbT4gaXRlbXMsIGludDMyX3Qgc2VsZWN0ZWRJbmRleCkKKyAgICBTaG93UG9wdXBNZW51KFdl
YkNvcmU6OkludFJlY3QgcmVjdCwgVmVjdG9yPFdlYktpdDo6V2ViUG9wdXBJdGVtPiBpdGVtcywg
Ym9vbCBtdWx0aXBsZSkKICAgICBIaWRlUG9wdXBNZW51KCkKIAogI2lmIFVTRShBQ0NFTEVSQVRF
RF9DT01QT1NJVElORykKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVwTWVu
dVByb3h5LmNwcCBiL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDU4Y2QzCi0tLSAvZGV2L251bGwKKysr
IGIvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuY3BwCkBAIC0wLDAgKzEsNDkg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0
cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiV2ViUG9wdXBNZW51UHJveHkuaCIKKworI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgor
CituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBXZWJQb3B1cE1lbnVQcm94eTo6Y2hhbmdlU2Vs
ZWN0aW9uKGludCBpbmRleCwgYm9vbCBjdHJsLCBib29sIHNoaWZ0KQoreworICAgIGlmICghbV9w
YWdlKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3BhZ2UtPmNoYW5nZVNlbGVjdGlvbkZvckFj
dGl2ZVBvcHVwTWVudShpbmRleCwgY3RybCwgc2hpZnQpOworfQorCit2b2lkIFdlYlBvcHVwTWVu
dVByb3h5OjpjbG9zZWRCeVRoZVVzZXIoKQoreworICAgIGlmICghbV9wYWdlKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBtX3BhZ2UtPmFjdGl2ZVBvcHVwTWVudUNsb3NlZEJ5VGhlVXNlcigpOwor
fQorCit9CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5o
IGIvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaAppbmRleCAyZjNhODJkLi44
ZWUwOTUwIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5o
CisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmgKQEAgLTEsNSArMSw2
IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRz
IHN1YnNpZGlhcnkoLWllcykuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM3
LDYgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0
cnVjdCBXZWJQb3B1cEl0ZW07CitjbGFzcyBXZWJQYWdlUHJveHk7CitjbGFzcyBXZWJQb3B1cEl0
ZW07CiAKIGNsYXNzIFdlYlBvcHVwTWVudVByb3h5IDogcHVibGljIFJlZkNvdW50ZWQ8V2ViUG9w
dXBNZW51UHJveHk+IHsKIHB1YmxpYzogICAgCkBAIC00NCwxMyArNDcsMjEgQEAgcHVibGljOgog
ICAgIHsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd1BvcHVwTWVudShjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JiByZWN0LCBjb25zdCBWZWN0b3I8V2ViUG9wdXBJdGVtPiYgaXRlbXMsIGlu
dDMyX3Qgc2VsZWN0ZWRJbmRleCwgaW50MzJfdCYgbmV3U2VsZWN0ZWRJbmRleCkgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBzaG93UG9wdXBNZW51KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3Qs
IGNvbnN0IFZlY3RvcjxXZWJQb3B1cEl0ZW0+JiBpdGVtcywgYm9vbCBtdWx0aXBsZSkgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBoaWRlUG9wdXBNZW51KCkgPSAwOwogCiBwcm90ZWN0ZWQ6CisgICAg
dm9pZCBjaGFuZ2VTZWxlY3Rpb24oaW50IGluZGV4LCBib29sIGN0cmwsIGJvb2wgc2hpZnQpOwor
ICAgIHZvaWQgY2xvc2VkQnlUaGVVc2VyKCk7CisKK3Byb3RlY3RlZDoKICAgICBXZWJQb3B1cE1l
bnVQcm94eSgpCiAgICAgewogICAgIH0KKworcHJpdmF0ZToKKyAgICBXZWJQYWdlUHJveHkqIG1f
cGFnZTsKKyAgICBmcmllbmQgY2xhc3MgV2ViUGFnZVByb3h5OwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUG9wdXBNZW51
UHJveHlNYWMuaCBiL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQb3B1cE1lbnVQcm94eU1hYy5o
CmluZGV4IDU3MjNiODIuLjdhYjJkMTYgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL21h
Yy9XZWJQb3B1cE1lbnVQcm94eU1hYy5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQ
b3B1cE1lbnVQcm94eU1hYy5oCkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAg
fldlYlBvcHVwTWVudVByb3h5TWFjKCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd1BvcHVwTWVu
dShjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29uc3QgVmVjdG9yPFdlYlBvcHVwSXRlbT4mLCBp
bnQzMl90IHNlbGVjdGVkSW5kZXgsIGludDMyX3QmIG5ld1NlbGVjdGVkSW5kZXgpOworICAgIHZp
cnR1YWwgdm9pZCBzaG93UG9wdXBNZW51KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBjb25zdCBW
ZWN0b3I8V2ViUG9wdXBJdGVtPiYsIGJvb2wgbXVsdGlwbGUpOwogICAgIHZpcnR1YWwgdm9pZCBo
aWRlUG9wdXBNZW51KCk7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vz
cy9tYWMvV2ViUG9wdXBNZW51UHJveHlNYWMubW0gYi9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2Vi
UG9wdXBNZW51UHJveHlNYWMubW0KaW5kZXggZWIzNzkwZi4uMjljZGE0ZiAxMDA2NDQKLS0tIGEv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLm1tCisrKyBiL1dlYktp
dDIvVUlQcm9jZXNzL21hYy9XZWJQb3B1cE1lbnVQcm94eU1hYy5tbQpAQCAtNTYsNiArNTYsNyBA
QCB2b2lkIFdlYlBvcHVwTWVudVByb3h5TWFjOjpwb3B1bGF0ZShjb25zdCBWZWN0b3I8V2ViUG9w
dXBJdGVtPiYgaXRlbXMpCiAgICAgfQogCiAgICAgaW50IHNpemUgPSBpdGVtcy5zaXplKCk7Cisg
ICAgaW50IHNlbGVjdGVkSW5kZXggPSAtMTsKIAogICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc2l6
ZTsgaSsrKSB7CiAgICAgICAgIGlmIChpdGVtc1tpXS5tX3R5cGUgPT0gV2ViUG9wdXBJdGVtOjpT
ZXBlcmF0b3IpCkBAIC02NiwxNyArNjcsMjMgQEAgdm9pZCBXZWJQb3B1cE1lbnVQcm94eU1hYzo6
cG9wdWxhdGUoY29uc3QgVmVjdG9yPFdlYlBvcHVwSXRlbT4mIGl0ZW1zKQogICAgICAgICAgICAg
W21lbnVJdGVtIHNldEVuYWJsZWQ6aXRlbXNbaV0ubV9pc0VuYWJsZWRdOwogICAgICAgICAgICAg
W21lbnVJdGVtIHNldFRvb2xUaXA6bnNTdHJpbmdGcm9tV2ViQ29yZVN0cmluZyhpdGVtc1tpXS5t
X3Rvb2xUaXApXTsKICAgICAgICAgfQorCisgICAgICAgIGlmIChpdGVtc1tpXS5tX2lzU2VsZWN0
ZWQpCisgICAgICAgICAgICBzZWxlY3RlZEluZGV4ID0gaTsKICAgICB9CisKKyAgICBpZiAoc2Vs
ZWN0ZWRJbmRleCA+PSAwKQorICAgICAgICBbbV9wb3B1cC5nZXQoKSBzZWxlY3RJdGVtQXRJbmRl
eDpzZWxlY3RlZEluZGV4XTsKIH0KIAotdm9pZCBXZWJQb3B1cE1lbnVQcm94eU1hYzo6c2hvd1Bv
cHVwTWVudShjb25zdCBJbnRSZWN0JiByZWN0LCBjb25zdCBWZWN0b3I8V2ViUG9wdXBJdGVtPiYg
aXRlbXMsIGludDMyX3Qgc2VsZWN0ZWRJbmRleCwgaW50MzJfdCYgbmV3U2VsZWN0ZWRJbmRleCkK
K3ZvaWQgV2ViUG9wdXBNZW51UHJveHlNYWM6OnNob3dQb3B1cE1lbnUoY29uc3QgSW50UmVjdCYg
cmVjdCwgY29uc3QgVmVjdG9yPFdlYlBvcHVwSXRlbT4mIGl0ZW1zLCBib29sIG11bHRpcGxlKQog
ewogICAgIHBvcHVsYXRlKGl0ZW1zKTsKIAogICAgIFttX3BvcHVwLmdldCgpIGF0dGFjaFBvcFVw
V2l0aEZyYW1lOnJlY3QgaW5WaWV3Om1fd2ViVmlld107Ci0gICAgW21fcG9wdXAuZ2V0KCkgc2Vs
ZWN0SXRlbUF0SW5kZXg6c2VsZWN0ZWRJbmRleF07CiAKICAgICBOU01lbnUqIG1lbnUgPSBbbV9w
b3B1cC5nZXQoKSBtZW51XTsKKyAgICBpbnQgc2VsZWN0ZWRJbmRleCA9IFttX3BvcHVwLmdldCgp
IGluZGV4T2ZTZWxlY3RlZEl0ZW1dOwogCiAgICAgLy8gVGhlc2UgdmFsdWVzIHdlcmUgYm9ycm93
ZWQgZnJvbSBBcHBLaXQgdG8gbWF0Y2ggdGhlaXIgcGxhY2VtZW50IG9mIHRoZSBtZW51LgogICAg
IGNvbnN0IGludCBwb3BPdmVySG9yaXpvbnRhbEFkanVzdCA9IC0xMDsKQEAgLTk1LDcgKzEwMiw4
IEBAIHZvaWQgV2ViUG9wdXBNZW51UHJveHlNYWM6OnNob3dQb3B1cE1lbnUoY29uc3QgSW50UmVj
dCYgcmVjdCwgY29uc3QgVmVjdG9yPFdlYlBvCiAgICAgW21fcG9wdXAuZ2V0KCkgZGlzbWlzc1Bv
cFVwXTsKICAgICBbZHVtbXlWaWV3LmdldCgpIHJlbW92ZUZyb21TdXBlcnZpZXddOwogCi0gICAg
bmV3U2VsZWN0ZWRJbmRleCA9IFttX3BvcHVwLmdldCgpIGluZGV4T2ZTZWxlY3RlZEl0ZW1dOwor
ICAgIGNoYW5nZVNlbGVjdGlvbihbbV9wb3B1cC5nZXQoKSBpbmRleE9mU2VsZWN0ZWRJdGVtXSwg
ZmFsc2UsIGZhbHNlKTsKKyAgICBjbG9zZWRCeVRoZVVzZXIoKTsKIH0KIAogdm9pZCBXZWJQb3B1
cE1lbnVQcm94eU1hYzo6aGlkZVBvcHVwTWVudSgpCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYktp
dDIucHJvIGIvV2ViS2l0Mi9XZWJLaXQyLnBybwppbmRleCA3OTc0ODhjLi5jMTgyZjVjIDEwMDY0
NAotLS0gYS9XZWJLaXQyL1dlYktpdDIucHJvCisrKyBiL1dlYktpdDIvV2ViS2l0Mi5wcm8KQEAg
LTI2OCw2ICsyNjgsNyBAQCBIRUFERVJTICs9IFwKICAgICBVSVByb2Nlc3MvV2ViUGFnZU5hbWVz
cGFjZS5oIFwKICAgICBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggXAogICAgIFVJUHJvY2Vzcy9X
ZWJQb2xpY3lDbGllbnQuaCBcCisgICAgVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmggXAog
ICAgIFVJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oIFwKICAgICBVSVByb2Nlc3MvV2ViUHJvY2Vz
c01hbmFnZXIuaCBcCiAgICAgVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oIFwKQEAgLTQwOCw2
ICs0MDksNyBAQCBTT1VSQ0VTICs9IFwKICAgICBVSVByb2Nlc3MvV2ViUGFnZU5hbWVzcGFjZS5j
cHAgXAogICAgIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIFwKICAgICBVSVByb2Nlc3MvV2Vi
UG9saWN5Q2xpZW50LmNwcCBcCisgICAgVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmNwcCBc
CiAgICAgVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcCBcCiAgICAgVUlQcm9jZXNzL1dlYlBy
b2Nlc3NNYW5hZ2VyLmNwcCBcCiAgICAgVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAgXApk
aWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9X
ZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0NDJjMTc1Li42
MGNjYzljIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
NDQ4LDYgKzQ0OCw3IEBACiAJCUMwRTNBQTdCMTIwOUU4MzUwMEE0OUQwMSAvKiBNb2R1bGUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBFM0FBNDUx
MjA5RTJCQTAwQTQ5RDAxIC8qIE1vZHVsZS5jcHAgKi87IH07CiAJCUMwRTNBQTdDMTIwOUU4M0Mw
MEE0OUQwMSAvKiBNb2R1bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEMwRTNBQTQ0MTIwOUUyQkEwMEE0OUQwMSAvKiBNb2R1bGUuaCAqLzsgfTsKIAkJ
QzUyMzdGNjAxMjQ0MUNBMzAwNzgwNDcyIC8qIFdlYkVkaXRvckNsaWVudE1hYy5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1MjM3RjVGMTI0NDFDQTMw
MDc4MDQ3MiAvKiBXZWJFZGl0b3JDbGllbnRNYWMubW0gKi87IH07CisJCUQzMjQ2RUQxMTI2Q0VC
QUMwMDQxMjIzMyAvKiBXZWJQb3B1cE1lbnVQcm94eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEMzI0NkVEMDEyNkNFQkFDMDA0MTIyMzMgLyogV2Vi
UG9wdXBNZW51UHJveHkuY3BwICovOyB9OwogCQlEM0I5NDg0NjExRkY0QjY1MDAwMzJCMzkgLyog
V2ViUG9wdXBNZW51LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEQzQjk0ODQyMTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuY3BwICovOyB9
OwogCQlEM0I5NDg0NzExRkY0QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEM0I5NDg0MzExRkY0QjY1MDAw
MzJCMzkgLyogV2ViUG9wdXBNZW51LmggKi87IH07CiAJCUQzQjk0ODQ4MTFGRjRCNjUwMDAzMkIz
OSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRDNCOTQ4NDQxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlNlYXJjaFBv
cHVwTWVudS5jcHAgKi87IH07CkBAIC05NDYsNiArOTQ3LDcgQEAKIAkJQzBFM0FBNDUxMjA5RTJC
QTAwQTQ5RDAxIC8qIE1vZHVsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBNb2R1bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMEUzQUE0ODEy
MDlFNDUwMDBBNDlEMDEgLyogTW9kdWxlTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gTW9kdWxlTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlDNTIzN0Y1RjEyNDQxQ0EzMDA3ODA0NzIgLyogV2ViRWRpdG9yQ2xpZW50TWFjLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViRWRpdG9yQ2xpZW50TWFjLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMzI0NkVEMDEyNkNFQkFDMDA0MTIyMzMg
LyogV2ViUG9wdXBNZW51UHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gV2ViUG9wdXBNZW51UHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlEM0I5NDg0MjExRkY0QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlBvcHVwTWVudS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUQzQjk0ODQzMTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1l
bnUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUG9wdXBNZW51Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQzQjk0ODQ0MTFGRjRCNjUwMDAzMkIzOSAvKiBX
ZWJTZWFyY2hQb3B1cE1lbnUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2ViU2VhcmNoUG9wdXBNZW51LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE0MjgsNiArMTQzMCw3IEBACiAJCQkJQkNCOUY4QUQxMTI0RTA3NzAwQTEzN0UwIC8qIFdlYlBv
bGljeUNsaWVudC5jcHAgKi8sCiAJCQkJQkNCOUY4QUUxMTI0RTA3NzAwQTEzN0UwIC8qIFdlYlBv
bGljeUNsaWVudC5oICovLAogCQkJCUJDNTc0RTYxMTI2N0QwODAwMDZGMEYxMiAvKiBXZWJQb3B1
cE1lbnVQcm94eS5oICovLAorCQkJCUQzMjQ2RUQwMTI2Q0VCQUMwMDQxMjIzMyAvKiBXZWJQb3B1
cE1lbnVQcm94eS5jcHAgKi8sCiAJCQkJQkNENTk3RkUxMTJCNTdCRTAwRUM4QzIzIC8qIFdlYlBy
ZWZlcmVuY2VzLmNwcCAqLywKIAkJCQlCQ0Q1OTdGRDExMkI1N0JFMDBFQzhDMjMgLyogV2ViUHJl
ZmVyZW5jZXMuaCAqLywKIAkJCQlCQzExMUIwQzExMkY1RTRGMDAzMzdCQUIgLyogV2ViUHJvY2Vz
c01hbmFnZXIuY3BwICovLApAQCAtMjM4MSw2ICsyMzg0LDcgQEAKIAkJCQkxQTkxMDA3MjEyNjY3
NUM0MDAxODQyRjUgLyogRmluZEluZGljYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTkx
MDEwQjEyNjhDOENBMDAxODQyRjUgLyogRmluZEluZGljYXRvcldpbmRvdy5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCUY2MTEzRTI4MTI2Q0UxOUIwMDU3RDBBNyAvKiBXS1VzZXJDb250ZW50VVJMUGF0
dGVybi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlEMzI0NkVEMTEyNkNFQkFDMDA0MTIyMzMgLyog
V2ViUG9wdXBNZW51UHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9wdXBNZW51LmNwcCBiL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuY3BwCmluZGV4IDhhNTUwOWEuLjIx
NjU3YmQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
b3B1cE1lbnUuY3BwCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
b3B1cE1lbnUuY3BwCkBAIC01MiwxNCArNTIsMjYgQEAgdm9pZCBXZWJQb3B1cE1lbnU6OmRpc2Nv
bm5lY3RDbGllbnQoKQogICAgIG1fcG9wdXBDbGllbnQgPSAwOwogfQogCi12b2lkIFdlYlBvcHVw
TWVudTo6ZGlkQ2hhbmdlU2VsZWN0ZWRJbmRleChpbnQgbmV3SW5kZXgpCit2b2lkIFdlYlBvcHVw
TWVudTo6ZGlkQ2hhbmdlU2VsZWN0aW9uKGludCBpbmRleCwgYm9vbCBjdHJsLCBib29sIHNoaWZ0
KQoreworICAgIGlmICghbV9wb3B1cENsaWVudCB8fCBpbmRleCA8IDApCisgICAgICAgIHJldHVy
bjsKKworI2lmIEVOQUJMRShOT19MSVNUQk9YX1JFTkRFUklORykKKyAgICBMaXN0UG9wdXBNZW51
Q2xpZW50KiBjbGllbnQgPSBzdGF0aWNfY2FzdDxMaXN0UG9wdXBNZW51Q2xpZW50Kj4obV9wb3B1
cENsaWVudCk7CisgICAgaWYgKGNsaWVudCkKKyAgICAgICAgY2xpZW50LT5saXN0Qm94U2VsZWN0
SXRlbShpbmRleCwgY3RybCwgc2hpZnQpOworI2Vsc2UKKyAgICBtX3BvcHVwQ2xpZW50LT52YWx1
ZUNoYW5nZWQoaW5kZXgpOworI2VuZGlmCit9CisKK3ZvaWQgV2ViUG9wdXBNZW51OjpkaWRIaWRl
KCkKIHsKICAgICBpZiAoIW1fcG9wdXBDbGllbnQpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1f
cG9wdXBDbGllbnQtPnBvcHVwRGlkSGlkZSgpOwotICAgIGlmIChuZXdJbmRleCA+PSAwKQotICAg
ICAgICBtX3BvcHVwQ2xpZW50LT52YWx1ZUNoYW5nZWQobmV3SW5kZXgpOwogfQogCiBWZWN0b3I8
V2ViUG9wdXBJdGVtPiBXZWJQb3B1cE1lbnU6OnBvcHVsYXRlSXRlbXMoKQpAQCAtNzYsNyArODgs
NyBAQCBWZWN0b3I8V2ViUG9wdXBJdGVtPiBXZWJQb3B1cE1lbnU6OnBvcHVsYXRlSXRlbXMoKQog
ICAgICAgICAgICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBzdHlsaW5nIHRoZSBmb250Lgog
ICAgICAgICAgICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBzdHlsaW5nIHRoZSBmb3JlZ3Jv
dW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9ycy4KICAgICAgICAgICAgIC8vIEZJWE1FOiBGaW5kIGEg
d2F5IHRvIGN1c3RvbWl6ZSB0ZXh0IGNvbG9yIHdoZW4gYW4gaXRlbSBpcyBoaWdobGlnaHRlZC4K
LSAgICAgICAgICAgIGl0ZW1zLmFwcGVuZChXZWJQb3B1cEl0ZW0oV2ViUG9wdXBJdGVtOjpJdGVt
LCBtX3BvcHVwQ2xpZW50LT5pdGVtVGV4dChpKSwgbV9wb3B1cENsaWVudC0+aXRlbVRvb2xUaXAo
aSksIG1fcG9wdXBDbGllbnQtPml0ZW1BY2Nlc3NpYmlsaXR5VGV4dChpKSwgbV9wb3B1cENsaWVu
dC0+aXRlbUlzRW5hYmxlZChpKSkpOworICAgICAgICAgICAgaXRlbXMuYXBwZW5kKFdlYlBvcHVw
SXRlbShXZWJQb3B1cEl0ZW06Okl0ZW0sIG1fcG9wdXBDbGllbnQtPml0ZW1UZXh0KGkpLCBtX3Bv
cHVwQ2xpZW50LT5pdGVtVG9vbFRpcChpKSwgbV9wb3B1cENsaWVudC0+aXRlbUFjY2Vzc2liaWxp
dHlUZXh0KGkpLCBtX3BvcHVwQ2xpZW50LT5pdGVtSXNFbmFibGVkKGkpLCBtX3BvcHVwQ2xpZW50
LT5pdGVtSXNTZWxlY3RlZChpKSkpOwogICAgICAgICB9CiAgICAgfQogCkBAIC05NSw5ICsxMDcs
MTUgQEAgdm9pZCBXZWJQb3B1cE1lbnU6OnNob3coY29uc3QgSW50UmVjdCYgcmVjdCwgRnJhbWVW
aWV3KiB2aWV3LCBpbnQgaW5kZXgpCiAKICAgICBtX3BhZ2UtPnNldEFjdGl2ZVBvcHVwTWVudSh0
aGlzKTsKIAorICAgIGJvb2wgbXVsdGlwbGUgPSBmYWxzZTsKKyNpZiBFTkFCTEUoTk9fTElTVEJP
WF9SRU5ERVJJTkcpCisgICAgTGlzdFBvcHVwTWVudUNsaWVudCogY2xpZW50ID0gc3RhdGljX2Nh
c3Q8TGlzdFBvcHVwTWVudUNsaWVudCo+KG1fcG9wdXBDbGllbnQpOworICAgIG11bHRpcGxlID0g
Y2xpZW50ICYmIGNsaWVudC0+bXVsdGlwbGUoKTsKKyNlbmRpZgorCiAgICAgLy8gTW92ZSB0byBw
YWdlIGNvb3JkaW5hdGVzCiAgICAgSW50UmVjdCBwYWdlQ29vcmRpbmF0ZXModmlldy0+Y29udGVu
dHNUb1dpbmRvdyhyZWN0LmxvY2F0aW9uKCkpLCByZWN0LnNpemUoKSk7Ci0gICAgV2ViUHJvY2Vz
czo6c2hhcmVkKCkuY29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNo
b3dQb3B1cE1lbnUocGFnZUNvb3JkaW5hdGVzLCBpdGVtcywgaW5kZXgpLCBtX3BhZ2UtPnBhZ2VJ
RCgpKTsKKyAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5jb25uZWN0aW9uKCktPnNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6U2hvd1BvcHVwTWVudShwYWdlQ29vcmRpbmF0ZXMsIGl0ZW1zLCBt
dWx0aXBsZSksIG1fcGFnZS0+cGFnZUlEKCkpOwogfQogCiB2b2lkIFdlYlBvcHVwTWVudTo6aGlk
ZSgpCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9w
dXBNZW51LmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9wdXBNZW51
LmgKaW5kZXggZDRjYTc3MC4uNDAyNWEzNCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYlBvcHVwTWVudS5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuaApAQCAtNDMsNyArNDMsOCBAQCBwdWJsaWM6CiAg
ICAgfldlYlBvcHVwTWVudSgpOwogCiAgICAgdm9pZCBkaXNjb25uZWN0RnJvbVBhZ2UoKSB7IG1f
cGFnZSA9IDA7IH0KLSAgICB2b2lkIGRpZENoYW5nZVNlbGVjdGVkSW5kZXgoaW50IG5ld0luZGV4
KTsKKyAgICB2b2lkIGRpZENoYW5nZVNlbGVjdGlvbihpbnQgaW5kZXgsIGJvb2wgY3RybCwgYm9v
bCBzaGlmdCk7CisgICAgdm9pZCBkaWRIaWRlKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2hvdyhj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgV2ViQ29yZTo6RnJhbWVWaWV3KiwgaW50IGluZGV4KTsK
ICAgICB2aXJ0dWFsIHZvaWQgaGlkZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAppbmRleCA1MTZlZjc4Li5iMWQ3MTBmIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lh
IENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtODIxLDEyICs4MjIsMjAgQEAgdm9pZCBXZWJQYWdlOjpjb3Vu
dFN0cmluZ01hdGNoZXMoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGJvb2wgY2FzZUluc2Vuc2l0aXZl
LCB1aW4KICAgICBtX2ZpbmRDb250cm9sbGVyLmNvdW50U3RyaW5nTWF0Y2hlcyhzdHJpbmcsIGNh
c2VJbnNlbnNpdGl2ZSwgbWF4TWF0Y2hDb3VudCk7CiB9CiAKLXZvaWQgV2ViUGFnZTo6ZGlkQ2hh
bmdlU2VsZWN0ZWRJbmRleEZvckFjdGl2ZVBvcHVwTWVudShpbnQzMl90IG5ld0luZGV4KQordm9p
ZCBXZWJQYWdlOjpkaWRTZWxlY3RJdGVtRm9yQWN0aXZlUG9wdXBNZW51KGludDMyX3QgaW5kZXgs
IGJvb2wgY3RybCwgYm9vbCBzaGlmdCkKIHsKICAgICBpZiAoIW1fYWN0aXZlUG9wdXBNZW51KQog
ICAgICAgICByZXR1cm47CiAKLSAgICBtX2FjdGl2ZVBvcHVwTWVudS0+ZGlkQ2hhbmdlU2VsZWN0
ZWRJbmRleChuZXdJbmRleCk7CisgICAgbV9hY3RpdmVQb3B1cE1lbnUtPmRpZENoYW5nZVNlbGVj
dGlvbihpbmRleCwgY3RybCwgc2hpZnQpOworfQorCit2b2lkIFdlYlBhZ2U6OmRpZEhpZGVBY3Rp
dmVQb3B1cE1lbnUoKQoreworICAgIGlmICghbV9hY3RpdmVQb3B1cE1lbnUpCisgICAgICAgIHJl
dHVybjsKKworICAgIG1fYWN0aXZlUG9wdXBNZW51LT5kaWRIaWRlKCk7CiAgICAgbV9hY3RpdmVQ
b3B1cE1lbnUgPSAwOwogfQogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXgg
YzlkMzQ4NC4uNzRlOTgxYSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAt
MSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFu
ZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMjMwLDcgKzIzMSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBoaWRlRmluZFVJKCk7CiAg
ICAgdm9pZCBjb3VudFN0cmluZ01hdGNoZXMoY29uc3QgU3RyaW5nJiwgYm9vbCBjYXNlSW5zZW5z
aXRpdmUsIHVpbnQzMl90IG1heE1hdGNoQ291bnQpOwogCi0gICAgdm9pZCBkaWRDaGFuZ2VTZWxl
Y3RlZEluZGV4Rm9yQWN0aXZlUG9wdXBNZW51KGludDMyX3QgbmV3SW5kZXgpOworICAgIHZvaWQg
ZGlkU2VsZWN0SXRlbUZvckFjdGl2ZVBvcHVwTWVudShpbnQzMl90IGluZGV4LCBib29sIGN0cmws
IGJvb2wgc2hpZnQpOworICAgIHZvaWQgZGlkSGlkZUFjdGl2ZVBvcHVwTWVudSgpOwogCiAgICAg
T3duUHRyPFdlYkNvcmU6OlBhZ2U+IG1fcGFnZTsKICAgICBSZWZQdHI8V2ViRnJhbWU+IG1fbWFp
bkZyYW1lOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5t
ZXNzYWdlcy5pbiBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMu
aW4KaW5kZXggNDExZDdlMy4uZTNlODcyNTggMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtNzQsNyArNzQsOCBAQCBtZXNzYWdlcyAtPiBX
ZWJQYWdlIHsKICAgICBDb3VudFN0cmluZ01hdGNoZXMoV1RGOjpTdHJpbmcgc3RyaW5nLCBib29s
IGNhc2VJbnNlbnNpdGl2ZSwgdW5zaWduZWQgbWF4TWF0Y2hDb3VudCkKIAogICAgICMgUG9wdXAg
bWVudS4KLSAgICBEaWRDaGFuZ2VTZWxlY3RlZEluZGV4Rm9yQWN0aXZlUG9wdXBNZW51KGludDMy
X3QgbmV3SW5kZXgpOworICAgIERpZFNlbGVjdEl0ZW1Gb3JBY3RpdmVQb3B1cE1lbnUoaW50MzJf
dCBuZXdJbmRleCwgYm9vbCBjdHJsLCBib29sIHNoaWZ0KQorICAgIERpZEhpZGVBY3RpdmVQb3B1
cE1lbnUoKQogCiAgICAgU2V0V2luZG93UmVzaXplclNpemUoV2ViQ29yZTo6SW50U2l6ZSBpbnRl
cnNlY3RzVmlldykKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2ogYi9X
ZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagppbmRleCBkMjA1MjZmLi45ZWY2ZmFjIDEwMDc1NQot
LS0gYS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagorKysgYi9XZWJLaXQyL3dpbi9XZWJLaXQy
LnZjcHJvagpAQCAtMTY5OSw3ICsxNjk5LDE1IEBACiAJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXFVJUHJvY2Vzc1xXZWJQb2xpY3lDbGllbnQuaCINCiAJCQkJPg0KLQkJCTwvRmlsZT4N
CisgICAgICAgICAgICA8L0ZpbGU+DQorICAgICAgICAgICAgPEZpbGUNCisgICAgICAgICAgICAg
ICAgUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcV2ViUG9wdXBNZW51UHJveHkuY3BwIg0KKyAg
ICAgICAgICAgICAgICA+DQorICAgICAgICAgICAgPC9GaWxlPg0KKyAgICAgICAgICAgIDxGaWxl
DQorICAgICAgICAgICAgICAgIFJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXFdlYlBvcHVwTWVu
dVByb3h5LmgiDQorICAgICAgICAgICAgICAgID4NCisgICAgICAgICAgICA8L0ZpbGU+DQogCQkJ
PEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcV2ViUHJlZmVyZW5jZXMuY3Bw
Ig0KIAkJCQk+DQotLSAKMS43LjIuMgoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71168</attachid>
            <date>2010-10-19 07:29:17 -0700</date>
            <delta_ts>2010-11-07 23:36:58 -0800</delta_ts>
            <desc>patch</desc>
            <filename>0001-Multiple-selection-support-for-select-multiple-popup.patch</filename>
            <type>text/plain</type>
            <size>32112</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSA1N2I0YWExMzdjNzMxOWMxYWU3YTE2MDllYmNhMzA5NGY1ZTNlYzdmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFR1ZSwgMTkgT2N0IDIwMTAgMDk6NTg6MTkgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBNdWx0aXBsZSBzZWxlY3Rpb24gc3VwcG9ydCBmb3IgPHNlbGVjdCBtdWx0aXBsZT4gcG9w
dXBzLgogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3ODk5CgpSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCkFkZCBtdWx0aXBsZSBzZWxlY3Rpb24gcG9wdXAgd2lk
Z2V0IHN1cHBvcnQgKDxzZWxlY3QgbXVsdGlwbGU+IGVsZW1lbnRzKSB0byBXZWJLaXQyLgo8c2Vs
ZWN0IG11bHRpcGxlPiBlbGVtZW50cyBhcmUgcmVuZGVyZWQgYXMgbWVudSBsaXN0cyBpZiBFTkFC
TEVfTk9fTElTVEJPWF9SRU5ERVJJTkcKaXMgdXNlZC4gVGhvc2UgbXVsdGlwbGUgbWVudSBsaXN0
cyBuZWVkIG11bHRpcGxlIHNlbGVjdGlvbiBjYXBhYmxlIHBvcHVwcy4KCiogU2hhcmVkL1dlYlBv
cHVwSXRlbS5jcHA6CihXZWJLaXQ6OldlYlBvcHVwSXRlbTo6V2ViUG9wdXBJdGVtKToKKFdlYktp
dDo6V2ViUG9wdXBJdGVtOjplbmNvZGUpOgooV2ViS2l0OjpXZWJQb3B1cEl0ZW06OmRlY29kZSk6
CiogU2hhcmVkL1dlYlBvcHVwSXRlbS5oOgptX2lzU2VsZWN0ZWQgYWRkZWQuCgoqIFVJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwOgooV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNsb3NlKToKKFdlYktp
dDo6V2ViUGFnZVByb3h5OjpzaG93UG9wdXBNZW51KToKKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpj
aGFuZ2VTZWxlY3Rpb25Gb3JBY3RpdmVQb3B1cE1lbnUpOgooV2ViS2l0OjpXZWJQYWdlUHJveHk6
OmFjdGl2ZVBvcHVwTWVudUNsb3NlZEJ5VGhlVXNlcik6CihXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
aGlkZVBvcHVwTWVudSk6CihXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cHJvY2Vzc0RpZEV4aXQpOgoq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluOgoqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKFdlYktpdDo6V2ViUGFn
ZTo6ZGlkU2VsZWN0SXRlbUZvckFjdGl2ZVBvcHVwTWVudSk6CihXZWJLaXQ6OldlYlBhZ2U6OmRp
ZEhpZGVBY3RpdmVQb3B1cE1lbnUpOgoqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6Ciog
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CkFkZGVkIG1ldGhvZHMgZm9y
IHNlbGVjdGlvbiBjaGFuZ2UgYW5kIGNsb3NlIG5vdGlmaWNhdGlvbnMuIFNvbWUgYWRqdXN0bWVu
dHMgdG8gbWV0aG9kCnNob3dQb3B1cE1lbnUuCgoqIFVJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94
eS5jcHA6IEFkZGVkLgooV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eTo6Y2hhbmdlU2VsZWN0aW9u
KToKKFdlYktpdDo6V2ViUG9wdXBNZW51UHJveHk6OmNsb3NlZEJ5VGhlVXNlcik6CiogVUlQcm9j
ZXNzL1dlYlBvcHVwTWVudVByb3h5Lmg6CiogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
b3B1cE1lbnUuY3BwOgooV2ViS2l0OjpXZWJQb3B1cE1lbnU6OmRpZENoYW5nZVNlbGVjdGlvbik6
CihXZWJLaXQ6OldlYlBvcHVwTWVudTo6ZGlkSGlkZSk6CihXZWJLaXQ6OldlYlBvcHVwTWVudTo6
cG9wdWxhdGVJdGVtcyk6CihXZWJLaXQ6OldlYlBvcHVwTWVudTo6c2hvdyk6CiogV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuaDoKQWRkZWQgbWV0aG9kcyBmb3Igc2VsZWN0
aW9uIGNoYW5nZSBhbmQgY2xvc2Ugbm90aWZpY2F0aW9ucy4KCiogVUlQcm9jZXNzL21hYy9XZWJQ
b3B1cE1lbnVQcm94eU1hYy5oOgoqIFVJUHJvY2Vzcy9tYWMvV2ViUG9wdXBNZW51UHJveHlNYWMu
bW06CihXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5TWFjOjpwb3B1bGF0ZSk6CihXZWJLaXQ6Oldl
YlBvcHVwTWVudVByb3h5TWFjOjpzaG93UG9wdXBNZW51KToKU29tZSBhZGp1c3RtZW50cyBkdWUg
dG8gY2hhbmdlcyBpbiBXZWJQb3B1cE1lbnVQcm94eS4KCiogV2ViS2l0Mi5wcm86CiogV2ViS2l0
Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgoqIHdpbi9XZWJLaXQyLnZjcHJvajoKLS0tCiBX
ZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNjAg
KysrKysrKysrKysrKysrKysrKysKIFdlYktpdDIvU2hhcmVkL1dlYlBvcHVwSXRlbS5jcHAgICAg
ICAgICAgICAgICAgICAgIHwgICAxMyArKystCiBXZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0u
aCAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKy0KIFdlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAgICAgICAgICAgICAgICAgIHwgICAzOCArKysrKysrKystLS0KIFdlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oICAgICAgICAgICAgICAgICAgIHwgICAgNyArKy0KIFdl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiAgICAgICAgIHwgICAgMiAr
LQogV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuY3BwICAgICAgICAgICAgfCAg
IDQ5ICsrKysrKysrKysrKysrKysKIFdlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5
LmggICAgICAgICAgICAgIHwgICAxMyArKysrLQogV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBv
cHVwTWVudVByb3h5TWFjLmggICAgICAgfCAgICAyICstCiBXZWJLaXQyL1VJUHJvY2Vzcy9tYWMv
V2ViUG9wdXBNZW51UHJveHlNYWMubW0gICAgICB8ICAgMTQgKysrKy0KIFdlYktpdDIvVUlQcm9j
ZXNzL3F0L1dlYlBvcHVwTWVudVByb3h5UXQuY3BwICAgICAgIHwgICAgMiArLQogV2ViS2l0Mi9V
SVByb2Nlc3MvcXQvV2ViUG9wdXBNZW51UHJveHlRdC5oICAgICAgICAgfCAgICAyICstCiBXZWJL
aXQyL1dlYktpdDIucHJvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKwog
V2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogICAgICAgICAgfCAgICA0
ICsKIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuY3BwIHwg
ICAyOCArKysrKysrKy0tCiBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9w
dXBNZW51LmggICB8ICAgIDMgKy0KIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwICAgICAgICAgICAgIHwgICAxMyArKysrLQogV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oICAgICAgICAgICAgICAgfCAgICA0ICstCiBXZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluICAgICB8ICAgIDMgKy0KIFdlYktpdDIvd2luL1dlYktp
dDIudmNwcm9qICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMCArKystCiAyMCBmaWxlcyBj
aGFuZ2VkLCAyMzggaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAx
MDA2NDQgV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuY3BwCgpkaWZmIC0tZ2l0
IGEvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBiODNkYzE5Li41
M2EzNjE2IDEwMDY0NAotLS0gYS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9XZWJLaXQyL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDEwLTEwLTE5ICBMdWl6IEFnb3N0aW5pICA8bHVpei5h
Z29zdGluaUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE11bHRpcGxlIHNlbGVjdGlvbiBzdXBwb3J0IGZvciA8c2VsZWN0IG11
bHRpcGxlPiBwb3B1cHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00Nzg5OQorCisgICAgICAgIEFkZCBtdWx0aXBsZSBzZWxlY3Rpb24gcG9wdXAgd2lk
Z2V0IHN1cHBvcnQgKDxzZWxlY3QgbXVsdGlwbGU+IGVsZW1lbnRzKSB0byBXZWJLaXQyLgorICAg
ICAgICA8c2VsZWN0IG11bHRpcGxlPiBlbGVtZW50cyBhcmUgcmVuZGVyZWQgYXMgbWVudSBsaXN0
cyBpZiBFTkFCTEVfTk9fTElTVEJPWF9SRU5ERVJJTkcKKyAgICAgICAgaXMgdXNlZC4gVGhvc2Ug
bXVsdGlwbGUgbWVudSBsaXN0cyBuZWVkIG11bHRpcGxlIHNlbGVjdGlvbiBjYXBhYmxlIHBvcHVw
cy4KKworICAgICAgICAqIFNoYXJlZC9XZWJQb3B1cEl0ZW0uY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQb3B1cEl0ZW06OldlYlBvcHVwSXRlbSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVw
SXRlbTo6ZW5jb2RlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBJdGVtOjpkZWNvZGUpOgor
ICAgICAgICAqIFNoYXJlZC9XZWJQb3B1cEl0ZW0uaDoKKyAgICAgICAgbV9pc1NlbGVjdGVkIGFk
ZGVkLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y2xvc2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OnNob3dQb3B1cE1lbnUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNoYW5n
ZVNlbGVjdGlvbkZvckFjdGl2ZVBvcHVwTWVudSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6YWN0aXZlUG9wdXBNZW51Q2xvc2VkQnlUaGVVc2VyKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5OjpoaWRlUG9wdXBNZW51KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5Ojpwcm9jZXNzRGlkRXhpdCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjpkaWRTZWxlY3RJdGVtRm9yQWN0aXZlUG9wdXBNZW51KToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZTo6ZGlkSGlkZUFjdGl2ZVBvcHVwTWVudSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5t
ZXNzYWdlcy5pbjoKKyAgICAgICAgQWRkZWQgbWV0aG9kcyBmb3Igc2VsZWN0aW9uIGNoYW5nZSBh
bmQgY2xvc2Ugbm90aWZpY2F0aW9ucy4gU29tZSBhZGp1c3RtZW50cyB0byBtZXRob2QKKyAgICAg
ICAgc2hvd1BvcHVwTWVudS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94
eS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eTo6Y2hhbmdl
U2VsZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51UHJveHk6OmNsb3NlZEJ5
VGhlVXNlcik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5Lmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQb3B1cE1lbnU6OmRpZENoYW5nZVNlbGVjdGlvbik6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBvcHVwTWVudTo6ZGlkSGlkZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVw
TWVudTo6cG9wdWxhdGVJdGVtcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudTo6c2hv
dyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuaDoK
KyAgICAgICAgQWRkZWQgbWV0aG9kcyBmb3Igc2VsZWN0aW9uIGNoYW5nZSBhbmQgY2xvc2Ugbm90
aWZpY2F0aW9ucy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9xdC9XZWJQb3B1cE1lbnVQcm94eVF0
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51UHJveHlRdDo6c2hvd1BvcHVwTWVu
dSk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1dlYlBvcHVwTWVudVByb3h5UXQuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL21hYy9XZWJQb3B1cE1lbnVQcm94eU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UG9wdXBNZW51UHJveHlNYWM6OnBvcHVsYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBN
ZW51UHJveHlNYWM6OnNob3dQb3B1cE1lbnUpOgorICAgICAgICBTb21lIGFkanVzdG1lbnRzIGR1
ZSB0byBjaGFuZ2VzIGluIFdlYlBvcHVwTWVudVByb3h5LgorCisgICAgICAgICogV2ViS2l0Mi5w
cm86CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIHdpbi9XZWJLaXQyLnZjcHJvajoKKwogMjAxMC0xMC0xOCAgQW5kZXJzIENhcmxzc29uICA8
YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCmRp
ZmYgLS1naXQgYS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uY3BwIGIvV2ViS2l0Mi9TaGFy
ZWQvV2ViUG9wdXBJdGVtLmNwcAppbmRleCBmNjkxY2Q4Li5jNTE0ODQ2IDEwMDY0NAotLS0gYS9X
ZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uY3BwCisrKyBiL1dlYktpdDIvU2hhcmVkL1dlYlBv
cHVwSXRlbS5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tp
YSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTMzLDI3ICszNCwzMCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsK
IFdlYlBvcHVwSXRlbTo6V2ViUG9wdXBJdGVtKCkKICAgICA6IG1fdHlwZShJdGVtKQogICAgICwg
bV9pc0VuYWJsZWQodHJ1ZSkKKyAgICAsIG1faXNTZWxlY3RlZChmYWxzZSkKIHsKIH0KIAogV2Vi
UG9wdXBJdGVtOjpXZWJQb3B1cEl0ZW0oVHlwZSB0eXBlKQogICAgIDogbV90eXBlKHR5cGUpCiAg
ICAgLCBtX2lzRW5hYmxlZCh0cnVlKQorICAgICwgbV9pc1NlbGVjdGVkKGZhbHNlKQogewogfQog
Ci1XZWJQb3B1cEl0ZW06OldlYlBvcHVwSXRlbShUeXBlIHR5cGUsIGNvbnN0IFN0cmluZyYgdGV4
dCwgY29uc3QgU3RyaW5nJiB0b29sVGlwLCBjb25zdCBTdHJpbmcmIGFjY2Vzc2liaWxpdHlUZXh0
LCBib29sIGlzRW5hYmxlZCkKK1dlYlBvcHVwSXRlbTo6V2ViUG9wdXBJdGVtKFR5cGUgdHlwZSwg
Y29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBTdHJpbmcmIHRvb2xUaXAsIGNvbnN0IFN0cmluZyYg
YWNjZXNzaWJpbGl0eVRleHQsIGJvb2wgaXNFbmFibGVkLCBib29sIGlzU2VsZWN0ZWQpCiAgICAg
OiBtX3R5cGUodHlwZSkKICAgICAsIG1fdGV4dCh0ZXh0KQogICAgICwgbV90b29sVGlwKHRvb2xU
aXApCiAgICAgLCBtX2FjY2Vzc2liaWxpdHlUZXh0KGFjY2Vzc2liaWxpdHlUZXh0KQogICAgICwg
bV9pc0VuYWJsZWQoaXNFbmFibGVkKQorICAgICwgbV9pc1NlbGVjdGVkKGlzU2VsZWN0ZWQpCiB7
CiB9CiAKIHZvaWQgV2ViUG9wdXBJdGVtOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVy
KiBlbmNvZGVyKSBjb25zdAogewotICAgIGVuY29kZXItPmVuY29kZShDb3JlSVBDOjpJbihzdGF0
aWNfY2FzdDx1aW50MzJfdD4obV90eXBlKSwgbV90ZXh0LCBtX3Rvb2xUaXAsIG1fYWNjZXNzaWJp
bGl0eVRleHQsIG1faXNFbmFibGVkKSk7CisgICAgZW5jb2Rlci0+ZW5jb2RlKENvcmVJUEM6Oklu
KHN0YXRpY19jYXN0PHVpbnQzMl90PihtX3R5cGUpLCBtX3RleHQsIG1fdG9vbFRpcCwgbV9hY2Nl
c3NpYmlsaXR5VGV4dCwgbV9pc0VuYWJsZWQsIG1faXNTZWxlY3RlZCkpOwogfQogCiBib29sIFdl
YlBvcHVwSXRlbTo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgV2Vi
UG9wdXBJdGVtJiBpdGVtKQpAQCAtNjMsMTAgKzY3LDExIEBAIGJvb2wgV2ViUG9wdXBJdGVtOjpk
ZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBXZWJQb3B1cEl0ZW0mIGl0
ZW0pCiAgICAgU3RyaW5nIHRvb2xUaXA7CiAgICAgU3RyaW5nIGFjY2Vzc2liaWxpdHlUZXh0Owog
ICAgIGJvb2wgaXNFbmFibGVkOwotICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKENvcmVJUEM6Ok91
dCh0eXBlLCB0ZXh0LCB0b29sVGlwLCBhY2Nlc3NpYmlsaXR5VGV4dCwgaXNFbmFibGVkKSkpCisg
ICAgYm9vbCBpc1NlbGVjdGVkOworICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKENvcmVJUEM6Ok91
dCh0eXBlLCB0ZXh0LCB0b29sVGlwLCBhY2Nlc3NpYmlsaXR5VGV4dCwgaXNFbmFibGVkLCBpc1Nl
bGVjdGVkKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGl0ZW0gPSBXZWJQb3B1cEl0
ZW0oc3RhdGljX2Nhc3Q8VHlwZT4odHlwZSksIHRleHQsIHRvb2xUaXAsIGFjY2Vzc2liaWxpdHlU
ZXh0LCBpc0VuYWJsZWQpOworICAgIGl0ZW0gPSBXZWJQb3B1cEl0ZW0oc3RhdGljX2Nhc3Q8VHlw
ZT4odHlwZSksIHRleHQsIHRvb2xUaXAsIGFjY2Vzc2liaWxpdHlUZXh0LCBpc0VuYWJsZWQsIGlz
U2VsZWN0ZWQpOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1No
YXJlZC9XZWJQb3B1cEl0ZW0uaCBiL1dlYktpdDIvU2hhcmVkL1dlYlBvcHVwSXRlbS5oCmluZGV4
IDk0NDhiYzAuLjg5ZWNlY2QgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL1dlYlBvcHVwSXRl
bS5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1dlYlBvcHVwSXRlbS5oCkBAIC0xLDUgKzEsNiBAQAog
LyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJz
aWRpYXJ5KC1pZXMpLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00Myw3ICs0
NCw3IEBAIHN0cnVjdCBXZWJQb3B1cEl0ZW0gewogCiAgICAgV2ViUG9wdXBJdGVtKCk7CiAgICAg
V2ViUG9wdXBJdGVtKFR5cGUpOwotICAgIFdlYlBvcHVwSXRlbShUeXBlLCBjb25zdCBTdHJpbmcm
IHRleHQsIGNvbnN0IFN0cmluZyYgdG9vbFRpcCwgY29uc3QgU3RyaW5nJiBhY2Nlc3NpYmlsaXR5
VGV4dCwgYm9vbCBpc0VuYWJsZWQpOworICAgIFdlYlBvcHVwSXRlbShUeXBlLCBjb25zdCBTdHJp
bmcmIHRleHQsIGNvbnN0IFN0cmluZyYgdG9vbFRpcCwgY29uc3QgU3RyaW5nJiBhY2Nlc3NpYmls
aXR5VGV4dCwgYm9vbCBpc0VuYWJsZWQsIGJvb2wgaXNTZWxlY3RlZCk7CiAKICAgICB2b2lkIGVu
Y29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqKSBjb25zdDsKICAgICBzdGF0aWMgYm9vbCBk
ZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiwgV2ViUG9wdXBJdGVtJik7CkBAIC01Myw2
ICs1NCw3IEBAIHN0cnVjdCBXZWJQb3B1cEl0ZW0gewogICAgIFN0cmluZyBtX3Rvb2xUaXA7CiAg
ICAgU3RyaW5nIG1fYWNjZXNzaWJpbGl0eVRleHQ7CiAgICAgYm9vbCBtX2lzRW5hYmxlZDsKKyAg
ICBib29sIG1faXNTZWxlY3RlZDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMTdlZmZmNi4uYWNjYjFmOSAxMDA2NDQKLS0tIGEv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykg
MjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMTIsNyArMjEzLDEwIEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpjbG9zZSgpCiAgICAgZm9yIChzaXplX3QgaSA9IDAsIHNpemUgPSBlZGl0Q29tbWFu
ZFZlY3Rvci5zaXplKCk7IGkgPCBzaXplOyArK2kpCiAgICAgICAgIGVkaXRDb21tYW5kVmVjdG9y
W2ldLT5pbnZhbGlkYXRlKCk7CiAKLSAgICBtX2FjdGl2ZVBvcHVwTWVudSA9IDA7CisgICAgaWYg
KG1fYWN0aXZlUG9wdXBNZW51KSB7CisgICAgICAgIG1fYWN0aXZlUG9wdXBNZW51LT5tX3BhZ2Ug
PSAwOworICAgICAgICBtX2FjdGl2ZVBvcHVwTWVudSA9IDA7CisgICAgfQogCiAgICAgbV9lc3Rp
bWF0ZWRQcm9ncmVzcyA9IDAuMDsKICAgICAKQEAgLTk3NywxNyArOTgxLDI3IEBAIHZvaWQgV2Vi
UGFnZVByb3h5OjptYXRjaENvdW50RGlkQ2hhbmdlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCB1aW50
MzJfdCBtYXRjaENvdW50CiAgICAgbV9maW5kQ2xpZW50Lm1hdGNoQ291bnREaWRDaGFuZ2UodGhp
cywgc3RyaW5nLCBtYXRjaENvdW50KTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OnNob3dQb3B1
cE1lbnUoY29uc3QgSW50UmVjdCYgcmVjdCwgY29uc3QgVmVjdG9yPFdlYlBvcHVwSXRlbT4mIGl0
ZW1zLCBpbnQzMl90IHNlbGVjdGVkSW5kZXgpCit2b2lkIFdlYlBhZ2VQcm94eTo6c2hvd1BvcHVw
TWVudShjb25zdCBJbnRSZWN0JiByZWN0LCBjb25zdCBWZWN0b3I8V2ViUG9wdXBJdGVtPiYgaXRl
bXMsIGJvb2wgbXVsdGlwbGUpCiB7Ci0gICAgaWYgKG1fYWN0aXZlUG9wdXBNZW51KQotICAgICAg
ICBtX2FjdGl2ZVBvcHVwTWVudS0+aGlkZVBvcHVwTWVudSgpOwotICAgIGVsc2UKLSAgICAgICAg
bV9hY3RpdmVQb3B1cE1lbnUgPSBtX3BhZ2VDbGllbnQtPmNyZWF0ZVBvcHVwTWVudVByb3h5KCk7
CisgICAgaGlkZVBvcHVwTWVudSgpOworICAgIG1fYWN0aXZlUG9wdXBNZW51ID0gbV9wYWdlQ2xp
ZW50LT5jcmVhdGVQb3B1cE1lbnVQcm94eSgpOworICAgIG1fYWN0aXZlUG9wdXBNZW51LT5tX3Bh
Z2UgPSB0aGlzOwogCi0gICAgaW50MzJfdCBuZXdTZWxlY3RlZEluZGV4ID0gMDsKLSAgICBtX2Fj
dGl2ZVBvcHVwTWVudS0+c2hvd1BvcHVwTWVudShyZWN0LCBpdGVtcywgc2VsZWN0ZWRJbmRleCwg
bmV3U2VsZWN0ZWRJbmRleCk7CisgICAgbV9hY3RpdmVQb3B1cE1lbnUtPnNob3dQb3B1cE1lbnUo
cmVjdCwgaXRlbXMsIG11bHRpcGxlKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6OmNoYW5nZVNl
bGVjdGlvbkZvckFjdGl2ZVBvcHVwTWVudShpbnQgaW5kZXgsIGJvb2wgY3RybCwgYm9vbCBzaGlm
dCkKK3sKKyAgICBwcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRpZFNlbGVjdEl0
ZW1Gb3JBY3RpdmVQb3B1cE1lbnUoaW5kZXgsIGN0cmwsIHNoaWZ0KSwgbV9wYWdlSUQpOworfQog
Ci0gICAgcHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRDaGFuZ2VTZWxlY3Rl
ZEluZGV4Rm9yQWN0aXZlUG9wdXBNZW51KG5ld1NlbGVjdGVkSW5kZXgpLCBtX3BhZ2VJRCk7Cit2
b2lkIFdlYlBhZ2VQcm94eTo6YWN0aXZlUG9wdXBNZW51Q2xvc2VkQnlUaGVVc2VyKCkKK3sKKyAg
ICBpZiAoIW1fYWN0aXZlUG9wdXBNZW51KQorICAgICAgICByZXR1cm47CisKKyAgICBwcm9jZXNz
KCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRpZEhpZGVBY3RpdmVQb3B1cE1lbnUoKSwgbV9w
YWdlSUQpOworICAgIG1fYWN0aXZlUG9wdXBNZW51LT5tX3BhZ2UgPSAwOwogICAgIG1fYWN0aXZl
UG9wdXBNZW51ID0gMDsKIH0KIApAQCAtOTk2LDYgKzEwMTAsNyBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6aGlkZVBvcHVwTWVudSgpCiAgICAgaWYgKCFtX2FjdGl2ZVBvcHVwTWVudSkKICAgICAgICAg
cmV0dXJuOwogCisgICAgbV9hY3RpdmVQb3B1cE1lbnUtPm1fcGFnZSA9IDA7CiAgICAgbV9hY3Rp
dmVQb3B1cE1lbnUtPmhpZGVQb3B1cE1lbnUoKTsKICAgICBtX2FjdGl2ZVBvcHVwTWVudSA9IDA7
CiB9CkBAIC0xMTcxLDcgKzExODYsMTAgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnByb2Nlc3NEaWRF
eGl0KCkKICAgICAgICAgZWRpdENvbW1hbmRWZWN0b3JbaV0tPmludmFsaWRhdGUoKTsKICAgICBt
X3BhZ2VDbGllbnQtPmNsZWFyQWxsRWRpdENvbW1hbmRzKCk7CiAKLSAgICBtX2FjdGl2ZVBvcHVw
TWVudSA9IDA7CisgICAgaWYgKG1fYWN0aXZlUG9wdXBNZW51KSB7CisgICAgICAgIG1fYWN0aXZl
UG9wdXBNZW51LT5tX3BhZ2UgPSAwOworICAgICAgICBtX2FjdGl2ZVBvcHVwTWVudSA9IDA7Cisg
ICAgfQogCiAgICAgbV9lc3RpbWF0ZWRQcm9ncmVzcyA9IDAuMDsKIApkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAppbmRleCBiZTg2Njg1Li5iYzRmMTU4IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0
aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMTQ2LDYgKzE0NywxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBleGVjdXRlRWRp
dENvbW1hbmQoY29uc3QgU3RyaW5nJiBjb21tYW5kTmFtZSk7CiAgICAgdm9pZCB2YWxpZGF0ZU1l
bnVJdGVtKGNvbnN0IFN0cmluZyYgY29tbWFuZE5hbWUpOwogCisgICAgLy8gUG9wdXAgbWVudQor
ICAgIHZvaWQgY2hhbmdlU2VsZWN0aW9uRm9yQWN0aXZlUG9wdXBNZW51KGludCBpbmRleCwgYm9v
bCBjdHJsLCBib29sIHNoaWZ0KTsKKyAgICB2b2lkIGFjdGl2ZVBvcHVwTWVudUNsb3NlZEJ5VGhl
VXNlcigpOworCiAvLyBUaGVzZSBhcmUgb25seSB1c2VkIG9uIE1hYyBjdXJyZW50bHkuCiAjaWYg
UExBVEZPUk0oTUFDKQogICAgIHZvaWQgdXBkYXRlV2luZG93SXNWaXNpYmxlKGJvb2wgd2luZG93
SXNWaXNpYmxlKTsKQEAgLTI5MCw3ICsyOTUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgbWF0Y2hD
b3VudERpZENoYW5nZShjb25zdCBTdHJpbmcmLCB1aW50MzJfdCBtYXRjaENvdW50KTsKIAogICAg
IC8vIFBvcHVwIE1lbnUuCi0gICAgdm9pZCBzaG93UG9wdXBNZW51KGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmIHJlY3QsIGNvbnN0IFZlY3RvcjxXZWJQb3B1cEl0ZW0+JiBpdGVtcywgaW50MzJfdCBz
ZWxlY3RlZEluZGV4KTsKKyAgICB2b2lkIHNob3dQb3B1cE1lbnUoY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYgcmVjdCwgY29uc3QgVmVjdG9yPFdlYlBvcHVwSXRlbT4mIGl0ZW1zLCBib29sIG11bHRp
cGxlKTsKICAgICB2b2lkIGhpZGVQb3B1cE1lbnUoKTsKIAogICAgIHZvaWQgdGFrZUZvY3VzKGJv
b2wgZGlyZWN0aW9uKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5tZXNzYWdlcy5pbiBiL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bgppbmRleCBlMzAwYWNiLi44OTM5OGQ4IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lm1lc3NhZ2VzLmluCkBAIC05Nyw3ICs5Nyw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94
eSB7CiAgICAgTWF0Y2hDb3VudERpZENoYW5nZShXVEY6OlN0cmluZyBzdHJpbmcsIHVpbnQzMl90
IG1hdGNoQ291bnQpCiAKICAgICAjIFBvcHVwTWVudS4KLSAgICBTaG93UG9wdXBNZW51KFdlYkNv
cmU6OkludFJlY3QgcmVjdCwgVmVjdG9yPFdlYktpdDo6V2ViUG9wdXBJdGVtPiBpdGVtcywgaW50
MzJfdCBzZWxlY3RlZEluZGV4KQorICAgIFNob3dQb3B1cE1lbnUoV2ViQ29yZTo6SW50UmVjdCBy
ZWN0LCBWZWN0b3I8V2ViS2l0OjpXZWJQb3B1cEl0ZW0+IGl0ZW1zLCBib29sIG11bHRpcGxlKQog
ICAgIEhpZGVQb3B1cE1lbnUoKQogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQpk
aWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuY3BwIGIvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmUwNThjZDMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5jcHAKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWll
cykuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJQb3B1cE1l
bnVQcm94eS5oIgorCisjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCisKK25hbWVzcGFjZSBXZWJL
aXQgeworCit2b2lkIFdlYlBvcHVwTWVudVByb3h5OjpjaGFuZ2VTZWxlY3Rpb24oaW50IGluZGV4
LCBib29sIGN0cmwsIGJvb2wgc2hpZnQpCit7CisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJl
dHVybjsKKworICAgIG1fcGFnZS0+Y2hhbmdlU2VsZWN0aW9uRm9yQWN0aXZlUG9wdXBNZW51KGlu
ZGV4LCBjdHJsLCBzaGlmdCk7Cit9CisKK3ZvaWQgV2ViUG9wdXBNZW51UHJveHk6OmNsb3NlZEJ5
VGhlVXNlcigpCit7CisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIG1f
cGFnZS0+YWN0aXZlUG9wdXBNZW51Q2xvc2VkQnlUaGVVc2VyKCk7Cit9CisKK30KZGlmZiAtLWdp
dCBhL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmggYi9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5oCmluZGV4IDJmM2E4MmQuLjhlZTA5NTAgMTAwNjQ0Ci0t
LSBhL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmgKKysrIGIvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVz
KS4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzcsNiArMzgsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogc3RydWN0IFdlYlBvcHVwSXRl
bTsKK2NsYXNzIFdlYlBhZ2VQcm94eTsKK2NsYXNzIFdlYlBvcHVwSXRlbTsKIAogY2xhc3MgV2Vi
UG9wdXBNZW51UHJveHkgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJQb3B1cE1lbnVQcm94eT4gewog
cHVibGljOiAgICAKQEAgLTQ0LDEzICs0NywyMSBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAot
ICAgIHZpcnR1YWwgdm9pZCBzaG93UG9wdXBNZW51KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJl
Y3QsIGNvbnN0IFZlY3RvcjxXZWJQb3B1cEl0ZW0+JiBpdGVtcywgaW50MzJfdCBzZWxlY3RlZElu
ZGV4LCBpbnQzMl90JiBuZXdTZWxlY3RlZEluZGV4KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNo
b3dQb3B1cE1lbnUoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgcmVjdCwgY29uc3QgVmVjdG9yPFdl
YlBvcHVwSXRlbT4mIGl0ZW1zLCBib29sIG11bHRpcGxlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IGhpZGVQb3B1cE1lbnUoKSA9IDA7CiAKIHByb3RlY3RlZDoKKyAgICB2b2lkIGNoYW5nZVNlbGVj
dGlvbihpbnQgaW5kZXgsIGJvb2wgY3RybCwgYm9vbCBzaGlmdCk7CisgICAgdm9pZCBjbG9zZWRC
eVRoZVVzZXIoKTsKKworcHJvdGVjdGVkOgogICAgIFdlYlBvcHVwTWVudVByb3h5KCkKICAgICB7
CiAgICAgfQorCitwcml2YXRlOgorICAgIFdlYlBhZ2VQcm94eSogbV9wYWdlOworICAgIGZyaWVu
ZCBjbGFzcyBXZWJQYWdlUHJveHk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQb3B1cE1lbnVQcm94eU1hYy5oIGIvV2Vi
S2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLmgKaW5kZXggNTcyM2I4Mi4u
N2FiMmQxNiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVBy
b3h5TWFjLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFj
LmgKQEAgLTQ5LDcgKzQ5LDcgQEAgcHVibGljOgogICAgIH0KICAgICB+V2ViUG9wdXBNZW51UHJv
eHlNYWMoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBzaG93UG9wdXBNZW51KGNvbnN0IFdlYkNvcmU6
OkludFJlY3QmLCBjb25zdCBWZWN0b3I8V2ViUG9wdXBJdGVtPiYsIGludDMyX3Qgc2VsZWN0ZWRJ
bmRleCwgaW50MzJfdCYgbmV3U2VsZWN0ZWRJbmRleCk7CisgICAgdmlydHVhbCB2b2lkIHNob3dQ
b3B1cE1lbnUoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0IFZlY3RvcjxXZWJQb3B1cEl0
ZW0+JiwgYm9vbCBtdWx0aXBsZSk7CiAgICAgdmlydHVhbCB2b2lkIGhpZGVQb3B1cE1lbnUoKTsK
IAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQb3B1cE1l
bnVQcm94eU1hYy5tbSBiL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQb3B1cE1lbnVQcm94eU1h
Yy5tbQppbmRleCBlYjM3OTBmLi4yOWNkYTRmIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vz
cy9tYWMvV2ViUG9wdXBNZW51UHJveHlNYWMubW0KKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvbWFj
L1dlYlBvcHVwTWVudVByb3h5TWFjLm1tCkBAIC01Niw2ICs1Niw3IEBAIHZvaWQgV2ViUG9wdXBN
ZW51UHJveHlNYWM6OnBvcHVsYXRlKGNvbnN0IFZlY3RvcjxXZWJQb3B1cEl0ZW0+JiBpdGVtcykK
ICAgICB9CiAKICAgICBpbnQgc2l6ZSA9IGl0ZW1zLnNpemUoKTsKKyAgICBpbnQgc2VsZWN0ZWRJ
bmRleCA9IC0xOwogCiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKICAgICAg
ICAgaWYgKGl0ZW1zW2ldLm1fdHlwZSA9PSBXZWJQb3B1cEl0ZW06OlNlcGVyYXRvcikKQEAgLTY2
LDE3ICs2NywyMyBAQCB2b2lkIFdlYlBvcHVwTWVudVByb3h5TWFjOjpwb3B1bGF0ZShjb25zdCBW
ZWN0b3I8V2ViUG9wdXBJdGVtPiYgaXRlbXMpCiAgICAgICAgICAgICBbbWVudUl0ZW0gc2V0RW5h
YmxlZDppdGVtc1tpXS5tX2lzRW5hYmxlZF07CiAgICAgICAgICAgICBbbWVudUl0ZW0gc2V0VG9v
bFRpcDpuc1N0cmluZ0Zyb21XZWJDb3JlU3RyaW5nKGl0ZW1zW2ldLm1fdG9vbFRpcCldOwogICAg
ICAgICB9CisKKyAgICAgICAgaWYgKGl0ZW1zW2ldLm1faXNTZWxlY3RlZCkKKyAgICAgICAgICAg
IHNlbGVjdGVkSW5kZXggPSBpOwogICAgIH0KKworICAgIGlmIChzZWxlY3RlZEluZGV4ID49IDAp
CisgICAgICAgIFttX3BvcHVwLmdldCgpIHNlbGVjdEl0ZW1BdEluZGV4OnNlbGVjdGVkSW5kZXhd
OwogfQogCi12b2lkIFdlYlBvcHVwTWVudVByb3h5TWFjOjpzaG93UG9wdXBNZW51KGNvbnN0IElu
dFJlY3QmIHJlY3QsIGNvbnN0IFZlY3RvcjxXZWJQb3B1cEl0ZW0+JiBpdGVtcywgaW50MzJfdCBz
ZWxlY3RlZEluZGV4LCBpbnQzMl90JiBuZXdTZWxlY3RlZEluZGV4KQordm9pZCBXZWJQb3B1cE1l
bnVQcm94eU1hYzo6c2hvd1BvcHVwTWVudShjb25zdCBJbnRSZWN0JiByZWN0LCBjb25zdCBWZWN0
b3I8V2ViUG9wdXBJdGVtPiYgaXRlbXMsIGJvb2wgbXVsdGlwbGUpCiB7CiAgICAgcG9wdWxhdGUo
aXRlbXMpOwogCiAgICAgW21fcG9wdXAuZ2V0KCkgYXR0YWNoUG9wVXBXaXRoRnJhbWU6cmVjdCBp
blZpZXc6bV93ZWJWaWV3XTsKLSAgICBbbV9wb3B1cC5nZXQoKSBzZWxlY3RJdGVtQXRJbmRleDpz
ZWxlY3RlZEluZGV4XTsKIAogICAgIE5TTWVudSogbWVudSA9IFttX3BvcHVwLmdldCgpIG1lbnVd
OworICAgIGludCBzZWxlY3RlZEluZGV4ID0gW21fcG9wdXAuZ2V0KCkgaW5kZXhPZlNlbGVjdGVk
SXRlbV07CiAKICAgICAvLyBUaGVzZSB2YWx1ZXMgd2VyZSBib3Jyb3dlZCBmcm9tIEFwcEtpdCB0
byBtYXRjaCB0aGVpciBwbGFjZW1lbnQgb2YgdGhlIG1lbnUuCiAgICAgY29uc3QgaW50IHBvcE92
ZXJIb3Jpem9udGFsQWRqdXN0ID0gLTEwOwpAQCAtOTUsNyArMTAyLDggQEAgdm9pZCBXZWJQb3B1
cE1lbnVQcm94eU1hYzo6c2hvd1BvcHVwTWVudShjb25zdCBJbnRSZWN0JiByZWN0LCBjb25zdCBW
ZWN0b3I8V2ViUG8KICAgICBbbV9wb3B1cC5nZXQoKSBkaXNtaXNzUG9wVXBdOwogICAgIFtkdW1t
eVZpZXcuZ2V0KCkgcmVtb3ZlRnJvbVN1cGVydmlld107CiAKLSAgICBuZXdTZWxlY3RlZEluZGV4
ID0gW21fcG9wdXAuZ2V0KCkgaW5kZXhPZlNlbGVjdGVkSXRlbV07CisgICAgY2hhbmdlU2VsZWN0
aW9uKFttX3BvcHVwLmdldCgpIGluZGV4T2ZTZWxlY3RlZEl0ZW1dLCBmYWxzZSwgZmFsc2UpOwor
ICAgIGNsb3NlZEJ5VGhlVXNlcigpOwogfQogCiB2b2lkIFdlYlBvcHVwTWVudVByb3h5TWFjOjpo
aWRlUG9wdXBNZW51KCkKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYlBvcHVw
TWVudVByb3h5UXQuY3BwIGIvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViUG9wdXBNZW51UHJveHlR
dC5jcHAKaW5kZXggYTRlOTYzZC4uODdhNTJkNyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nl
c3MvcXQvV2ViUG9wdXBNZW51UHJveHlRdC5jcHAKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvcXQv
V2ViUG9wdXBNZW51UHJveHlRdC5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgV2ViUG9wdXBNZW51UHJv
eHlRdDo6fldlYlBvcHVwTWVudVByb3h5UXQoKQogewogfQogCi12b2lkIFdlYlBvcHVwTWVudVBy
b3h5UXQ6OnNob3dQb3B1cE1lbnUoY29uc3QgSW50UmVjdCYgcmVjdCwgY29uc3QgVmVjdG9yPFdl
YlBvcHVwSXRlbT4mIGl0ZW1zLCBpbnQzMl90IHNlbGVjdGVkSW5kZXgsIGludDMyX3QmIG5ld1Nl
bGVjdGVkSW5kZXgpCit2b2lkIFdlYlBvcHVwTWVudVByb3h5UXQ6OnNob3dQb3B1cE1lbnUoY29u
c3QgSW50UmVjdCYgcmVjdCwgY29uc3QgVmVjdG9yPFdlYlBvcHVwSXRlbT4mIGl0ZW1zLCBib29s
IG11bHRpcGxlKQogewogfQogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJQ
b3B1cE1lbnVQcm94eVF0LmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9XZWJQb3B1cE1lbnVQcm94
eVF0LmgKaW5kZXggMmQwMDRiZC4uNWE1YmY0MSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nl
c3MvcXQvV2ViUG9wdXBNZW51UHJveHlRdC5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dl
YlBvcHVwTWVudVByb3h5UXQuaApAQCAtMzgsNyArMzgsNyBAQCBwdWJsaWM6CiAgICAgfQogICAg
IH5XZWJQb3B1cE1lbnVQcm94eVF0KCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd1BvcHVwTWVu
dShjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29uc3QgVmVjdG9yPFdlYlBvcHVwSXRlbT4mLCBp
bnQzMl90IHNlbGVjdGVkSW5kZXgsIGludDMyX3QmIG5ld1NlbGVjdGVkSW5kZXgpOworICAgIHZp
cnR1YWwgdm9pZCBzaG93UG9wdXBNZW51KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBjb25zdCBW
ZWN0b3I8V2ViUG9wdXBJdGVtPiYsIGJvb2wgbXVsdGlwbGUpOwogICAgIHZpcnR1YWwgdm9pZCBo
aWRlUG9wdXBNZW51KCk7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYktpdDIu
cHJvIGIvV2ViS2l0Mi9XZWJLaXQyLnBybwppbmRleCA3OTc0ODhjLi5jMTgyZjVjIDEwMDY0NAot
LS0gYS9XZWJLaXQyL1dlYktpdDIucHJvCisrKyBiL1dlYktpdDIvV2ViS2l0Mi5wcm8KQEAgLTI2
OCw2ICsyNjgsNyBAQCBIRUFERVJTICs9IFwKICAgICBVSVByb2Nlc3MvV2ViUGFnZU5hbWVzcGFj
ZS5oIFwKICAgICBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggXAogICAgIFVJUHJvY2Vzcy9XZWJQ
b2xpY3lDbGllbnQuaCBcCisgICAgVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmggXAogICAg
IFVJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oIFwKICAgICBVSVByb2Nlc3MvV2ViUHJvY2Vzc01h
bmFnZXIuaCBcCiAgICAgVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oIFwKQEAgLTQwOCw2ICs0
MDksNyBAQCBTT1VSQ0VTICs9IFwKICAgICBVSVByb2Nlc3MvV2ViUGFnZU5hbWVzcGFjZS5jcHAg
XAogICAgIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIFwKICAgICBVSVByb2Nlc3MvV2ViUG9s
aWN5Q2xpZW50LmNwcCBcCisgICAgVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmNwcCBcCiAg
ICAgVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcCBcCiAgICAgVUlQcm9jZXNzL1dlYlByb2Nl
c3NNYW5hZ2VyLmNwcCBcCiAgICAgVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAgXApkaWZm
IC0tZ2l0IGEvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJL
aXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0NDJjMTc1Li42MGNj
YzljIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDQ4
LDYgKzQ0OCw3IEBACiAJCUMwRTNBQTdCMTIwOUU4MzUwMEE0OUQwMSAvKiBNb2R1bGUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBFM0FBNDUxMjA5
RTJCQTAwQTQ5RDAxIC8qIE1vZHVsZS5jcHAgKi87IH07CiAJCUMwRTNBQTdDMTIwOUU4M0MwMEE0
OUQwMSAvKiBNb2R1bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEMwRTNBQTQ0MTIwOUUyQkEwMEE0OUQwMSAvKiBNb2R1bGUuaCAqLzsgfTsKIAkJQzUy
MzdGNjAxMjQ0MUNBMzAwNzgwNDcyIC8qIFdlYkVkaXRvckNsaWVudE1hYy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1MjM3RjVGMTI0NDFDQTMwMDc4
MDQ3MiAvKiBXZWJFZGl0b3JDbGllbnRNYWMubW0gKi87IH07CisJCUQzMjQ2RUQxMTI2Q0VCQUMw
MDQxMjIzMyAvKiBXZWJQb3B1cE1lbnVQcm94eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEMzI0NkVEMDEyNkNFQkFDMDA0MTIyMzMgLyogV2ViUG9w
dXBNZW51UHJveHkuY3BwICovOyB9OwogCQlEM0I5NDg0NjExRkY0QjY1MDAwMzJCMzkgLyogV2Vi
UG9wdXBNZW51LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEQzQjk0ODQyMTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuY3BwICovOyB9Owog
CQlEM0I5NDg0NzExRkY0QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEM0I5NDg0MzExRkY0QjY1MDAwMzJC
MzkgLyogV2ViUG9wdXBNZW51LmggKi87IH07CiAJCUQzQjk0ODQ4MTFGRjRCNjUwMDAzMkIzOSAv
KiBXZWJTZWFyY2hQb3B1cE1lbnUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRDNCOTQ4NDQxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlNlYXJjaFBvcHVw
TWVudS5jcHAgKi87IH07CkBAIC05NDYsNiArOTQ3LDcgQEAKIAkJQzBFM0FBNDUxMjA5RTJCQTAw
QTQ5RDAxIC8qIE1vZHVsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBNb2R1bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMEUzQUE0ODEyMDlF
NDUwMDBBNDlEMDEgLyogTW9kdWxlTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gTW9kdWxlTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
NTIzN0Y1RjEyNDQxQ0EzMDA3ODA0NzIgLyogV2ViRWRpdG9yQ2xpZW50TWFjLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViRWRpdG9yQ2xpZW50TWFjLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMzI0NkVEMDEyNkNFQkFDMDA0MTIyMzMgLyog
V2ViUG9wdXBNZW51UHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2ViUG9wdXBNZW51UHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlE
M0I5NDg0MjExRkY0QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlBvcHVwTWVudS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUQzQjk0ODQzMTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUG9wdXBNZW51Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQzQjk0ODQ0MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJT
ZWFyY2hQb3B1cE1lbnUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V2ViU2VhcmNoUG9wdXBNZW51LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0
MjgsNiArMTQzMCw3IEBACiAJCQkJQkNCOUY4QUQxMTI0RTA3NzAwQTEzN0UwIC8qIFdlYlBvbGlj
eUNsaWVudC5jcHAgKi8sCiAJCQkJQkNCOUY4QUUxMTI0RTA3NzAwQTEzN0UwIC8qIFdlYlBvbGlj
eUNsaWVudC5oICovLAogCQkJCUJDNTc0RTYxMTI2N0QwODAwMDZGMEYxMiAvKiBXZWJQb3B1cE1l
bnVQcm94eS5oICovLAorCQkJCUQzMjQ2RUQwMTI2Q0VCQUMwMDQxMjIzMyAvKiBXZWJQb3B1cE1l
bnVQcm94eS5jcHAgKi8sCiAJCQkJQkNENTk3RkUxMTJCNTdCRTAwRUM4QzIzIC8qIFdlYlByZWZl
cmVuY2VzLmNwcCAqLywKIAkJCQlCQ0Q1OTdGRDExMkI1N0JFMDBFQzhDMjMgLyogV2ViUHJlZmVy
ZW5jZXMuaCAqLywKIAkJCQlCQzExMUIwQzExMkY1RTRGMDAzMzdCQUIgLyogV2ViUHJvY2Vzc01h
bmFnZXIuY3BwICovLApAQCAtMjM4MSw2ICsyMzg0LDcgQEAKIAkJCQkxQTkxMDA3MjEyNjY3NUM0
MDAxODQyRjUgLyogRmluZEluZGljYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTkxMDEw
QjEyNjhDOENBMDAxODQyRjUgLyogRmluZEluZGljYXRvcldpbmRvdy5tbSBpbiBTb3VyY2VzICov
LAogCQkJCUY2MTEzRTI4MTI2Q0UxOUIwMDU3RDBBNyAvKiBXS1VzZXJDb250ZW50VVJMUGF0dGVy
bi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlEMzI0NkVEMTEyNkNFQkFDMDA0MTIyMzMgLyogV2Vi
UG9wdXBNZW51UHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9wdXBNZW51LmNwcCBiL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuY3BwCmluZGV4IDhhNTUwOWEuLjIxNjU3
YmQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1
cE1lbnUuY3BwCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1
cE1lbnUuY3BwCkBAIC01MiwxNCArNTIsMjYgQEAgdm9pZCBXZWJQb3B1cE1lbnU6OmRpc2Nvbm5l
Y3RDbGllbnQoKQogICAgIG1fcG9wdXBDbGllbnQgPSAwOwogfQogCi12b2lkIFdlYlBvcHVwTWVu
dTo6ZGlkQ2hhbmdlU2VsZWN0ZWRJbmRleChpbnQgbmV3SW5kZXgpCit2b2lkIFdlYlBvcHVwTWVu
dTo6ZGlkQ2hhbmdlU2VsZWN0aW9uKGludCBpbmRleCwgYm9vbCBjdHJsLCBib29sIHNoaWZ0KQor
eworICAgIGlmICghbV9wb3B1cENsaWVudCB8fCBpbmRleCA8IDApCisgICAgICAgIHJldHVybjsK
KworI2lmIEVOQUJMRShOT19MSVNUQk9YX1JFTkRFUklORykKKyAgICBMaXN0UG9wdXBNZW51Q2xp
ZW50KiBjbGllbnQgPSBzdGF0aWNfY2FzdDxMaXN0UG9wdXBNZW51Q2xpZW50Kj4obV9wb3B1cENs
aWVudCk7CisgICAgaWYgKGNsaWVudCkKKyAgICAgICAgY2xpZW50LT5saXN0Qm94U2VsZWN0SXRl
bShpbmRleCwgY3RybCwgc2hpZnQpOworI2Vsc2UKKyAgICBtX3BvcHVwQ2xpZW50LT52YWx1ZUNo
YW5nZWQoaW5kZXgpOworI2VuZGlmCit9CisKK3ZvaWQgV2ViUG9wdXBNZW51OjpkaWRIaWRlKCkK
IHsKICAgICBpZiAoIW1fcG9wdXBDbGllbnQpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fcG9w
dXBDbGllbnQtPnBvcHVwRGlkSGlkZSgpOwotICAgIGlmIChuZXdJbmRleCA+PSAwKQotICAgICAg
ICBtX3BvcHVwQ2xpZW50LT52YWx1ZUNoYW5nZWQobmV3SW5kZXgpOwogfQogCiBWZWN0b3I8V2Vi
UG9wdXBJdGVtPiBXZWJQb3B1cE1lbnU6OnBvcHVsYXRlSXRlbXMoKQpAQCAtNzYsNyArODgsNyBA
QCBWZWN0b3I8V2ViUG9wdXBJdGVtPiBXZWJQb3B1cE1lbnU6OnBvcHVsYXRlSXRlbXMoKQogICAg
ICAgICAgICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBzdHlsaW5nIHRoZSBmb250LgogICAg
ICAgICAgICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBzdHlsaW5nIHRoZSBmb3JlZ3JvdW5k
IGFuZCBiYWNrZ3JvdW5kIGNvbG9ycy4KICAgICAgICAgICAgIC8vIEZJWE1FOiBGaW5kIGEgd2F5
IHRvIGN1c3RvbWl6ZSB0ZXh0IGNvbG9yIHdoZW4gYW4gaXRlbSBpcyBoaWdobGlnaHRlZC4KLSAg
ICAgICAgICAgIGl0ZW1zLmFwcGVuZChXZWJQb3B1cEl0ZW0oV2ViUG9wdXBJdGVtOjpJdGVtLCBt
X3BvcHVwQ2xpZW50LT5pdGVtVGV4dChpKSwgbV9wb3B1cENsaWVudC0+aXRlbVRvb2xUaXAoaSks
IG1fcG9wdXBDbGllbnQtPml0ZW1BY2Nlc3NpYmlsaXR5VGV4dChpKSwgbV9wb3B1cENsaWVudC0+
aXRlbUlzRW5hYmxlZChpKSkpOworICAgICAgICAgICAgaXRlbXMuYXBwZW5kKFdlYlBvcHVwSXRl
bShXZWJQb3B1cEl0ZW06Okl0ZW0sIG1fcG9wdXBDbGllbnQtPml0ZW1UZXh0KGkpLCBtX3BvcHVw
Q2xpZW50LT5pdGVtVG9vbFRpcChpKSwgbV9wb3B1cENsaWVudC0+aXRlbUFjY2Vzc2liaWxpdHlU
ZXh0KGkpLCBtX3BvcHVwQ2xpZW50LT5pdGVtSXNFbmFibGVkKGkpLCBtX3BvcHVwQ2xpZW50LT5p
dGVtSXNTZWxlY3RlZChpKSkpOwogICAgICAgICB9CiAgICAgfQogCkBAIC05NSw5ICsxMDcsMTUg
QEAgdm9pZCBXZWJQb3B1cE1lbnU6OnNob3coY29uc3QgSW50UmVjdCYgcmVjdCwgRnJhbWVWaWV3
KiB2aWV3LCBpbnQgaW5kZXgpCiAKICAgICBtX3BhZ2UtPnNldEFjdGl2ZVBvcHVwTWVudSh0aGlz
KTsKIAorICAgIGJvb2wgbXVsdGlwbGUgPSBmYWxzZTsKKyNpZiBFTkFCTEUoTk9fTElTVEJPWF9S
RU5ERVJJTkcpCisgICAgTGlzdFBvcHVwTWVudUNsaWVudCogY2xpZW50ID0gc3RhdGljX2Nhc3Q8
TGlzdFBvcHVwTWVudUNsaWVudCo+KG1fcG9wdXBDbGllbnQpOworICAgIG11bHRpcGxlID0gY2xp
ZW50ICYmIGNsaWVudC0+bXVsdGlwbGUoKTsKKyNlbmRpZgorCiAgICAgLy8gTW92ZSB0byBwYWdl
IGNvb3JkaW5hdGVzCiAgICAgSW50UmVjdCBwYWdlQ29vcmRpbmF0ZXModmlldy0+Y29udGVudHNU
b1dpbmRvdyhyZWN0LmxvY2F0aW9uKCkpLCByZWN0LnNpemUoKSk7Ci0gICAgV2ViUHJvY2Vzczo6
c2hhcmVkKCkuY29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNob3dQ
b3B1cE1lbnUocGFnZUNvb3JkaW5hdGVzLCBpdGVtcywgaW5kZXgpLCBtX3BhZ2UtPnBhZ2VJRCgp
KTsKKyAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5jb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6U2hvd1BvcHVwTWVudShwYWdlQ29vcmRpbmF0ZXMsIGl0ZW1zLCBtdWx0
aXBsZSksIG1fcGFnZS0+cGFnZUlEKCkpOwogfQogCiB2b2lkIFdlYlBvcHVwTWVudTo6aGlkZSgp
CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9wdXBN
ZW51LmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9wdXBNZW51LmgK
aW5kZXggZDRjYTc3MC4uNDAyNWEzNCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYlBvcHVwTWVudS5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuaApAQCAtNDMsNyArNDMsOCBAQCBwdWJsaWM6CiAgICAg
fldlYlBvcHVwTWVudSgpOwogCiAgICAgdm9pZCBkaXNjb25uZWN0RnJvbVBhZ2UoKSB7IG1fcGFn
ZSA9IDA7IH0KLSAgICB2b2lkIGRpZENoYW5nZVNlbGVjdGVkSW5kZXgoaW50IG5ld0luZGV4KTsK
KyAgICB2b2lkIGRpZENoYW5nZVNlbGVjdGlvbihpbnQgaW5kZXgsIGJvb2wgY3RybCwgYm9vbCBz
aGlmdCk7CisgICAgdm9pZCBkaWRIaWRlKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2hvdyhjb25z
dCBXZWJDb3JlOjpJbnRSZWN0JiwgV2ViQ29yZTo6RnJhbWVWaWV3KiwgaW50IGluZGV4KTsKICAg
ICB2aXJ0dWFsIHZvaWQgaGlkZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cAppbmRleCA1MTZlZjc4Li5iMWQ3MTBmIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENv
cnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtODIxLDEyICs4MjIsMjAgQEAgdm9pZCBXZWJQYWdlOjpjb3VudFN0
cmluZ01hdGNoZXMoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGJvb2wgY2FzZUluc2Vuc2l0aXZlLCB1
aW4KICAgICBtX2ZpbmRDb250cm9sbGVyLmNvdW50U3RyaW5nTWF0Y2hlcyhzdHJpbmcsIGNhc2VJ
bnNlbnNpdGl2ZSwgbWF4TWF0Y2hDb3VudCk7CiB9CiAKLXZvaWQgV2ViUGFnZTo6ZGlkQ2hhbmdl
U2VsZWN0ZWRJbmRleEZvckFjdGl2ZVBvcHVwTWVudShpbnQzMl90IG5ld0luZGV4KQordm9pZCBX
ZWJQYWdlOjpkaWRTZWxlY3RJdGVtRm9yQWN0aXZlUG9wdXBNZW51KGludDMyX3QgaW5kZXgsIGJv
b2wgY3RybCwgYm9vbCBzaGlmdCkKIHsKICAgICBpZiAoIW1fYWN0aXZlUG9wdXBNZW51KQogICAg
ICAgICByZXR1cm47CiAKLSAgICBtX2FjdGl2ZVBvcHVwTWVudS0+ZGlkQ2hhbmdlU2VsZWN0ZWRJ
bmRleChuZXdJbmRleCk7CisgICAgbV9hY3RpdmVQb3B1cE1lbnUtPmRpZENoYW5nZVNlbGVjdGlv
bihpbmRleCwgY3RybCwgc2hpZnQpOworfQorCit2b2lkIFdlYlBhZ2U6OmRpZEhpZGVBY3RpdmVQ
b3B1cE1lbnUoKQoreworICAgIGlmICghbV9hY3RpdmVQb3B1cE1lbnUpCisgICAgICAgIHJldHVy
bjsKKworICAgIG1fYWN0aXZlUG9wdXBNZW51LT5kaWRIaWRlKCk7CiAgICAgbV9hY3RpdmVQb3B1
cE1lbnUgPSAwOwogfQogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggYzlk
MzQ4NC4uNzRlOTgxYSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMSw1
ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9v
ciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMjMwLDcgKzIzMSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBoaWRlRmluZFVJKCk7CiAgICAg
dm9pZCBjb3VudFN0cmluZ01hdGNoZXMoY29uc3QgU3RyaW5nJiwgYm9vbCBjYXNlSW5zZW5zaXRp
dmUsIHVpbnQzMl90IG1heE1hdGNoQ291bnQpOwogCi0gICAgdm9pZCBkaWRDaGFuZ2VTZWxlY3Rl
ZEluZGV4Rm9yQWN0aXZlUG9wdXBNZW51KGludDMyX3QgbmV3SW5kZXgpOworICAgIHZvaWQgZGlk
U2VsZWN0SXRlbUZvckFjdGl2ZVBvcHVwTWVudShpbnQzMl90IGluZGV4LCBib29sIGN0cmwsIGJv
b2wgc2hpZnQpOworICAgIHZvaWQgZGlkSGlkZUFjdGl2ZVBvcHVwTWVudSgpOwogCiAgICAgT3du
UHRyPFdlYkNvcmU6OlBhZ2U+IG1fcGFnZTsKICAgICBSZWZQdHI8V2ViRnJhbWU+IG1fbWFpbkZy
YW1lOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNz
YWdlcy5pbiBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4K
aW5kZXggNDExZDdlMy4uZTNlODcyNTggMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtNzQsNyArNzQsOCBAQCBtZXNzYWdlcyAtPiBXZWJQ
YWdlIHsKICAgICBDb3VudFN0cmluZ01hdGNoZXMoV1RGOjpTdHJpbmcgc3RyaW5nLCBib29sIGNh
c2VJbnNlbnNpdGl2ZSwgdW5zaWduZWQgbWF4TWF0Y2hDb3VudCkKIAogICAgICMgUG9wdXAgbWVu
dS4KLSAgICBEaWRDaGFuZ2VTZWxlY3RlZEluZGV4Rm9yQWN0aXZlUG9wdXBNZW51KGludDMyX3Qg
bmV3SW5kZXgpOworICAgIERpZFNlbGVjdEl0ZW1Gb3JBY3RpdmVQb3B1cE1lbnUoaW50MzJfdCBu
ZXdJbmRleCwgYm9vbCBjdHJsLCBib29sIHNoaWZ0KQorICAgIERpZEhpZGVBY3RpdmVQb3B1cE1l
bnUoKQogCiAgICAgU2V0V2luZG93UmVzaXplclNpemUoV2ViQ29yZTo6SW50U2l6ZSBpbnRlcnNl
Y3RzVmlldykKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2ogYi9XZWJL
aXQyL3dpbi9XZWJLaXQyLnZjcHJvagppbmRleCBkMjA1MjZmLi45ZWY2ZmFjIDEwMDc1NQotLS0g
YS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagorKysgYi9XZWJLaXQyL3dpbi9XZWJLaXQyLnZj
cHJvagpAQCAtMTY5OSw3ICsxNjk5LDE1IEBACiAJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXFVJUHJvY2Vzc1xXZWJQb2xpY3lDbGllbnQuaCINCiAJCQkJPg0KLQkJCTwvRmlsZT4NCisg
ICAgICAgICAgICA8L0ZpbGU+DQorICAgICAgICAgICAgPEZpbGUNCisgICAgICAgICAgICAgICAg
UmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcV2ViUG9wdXBNZW51UHJveHkuY3BwIg0KKyAgICAg
ICAgICAgICAgICA+DQorICAgICAgICAgICAgPC9GaWxlPg0KKyAgICAgICAgICAgIDxGaWxlDQor
ICAgICAgICAgICAgICAgIFJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXFdlYlBvcHVwTWVudVBy
b3h5LmgiDQorICAgICAgICAgICAgICAgID4NCisgICAgICAgICAgICA8L0ZpbGU+DQogCQkJPEZp
bGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcV2ViUHJlZmVyZW5jZXMuY3BwIg0K
IAkJCQk+DQotLSAKMS43LjIuMgoK
</data>

          </attachment>
      

    </bug>

</bugzilla>