<?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>196431</bug_id>
          
          <creation_ts>2019-03-30 17:16:06 -0700</creation_ts>
          <short_desc>[iOS] Crash when changing inputmode for certain types of focusable elements</short_desc>
          <delta_ts>2019-03-31 13:02:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>rniwa</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1522795</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-03-30 17:16:06 -0700</bug_when>
    <thetext>Null dereference; SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522800</commentid>
    <comment_count>1</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-03-30 17:26:43 -0700</bug_when>
    <thetext>Alarmingly easy to repro :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522801</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-30 17:49:03 -0700</bug_when>
    <thetext>&lt;rdar://problem/49454962&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522803</commentid>
    <comment_count>3</comment_count>
      <attachid>366370</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-03-30 18:07:24 -0700</bug_when>
    <thetext>Created attachment 366370
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522822</commentid>
    <comment_count>4</comment_count>
      <attachid>366370</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-03-31 00:38:48 -0700</bug_when>
    <thetext>Comment on attachment 366370
Fixes the bug

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

&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:5317
&gt;  {
&gt; -    if (!m_focusedElement)
&gt; +    if (!m_focusedElementForUserInput)
&gt;          return;

I&apos;m not sure this rename is totally necessary, especially given that you didn&apos;t rename all the things adjacent to it (like, say, this function).

&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:5356
&gt; +    return is&lt;HTMLSelectElement&gt;(element) || isTextFormControlOrEditableContent(element);

This seems ... like an oddly small set of cases? Or maybe the function name is wrong? Any element &quot;may require user input&quot; if it responds to events?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522831</commentid>
    <comment_count>5</comment_count>
      <attachid>366370</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-03-31 12:07:12 -0700</bug_when>
    <thetext>Comment on attachment 366370
Fixes the bug

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

Thanks for the review!

&gt;&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:5317
&gt;&gt;          return;
&gt; 
&gt; I&apos;m not sure this rename is totally necessary, especially given that you didn&apos;t rename all the things adjacent to it (like, say, this function).

Fair enough! I&apos;ll leave the renaming for a followup, then. I do think it&apos;s quite a footgun that Document has m_focusedElement and WebPage also has m_focusedElement, but they are about different concepts.

&gt;&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:5356
&gt;&gt; +    return is&lt;HTMLSelectElement&gt;(element) || isTextFormControlOrEditableContent(element);
&gt; 
&gt; This seems ... like an oddly small set of cases? Or maybe the function name is wrong? Any element &quot;may require user input&quot; if it responds to events?

Yeah, I think the function name could be better. I originally went with mayRequireInputView, but it seemed too iOS-specific, so I thought &quot;user input&quot; was sufficiently general. I&apos;ll leave this change out for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522835</commentid>
    <comment_count>6</comment_count>
      <attachid>366378</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-03-31 12:35:50 -0700</bug_when>
    <thetext>Created attachment 366378
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522836</commentid>
    <comment_count>7</comment_count>
      <attachid>366378</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-31 13:01:50 -0700</bug_when>
    <thetext>Comment on attachment 366378
Patch for landing

Clearing flags on attachment: 366378

Committed r243684: &lt;https://trac.webkit.org/changeset/243684&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>366370</attachid>
            <date>2019-03-30 18:07:24 -0700</date>
            <delta_ts>2019-03-31 00:38:48 -0700</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-196431-20190330180723.patch</filename>
            <type>text/plain</type>
            <size>26039</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzNTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGEwYTU4YTU3MTg4Mjk4NDlm
ZWI1OGMwYjE5ZjgwOWRlZGUzMWJlYjkuLjAwYmVhNTI5MzU0NzkyODgxNDJlNDViZDhhMWEwMmRi
NmQxYTFmOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTkgQEAKKzIwMTktMDMtMzAgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gQ3Jhc2ggd2hl
biBjaGFuZ2luZyBpbnB1dG1vZGUgZm9yIGNlcnRhaW4gdHlwZXMgb2YgZm9jdXNhYmxlIGVsZW1l
bnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY0
MzEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5NDU0OTYyPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBjcmFzaCBpcyBoYXBwZW5pbmcgYmVj
YXVzZSBXZWJQYWdlOjpmb2N1c2VkRWxlbWVudERpZENoYW5nZUlucHV0TW9kZSBhc3N1bWVzIHRo
YXQgdGhlIGRvY3VtZW50J3MgZm9jdXNlZAorICAgICAgICBlbGVtZW50IG11c3QgYmUgdGhlIHNh
bWUgYXMgbV9mb2N1c2VkRWxlbWVudCBpbiBXZWJQYWdlLiBIb3dldmVyLCB0aGlzIGlzIG5vdCB0
aGUgY2FzZSwgc2luY2UgbV9mb2N1c2VkRWxlbWVudAorICAgICAgICBpcyBvbmx5IHNldCBmb3Ig
Y2VydGFpbiB0eXBlcyBvZiBlbGVtZW50cyB0aGF0IHJlcXVpcmUgdXNlciBpbnB1dCAoZS5nLiB0
ZXh0IGZpZWxkcywgZWRpdGFibGUgY29udGVudCwgc2VsZWN0CisgICAgICAgIG1lbnVzLCBldGMu
KS4gVGhlIGZ1bmN0aW9uIHRoZW4gYXR0ZW1wdHMgdG8gZGVyZWZlcmVuY2UgbV9mb2N1c2VkRWxl
bWVudCwgd2hpY2ggbWF5IGJlIG51bGwgaWYgdGhlIGRvY3VtZW50J3MKKyAgICAgICAgZm9jdXNl
ZCBlbGVtZW50IGRvZXNuJ3QgZmFsbCBpbnRvIG9uZSBvZiB0aGUgYWZvcmVtZW50aW9uZWQgY2F0
ZWdvcmllcy4KKworICAgICAgICBTZWUgYmVsb3cgZm9yIG1vcmUgZGV0YWlscy4KKworICAgICAg
ICBUZXN0OiBmYXN0L2Zvcm1zL2NoYW5nZS1pbnB1dG1vZGUtY3Jhc2guaHRtbAorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorCisgICAgICAgIFJlbmFtZSB0aGUg
ZXhpc3RpbmcgV2ViUGFnZSBtZW1iZXIgbV9mb2N1c2VkRWxlbWVudCB0byBtX2ZvY3VzZWRFbGVt
ZW50Rm9yVXNlcklucHV0LCB0byBtYWtlIGl0IGNsZWFyIHRoYXQgdGhpcworICAgICAgICB2YXJp
YWJsZSBvbmx5IHRyYWNrcyBlbGVtZW50cyB0aGF0IG1heSByZXF1aXJlIHVzZXIgaW5wdXQgKGFu
ZCBvbiBpT1MsIG1heSByZXF1aXJlIGFuIGlucHV0IHZpZXcgdG8gYmUgc2hvd24pLgorCisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldFRleHRBc3luYyk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OnJlc2V0Rm9jdXNlZEVsZW1lbnRGb3JGcmFtZSk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OnNob3VsZERpc3BhdGNoVXBkYXRlQWZ0ZXJGb2N1c2luZ0VsZW1lbnQgY29uc3QpOgor
ICAgICAgICAoV2ViS2l0Ojppc1RleHRGb3JtQ29udHJvbE9yRWRpdGFibGVDb250ZW50KToKKyAg
ICAgICAgKFdlYktpdDo6bWF5UmVxdWlyZVVzZXJJbnB1dCk6CisKKyAgICAgICAgQ2xlYW4gdXAg
c29tZSBleGlzdGluZyBsb2dpYyBieSBpbnRyb2R1Y2luZyB0d28gaGVscGVyIG1ldGhvZHMgZm9y
IGRldGVybWluaW5nIHdoZXRoZXIgYW4gZWxlbWVudCBzaG91bGQKKyAgICAgICAgcHJvcGFnYXRl
IGlucHV0bW9kZSBhdHRyaWJ1dGUgY2hhbmdlcyB0byB0aGUgVUkgcHJvY2VzcywgYW5kIHdoZXRo
ZXIgb3Igbm90IHVzZXIgaW5wdXQgbWF5IGJlIG5lZWRlZCB3aGVuCisgICAgICAgIGZvY3VzaW5n
IHRoYXQgZWxlbWVudC4gQWxzbywgY2hlY2sgdGhlIGVsZW1lbnQgdHlwZSB1c2luZyB0eXBlIHRy
YWl0cyBpbnN0ZWFkIG9mIGNoZWNraW5nIGFnYWluc3QgdGhlIHRhZyBuYW1lLgorCisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6OmVsZW1lbnREaWRGb2N1cyk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OmVsZW1lbnREaWRCbHVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Zm9jdXNl
ZEVsZW1lbnREaWRDaGFuZ2VJbnB1dE1vZGUpOgorCisgICAgICAgIEJhaWwgaWYgdGhlIGVsZW1l
bnQgdGhhdCBpcyBjaGFuZ2luZyBpbnB1dG1vZGUgaXMgbm90IGVxdWFsIHRvIHRoZSBXZWJQYWdl
J3MgY3VycmVudCBmb2N1c2VkIGVsZW1lbnQKKyAgICAgICAgKG5vdyBuYW1lZCBtX2ZvY3VzZWRF
bGVtZW50Rm9yVXNlcklucHV0KS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwbGF0Zm9ybUVkaXRvclN0YXRlIGNvbnN0KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cmVxdWVzdEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24p
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpibHVyRm9jdXNlZEVsZW1lbnQpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlOjpzZXRGb2N1c2VkRWxlbWVudFZhbHVlKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6c2V0Rm9jdXNlZEVsZW1lbnRWYWx1ZUFzTnVtYmVyKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZTo6c2V0Rm9jdXNlZEVsZW1lbnRTZWxlY3RlZEluZGV4KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6c3RhcnRBdXRvc2Nyb2xsQXRQb3NpdGlvbik6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6OnJlcXVlc3RFdmFzaW9uUmVjdHNBYm92ZVNlbGVjdGlvbik6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnZpc2libGVQb3NpdGlvbkluRm9jdXNlZE5vZGVGb3JQ
b2ludCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBvc2l0aW9uSW5mb3JtYXRpb24pOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpmb2N1c05leHRGb2N1c2VkRWxlbWVudCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OmdldEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24pOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlOjphdXRvZmlsbExvZ2luQ3JlZGVudGlhbHMpOgorCiAyMDE5
LTAzLTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAg
IE5lZWQgYSB3YXkgdG8gaW5jbHVkZSBXZWJLaXRBZGRpdGlvbnMgY29kZSBpbiBXZWJLaXQgQVBJ
IGhlYWRlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
aW5kZXggYTdjZjE4ZTZlZWRkMWRjNzM3ODI4NmUwZTNjMDFkNmYwYmE1Mjg2My4uMWFjNTZmN2Q2
MzliYWE1ODgzMjhmYTE1NjY2MTg4MDNhODNlYTdlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTE3Myw3ICsxNzMsOSBAQAogI2luY2x1ZGUg
PFdlYkNvcmUvSFRNTE9MaXN0RWxlbWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSFRNTFBsdWdJ
bkVsZW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuaD4K
KyNpbmNsdWRlIDxXZWJDb3JlL0hUTUxTZWxlY3RFbGVtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9IVE1MVGV4dEFyZWFFbGVtZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9IVE1MVGV4dEZvcm1D
b250cm9sRWxlbWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSFRNTFVMaXN0RWxlbWVudC5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvSGlzdG9yeUNvbnRyb2xsZXIuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0hpc3RvcnlJdGVtLmg+CkBAIC01MDczLDggKzUwNzUsOCBAQCB2b2lkIFdlYlBhZ2U6OnNldFRl
eHRBc3luYyhjb25zdCBTdHJpbmcmIHRleHQpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAg
ICBpZiAoaXM8SFRNTElucHV0RWxlbWVudD4obV9mb2N1c2VkRWxlbWVudC5nZXQoKSkpIHsKLSAg
ICAgICAgZG93bmNhc3Q8SFRNTElucHV0RWxlbWVudD4oKm1fZm9jdXNlZEVsZW1lbnQpLnNldFZh
bHVlRm9yVXNlcih0ZXh0KTsKKyAgICBpZiAoaXM8SFRNTElucHV0RWxlbWVudD4obV9mb2N1c2Vk
RWxlbWVudEZvclVzZXJJbnB1dC5nZXQoKSkpIHsKKyAgICAgICAgZG93bmNhc3Q8SFRNTElucHV0
RWxlbWVudD4oKm1fZm9jdXNlZEVsZW1lbnRGb3JVc2VySW5wdXQpLnNldFZhbHVlRm9yVXNlcih0
ZXh0KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNTMxMSwxNiArNTMxMywxNiBAQCB2
b2lkIFdlYlBhZ2U6OmRpZENoYW5nZVNlbGVjdGlvbigpCiAKIHZvaWQgV2ViUGFnZTo6cmVzZXRG
b2N1c2VkRWxlbWVudEZvckZyYW1lKFdlYkZyYW1lKiBmcmFtZSkKIHsKLSAgICBpZiAoIW1fZm9j
dXNlZEVsZW1lbnQpCisgICAgaWYgKCFtX2ZvY3VzZWRFbGVtZW50Rm9yVXNlcklucHV0KQogICAg
ICAgICByZXR1cm47CiAKLSAgICBpZiAoZnJhbWUtPmlzTWFpbkZyYW1lKCkgfHwgbV9mb2N1c2Vk
RWxlbWVudC0+ZG9jdW1lbnQoKS5mcmFtZSgpID09IGZyYW1lLT5jb3JlRnJhbWUoKSkgeworICAg
IGlmIChmcmFtZS0+aXNNYWluRnJhbWUoKSB8fCBtX2ZvY3VzZWRFbGVtZW50Rm9yVXNlcklucHV0
LT5kb2N1bWVudCgpLmZyYW1lKCkgPT0gZnJhbWUtPmNvcmVGcmFtZSgpKSB7CiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpFbGVt
ZW50RGlkQmx1cigpKTsKICNlbGlmIFBMQVRGT1JNKE1BQykKICAgICAgICAgc2VuZChNZXNzYWdl
czo6V2ViUGFnZVByb3h5OjpTZXRFZGl0YWJsZUVsZW1lbnRJc0ZvY3VzZWQoZmFsc2UpKTsKICNl
bmRpZgotICAgICAgICBtX2ZvY3VzZWRFbGVtZW50ID0gbnVsbHB0cjsKKyAgICAgICAgbV9mb2N1
c2VkRWxlbWVudEZvclVzZXJJbnB1dCA9IG51bGxwdHI7CiAgICAgfQogfQogCkBAIC01MzM0LDcg
KzUzMzYsNyBAQCB2b2lkIFdlYlBhZ2U6OmVsZW1lbnREaWRSZWZvY3VzKFdlYkNvcmU6OkVsZW1l
bnQmIGVsZW1lbnQpCiAKIGJvb2wgV2ViUGFnZTo6c2hvdWxkRGlzcGF0Y2hVcGRhdGVBZnRlckZv
Y3VzaW5nRWxlbWVudChjb25zdCBFbGVtZW50JiBlbGVtZW50KSBjb25zdAogewotICAgIGlmICht
X2ZvY3VzZWRFbGVtZW50ID09ICZlbGVtZW50IHx8IG1fcmVjZW50bHlCbHVycmVkRWxlbWVudCA9
PSAmZWxlbWVudCkgeworICAgIGlmIChtX2ZvY3VzZWRFbGVtZW50Rm9yVXNlcklucHV0ID09ICZl
bGVtZW50IHx8IG1fcmVjZW50bHlCbHVycmVkRWxlbWVudCA9PSAmZWxlbWVudCkgewogI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCiAgICAgICAgIHJldHVybiAhbV9pc1Nob3dpbmdJbnB1dFZpZXdG
b3JGb2N1c2VkRWxlbWVudDsKICNlbHNlCkBAIC01MzQ0LDE2ICs1MzQ2LDI2IEBAIGJvb2wgV2Vi
UGFnZTo6c2hvdWxkRGlzcGF0Y2hVcGRhdGVBZnRlckZvY3VzaW5nRWxlbWVudChjb25zdCBFbGVt
ZW50JiBlbGVtZW50KSBjCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBib29sIGlzVGV4
dEZvcm1Db250cm9sT3JFZGl0YWJsZUNvbnRlbnQoY29uc3QgV2ViQ29yZTo6RWxlbWVudCYgZWxl
bWVudCkKK3sKKyAgICByZXR1cm4gaXM8SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ+KGVsZW1l
bnQpIHx8IGVsZW1lbnQuaGFzRWRpdGFibGVTdHlsZSgpOworfQorCitzdGF0aWMgYm9vbCBtYXlS
ZXF1aXJlVXNlcklucHV0KGNvbnN0IFdlYkNvcmU6OkVsZW1lbnQmIGVsZW1lbnQpCit7CisgICAg
cmV0dXJuIGlzPEhUTUxTZWxlY3RFbGVtZW50PihlbGVtZW50KSB8fCBpc1RleHRGb3JtQ29udHJv
bE9yRWRpdGFibGVDb250ZW50KGVsZW1lbnQpOworfQorCiB2b2lkIFdlYlBhZ2U6OmVsZW1lbnRE
aWRGb2N1cyhXZWJDb3JlOjpFbGVtZW50JiBlbGVtZW50KQogewogICAgIGlmICghc2hvdWxkRGlz
cGF0Y2hVcGRhdGVBZnRlckZvY3VzaW5nRWxlbWVudChlbGVtZW50KSkgewotICAgICAgICBtX2Zv
Y3VzZWRFbGVtZW50ID0gJmVsZW1lbnQ7CisgICAgICAgIG1fZm9jdXNlZEVsZW1lbnRGb3JVc2Vy
SW5wdXQgPSAmZWxlbWVudDsKICAgICAgICAgbV9yZWNlbnRseUJsdXJyZWRFbGVtZW50ID0gbnVs
bHB0cjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChlbGVtZW50Lmhhc1RhZ05h
bWUoV2ViQ29yZTo6SFRNTE5hbWVzOjpzZWxlY3RUYWcpIHx8IGVsZW1lbnQuaGFzVGFnTmFtZShX
ZWJDb3JlOjpIVE1MTmFtZXM6OmlucHV0VGFnKSB8fCBlbGVtZW50Lmhhc1RhZ05hbWUoV2ViQ29y
ZTo6SFRNTE5hbWVzOjp0ZXh0YXJlYVRhZykgfHwgZWxlbWVudC5oYXNFZGl0YWJsZVN0eWxlKCkp
IHsKLSAgICAgICAgbV9mb2N1c2VkRWxlbWVudCA9ICZlbGVtZW50OworICAgIGlmIChtYXlSZXF1
aXJlVXNlcklucHV0KGVsZW1lbnQpKSB7CisgICAgICAgIG1fZm9jdXNlZEVsZW1lbnRGb3JVc2Vy
SW5wdXQgPSAmZWxlbWVudDsKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAKQEAgLTUzODEs
OCArNTM5Myw4IEBAIHZvaWQgV2ViUGFnZTo6ZWxlbWVudERpZEZvY3VzKFdlYkNvcmU6OkVsZW1l
bnQmIGVsZW1lbnQpCiAKIHZvaWQgV2ViUGFnZTo6ZWxlbWVudERpZEJsdXIoV2ViQ29yZTo6RWxl
bWVudCYgZWxlbWVudCkKIHsKLSAgICBpZiAobV9mb2N1c2VkRWxlbWVudCA9PSAmZWxlbWVudCkg
ewotICAgICAgICBtX3JlY2VudGx5Qmx1cnJlZEVsZW1lbnQgPSBXVEZNb3ZlKG1fZm9jdXNlZEVs
ZW1lbnQpOworICAgIGlmIChtX2ZvY3VzZWRFbGVtZW50Rm9yVXNlcklucHV0ID09ICZlbGVtZW50
KSB7CisgICAgICAgIG1fcmVjZW50bHlCbHVycmVkRWxlbWVudCA9IFdURk1vdmUobV9mb2N1c2Vk
RWxlbWVudEZvclVzZXJJbnB1dCk7CiAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3Byb3RlY3Rl
ZFRoaXMgPSBtYWtlUmVmUHRyKHRoaXMpXSB7CiAgICAgICAgICAgICBpZiAocHJvdGVjdGVkVGhp
cy0+bV9yZWNlbnRseUJsdXJyZWRFbGVtZW50KSB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
QEAgLTUzOTgsMTIgKzU0MTAsMTQgQEAgdm9pZCBXZWJQYWdlOjplbGVtZW50RGlkQmx1cihXZWJD
b3JlOjpFbGVtZW50JiBlbGVtZW50KQogCiB2b2lkIFdlYlBhZ2U6OmZvY3VzZWRFbGVtZW50RGlk
Q2hhbmdlSW5wdXRNb2RlKFdlYkNvcmU6OkVsZW1lbnQmIGVsZW1lbnQsIFdlYkNvcmU6OklucHV0
TW9kZSBtb2RlKQogeworICAgIGlmIChtX2ZvY3VzZWRFbGVtZW50Rm9yVXNlcklucHV0ICE9ICZl
bGVtZW50KQorICAgICAgICByZXR1cm47CisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAg
IEFTU0VSVChtX2ZvY3VzZWRFbGVtZW50ID09ICZlbGVtZW50KTsKICAgICBBU1NFUlQoaXM8SFRN
TEVsZW1lbnQ+KGVsZW1lbnQpKTsKICAgICBBU1NFUlQoZG93bmNhc3Q8SFRNTEVsZW1lbnQ+KGVs
ZW1lbnQpLmNhbm9uaWNhbElucHV0TW9kZSgpID09IG1vZGUpOwogCi0gICAgaWYgKCFpczxIVE1M
VGV4dEFyZWFFbGVtZW50PigqbV9mb2N1c2VkRWxlbWVudCkgJiYgIWlzPEhUTUxJbnB1dEVsZW1l
bnQ+KCptX2ZvY3VzZWRFbGVtZW50KSAmJiAhbV9mb2N1c2VkRWxlbWVudC0+aGFzRWRpdGFibGVT
dHlsZSgpKQorICAgIGlmICghaXNUZXh0Rm9ybUNvbnRyb2xPckVkaXRhYmxlQ29udGVudChlbGVt
ZW50KSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjpGb2N1c2VkRWxlbWVudERpZENoYW5nZUlucHV0TW9kZShtb2RlKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggODFiNjkyYzZmZDg5YWE3YjkzOTdi
ZGZiMWJhNTE1ODFhZWJkNjNmZS4uY2EyMmEyZTkwOWU0YTFmYmVjODYxMTFlN2QzMTNlMjFkM2M1
NDI4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAt
MTc1OSw3ICsxNzU5LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNTaG93aW5nQ29udGV4dE1l
bnUgeyBmYWxzZSB9OwogI2VuZGlmCiAKLSAgICBSZWZQdHI8V2ViQ29yZTo6RWxlbWVudD4gbV9m
b2N1c2VkRWxlbWVudDsKKyAgICBSZWZQdHI8V2ViQ29yZTo6RWxlbWVudD4gbV9mb2N1c2VkRWxl
bWVudEZvclVzZXJJbnB1dDsKICAgICBSZWZQdHI8V2ViQ29yZTo6RWxlbWVudD4gbV9yZWNlbnRs
eUJsdXJyZWRFbGVtZW50OwogICAgIGJvb2wgbV9oYXNQZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGUg
eyBmYWxzZSB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lv
cy9XZWJQYWdlSU9TLm1tCmluZGV4IGRmOGRkYzkzM2U5Njk0NWEwOTAzNTc3OGVmN2VkY2UzYjU5
NzFmN2QuLmYwZWQ5ZGMzYmYwNjVlZjQxZDA0MmYyYzdjODFhY2UzNDY3NTJiOGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBA
IC0yNTMsOCArMjUzLDggQEAgdm9pZCBXZWJQYWdlOjpwbGF0Zm9ybUVkaXRvclN0YXRlKEZyYW1l
JiBmcmFtZSwgRWRpdG9yU3RhdGUmIHJlc3VsdCwgSW5jbHVkZVBvc3QKICAgICBwb3N0TGF5b3V0
RGF0YS5hdFN0YXJ0T2ZTZW50ZW5jZSA9IGZyYW1lLnNlbGVjdGlvbigpLnNlbGVjdGlvbkF0U2Vu
dGVuY2VTdGFydCgpOwogICAgIHBvc3RMYXlvdXREYXRhLmluc2lkZUZpeGVkUG9zaXRpb24gPSBz
dGFydE5vZGVJc0luc2lkZUZpeGVkUG9zaXRpb24gfHwgZW5kTm9kZUlzSW5zaWRlRml4ZWRQb3Np
dGlvbjsKICAgICBpZiAoIXNlbGVjdGlvbi5pc05vbmUoKSkgewotICAgICAgICBpZiAobV9mb2N1
c2VkRWxlbWVudCAmJiBtX2ZvY3VzZWRFbGVtZW50LT5yZW5kZXJlcigpKSB7Ci0gICAgICAgICAg
ICBhdXRvJiByZW5kZXJlciA9ICptX2ZvY3VzZWRFbGVtZW50LT5yZW5kZXJlcigpOworICAgICAg
ICBpZiAobV9mb2N1c2VkRWxlbWVudEZvclVzZXJJbnB1dCAmJiBtX2ZvY3VzZWRFbGVtZW50Rm9y
VXNlcklucHV0LT5yZW5kZXJlcigpKSB7CisgICAgICAgICAgICBhdXRvJiByZW5kZXJlciA9ICpt
X2ZvY3VzZWRFbGVtZW50Rm9yVXNlcklucHV0LT5yZW5kZXJlcigpOwogICAgICAgICAgICAgcG9z
dExheW91dERhdGEuZm9jdXNlZEVsZW1lbnRSZWN0ID0gdmlldy0+Y29udGVudHNUb1Jvb3RWaWV3
KHJlbmRlcmVyLmFic29sdXRlQm91bmRpbmdCb3hSZWN0KCkpOwogICAgICAgICAgICAgcG9zdExh
eW91dERhdGEuY2FyZXRDb2xvciA9IHJlbmRlcmVyLnN0eWxlKCkuY2FyZXRDb2xvcigpOwogICAg
ICAgICB9CkBAIC03MDYsNyArNzA2LDcgQEAgdm9pZCBXZWJQYWdlOjpoYW5kbGVUYXAoY29uc3Qg
SW50UG9pbnQmIHBvaW50LCBPcHRpb25TZXQ8V2ViRXZlbnQ6Ok1vZGlmaWVyPiBtb2QKIHZvaWQg
V2ViUGFnZTo6cmVxdWVzdEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24oV2ViS2l0OjpDYWxsYmFj
a0lEIGNhbGxiYWNrSUQpCiB7CiAgICAgRm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbiBpbmZvOwot
ICAgIGlmIChtX2ZvY3VzZWRFbGVtZW50KQorICAgIGlmIChtX2ZvY3VzZWRFbGVtZW50Rm9yVXNl
cklucHV0KQogICAgICAgICBnZXRGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uKGluZm8pOwogCiAg
ICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9u
Q2FsbGJhY2soaW5mbywgY2FsbGJhY2tJRCkpOwpAQCAtOTU2LDEwICs5NTYsMTAgQEAgdm9pZCBX
ZWJQYWdlOjppbnNwZWN0b3JOb2RlU2VhcmNoRW5kZWRBdFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9p
bnQmIHBvc2l0aW9uKQogCiB2b2lkIFdlYlBhZ2U6OmJsdXJGb2N1c2VkRWxlbWVudCgpCiB7Ci0g
ICAgaWYgKCFtX2ZvY3VzZWRFbGVtZW50KQorICAgIGlmICghbV9mb2N1c2VkRWxlbWVudEZvclVz
ZXJJbnB1dCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9mb2N1c2VkRWxlbWVudC0+Ymx1cigp
OworICAgIG1fZm9jdXNlZEVsZW1lbnRGb3JVc2VySW5wdXQtPmJsdXIoKTsKIH0KIAogdm9pZCBX
ZWJQYWdlOjpzZXRJc1Nob3dpbmdJbnB1dFZpZXdGb3JGb2N1c2VkRWxlbWVudChib29sIHNob3dp
bmdJbnB1dFZpZXcpCkBAIC05NzAsMjAgKzk3MCwyMCBAQCB2b2lkIFdlYlBhZ2U6OnNldElzU2hv
d2luZ0lucHV0Vmlld0ZvckZvY3VzZWRFbGVtZW50KGJvb2wgc2hvd2luZ0lucHV0VmlldykKIHZv
aWQgV2ViUGFnZTo6c2V0Rm9jdXNlZEVsZW1lbnRWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlKQog
ewogICAgIC8vIEZJWE1FOiBzaG91bGQgYWxzbyBoYW5kbGUgdGhlIGNhc2Ugb2YgSFRNTFNlbGVj
dEVsZW1lbnQuCi0gICAgaWYgKGlzPEhUTUxJbnB1dEVsZW1lbnQ+KG1fZm9jdXNlZEVsZW1lbnQu
Z2V0KCkpKQotICAgICAgICBkb3duY2FzdDxIVE1MSW5wdXRFbGVtZW50PigqbV9mb2N1c2VkRWxl
bWVudCkuc2V0VmFsdWUodmFsdWUsIERpc3BhdGNoSW5wdXRBbmRDaGFuZ2VFdmVudCk7CisgICAg
aWYgKGlzPEhUTUxJbnB1dEVsZW1lbnQ+KG1fZm9jdXNlZEVsZW1lbnRGb3JVc2VySW5wdXQuZ2V0
KCkpKQorICAgICAgICBkb3duY2FzdDxIVE1MSW5wdXRFbGVtZW50PigqbV9mb2N1c2VkRWxlbWVu
dEZvclVzZXJJbnB1dCkuc2V0VmFsdWUodmFsdWUsIERpc3BhdGNoSW5wdXRBbmRDaGFuZ2VFdmVu
dCk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6c2V0Rm9jdXNlZEVsZW1lbnRWYWx1ZUFzTnVtYmVyKGRv
dWJsZSB2YWx1ZSkKIHsKLSAgICBpZiAoaXM8SFRNTElucHV0RWxlbWVudD4obV9mb2N1c2VkRWxl
bWVudC5nZXQoKSkpCi0gICAgICAgIGRvd25jYXN0PEhUTUxJbnB1dEVsZW1lbnQ+KCptX2ZvY3Vz
ZWRFbGVtZW50KS5zZXRWYWx1ZUFzTnVtYmVyKHZhbHVlLCBEaXNwYXRjaElucHV0QW5kQ2hhbmdl
RXZlbnQpOworICAgIGlmIChpczxIVE1MSW5wdXRFbGVtZW50PihtX2ZvY3VzZWRFbGVtZW50Rm9y
VXNlcklucHV0LmdldCgpKSkKKyAgICAgICAgZG93bmNhc3Q8SFRNTElucHV0RWxlbWVudD4oKm1f
Zm9jdXNlZEVsZW1lbnRGb3JVc2VySW5wdXQpLnNldFZhbHVlQXNOdW1iZXIodmFsdWUsIERpc3Bh
dGNoSW5wdXRBbmRDaGFuZ2VFdmVudCk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6c2V0Rm9jdXNlZEVs
ZW1lbnRTZWxlY3RlZEluZGV4KHVpbnQzMl90IGluZGV4LCBib29sIGFsbG93TXVsdGlwbGVTZWxl
Y3Rpb24pCiB7Ci0gICAgaWYgKGlzPEhUTUxTZWxlY3RFbGVtZW50PihtX2ZvY3VzZWRFbGVtZW50
LmdldCgpKSkKLSAgICAgICAgZG93bmNhc3Q8SFRNTFNlbGVjdEVsZW1lbnQ+KCptX2ZvY3VzZWRF
bGVtZW50KS5vcHRpb25TZWxlY3RlZEJ5VXNlcihpbmRleCwgdHJ1ZSwgYWxsb3dNdWx0aXBsZVNl
bGVjdGlvbik7CisgICAgaWYgKGlzPEhUTUxTZWxlY3RFbGVtZW50PihtX2ZvY3VzZWRFbGVtZW50
Rm9yVXNlcklucHV0LmdldCgpKSkKKyAgICAgICAgZG93bmNhc3Q8SFRNTFNlbGVjdEVsZW1lbnQ+
KCptX2ZvY3VzZWRFbGVtZW50Rm9yVXNlcklucHV0KS5vcHRpb25TZWxlY3RlZEJ5VXNlcihpbmRl
eCwgdHJ1ZSwgYWxsb3dNdWx0aXBsZVNlbGVjdGlvbik7CiB9CiAKIHZvaWQgV2ViUGFnZTo6c2hv
d0luc3BlY3RvckhpZ2hsaWdodChjb25zdCBXZWJDb3JlOjpIaWdobGlnaHQmIGhpZ2hsaWdodCkK
QEAgLTE1NDksOCArMTU0OSw4IEBAIHZvaWQgV2ViUGFnZTo6bW92ZVNlbGVjdGlvbkJ5T2Zmc2V0
KGludDMyX3Qgb2Zmc2V0LCBDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAgICAgCiB2b2lkIFdlYlBh
Z2U6OnN0YXJ0QXV0b3Njcm9sbEF0UG9zaXRpb24oY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYg
cG9zaXRpb25JbldpbmRvdykKIHsKLSAgICBpZiAobV9mb2N1c2VkRWxlbWVudCAmJiBtX2ZvY3Vz
ZWRFbGVtZW50LT5yZW5kZXJlcigpKQotICAgICAgICBtX3BhZ2UtPm1haW5GcmFtZSgpLmV2ZW50
SGFuZGxlcigpLnN0YXJ0U2VsZWN0aW9uQXV0b3Njcm9sbChtX2ZvY3VzZWRFbGVtZW50LT5yZW5k
ZXJlcigpLCBwb3NpdGlvbkluV2luZG93KTsKKyAgICBpZiAobV9mb2N1c2VkRWxlbWVudEZvclVz
ZXJJbnB1dCAmJiBtX2ZvY3VzZWRFbGVtZW50Rm9yVXNlcklucHV0LT5yZW5kZXJlcigpKQorICAg
ICAgICBtX3BhZ2UtPm1haW5GcmFtZSgpLmV2ZW50SGFuZGxlcigpLnN0YXJ0U2VsZWN0aW9uQXV0
b3Njcm9sbChtX2ZvY3VzZWRFbGVtZW50Rm9yVXNlcklucHV0LT5yZW5kZXJlcigpLCBwb3NpdGlv
bkluV2luZG93KTsKICAgICBlbHNlIHsKICAgICAgICAgRnJhbWUmIGZyYW1lID0gbV9wYWdlLT5m
b2N1c0NvbnRyb2xsZXIoKS5mb2N1c2VkT3JNYWluRnJhbWUoKTsKICAgICAgICAgVmlzaWJsZVNl
bGVjdGlvbiBzZWxlY3Rpb24gPSBmcmFtZS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKTsKQEAgLTE1
OTAsNyArMTU5MCw3IEBAIHZvaWQgV2ViUGFnZTo6cmVxdWVzdEV2YXNpb25SZWN0c0Fib3ZlU2Vs
ZWN0aW9uKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgVmVjCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKLSAgICBpZiAoIW1fZm9jdXNlZEVsZW1lbnQgfHwgIW1fZm9jdXNlZEVsZW1lbnQt
PnJlbmRlcmVyKCkgfHwgZW5jbG9zaW5nTGF5ZXJJc1RyYW5zcGFyZW50T3JGdWxseUNsaXBwZWQo
Km1fZm9jdXNlZEVsZW1lbnQtPnJlbmRlcmVyKCkpKSB7CisgICAgaWYgKCFtX2ZvY3VzZWRFbGVt
ZW50Rm9yVXNlcklucHV0IHx8ICFtX2ZvY3VzZWRFbGVtZW50Rm9yVXNlcklucHV0LT5yZW5kZXJl
cigpIHx8IGVuY2xvc2luZ0xheWVySXNUcmFuc3BhcmVudE9yRnVsbHlDbGlwcGVkKCptX2ZvY3Vz
ZWRFbGVtZW50Rm9yVXNlcklucHV0LT5yZW5kZXJlcigpKSkgewogICAgICAgICByZXBseSh7IH0p
OwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTc1NCw3ICsxNzU0LDcgQEAgdm9pZCBXZWJQ
YWdlOjpnZXRSZWN0c0F0U2VsZWN0aW9uT2Zmc2V0V2l0aFRleHQoaW50MzJfdCBvZmZzZXQsIGNv
bnN0IFN0cmluZyYgdGUKIFZpc2libGVQb3NpdGlvbiBXZWJQYWdlOjp2aXNpYmxlUG9zaXRpb25J
bkZvY3VzZWROb2RlRm9yUG9pbnQoY29uc3QgRnJhbWUmIGZyYW1lLCBjb25zdCBJbnRQb2ludCYg
cG9pbnQsIGJvb2wgaXNJbnRlcmFjdGluZ1dpdGhGb2N1c2VkRWxlbWVudCkKIHsKICAgICBJbnRQ
b2ludCBhZGp1c3RlZFBvaW50KGZyYW1lLnZpZXcoKS0+cm9vdFZpZXdUb0NvbnRlbnRzKHBvaW50
KSk7Ci0gICAgSW50UG9pbnQgY29uc3RyYWluZWRQb2ludCA9IG1fZm9jdXNlZEVsZW1lbnQgJiYg
aXNJbnRlcmFjdGluZ1dpdGhGb2N1c2VkRWxlbWVudCA/IGNvbnN0cmFpblBvaW50KGFkanVzdGVk
UG9pbnQsIGZyYW1lLCAqbV9mb2N1c2VkRWxlbWVudCkgOiBhZGp1c3RlZFBvaW50OworICAgIElu
dFBvaW50IGNvbnN0cmFpbmVkUG9pbnQgPSBtX2ZvY3VzZWRFbGVtZW50Rm9yVXNlcklucHV0ICYm
IGlzSW50ZXJhY3RpbmdXaXRoRm9jdXNlZEVsZW1lbnQgPyBjb25zdHJhaW5Qb2ludChhZGp1c3Rl
ZFBvaW50LCBmcmFtZSwgKm1fZm9jdXNlZEVsZW1lbnRGb3JVc2VySW5wdXQpIDogYWRqdXN0ZWRQ
b2ludDsKICAgICByZXR1cm4gZnJhbWUudmlzaWJsZVBvc2l0aW9uRm9yUG9pbnQoY29uc3RyYWlu
ZWRQb2ludCk7CiB9CiAKQEAgLTIyNzYsMTUgKzIyNzYsMTUgQEAgSW50ZXJhY3Rpb25JbmZvcm1h
dGlvbkF0UG9zaXRpb24gV2ViUGFnZTo6cG9zaXRpb25JbmZvcm1hdGlvbihjb25zdCBJbnRlcmFj
dGlvbkkKICAgICBGbG9hdFBvaW50IGFkanVzdGVkUG9pbnQ7CiAgICAgTm9kZSogaGl0Tm9kZSA9
IG1fcGFnZS0+bWFpbkZyYW1lKCkubm9kZVJlc3BvbmRpbmdUb0NsaWNrRXZlbnRzKHJlcXVlc3Qu
cG9pbnQsIGFkanVzdGVkUG9pbnQpOwogCi0gICAgaW5mby5ub2RlQXRQb3NpdGlvbklzRm9jdXNl
ZEVsZW1lbnQgPSBoaXROb2RlID09IG1fZm9jdXNlZEVsZW1lbnQ7Ci0gICAgaWYgKG1fZm9jdXNl
ZEVsZW1lbnQpIHsKKyAgICBpbmZvLm5vZGVBdFBvc2l0aW9uSXNGb2N1c2VkRWxlbWVudCA9IGhp
dE5vZGUgPT0gbV9mb2N1c2VkRWxlbWVudEZvclVzZXJJbnB1dDsKKyAgICBpZiAobV9mb2N1c2Vk
RWxlbWVudEZvclVzZXJJbnB1dCkgewogICAgICAgICBjb25zdCBGcmFtZSYgZnJhbWUgPSBtX3Bh
Z2UtPmZvY3VzQ29udHJvbGxlcigpLmZvY3VzZWRPck1haW5GcmFtZSgpOwogICAgICAgICBpZiAo
ZnJhbWUuZWRpdG9yKCkuaGFzQ29tcG9zaXRpb24oKSkgewogICAgICAgICAgICAgY29uc3QgdWlu
dDMyX3Qga0hpdEFyZWFXaWR0aCA9IDY2OwogICAgICAgICAgICAgY29uc3QgdWludDMyX3Qga0hp
dEFyZWFIZWlnaHQgPSA2NjsKICAgICAgICAgICAgIEZyYW1lVmlldyYgdmlldyA9ICpmcmFtZS52
aWV3KCk7CiAgICAgICAgICAgICBJbnRQb2ludCBhZGp1c3RlZFBvaW50KHZpZXcucm9vdFZpZXdU
b0NvbnRlbnRzKHJlcXVlc3QucG9pbnQpKTsKLSAgICAgICAgICAgIEludFBvaW50IGNvbnN0cmFp
bmVkUG9pbnQgPSBtX2ZvY3VzZWRFbGVtZW50ID8gY29uc3RyYWluUG9pbnQoYWRqdXN0ZWRQb2lu
dCwgZnJhbWUsICptX2ZvY3VzZWRFbGVtZW50KSA6IGFkanVzdGVkUG9pbnQ7CisgICAgICAgICAg
ICBJbnRQb2ludCBjb25zdHJhaW5lZFBvaW50ID0gbV9mb2N1c2VkRWxlbWVudEZvclVzZXJJbnB1
dCA/IGNvbnN0cmFpblBvaW50KGFkanVzdGVkUG9pbnQsIGZyYW1lLCAqbV9mb2N1c2VkRWxlbWVu
dEZvclVzZXJJbnB1dCkgOiBhZGp1c3RlZFBvaW50OwogICAgICAgICAgICAgVmlzaWJsZVBvc2l0
aW9uIHBvc2l0aW9uID0gZnJhbWUudmlzaWJsZVBvc2l0aW9uRm9yUG9pbnQoY29uc3RyYWluZWRQ
b2ludCk7CiAKICAgICAgICAgICAgIFJlZlB0cjxSYW5nZT4gY29tcG9zaXRpb25SYW5nZSA9IGZy
YW1lLmVkaXRvcigpLmNvbXBvc2l0aW9uUmFuZ2UoKTsKQEAgLTI1MjYsNyArMjUyNiw3IEBAIHN0
YXRpYyBpbmxpbmUgRWxlbWVudCogbmV4dEFzc2lzdGFibGVFbGVtZW50KE5vZGUqIHN0YXJ0Tm9k
ZSwgUGFnZSYgcGFnZSwgYm9vbCBpCiAKIHZvaWQgV2ViUGFnZTo6Zm9jdXNOZXh0Rm9jdXNlZEVs
ZW1lbnQoYm9vbCBpc0ZvcndhcmQsIENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKIHsKLSAgICBFbGVt
ZW50KiBuZXh0RWxlbWVudCA9IG5leHRBc3Npc3RhYmxlRWxlbWVudChtX2ZvY3VzZWRFbGVtZW50
LmdldCgpLCAqbV9wYWdlLCBpc0ZvcndhcmQpOworICAgIEVsZW1lbnQqIG5leHRFbGVtZW50ID0g
bmV4dEFzc2lzdGFibGVFbGVtZW50KG1fZm9jdXNlZEVsZW1lbnRGb3JVc2VySW5wdXQuZ2V0KCks
ICptX3BhZ2UsIGlzRm9yd2FyZCk7CiAgICAgbV91c2VySXNJbnRlcmFjdGluZyA9IHRydWU7CiAg
ICAgaWYgKG5leHRFbGVtZW50KQogICAgICAgICBuZXh0RWxlbWVudC0+Zm9jdXMoKTsKQEAgLTI1
NTMsOSArMjU1Myw5IEBAIHZvaWQgV2ViUGFnZTo6Z2V0Rm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlv
bihGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uJiBpbmZvcm1hdGlvCiAKICAgICBpbmZvcm1hdGlv
bi5sYXN0SW50ZXJhY3Rpb25Mb2NhdGlvbiA9IG1fbGFzdEludGVyYWN0aW9uTG9jYXRpb247CiAK
LSAgICBpZiAoYXV0byogcmVuZGVyZXIgPSBtX2ZvY3VzZWRFbGVtZW50LT5yZW5kZXJlcigpKSB7
CisgICAgaWYgKGF1dG8qIHJlbmRlcmVyID0gbV9mb2N1c2VkRWxlbWVudEZvclVzZXJJbnB1dC0+
cmVuZGVyZXIoKSkgewogICAgICAgICBhdXRvJiBlbGVtZW50RnJhbWUgPSBtX3BhZ2UtPmZvY3Vz
Q29udHJvbGxlcigpLmZvY3VzZWRPck1haW5GcmFtZSgpOwotICAgICAgICBpbmZvcm1hdGlvbi5l
bGVtZW50UmVjdCA9IGVsZW1lbnRSZWN0SW5Sb290Vmlld0Nvb3JkaW5hdGVzKCptX2ZvY3VzZWRF
bGVtZW50LCBlbGVtZW50RnJhbWUpOworICAgICAgICBpbmZvcm1hdGlvbi5lbGVtZW50UmVjdCA9
IGVsZW1lbnRSZWN0SW5Sb290Vmlld0Nvb3JkaW5hdGVzKCptX2ZvY3VzZWRFbGVtZW50Rm9yVXNl
cklucHV0LCBlbGVtZW50RnJhbWUpOwogICAgICAgICBpbmZvcm1hdGlvbi5ub2RlRm9udFNpemUg
PSByZW5kZXJlci0+c3R5bGUoKS5mb250RGVzY3JpcHRpb24oKS5jb21wdXRlZFNpemUoKTsKIAog
ICAgICAgICBib29sIGluRml4ZWQgPSBmYWxzZTsKQEAgLTI1NzAsMjAgKzI1NzAsMjAgQEAgdm9p
ZCBXZWJQYWdlOjpnZXRGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uKEZvY3VzZWRFbGVtZW50SW5m
b3JtYXRpb24mIGluZm9ybWF0aW8KICAgICBpbmZvcm1hdGlvbi5tYXhpbXVtU2NhbGVGYWN0b3JJ
Z25vcmluZ0Fsd2F5c1NjYWxhYmxlID0gbWF4aW11bVBhZ2VTY2FsZUZhY3Rvcklnbm9yaW5nQWx3
YXlzU2NhbGFibGUoKTsKICAgICBpbmZvcm1hdGlvbi5hbGxvd3NVc2VyU2NhbGluZyA9IG1fdmll
d3BvcnRDb25maWd1cmF0aW9uLmFsbG93c1VzZXJTY2FsaW5nKCk7CiAgICAgaW5mb3JtYXRpb24u
YWxsb3dzVXNlclNjYWxpbmdJZ25vcmluZ0Fsd2F5c1NjYWxhYmxlID0gbV92aWV3cG9ydENvbmZp
Z3VyYXRpb24uYWxsb3dzVXNlclNjYWxpbmdJZ25vcmluZ0Fsd2F5c1NjYWxhYmxlKCk7Ci0gICAg
aWYgKGF1dG8qIG5leHRFbGVtZW50ID0gbmV4dEFzc2lzdGFibGVFbGVtZW50KG1fZm9jdXNlZEVs
ZW1lbnQuZ2V0KCksICptX3BhZ2UsIHRydWUpKSB7CisgICAgaWYgKGF1dG8qIG5leHRFbGVtZW50
ID0gbmV4dEFzc2lzdGFibGVFbGVtZW50KG1fZm9jdXNlZEVsZW1lbnRGb3JVc2VySW5wdXQuZ2V0
KCksICptX3BhZ2UsIHRydWUpKSB7CiAgICAgICAgIGlmIChhdXRvKiBmcmFtZSA9IG5leHRFbGVt
ZW50LT5kb2N1bWVudCgpLmZyYW1lKCkpCiAgICAgICAgICAgICBpbmZvcm1hdGlvbi5uZXh0Tm9k
ZVJlY3QgPSBlbGVtZW50UmVjdEluUm9vdFZpZXdDb29yZGluYXRlcygqbmV4dEVsZW1lbnQsICpm
cmFtZSk7CiAgICAgICAgIGluZm9ybWF0aW9uLmhhc05leHROb2RlID0gdHJ1ZTsKICAgICB9Ci0g
ICAgaWYgKGF1dG8qIHByZXZpb3VzRWxlbWVudCA9IG5leHRBc3Npc3RhYmxlRWxlbWVudChtX2Zv
Y3VzZWRFbGVtZW50LmdldCgpLCAqbV9wYWdlLCBmYWxzZSkpIHsKKyAgICBpZiAoYXV0byogcHJl
dmlvdXNFbGVtZW50ID0gbmV4dEFzc2lzdGFibGVFbGVtZW50KG1fZm9jdXNlZEVsZW1lbnRGb3JV
c2VySW5wdXQuZ2V0KCksICptX3BhZ2UsIGZhbHNlKSkgewogICAgICAgICBpZiAoYXV0byogZnJh
bWUgPSBwcmV2aW91c0VsZW1lbnQtPmRvY3VtZW50KCkuZnJhbWUoKSkKICAgICAgICAgICAgIGlu
Zm9ybWF0aW9uLnByZXZpb3VzTm9kZVJlY3QgPSBlbGVtZW50UmVjdEluUm9vdFZpZXdDb29yZGlu
YXRlcygqcHJldmlvdXNFbGVtZW50LCAqZnJhbWUpOwogICAgICAgICBpbmZvcm1hdGlvbi5oYXNQ
cmV2aW91c05vZGUgPSB0cnVlOwogICAgIH0KICAgICBpbmZvcm1hdGlvbi5mb2N1c2VkRWxlbWVu
dElkZW50aWZpZXIgPSBtX2N1cnJlbnRGb2N1c2VkRWxlbWVudElkZW50aWZpZXI7CiAKLSAgICBp
ZiAoaXM8TGFiZWxhYmxlRWxlbWVudD4oKm1fZm9jdXNlZEVsZW1lbnQpKSB7Ci0gICAgICAgIGF1
dG8gbGFiZWxzID0gZG93bmNhc3Q8TGFiZWxhYmxlRWxlbWVudD4oKm1fZm9jdXNlZEVsZW1lbnQp
LmxhYmVscygpOworICAgIGlmIChpczxMYWJlbGFibGVFbGVtZW50PigqbV9mb2N1c2VkRWxlbWVu
dEZvclVzZXJJbnB1dCkpIHsKKyAgICAgICAgYXV0byBsYWJlbHMgPSBkb3duY2FzdDxMYWJlbGFi
bGVFbGVtZW50PigqbV9mb2N1c2VkRWxlbWVudEZvclVzZXJJbnB1dCkubGFiZWxzKCk7CiAgICAg
ICAgIFZlY3RvcjxSZWY8RWxlbWVudD4+IGFzc29jaWF0ZWRMYWJlbHM7CiAgICAgICAgIGZvciAo
dW5zaWduZWQgaW5kZXggPSAwOyBpbmRleCA8IGxhYmVscy0+bGVuZ3RoKCk7ICsraW5kZXgpIHsK
ICAgICAgICAgICAgIGlmIChpczxFbGVtZW50PihsYWJlbHMtPml0ZW0oaW5kZXgpKSAmJiBsYWJl
bHMtPml0ZW0oaW5kZXgpLT5yZW5kZXJlcigpKQpAQCAtMjU5OCwxMSArMjU5OCwxMSBAQCB2b2lk
IFdlYlBhZ2U6OmdldEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24oRm9jdXNlZEVsZW1lbnRJbmZv
cm1hdGlvbiYgaW5mb3JtYXRpbwogICAgICAgICB9CiAgICAgfQogCi0gICAgaW5mb3JtYXRpb24u
dGl0bGUgPSBtX2ZvY3VzZWRFbGVtZW50LT50aXRsZSgpOwotICAgIGluZm9ybWF0aW9uLmFyaWFM
YWJlbCA9IG1fZm9jdXNlZEVsZW1lbnQtPmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24o
SFRNTE5hbWVzOjphcmlhX2xhYmVsQXR0cik7CisgICAgaW5mb3JtYXRpb24udGl0bGUgPSBtX2Zv
Y3VzZWRFbGVtZW50Rm9yVXNlcklucHV0LT50aXRsZSgpOworICAgIGluZm9ybWF0aW9uLmFyaWFM
YWJlbCA9IG1fZm9jdXNlZEVsZW1lbnRGb3JVc2VySW5wdXQtPmF0dHJpYnV0ZVdpdGhvdXRTeW5j
aHJvbml6YXRpb24oSFRNTE5hbWVzOjphcmlhX2xhYmVsQXR0cik7CiAKLSAgICBpZiAoaXM8SFRN
TFNlbGVjdEVsZW1lbnQ+KCptX2ZvY3VzZWRFbGVtZW50KSkgewotICAgICAgICBIVE1MU2VsZWN0
RWxlbWVudCYgZWxlbWVudCA9IGRvd25jYXN0PEhUTUxTZWxlY3RFbGVtZW50PigqbV9mb2N1c2Vk
RWxlbWVudCk7CisgICAgaWYgKGlzPEhUTUxTZWxlY3RFbGVtZW50PigqbV9mb2N1c2VkRWxlbWVu
dEZvclVzZXJJbnB1dCkpIHsKKyAgICAgICAgSFRNTFNlbGVjdEVsZW1lbnQmIGVsZW1lbnQgPSBk
b3duY2FzdDxIVE1MU2VsZWN0RWxlbWVudD4oKm1fZm9jdXNlZEVsZW1lbnRGb3JVc2VySW5wdXQp
OwogICAgICAgICBpbmZvcm1hdGlvbi5lbGVtZW50VHlwZSA9IElucHV0VHlwZTo6U2VsZWN0Owog
ICAgICAgICBjb25zdCBWZWN0b3I8SFRNTEVsZW1lbnQqPiYgaXRlbXMgPSBlbGVtZW50Lmxpc3RJ
dGVtcygpOwogICAgICAgICBzaXplX3QgY291bnQgPSBpdGVtcy5zaXplKCk7CkBAIC0yNjIzLDgg
KzI2MjMsOCBAQCB2b2lkIFdlYlBhZ2U6OmdldEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24oRm9j
dXNlZEVsZW1lbnRJbmZvcm1hdGlvbiYgaW5mb3JtYXRpbwogICAgICAgICB9CiAgICAgICAgIGlu
Zm9ybWF0aW9uLnNlbGVjdGVkSW5kZXggPSBlbGVtZW50LnNlbGVjdGVkSW5kZXgoKTsKICAgICAg
ICAgaW5mb3JtYXRpb24uaXNNdWx0aVNlbGVjdCA9IGVsZW1lbnQubXVsdGlwbGUoKTsKLSAgICB9
IGVsc2UgaWYgKGlzPEhUTUxUZXh0QXJlYUVsZW1lbnQ+KCptX2ZvY3VzZWRFbGVtZW50KSkgewot
ICAgICAgICBIVE1MVGV4dEFyZWFFbGVtZW50JiBlbGVtZW50ID0gZG93bmNhc3Q8SFRNTFRleHRB
cmVhRWxlbWVudD4oKm1fZm9jdXNlZEVsZW1lbnQpOworICAgIH0gZWxzZSBpZiAoaXM8SFRNTFRl
eHRBcmVhRWxlbWVudD4oKm1fZm9jdXNlZEVsZW1lbnRGb3JVc2VySW5wdXQpKSB7CisgICAgICAg
IEhUTUxUZXh0QXJlYUVsZW1lbnQmIGVsZW1lbnQgPSBkb3duY2FzdDxIVE1MVGV4dEFyZWFFbGVt
ZW50PigqbV9mb2N1c2VkRWxlbWVudEZvclVzZXJJbnB1dCk7CiAgICAgICAgIGluZm9ybWF0aW9u
LmF1dG9jYXBpdGFsaXplVHlwZSA9IGVsZW1lbnQuYXV0b2NhcGl0YWxpemVUeXBlKCk7CiAgICAg
ICAgIGluZm9ybWF0aW9uLmlzQXV0b2NvcnJlY3QgPSBlbGVtZW50LnNob3VsZEF1dG9jb3JyZWN0
KCk7CiAgICAgICAgIGluZm9ybWF0aW9uLmVsZW1lbnRUeXBlID0gSW5wdXRUeXBlOjpUZXh0QXJl
YTsKQEAgLTI2MzMsMTQgKzI2MzMsMTQgQEAgdm9pZCBXZWJQYWdlOjpnZXRGb2N1c2VkRWxlbWVu
dEluZm9ybWF0aW9uKEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24mIGluZm9ybWF0aW8KICAgICAg
ICAgaW5mb3JtYXRpb24uYXV0b2ZpbGxGaWVsZE5hbWUgPSBXZWJDb3JlOjp0b0F1dG9maWxsRmll
bGROYW1lKGVsZW1lbnQuYXV0b2ZpbGxEYXRhKCkuZmllbGROYW1lKTsKICAgICAgICAgaW5mb3Jt
YXRpb24ucGxhY2Vob2xkZXIgPSBlbGVtZW50LmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRp
b24oSFRNTE5hbWVzOjpwbGFjZWhvbGRlckF0dHIpOwogICAgICAgICBpbmZvcm1hdGlvbi5pbnB1
dE1vZGUgPSBlbGVtZW50LmNhbm9uaWNhbElucHV0TW9kZSgpOwotICAgIH0gZWxzZSBpZiAoaXM8
SFRNTElucHV0RWxlbWVudD4oKm1fZm9jdXNlZEVsZW1lbnQpKSB7Ci0gICAgICAgIEhUTUxJbnB1
dEVsZW1lbnQmIGVsZW1lbnQgPSBkb3duY2FzdDxIVE1MSW5wdXRFbGVtZW50PigqbV9mb2N1c2Vk
RWxlbWVudCk7CisgICAgfSBlbHNlIGlmIChpczxIVE1MSW5wdXRFbGVtZW50PigqbV9mb2N1c2Vk
RWxlbWVudEZvclVzZXJJbnB1dCkpIHsKKyAgICAgICAgSFRNTElucHV0RWxlbWVudCYgZWxlbWVu
dCA9IGRvd25jYXN0PEhUTUxJbnB1dEVsZW1lbnQ+KCptX2ZvY3VzZWRFbGVtZW50Rm9yVXNlcklu
cHV0KTsKICAgICAgICAgSFRNTEZvcm1FbGVtZW50KiBmb3JtID0gZWxlbWVudC5mb3JtKCk7CiAg
ICAgICAgIGlmIChmb3JtKQogICAgICAgICAgICAgaW5mb3JtYXRpb24uZm9ybUFjdGlvbiA9IGZv
cm0tPmdldFVSTEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OmFjdGlvbkF0dHIpOwogICAg
ICAgICBpZiAoYXV0byBhdXRvZmlsbEVsZW1lbnRzID0gV2ViQ29yZTo6QXV0b2ZpbGxFbGVtZW50
czo6Y29tcHV0ZUF1dG9maWxsRWxlbWVudHMoZWxlbWVudCkpIHsKICAgICAgICAgICAgIGluZm9y
bWF0aW9uLmFjY2VwdHNBdXRvZmlsbGVkTG9naW5DcmVkZW50aWFscyA9IHRydWU7Ci0gICAgICAg
ICAgICBpbmZvcm1hdGlvbi5pc0F1dG9maWxsYWJsZVVzZXJuYW1lRmllbGQgPSBhdXRvZmlsbEVs
ZW1lbnRzLT51c2VybmFtZSgpID09IG1fZm9jdXNlZEVsZW1lbnQ7CisgICAgICAgICAgICBpbmZv
cm1hdGlvbi5pc0F1dG9maWxsYWJsZVVzZXJuYW1lRmllbGQgPSBhdXRvZmlsbEVsZW1lbnRzLT51
c2VybmFtZSgpID09IG1fZm9jdXNlZEVsZW1lbnRGb3JVc2VySW5wdXQ7CiAgICAgICAgIH0KICAg
ICAgICAgaW5mb3JtYXRpb24ucmVwcmVzZW50aW5nUGFnZVVSTCA9IGVsZW1lbnQuZG9jdW1lbnQo
KS51cmxGb3JCaW5kaW5ncygpOwogICAgICAgICBpbmZvcm1hdGlvbi5hdXRvY2FwaXRhbGl6ZVR5
cGUgPSBlbGVtZW50LmF1dG9jYXBpdGFsaXplVHlwZSgpOwpAQCAtMjY5OCwxMyArMjY5OCwxMyBA
QCB2b2lkIFdlYlBhZ2U6OmdldEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24oRm9jdXNlZEVsZW1l
bnRJbmZvcm1hdGlvbiYgaW5mb3JtYXRpbwogICAgICAgICBpbmZvcm1hdGlvbi52YWx1ZSA9IGVs
ZW1lbnQudmFsdWUoKTsKICAgICAgICAgaW5mb3JtYXRpb24udmFsdWVBc051bWJlciA9IGVsZW1l
bnQudmFsdWVBc051bWJlcigpOwogICAgICAgICBpbmZvcm1hdGlvbi5hdXRvZmlsbEZpZWxkTmFt
ZSA9IFdlYkNvcmU6OnRvQXV0b2ZpbGxGaWVsZE5hbWUoZWxlbWVudC5hdXRvZmlsbERhdGEoKS5m
aWVsZE5hbWUpOwotICAgIH0gZWxzZSBpZiAoaXM8SFRNTEltYWdlRWxlbWVudD4oKm1fZm9jdXNl
ZEVsZW1lbnQpICYmIGRvd25jYXN0PEhUTUxJbWFnZUVsZW1lbnQ+KCptX2ZvY3VzZWRFbGVtZW50
KS5oYXNFZGl0YWJsZUltYWdlQXR0cmlidXRlKCkpIHsKKyAgICB9IGVsc2UgaWYgKGlzPEhUTUxJ
bWFnZUVsZW1lbnQ+KCptX2ZvY3VzZWRFbGVtZW50Rm9yVXNlcklucHV0KSAmJiBkb3duY2FzdDxI
VE1MSW1hZ2VFbGVtZW50PigqbV9mb2N1c2VkRWxlbWVudEZvclVzZXJJbnB1dCkuaGFzRWRpdGFi
bGVJbWFnZUF0dHJpYnV0ZSgpKSB7CiAgICAgICAgIGluZm9ybWF0aW9uLmVsZW1lbnRUeXBlID0g
SW5wdXRUeXBlOjpEcmF3aW5nOwotICAgICAgICBpbmZvcm1hdGlvbi5lbWJlZGRlZFZpZXdJRCA9
IGRvd25jYXN0PEhUTUxJbWFnZUVsZW1lbnQ+KCptX2ZvY3VzZWRFbGVtZW50KS5lZGl0YWJsZUlt
YWdlVmlld0lEKCk7Ci0gICAgfSBlbHNlIGlmIChtX2ZvY3VzZWRFbGVtZW50LT5oYXNFZGl0YWJs
ZVN0eWxlKCkpIHsKKyAgICAgICAgaW5mb3JtYXRpb24uZW1iZWRkZWRWaWV3SUQgPSBkb3duY2Fz
dDxIVE1MSW1hZ2VFbGVtZW50PigqbV9mb2N1c2VkRWxlbWVudEZvclVzZXJJbnB1dCkuZWRpdGFi
bGVJbWFnZVZpZXdJRCgpOworICAgIH0gZWxzZSBpZiAobV9mb2N1c2VkRWxlbWVudEZvclVzZXJJ
bnB1dC0+aGFzRWRpdGFibGVTdHlsZSgpKSB7CiAgICAgICAgIGluZm9ybWF0aW9uLmVsZW1lbnRU
eXBlID0gSW5wdXRUeXBlOjpDb250ZW50RWRpdGFibGU7Ci0gICAgICAgIGlmIChpczxIVE1MRWxl
bWVudD4oKm1fZm9jdXNlZEVsZW1lbnQpKSB7Ci0gICAgICAgICAgICBhdXRvJiBmb2N1c2VkRWxl
bWVudCA9IGRvd25jYXN0PEhUTUxFbGVtZW50PigqbV9mb2N1c2VkRWxlbWVudCk7CisgICAgICAg
IGlmIChpczxIVE1MRWxlbWVudD4oKm1fZm9jdXNlZEVsZW1lbnRGb3JVc2VySW5wdXQpKSB7Cisg
ICAgICAgICAgICBhdXRvJiBmb2N1c2VkRWxlbWVudCA9IGRvd25jYXN0PEhUTUxFbGVtZW50Pigq
bV9mb2N1c2VkRWxlbWVudEZvclVzZXJJbnB1dCk7CiAgICAgICAgICAgICBpbmZvcm1hdGlvbi5p
c0F1dG9jb3JyZWN0ID0gZm9jdXNlZEVsZW1lbnQuc2hvdWxkQXV0b2NvcnJlY3QoKTsKICAgICAg
ICAgICAgIGluZm9ybWF0aW9uLmF1dG9jYXBpdGFsaXplVHlwZSA9IGZvY3VzZWRFbGVtZW50LmF1
dG9jYXBpdGFsaXplVHlwZSgpOwogICAgICAgICAgICAgaW5mb3JtYXRpb24uaW5wdXRNb2RlID0g
Zm9jdXNlZEVsZW1lbnQuY2Fub25pY2FsSW5wdXRNb2RlKCk7CkBAIC0yNzE4LDggKzI3MTgsOCBA
QCB2b2lkIFdlYlBhZ2U6OmdldEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24oRm9jdXNlZEVsZW1l
bnRJbmZvcm1hdGlvbiYgaW5mb3JtYXRpbwogCiB2b2lkIFdlYlBhZ2U6OmF1dG9maWxsTG9naW5D
cmVkZW50aWFscyhjb25zdCBTdHJpbmcmIHVzZXJuYW1lLCBjb25zdCBTdHJpbmcmIHBhc3N3b3Jk
KQogewotICAgIGlmIChpczxIVE1MSW5wdXRFbGVtZW50PihtX2ZvY3VzZWRFbGVtZW50LmdldCgp
KSkgewotICAgICAgICBpZiAoYXV0byBhdXRvZmlsbEVsZW1lbnRzID0gQXV0b2ZpbGxFbGVtZW50
czo6Y29tcHV0ZUF1dG9maWxsRWxlbWVudHMoZG93bmNhc3Q8SFRNTElucHV0RWxlbWVudD4oKm1f
Zm9jdXNlZEVsZW1lbnQpKSkKKyAgICBpZiAoaXM8SFRNTElucHV0RWxlbWVudD4obV9mb2N1c2Vk
RWxlbWVudEZvclVzZXJJbnB1dC5nZXQoKSkpIHsKKyAgICAgICAgaWYgKGF1dG8gYXV0b2ZpbGxF
bGVtZW50cyA9IEF1dG9maWxsRWxlbWVudHM6OmNvbXB1dGVBdXRvZmlsbEVsZW1lbnRzKGRvd25j
YXN0PEhUTUxJbnB1dEVsZW1lbnQ+KCptX2ZvY3VzZWRFbGVtZW50Rm9yVXNlcklucHV0KSkpCiAg
ICAgICAgICAgICBhdXRvZmlsbEVsZW1lbnRzLT5hdXRvZmlsbCh1c2VybmFtZSwgcGFzc3dvcmQp
OwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCAwNDQ3MzE4NGU2MGZjNDA3YjBiNjg0MDMyYjMxNTc4ZDUyNGNh
ZGE3Li4wZGUzNTk0ZDJhNGYyYjliOTE5YmM0MTdmMzJjZWQ5NmIwYTQzMDBjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMTktMDMtMzAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CisKKyAgICAgICAgW2lPU10gQ3Jhc2ggd2hlbiBjaGFuZ2luZyBpbnB1dG1vZGUgZm9y
IGNlcnRhaW4gdHlwZXMgb2YgZm9jdXNhYmxlIGVsZW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY0MzEKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzQ5NDU0OTYyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBhIGxheW91dCB0ZXN0IHRoYXQgZXhlcmNpc2VzIHRoZSBlZGdlIGNhc2U7IHNl
ZSBXZWJLaXQgQ2hhbmdlTG9ncyBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgICogZmFzdC9m
b3Jtcy9jaGFuZ2UtaW5wdXRtb2RlLWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9mb3Jtcy9jaGFuZ2UtaW5wdXRtb2RlLWNyYXNoLmh0bWw6IEFkZGVkLgorCiAyMDE5
LTAzLTI3ICBTaGF3biBSb2JlcnRzICA8c3JvYmVydHNAYXBwbGUuY29tPgogCiAgICAgICAgIFRo
ZSBmb2xsb3dpbmcgbGF5b3V0IHRlc3RzIGFyZSBmbGFreSBJbWFnZSBPbmx5IEZhaWx1cmVzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2NoYW5nZS1pbnB1dG1vZGUtY3Jhc2gt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGFuZ2UtaW5wdXRtb2RlLWNy
YXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MjVmNzAyOWQ2ZTA0OGNmMmU5YmRkOWQzYjQy
NWQxZTcwNmViNmFjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9j
aGFuZ2UtaW5wdXRtb2RlLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCBjaGFuZ2luZyB0aGUgaW5wdXRtb2RlIGF0dHJpYnV0ZSBhZnRl
ciBjaGFuZ2luZyBmb2N1cyBkb2VzIG5vdCBjYXVzZSBhIGNyYXNoLiBUbyBtYW51YWxseSBydW4g
dGhlIHRlc3QsIGxvYWQgdGhlIHBhZ2UgYW5kIHZlcmlmeSB0aGF0IGEgY3Jhc2ggZG9lcyBub3Qg
b2NjdXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGRvY3VtZW50LmFj
dGl2ZUVsZW1lbnQgaXMgdGFyZ2V0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGFu
Z2UtaW5wdXRtb2RlLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2NoYW5nZS1p
bnB1dG1vZGUtY3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NjRlZDQwN2ZiOGYwMGYyNWEyMTI2Y2Nh
NzhjMGRiZTNkZGY2ZmYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9jaGFuZ2UtaW5wdXRtb2RlLWNyYXNoLmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNwYW4gaWQ9InRhcmdldCIgdGFi
aW5kZXg9IjAiIHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7Ij48L3NwYW4+Cis8
c2NyaXB0PgorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IGNoYW5naW5nIHRo
ZSBpbnB1dG1vZGUgYXR0cmlidXRlIGFmdGVyIGNoYW5naW5nIGZvY3VzIGRvZXMgbm90IGNhdXNl
IGEgY3Jhc2guIFRvIG1hbnVhbGx5IHJ1biB0aGUgdGVzdCwgbG9hZCB0aGUgcGFnZSBhbmQgdmVy
aWZ5IHRoYXQgYSBjcmFzaCBkb2VzIG5vdCBvY2N1ci4iKTsKKwordGFyZ2V0ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInRhcmdldCIpOwordGFyZ2V0LmZvY3VzKCk7Cit0YXJnZXQuc2V0QXR0
cmlidXRlKCJpbnB1dG1vZGUiLCAidXJsIik7CitzaG91bGRCZSgiZG9jdW1lbnQuYWN0aXZlRWxl
bWVudCIsICJ0YXJnZXQiKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="382745"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>366378</attachid>
            <date>2019-03-31 12:35:50 -0700</date>
            <delta_ts>2019-03-31 13:01:50 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-196431-20190331123549.patch</filename>
            <type>text/plain</type>
            <size>6708</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzNTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGEwYTU4YTU3MTg4Mjk4NDlm
ZWI1OGMwYjE5ZjgwOWRlZGUzMWJlYjkuLjY3NDk5MjVlZmVjNjkyOGMwYjFhYjRjZDkwNGJhYmVj
MTgzYjBlOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTktMDMtMzEgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gQ3Jhc2ggd2hl
biBjaGFuZ2luZyBpbnB1dG1vZGUgZm9yIGNlcnRhaW4gdHlwZXMgb2YgZm9jdXNhYmxlIGVsZW1l
bnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY0
MzEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5NDU0OTYyPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgVGhlIGNyYXNoIGlzIGhhcHBlbmluZyBiZWNhdXNl
IFdlYlBhZ2U6OmZvY3VzZWRFbGVtZW50RGlkQ2hhbmdlSW5wdXRNb2RlIGFzc3VtZXMgdGhhdCB0
aGUgZG9jdW1lbnQncyBmb2N1c2VkCisgICAgICAgIGVsZW1lbnQgbXVzdCBiZSB0aGUgc2FtZSBh
cyBtX2ZvY3VzZWRFbGVtZW50IGluIFdlYlBhZ2UuIEhvd2V2ZXIsIHRoaXMgaXMgbm90IHRoZSBj
YXNlLCBzaW5jZSBtX2ZvY3VzZWRFbGVtZW50CisgICAgICAgIGlzIG9ubHkgc2V0IGZvciBjZXJ0
YWluIHR5cGVzIG9mIGVsZW1lbnRzIHRoYXQgcmVxdWlyZSB1c2VyIGlucHV0IChlLmcuIHRleHQg
ZmllbGRzLCBlZGl0YWJsZSBjb250ZW50LCBzZWxlY3QKKyAgICAgICAgbWVudXMsIGV0Yy4pLiBU
aGUgZnVuY3Rpb24gdGhlbiBhdHRlbXB0cyB0byBkZXJlZmVyZW5jZSBtX2ZvY3VzZWRFbGVtZW50
LCB3aGljaCBtYXkgYmUgbnVsbCBpZiB0aGUgZG9jdW1lbnQncworICAgICAgICBmb2N1c2VkIGVs
ZW1lbnQgZG9lc24ndCBmYWxsIGludG8gb25lIG9mIHRoZSBhZm9yZW1lbnRpb25lZCBjYXRlZ29y
aWVzLgorCisgICAgICAgIFRvIGZpeCB0aGlzLCBiYWlsIGlmIHRoZSBlbGVtZW50IHRoYXQgaXMg
Y2hhbmdpbmcgaW5wdXRtb2RlIGlzIG5vdCBlcXVhbCB0byB0aGUgV2ViUGFnZSdzIGN1cnJlbnQg
Zm9jdXNlZAorICAgICAgICBlbGVtZW50LiBTZWUgYmVsb3cgZm9yIG1vcmUgZGV0YWlscy4KKwor
ICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL2NoYW5nZS1pbnB1dG1vZGUtY3Jhc2guaHRtbAorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0
Ojppc1RleHRGb3JtQ29udHJvbE9yRWRpdGFibGVDb250ZW50KToKKworICAgICAgICBDbGVhbiB1
cCBzb21lIGV4aXN0aW5nIGxvZ2ljIGJ5IGludHJvZHVjaW5nIGEgaGVscGVyIG1ldGhvZCBmb3Ig
ZGV0ZXJtaW5pbmcgd2hldGhlciBhbiBlbGVtZW50IHNob3VsZAorICAgICAgICBwcm9wYWdhdGUg
aW5wdXRtb2RlIGF0dHJpYnV0ZSBjaGFuZ2VzIHRvIHRoZSBVSSBwcm9jZXNzLiBBbHNvLCBjaGVj
ayB0aGUgZWxlbWVudCB0eXBlIHVzaW5nIHR5cGUgdHJhaXRzIGluc3RlYWQKKyAgICAgICAgb2Yg
Y2hlY2tpbmcgYWdhaW5zdCB0aGUgdGFnIG5hbWUuCisKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6ZWxlbWVudERpZEZvY3VzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Zm9jdXNlZEVs
ZW1lbnREaWRDaGFuZ2VJbnB1dE1vZGUpOgorCiAyMDE5LTAzLTI3ICBXZW5zb24gSHNpZWggIDx3
ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIE5lZWQgYSB3YXkgdG8gaW5jbHVkZSBX
ZWJLaXRBZGRpdGlvbnMgY29kZSBpbiBXZWJLaXQgQVBJIGhlYWRlcnMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggYTdjZjE4ZTZlZWRkMWRjNzM3
ODI4NmUwZTNjMDFkNmYwYmE1Mjg2My4uNmQ5NmYyZjUyMzZmMTU4OGZjNTQxOTEzMjBiOGRjMjFl
YzBjNTBkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKQEAgLTE3Myw3ICsxNzMsOSBAQAogI2luY2x1ZGUgPFdlYkNvcmUvSFRNTE9MaXN0RWxlbWVu
dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSFRNTFBsdWdJbkVsZW1lbnQuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0hUTUxT
ZWxlY3RFbGVtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9IVE1MVGV4dEFyZWFFbGVtZW50Lmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvSFRNTFVMaXN0RWxlbWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSGlzdG9y
eUNvbnRyb2xsZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hpc3RvcnlJdGVtLmg+CkBAIC01MzQ0
LDYgKzUzNDYsMTEgQEAgYm9vbCBXZWJQYWdlOjpzaG91bGREaXNwYXRjaFVwZGF0ZUFmdGVyRm9j
dXNpbmdFbGVtZW50KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpIGMKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAorc3RhdGljIGJvb2wgaXNUZXh0Rm9ybUNvbnRyb2xPckVkaXRhYmxlQ29udGVudChjb25z
dCBXZWJDb3JlOjpFbGVtZW50JiBlbGVtZW50KQoreworICAgIHJldHVybiBpczxIVE1MVGV4dEZv
cm1Db250cm9sRWxlbWVudD4oZWxlbWVudCkgfHwgZWxlbWVudC5oYXNFZGl0YWJsZVN0eWxlKCk7
Cit9CisKIHZvaWQgV2ViUGFnZTo6ZWxlbWVudERpZEZvY3VzKFdlYkNvcmU6OkVsZW1lbnQmIGVs
ZW1lbnQpCiB7CiAgICAgaWYgKCFzaG91bGREaXNwYXRjaFVwZGF0ZUFmdGVyRm9jdXNpbmdFbGVt
ZW50KGVsZW1lbnQpKSB7CkBAIC01MzUyLDcgKzUzNTksNyBAQCB2b2lkIFdlYlBhZ2U6OmVsZW1l
bnREaWRGb2N1cyhXZWJDb3JlOjpFbGVtZW50JiBlbGVtZW50KQogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0gICAgaWYgKGVsZW1lbnQuaGFzVGFnTmFtZShXZWJDb3JlOjpIVE1MTmFtZXM6OnNl
bGVjdFRhZykgfHwgZWxlbWVudC5oYXNUYWdOYW1lKFdlYkNvcmU6OkhUTUxOYW1lczo6aW5wdXRU
YWcpIHx8IGVsZW1lbnQuaGFzVGFnTmFtZShXZWJDb3JlOjpIVE1MTmFtZXM6OnRleHRhcmVhVGFn
KSB8fCBlbGVtZW50Lmhhc0VkaXRhYmxlU3R5bGUoKSkgeworICAgIGlmIChpczxIVE1MU2VsZWN0
RWxlbWVudD4oZWxlbWVudCkgfHwgaXNUZXh0Rm9ybUNvbnRyb2xPckVkaXRhYmxlQ29udGVudChl
bGVtZW50KSkgewogICAgICAgICBtX2ZvY3VzZWRFbGVtZW50ID0gJmVsZW1lbnQ7CiAKICNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQpAQCAtNTM5OCwxNyArNTQwNSwxOCBAQCB2b2lkIFdlYlBhZ2U6
OmVsZW1lbnREaWRCbHVyKFdlYkNvcmU6OkVsZW1lbnQmIGVsZW1lbnQpCiAKIHZvaWQgV2ViUGFn
ZTo6Zm9jdXNlZEVsZW1lbnREaWRDaGFuZ2VJbnB1dE1vZGUoV2ViQ29yZTo6RWxlbWVudCYgZWxl
bWVudCwgV2ViQ29yZTo6SW5wdXRNb2RlIG1vZGUpCiB7CisgICAgaWYgKG1fZm9jdXNlZEVsZW1l
bnQgIT0gJmVsZW1lbnQpCisgICAgICAgIHJldHVybjsKKwogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCi0gICAgQVNTRVJUKG1fZm9jdXNlZEVsZW1lbnQgPT0gJmVsZW1lbnQpOwogICAgIEFTU0VS
VChpczxIVE1MRWxlbWVudD4oZWxlbWVudCkpOwogICAgIEFTU0VSVChkb3duY2FzdDxIVE1MRWxl
bWVudD4oZWxlbWVudCkuY2Fub25pY2FsSW5wdXRNb2RlKCkgPT0gbW9kZSk7CiAKLSAgICBpZiAo
IWlzPEhUTUxUZXh0QXJlYUVsZW1lbnQ+KCptX2ZvY3VzZWRFbGVtZW50KSAmJiAhaXM8SFRNTElu
cHV0RWxlbWVudD4oKm1fZm9jdXNlZEVsZW1lbnQpICYmICFtX2ZvY3VzZWRFbGVtZW50LT5oYXNF
ZGl0YWJsZVN0eWxlKCkpCisgICAgaWYgKCFpc1RleHRGb3JtQ29udHJvbE9yRWRpdGFibGVDb250
ZW50KGVsZW1lbnQpKQogICAgICAgICByZXR1cm47CiAKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlUHJveHk6OkZvY3VzZWRFbGVtZW50RGlkQ2hhbmdlSW5wdXRNb2RlKG1vZGUpKTsKICNlbHNl
Ci0gICAgVU5VU0VEX1BBUkFNKGVsZW1lbnQpOwogICAgIFVOVVNFRF9QQVJBTShtb2RlKTsKICNl
bmRpZgogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDA0NDczMTg0ZTYwZmM0MDdiMGI2ODQwMzJiMzE1NzhkNTI0Y2FkYTcu
LjIwZmJhZDdkNTMyZGUwMWE4YzNjYjJhZWJmYjk0M2U1YWY2NjE3ZjIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAxOS0wMy0zMSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4KKworICAgICAgICBbaU9TXSBDcmFzaCB3aGVuIGNoYW5naW5nIGlucHV0bW9kZSBmb3IgY2Vy
dGFpbiB0eXBlcyBvZiBmb2N1c2FibGUgZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NjQzMQorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NDk0NTQ5NjI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBB
ZGQgYSBsYXlvdXQgdGVzdCB0aGF0IGV4ZXJjaXNlcyB0aGUgZWRnZSBjYXNlOyBzZWUgV2ViS2l0
IENoYW5nZUxvZ3MgZm9yIG1vcmUgZGV0YWlscy4KKworICAgICAgICAqIGZhc3QvZm9ybXMvY2hh
bmdlLWlucHV0bW9kZS1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
Zm9ybXMvY2hhbmdlLWlucHV0bW9kZS1jcmFzaC5odG1sOiBBZGRlZC4KKwogMjAxOS0wMy0yNyAg
U2hhd24gUm9iZXJ0cyAgPHNyb2JlcnRzQGFwcGxlLmNvbT4KIAogICAgICAgICBUaGUgZm9sbG93
aW5nIGxheW91dCB0ZXN0cyBhcmUgZmxha3kgSW1hZ2UgT25seSBGYWlsdXJlcwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGFuZ2UtaW5wdXRtb2RlLWNyYXNoLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY2hhbmdlLWlucHV0bW9kZS1jcmFzaC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOTI1ZjcwMjlkNmUwNDhjZjJlOWJkZDlkM2I0MjVkMWU3MDZl
YjZhYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY2hhbmdlLWlu
cHV0bW9kZS1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgY2hhbmdpbmcgdGhlIGlucHV0bW9kZSBhdHRyaWJ1dGUgYWZ0ZXIgY2hhbmdp
bmcgZm9jdXMgZG9lcyBub3QgY2F1c2UgYSBjcmFzaC4gVG8gbWFudWFsbHkgcnVuIHRoZSB0ZXN0
LCBsb2FkIHRoZSBwYWdlIGFuZCB2ZXJpZnkgdGhhdCBhIGNyYXNoIGRvZXMgbm90IG9jY3VyLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVt
ZW50IGlzIHRhcmdldAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY2hhbmdlLWlucHV0
bW9kZS1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9jaGFuZ2UtaW5wdXRtb2Rl
LWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjY0ZWQ0MDdmYjhmMDBmMjVhMjEyNmNjYTc4YzBkYmUz
ZGRmNmZmMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvY2hhbmdl
LWlucHV0bW9kZS1jcmFzaC5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzcGFuIGlkPSJ0YXJnZXQiIHRhYmluZGV4PSIw
IiBzdHlsZT0id2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyI+PC9zcGFuPgorPHNjcmlwdD4K
K2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBjaGFuZ2luZyB0aGUgaW5wdXRt
b2RlIGF0dHJpYnV0ZSBhZnRlciBjaGFuZ2luZyBmb2N1cyBkb2VzIG5vdCBjYXVzZSBhIGNyYXNo
LiBUbyBtYW51YWxseSBydW4gdGhlIHRlc3QsIGxvYWQgdGhlIHBhZ2UgYW5kIHZlcmlmeSB0aGF0
IGEgY3Jhc2ggZG9lcyBub3Qgb2NjdXIuIik7CisKK3RhcmdldCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0YXJnZXQiKTsKK3RhcmdldC5mb2N1cygpOwordGFyZ2V0LnNldEF0dHJpYnV0ZSgi
aW5wdXRtb2RlIiwgInVybCIpOworc2hvdWxkQmUoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQiLCAi
dGFyZ2V0Iik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>