<?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>173636</bug_id>
          
          <creation_ts>2017-06-20 21:10:15 -0700</creation_ts>
          <short_desc>[iOS DnD] [WK2] Add drag-and-drop release logging around WKContentView</short_desc>
          <delta_ts>2017-06-21 18:25:29 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>aestes</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1321396</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-06-20 21:10:15 -0700</bug_when>
    <thetext>Adding RELEASE_LOGs to key points in the drag-and-drop lifecycle will make sysdiagnoses actually contain useful information for debugging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321397</commentid>
    <comment_count>1</comment_count>
      <attachid>313484</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-06-20 21:13:38 -0700</bug_when>
    <thetext>Created attachment 313484
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321414</commentid>
    <comment_count>2</comment_count>
      <attachid>313493</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-06-20 23:08:39 -0700</bug_when>
    <thetext>Created attachment 313493
Add logging in one more spot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321552</commentid>
    <comment_count>3</comment_count>
      <attachid>313493</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-06-21 10:57:30 -0700</bug_when>
    <thetext>Comment on attachment 313493
Add logging in one more spot.

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

&gt; Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:4518
&gt; +            RELEASE_LOG(DragAndDrop, &quot;Drag session failed: %p (no draggable content at %s)&quot;, session, NSStringFromCGPoint(dragOrigin).UTF8String);

Building an NSString just to print things? Why not just print the components?

&gt; Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:4531
&gt; +        RELEASE_LOG(DragAndDrop, &quot;Drag session requested: %p at element bounds: %s&quot;, session, NSStringFromCGRect(state.elementBounds).UTF8String);

And again

&gt; Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:4721
&gt; +        RELEASE_LOG(DragAndDrop, &quot;Loaded data at %tu files&quot;, fileURLs.count);

*at*?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321556</commentid>
    <comment_count>4</comment_count>
      <attachid>313493</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-06-21 11:00:19 -0700</bug_when>
    <thetext>Comment on attachment 313493
Add logging in one more spot.

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

Thanks!

&gt;&gt; Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:4518
&gt;&gt; +            RELEASE_LOG(DragAndDrop, &quot;Drag session failed: %p (no draggable content at %s)&quot;, session, NSStringFromCGPoint(dragOrigin).UTF8String);
&gt; 
&gt; Building an NSString just to print things? Why not just print the components?

Sounds good -- I&apos;ll log the CGPoint x/y directly.

&gt;&gt; Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:4531
&gt;&gt; +        RELEASE_LOG(DragAndDrop, &quot;Drag session requested: %p at element bounds: %s&quot;, session, NSStringFromCGRect(state.elementBounds).UTF8String);
&gt; 
&gt; And again

👍

&gt;&gt; Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:4721
&gt;&gt; +        RELEASE_LOG(DragAndDrop, &quot;Loaded data at %tu files&quot;, fileURLs.count);
&gt; 
&gt; *at*?

I suppose &quot;into&quot; would be more fitting here -- fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321561</commentid>
    <comment_count>5</comment_count>
      <attachid>313534</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-06-21 11:15:08 -0700</bug_when>
    <thetext>Created attachment 313534
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321576</commentid>
    <comment_count>6</comment_count>
      <attachid>313534</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-21 11:54:48 -0700</bug_when>
    <thetext>Comment on attachment 313534
Patch for landing

Clearing flags on attachment: 313534

Committed r218642: &lt;http://trac.webkit.org/changeset/218642&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313484</attachid>
            <date>2017-06-20 21:13:38 -0700</date>
            <delta_ts>2017-06-20 23:08:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173636-20170620211338.patch</filename>
            <type>text/plain</type>
            <size>11310</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNDA5MDhmYjZiNTJmMDk3
ZWJmOGJiZWE5OTgzNDM0ZWE3OWMwNWFmNy4uZWI4OGUxZTU4ZDJjMjI0MTI0NzllMjZiZDUxOTBi
YjUxYmE2YWI1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI5IEBACiAyMDE3LTA2LTIwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCisgICAgICAgIFtpT1MgRG5EXSBb
V0syXSBBZGQgZHJhZy1hbmQtZHJvcCByZWxlYXNlIGxvZ2dpbmcgYXJvdW5kIFdLQ29udGVudFZp
ZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzYz
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBs
b2dnaW5nIGF0IGtleSBwb2ludHMgaW4gdGhlIGRyYWctYW5kLWRyb3AgbGlmZWN5Y2xlIGluIHRo
ZSBVSSBwcm9jZXNzLCBzbyB0aGF0IHN5c2RpYWdub3NlcyB3aWxsIGNvbnRhaW4KKyAgICAgICAg
c3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byBkZWJ1ZyBzcGFyc2UgZmFpbHVyZXMuCisKKyAgICAg
ICAgKiBQbGF0Zm9ybS9Mb2dnaW5nLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgY2xlYW5VcERy
YWdTb3VyY2VTZXNzaW9uU3RhdGVdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfZGlkUGVy
Zm9ybURhdGFJbnRlcmFjdGlvbkNvbnRyb2xsZXJPcGVyYXRpb246XSk6CisgICAgICAgICgtW1dL
Q29udGVudFZpZXcgX2RyYWdJbnRlcmFjdGlvbjpwcmVwYXJlRm9yU2Vzc2lvbjpjb21wbGV0aW9u
Ol0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGRyYWdJbnRlcmFjdGlvbjppdGVtc0ZvckJl
Z2lubmluZ1Nlc3Npb246XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgZHJhZ0ludGVyYWN0
aW9uOnNlc3Npb25XaWxsQmVnaW46XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2FwaV9k
cmFnSW50ZXJhY3Rpb246c2Vzc2lvbjpkaWRFbmRXaXRoT3BlcmF0aW9uOl0pOgorICAgICAgICAo
LVtXS0NvbnRlbnRWaWV3IGRyb3BJbnRlcmFjdGlvbjpjYW5IYW5kbGVTZXNzaW9uOl0pOgorICAg
ICAgICAoLVtXS0NvbnRlbnRWaWV3IF9hcGlfZHJvcEludGVyYWN0aW9uOnNlc3Npb25EaWRFbnRl
cjpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBkcm9wSW50ZXJhY3Rpb246c2Vzc2lvbkRp
ZEV4aXQ6XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgZHJvcEludGVyYWN0aW9uOnBlcmZv
cm1Ecm9wOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGRyb3BJbnRlcmFjdGlvbjpzZXNz
aW9uRGlkRW5kOl0pOgorCisyMDE3LTA2LTIwICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgorCiAgICAgICAgIFtpT1MgRG5EXSBbV0syXSBSZW1vdmUgY3VzdG9tIGxvZ2lj
IGZvciBkaXNhbWJpZ3VhdGluZyBsb25nIHByZXNzIGFjdGlvbiBzaGVldCBnZXN0dXJlcyBhbmQg
ZHJhZyBsaWZ0CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzM1NzgKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMyODI1MDI4PgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vTG9nZ2luZy5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vTG9nZ2luZy5oCmluZGV4IGI0Nzc1NmNiYzE4ZDRmZWU0ZjhlZWUzN2MxOGRiODViZjlhODM5
NmQuLmI2YWU4ZDc3MmM5OGJmMjZiNjRlMzFkNDM0M2Q5NmZkNzlmZGRkNGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0xvZ2dpbmcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9Mb2dnaW5nLmgKQEAgLTQyLDYgKzQyLDcgQEAgZXh0ZXJuICJDIiB7CiAKICNkZWZp
bmUgV0VCS0lUMl9MT0dfQ0hBTk5FTFMoTSkgXAogICAgIE0oQ29udGV4dE1lbnUpIFwKKyAgICBN
KERyYWdBbmREcm9wKSBcCiAgICAgTShHYW1lcGFkKSBcCiAgICAgTShJY29uRGF0YWJhc2UpIFwK
ICAgICBNKElEQikgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9X
S0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCAzNGRmNjAyNjdmNjQ4NGZmODkyYzhl
MzBkODVhNjY4MjdmYTgwMjYxLi4wN2NiMzIyNzFlOGI3ZjA1ZWRkNWEwMTliMmNiNGRkMTE1ZWZk
YmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29u
dGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtNDM0Nyw2ICs0MzQ3LDcgQEAgLSAoRHJhZ0RhdGEp
ZHJhZ0RhdGFGb3JEcm9wU2Vzc2lvbjooaWQgPFVJRHJvcFNlc3Npb24+KXNlc3Npb24gZHJhZ0Rl
c3RpbmF0aW9uQWMKIAogLSAodm9pZCljbGVhblVwRHJhZ1NvdXJjZVNlc3Npb25TdGF0ZQogewor
ICAgIFJFTEVBU0VfTE9HKERyYWdBbmREcm9wLCAiQ2xlYW5pbmcgdXAgZHJhZ2dpbmcgc3RhdGUg
KGhhcyBwZW5kaW5nIG9wZXJhdGlvbjogJWQpIiwgW1tXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJk
IHNoYXJlZEluc3RhbmNlXSBoYXNQZW5kaW5nT3BlcmF0aW9uXSk7CiAgICAgaWYgKCFbW1dlYkl0
ZW1Qcm92aWRlclBhc3RlYm9hcmQgc2hhcmVkSW5zdGFuY2VdIGhhc1BlbmRpbmdPcGVyYXRpb25d
KSB7CiAgICAgICAgIC8vIElmIHdlJ3JlIHBlcmZvcm1pbmcgYSBkcmFnIG9wZXJhdGlvbiwgZG9u
J3QgY2xlYXIgb3V0IHRoZSBwYXN0ZWJvYXJkIHlldCwgc2luY2UgYW5vdGhlciB3ZWIgdmlldyBt
YXkgc3RpbGwgcmVxdWlyZSBhY2Nlc3MgdG8gaXQuCiAgICAgICAgIC8vIFRoZSBwYXN0ZWJvYXJk
IHdpbGwgYmUgY2xlYXJlZCBhZnRlciB0aGUgbGFzdCBjbGllbnQgaXMgZmluaXNoZWQgcGVyZm9y
bWluZyBhIGRyYWcgb3BlcmF0aW9uIHVzaW5nIHRoZSBpdGVtIHByb3ZpZGVycy4KQEAgLTQ0MTgs
NiArNDQxOSw3IEBAIC0gKHZvaWQpX2RpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbjooc3Rk
OjpvcHRpb25hbDxUZXh0SW5kaWNhdG9yRGF0YT4pZGF0YQogCiAtICh2b2lkKV9kaWRQZXJmb3Jt
RGF0YUludGVyYWN0aW9uQ29udHJvbGxlck9wZXJhdGlvbjooQk9PTCloYW5kbGVkCiB7CisgICAg
UkVMRUFTRV9MT0coRHJhZ0FuZERyb3AsICJGaW5pc2hlZCBwZXJmb3JtaW5nIGRyYWcgY29udHJv
bGxlciBvcGVyYXRpb24gKGhhbmRsZWQ6ICVkKSIsIGhhbmRsZWQpOwogICAgIFtbV2ViSXRlbVBy
b3ZpZGVyUGFzdGVib2FyZCBzaGFyZWRJbnN0YW5jZV0gZGVjcmVtZW50UGVuZGluZ09wZXJhdGlv
bkNvdW50XTsKICAgICBSZXRhaW5QdHI8aWQgPFVJRHJvcFNlc3Npb24+PiBkcm9wU2Vzc2lvbiA9
IF9kYXRhSW50ZXJhY3Rpb25TdGF0ZS5kcm9wU2Vzc2lvbjsKICAgICBpZiAoW3NlbGYud2ViVmll
d1VJRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpkYXRhSW50
ZXJhY3Rpb25PcGVyYXRpb25XYXNIYW5kbGVkOmZvclNlc3Npb246aXRlbVByb3ZpZGVyczopXSkK
QEAgLTQ0OTcsOCArNDQ5OSwxMCBAQCAtIChpZCA8VUlEcmFnRHJvcFNlc3Npb24+KWN1cnJlbnRE
cmFnT3JEcm9wU2Vzc2lvbgogCiAtICh2b2lkKV9kcmFnSW50ZXJhY3Rpb246KFVJRHJhZ0ludGVy
YWN0aW9uICopaW50ZXJhY3Rpb24gcHJlcGFyZUZvclNlc3Npb246KGlkIDxVSURyYWdTZXNzaW9u
PilzZXNzaW9uIGNvbXBsZXRpb246KGRpc3BhdGNoX2Jsb2NrX3QpY29tcGxldGlvbgogeworICAg
IFJFTEVBU0VfTE9HKERyYWdBbmREcm9wLCAiUHJlcGFyaW5nIGZvciBkcmFnIHNlc3Npb246ICVw
Iiwgc2Vzc2lvbik7CiAgICAgaWYgKHNlbGYuY3VycmVudERyYWdPckRyb3BTZXNzaW9uKSB7CiAg
ICAgICAgIC8vIEZJWE1FOiBTdXBwb3J0IG11bHRpcGxlIHNpbXVsdGFuZW91cyBkcmFnIHNlc3Np
b25zIGluIHRoZSBmdXR1cmUuCisgICAgICAgIFJFTEVBU0VfTE9HKERyYWdBbmREcm9wLCAiRHJh
ZyBzZXNzaW9uIGZhaWxlZDogJXAgKGEgY3VycmVudCBkcmFnIHNlc3Npb24gYWxyZWFkeSBleGlz
dHMpIiwgc2Vzc2lvbik7CiAgICAgICAgIGNvbXBsZXRpb24oKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KQEAgLTQ1MTAsNiArNDUxNCw3IEBAIC0gKHZvaWQpX2RyYWdJbnRlcmFjdGlvbjooVUlE
cmFnSW50ZXJhY3Rpb24gKilpbnRlcmFjdGlvbiBwcmVwYXJlRm9yU2Vzc2lvbjooaWQKIAogICAg
IFtzZWxmIGRvQWZ0ZXJQb3NpdGlvbkluZm9ybWF0aW9uVXBkYXRlOltyZXRhaW5lZFNlbGYsIHNl
c3Npb24sIGRyYWdPcmlnaW4sIGNhcHR1cmVkQmxvY2sgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlv
bildIChJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbiBwb3NpdGlvbkluZm9ybWF0aW9u
KSB7CiAgICAgICAgIGlmICghcG9zaXRpb25JbmZvcm1hdGlvbk1heVN0YXJ0RGF0YUludGVyYWN0
aW9uKHBvc2l0aW9uSW5mb3JtYXRpb24pKSB7CisgICAgICAgICAgICBSRUxFQVNFX0xPRyhEcmFn
QW5kRHJvcCwgIkRyYWcgc2Vzc2lvbiBmYWlsZWQ6ICVwIChubyBkcmFnZ2FibGUgY29udGVudCBh
dCAlcykiLCBzZXNzaW9uLCBOU1N0cmluZ0Zyb21DR1BvaW50KGRyYWdPcmlnaW4pLlVURjhTdHJp
bmcpOwogICAgICAgICAgICAgY2FwdHVyZWRCbG9jaygpOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CkBAIC00NTIyLDE4ICs0NTI3LDIzIEBAIC0gKHZvaWQpX2RyYWdJbnRlcmFjdGlv
bjooVUlEcmFnSW50ZXJhY3Rpb24gKilpbnRlcmFjdGlvbiBwcmVwYXJlRm9yU2Vzc2lvbjooaWQK
ICAgICAgICAgc3RhdGUubGlua1VSTCA9IHJldGFpbmVkU2VsZi0+X3Bvc2l0aW9uSW5mb3JtYXRp
b24udXJsOwogICAgICAgICBzdGF0ZS5kcmFnU2Vzc2lvbiA9IHNlc3Npb247CiAgICAgICAgIHJl
dGFpbmVkU2VsZi0+X3BhZ2UtPnJlcXVlc3RTdGFydERhdGFJbnRlcmFjdGlvbihyb3VuZGVkSW50
UG9pbnQoc3RhdGUuYWRqdXN0ZWRPcmlnaW4pLCByb3VuZGVkSW50UG9pbnQoW3JldGFpbmVkU2Vs
ZiBjb252ZXJ0UG9pbnQ6c3RhdGUuYWRqdXN0ZWRPcmlnaW4gdG9WaWV3OltyZXRhaW5lZFNlbGYg
d2luZG93XV0pKTsKKyAgICAgICAgUkVMRUFTRV9MT0coRHJhZ0FuZERyb3AsICJEcmFnIHNlc3Np
b24gcmVxdWVzdGVkOiAlcCBhdCBlbGVtZW50IGJvdW5kczogJXMiLCBzZXNzaW9uLCBOU1N0cmlu
Z0Zyb21DR1JlY3Qoc3RhdGUuZWxlbWVudEJvdW5kcykuVVRGOFN0cmluZyk7CiAgICAgfSBmb3JS
ZXF1ZXN0OkludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0KHJvdW5kZWRJbnRQb2ludChkcmFn
T3JpZ2luKSldOwogfQogCiAtIChOU0FycmF5PFVJRHJhZ0l0ZW0gKj4gKilkcmFnSW50ZXJhY3Rp
b246KFVJRHJhZ0ludGVyYWN0aW9uICopaW50ZXJhY3Rpb24gaXRlbXNGb3JCZWdpbm5pbmdTZXNz
aW9uOihpZCA8VUlEcmFnU2Vzc2lvbj4pc2Vzc2lvbgogewotICAgIGlmIChfZGF0YUludGVyYWN0
aW9uU3RhdGUuZHJhZ1Nlc3Npb24gIT0gc2Vzc2lvbikKKyAgICBSRUxFQVNFX0xPRyhEcmFnQW5k
RHJvcCwgIkRyYWcgaXRlbXMgcmVxdWVzdGVkIGZvciBzZXNzaW9uOiAlcCIsIHNlc3Npb24pOwor
ICAgIGlmIChfZGF0YUludGVyYWN0aW9uU3RhdGUuZHJhZ1Nlc3Npb24gIT0gc2Vzc2lvbikgewor
ICAgICAgICBSRUxFQVNFX0xPRyhEcmFnQW5kRHJvcCwgIkRyYWcgc2Vzc2lvbiBmYWlsZWQ6ICVw
IChkZWxlZ2F0ZSBzZXNzaW9uIGRvZXMgbm90IG1hdGNoICVwKSIsIHNlc3Npb24sIF9kYXRhSW50
ZXJhY3Rpb25TdGF0ZS5kcmFnU2Vzc2lvbi5nZXQoKSk7CiAgICAgICAgIHJldHVybiBAWyBdOwor
ICAgIH0KIAogICAgIFdlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQgKmRyYWdnaW5nUGFzdGVib2Fy
ZCA9IFtXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkIHNoYXJlZEluc3RhbmNlXTsKICAgICBBU1NF
UlQoaW50ZXJhY3Rpb24gPT0gX2RhdGFJbnRlcmFjdGlvbik7CiAgICAgTlNVSW50ZWdlciBudW1i
ZXJPZkl0ZW1zID0gZHJhZ2dpbmdQYXN0ZWJvYXJkLm51bWJlck9mSXRlbXM7CiAgICAgaWYgKCFu
dW1iZXJPZkl0ZW1zKSB7CisgICAgICAgIFJFTEVBU0VfTE9HKERyYWdBbmREcm9wLCAiRHJhZyBz
ZXNzaW9uIGZhaWxlZDogJXAgKG5vIGl0ZW0gcHJvdmlkZXJzIGdlbmVyYXRlZCBiZWZvcmUgYWRq
dXN0bWVudCkiLCBzZXNzaW9uKTsKICAgICAgICAgX3BhZ2UtPmRyYWdDYW5jZWxsZWQoKTsKICAg
ICAgICAgcmV0dXJuIEBbIF07CiAgICAgfQpAQCAtNDU2OSw2ICs0NTc5LDcgQEAgLSAoTlNBcnJh
eTxVSURyYWdJdGVtICo+ICopZHJhZ0ludGVyYWN0aW9uOihVSURyYWdJbnRlcmFjdGlvbiAqKWlu
dGVyYWN0aW9uIGl0ZW0KICAgICBpZiAoIVtpdGVtc0ZvckRyYWdJbnRlcmFjdGlvbiBjb3VudF0p
CiAgICAgICAgIF9wYWdlLT5kcmFnQ2FuY2VsbGVkKCk7CiAKKyAgICBSRUxFQVNFX0xPRyhEcmFn
QW5kRHJvcCwgIkRyYWcgc2Vzc2lvbjogJXAgc3RhcnRpbmcgd2l0aCAldHUgaXRlbXMiLCBzZXNz
aW9uLCBbaXRlbXNGb3JEcmFnSW50ZXJhY3Rpb24gY291bnRdKTsKICAgICByZXR1cm4gaXRlbXNG
b3JEcmFnSW50ZXJhY3Rpb24uZ2V0KCk7CiB9CiAKQEAgLTQ1ODUsNiArNDU5Niw3IEBAIC0gKFVJ
VGFyZ2V0ZWREcmFnUHJldmlldyAqKV9hcGlfZHJhZ0ludGVyYWN0aW9uOihVSURyYWdJbnRlcmFj
dGlvbiAqKWludGVyYWN0aW9uCiAKIC0gKHZvaWQpZHJhZ0ludGVyYWN0aW9uOihVSURyYWdJbnRl
cmFjdGlvbiAqKWludGVyYWN0aW9uIHNlc3Npb25XaWxsQmVnaW46KGlkIDxVSURyYWdTZXNzaW9u
PilzZXNzaW9uCiB7CisgICAgUkVMRUFTRV9MT0coRHJhZ0FuZERyb3AsICJEcmFnIHNlc3Npb24g
YmVnaW5uaW5nOiAlcCIsIHNlc3Npb24pOwogICAgIGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPiB1
aURlbGVnYXRlID0gc2VsZi53ZWJWaWV3VUlEZWxlZ2F0ZTsKICAgICBpZiAoW3VpRGVsZWdhdGUg
cmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpkYXRhSW50ZXJhY3Rpb246c2Vz
c2lvbldpbGxCZWdpbjopXSkKICAgICAgICAgW3VpRGVsZWdhdGUgX3dlYlZpZXc6X3dlYlZpZXcg
ZGF0YUludGVyYWN0aW9uOmludGVyYWN0aW9uIHNlc3Npb25XaWxsQmVnaW46c2Vzc2lvbl07CkBA
IC00NTk5LDYgKzQ2MTEsNyBAQCAtICh2b2lkKWRyYWdJbnRlcmFjdGlvbjooVUlEcmFnSW50ZXJh
Y3Rpb24gKilpbnRlcmFjdGlvbiBzZXNzaW9uV2lsbEJlZ2luOihpZCA8VQogCiAtICh2b2lkKV9h
cGlfZHJhZ0ludGVyYWN0aW9uOihVSURyYWdJbnRlcmFjdGlvbiAqKWludGVyYWN0aW9uIHNlc3Np
b246KGlkIDxVSURyYWdTZXNzaW9uPilzZXNzaW9uIGRpZEVuZFdpdGhPcGVyYXRpb246KFVJRHJv
cE9wZXJhdGlvbilvcGVyYXRpb24KIHsKKyAgICBSRUxFQVNFX0xPRyhEcmFnQW5kRHJvcCwgIkRy
YWcgc2Vzc2lvbiBlbmRlZDogJXAgKHdpdGggb3BlcmF0aW9uOiAldHUsIHBlcmZvcm1pbmcgb3Bl
cmF0aW9uOiAlZCwgYmVnYW4gZHJhZ2dpbmc6ICVkKSIsIHNlc3Npb24sIG9wZXJhdGlvbiwgX2Rh
dGFJbnRlcmFjdGlvblN0YXRlLmlzUGVyZm9ybWluZ09wZXJhdGlvbiwgX2RhdGFJbnRlcmFjdGlv
blN0YXRlLmRpZEJlZ2luRHJhZ2dpbmcpOwogICAgIGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPiB1
aURlbGVnYXRlID0gc2VsZi53ZWJWaWV3VUlEZWxlZ2F0ZTsKICAgICBpZiAoW3VpRGVsZWdhdGUg
cmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpkYXRhSW50ZXJhY3Rpb246c2Vz
c2lvbjpkaWRFbmRXaXRoT3BlcmF0aW9uOildKQogICAgICAgICBbdWlEZWxlZ2F0ZSBfd2ViVmll
dzpfd2ViVmlldyBkYXRhSW50ZXJhY3Rpb246aW50ZXJhY3Rpb24gc2Vzc2lvbjpzZXNzaW9uIGRp
ZEVuZFdpdGhPcGVyYXRpb246b3BlcmF0aW9uXTsKQEAgLTQ2MzQsMTEgKzQ2NDcsMTQgQEAgLSAo
Qk9PTClkcm9wSW50ZXJhY3Rpb246KFVJRHJvcEludGVyYWN0aW9uICopaW50ZXJhY3Rpb24gY2Fu
SGFuZGxlU2Vzc2lvbjooaWQ8VUkKIHsKICAgICAvLyBGSVhNRTogU3VwcG9ydCBtdWx0aXBsZSBz
aW11bHRhbmVvdXMgZHJvcCBzZXNzaW9ucyBpbiB0aGUgZnV0dXJlLgogICAgIGlkIDxVSURyYWdE
cm9wU2Vzc2lvbj4gZHJhZ09yRHJvcFNlc3Npb24gPSBzZWxmLmN1cnJlbnREcmFnT3JEcm9wU2Vz
c2lvbjsKKyAgICBSRUxFQVNFX0xPRyhEcmFnQW5kRHJvcCwgIkNhbiBoYW5kbGUgZHJhZyBzZXNz
aW9uOiAlcCB3aXRoIGxvY2FsIHNlc3Npb246ICVwIGV4aXN0aW5nIHNlc3Npb246ICVwPyIsIHNl
c3Npb24sIHNlc3Npb24ubG9jYWxEcmFnU2Vzc2lvbiwgZHJhZ09yRHJvcFNlc3Npb24pOworCiAg
ICAgcmV0dXJuICFkcmFnT3JEcm9wU2Vzc2lvbiB8fCBzZXNzaW9uLmxvY2FsRHJhZ1Nlc3Npb24g
PT0gZHJhZ09yRHJvcFNlc3Npb247CiB9CiAKIC0gKHZvaWQpX2FwaV9kcm9wSW50ZXJhY3Rpb246
KFVJRHJvcEludGVyYWN0aW9uICopaW50ZXJhY3Rpb24gc2Vzc2lvbkRpZEVudGVyOihpZCA8VUlE
cm9wU2Vzc2lvbj4pc2Vzc2lvbgogeworICAgIFJFTEVBU0VfTE9HKERyYWdBbmREcm9wLCAiRHJv
cCBzZXNzaW9uIGVudGVyZWQ6ICVwIHdpdGggJXR1IGl0ZW1zIiwgc2Vzc2lvbiwgc2Vzc2lvbi5p
dGVtcy5jb3VudCk7CiAgICAgX2RhdGFJbnRlcmFjdGlvblN0YXRlLmRyb3BTZXNzaW9uID0gc2Vz
c2lvbjsKIAogICAgIFtbV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZCBzaGFyZWRJbnN0YW5jZV0g
c2V0SXRlbVByb3ZpZGVyczpleHRyYWN0SXRlbVByb3ZpZGVyc0Zyb21Ecm9wU2Vzc2lvbihzZXNz
aW9uKV07CkBAIC00NjY2LDYgKzQ2ODIsNyBAQCAtIChVSURyb3BQcm9wb3NhbCAqKV9hcGlfZHJv
cEludGVyYWN0aW9uOihVSURyb3BJbnRlcmFjdGlvbiAqKWludGVyYWN0aW9uIHNlc3NpbwogCiAt
ICh2b2lkKWRyb3BJbnRlcmFjdGlvbjooVUlEcm9wSW50ZXJhY3Rpb24gKilpbnRlcmFjdGlvbiBz
ZXNzaW9uRGlkRXhpdDooaWQgPFVJRHJvcFNlc3Npb24+KXNlc3Npb24KIHsKKyAgICBSRUxFQVNF
X0xPRyhEcmFnQW5kRHJvcCwgIkRyb3Agc2Vzc2lvbiBleGl0ZWQ6ICVwIHdpdGggJXR1IGl0ZW1z
Iiwgc2Vzc2lvbiwgc2Vzc2lvbi5pdGVtcy5jb3VudCk7CiAgICAgW1tXZWJJdGVtUHJvdmlkZXJQ
YXN0ZWJvYXJkIHNoYXJlZEluc3RhbmNlXSBzZXRJdGVtUHJvdmlkZXJzOmV4dHJhY3RJdGVtUHJv
dmlkZXJzRnJvbURyb3BTZXNzaW9uKHNlc3Npb24pXTsKIAogICAgIGF1dG8gZHJhZ0RhdGEgPSBb
c2VsZiBkcmFnRGF0YUZvckRyb3BTZXNzaW9uOnNlc3Npb24gZHJhZ0Rlc3RpbmF0aW9uQWN0aW9u
OldLRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uQW55XTsKQEAgLTQ2OTMsMTIgKzQ3MTAsMTQgQEAgLSAo
dm9pZClkcm9wSW50ZXJhY3Rpb246KFVJRHJvcEludGVyYWN0aW9uICopaW50ZXJhY3Rpb24gcGVy
Zm9ybURyb3A6KGlkIDxVSURyb3AKICAgICBfZGF0YUludGVyYWN0aW9uU3RhdGUuaXNQZXJmb3Jt
aW5nT3BlcmF0aW9uID0gWUVTOwogICAgIGF1dG8gZHJhZ0RhdGEgPSBbc2VsZiBkcmFnRGF0YUZv
ckRyb3BTZXNzaW9uOnNlc3Npb24gZHJhZ0Rlc3RpbmF0aW9uQWN0aW9uOldLRHJhZ0Rlc3RpbmF0
aW9uQWN0aW9uQW55XTsKIAorICAgIFJFTEVBU0VfTE9HKERyYWdBbmREcm9wLCAiTG9hZGluZyBk
YXRhIGZyb20gJXR1IGl0ZW0gcHJvdmlkZXJzIGZvciBzZXNzaW9uOiAlcCIsIGl0ZW1Qcm92aWRl
cnMuY291bnQsIHNlc3Npb24pOwogICAgIC8vIEFsd2F5cyBsb2FkaW5nIGNvbnRlbnQgZnJvbSB0
aGUgaXRlbSBwcm92aWRlciBlbnN1cmVzIHRoYXQgdGhlIHdlYiBwcm9jZXNzIHdpbGwgYmUgYWxs
b3dlZCB0byBjYWxsIGJhY2sgaW4gdG8gdGhlIFVJCiAgICAgLy8gcHJvY2VzcyB0byBhY2Nlc3Mg
cGFzdGVib2FyZCBjb250ZW50cyBhdCBhIGxhdGVyIHRpbWUuIElkZWFsbHksIHdlIG9ubHkgbmVl
ZCB0byBkbyB0aGlzIHdvcmsgaWYgd2UncmUgb3ZlciBhIGZpbGUgaW5wdXQKICAgICAvLyBvciB0
aGUgcGFnZSBwcmV2ZW50ZWQgZGVmYXVsdCBvbiBgZHJhZ292ZXJgLCBidXQgd2l0aG91dCB0aGlz
LCBkcm9wcGluZyBpbnRvIGEgbm9ybWFsIGVkaXRhYmxlIGFyZWFzIHdpbGwgZmFpbCBkdWUgdG8K
ICAgICAvLyBpdGVtIHByb3ZpZGVycyBub3QgbG9hZGluZyBhbnkgZGF0YS4KICAgICBSZXRhaW5Q
dHI8V0tDb250ZW50Vmlldz4gcmV0YWluZWRTZWxmKHNlbGYpOwogICAgIFtbV2ViSXRlbVByb3Zp
ZGVyUGFzdGVib2FyZCBzaGFyZWRJbnN0YW5jZV0gZG9BZnRlckxvYWRpbmdQcm92aWRlZENvbnRl
bnRJbnRvRmlsZVVSTHM6W3JldGFpbmVkU2VsZiwgY2FwdHVyZWREcmFnRGF0YSA9IFdURk1vdmUo
ZHJhZ0RhdGEpXSAoTlNBcnJheSAqZmlsZVVSTHMpIG11dGFibGUgeworICAgICAgICBSRUxFQVNF
X0xPRyhEcmFnQW5kRHJvcCwgIkxvYWRlZCBkYXRhIGF0ICV0dSBmaWxlcyIsIGZpbGVVUkxzLmNv
dW50KTsKICAgICAgICAgVmVjdG9yPFN0cmluZz4gZmlsZW5hbWVzOwogICAgICAgICBmb3IgKE5T
VVJMICpmaWxlVVJMIGluIGZpbGVVUkxzKQogICAgICAgICAgICAgZmlsZW5hbWVzLmFwcGVuZChb
ZmlsZVVSTCBwYXRoXSk7CkBAIC00NzM1LDYgKzQ3NTQsNyBAQCAtIChVSVRhcmdldGVkRHJhZ1By
ZXZpZXcgKilkcm9wSW50ZXJhY3Rpb246KFVJRHJvcEludGVyYWN0aW9uICopaW50ZXJhY3Rpb24g
cHJldgogCiAtICh2b2lkKWRyb3BJbnRlcmFjdGlvbjooVUlEcm9wSW50ZXJhY3Rpb24gKilpbnRl
cmFjdGlvbiBzZXNzaW9uRGlkRW5kOihpZCA8VUlEcm9wU2Vzc2lvbj4pc2Vzc2lvbgogeworICAg
IFJFTEVBU0VfTE9HKERyYWdBbmREcm9wLCAiRHJvcCBzZXNzaW9uIGVuZGVkOiAlcCAocGVyZm9y
bWluZyBvcGVyYXRpb246ICVkLCBiZWdhbiBkcmFnZ2luZzogJWQpIiwgc2Vzc2lvbiwgX2RhdGFJ
bnRlcmFjdGlvblN0YXRlLmlzUGVyZm9ybWluZ09wZXJhdGlvbiwgX2RhdGFJbnRlcmFjdGlvblN0
YXRlLmRpZEJlZ2luRHJhZ2dpbmcpOwogICAgIGlmIChfZGF0YUludGVyYWN0aW9uU3RhdGUuaXNQ
ZXJmb3JtaW5nT3BlcmF0aW9uIHx8IF9kYXRhSW50ZXJhY3Rpb25TdGF0ZS5kaWRCZWdpbkRyYWdn
aW5nKQogICAgICAgICByZXR1cm47CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313493</attachid>
            <date>2017-06-20 23:08:39 -0700</date>
            <delta_ts>2017-06-21 10:57:30 -0700</delta_ts>
            <desc>Add logging in one more spot.</desc>
            <filename>bug-173636-20170620230838.patch</filename>
            <type>text/plain</type>
            <size>11718</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNDA5MDhmYjZiNTJmMDk3
ZWJmOGJiZWE5OTgzNDM0ZWE3OWMwNWFmNy4uYWVhYTMzZDFkMzJkZjQwNjkzNzI0NjBmZjZiZTE3
ZTg1YTIxZThjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMwIEBACiAyMDE3LTA2LTIwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCisgICAgICAgIFtpT1MgRG5EXSBb
V0syXSBBZGQgZHJhZy1hbmQtZHJvcCByZWxlYXNlIGxvZ2dpbmcgYXJvdW5kIFdLQ29udGVudFZp
ZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzYz
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBs
b2dnaW5nIGF0IGtleSBwb2ludHMgaW4gdGhlIGRyYWctYW5kLWRyb3AgbGlmZWN5Y2xlIGluIHRo
ZSBVSSBwcm9jZXNzLCBzbyB0aGF0IHN5c2RpYWdub3NlcyB3aWxsIGNvbnRhaW4KKyAgICAgICAg
c3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byBkZWJ1ZyBzcGFyc2UgZmFpbHVyZXMuCisKKyAgICAg
ICAgKiBQbGF0Zm9ybS9Mb2dnaW5nLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2RpZEhhbmRs
ZVN0YXJ0RGF0YUludGVyYWN0aW9uUmVxdWVzdDpdKToKKyAgICAgICAgKC1bV0tDb250ZW50Vmll
dyBjbGVhblVwRHJhZ1NvdXJjZVNlc3Npb25TdGF0ZV0pOgorICAgICAgICAoLVtXS0NvbnRlbnRW
aWV3IF9kaWRQZXJmb3JtRGF0YUludGVyYWN0aW9uQ29udHJvbGxlck9wZXJhdGlvbjpdKToKKyAg
ICAgICAgKC1bV0tDb250ZW50VmlldyBfZHJhZ0ludGVyYWN0aW9uOnByZXBhcmVGb3JTZXNzaW9u
OmNvbXBsZXRpb246XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgZHJhZ0ludGVyYWN0aW9u
Oml0ZW1zRm9yQmVnaW5uaW5nU2Vzc2lvbjpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBk
cmFnSW50ZXJhY3Rpb246c2Vzc2lvbldpbGxCZWdpbjpdKToKKyAgICAgICAgKC1bV0tDb250ZW50
VmlldyBfYXBpX2RyYWdJbnRlcmFjdGlvbjpzZXNzaW9uOmRpZEVuZFdpdGhPcGVyYXRpb246XSk6
CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgZHJvcEludGVyYWN0aW9uOmNhbkhhbmRsZVNlc3Np
b246XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2FwaV9kcm9wSW50ZXJhY3Rpb246c2Vz
c2lvbkRpZEVudGVyOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGRyb3BJbnRlcmFjdGlv
bjpzZXNzaW9uRGlkRXhpdDpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBkcm9wSW50ZXJh
Y3Rpb246cGVyZm9ybURyb3A6XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgZHJvcEludGVy
YWN0aW9uOnNlc3Npb25EaWRFbmQ6XSk6CisKKzIwMTctMDYtMjAgIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CisKICAgICAgICAgW2lPUyBEbkRdIFtXSzJdIFJlbW92ZSBj
dXN0b20gbG9naWMgZm9yIGRpc2FtYmlndWF0aW5nIGxvbmcgcHJlc3MgYWN0aW9uIHNoZWV0IGdl
c3R1cmVzIGFuZCBkcmFnIGxpZnQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3MzU3OAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzI4MjUwMjg+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmgKaW5kZXggYjQ3NzU2Y2JjMThkNGZlZTRmOGVlZTM3YzE4
ZGI4NWJmOWE4Mzk2ZC4uYjZhZThkNzcyYzk4YmYyNmI2NGUzMWQ0MzQzZDk2ZmQ3OWZkZGQ0ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vTG9nZ2luZy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL0xvZ2dpbmcuaApAQCAtNDIsNiArNDIsNyBAQCBleHRlcm4gIkMi
IHsKIAogI2RlZmluZSBXRUJLSVQyX0xPR19DSEFOTkVMUyhNKSBcCiAgICAgTShDb250ZXh0TWVu
dSkgXAorICAgIE0oRHJhZ0FuZERyb3ApIFwKICAgICBNKEdhbWVwYWQpIFwKICAgICBNKEljb25E
YXRhYmFzZSkgXAogICAgIE0oSURCKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDM0ZGY2MDI2N2Y2
NDg0ZmY4OTJjOGUzMGQ4NWE2NjgyN2ZhODAyNjEuLjAwNzI2NjlhM2QxZjhhZDQ3ZTUxMWE0NmE1
ZThhZjk5MWZkNDJlY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC00MjMwLDYgKzQyMzAsNyBAQCAt
ICh2b2lkKV9kaWRIYW5kbGVTdGFydERhdGFJbnRlcmFjdGlvblJlcXVlc3Q6KEJPT0wpc3RhcnRl
ZAogICAgICAgICBbc2VsZiBjbGVhblVwRHJhZ1NvdXJjZVNlc3Npb25TdGF0ZV07CiAgICAgfQog
CisgICAgUkVMRUFTRV9MT0coRHJhZ0FuZERyb3AsICJIYW5kbGluZyBkcmFnIHN0YXJ0IHJlcXVl
c3QgKHN0YXJ0ZWQ6ICVkLCBjb21wbGV0aW9uIGJsb2NrOiAlcCkiLCBzdGFydGVkLCBzYXZlZENv
bXBsZXRpb25CbG9jay5nZXQoKSk7CiAgICAgaWYgKHNhdmVkQ29tcGxldGlvbkJsb2NrKQogICAg
ICAgICBzYXZlZENvbXBsZXRpb25CbG9jaygpOwogfQpAQCAtNDM0Nyw2ICs0MzQ4LDcgQEAgLSAo
RHJhZ0RhdGEpZHJhZ0RhdGFGb3JEcm9wU2Vzc2lvbjooaWQgPFVJRHJvcFNlc3Npb24+KXNlc3Np
b24gZHJhZ0Rlc3RpbmF0aW9uQWMKIAogLSAodm9pZCljbGVhblVwRHJhZ1NvdXJjZVNlc3Npb25T
dGF0ZQogeworICAgIFJFTEVBU0VfTE9HKERyYWdBbmREcm9wLCAiQ2xlYW5pbmcgdXAgZHJhZ2dp
bmcgc3RhdGUgKGhhcyBwZW5kaW5nIG9wZXJhdGlvbjogJWQpIiwgW1tXZWJJdGVtUHJvdmlkZXJQ
YXN0ZWJvYXJkIHNoYXJlZEluc3RhbmNlXSBoYXNQZW5kaW5nT3BlcmF0aW9uXSk7CiAgICAgaWYg
KCFbW1dlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQgc2hhcmVkSW5zdGFuY2VdIGhhc1BlbmRpbmdP
cGVyYXRpb25dKSB7CiAgICAgICAgIC8vIElmIHdlJ3JlIHBlcmZvcm1pbmcgYSBkcmFnIG9wZXJh
dGlvbiwgZG9uJ3QgY2xlYXIgb3V0IHRoZSBwYXN0ZWJvYXJkIHlldCwgc2luY2UgYW5vdGhlciB3
ZWIgdmlldyBtYXkgc3RpbGwgcmVxdWlyZSBhY2Nlc3MgdG8gaXQuCiAgICAgICAgIC8vIFRoZSBw
YXN0ZWJvYXJkIHdpbGwgYmUgY2xlYXJlZCBhZnRlciB0aGUgbGFzdCBjbGllbnQgaXMgZmluaXNo
ZWQgcGVyZm9ybWluZyBhIGRyYWcgb3BlcmF0aW9uIHVzaW5nIHRoZSBpdGVtIHByb3ZpZGVycy4K
QEAgLTQ0MTgsNiArNDQyMCw3IEBAIC0gKHZvaWQpX2RpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFj
dGlvbjooc3RkOjpvcHRpb25hbDxUZXh0SW5kaWNhdG9yRGF0YT4pZGF0YQogCiAtICh2b2lkKV9k
aWRQZXJmb3JtRGF0YUludGVyYWN0aW9uQ29udHJvbGxlck9wZXJhdGlvbjooQk9PTCloYW5kbGVk
CiB7CisgICAgUkVMRUFTRV9MT0coRHJhZ0FuZERyb3AsICJGaW5pc2hlZCBwZXJmb3JtaW5nIGRy
YWcgY29udHJvbGxlciBvcGVyYXRpb24gKGhhbmRsZWQ6ICVkKSIsIGhhbmRsZWQpOwogICAgIFtb
V2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZCBzaGFyZWRJbnN0YW5jZV0gZGVjcmVtZW50UGVuZGlu
Z09wZXJhdGlvbkNvdW50XTsKICAgICBSZXRhaW5QdHI8aWQgPFVJRHJvcFNlc3Npb24+PiBkcm9w
U2Vzc2lvbiA9IF9kYXRhSW50ZXJhY3Rpb25TdGF0ZS5kcm9wU2Vzc2lvbjsKICAgICBpZiAoW3Nl
bGYud2ViVmlld1VJRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmll
dzpkYXRhSW50ZXJhY3Rpb25PcGVyYXRpb25XYXNIYW5kbGVkOmZvclNlc3Npb246aXRlbVByb3Zp
ZGVyczopXSkKQEAgLTQ0OTcsOCArNDUwMCwxMCBAQCAtIChpZCA8VUlEcmFnRHJvcFNlc3Npb24+
KWN1cnJlbnREcmFnT3JEcm9wU2Vzc2lvbgogCiAtICh2b2lkKV9kcmFnSW50ZXJhY3Rpb246KFVJ
RHJhZ0ludGVyYWN0aW9uICopaW50ZXJhY3Rpb24gcHJlcGFyZUZvclNlc3Npb246KGlkIDxVSURy
YWdTZXNzaW9uPilzZXNzaW9uIGNvbXBsZXRpb246KGRpc3BhdGNoX2Jsb2NrX3QpY29tcGxldGlv
bgogeworICAgIFJFTEVBU0VfTE9HKERyYWdBbmREcm9wLCAiUHJlcGFyaW5nIGZvciBkcmFnIHNl
c3Npb246ICVwIiwgc2Vzc2lvbik7CiAgICAgaWYgKHNlbGYuY3VycmVudERyYWdPckRyb3BTZXNz
aW9uKSB7CiAgICAgICAgIC8vIEZJWE1FOiBTdXBwb3J0IG11bHRpcGxlIHNpbXVsdGFuZW91cyBk
cmFnIHNlc3Npb25zIGluIHRoZSBmdXR1cmUuCisgICAgICAgIFJFTEVBU0VfTE9HKERyYWdBbmRE
cm9wLCAiRHJhZyBzZXNzaW9uIGZhaWxlZDogJXAgKGEgY3VycmVudCBkcmFnIHNlc3Npb24gYWxy
ZWFkeSBleGlzdHMpIiwgc2Vzc2lvbik7CiAgICAgICAgIGNvbXBsZXRpb24oKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KQEAgLTQ1MTAsNiArNDUxNSw3IEBAIC0gKHZvaWQpX2RyYWdJbnRlcmFj
dGlvbjooVUlEcmFnSW50ZXJhY3Rpb24gKilpbnRlcmFjdGlvbiBwcmVwYXJlRm9yU2Vzc2lvbjoo
aWQKIAogICAgIFtzZWxmIGRvQWZ0ZXJQb3NpdGlvbkluZm9ybWF0aW9uVXBkYXRlOltyZXRhaW5l
ZFNlbGYsIHNlc3Npb24sIGRyYWdPcmlnaW4sIGNhcHR1cmVkQmxvY2sgPSBtYWtlQmxvY2tQdHIo
Y29tcGxldGlvbildIChJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbiBwb3NpdGlvbklu
Zm9ybWF0aW9uKSB7CiAgICAgICAgIGlmICghcG9zaXRpb25JbmZvcm1hdGlvbk1heVN0YXJ0RGF0
YUludGVyYWN0aW9uKHBvc2l0aW9uSW5mb3JtYXRpb24pKSB7CisgICAgICAgICAgICBSRUxFQVNF
X0xPRyhEcmFnQW5kRHJvcCwgIkRyYWcgc2Vzc2lvbiBmYWlsZWQ6ICVwIChubyBkcmFnZ2FibGUg
Y29udGVudCBhdCAlcykiLCBzZXNzaW9uLCBOU1N0cmluZ0Zyb21DR1BvaW50KGRyYWdPcmlnaW4p
LlVURjhTdHJpbmcpOwogICAgICAgICAgICAgY2FwdHVyZWRCbG9jaygpOwogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CkBAIC00NTIyLDE4ICs0NTI4LDIzIEBAIC0gKHZvaWQpX2RyYWdJ
bnRlcmFjdGlvbjooVUlEcmFnSW50ZXJhY3Rpb24gKilpbnRlcmFjdGlvbiBwcmVwYXJlRm9yU2Vz
c2lvbjooaWQKICAgICAgICAgc3RhdGUubGlua1VSTCA9IHJldGFpbmVkU2VsZi0+X3Bvc2l0aW9u
SW5mb3JtYXRpb24udXJsOwogICAgICAgICBzdGF0ZS5kcmFnU2Vzc2lvbiA9IHNlc3Npb247CiAg
ICAgICAgIHJldGFpbmVkU2VsZi0+X3BhZ2UtPnJlcXVlc3RTdGFydERhdGFJbnRlcmFjdGlvbihy
b3VuZGVkSW50UG9pbnQoc3RhdGUuYWRqdXN0ZWRPcmlnaW4pLCByb3VuZGVkSW50UG9pbnQoW3Jl
dGFpbmVkU2VsZiBjb252ZXJ0UG9pbnQ6c3RhdGUuYWRqdXN0ZWRPcmlnaW4gdG9WaWV3OltyZXRh
aW5lZFNlbGYgd2luZG93XV0pKTsKKyAgICAgICAgUkVMRUFTRV9MT0coRHJhZ0FuZERyb3AsICJE
cmFnIHNlc3Npb24gcmVxdWVzdGVkOiAlcCBhdCBlbGVtZW50IGJvdW5kczogJXMiLCBzZXNzaW9u
LCBOU1N0cmluZ0Zyb21DR1JlY3Qoc3RhdGUuZWxlbWVudEJvdW5kcykuVVRGOFN0cmluZyk7CiAg
ICAgfSBmb3JSZXF1ZXN0OkludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0KHJvdW5kZWRJbnRQ
b2ludChkcmFnT3JpZ2luKSldOwogfQogCiAtIChOU0FycmF5PFVJRHJhZ0l0ZW0gKj4gKilkcmFn
SW50ZXJhY3Rpb246KFVJRHJhZ0ludGVyYWN0aW9uICopaW50ZXJhY3Rpb24gaXRlbXNGb3JCZWdp
bm5pbmdTZXNzaW9uOihpZCA8VUlEcmFnU2Vzc2lvbj4pc2Vzc2lvbgogewotICAgIGlmIChfZGF0
YUludGVyYWN0aW9uU3RhdGUuZHJhZ1Nlc3Npb24gIT0gc2Vzc2lvbikKKyAgICBSRUxFQVNFX0xP
RyhEcmFnQW5kRHJvcCwgIkRyYWcgaXRlbXMgcmVxdWVzdGVkIGZvciBzZXNzaW9uOiAlcCIsIHNl
c3Npb24pOworICAgIGlmIChfZGF0YUludGVyYWN0aW9uU3RhdGUuZHJhZ1Nlc3Npb24gIT0gc2Vz
c2lvbikgeworICAgICAgICBSRUxFQVNFX0xPRyhEcmFnQW5kRHJvcCwgIkRyYWcgc2Vzc2lvbiBm
YWlsZWQ6ICVwIChkZWxlZ2F0ZSBzZXNzaW9uIGRvZXMgbm90IG1hdGNoICVwKSIsIHNlc3Npb24s
IF9kYXRhSW50ZXJhY3Rpb25TdGF0ZS5kcmFnU2Vzc2lvbi5nZXQoKSk7CiAgICAgICAgIHJldHVy
biBAWyBdOworICAgIH0KIAogICAgIFdlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQgKmRyYWdnaW5n
UGFzdGVib2FyZCA9IFtXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkIHNoYXJlZEluc3RhbmNlXTsK
ICAgICBBU1NFUlQoaW50ZXJhY3Rpb24gPT0gX2RhdGFJbnRlcmFjdGlvbik7CiAgICAgTlNVSW50
ZWdlciBudW1iZXJPZkl0ZW1zID0gZHJhZ2dpbmdQYXN0ZWJvYXJkLm51bWJlck9mSXRlbXM7CiAg
ICAgaWYgKCFudW1iZXJPZkl0ZW1zKSB7CisgICAgICAgIFJFTEVBU0VfTE9HKERyYWdBbmREcm9w
LCAiRHJhZyBzZXNzaW9uIGZhaWxlZDogJXAgKG5vIGl0ZW0gcHJvdmlkZXJzIGdlbmVyYXRlZCBi
ZWZvcmUgYWRqdXN0bWVudCkiLCBzZXNzaW9uKTsKICAgICAgICAgX3BhZ2UtPmRyYWdDYW5jZWxs
ZWQoKTsKICAgICAgICAgcmV0dXJuIEBbIF07CiAgICAgfQpAQCAtNDU2OSw2ICs0NTgwLDcgQEAg
LSAoTlNBcnJheTxVSURyYWdJdGVtICo+ICopZHJhZ0ludGVyYWN0aW9uOihVSURyYWdJbnRlcmFj
dGlvbiAqKWludGVyYWN0aW9uIGl0ZW0KICAgICBpZiAoIVtpdGVtc0ZvckRyYWdJbnRlcmFjdGlv
biBjb3VudF0pCiAgICAgICAgIF9wYWdlLT5kcmFnQ2FuY2VsbGVkKCk7CiAKKyAgICBSRUxFQVNF
X0xPRyhEcmFnQW5kRHJvcCwgIkRyYWcgc2Vzc2lvbjogJXAgc3RhcnRpbmcgd2l0aCAldHUgaXRl
bXMiLCBzZXNzaW9uLCBbaXRlbXNGb3JEcmFnSW50ZXJhY3Rpb24gY291bnRdKTsKICAgICByZXR1
cm4gaXRlbXNGb3JEcmFnSW50ZXJhY3Rpb24uZ2V0KCk7CiB9CiAKQEAgLTQ1ODUsNiArNDU5Nyw3
IEBAIC0gKFVJVGFyZ2V0ZWREcmFnUHJldmlldyAqKV9hcGlfZHJhZ0ludGVyYWN0aW9uOihVSURy
YWdJbnRlcmFjdGlvbiAqKWludGVyYWN0aW9uCiAKIC0gKHZvaWQpZHJhZ0ludGVyYWN0aW9uOihV
SURyYWdJbnRlcmFjdGlvbiAqKWludGVyYWN0aW9uIHNlc3Npb25XaWxsQmVnaW46KGlkIDxVSURy
YWdTZXNzaW9uPilzZXNzaW9uCiB7CisgICAgUkVMRUFTRV9MT0coRHJhZ0FuZERyb3AsICJEcmFn
IHNlc3Npb24gYmVnaW5uaW5nOiAlcCIsIHNlc3Npb24pOwogICAgIGlkIDxXS1VJRGVsZWdhdGVQ
cml2YXRlPiB1aURlbGVnYXRlID0gc2VsZi53ZWJWaWV3VUlEZWxlZ2F0ZTsKICAgICBpZiAoW3Vp
RGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpkYXRhSW50ZXJh
Y3Rpb246c2Vzc2lvbldpbGxCZWdpbjopXSkKICAgICAgICAgW3VpRGVsZWdhdGUgX3dlYlZpZXc6
X3dlYlZpZXcgZGF0YUludGVyYWN0aW9uOmludGVyYWN0aW9uIHNlc3Npb25XaWxsQmVnaW46c2Vz
c2lvbl07CkBAIC00NTk5LDYgKzQ2MTIsNyBAQCAtICh2b2lkKWRyYWdJbnRlcmFjdGlvbjooVUlE
cmFnSW50ZXJhY3Rpb24gKilpbnRlcmFjdGlvbiBzZXNzaW9uV2lsbEJlZ2luOihpZCA8VQogCiAt
ICh2b2lkKV9hcGlfZHJhZ0ludGVyYWN0aW9uOihVSURyYWdJbnRlcmFjdGlvbiAqKWludGVyYWN0
aW9uIHNlc3Npb246KGlkIDxVSURyYWdTZXNzaW9uPilzZXNzaW9uIGRpZEVuZFdpdGhPcGVyYXRp
b246KFVJRHJvcE9wZXJhdGlvbilvcGVyYXRpb24KIHsKKyAgICBSRUxFQVNFX0xPRyhEcmFnQW5k
RHJvcCwgIkRyYWcgc2Vzc2lvbiBlbmRlZDogJXAgKHdpdGggb3BlcmF0aW9uOiAldHUsIHBlcmZv
cm1pbmcgb3BlcmF0aW9uOiAlZCwgYmVnYW4gZHJhZ2dpbmc6ICVkKSIsIHNlc3Npb24sIG9wZXJh
dGlvbiwgX2RhdGFJbnRlcmFjdGlvblN0YXRlLmlzUGVyZm9ybWluZ09wZXJhdGlvbiwgX2RhdGFJ
bnRlcmFjdGlvblN0YXRlLmRpZEJlZ2luRHJhZ2dpbmcpOwogICAgIGlkIDxXS1VJRGVsZWdhdGVQ
cml2YXRlPiB1aURlbGVnYXRlID0gc2VsZi53ZWJWaWV3VUlEZWxlZ2F0ZTsKICAgICBpZiAoW3Vp
RGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpkYXRhSW50ZXJh
Y3Rpb246c2Vzc2lvbjpkaWRFbmRXaXRoT3BlcmF0aW9uOildKQogICAgICAgICBbdWlEZWxlZ2F0
ZSBfd2ViVmlldzpfd2ViVmlldyBkYXRhSW50ZXJhY3Rpb246aW50ZXJhY3Rpb24gc2Vzc2lvbjpz
ZXNzaW9uIGRpZEVuZFdpdGhPcGVyYXRpb246b3BlcmF0aW9uXTsKQEAgLTQ2MzQsMTEgKzQ2NDgs
MTQgQEAgLSAoQk9PTClkcm9wSW50ZXJhY3Rpb246KFVJRHJvcEludGVyYWN0aW9uICopaW50ZXJh
Y3Rpb24gY2FuSGFuZGxlU2Vzc2lvbjooaWQ8VUkKIHsKICAgICAvLyBGSVhNRTogU3VwcG9ydCBt
dWx0aXBsZSBzaW11bHRhbmVvdXMgZHJvcCBzZXNzaW9ucyBpbiB0aGUgZnV0dXJlLgogICAgIGlk
IDxVSURyYWdEcm9wU2Vzc2lvbj4gZHJhZ09yRHJvcFNlc3Npb24gPSBzZWxmLmN1cnJlbnREcmFn
T3JEcm9wU2Vzc2lvbjsKKyAgICBSRUxFQVNFX0xPRyhEcmFnQW5kRHJvcCwgIkNhbiBoYW5kbGUg
ZHJhZyBzZXNzaW9uOiAlcCB3aXRoIGxvY2FsIHNlc3Npb246ICVwIGV4aXN0aW5nIHNlc3Npb246
ICVwPyIsIHNlc3Npb24sIHNlc3Npb24ubG9jYWxEcmFnU2Vzc2lvbiwgZHJhZ09yRHJvcFNlc3Np
b24pOworCiAgICAgcmV0dXJuICFkcmFnT3JEcm9wU2Vzc2lvbiB8fCBzZXNzaW9uLmxvY2FsRHJh
Z1Nlc3Npb24gPT0gZHJhZ09yRHJvcFNlc3Npb247CiB9CiAKIC0gKHZvaWQpX2FwaV9kcm9wSW50
ZXJhY3Rpb246KFVJRHJvcEludGVyYWN0aW9uICopaW50ZXJhY3Rpb24gc2Vzc2lvbkRpZEVudGVy
OihpZCA8VUlEcm9wU2Vzc2lvbj4pc2Vzc2lvbgogeworICAgIFJFTEVBU0VfTE9HKERyYWdBbmRE
cm9wLCAiRHJvcCBzZXNzaW9uIGVudGVyZWQ6ICVwIHdpdGggJXR1IGl0ZW1zIiwgc2Vzc2lvbiwg
c2Vzc2lvbi5pdGVtcy5jb3VudCk7CiAgICAgX2RhdGFJbnRlcmFjdGlvblN0YXRlLmRyb3BTZXNz
aW9uID0gc2Vzc2lvbjsKIAogICAgIFtbV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZCBzaGFyZWRJ
bnN0YW5jZV0gc2V0SXRlbVByb3ZpZGVyczpleHRyYWN0SXRlbVByb3ZpZGVyc0Zyb21Ecm9wU2Vz
c2lvbihzZXNzaW9uKV07CkBAIC00NjY2LDYgKzQ2ODMsNyBAQCAtIChVSURyb3BQcm9wb3NhbCAq
KV9hcGlfZHJvcEludGVyYWN0aW9uOihVSURyb3BJbnRlcmFjdGlvbiAqKWludGVyYWN0aW9uIHNl
c3NpbwogCiAtICh2b2lkKWRyb3BJbnRlcmFjdGlvbjooVUlEcm9wSW50ZXJhY3Rpb24gKilpbnRl
cmFjdGlvbiBzZXNzaW9uRGlkRXhpdDooaWQgPFVJRHJvcFNlc3Npb24+KXNlc3Npb24KIHsKKyAg
ICBSRUxFQVNFX0xPRyhEcmFnQW5kRHJvcCwgIkRyb3Agc2Vzc2lvbiBleGl0ZWQ6ICVwIHdpdGgg
JXR1IGl0ZW1zIiwgc2Vzc2lvbiwgc2Vzc2lvbi5pdGVtcy5jb3VudCk7CiAgICAgW1tXZWJJdGVt
UHJvdmlkZXJQYXN0ZWJvYXJkIHNoYXJlZEluc3RhbmNlXSBzZXRJdGVtUHJvdmlkZXJzOmV4dHJh
Y3RJdGVtUHJvdmlkZXJzRnJvbURyb3BTZXNzaW9uKHNlc3Npb24pXTsKIAogICAgIGF1dG8gZHJh
Z0RhdGEgPSBbc2VsZiBkcmFnRGF0YUZvckRyb3BTZXNzaW9uOnNlc3Npb24gZHJhZ0Rlc3RpbmF0
aW9uQWN0aW9uOldLRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uQW55XTsKQEAgLTQ2OTMsMTIgKzQ3MTEs
MTQgQEAgLSAodm9pZClkcm9wSW50ZXJhY3Rpb246KFVJRHJvcEludGVyYWN0aW9uICopaW50ZXJh
Y3Rpb24gcGVyZm9ybURyb3A6KGlkIDxVSURyb3AKICAgICBfZGF0YUludGVyYWN0aW9uU3RhdGUu
aXNQZXJmb3JtaW5nT3BlcmF0aW9uID0gWUVTOwogICAgIGF1dG8gZHJhZ0RhdGEgPSBbc2VsZiBk
cmFnRGF0YUZvckRyb3BTZXNzaW9uOnNlc3Npb24gZHJhZ0Rlc3RpbmF0aW9uQWN0aW9uOldLRHJh
Z0Rlc3RpbmF0aW9uQWN0aW9uQW55XTsKIAorICAgIFJFTEVBU0VfTE9HKERyYWdBbmREcm9wLCAi
TG9hZGluZyBkYXRhIGZyb20gJXR1IGl0ZW0gcHJvdmlkZXJzIGZvciBzZXNzaW9uOiAlcCIsIGl0
ZW1Qcm92aWRlcnMuY291bnQsIHNlc3Npb24pOwogICAgIC8vIEFsd2F5cyBsb2FkaW5nIGNvbnRl
bnQgZnJvbSB0aGUgaXRlbSBwcm92aWRlciBlbnN1cmVzIHRoYXQgdGhlIHdlYiBwcm9jZXNzIHdp
bGwgYmUgYWxsb3dlZCB0byBjYWxsIGJhY2sgaW4gdG8gdGhlIFVJCiAgICAgLy8gcHJvY2VzcyB0
byBhY2Nlc3MgcGFzdGVib2FyZCBjb250ZW50cyBhdCBhIGxhdGVyIHRpbWUuIElkZWFsbHksIHdl
IG9ubHkgbmVlZCB0byBkbyB0aGlzIHdvcmsgaWYgd2UncmUgb3ZlciBhIGZpbGUgaW5wdXQKICAg
ICAvLyBvciB0aGUgcGFnZSBwcmV2ZW50ZWQgZGVmYXVsdCBvbiBgZHJhZ292ZXJgLCBidXQgd2l0
aG91dCB0aGlzLCBkcm9wcGluZyBpbnRvIGEgbm9ybWFsIGVkaXRhYmxlIGFyZWFzIHdpbGwgZmFp
bCBkdWUgdG8KICAgICAvLyBpdGVtIHByb3ZpZGVycyBub3QgbG9hZGluZyBhbnkgZGF0YS4KICAg
ICBSZXRhaW5QdHI8V0tDb250ZW50Vmlldz4gcmV0YWluZWRTZWxmKHNlbGYpOwogICAgIFtbV2Vi
SXRlbVByb3ZpZGVyUGFzdGVib2FyZCBzaGFyZWRJbnN0YW5jZV0gZG9BZnRlckxvYWRpbmdQcm92
aWRlZENvbnRlbnRJbnRvRmlsZVVSTHM6W3JldGFpbmVkU2VsZiwgY2FwdHVyZWREcmFnRGF0YSA9
IFdURk1vdmUoZHJhZ0RhdGEpXSAoTlNBcnJheSAqZmlsZVVSTHMpIG11dGFibGUgeworICAgICAg
ICBSRUxFQVNFX0xPRyhEcmFnQW5kRHJvcCwgIkxvYWRlZCBkYXRhIGF0ICV0dSBmaWxlcyIsIGZp
bGVVUkxzLmNvdW50KTsKICAgICAgICAgVmVjdG9yPFN0cmluZz4gZmlsZW5hbWVzOwogICAgICAg
ICBmb3IgKE5TVVJMICpmaWxlVVJMIGluIGZpbGVVUkxzKQogICAgICAgICAgICAgZmlsZW5hbWVz
LmFwcGVuZChbZmlsZVVSTCBwYXRoXSk7CkBAIC00NzM1LDYgKzQ3NTUsNyBAQCAtIChVSVRhcmdl
dGVkRHJhZ1ByZXZpZXcgKilkcm9wSW50ZXJhY3Rpb246KFVJRHJvcEludGVyYWN0aW9uICopaW50
ZXJhY3Rpb24gcHJldgogCiAtICh2b2lkKWRyb3BJbnRlcmFjdGlvbjooVUlEcm9wSW50ZXJhY3Rp
b24gKilpbnRlcmFjdGlvbiBzZXNzaW9uRGlkRW5kOihpZCA8VUlEcm9wU2Vzc2lvbj4pc2Vzc2lv
bgogeworICAgIFJFTEVBU0VfTE9HKERyYWdBbmREcm9wLCAiRHJvcCBzZXNzaW9uIGVuZGVkOiAl
cCAocGVyZm9ybWluZyBvcGVyYXRpb246ICVkLCBiZWdhbiBkcmFnZ2luZzogJWQpIiwgc2Vzc2lv
biwgX2RhdGFJbnRlcmFjdGlvblN0YXRlLmlzUGVyZm9ybWluZ09wZXJhdGlvbiwgX2RhdGFJbnRl
cmFjdGlvblN0YXRlLmRpZEJlZ2luRHJhZ2dpbmcpOwogICAgIGlmIChfZGF0YUludGVyYWN0aW9u
U3RhdGUuaXNQZXJmb3JtaW5nT3BlcmF0aW9uIHx8IF9kYXRhSW50ZXJhY3Rpb25TdGF0ZS5kaWRC
ZWdpbkRyYWdnaW5nKQogICAgICAgICByZXR1cm47CiAK
</data>
<flag name="review"
          id="334379"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313534</attachid>
            <date>2017-06-21 11:15:08 -0700</date>
            <delta_ts>2017-06-21 11:54:48 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-173636-20170621111508.patch</filename>
            <type>text/plain</type>
            <size>11698</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4NjI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZTgxMTViODY0YjQwY2Q5
YWQ1OWU3NWMwMzhlOTNjNDU3ZTI0N2QzYi4uYTRlNmU0ZDVjOTAxM2UxYjcyZmE1ZDdjN2FjN2Q2
MGMzN2RjN2Y1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE3LTA2LTIwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1MgRG5EXSBb
V0syXSBBZGQgZHJhZy1hbmQtZHJvcCByZWxlYXNlIGxvZ2dpbmcgYXJvdW5kIFdLQ29udGVudFZp
ZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzYz
NgorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgQWRkIGxvZ2dp
bmcgYXQga2V5IHBvaW50cyBpbiB0aGUgZHJhZy1hbmQtZHJvcCBsaWZlY3ljbGUgaW4gdGhlIFVJ
IHByb2Nlc3MsIHNvIHRoYXQgc3lzZGlhZ25vc2VzIHdpbGwgY29udGFpbgorICAgICAgICBzdWZm
aWNpZW50IGluZm9ybWF0aW9uIHRvIGRlYnVnIHNwYXJzZSBmYWlsdXJlcy4KKworICAgICAgICAq
IFBsYXRmb3JtL0xvZ2dpbmcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfZGlkSGFuZGxlU3Rh
cnREYXRhSW50ZXJhY3Rpb25SZXF1ZXN0Ol0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNs
ZWFuVXBEcmFnU291cmNlU2Vzc2lvblN0YXRlXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcg
X2RpZFBlcmZvcm1EYXRhSW50ZXJhY3Rpb25Db250cm9sbGVyT3BlcmF0aW9uOl0pOgorICAgICAg
ICAoLVtXS0NvbnRlbnRWaWV3IF9kcmFnSW50ZXJhY3Rpb246cHJlcGFyZUZvclNlc3Npb246Y29t
cGxldGlvbjpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBkcmFnSW50ZXJhY3Rpb246aXRl
bXNGb3JCZWdpbm5pbmdTZXNzaW9uOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGRyYWdJ
bnRlcmFjdGlvbjpzZXNzaW9uV2lsbEJlZ2luOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3
IF9hcGlfZHJhZ0ludGVyYWN0aW9uOnNlc3Npb246ZGlkRW5kV2l0aE9wZXJhdGlvbjpdKToKKyAg
ICAgICAgKC1bV0tDb250ZW50VmlldyBkcm9wSW50ZXJhY3Rpb246Y2FuSGFuZGxlU2Vzc2lvbjpd
KToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfYXBpX2Ryb3BJbnRlcmFjdGlvbjpzZXNzaW9u
RGlkRW50ZXI6XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgZHJvcEludGVyYWN0aW9uOnNl
c3Npb25EaWRFeGl0Ol0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGRyb3BJbnRlcmFjdGlv
bjpwZXJmb3JtRHJvcDpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBkcm9wSW50ZXJhY3Rp
b246c2Vzc2lvbkRpZEVuZDpdKToKKwogMjAxNy0wNi0yMCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxt
bWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIERpc2FibGUgZm9udCB2YXJpYXRpb25zIG9u
IG1hY09TIFNpZXJyYSBhbmQgaU9TIDEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9Mb2dnaW5nLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmgKaW5kZXgg
YjQ3NzU2Y2JjMThkNGZlZTRmOGVlZTM3YzE4ZGI4NWJmOWE4Mzk2ZC4uYjZhZThkNzcyYzk4YmYy
NmI2NGUzMWQ0MzQzZDk2ZmQ3OWZkZGQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vTG9nZ2luZy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0xvZ2dpbmcuaApA
QCAtNDIsNiArNDIsNyBAQCBleHRlcm4gIkMiIHsKIAogI2RlZmluZSBXRUJLSVQyX0xPR19DSEFO
TkVMUyhNKSBcCiAgICAgTShDb250ZXh0TWVudSkgXAorICAgIE0oRHJhZ0FuZERyb3ApIFwKICAg
ICBNKEdhbWVwYWQpIFwKICAgICBNKEljb25EYXRhYmFzZSkgXAogICAgIE0oSURCKSBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLm1tCmluZGV4IGNhMzEzMjQyMGI1ODI3ZjMxNzUyZDAxYTM0NTFiYWVjYzNiZTYyMjAu
LjBiY2I2MTc1MDNkYWY5ZTRjMGRjZDYxOGMzZjc3YTM0NjQwMDI5ODYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
Lm1tCkBAIC00MjM5LDYgKzQyMzksNyBAQCAtICh2b2lkKV9kaWRIYW5kbGVTdGFydERhdGFJbnRl
cmFjdGlvblJlcXVlc3Q6KEJPT0wpc3RhcnRlZAogICAgICAgICBbc2VsZiBjbGVhblVwRHJhZ1Nv
dXJjZVNlc3Npb25TdGF0ZV07CiAgICAgfQogCisgICAgUkVMRUFTRV9MT0coRHJhZ0FuZERyb3As
ICJIYW5kbGluZyBkcmFnIHN0YXJ0IHJlcXVlc3QgKHN0YXJ0ZWQ6ICVkLCBjb21wbGV0aW9uIGJs
b2NrOiAlcCkiLCBzdGFydGVkLCBzYXZlZENvbXBsZXRpb25CbG9jay5nZXQoKSk7CiAgICAgaWYg
KHNhdmVkQ29tcGxldGlvbkJsb2NrKQogICAgICAgICBzYXZlZENvbXBsZXRpb25CbG9jaygpOwog
fQpAQCAtNDM1Niw2ICs0MzU3LDcgQEAgLSAoRHJhZ0RhdGEpZHJhZ0RhdGFGb3JEcm9wU2Vzc2lv
bjooaWQgPFVJRHJvcFNlc3Npb24+KXNlc3Npb24gZHJhZ0Rlc3RpbmF0aW9uQWMKIAogLSAodm9p
ZCljbGVhblVwRHJhZ1NvdXJjZVNlc3Npb25TdGF0ZQogeworICAgIFJFTEVBU0VfTE9HKERyYWdB
bmREcm9wLCAiQ2xlYW5pbmcgdXAgZHJhZ2dpbmcgc3RhdGUgKGhhcyBwZW5kaW5nIG9wZXJhdGlv
bjogJWQpIiwgW1tXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkIHNoYXJlZEluc3RhbmNlXSBoYXNQ
ZW5kaW5nT3BlcmF0aW9uXSk7CiAgICAgaWYgKCFbW1dlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQg
c2hhcmVkSW5zdGFuY2VdIGhhc1BlbmRpbmdPcGVyYXRpb25dKSB7CiAgICAgICAgIC8vIElmIHdl
J3JlIHBlcmZvcm1pbmcgYSBkcmFnIG9wZXJhdGlvbiwgZG9uJ3QgY2xlYXIgb3V0IHRoZSBwYXN0
ZWJvYXJkIHlldCwgc2luY2UgYW5vdGhlciB3ZWIgdmlldyBtYXkgc3RpbGwgcmVxdWlyZSBhY2Nl
c3MgdG8gaXQuCiAgICAgICAgIC8vIFRoZSBwYXN0ZWJvYXJkIHdpbGwgYmUgY2xlYXJlZCBhZnRl
ciB0aGUgbGFzdCBjbGllbnQgaXMgZmluaXNoZWQgcGVyZm9ybWluZyBhIGRyYWcgb3BlcmF0aW9u
IHVzaW5nIHRoZSBpdGVtIHByb3ZpZGVycy4KQEAgLTQ0MjcsNiArNDQyOSw3IEBAIC0gKHZvaWQp
X2RpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbjooc3RkOjpvcHRpb25hbDxUZXh0SW5kaWNh
dG9yRGF0YT4pZGF0YQogCiAtICh2b2lkKV9kaWRQZXJmb3JtRGF0YUludGVyYWN0aW9uQ29udHJv
bGxlck9wZXJhdGlvbjooQk9PTCloYW5kbGVkCiB7CisgICAgUkVMRUFTRV9MT0coRHJhZ0FuZERy
b3AsICJGaW5pc2hlZCBwZXJmb3JtaW5nIGRyYWcgY29udHJvbGxlciBvcGVyYXRpb24gKGhhbmRs
ZWQ6ICVkKSIsIGhhbmRsZWQpOwogICAgIFtbV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZCBzaGFy
ZWRJbnN0YW5jZV0gZGVjcmVtZW50UGVuZGluZ09wZXJhdGlvbkNvdW50XTsKICAgICBSZXRhaW5Q
dHI8aWQgPFVJRHJvcFNlc3Npb24+PiBkcm9wU2Vzc2lvbiA9IF9kYXRhSW50ZXJhY3Rpb25TdGF0
ZS5kcm9wU2Vzc2lvbjsKICAgICBpZiAoW3NlbGYud2ViVmlld1VJRGVsZWdhdGUgcmVzcG9uZHNU
b1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpkYXRhSW50ZXJhY3Rpb25PcGVyYXRpb25XYXNI
YW5kbGVkOmZvclNlc3Npb246aXRlbVByb3ZpZGVyczopXSkKQEAgLTQ1MDYsOCArNDUwOSwxMCBA
QCAtIChpZCA8VUlEcmFnRHJvcFNlc3Npb24+KWN1cnJlbnREcmFnT3JEcm9wU2Vzc2lvbgogCiAt
ICh2b2lkKV9kcmFnSW50ZXJhY3Rpb246KFVJRHJhZ0ludGVyYWN0aW9uICopaW50ZXJhY3Rpb24g
cHJlcGFyZUZvclNlc3Npb246KGlkIDxVSURyYWdTZXNzaW9uPilzZXNzaW9uIGNvbXBsZXRpb246
KGRpc3BhdGNoX2Jsb2NrX3QpY29tcGxldGlvbgogeworICAgIFJFTEVBU0VfTE9HKERyYWdBbmRE
cm9wLCAiUHJlcGFyaW5nIGZvciBkcmFnIHNlc3Npb246ICVwIiwgc2Vzc2lvbik7CiAgICAgaWYg
KHNlbGYuY3VycmVudERyYWdPckRyb3BTZXNzaW9uKSB7CiAgICAgICAgIC8vIEZJWE1FOiBTdXBw
b3J0IG11bHRpcGxlIHNpbXVsdGFuZW91cyBkcmFnIHNlc3Npb25zIGluIHRoZSBmdXR1cmUuCisg
ICAgICAgIFJFTEVBU0VfTE9HKERyYWdBbmREcm9wLCAiRHJhZyBzZXNzaW9uIGZhaWxlZDogJXAg
KGEgY3VycmVudCBkcmFnIHNlc3Npb24gYWxyZWFkeSBleGlzdHMpIiwgc2Vzc2lvbik7CiAgICAg
ICAgIGNvbXBsZXRpb24oKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTQ1MTksNiArNDUy
NCw3IEBAIC0gKHZvaWQpX2RyYWdJbnRlcmFjdGlvbjooVUlEcmFnSW50ZXJhY3Rpb24gKilpbnRl
cmFjdGlvbiBwcmVwYXJlRm9yU2Vzc2lvbjooaWQKIAogICAgIFtzZWxmIGRvQWZ0ZXJQb3NpdGlv
bkluZm9ybWF0aW9uVXBkYXRlOltyZXRhaW5lZFNlbGYsIHNlc3Npb24sIGRyYWdPcmlnaW4sIGNh
cHR1cmVkQmxvY2sgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbildIChJbnRlcmFjdGlvbkluZm9y
bWF0aW9uQXRQb3NpdGlvbiBwb3NpdGlvbkluZm9ybWF0aW9uKSB7CiAgICAgICAgIGlmICghcG9z
aXRpb25JbmZvcm1hdGlvbk1heVN0YXJ0RGF0YUludGVyYWN0aW9uKHBvc2l0aW9uSW5mb3JtYXRp
b24pKSB7CisgICAgICAgICAgICBSRUxFQVNFX0xPRyhEcmFnQW5kRHJvcCwgIkRyYWcgc2Vzc2lv
biBmYWlsZWQ6ICVwIChubyBkcmFnZ2FibGUgY29udGVudCBhdCB7JS4xZiwgJS4xZn0pIiwgc2Vz
c2lvbiwgZHJhZ09yaWdpbi54LCBkcmFnT3JpZ2luLnkpOwogICAgICAgICAgICAgY2FwdHVyZWRC
bG9jaygpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC00NTMxLDE4ICs0NTM3
LDI1IEBAIC0gKHZvaWQpX2RyYWdJbnRlcmFjdGlvbjooVUlEcmFnSW50ZXJhY3Rpb24gKilpbnRl
cmFjdGlvbiBwcmVwYXJlRm9yU2Vzc2lvbjooaWQKICAgICAgICAgc3RhdGUubGlua1VSTCA9IHJl
dGFpbmVkU2VsZi0+X3Bvc2l0aW9uSW5mb3JtYXRpb24udXJsOwogICAgICAgICBzdGF0ZS5kcmFn
U2Vzc2lvbiA9IHNlc3Npb247CiAgICAgICAgIHJldGFpbmVkU2VsZi0+X3BhZ2UtPnJlcXVlc3RT
dGFydERhdGFJbnRlcmFjdGlvbihyb3VuZGVkSW50UG9pbnQoc3RhdGUuYWRqdXN0ZWRPcmlnaW4p
LCByb3VuZGVkSW50UG9pbnQoW3JldGFpbmVkU2VsZiBjb252ZXJ0UG9pbnQ6c3RhdGUuYWRqdXN0
ZWRPcmlnaW4gdG9WaWV3OltyZXRhaW5lZFNlbGYgd2luZG93XV0pKTsKKworICAgICAgICBhdXRv
IGVsZW1lbnRCb3VuZHMgPSBzdGF0ZS5lbGVtZW50Qm91bmRzOworICAgICAgICBSRUxFQVNFX0xP
RyhEcmFnQW5kRHJvcCwgIkRyYWcgc2Vzc2lvbiByZXF1ZXN0ZWQ6ICVwIGF0IGVsZW1lbnQgYm91
bmRzOiB7eyUuMWYsICUuMWZ9LCB7JS4xZiwgJS4xZn19Iiwgc2Vzc2lvbiwgZWxlbWVudEJvdW5k
cy5vcmlnaW4ueCwgZWxlbWVudEJvdW5kcy5vcmlnaW4ueSwgZWxlbWVudEJvdW5kcy5zaXplLndp
ZHRoLCBlbGVtZW50Qm91bmRzLnNpemUuaGVpZ2h0KTsKICAgICB9IGZvclJlcXVlc3Q6SW50ZXJh
Y3Rpb25JbmZvcm1hdGlvblJlcXVlc3Qocm91bmRlZEludFBvaW50KGRyYWdPcmlnaW4pKV07CiB9
CiAKIC0gKE5TQXJyYXk8VUlEcmFnSXRlbSAqPiAqKWRyYWdJbnRlcmFjdGlvbjooVUlEcmFnSW50
ZXJhY3Rpb24gKilpbnRlcmFjdGlvbiBpdGVtc0ZvckJlZ2lubmluZ1Nlc3Npb246KGlkIDxVSURy
YWdTZXNzaW9uPilzZXNzaW9uCiB7Ci0gICAgaWYgKF9kYXRhSW50ZXJhY3Rpb25TdGF0ZS5kcmFn
U2Vzc2lvbiAhPSBzZXNzaW9uKQorICAgIFJFTEVBU0VfTE9HKERyYWdBbmREcm9wLCAiRHJhZyBp
dGVtcyByZXF1ZXN0ZWQgZm9yIHNlc3Npb246ICVwIiwgc2Vzc2lvbik7CisgICAgaWYgKF9kYXRh
SW50ZXJhY3Rpb25TdGF0ZS5kcmFnU2Vzc2lvbiAhPSBzZXNzaW9uKSB7CisgICAgICAgIFJFTEVB
U0VfTE9HKERyYWdBbmREcm9wLCAiRHJhZyBzZXNzaW9uIGZhaWxlZDogJXAgKGRlbGVnYXRlIHNl
c3Npb24gZG9lcyBub3QgbWF0Y2ggJXApIiwgc2Vzc2lvbiwgX2RhdGFJbnRlcmFjdGlvblN0YXRl
LmRyYWdTZXNzaW9uLmdldCgpKTsKICAgICAgICAgcmV0dXJuIEBbIF07CisgICAgfQogCiAgICAg
V2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZCAqZHJhZ2dpbmdQYXN0ZWJvYXJkID0gW1dlYkl0ZW1Q
cm92aWRlclBhc3RlYm9hcmQgc2hhcmVkSW5zdGFuY2VdOwogICAgIEFTU0VSVChpbnRlcmFjdGlv
biA9PSBfZGF0YUludGVyYWN0aW9uKTsKICAgICBOU1VJbnRlZ2VyIG51bWJlck9mSXRlbXMgPSBk
cmFnZ2luZ1Bhc3RlYm9hcmQubnVtYmVyT2ZJdGVtczsKICAgICBpZiAoIW51bWJlck9mSXRlbXMp
IHsKKyAgICAgICAgUkVMRUFTRV9MT0coRHJhZ0FuZERyb3AsICJEcmFnIHNlc3Npb24gZmFpbGVk
OiAlcCAobm8gaXRlbSBwcm92aWRlcnMgZ2VuZXJhdGVkIGJlZm9yZSBhZGp1c3RtZW50KSIsIHNl
c3Npb24pOwogICAgICAgICBfcGFnZS0+ZHJhZ0NhbmNlbGxlZCgpOwogICAgICAgICByZXR1cm4g
QFsgXTsKICAgICB9CkBAIC00NTc4LDYgKzQ1OTEsNyBAQCAtIChOU0FycmF5PFVJRHJhZ0l0ZW0g
Kj4gKilkcmFnSW50ZXJhY3Rpb246KFVJRHJhZ0ludGVyYWN0aW9uICopaW50ZXJhY3Rpb24gaXRl
bQogICAgIGlmICghW2l0ZW1zRm9yRHJhZ0ludGVyYWN0aW9uIGNvdW50XSkKICAgICAgICAgX3Bh
Z2UtPmRyYWdDYW5jZWxsZWQoKTsKIAorICAgIFJFTEVBU0VfTE9HKERyYWdBbmREcm9wLCAiRHJh
ZyBzZXNzaW9uOiAlcCBzdGFydGluZyB3aXRoICV0dSBpdGVtcyIsIHNlc3Npb24sIFtpdGVtc0Zv
ckRyYWdJbnRlcmFjdGlvbiBjb3VudF0pOwogICAgIHJldHVybiBpdGVtc0ZvckRyYWdJbnRlcmFj
dGlvbi5nZXQoKTsKIH0KIApAQCAtNDU5NCw2ICs0NjA4LDcgQEAgLSAoVUlUYXJnZXRlZERyYWdQ
cmV2aWV3ICopX2FwaV9kcmFnSW50ZXJhY3Rpb246KFVJRHJhZ0ludGVyYWN0aW9uICopaW50ZXJh
Y3Rpb24KIAogLSAodm9pZClkcmFnSW50ZXJhY3Rpb246KFVJRHJhZ0ludGVyYWN0aW9uICopaW50
ZXJhY3Rpb24gc2Vzc2lvbldpbGxCZWdpbjooaWQgPFVJRHJhZ1Nlc3Npb24+KXNlc3Npb24KIHsK
KyAgICBSRUxFQVNFX0xPRyhEcmFnQW5kRHJvcCwgIkRyYWcgc2Vzc2lvbiBiZWdpbm5pbmc6ICVw
Iiwgc2Vzc2lvbik7CiAgICAgaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+IHVpRGVsZWdhdGUgPSBz
ZWxmLndlYlZpZXdVSURlbGVnYXRlOwogICAgIGlmIChbdWlEZWxlZ2F0ZSByZXNwb25kc1RvU2Vs
ZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmRhdGFJbnRlcmFjdGlvbjpzZXNzaW9uV2lsbEJlZ2lu
OildKQogICAgICAgICBbdWlEZWxlZ2F0ZSBfd2ViVmlldzpfd2ViVmlldyBkYXRhSW50ZXJhY3Rp
b246aW50ZXJhY3Rpb24gc2Vzc2lvbldpbGxCZWdpbjpzZXNzaW9uXTsKQEAgLTQ2MDgsNiArNDYy
Myw3IEBAIC0gKHZvaWQpZHJhZ0ludGVyYWN0aW9uOihVSURyYWdJbnRlcmFjdGlvbiAqKWludGVy
YWN0aW9uIHNlc3Npb25XaWxsQmVnaW46KGlkIDxVCiAKIC0gKHZvaWQpX2FwaV9kcmFnSW50ZXJh
Y3Rpb246KFVJRHJhZ0ludGVyYWN0aW9uICopaW50ZXJhY3Rpb24gc2Vzc2lvbjooaWQgPFVJRHJh
Z1Nlc3Npb24+KXNlc3Npb24gZGlkRW5kV2l0aE9wZXJhdGlvbjooVUlEcm9wT3BlcmF0aW9uKW9w
ZXJhdGlvbgogeworICAgIFJFTEVBU0VfTE9HKERyYWdBbmREcm9wLCAiRHJhZyBzZXNzaW9uIGVu
ZGVkOiAlcCAod2l0aCBvcGVyYXRpb246ICV0dSwgcGVyZm9ybWluZyBvcGVyYXRpb246ICVkLCBi
ZWdhbiBkcmFnZ2luZzogJWQpIiwgc2Vzc2lvbiwgb3BlcmF0aW9uLCBfZGF0YUludGVyYWN0aW9u
U3RhdGUuaXNQZXJmb3JtaW5nT3BlcmF0aW9uLCBfZGF0YUludGVyYWN0aW9uU3RhdGUuZGlkQmVn
aW5EcmFnZ2luZyk7CiAgICAgaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+IHVpRGVsZWdhdGUgPSBz
ZWxmLndlYlZpZXdVSURlbGVnYXRlOwogICAgIGlmIChbdWlEZWxlZ2F0ZSByZXNwb25kc1RvU2Vs
ZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmRhdGFJbnRlcmFjdGlvbjpzZXNzaW9uOmRpZEVuZFdp
dGhPcGVyYXRpb246KV0pCiAgICAgICAgIFt1aURlbGVnYXRlIF93ZWJWaWV3Ol93ZWJWaWV3IGRh
dGFJbnRlcmFjdGlvbjppbnRlcmFjdGlvbiBzZXNzaW9uOnNlc3Npb24gZGlkRW5kV2l0aE9wZXJh
dGlvbjpvcGVyYXRpb25dOwpAQCAtNDY0MywxMSArNDY1OSwxNCBAQCAtIChCT09MKWRyb3BJbnRl
cmFjdGlvbjooVUlEcm9wSW50ZXJhY3Rpb24gKilpbnRlcmFjdGlvbiBjYW5IYW5kbGVTZXNzaW9u
OihpZDxVSQogewogICAgIC8vIEZJWE1FOiBTdXBwb3J0IG11bHRpcGxlIHNpbXVsdGFuZW91cyBk
cm9wIHNlc3Npb25zIGluIHRoZSBmdXR1cmUuCiAgICAgaWQgPFVJRHJhZ0Ryb3BTZXNzaW9uPiBk
cmFnT3JEcm9wU2Vzc2lvbiA9IHNlbGYuY3VycmVudERyYWdPckRyb3BTZXNzaW9uOworICAgIFJF
TEVBU0VfTE9HKERyYWdBbmREcm9wLCAiQ2FuIGhhbmRsZSBkcmFnIHNlc3Npb246ICVwIHdpdGgg
bG9jYWwgc2Vzc2lvbjogJXAgZXhpc3Rpbmcgc2Vzc2lvbjogJXA/Iiwgc2Vzc2lvbiwgc2Vzc2lv
bi5sb2NhbERyYWdTZXNzaW9uLCBkcmFnT3JEcm9wU2Vzc2lvbik7CisKICAgICByZXR1cm4gIWRy
YWdPckRyb3BTZXNzaW9uIHx8IHNlc3Npb24ubG9jYWxEcmFnU2Vzc2lvbiA9PSBkcmFnT3JEcm9w
U2Vzc2lvbjsKIH0KIAogLSAodm9pZClfYXBpX2Ryb3BJbnRlcmFjdGlvbjooVUlEcm9wSW50ZXJh
Y3Rpb24gKilpbnRlcmFjdGlvbiBzZXNzaW9uRGlkRW50ZXI6KGlkIDxVSURyb3BTZXNzaW9uPilz
ZXNzaW9uCiB7CisgICAgUkVMRUFTRV9MT0coRHJhZ0FuZERyb3AsICJEcm9wIHNlc3Npb24gZW50
ZXJlZDogJXAgd2l0aCAldHUgaXRlbXMiLCBzZXNzaW9uLCBzZXNzaW9uLml0ZW1zLmNvdW50KTsK
ICAgICBfZGF0YUludGVyYWN0aW9uU3RhdGUuZHJvcFNlc3Npb24gPSBzZXNzaW9uOwogCiAgICAg
W1tXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkIHNoYXJlZEluc3RhbmNlXSBzZXRJdGVtUHJvdmlk
ZXJzOmV4dHJhY3RJdGVtUHJvdmlkZXJzRnJvbURyb3BTZXNzaW9uKHNlc3Npb24pXTsKQEAgLTQ2
NzUsNiArNDY5NCw3IEBAIC0gKFVJRHJvcFByb3Bvc2FsICopX2FwaV9kcm9wSW50ZXJhY3Rpb246
KFVJRHJvcEludGVyYWN0aW9uICopaW50ZXJhY3Rpb24gc2Vzc2lvCiAKIC0gKHZvaWQpZHJvcElu
dGVyYWN0aW9uOihVSURyb3BJbnRlcmFjdGlvbiAqKWludGVyYWN0aW9uIHNlc3Npb25EaWRFeGl0
OihpZCA8VUlEcm9wU2Vzc2lvbj4pc2Vzc2lvbgogeworICAgIFJFTEVBU0VfTE9HKERyYWdBbmRE
cm9wLCAiRHJvcCBzZXNzaW9uIGV4aXRlZDogJXAgd2l0aCAldHUgaXRlbXMiLCBzZXNzaW9uLCBz
ZXNzaW9uLml0ZW1zLmNvdW50KTsKICAgICBbW1dlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQgc2hh
cmVkSW5zdGFuY2VdIHNldEl0ZW1Qcm92aWRlcnM6ZXh0cmFjdEl0ZW1Qcm92aWRlcnNGcm9tRHJv
cFNlc3Npb24oc2Vzc2lvbildOwogCiAgICAgYXV0byBkcmFnRGF0YSA9IFtzZWxmIGRyYWdEYXRh
Rm9yRHJvcFNlc3Npb246c2Vzc2lvbiBkcmFnRGVzdGluYXRpb25BY3Rpb246V0tEcmFnRGVzdGlu
YXRpb25BY3Rpb25BbnldOwpAQCAtNDcwMiwxMiArNDcyMiwxNCBAQCAtICh2b2lkKWRyb3BJbnRl
cmFjdGlvbjooVUlEcm9wSW50ZXJhY3Rpb24gKilpbnRlcmFjdGlvbiBwZXJmb3JtRHJvcDooaWQg
PFVJRHJvcAogICAgIF9kYXRhSW50ZXJhY3Rpb25TdGF0ZS5pc1BlcmZvcm1pbmdPcGVyYXRpb24g
PSBZRVM7CiAgICAgYXV0byBkcmFnRGF0YSA9IFtzZWxmIGRyYWdEYXRhRm9yRHJvcFNlc3Npb246
c2Vzc2lvbiBkcmFnRGVzdGluYXRpb25BY3Rpb246V0tEcmFnRGVzdGluYXRpb25BY3Rpb25Bbnld
OwogCisgICAgUkVMRUFTRV9MT0coRHJhZ0FuZERyb3AsICJMb2FkaW5nIGRhdGEgZnJvbSAldHUg
aXRlbSBwcm92aWRlcnMgZm9yIHNlc3Npb246ICVwIiwgaXRlbVByb3ZpZGVycy5jb3VudCwgc2Vz
c2lvbik7CiAgICAgLy8gQWx3YXlzIGxvYWRpbmcgY29udGVudCBmcm9tIHRoZSBpdGVtIHByb3Zp
ZGVyIGVuc3VyZXMgdGhhdCB0aGUgd2ViIHByb2Nlc3Mgd2lsbCBiZSBhbGxvd2VkIHRvIGNhbGwg
YmFjayBpbiB0byB0aGUgVUkKICAgICAvLyBwcm9jZXNzIHRvIGFjY2VzcyBwYXN0ZWJvYXJkIGNv
bnRlbnRzIGF0IGEgbGF0ZXIgdGltZS4gSWRlYWxseSwgd2Ugb25seSBuZWVkIHRvIGRvIHRoaXMg
d29yayBpZiB3ZSdyZSBvdmVyIGEgZmlsZSBpbnB1dAogICAgIC8vIG9yIHRoZSBwYWdlIHByZXZl
bnRlZCBkZWZhdWx0IG9uIGBkcmFnb3ZlcmAsIGJ1dCB3aXRob3V0IHRoaXMsIGRyb3BwaW5nIGlu
dG8gYSBub3JtYWwgZWRpdGFibGUgYXJlYXMgd2lsbCBmYWlsIGR1ZSB0bwogICAgIC8vIGl0ZW0g
cHJvdmlkZXJzIG5vdCBsb2FkaW5nIGFueSBkYXRhLgogICAgIFJldGFpblB0cjxXS0NvbnRlbnRW
aWV3PiByZXRhaW5lZFNlbGYoc2VsZik7CiAgICAgW1tXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJk
IHNoYXJlZEluc3RhbmNlXSBkb0FmdGVyTG9hZGluZ1Byb3ZpZGVkQ29udGVudEludG9GaWxlVVJM
czpbcmV0YWluZWRTZWxmLCBjYXB0dXJlZERyYWdEYXRhID0gV1RGTW92ZShkcmFnRGF0YSldIChO
U0FycmF5ICpmaWxlVVJMcykgbXV0YWJsZSB7CisgICAgICAgIFJFTEVBU0VfTE9HKERyYWdBbmRE
cm9wLCAiTG9hZGVkIGRhdGEgaW50byAldHUgZmlsZXMiLCBmaWxlVVJMcy5jb3VudCk7CiAgICAg
ICAgIFZlY3RvcjxTdHJpbmc+IGZpbGVuYW1lczsKICAgICAgICAgZm9yIChOU1VSTCAqZmlsZVVS
TCBpbiBmaWxlVVJMcykKICAgICAgICAgICAgIGZpbGVuYW1lcy5hcHBlbmQoW2ZpbGVVUkwgcGF0
aF0pOwpAQCAtNDc0NCw2ICs0NzY2LDcgQEAgLSAoVUlUYXJnZXRlZERyYWdQcmV2aWV3ICopZHJv
cEludGVyYWN0aW9uOihVSURyb3BJbnRlcmFjdGlvbiAqKWludGVyYWN0aW9uIHByZXYKIAogLSAo
dm9pZClkcm9wSW50ZXJhY3Rpb246KFVJRHJvcEludGVyYWN0aW9uICopaW50ZXJhY3Rpb24gc2Vz
c2lvbkRpZEVuZDooaWQgPFVJRHJvcFNlc3Npb24+KXNlc3Npb24KIHsKKyAgICBSRUxFQVNFX0xP
RyhEcmFnQW5kRHJvcCwgIkRyb3Agc2Vzc2lvbiBlbmRlZDogJXAgKHBlcmZvcm1pbmcgb3BlcmF0
aW9uOiAlZCwgYmVnYW4gZHJhZ2dpbmc6ICVkKSIsIHNlc3Npb24sIF9kYXRhSW50ZXJhY3Rpb25T
dGF0ZS5pc1BlcmZvcm1pbmdPcGVyYXRpb24sIF9kYXRhSW50ZXJhY3Rpb25TdGF0ZS5kaWRCZWdp
bkRyYWdnaW5nKTsKICAgICBpZiAoX2RhdGFJbnRlcmFjdGlvblN0YXRlLmlzUGVyZm9ybWluZ09w
ZXJhdGlvbiB8fCBfZGF0YUludGVyYWN0aW9uU3RhdGUuZGlkQmVnaW5EcmFnZ2luZykKICAgICAg
ICAgcmV0dXJuOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>