<?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>194954</bug_id>
          
          <creation_ts>2019-02-22 11:36:58 -0800</creation_ts>
          <short_desc>Regression(PSON) Unable to preview password-protected documents on iCloud.com</short_desc>
          <delta_ts>2019-02-23 08:13:33 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1509081</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-22 11:36:58 -0800</bug_when>
    <thetext>Unable to preview password-protected documents on iCloud.com when PSON is enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509082</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-22 11:37:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/48127957&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509083</commentid>
    <comment_count>2</comment_count>
      <attachid>362736</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-22 11:38:43 -0800</bug_when>
    <thetext>Created attachment 362736
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509092</commentid>
    <comment_count>3</comment_count>
      <attachid>362736</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-22 11:57:19 -0800</bug_when>
    <thetext>Comment on attachment 362736
Patch

Trying to write an API test...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509116</commentid>
    <comment_count>4</comment_count>
      <attachid>362745</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-22 12:27:14 -0800</bug_when>
    <thetext>Created attachment 362745
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509118</commentid>
    <comment_count>5</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-02-22 12:30:23 -0800</bug_when>
    <thetext>Attachment 362745 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:180:  Misplaced OS version check. Please use a named macro in wtf/Platform.h, wtf/FeatureDefines.h, or an appropriate internal file.  [build/version_check] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:5345:  Misplaced OS version check. Please use a named macro in wtf/Platform.h, wtf/FeatureDefines.h, or an appropriate internal file.  [build/version_check] [5]
Total errors found: 2 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509121</commentid>
    <comment_count>6</comment_count>
      <attachid>362745</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-02-22 12:37:38 -0800</bug_when>
    <thetext>Comment on attachment 362745
Patch

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

&gt; Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:1167
&gt; +    pageClient().requestPasswordForQuickLookDocument(fileName, [protectedThis = makeRef(*this), process = WTFMove(process)](const String&amp; password) {

I&apos;m not sure you would need to protect this here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509124</commentid>
    <comment_count>7</comment_count>
      <attachid>362745</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-22 12:40:31 -0800</bug_when>
    <thetext>Comment on attachment 362745
Patch

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

&gt;&gt; Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:1167
&gt;&gt; +    pageClient().requestPasswordForQuickLookDocument(fileName, [protectedThis = makeRef(*this), process = WTFMove(process)](const String&amp; password) {
&gt; 
&gt; I&apos;m not sure you would need to protect this here.

I think I need to. I understand that a page normally keeps its process alive. However, with PSON, the process associated with a page may change. E.g. You start a provisional load, which requests a password, then you start another cross-site provisional load which cancels the first one.
By the time the client calls the completion handler, the process may be dead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509127</commentid>
    <comment_count>8</comment_count>
      <attachid>362750</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-22 12:44:06 -0800</bug_when>
    <thetext>Created attachment 362750
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509132</commentid>
    <comment_count>9</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-02-22 12:46:36 -0800</bug_when>
    <thetext>Attachment 362750 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:73:  Misplaced OS version check. Please use a named macro in wtf/Platform.h, wtf/FeatureDefines.h, or an appropriate internal file.  [build/version_check] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:183:  Misplaced OS version check. Please use a named macro in wtf/Platform.h, wtf/FeatureDefines.h, or an appropriate internal file.  [build/version_check] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:5348:  Misplaced OS version check. Please use a named macro in wtf/Platform.h, wtf/FeatureDefines.h, or an appropriate internal file.  [build/version_check] [5]
Total errors found: 3 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509133</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-22 12:46:54 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #7)
&gt; Comment on attachment 362745 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=362745&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:1167
&gt; &gt;&gt; +    pageClient().requestPasswordForQuickLookDocument(fileName, [protectedThis = makeRef(*this), process = WTFMove(process)](const String&amp; password) {
&gt; &gt; 
&gt; &gt; I&apos;m not sure you would need to protect this here.
&gt; 
&gt; I think I need to. I understand that a page normally keeps its process
&gt; alive. However, with PSON, the process associated with a page may change.
&gt; E.g. You start a provisional load, which requests a password, then you start
&gt; another cross-site provisional load which cancels the first one.
&gt; By the time the client calls the completion handler, the process may be dead.

Oh, I misread your comment. You&apos;re talking about protecting *this*. I think you&apos;re right, assuming I capture the pageID.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509134</commentid>
    <comment_count>11</comment_count>
      <attachid>362753</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-22 12:48:51 -0800</bug_when>
    <thetext>Created attachment 362753
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509136</commentid>
    <comment_count>12</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-02-22 12:50:39 -0800</bug_when>
    <thetext>Attachment 362753 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:73:  Misplaced OS version check. Please use a named macro in wtf/Platform.h, wtf/FeatureDefines.h, or an appropriate internal file.  [build/version_check] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:183:  Misplaced OS version check. Please use a named macro in wtf/Platform.h, wtf/FeatureDefines.h, or an appropriate internal file.  [build/version_check] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:5348:  Misplaced OS version check. Please use a named macro in wtf/Platform.h, wtf/FeatureDefines.h, or an appropriate internal file.  [build/version_check] [5]
Total errors found: 3 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509137</commentid>
    <comment_count>13</comment_count>
      <attachid>362754</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-22 12:55:05 -0800</bug_when>
    <thetext>Created attachment 362754
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509138</commentid>
    <comment_count>14</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-02-22 12:57:47 -0800</bug_when>
    <thetext>Attachment 362754 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:73:  Misplaced OS version check. Please use a named macro in wtf/Platform.h, wtf/FeatureDefines.h, or an appropriate internal file.  [build/version_check] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:183:  Misplaced OS version check. Please use a named macro in wtf/Platform.h, wtf/FeatureDefines.h, or an appropriate internal file.  [build/version_check] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:5348:  Misplaced OS version check. Please use a named macro in wtf/Platform.h, wtf/FeatureDefines.h, or an appropriate internal file.  [build/version_check] [5]
Total errors found: 3 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509145</commentid>
    <comment_count>15</comment_count>
      <attachid>362754</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-22 13:17:50 -0800</bug_when>
    <thetext>Comment on attachment 362754
Patch

Clearing flags on attachment: 362754

Committed r241963: &lt;https://trac.webkit.org/changeset/241963&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509146</commentid>
    <comment_count>16</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-22 13:17:51 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509344</commentid>
    <comment_count>17</comment_count>
      <attachid>362754</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-02-23 00:50:34 -0800</bug_when>
    <thetext>Comment on attachment 362754
Patch

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

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:73
&gt; +#if PLATFORM(IOS) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 110000

Why? We don’t support iOS 10.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509369</commentid>
    <comment_count>18</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-23 08:13:33 -0800</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #17)
&gt; Comment on attachment 362754 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=362754&amp;action=review
&gt; 
&gt; &gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:73
&gt; &gt; +#if PLATFORM(IOS) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 110000
&gt; 
&gt; Why? We don’t support iOS 10.

I copied it from an existing quicklook password test.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362736</attachid>
            <date>2019-02-22 11:38:43 -0800</date>
            <delta_ts>2019-02-22 12:27:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194954-20190222113842.patch</filename>
            <type>text/plain</type>
            <size>7127</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxOTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGMwNDdmMmJkYjc1OTUwOThm
ZWQxMWRlMDkyZDBmYjEyYTk4NWNlYTMuLmUyYTU1YmFjN2NmYWE0MGU5MTY4YWJjZjcyZmUyNDhi
YzJkNjg5YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMDItMjIgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSZWdyZXNzaW9uKFBTT04pIFVuYWJs
ZSB0byBwcmV2aWV3IHBhc3N3b3JkLXByb3RlY3RlZCBkb2N1bWVudHMgb24gaUNsb3VkLmNvbQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0OTU0Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80ODEyNzk1Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHN1cmUgdGhlIFByb3Zpc2lvbmFsUGFnZVBy
b3h5IGZvcndhcmRzIHRvIHRoZSBXZWJQYWdlUHJveHkgdGhlIFF1aWNrTG9vay1yZWxhdGVkCisg
ICAgICAgIElQQyBvbiBpT1MuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBhZ2VQcm94eTo6ZGlkUmVx
dWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFtZSk6CisgICAgICAgIChX
ZWJLaXQ6OlByb3Zpc2lvbmFsUGFnZVByb3h5OjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAg
ICogVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9T
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZFJlcXVlc3RQYXNzd29yZEZv
clF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
UHJveHk6OmRpZFJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWVT
aGFyZWQpOgorCiAyMDE5LTAyLTIyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAK
ICAgICAgICAgUkVHUkVTU0lPTihQU09OKSBTY3JvbGwgcG9zaXRpb24gaXMgc29tZXRpbWVzIG5v
dCByZXN0b3JlZCBvbiBoaXN0b3J5IG5hdmlnYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcAppbmRleCBlYjI5OWE4N2I3NTU1ZjAzY2M4
ZTI1ZGQxOTkyYzk1YTBmNDczOWYyLi5kNGJkY2M0ZWNhMzNjYThlZTMwYTkzZTljZmU0NjA0Zjgx
YWM2M2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBh
Z2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdl
UHJveHkuY3BwCkBAIC0zMjcsNiArMzI3LDEzIEBAIHZvaWQgUHJvdmlzaW9uYWxQYWdlUHJveHk6
OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25TeW5jKHVpbnQ2NF90IGZyYW1lSUQsCiAg
ICAgICAgIFdURk1vdmUoZnJhbWVJbmZvRGF0YSksIG9yaWdpbmF0aW5nUGFnZUlELCBvcmlnaW5h
bFJlcXVlc3QsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUocmVxdWVzdEJvZHkpLCBXVEZNb3Zl
KHJlZGlyZWN0UmVzcG9uc2UpLCB1c2VyRGF0YSwgV1RGTW92ZShyZXBseSkpOwogfQogCisjaWYg
VVNFKFFVSUNLX0xPT0spCit2b2lkIFByb3Zpc2lvbmFsUGFnZVByb3h5OjpkaWRSZXF1ZXN0UGFz
c3dvcmRGb3JRdWlja0xvb2tEb2N1bWVudEluTWFpbkZyYW1lKGNvbnN0IFN0cmluZyYgZmlsZU5h
bWUpCit7CisgICAgbV9wYWdlLmRpZFJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50
SW5NYWluRnJhbWVTaGFyZWQobV9wcm9jZXNzLmNvcHlSZWYoKSwgZmlsZU5hbWUpOworfQorI2Vu
ZGlmCisKICNpZiBQTEFURk9STShDT0NPQSkKIHZvaWQgUHJvdmlzaW9uYWxQYWdlUHJveHk6OnJl
Z2lzdGVyV2ViUHJvY2Vzc0FjY2Vzc2liaWxpdHlUb2tlbihjb25zdCBJUEM6OkRhdGFSZWZlcmVu
Y2UmIGRhdGEpCiB7CkBAIC0zNDQsNiArMzUxLDEwIEBAIHZvaWQgUHJvdmlzaW9uYWxQYWdlUHJv
eHk6OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpE
CiAgICAgICAgIHx8IGRlY29kZXIubWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUGFnZVBy
b3h5OjpMb2dEaWFnbm9zdGljTWVzc2FnZTo6bmFtZSgpCiAgICAgICAgIHx8IGRlY29kZXIubWVz
c2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpMb2dEaWFnbm9zdGljTWVzc2Fn
ZVdpdGhFbmhhbmNlZFByaXZhY3k6Om5hbWUoKQogICAgICAgICB8fCBkZWNvZGVyLm1lc3NhZ2VO
YW1lKCkgPT0gTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0TmV0d29ya1JlcXVlc3RzSW5Qcm9n
cmVzczo6bmFtZSgpCisjaWYgVVNFKFFVSUNLX0xPT0spCisgICAgICAgIHx8IGRlY29kZXIubWVz
c2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRTdGFydExvYWRGb3JRdWlj
a0xvb2tEb2N1bWVudEluTWFpbkZyYW1lOjpuYW1lKCkKKyAgICAgICAgfHwgZGVjb2Rlci5tZXNz
YWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZEZpbmlzaExvYWRGb3JRdWlj
a0xvb2tEb2N1bWVudEluTWFpbkZyYW1lOjpuYW1lKCkKKyNlbmRpZgogICAgICAgICApCiAgICAg
ewogICAgICAgICBtX3BhZ2UuZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7
CkBAIC00MTcsNiArNDI4LDEzIEBAIHZvaWQgUHJvdmlzaW9uYWxQYWdlUHJveHk6OmRpZFJlY2Vp
dmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpECiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKKyNpZiBVU0UoUVVJQ0tfTE9PSykKKyAgICBpZiAoZGVjb2Rlci5tZXNz
YWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFJlcXVlc3RQYXNzd29yZEZv
clF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWU6Om5hbWUoKSkgeworICAgICAgICBJUEM6Omhh
bmRsZU1lc3NhZ2U8TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkUmVxdWVzdFBhc3N3b3JkRm9y
UXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFtZT4oZGVjb2RlciwgdGhpcywgJlByb3Zpc2lvbmFs
UGFnZVByb3h5OjpkaWRSZXF1ZXN0UGFzc3dvcmRGb3JRdWlja0xvb2tEb2N1bWVudEluTWFpbkZy
YW1lKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorCiAgICAgTE9HKFByb2Nlc3NT
d2FwcGluZywgIlVuaGFuZGxlZCBtZXNzYWdlICVzOjolcyBmcm9tIHByb3Zpc2lvbmFsIHByb2Nl
c3MiLCBkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKS50b1N0cmluZygpLmRhdGEoKSwgZGVj
b2Rlci5tZXNzYWdlTmFtZSgpLnRvU3RyaW5nKCkuZGF0YSgpKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmgKaW5kZXggYzQyZmU2ZGY0YmFk
ODhjMDliZDQ4NGVlNjNiNjNmMDQ0ZWRjNDU5MC4uNWRiOTg4Njc2MTBkNGUyYTFjZmUwOGYxMWUy
YmQ4MWJlODc4YTM3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlz
aW9uYWxQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25h
bFBhZ2VQcm94eS5oCkBAIC0xMDUsNiArMTA1LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRlY2lk
ZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25TeW5jKHVpbnQ2NF90IGZyYW1lSUQsIGJvb2wgaXNN
YWluRnJhbWUsIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYmLCBXZWJDb3JlOjpQb2xpY3lD
aGVja0lkZW50aWZpZXIsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgTmF2aWdhdGlvbkFjdGlvbkRh
dGEmJiwKICAgICAgICAgRnJhbWVJbmZvRGF0YSYmLCB1aW50NjRfdCBvcmlnaW5hdGluZ1BhZ2VJ
RCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBvcmlnaW5hbFJlcXVlc3QsIFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYmLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlJiYgcmVxdWVzdEJv
ZHksCiAgICAgICAgIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiByZWRpcmVjdFJlc3BvbnNl
LCBjb25zdCBVc2VyRGF0YSYsIE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRlY2lkZVBvbGljeUZv
ck5hdmlnYXRpb25BY3Rpb25TeW5jOjpEZWxheWVkUmVwbHkmJik7CisjaWYgVVNFKFFVSUNLX0xP
T0spCisgICAgdm9pZCBkaWRSZXF1ZXN0UGFzc3dvcmRGb3JRdWlja0xvb2tEb2N1bWVudEluTWFp
bkZyYW1lKGNvbnN0IFN0cmluZyYgZmlsZU5hbWUpOworI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgdm9pZCByZWdpc3RlcldlYlByb2Nlc3NBY2Nlc3NpYmlsaXR5VG9rZW4oY29uc3Qg
SVBDOjpEYXRhUmVmZXJlbmNlJik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKaW5kZXggNzBlODFkNTJlOGUwYTY1ODg4NjY1M2NjZjBiMzJlY2NlZjYyOGY3YS4u
ZDRmMTdmMGYzMDYxZWNmYmFiZDE3NzhkZTBlNGE3ZTgxYmIwYWUxYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE0NTgsNiArMTQ1OCw5IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25TeW5jU2hhcmVkKFJlZjxXZWJQ
cm9jZXNzUHJveHk+JiYsIHVpbnQ2NF90IGZyYW1lSUQsIGJvb2wgaXNNYWluRnJhbWUsIFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYmLCBXZWJDb3JlOjpQb2xpY3lDaGVja0lkZW50aWZpZXIs
IHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgTmF2aWdhdGlvbkFjdGlvbkRhdGEmJiwKICAgICAgICAg
RnJhbWVJbmZvRGF0YSYmLCB1aW50NjRfdCBvcmlnaW5hdGluZ1BhZ2VJRCwgY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0JiBvcmlnaW5hbFJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCYmLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlJiYgcmVxdWVzdEJvZHksCiAgICAgICAgIFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiByZWRpcmVjdFJlc3BvbnNlLCBjb25zdCBVc2VyRGF0
YSYsIE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b25TeW5jOjpEZWxheWVkUmVwbHkmJik7CisjaWYgVVNFKFFVSUNLX0xPT0spCisgICAgdm9pZCBk
aWRSZXF1ZXN0UGFzc3dvcmRGb3JRdWlja0xvb2tEb2N1bWVudEluTWFpbkZyYW1lU2hhcmVkKFJl
ZjxXZWJQcm9jZXNzUHJveHk+JiYsIGNvbnN0IFN0cmluZyYgZmlsZU5hbWUpOworI2VuZGlmCiAK
ICAgICB2b2lkIGR1bXBBZENsaWNrQXR0cmlidXRpb24oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChj
b25zdCBTdHJpbmcmKT4mJik7CiAgICAgdm9pZCBjbGVhckFkQ2xpY2tBdHRyaWJ1dGlvbihDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XZWJQYWdlUHJveHlJT1MubW0KaW5kZXggZmZlMzk5NTJhMzgwMGU3M2Y1MGUxZTgxYTEzNTNk
ZTk3NTlmOGI2Yi4uMTdiNGFkMzZmNDgyZWFkNzk5NzAwZjE3ZjhjNjk0M2NhN2M5YWZkZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCkBAIC0x
MTU5LDggKzExNTksMTMgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZEZpbmlzaExvYWRGb3JRdWlj
a0xvb2tEb2N1bWVudEluTWFpbkZyYW1lKGNvbnN0IFF1aWNrTG9va0QKIAogdm9pZCBXZWJQYWdl
UHJveHk6OmRpZFJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWUo
Y29uc3QgU3RyaW5nJiBmaWxlTmFtZSkKIHsKLSAgICBwYWdlQ2xpZW50KCkucmVxdWVzdFBhc3N3
b3JkRm9yUXVpY2tMb29rRG9jdW1lbnQoZmlsZU5hbWUsIFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJl
ZigqdGhpcyldKGNvbnN0IFN0cmluZyYgcGFzc3dvcmQpIHsKLSAgICAgICAgcHJvdGVjdGVkVGhp
cy0+cHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRpZFJlY2VpdmVQYXNzd29yZEZv
clF1aWNrTG9va0RvY3VtZW50KHBhc3N3b3JkKSwgcHJvdGVjdGVkVGhpcy0+bV9wYWdlSUQpOwor
ICAgIGRpZFJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWVTaGFy
ZWQobV9wcm9jZXNzLmNvcHlSZWYoKSwgZmlsZU5hbWUpOworfQorCit2b2lkIFdlYlBhZ2VQcm94
eTo6ZGlkUmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFtZVNoYXJl
ZChSZWY8V2ViUHJvY2Vzc1Byb3h5PiYmIHByb2Nlc3MsIGNvbnN0IFN0cmluZyYgZmlsZU5hbWUp
Cit7CisgICAgcGFnZUNsaWVudCgpLnJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50
KGZpbGVOYW1lLCBbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBwcm9jZXNzID0gV1RG
TW92ZShwcm9jZXNzKV0oY29uc3QgU3RyaW5nJiBwYXNzd29yZCkgeworICAgICAgICBwcm9jZXNz
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRSZWNlaXZlUGFzc3dvcmRGb3JRdWlja0xvb2tE
b2N1bWVudChwYXNzd29yZCksIHByb3RlY3RlZFRoaXMtPm1fcGFnZUlEKTsKICAgICB9KTsKIH0K
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362745</attachid>
            <date>2019-02-22 12:27:14 -0800</date>
            <delta_ts>2019-02-22 12:44:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194954-20190222122713.patch</filename>
            <type>text/plain</type>
            <size>11884</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxOTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGMwNDdmMmJkYjc1OTUwOThm
ZWQxMWRlMDkyZDBmYjEyYTk4NWNlYTMuLmUyYTU1YmFjN2NmYWE0MGU5MTY4YWJjZjcyZmUyNDhi
YzJkNjg5YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMDItMjIgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSZWdyZXNzaW9uKFBTT04pIFVuYWJs
ZSB0byBwcmV2aWV3IHBhc3N3b3JkLXByb3RlY3RlZCBkb2N1bWVudHMgb24gaUNsb3VkLmNvbQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0OTU0Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80ODEyNzk1Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHN1cmUgdGhlIFByb3Zpc2lvbmFsUGFnZVBy
b3h5IGZvcndhcmRzIHRvIHRoZSBXZWJQYWdlUHJveHkgdGhlIFF1aWNrTG9vay1yZWxhdGVkCisg
ICAgICAgIElQQyBvbiBpT1MuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBhZ2VQcm94eTo6ZGlkUmVx
dWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFtZSk6CisgICAgICAgIChX
ZWJLaXQ6OlByb3Zpc2lvbmFsUGFnZVByb3h5OjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAg
ICogVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9T
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZFJlcXVlc3RQYXNzd29yZEZv
clF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
UHJveHk6OmRpZFJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWVT
aGFyZWQpOgorCiAyMDE5LTAyLTIyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAK
ICAgICAgICAgUkVHUkVTU0lPTihQU09OKSBTY3JvbGwgcG9zaXRpb24gaXMgc29tZXRpbWVzIG5v
dCByZXN0b3JlZCBvbiBoaXN0b3J5IG5hdmlnYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcAppbmRleCBlYjI5OWE4N2I3NTU1ZjAzY2M4
ZTI1ZGQxOTkyYzk1YTBmNDczOWYyLi5kNGJkY2M0ZWNhMzNjYThlZTMwYTkzZTljZmU0NjA0Zjgx
YWM2M2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBh
Z2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdl
UHJveHkuY3BwCkBAIC0zMjcsNiArMzI3LDEzIEBAIHZvaWQgUHJvdmlzaW9uYWxQYWdlUHJveHk6
OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25TeW5jKHVpbnQ2NF90IGZyYW1lSUQsCiAg
ICAgICAgIFdURk1vdmUoZnJhbWVJbmZvRGF0YSksIG9yaWdpbmF0aW5nUGFnZUlELCBvcmlnaW5h
bFJlcXVlc3QsIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUocmVxdWVzdEJvZHkpLCBXVEZNb3Zl
KHJlZGlyZWN0UmVzcG9uc2UpLCB1c2VyRGF0YSwgV1RGTW92ZShyZXBseSkpOwogfQogCisjaWYg
VVNFKFFVSUNLX0xPT0spCit2b2lkIFByb3Zpc2lvbmFsUGFnZVByb3h5OjpkaWRSZXF1ZXN0UGFz
c3dvcmRGb3JRdWlja0xvb2tEb2N1bWVudEluTWFpbkZyYW1lKGNvbnN0IFN0cmluZyYgZmlsZU5h
bWUpCit7CisgICAgbV9wYWdlLmRpZFJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50
SW5NYWluRnJhbWVTaGFyZWQobV9wcm9jZXNzLmNvcHlSZWYoKSwgZmlsZU5hbWUpOworfQorI2Vu
ZGlmCisKICNpZiBQTEFURk9STShDT0NPQSkKIHZvaWQgUHJvdmlzaW9uYWxQYWdlUHJveHk6OnJl
Z2lzdGVyV2ViUHJvY2Vzc0FjY2Vzc2liaWxpdHlUb2tlbihjb25zdCBJUEM6OkRhdGFSZWZlcmVu
Y2UmIGRhdGEpCiB7CkBAIC0zNDQsNiArMzUxLDEwIEBAIHZvaWQgUHJvdmlzaW9uYWxQYWdlUHJv
eHk6OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpE
CiAgICAgICAgIHx8IGRlY29kZXIubWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUGFnZVBy
b3h5OjpMb2dEaWFnbm9zdGljTWVzc2FnZTo6bmFtZSgpCiAgICAgICAgIHx8IGRlY29kZXIubWVz
c2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpMb2dEaWFnbm9zdGljTWVzc2Fn
ZVdpdGhFbmhhbmNlZFByaXZhY3k6Om5hbWUoKQogICAgICAgICB8fCBkZWNvZGVyLm1lc3NhZ2VO
YW1lKCkgPT0gTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0TmV0d29ya1JlcXVlc3RzSW5Qcm9n
cmVzczo6bmFtZSgpCisjaWYgVVNFKFFVSUNLX0xPT0spCisgICAgICAgIHx8IGRlY29kZXIubWVz
c2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRTdGFydExvYWRGb3JRdWlj
a0xvb2tEb2N1bWVudEluTWFpbkZyYW1lOjpuYW1lKCkKKyAgICAgICAgfHwgZGVjb2Rlci5tZXNz
YWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZEZpbmlzaExvYWRGb3JRdWlj
a0xvb2tEb2N1bWVudEluTWFpbkZyYW1lOjpuYW1lKCkKKyNlbmRpZgogICAgICAgICApCiAgICAg
ewogICAgICAgICBtX3BhZ2UuZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7
CkBAIC00MTcsNiArNDI4LDEzIEBAIHZvaWQgUHJvdmlzaW9uYWxQYWdlUHJveHk6OmRpZFJlY2Vp
dmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpECiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKKyNpZiBVU0UoUVVJQ0tfTE9PSykKKyAgICBpZiAoZGVjb2Rlci5tZXNz
YWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFJlcXVlc3RQYXNzd29yZEZv
clF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWU6Om5hbWUoKSkgeworICAgICAgICBJUEM6Omhh
bmRsZU1lc3NhZ2U8TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkUmVxdWVzdFBhc3N3b3JkRm9y
UXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFtZT4oZGVjb2RlciwgdGhpcywgJlByb3Zpc2lvbmFs
UGFnZVByb3h5OjpkaWRSZXF1ZXN0UGFzc3dvcmRGb3JRdWlja0xvb2tEb2N1bWVudEluTWFpbkZy
YW1lKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorCiAgICAgTE9HKFByb2Nlc3NT
d2FwcGluZywgIlVuaGFuZGxlZCBtZXNzYWdlICVzOjolcyBmcm9tIHByb3Zpc2lvbmFsIHByb2Nl
c3MiLCBkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKS50b1N0cmluZygpLmRhdGEoKSwgZGVj
b2Rlci5tZXNzYWdlTmFtZSgpLnRvU3RyaW5nKCkuZGF0YSgpKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmgKaW5kZXggYzQyZmU2ZGY0YmFk
ODhjMDliZDQ4NGVlNjNiNjNmMDQ0ZWRjNDU5MC4uNWRiOTg4Njc2MTBkNGUyYTFjZmUwOGYxMWUy
YmQ4MWJlODc4YTM3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlz
aW9uYWxQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25h
bFBhZ2VQcm94eS5oCkBAIC0xMDUsNiArMTA1LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRlY2lk
ZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25TeW5jKHVpbnQ2NF90IGZyYW1lSUQsIGJvb2wgaXNN
YWluRnJhbWUsIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYmLCBXZWJDb3JlOjpQb2xpY3lD
aGVja0lkZW50aWZpZXIsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgTmF2aWdhdGlvbkFjdGlvbkRh
dGEmJiwKICAgICAgICAgRnJhbWVJbmZvRGF0YSYmLCB1aW50NjRfdCBvcmlnaW5hdGluZ1BhZ2VJ
RCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBvcmlnaW5hbFJlcXVlc3QsIFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYmLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlJiYgcmVxdWVzdEJv
ZHksCiAgICAgICAgIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiByZWRpcmVjdFJlc3BvbnNl
LCBjb25zdCBVc2VyRGF0YSYsIE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRlY2lkZVBvbGljeUZv
ck5hdmlnYXRpb25BY3Rpb25TeW5jOjpEZWxheWVkUmVwbHkmJik7CisjaWYgVVNFKFFVSUNLX0xP
T0spCisgICAgdm9pZCBkaWRSZXF1ZXN0UGFzc3dvcmRGb3JRdWlja0xvb2tEb2N1bWVudEluTWFp
bkZyYW1lKGNvbnN0IFN0cmluZyYgZmlsZU5hbWUpOworI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgdm9pZCByZWdpc3RlcldlYlByb2Nlc3NBY2Nlc3NpYmlsaXR5VG9rZW4oY29uc3Qg
SVBDOjpEYXRhUmVmZXJlbmNlJik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKaW5kZXggNzBlODFkNTJlOGUwYTY1ODg4NjY1M2NjZjBiMzJlY2NlZjYyOGY3YS4u
ZDRmMTdmMGYzMDYxZWNmYmFiZDE3NzhkZTBlNGE3ZTgxYmIwYWUxYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE0NTgsNiArMTQ1OCw5IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25TeW5jU2hhcmVkKFJlZjxXZWJQ
cm9jZXNzUHJveHk+JiYsIHVpbnQ2NF90IGZyYW1lSUQsIGJvb2wgaXNNYWluRnJhbWUsIFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYmLCBXZWJDb3JlOjpQb2xpY3lDaGVja0lkZW50aWZpZXIs
IHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgTmF2aWdhdGlvbkFjdGlvbkRhdGEmJiwKICAgICAgICAg
RnJhbWVJbmZvRGF0YSYmLCB1aW50NjRfdCBvcmlnaW5hdGluZ1BhZ2VJRCwgY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0JiBvcmlnaW5hbFJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCYmLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlJiYgcmVxdWVzdEJvZHksCiAgICAgICAgIFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiByZWRpcmVjdFJlc3BvbnNlLCBjb25zdCBVc2VyRGF0
YSYsIE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b25TeW5jOjpEZWxheWVkUmVwbHkmJik7CisjaWYgVVNFKFFVSUNLX0xPT0spCisgICAgdm9pZCBk
aWRSZXF1ZXN0UGFzc3dvcmRGb3JRdWlja0xvb2tEb2N1bWVudEluTWFpbkZyYW1lU2hhcmVkKFJl
ZjxXZWJQcm9jZXNzUHJveHk+JiYsIGNvbnN0IFN0cmluZyYgZmlsZU5hbWUpOworI2VuZGlmCiAK
ICAgICB2b2lkIGR1bXBBZENsaWNrQXR0cmlidXRpb24oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChj
b25zdCBTdHJpbmcmKT4mJik7CiAgICAgdm9pZCBjbGVhckFkQ2xpY2tBdHRyaWJ1dGlvbihDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XZWJQYWdlUHJveHlJT1MubW0KaW5kZXggZmZlMzk5NTJhMzgwMGU3M2Y1MGUxZTgxYTEzNTNk
ZTk3NTlmOGI2Yi4uMTdiNGFkMzZmNDgyZWFkNzk5NzAwZjE3ZjhjNjk0M2NhN2M5YWZkZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCkBAIC0x
MTU5LDggKzExNTksMTMgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZEZpbmlzaExvYWRGb3JRdWlj
a0xvb2tEb2N1bWVudEluTWFpbkZyYW1lKGNvbnN0IFF1aWNrTG9va0QKIAogdm9pZCBXZWJQYWdl
UHJveHk6OmRpZFJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWUo
Y29uc3QgU3RyaW5nJiBmaWxlTmFtZSkKIHsKLSAgICBwYWdlQ2xpZW50KCkucmVxdWVzdFBhc3N3
b3JkRm9yUXVpY2tMb29rRG9jdW1lbnQoZmlsZU5hbWUsIFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJl
ZigqdGhpcyldKGNvbnN0IFN0cmluZyYgcGFzc3dvcmQpIHsKLSAgICAgICAgcHJvdGVjdGVkVGhp
cy0+cHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRpZFJlY2VpdmVQYXNzd29yZEZv
clF1aWNrTG9va0RvY3VtZW50KHBhc3N3b3JkKSwgcHJvdGVjdGVkVGhpcy0+bV9wYWdlSUQpOwor
ICAgIGRpZFJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWVTaGFy
ZWQobV9wcm9jZXNzLmNvcHlSZWYoKSwgZmlsZU5hbWUpOworfQorCit2b2lkIFdlYlBhZ2VQcm94
eTo6ZGlkUmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFtZVNoYXJl
ZChSZWY8V2ViUHJvY2Vzc1Byb3h5PiYmIHByb2Nlc3MsIGNvbnN0IFN0cmluZyYgZmlsZU5hbWUp
Cit7CisgICAgcGFnZUNsaWVudCgpLnJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50
KGZpbGVOYW1lLCBbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBwcm9jZXNzID0gV1RG
TW92ZShwcm9jZXNzKV0oY29uc3QgU3RyaW5nJiBwYXNzd29yZCkgeworICAgICAgICBwcm9jZXNz
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRSZWNlaXZlUGFzc3dvcmRGb3JRdWlja0xvb2tE
b2N1bWVudChwYXNzd29yZCksIHByb3RlY3RlZFRoaXMtPm1fcGFnZUlEKTsKICAgICB9KTsKIH0K
IApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDAy
MjdjOTliODFkOWY3ZDNhY2NlMTBlOTEyNWM4YmQ5Y2VhOTBhZjUuLmQwZTMyNjVkNjI0YjE4Zjll
ZmVkYmEyZjgxODA3NDMxNTBiYzBlOGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxOS0wMi0yMiAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFJlZ3Jlc3Npb24oUFNPTikgVW5hYmxl
IHRvIHByZXZpZXcgcGFzc3dvcmQtcHJvdGVjdGVkIGRvY3VtZW50cyBvbiBpQ2xvdWQuY29tCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ5NTQKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ4MTI3OTU3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBBUEkgdGVzdCBjb3ZlcmFnZS4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRp
b24ubW06CisgICAgICAgICgtW1BTT05OYXZpZ2F0aW9uRGVsZWdhdGUgX3dlYlZpZXdEaWRSZXF1
ZXN0UGFzc3dvcmRGb3JRdWlja0xvb2tEb2N1bWVudDpdKToKKyAgICAgICAgKC1bUFNPTk5hdmln
YXRpb25EZWxlZ2F0ZSBfd2ViVmlldzpkaWRTdGFydExvYWRGb3JRdWlja0xvb2tEb2N1bWVudElu
TWFpbkZyYW1lV2l0aEZpbGVOYW1lOnV0aTpdKToKKyAgICAgICAgKC1bUFNPTk5hdmlnYXRpb25E
ZWxlZ2F0ZSBfd2ViVmlldzpkaWRGaW5pc2hMb2FkRm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5G
cmFtZTpdKToKKwogMjAxOS0wMi0yMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CiAgICAgICAgIFJFR1JFU1NJT04oUFNPTikgU2Nyb2xsIHBvc2l0aW9uIGlzIHNvbWV0aW1lcyBu
b3QgcmVzdG9yZWQgb24gaGlzdG9yeSBuYXZpZ2F0aW9uCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdh
dGlvbi5tbQppbmRleCBhYWQxNDFiN2ExMTg5Y2M5OTYwMTMxZjEwYTEwNzE0ZGU4MDYwMWUxLi44
NDYyMWYyZWMxOTQ3MzViZGZjMDg2OWEyYTEwOGMzODJjNWRmNzNhIDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9u
Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3
YXBPbk5hdmlnYXRpb24ubW0KQEAgLTY5LDYgKzY5LDkgQEAgc3RhdGljIGJvb2wgZmFpbGVkOwog
c3RhdGljIGJvb2wgZGlkQ3JlYXRlV2ViVmlldzsKIHN0YXRpYyBpbnQgbnVtYmVyT2ZEZWNpZGVQ
b2xpY3lDYWxsczsKIHN0YXRpYyBib29sIGRpZFJlcG9uZFRvUG9saWN5RGVjaXNpb25DYWxsOwor
c3RhdGljIGJvb2wgcmVxdWVzdGVkUGFzc3dvcmQ7CitzdGF0aWMgYm9vbCBkaWRTdGFydFF1aWNr
TG9va0xvYWQ7CitzdGF0aWMgYm9vbCBkaWRGaW5pc2hRdWlja0xvb2tMb2FkOwogCiBzdGF0aWMg
UmV0YWluUHRyPE5TTXV0YWJsZUFycmF5PiByZWNlaXZlZE1lc3NhZ2VzID0gYWRvcHROUyhbQFtd
IG11dGFibGVDb3B5XSk7CiBib29sIGRpZFJlY2VpdmVBbGVydDsKQEAgLTk4LDcgKzEwMSw3IEBA
IC0gKHZvaWQpdXNlckNvbnRlbnRDb250cm9sbGVyOihXS1VzZXJDb250ZW50Q29udHJvbGxlciAq
KXVzZXJDb250ZW50Q29udHJvbGxlciBkCiB9CiBAZW5kCiAKLUBpbnRlcmZhY2UgUFNPTk5hdmln
YXRpb25EZWxlZ2F0ZSA6IE5TT2JqZWN0IDxXS05hdmlnYXRpb25EZWxlZ2F0ZT4geworQGludGVy
ZmFjZSBQU09OTmF2aWdhdGlvbkRlbGVnYXRlIDogTlNPYmplY3QgPFdLTmF2aWdhdGlvbkRlbGVn
YXRlUHJpdmF0ZT4gewogICAgIEBwdWJsaWMgdm9pZCAoXmRlY2lkZVBvbGljeUZvck5hdmlnYXRp
b25BY3Rpb24pKFdLTmF2aWdhdGlvbkFjdGlvbiAqLCB2b2lkICheKShXS05hdmlnYXRpb25BY3Rp
b25Qb2xpY3kpKTsKICAgICBAcHVibGljIHZvaWQgKF5kaWRTdGFydFByb3Zpc2lvbmFsTmF2aWdh
dGlvbkhhbmRsZXIpKCk7CiAgICAgQHB1YmxpYyB2b2lkICheZGlkQ29tbWl0TmF2aWdhdGlvbkhh
bmRsZXIpKCk7CkBAIC0xNzQsNiArMTc3LDI1IEBAIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmll
dyAqKXdlYlZpZXcgZGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0RnJvbVVSTDooTlNVUkwgKilzCiAg
ICAgZGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0ID0gdHJ1ZTsKIH0KIAorI2lmIFBMQVRGT1JNKElP
UykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwCisKKy0gKHZv
aWQpX3dlYlZpZXdEaWRSZXF1ZXN0UGFzc3dvcmRGb3JRdWlja0xvb2tEb2N1bWVudDooV0tXZWJW
aWV3ICopd2ViVmlldworeworICAgIHJlcXVlc3RlZFBhc3N3b3JkID0gdHJ1ZTsKK30KKworLSAo
dm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRTdGFydExvYWRGb3JRdWlja0xv
b2tEb2N1bWVudEluTWFpbkZyYW1lV2l0aEZpbGVOYW1lOihOU1N0cmluZyAqKWZpbGVOYW1lIHV0
aTooTlNTdHJpbmcgKil1dGkKK3sKKyAgICBkaWRTdGFydFF1aWNrTG9va0xvYWQgPSB0cnVlOwor
fQorCistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRpZEZpbmlzaExvYWRG
b3JRdWlja0xvb2tEb2N1bWVudEluTWFpbkZyYW1lOihOU0RhdGEgKilkb2N1bWVudERhdGEKK3sK
KyAgICBkaWRGaW5pc2hRdWlja0xvb2tMb2FkID0gdHJ1ZTsKK30KKworI2VuZGlmCisKIEBlbmQK
IAogc3RhdGljIFJldGFpblB0cjxXS1dlYlZpZXc+IGNyZWF0ZWRXZWJWaWV3OwpAQCAtNTMyMCw0
ICs1MzQyLDQ1IEBAIFRFU1QoUHJvY2Vzc1N3YXAsIFBhZ2VPdmVybGF5TGF5ZXJQZXJzaXN0ZW5j
ZSkKICNlbmRpZgogfQogCisjaWYgUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMTAwMDAKKworVEVTVChQcm9jZXNzU3dhcCwgUXVpY2tMb29rUmVx
dWVzdHNQYXNzd29yZEFmdGVyU3dhcCkKK3sKKyAgICBhdXRvIHByb2Nlc3NQb29sQ29uZmlndXJh
dGlvbiA9IHBzb25Qcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24oKTsKKyAgICBhdXRvIHByb2Nlc3NQ
b29sID0gYWRvcHROUyhbW1dLUHJvY2Vzc1Bvb2wgYWxsb2NdIF9pbml0V2l0aENvbmZpZ3VyYXRp
b246cHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmdldCgpXSk7CisKKyAgICBhdXRvIHdlYlZpZXdD
b25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGlu
aXRdKTsKKyAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0UHJvY2Vzc1Bvb2w6cHJvY2Vzc1Bv
b2wuZ2V0KCldOworICAgIGF1dG8gaGFuZGxlciA9IGFkb3B0TlMoW1tQU09OU2NoZW1lIGFsbG9j
XSBpbml0XSk7CisgICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6
aGFuZGxlci5nZXQoKSBmb3JVUkxTY2hlbWU6QCJQU09OIl07CisKKyAgICBhdXRvIHdlYlZpZXcg
PSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0
KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOndlYlZpZXdDb25maWd1cmF0aW9uLmdldCgp
XSk7CisKKyAgICBhdXRvIG5hdmlnYXRpb25EZWxlZ2F0ZSA9IGFkb3B0TlMoW1tQU09OTmF2aWdh
dGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRl
bGVnYXRlOm5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBhdXRvIHVpRGVsZWdhdGUg
PSBhZG9wdE5TKFtbR2V0VXNlck1lZGlhVUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFt3
ZWJWaWV3IHNldFVJRGVsZWdhdGU6IHVpRGVsZWdhdGUuZ2V0KCldOworCisgICAgYXV0byogcmVx
dWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6
QCJwc29uOi8vd3d3LndlYmtpdC5vcmcvbWFpbi5odG1sIl1dOworICAgIFt3ZWJWaWV3IGxvYWRS
ZXF1ZXN0OnJlcXVlc3RdOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsK
KyAgICBkb25lID0gZmFsc2U7CisKKyAgICByZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0
V2l0aFVSTDpbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAicGFzc3dvcmQt
cHJvdGVjdGVkIiB3aXRoRXh0ZW5zaW9uOkAicGFnZXMiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJL
aXRBUEkucmVzb3VyY2VzIl1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOwor
CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkaWRTdGFydFF1aWNrTG9va0xvYWQpOwor
ICAgIGRpZFN0YXJ0UXVpY2tMb29rTG9hZCA9IGZhbHNlOworCisgICAgVGVzdFdlYktpdEFQSTo6
VXRpbDo6cnVuKCZyZXF1ZXN0ZWRQYXNzd29yZCk7CisgICAgcmVxdWVzdGVkUGFzc3dvcmQgPSBm
YWxzZTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkRmluaXNoUXVpY2tMb29r
TG9hZCk7CisgICAgZGlkRmluaXNoUXVpY2tMb29rTG9hZCA9IGZhbHNlOworfQorCisjZW5kaWYK
KwogI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVECg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362750</attachid>
            <date>2019-02-22 12:44:06 -0800</date>
            <delta_ts>2019-02-22 12:48:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194954-20190222124405.patch</filename>
            <type>text/plain</type>
            <size>12009</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxOTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGMwNDdmMmJkYjc1OTUwOThm
ZWQxMWRlMDkyZDBmYjEyYTk4NWNlYTMuLmE3MjRmMTlhMGYyODk5MDZlMTViNzVhZGRiOGM0ZDBl
ZmE4NjI1OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMDItMjIgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSZWdyZXNzaW9uKFBTT04pIFVuYWJs
ZSB0byBwcmV2aWV3IHBhc3N3b3JkLXByb3RlY3RlZCBkb2N1bWVudHMgb24gaUNsb3VkLmNvbQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0OTU0Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80ODEyNzk1Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBB
bGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIE1ha2Ugc3VyZSB0aGUgUHJvdmlzaW9uYWxQYWdl
UHJveHkgZm9yd2FyZHMgdG8gdGhlIFdlYlBhZ2VQcm94eSB0aGUgUXVpY2tMb29rLXJlbGF0ZWQK
KyAgICAgICAgSVBDIG9uIGlPUy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Qcm92aXNpb25hbFBh
Z2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlByb3Zpc2lvbmFsUGFnZVByb3h5OjpkaWRS
ZXF1ZXN0UGFzc3dvcmRGb3JRdWlja0xvb2tEb2N1bWVudEluTWFpbkZyYW1lKToKKyAgICAgICAg
KFdlYktpdDo6UHJvdmlzaW9uYWxQYWdlUHJveHk6OmRpZFJlY2VpdmVNZXNzYWdlKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJ
T1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkUmVxdWVzdFBhc3N3b3Jk
Rm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6ZGlkUmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFt
ZVNoYXJlZCk6CisKIDIwMTktMDItMjIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBSRUdSRVNTSU9OKFBTT04pIFNjcm9sbCBwb3NpdGlvbiBpcyBzb21ldGltZXMg
bm90IHJlc3RvcmVkIG9uIGhpc3RvcnkgbmF2aWdhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwCmluZGV4IGViMjk5YTg3Yjc1NTVmMDNj
YzhlMjVkZDE5OTJjOTVhMGY0NzM5ZjIuLmQ0YmRjYzRlY2EzM2NhOGVlMzBhOTNlOWNmZTQ2MDRm
ODFhYzYzZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFs
UGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBh
Z2VQcm94eS5jcHAKQEAgLTMyNyw2ICszMjcsMTMgQEAgdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94
eTo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvblN5bmModWludDY0X3QgZnJhbWVJRCwK
ICAgICAgICAgV1RGTW92ZShmcmFtZUluZm9EYXRhKSwgb3JpZ2luYXRpbmdQYWdlSUQsIG9yaWdp
bmFsUmVxdWVzdCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShyZXF1ZXN0Qm9keSksIFdURk1v
dmUocmVkaXJlY3RSZXNwb25zZSksIHVzZXJEYXRhLCBXVEZNb3ZlKHJlcGx5KSk7CiB9CiAKKyNp
ZiBVU0UoUVVJQ0tfTE9PSykKK3ZvaWQgUHJvdmlzaW9uYWxQYWdlUHJveHk6OmRpZFJlcXVlc3RQ
YXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWUoY29uc3QgU3RyaW5nJiBmaWxl
TmFtZSkKK3sKKyAgICBtX3BhZ2UuZGlkUmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1l
bnRJbk1haW5GcmFtZVNoYXJlZChtX3Byb2Nlc3MuY29weVJlZigpLCBmaWxlTmFtZSk7Cit9Cisj
ZW5kaWYKKwogI2lmIFBMQVRGT1JNKENPQ09BKQogdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6
cmVnaXN0ZXJXZWJQcm9jZXNzQWNjZXNzaWJpbGl0eVRva2VuKGNvbnN0IElQQzo6RGF0YVJlZmVy
ZW5jZSYgZGF0YSkKIHsKQEAgLTM0NCw2ICszNTEsMTAgQEAgdm9pZCBQcm92aXNpb25hbFBhZ2VQ
cm94eTo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6
OkQKICAgICAgICAgfHwgZGVjb2Rlci5tZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWdl
UHJveHk6OkxvZ0RpYWdub3N0aWNNZXNzYWdlOjpuYW1lKCkKICAgICAgICAgfHwgZGVjb2Rlci5t
ZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0aWNNZXNz
YWdlV2l0aEVuaGFuY2VkUHJpdmFjeTo6bmFtZSgpCiAgICAgICAgIHx8IGRlY29kZXIubWVzc2Fn
ZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXROZXR3b3JrUmVxdWVzdHNJblBy
b2dyZXNzOjpuYW1lKCkKKyNpZiBVU0UoUVVJQ0tfTE9PSykKKyAgICAgICAgfHwgZGVjb2Rlci5t
ZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFN0YXJ0TG9hZEZvclF1
aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWU6Om5hbWUoKQorICAgICAgICB8fCBkZWNvZGVyLm1l
c3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkRmluaXNoTG9hZEZvclF1
aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWU6Om5hbWUoKQorI2VuZGlmCiAgICAgICAgICkKICAg
ICB7CiAgICAgICAgIG1fcGFnZS5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVy
KTsKQEAgLTQxNyw2ICs0MjgsMTMgQEAgdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6ZGlkUmVj
ZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkQKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAorI2lmIFVTRShRVUlDS19MT09LKQorICAgIGlmIChkZWNvZGVyLm1l
c3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkUmVxdWVzdFBhc3N3b3Jk
Rm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFtZTo6bmFtZSgpKSB7CisgICAgICAgIElQQzo6
aGFuZGxlTWVzc2FnZTxNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRSZXF1ZXN0UGFzc3dvcmRG
b3JRdWlja0xvb2tEb2N1bWVudEluTWFpbkZyYW1lPihkZWNvZGVyLCB0aGlzLCAmUHJvdmlzaW9u
YWxQYWdlUHJveHk6OmRpZFJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWlu
RnJhbWUpOworICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCisKICAgICBMT0coUHJvY2Vz
c1N3YXBwaW5nLCAiVW5oYW5kbGVkIG1lc3NhZ2UgJXM6OiVzIGZyb20gcHJvdmlzaW9uYWwgcHJv
Y2VzcyIsIGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpLnRvU3RyaW5nKCkuZGF0YSgpLCBk
ZWNvZGVyLm1lc3NhZ2VOYW1lKCkudG9TdHJpbmcoKS5kYXRhKCkpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuaAppbmRleCBjNDJmZTZkZjRi
YWQ4OGMwOWJkNDg0ZWU2M2I2M2YwNDRlZGM0NTkwLi41ZGI5ODg2NzYxMGQ0ZTJhMWNmZTA4ZjEx
ZTJiZDgxYmU4NzhhMzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92
aXNpb25hbFBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lv
bmFsUGFnZVByb3h5LmgKQEAgLTEwNSw2ICsxMDUsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgZGVj
aWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvblN5bmModWludDY0X3QgZnJhbWVJRCwgYm9vbCBp
c01haW5GcmFtZSwgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiYsIFdlYkNvcmU6OlBvbGlj
eUNoZWNrSWRlbnRpZmllciwgdWludDY0X3QgbmF2aWdhdGlvbklELCBOYXZpZ2F0aW9uQWN0aW9u
RGF0YSYmLAogICAgICAgICBGcmFtZUluZm9EYXRhJiYsIHVpbnQ2NF90IG9yaWdpbmF0aW5nUGFn
ZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIG9yaWdpbmFsUmVxdWVzdCwgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIElQQzo6Rm9ybURhdGFSZWZlcmVuY2UmJiByZXF1ZXN0
Qm9keSwKICAgICAgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmIHJlZGlyZWN0UmVzcG9u
c2UsIGNvbnN0IFVzZXJEYXRhJiwgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGVjaWRlUG9saWN5
Rm9yTmF2aWdhdGlvbkFjdGlvblN5bmM6OkRlbGF5ZWRSZXBseSYmKTsKKyNpZiBVU0UoUVVJQ0tf
TE9PSykKKyAgICB2b2lkIGRpZFJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50SW5N
YWluRnJhbWUoY29uc3QgU3RyaW5nJiBmaWxlTmFtZSk7CisjZW5kaWYKICNpZiBQTEFURk9STShD
T0NPQSkKICAgICB2b2lkIHJlZ2lzdGVyV2ViUHJvY2Vzc0FjY2Vzc2liaWxpdHlUb2tlbihjb25z
dCBJUEM6OkRhdGFSZWZlcmVuY2UmKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAppbmRleCA3MGU4MWQ1MmU4ZTBhNjU4ODg2NjUzY2NmMGIzMmVjY2VmNjI4Zjdh
Li5kNGYxN2YwZjMwNjFlY2ZiYWJkMTc3OGRlMGU0YTdlODFiYjBhZTFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTQ1OCw2ICsxNDU4LDkgQEAgcHVibGljOgog
ICAgIHZvaWQgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvblN5bmNTaGFyZWQoUmVmPFdl
YlByb2Nlc3NQcm94eT4mJiwgdWludDY0X3QgZnJhbWVJRCwgYm9vbCBpc01haW5GcmFtZSwgV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiYsIFdlYkNvcmU6OlBvbGljeUNoZWNrSWRlbnRpZmll
ciwgdWludDY0X3QgbmF2aWdhdGlvbklELCBOYXZpZ2F0aW9uQWN0aW9uRGF0YSYmLAogICAgICAg
ICBGcmFtZUluZm9EYXRhJiYsIHVpbnQ2NF90IG9yaWdpbmF0aW5nUGFnZUlELCBjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmIG9yaWdpbmFsUmVxdWVzdCwgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0JiYsIElQQzo6Rm9ybURhdGFSZWZlcmVuY2UmJiByZXF1ZXN0Qm9keSwKICAgICAgICAg
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmIHJlZGlyZWN0UmVzcG9uc2UsIGNvbnN0IFVzZXJE
YXRhJiwgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFj
dGlvblN5bmM6OkRlbGF5ZWRSZXBseSYmKTsKKyNpZiBVU0UoUVVJQ0tfTE9PSykKKyAgICB2b2lk
IGRpZFJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWVTaGFyZWQo
UmVmPFdlYlByb2Nlc3NQcm94eT4mJiwgY29uc3QgU3RyaW5nJiBmaWxlTmFtZSk7CisjZW5kaWYK
IAogICAgIHZvaWQgZHVtcEFkQ2xpY2tBdHRyaWJ1dGlvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGNvbnN0IFN0cmluZyYpPiYmKTsKICAgICB2b2lkIGNsZWFyQWRDbGlja0F0dHJpYnV0aW9uKENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dlYlBhZ2VQcm94eUlPUy5tbQppbmRleCBmZmUzOTk1MmEzODAwZTczZjUwZTFlODFhMTM1
M2RlOTc1OWY4YjZiLi4xN2I0YWQzNmY0ODJlYWQ3OTk3MDBmMTdmOGM2OTQzY2E3YzlhZmRkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KQEAg
LTExNTksOCArMTE1OSwxMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmluaXNoTG9hZEZvclF1
aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWUoY29uc3QgUXVpY2tMb29rRAogCiB2b2lkIFdlYlBh
Z2VQcm94eTo6ZGlkUmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFt
ZShjb25zdCBTdHJpbmcmIGZpbGVOYW1lKQogewotICAgIHBhZ2VDbGllbnQoKS5yZXF1ZXN0UGFz
c3dvcmRGb3JRdWlja0xvb2tEb2N1bWVudChmaWxlTmFtZSwgW3Byb3RlY3RlZFRoaXMgPSBtYWtl
UmVmKCp0aGlzKV0oY29uc3QgU3RyaW5nJiBwYXNzd29yZCkgewotICAgICAgICBwcm90ZWN0ZWRU
aGlzLT5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkUmVjZWl2ZVBhc3N3b3Jk
Rm9yUXVpY2tMb29rRG9jdW1lbnQocGFzc3dvcmQpLCBwcm90ZWN0ZWRUaGlzLT5tX3BhZ2VJRCk7
CisgICAgZGlkUmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFtZVNo
YXJlZChtX3Byb2Nlc3MuY29weVJlZigpLCBmaWxlTmFtZSk7Cit9CisKK3ZvaWQgV2ViUGFnZVBy
b3h5OjpkaWRSZXF1ZXN0UGFzc3dvcmRGb3JRdWlja0xvb2tEb2N1bWVudEluTWFpbkZyYW1lU2hh
cmVkKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYgcHJvY2VzcywgY29uc3QgU3RyaW5nJiBmaWxlTmFt
ZSkKK3sKKyAgICBwYWdlQ2xpZW50KCkucmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1l
bnQoZmlsZU5hbWUsIFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIHByb2Nlc3MgPSBX
VEZNb3ZlKHByb2Nlc3MpXShjb25zdCBTdHJpbmcmIHBhc3N3b3JkKSB7CisgICAgICAgIHByb2Nl
c3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRpZFJlY2VpdmVQYXNzd29yZEZvclF1aWNrTG9v
a0RvY3VtZW50KHBhc3N3b3JkKSwgcHJvdGVjdGVkVGhpcy0+bV9wYWdlSUQpOwogICAgIH0pOwog
fQogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
MDIyN2M5OWI4MWQ5ZjdkM2FjY2UxMGU5MTI1YzhiZDljZWE5MGFmNS4uMDQzYmM0OTRkZGNlNTIy
N2RiYjU4ZTUxNmVmMWRlNGVlNDc1NGY0YyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE5LTAyLTIyICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihQU09OKSBVbmFi
bGUgdG8gcHJldmlldyBwYXNzd29yZC1wcm90ZWN0ZWQgZG9jdW1lbnRzIG9uIGlDbG91ZC5jb20K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDk1NAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDgxMjc5NTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
QWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBBZGQgQVBJIHRlc3QgY292ZXJhZ2UuCisKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZp
Z2F0aW9uLm1tOgorICAgICAgICAoLVtQU09OTmF2aWdhdGlvbkRlbGVnYXRlIF93ZWJWaWV3RGlk
UmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1lbnQ6XSk6CisgICAgICAgICgtW1BTT05O
YXZpZ2F0aW9uRGVsZWdhdGUgX3dlYlZpZXc6ZGlkU3RhcnRMb2FkRm9yUXVpY2tMb29rRG9jdW1l
bnRJbk1haW5GcmFtZVdpdGhGaWxlTmFtZTp1dGk6XSk6CisgICAgICAgICgtW1BTT05OYXZpZ2F0
aW9uRGVsZWdhdGUgX3dlYlZpZXc6ZGlkRmluaXNoTG9hZEZvclF1aWNrTG9va0RvY3VtZW50SW5N
YWluRnJhbWU6XSk6CisKIDIwMTktMDItMjIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBSRUdSRVNTSU9OKFBTT04pIFNjcm9sbCBwb3NpdGlvbiBpcyBzb21ldGlt
ZXMgbm90IHJlc3RvcmVkIG9uIGhpc3RvcnkgbmF2aWdhdGlvbgpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5t
bSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5h
dmlnYXRpb24ubW0KaW5kZXggYWFkMTQxYjdhMTE4OWNjOTk2MDEzMWYxMGExMDcxNGRlODA2MDFl
MS4uZmQ4NDRkMTQ4YmRiMzBkZDRhYTNkM2ZjOTU2MWU0MmUzMTQwOGNhOSAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdh
dGlvbi5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nl
c3NTd2FwT25OYXZpZ2F0aW9uLm1tCkBAIC03MCw2ICs3MCwxMiBAQCBzdGF0aWMgYm9vbCBkaWRD
cmVhdGVXZWJWaWV3Owogc3RhdGljIGludCBudW1iZXJPZkRlY2lkZVBvbGljeUNhbGxzOwogc3Rh
dGljIGJvb2wgZGlkUmVwb25kVG9Qb2xpY3lEZWNpc2lvbkNhbGw7CiAKKyNpZiBQTEFURk9STShJ
T1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMAorc3RhdGlj
IGJvb2wgcmVxdWVzdGVkUXVpY2tMb29rUGFzc3dvcmQ7CitzdGF0aWMgYm9vbCBkaWRTdGFydFF1
aWNrTG9va0xvYWQ7CitzdGF0aWMgYm9vbCBkaWRGaW5pc2hRdWlja0xvb2tMb2FkOworI2VuZGlm
CisKIHN0YXRpYyBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+IHJlY2VpdmVkTWVzc2FnZXMgPSBh
ZG9wdE5TKFtAW10gbXV0YWJsZUNvcHldKTsKIGJvb2wgZGlkUmVjZWl2ZUFsZXJ0Owogc3RhdGlj
IGJvb2wgcmVjZWl2ZWRNZXNzYWdlOwpAQCAtOTgsNyArMTA0LDcgQEAgLSAodm9pZCl1c2VyQ29u
dGVudENvbnRyb2xsZXI6KFdLVXNlckNvbnRlbnRDb250cm9sbGVyICopdXNlckNvbnRlbnRDb250
cm9sbGVyIGQKIH0KIEBlbmQKIAotQGludGVyZmFjZSBQU09OTmF2aWdhdGlvbkRlbGVnYXRlIDog
TlNPYmplY3QgPFdLTmF2aWdhdGlvbkRlbGVnYXRlPiB7CitAaW50ZXJmYWNlIFBTT05OYXZpZ2F0
aW9uRGVsZWdhdGUgOiBOU09iamVjdCA8V0tOYXZpZ2F0aW9uRGVsZWdhdGVQcml2YXRlPiB7CiAg
ICAgQHB1YmxpYyB2b2lkICheZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbikoV0tOYXZp
Z2F0aW9uQWN0aW9uICosIHZvaWQgKF4pKFdLTmF2aWdhdGlvbkFjdGlvblBvbGljeSkpOwogICAg
IEBwdWJsaWMgdm9pZCAoXmRpZFN0YXJ0UHJvdmlzaW9uYWxOYXZpZ2F0aW9uSGFuZGxlcikoKTsK
ICAgICBAcHVibGljIHZvaWQgKF5kaWRDb21taXROYXZpZ2F0aW9uSGFuZGxlcikoKTsKQEAgLTE3
NCw2ICsxODAsMjUgQEAgLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRQ
ZXJmb3JtQ2xpZW50UmVkaXJlY3RGcm9tVVJMOihOU1VSTCAqKXMKICAgICBkaWRQZXJmb3JtQ2xp
ZW50UmVkaXJlY3QgPSB0cnVlOwogfQogCisjaWYgUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9P
U19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDAKKworLSAodm9pZClfd2ViVmlld0RpZFJl
cXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50OihXS1dlYlZpZXcgKil3ZWJWaWV3Cit7
CisgICAgcmVxdWVzdGVkUXVpY2tMb29rUGFzc3dvcmQgPSB0cnVlOworfQorCistICh2b2lkKV93
ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRpZFN0YXJ0TG9hZEZvclF1aWNrTG9va0RvY3Vt
ZW50SW5NYWluRnJhbWVXaXRoRmlsZU5hbWU6KE5TU3RyaW5nICopZmlsZU5hbWUgdXRpOihOU1N0
cmluZyAqKXV0aQoreworICAgIGRpZFN0YXJ0UXVpY2tMb29rTG9hZCA9IHRydWU7Cit9CisKKy0g
KHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGlkRmluaXNoTG9hZEZvclF1aWNr
TG9va0RvY3VtZW50SW5NYWluRnJhbWU6KE5TRGF0YSAqKWRvY3VtZW50RGF0YQoreworICAgIGRp
ZEZpbmlzaFF1aWNrTG9va0xvYWQgPSB0cnVlOworfQorCisjZW5kaWYKKwogQGVuZAogCiBzdGF0
aWMgUmV0YWluUHRyPFdLV2ViVmlldz4gY3JlYXRlZFdlYlZpZXc7CkBAIC01MzIwLDQgKzUzNDUs
NDUgQEAgVEVTVChQcm9jZXNzU3dhcCwgUGFnZU92ZXJsYXlMYXllclBlcnNpc3RlbmNlKQogI2Vu
ZGlmCiB9CiAKKyNpZiBQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDExMDAwMAorCitURVNUKFByb2Nlc3NTd2FwLCBRdWlja0xvb2tSZXF1ZXN0c1Bh
c3N3b3JkQWZ0ZXJTd2FwKQoreworICAgIGF1dG8gcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uID0g
cHNvblByb2Nlc3NQb29sQ29uZmlndXJhdGlvbigpOworICAgIGF1dG8gcHJvY2Vzc1Bvb2wgPSBh
ZG9wdE5TKFtbV0tQcm9jZXNzUG9vbCBhbGxvY10gX2luaXRXaXRoQ29uZmlndXJhdGlvbjpwcm9j
ZXNzUG9vbENvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAgIGF1dG8gd2ViVmlld0NvbmZpZ3Vy
YXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwor
ICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRQcm9jZXNzUG9vbDpwcm9jZXNzUG9vbC5nZXQo
KV07CisgICAgYXV0byBoYW5kbGVyID0gYWRvcHROUyhbW1BTT05TY2hlbWUgYWxsb2NdIGluaXRd
KTsKKyAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0VVJMU2NoZW1lSGFuZGxlcjpoYW5kbGVy
LmdldCgpIGZvclVSTFNjaGVtZTpAIlBTT04iXTsKKworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0
TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwg
ODAwLCA2MDApIGNvbmZpZ3VyYXRpb246d2ViVmlld0NvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKwor
ICAgIGF1dG8gbmF2aWdhdGlvbkRlbGVnYXRlID0gYWRvcHROUyhbW1BTT05OYXZpZ2F0aW9uRGVs
ZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6
bmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpXTsKKworICAgIGF1dG8gdWlEZWxlZ2F0ZSA9IGFkb3B0
TlMoW1tHZXRVc2VyTWVkaWFVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcg
c2V0VUlEZWxlZ2F0ZTogdWlEZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBhdXRvKiByZXF1ZXN0ID0g
W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb246
Ly93d3cud2Via2l0Lm9yZy9tYWluLmh0bWwiXV07CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6
cmVxdWVzdF07CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRv
bmUgPSBmYWxzZTsKKworICAgIHJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJM
OltbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJwYXNzd29yZC1wcm90ZWN0
ZWQiIHdpdGhFeHRlbnNpb246QCJwYWdlcyIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5y
ZXNvdXJjZXMiXV07CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CisKKyAgICBU
ZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRpZFN0YXJ0UXVpY2tMb29rTG9hZCk7CisgICAgZGlk
U3RhcnRRdWlja0xvb2tMb2FkID0gZmFsc2U7CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpy
dW4oJnJlcXVlc3RlZFF1aWNrTG9va1Bhc3N3b3JkKTsKKyAgICByZXF1ZXN0ZWRRdWlja0xvb2tQ
YXNzd29yZCA9IGZhbHNlOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkaWRGaW5p
c2hRdWlja0xvb2tMb2FkKTsKKyAgICBkaWRGaW5pc2hRdWlja0xvb2tMb2FkID0gZmFsc2U7Cit9
CisKKyNlbmRpZgorCiAjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362753</attachid>
            <date>2019-02-22 12:48:51 -0800</date>
            <delta_ts>2019-02-22 12:55:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194954-20190222124850.patch</filename>
            <type>text/plain</type>
            <size>11979</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxOTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGMwNDdmMmJkYjc1OTUwOThm
ZWQxMWRlMDkyZDBmYjEyYTk4NWNlYTMuLmE3MjRmMTlhMGYyODk5MDZlMTViNzVhZGRiOGM0ZDBl
ZmE4NjI1OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMDItMjIgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSZWdyZXNzaW9uKFBTT04pIFVuYWJs
ZSB0byBwcmV2aWV3IHBhc3N3b3JkLXByb3RlY3RlZCBkb2N1bWVudHMgb24gaUNsb3VkLmNvbQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0OTU0Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80ODEyNzk1Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBB
bGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIE1ha2Ugc3VyZSB0aGUgUHJvdmlzaW9uYWxQYWdl
UHJveHkgZm9yd2FyZHMgdG8gdGhlIFdlYlBhZ2VQcm94eSB0aGUgUXVpY2tMb29rLXJlbGF0ZWQK
KyAgICAgICAgSVBDIG9uIGlPUy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Qcm92aXNpb25hbFBh
Z2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlByb3Zpc2lvbmFsUGFnZVByb3h5OjpkaWRS
ZXF1ZXN0UGFzc3dvcmRGb3JRdWlja0xvb2tEb2N1bWVudEluTWFpbkZyYW1lKToKKyAgICAgICAg
KFdlYktpdDo6UHJvdmlzaW9uYWxQYWdlUHJveHk6OmRpZFJlY2VpdmVNZXNzYWdlKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJ
T1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkUmVxdWVzdFBhc3N3b3Jk
Rm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6ZGlkUmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFt
ZVNoYXJlZCk6CisKIDIwMTktMDItMjIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBSRUdSRVNTSU9OKFBTT04pIFNjcm9sbCBwb3NpdGlvbiBpcyBzb21ldGltZXMg
bm90IHJlc3RvcmVkIG9uIGhpc3RvcnkgbmF2aWdhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwCmluZGV4IGViMjk5YTg3Yjc1NTVmMDNj
YzhlMjVkZDE5OTJjOTVhMGY0NzM5ZjIuLmQ0YmRjYzRlY2EzM2NhOGVlMzBhOTNlOWNmZTQ2MDRm
ODFhYzYzZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFs
UGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBh
Z2VQcm94eS5jcHAKQEAgLTMyNyw2ICszMjcsMTMgQEAgdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94
eTo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvblN5bmModWludDY0X3QgZnJhbWVJRCwK
ICAgICAgICAgV1RGTW92ZShmcmFtZUluZm9EYXRhKSwgb3JpZ2luYXRpbmdQYWdlSUQsIG9yaWdp
bmFsUmVxdWVzdCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShyZXF1ZXN0Qm9keSksIFdURk1v
dmUocmVkaXJlY3RSZXNwb25zZSksIHVzZXJEYXRhLCBXVEZNb3ZlKHJlcGx5KSk7CiB9CiAKKyNp
ZiBVU0UoUVVJQ0tfTE9PSykKK3ZvaWQgUHJvdmlzaW9uYWxQYWdlUHJveHk6OmRpZFJlcXVlc3RQ
YXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWUoY29uc3QgU3RyaW5nJiBmaWxl
TmFtZSkKK3sKKyAgICBtX3BhZ2UuZGlkUmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1l
bnRJbk1haW5GcmFtZVNoYXJlZChtX3Byb2Nlc3MuY29weVJlZigpLCBmaWxlTmFtZSk7Cit9Cisj
ZW5kaWYKKwogI2lmIFBMQVRGT1JNKENPQ09BKQogdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6
cmVnaXN0ZXJXZWJQcm9jZXNzQWNjZXNzaWJpbGl0eVRva2VuKGNvbnN0IElQQzo6RGF0YVJlZmVy
ZW5jZSYgZGF0YSkKIHsKQEAgLTM0NCw2ICszNTEsMTAgQEAgdm9pZCBQcm92aXNpb25hbFBhZ2VQ
cm94eTo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6
OkQKICAgICAgICAgfHwgZGVjb2Rlci5tZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWdl
UHJveHk6OkxvZ0RpYWdub3N0aWNNZXNzYWdlOjpuYW1lKCkKICAgICAgICAgfHwgZGVjb2Rlci5t
ZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0aWNNZXNz
YWdlV2l0aEVuaGFuY2VkUHJpdmFjeTo6bmFtZSgpCiAgICAgICAgIHx8IGRlY29kZXIubWVzc2Fn
ZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXROZXR3b3JrUmVxdWVzdHNJblBy
b2dyZXNzOjpuYW1lKCkKKyNpZiBVU0UoUVVJQ0tfTE9PSykKKyAgICAgICAgfHwgZGVjb2Rlci5t
ZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFN0YXJ0TG9hZEZvclF1
aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWU6Om5hbWUoKQorICAgICAgICB8fCBkZWNvZGVyLm1l
c3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkRmluaXNoTG9hZEZvclF1
aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWU6Om5hbWUoKQorI2VuZGlmCiAgICAgICAgICkKICAg
ICB7CiAgICAgICAgIG1fcGFnZS5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVy
KTsKQEAgLTQxNyw2ICs0MjgsMTMgQEAgdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6ZGlkUmVj
ZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkQKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAorI2lmIFVTRShRVUlDS19MT09LKQorICAgIGlmIChkZWNvZGVyLm1l
c3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkUmVxdWVzdFBhc3N3b3Jk
Rm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFtZTo6bmFtZSgpKSB7CisgICAgICAgIElQQzo6
aGFuZGxlTWVzc2FnZTxNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRSZXF1ZXN0UGFzc3dvcmRG
b3JRdWlja0xvb2tEb2N1bWVudEluTWFpbkZyYW1lPihkZWNvZGVyLCB0aGlzLCAmUHJvdmlzaW9u
YWxQYWdlUHJveHk6OmRpZFJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWlu
RnJhbWUpOworICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCisKICAgICBMT0coUHJvY2Vz
c1N3YXBwaW5nLCAiVW5oYW5kbGVkIG1lc3NhZ2UgJXM6OiVzIGZyb20gcHJvdmlzaW9uYWwgcHJv
Y2VzcyIsIGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpLnRvU3RyaW5nKCkuZGF0YSgpLCBk
ZWNvZGVyLm1lc3NhZ2VOYW1lKCkudG9TdHJpbmcoKS5kYXRhKCkpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuaAppbmRleCBjNDJmZTZkZjRi
YWQ4OGMwOWJkNDg0ZWU2M2I2M2YwNDRlZGM0NTkwLi41ZGI5ODg2NzYxMGQ0ZTJhMWNmZTA4ZjEx
ZTJiZDgxYmU4NzhhMzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92
aXNpb25hbFBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lv
bmFsUGFnZVByb3h5LmgKQEAgLTEwNSw2ICsxMDUsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgZGVj
aWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvblN5bmModWludDY0X3QgZnJhbWVJRCwgYm9vbCBp
c01haW5GcmFtZSwgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiYsIFdlYkNvcmU6OlBvbGlj
eUNoZWNrSWRlbnRpZmllciwgdWludDY0X3QgbmF2aWdhdGlvbklELCBOYXZpZ2F0aW9uQWN0aW9u
RGF0YSYmLAogICAgICAgICBGcmFtZUluZm9EYXRhJiYsIHVpbnQ2NF90IG9yaWdpbmF0aW5nUGFn
ZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIG9yaWdpbmFsUmVxdWVzdCwgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIElQQzo6Rm9ybURhdGFSZWZlcmVuY2UmJiByZXF1ZXN0
Qm9keSwKICAgICAgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmIHJlZGlyZWN0UmVzcG9u
c2UsIGNvbnN0IFVzZXJEYXRhJiwgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGVjaWRlUG9saWN5
Rm9yTmF2aWdhdGlvbkFjdGlvblN5bmM6OkRlbGF5ZWRSZXBseSYmKTsKKyNpZiBVU0UoUVVJQ0tf
TE9PSykKKyAgICB2b2lkIGRpZFJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50SW5N
YWluRnJhbWUoY29uc3QgU3RyaW5nJiBmaWxlTmFtZSk7CisjZW5kaWYKICNpZiBQTEFURk9STShD
T0NPQSkKICAgICB2b2lkIHJlZ2lzdGVyV2ViUHJvY2Vzc0FjY2Vzc2liaWxpdHlUb2tlbihjb25z
dCBJUEM6OkRhdGFSZWZlcmVuY2UmKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAppbmRleCA3MGU4MWQ1MmU4ZTBhNjU4ODg2NjUzY2NmMGIzMmVjY2VmNjI4Zjdh
Li5kNGYxN2YwZjMwNjFlY2ZiYWJkMTc3OGRlMGU0YTdlODFiYjBhZTFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTQ1OCw2ICsxNDU4LDkgQEAgcHVibGljOgog
ICAgIHZvaWQgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvblN5bmNTaGFyZWQoUmVmPFdl
YlByb2Nlc3NQcm94eT4mJiwgdWludDY0X3QgZnJhbWVJRCwgYm9vbCBpc01haW5GcmFtZSwgV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiYsIFdlYkNvcmU6OlBvbGljeUNoZWNrSWRlbnRpZmll
ciwgdWludDY0X3QgbmF2aWdhdGlvbklELCBOYXZpZ2F0aW9uQWN0aW9uRGF0YSYmLAogICAgICAg
ICBGcmFtZUluZm9EYXRhJiYsIHVpbnQ2NF90IG9yaWdpbmF0aW5nUGFnZUlELCBjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmIG9yaWdpbmFsUmVxdWVzdCwgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0JiYsIElQQzo6Rm9ybURhdGFSZWZlcmVuY2UmJiByZXF1ZXN0Qm9keSwKICAgICAgICAg
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmIHJlZGlyZWN0UmVzcG9uc2UsIGNvbnN0IFVzZXJE
YXRhJiwgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFj
dGlvblN5bmM6OkRlbGF5ZWRSZXBseSYmKTsKKyNpZiBVU0UoUVVJQ0tfTE9PSykKKyAgICB2b2lk
IGRpZFJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWVTaGFyZWQo
UmVmPFdlYlByb2Nlc3NQcm94eT4mJiwgY29uc3QgU3RyaW5nJiBmaWxlTmFtZSk7CisjZW5kaWYK
IAogICAgIHZvaWQgZHVtcEFkQ2xpY2tBdHRyaWJ1dGlvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGNvbnN0IFN0cmluZyYpPiYmKTsKICAgICB2b2lkIGNsZWFyQWRDbGlja0F0dHJpYnV0aW9uKENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dlYlBhZ2VQcm94eUlPUy5tbQppbmRleCBmZmUzOTk1MmEzODAwZTczZjUwZTFlODFhMTM1
M2RlOTc1OWY4YjZiLi5mZjc0NDI0YTFjZWU5ODg0YTBhZTY3ZWVkOTdkNWVlN2RhOGFmMzRkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KQEAg
LTExNTksOCArMTE1OSwxMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmluaXNoTG9hZEZvclF1
aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWUoY29uc3QgUXVpY2tMb29rRAogCiB2b2lkIFdlYlBh
Z2VQcm94eTo6ZGlkUmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFt
ZShjb25zdCBTdHJpbmcmIGZpbGVOYW1lKQogewotICAgIHBhZ2VDbGllbnQoKS5yZXF1ZXN0UGFz
c3dvcmRGb3JRdWlja0xvb2tEb2N1bWVudChmaWxlTmFtZSwgW3Byb3RlY3RlZFRoaXMgPSBtYWtl
UmVmKCp0aGlzKV0oY29uc3QgU3RyaW5nJiBwYXNzd29yZCkgewotICAgICAgICBwcm90ZWN0ZWRU
aGlzLT5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkUmVjZWl2ZVBhc3N3b3Jk
Rm9yUXVpY2tMb29rRG9jdW1lbnQocGFzc3dvcmQpLCBwcm90ZWN0ZWRUaGlzLT5tX3BhZ2VJRCk7
CisgICAgZGlkUmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFtZVNo
YXJlZChtX3Byb2Nlc3MuY29weVJlZigpLCBmaWxlTmFtZSk7Cit9CisKK3ZvaWQgV2ViUGFnZVBy
b3h5OjpkaWRSZXF1ZXN0UGFzc3dvcmRGb3JRdWlja0xvb2tEb2N1bWVudEluTWFpbkZyYW1lU2hh
cmVkKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYgcHJvY2VzcywgY29uc3QgU3RyaW5nJiBmaWxlTmFt
ZSkKK3sKKyAgICBwYWdlQ2xpZW50KCkucmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1l
bnQoZmlsZU5hbWUsIFtwcm9jZXNzID0gV1RGTW92ZShwcm9jZXNzKSwgcGFnZUlEID0gbV9wYWdl
SURdKGNvbnN0IFN0cmluZyYgcGFzc3dvcmQpIHsKKyAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNz
YWdlczo6V2ViUGFnZTo6RGlkUmVjZWl2ZVBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1lbnQocGFz
c3dvcmQpLCBwYWdlSUQpOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDIyN2M5OWI4MWQ5ZjdkM2FjY2UxMGU5MTI1Yzhi
ZDljZWE5MGFmNS4uMDQzYmM0OTRkZGNlNTIyN2RiYjU4ZTUxNmVmMWRlNGVlNDc1NGY0YyAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE4IEBACisyMDE5LTAyLTIyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmVncmVzc2lvbihQU09OKSBVbmFibGUgdG8gcHJldmlldyBwYXNzd29yZC1wcm90ZWN0
ZWQgZG9jdW1lbnRzIG9uIGlDbG91ZC5jb20KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5NDk1NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDgxMjc5
NTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBB
ZGQgQVBJIHRlc3QgY292ZXJhZ2UuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tOgorICAgICAgICAoLVtQU09OTmF2
aWdhdGlvbkRlbGVnYXRlIF93ZWJWaWV3RGlkUmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9j
dW1lbnQ6XSk6CisgICAgICAgICgtW1BTT05OYXZpZ2F0aW9uRGVsZWdhdGUgX3dlYlZpZXc6ZGlk
U3RhcnRMb2FkRm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFtZVdpdGhGaWxlTmFtZTp1dGk6
XSk6CisgICAgICAgICgtW1BTT05OYXZpZ2F0aW9uRGVsZWdhdGUgX3dlYlZpZXc6ZGlkRmluaXNo
TG9hZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWU6XSk6CisKIDIwMTktMDItMjIgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKFBTT04p
IFNjcm9sbCBwb3NpdGlvbiBpcyBzb21ldGltZXMgbm90IHJlc3RvcmVkIG9uIGhpc3RvcnkgbmF2
aWdhdGlvbgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0KaW5kZXggYWFkMTQxYjdhMTE4
OWNjOTk2MDEzMWYxMGExMDcxNGRlODA2MDFlMS4uZmQ4NDRkMTQ4YmRiMzBkZDRhYTNkM2ZjOTU2
MWU0MmUzMTQwOGNhOSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tCkBAIC03MCw2
ICs3MCwxMiBAQCBzdGF0aWMgYm9vbCBkaWRDcmVhdGVXZWJWaWV3Owogc3RhdGljIGludCBudW1i
ZXJPZkRlY2lkZVBvbGljeUNhbGxzOwogc3RhdGljIGJvb2wgZGlkUmVwb25kVG9Qb2xpY3lEZWNp
c2lvbkNhbGw7CiAKKyNpZiBQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDExMDAwMAorc3RhdGljIGJvb2wgcmVxdWVzdGVkUXVpY2tMb29rUGFzc3dv
cmQ7CitzdGF0aWMgYm9vbCBkaWRTdGFydFF1aWNrTG9va0xvYWQ7CitzdGF0aWMgYm9vbCBkaWRG
aW5pc2hRdWlja0xvb2tMb2FkOworI2VuZGlmCisKIHN0YXRpYyBSZXRhaW5QdHI8TlNNdXRhYmxl
QXJyYXk+IHJlY2VpdmVkTWVzc2FnZXMgPSBhZG9wdE5TKFtAW10gbXV0YWJsZUNvcHldKTsKIGJv
b2wgZGlkUmVjZWl2ZUFsZXJ0Owogc3RhdGljIGJvb2wgcmVjZWl2ZWRNZXNzYWdlOwpAQCAtOTgs
NyArMTA0LDcgQEAgLSAodm9pZCl1c2VyQ29udGVudENvbnRyb2xsZXI6KFdLVXNlckNvbnRlbnRD
b250cm9sbGVyICopdXNlckNvbnRlbnRDb250cm9sbGVyIGQKIH0KIEBlbmQKIAotQGludGVyZmFj
ZSBQU09OTmF2aWdhdGlvbkRlbGVnYXRlIDogTlNPYmplY3QgPFdLTmF2aWdhdGlvbkRlbGVnYXRl
PiB7CitAaW50ZXJmYWNlIFBTT05OYXZpZ2F0aW9uRGVsZWdhdGUgOiBOU09iamVjdCA8V0tOYXZp
Z2F0aW9uRGVsZWdhdGVQcml2YXRlPiB7CiAgICAgQHB1YmxpYyB2b2lkICheZGVjaWRlUG9saWN5
Rm9yTmF2aWdhdGlvbkFjdGlvbikoV0tOYXZpZ2F0aW9uQWN0aW9uICosIHZvaWQgKF4pKFdLTmF2
aWdhdGlvbkFjdGlvblBvbGljeSkpOwogICAgIEBwdWJsaWMgdm9pZCAoXmRpZFN0YXJ0UHJvdmlz
aW9uYWxOYXZpZ2F0aW9uSGFuZGxlcikoKTsKICAgICBAcHVibGljIHZvaWQgKF5kaWRDb21taXRO
YXZpZ2F0aW9uSGFuZGxlcikoKTsKQEAgLTE3NCw2ICsxODAsMjUgQEAgLSAodm9pZClfd2ViVmll
dzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRQZXJmb3JtQ2xpZW50UmVkaXJlY3RGcm9tVVJMOihO
U1VSTCAqKXMKICAgICBkaWRQZXJmb3JtQ2xpZW50UmVkaXJlY3QgPSB0cnVlOwogfQogCisjaWYg
UExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAw
MDAKKworLSAodm9pZClfd2ViVmlld0RpZFJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3Vt
ZW50OihXS1dlYlZpZXcgKil3ZWJWaWV3Cit7CisgICAgcmVxdWVzdGVkUXVpY2tMb29rUGFzc3dv
cmQgPSB0cnVlOworfQorCistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRp
ZFN0YXJ0TG9hZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWVXaXRoRmlsZU5hbWU6KE5T
U3RyaW5nICopZmlsZU5hbWUgdXRpOihOU1N0cmluZyAqKXV0aQoreworICAgIGRpZFN0YXJ0UXVp
Y2tMb29rTG9hZCA9IHRydWU7Cit9CisKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdl
YlZpZXcgZGlkRmluaXNoTG9hZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWU6KE5TRGF0
YSAqKWRvY3VtZW50RGF0YQoreworICAgIGRpZEZpbmlzaFF1aWNrTG9va0xvYWQgPSB0cnVlOwor
fQorCisjZW5kaWYKKwogQGVuZAogCiBzdGF0aWMgUmV0YWluUHRyPFdLV2ViVmlldz4gY3JlYXRl
ZFdlYlZpZXc7CkBAIC01MzIwLDQgKzUzNDUsNDUgQEAgVEVTVChQcm9jZXNzU3dhcCwgUGFnZU92
ZXJsYXlMYXllclBlcnNpc3RlbmNlKQogI2VuZGlmCiB9CiAKKyNpZiBQTEFURk9STShJT1MpICYm
IF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMAorCitURVNUKFByb2Nl
c3NTd2FwLCBRdWlja0xvb2tSZXF1ZXN0c1Bhc3N3b3JkQWZ0ZXJTd2FwKQoreworICAgIGF1dG8g
cHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uID0gcHNvblByb2Nlc3NQb29sQ29uZmlndXJhdGlvbigp
OworICAgIGF1dG8gcHJvY2Vzc1Bvb2wgPSBhZG9wdE5TKFtbV0tQcm9jZXNzUG9vbCBhbGxvY10g
X2luaXRXaXRoQ29uZmlndXJhdGlvbjpwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uZ2V0KCldKTsK
KworICAgIGF1dG8gd2ViVmlld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29u
ZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRQ
cm9jZXNzUG9vbDpwcm9jZXNzUG9vbC5nZXQoKV07CisgICAgYXV0byBoYW5kbGVyID0gYWRvcHRO
UyhbW1BTT05TY2hlbWUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24g
c2V0VVJMU2NoZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAIlBTT04iXTsK
KworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0
V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246d2ViVmll
d0NvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAgIGF1dG8gbmF2aWdhdGlvbkRlbGVnYXRlID0g
YWRvcHROUyhbW1BTT05OYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2Vi
VmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6bmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpXTsKKwor
ICAgIGF1dG8gdWlEZWxlZ2F0ZSA9IGFkb3B0TlMoW1tHZXRVc2VyTWVkaWFVSURlbGVnYXRlIGFs
bG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTogdWlEZWxlZ2F0ZS5nZXQo
KV07CisKKyAgICBhdXRvKiByZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpb
TlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb246Ly93d3cud2Via2l0Lm9yZy9tYWluLmh0bWwiXV07
CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CisKKyAgICBUZXN0V2ViS2l0QVBJ
OjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKKworICAgIHJlcXVlc3QgPSBb
TlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9y
UmVzb3VyY2U6QCJwYXNzd29yZC1wcm90ZWN0ZWQiIHdpdGhFeHRlbnNpb246QCJwYWdlcyIgc3Vi
ZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV07CisgICAgW3dlYlZpZXcgbG9h
ZFJlcXVlc3Q6cmVxdWVzdF07CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRpZFN0
YXJ0UXVpY2tMb29rTG9hZCk7CisgICAgZGlkU3RhcnRRdWlja0xvb2tMb2FkID0gZmFsc2U7CisK
KyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJnJlcXVlc3RlZFF1aWNrTG9va1Bhc3N3b3Jk
KTsKKyAgICByZXF1ZXN0ZWRRdWlja0xvb2tQYXNzd29yZCA9IGZhbHNlOworCisgICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6cnVuKCZkaWRGaW5pc2hRdWlja0xvb2tMb2FkKTsKKyAgICBkaWRGaW5p
c2hRdWlja0xvb2tMb2FkID0gZmFsc2U7Cit9CisKKyNlbmRpZgorCiAjZW5kaWYgLy8gV0tfQVBJ
X0VOQUJMRUQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362754</attachid>
            <date>2019-02-22 12:55:05 -0800</date>
            <delta_ts>2019-02-22 13:17:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194954-20190222125504.patch</filename>
            <type>text/plain</type>
            <size>11858</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxOTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGMwNDdmMmJkYjc1OTUwOThm
ZWQxMWRlMDkyZDBmYjEyYTk4NWNlYTMuLmE3MjRmMTlhMGYyODk5MDZlMTViNzVhZGRiOGM0ZDBl
ZmE4NjI1OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMDItMjIgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSZWdyZXNzaW9uKFBTT04pIFVuYWJs
ZSB0byBwcmV2aWV3IHBhc3N3b3JkLXByb3RlY3RlZCBkb2N1bWVudHMgb24gaUNsb3VkLmNvbQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0OTU0Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80ODEyNzk1Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBB
bGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIE1ha2Ugc3VyZSB0aGUgUHJvdmlzaW9uYWxQYWdl
UHJveHkgZm9yd2FyZHMgdG8gdGhlIFdlYlBhZ2VQcm94eSB0aGUgUXVpY2tMb29rLXJlbGF0ZWQK
KyAgICAgICAgSVBDIG9uIGlPUy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Qcm92aXNpb25hbFBh
Z2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlByb3Zpc2lvbmFsUGFnZVByb3h5OjpkaWRS
ZXF1ZXN0UGFzc3dvcmRGb3JRdWlja0xvb2tEb2N1bWVudEluTWFpbkZyYW1lKToKKyAgICAgICAg
KFdlYktpdDo6UHJvdmlzaW9uYWxQYWdlUHJveHk6OmRpZFJlY2VpdmVNZXNzYWdlKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJ
T1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkUmVxdWVzdFBhc3N3b3Jk
Rm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6ZGlkUmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFt
ZVNoYXJlZCk6CisKIDIwMTktMDItMjIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBSRUdSRVNTSU9OKFBTT04pIFNjcm9sbCBwb3NpdGlvbiBpcyBzb21ldGltZXMg
bm90IHJlc3RvcmVkIG9uIGhpc3RvcnkgbmF2aWdhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwCmluZGV4IGViMjk5YTg3Yjc1NTVmMDNj
YzhlMjVkZDE5OTJjOTVhMGY0NzM5ZjIuLmQ0YmRjYzRlY2EzM2NhOGVlMzBhOTNlOWNmZTQ2MDRm
ODFhYzYzZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFs
UGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBh
Z2VQcm94eS5jcHAKQEAgLTMyNyw2ICszMjcsMTMgQEAgdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94
eTo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvblN5bmModWludDY0X3QgZnJhbWVJRCwK
ICAgICAgICAgV1RGTW92ZShmcmFtZUluZm9EYXRhKSwgb3JpZ2luYXRpbmdQYWdlSUQsIG9yaWdp
bmFsUmVxdWVzdCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShyZXF1ZXN0Qm9keSksIFdURk1v
dmUocmVkaXJlY3RSZXNwb25zZSksIHVzZXJEYXRhLCBXVEZNb3ZlKHJlcGx5KSk7CiB9CiAKKyNp
ZiBVU0UoUVVJQ0tfTE9PSykKK3ZvaWQgUHJvdmlzaW9uYWxQYWdlUHJveHk6OmRpZFJlcXVlc3RQ
YXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWUoY29uc3QgU3RyaW5nJiBmaWxl
TmFtZSkKK3sKKyAgICBtX3BhZ2UuZGlkUmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1l
bnRJbk1haW5GcmFtZVNoYXJlZChtX3Byb2Nlc3MuY29weVJlZigpLCBmaWxlTmFtZSk7Cit9Cisj
ZW5kaWYKKwogI2lmIFBMQVRGT1JNKENPQ09BKQogdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6
cmVnaXN0ZXJXZWJQcm9jZXNzQWNjZXNzaWJpbGl0eVRva2VuKGNvbnN0IElQQzo6RGF0YVJlZmVy
ZW5jZSYgZGF0YSkKIHsKQEAgLTM0NCw2ICszNTEsMTAgQEAgdm9pZCBQcm92aXNpb25hbFBhZ2VQ
cm94eTo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6
OkQKICAgICAgICAgfHwgZGVjb2Rlci5tZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWdl
UHJveHk6OkxvZ0RpYWdub3N0aWNNZXNzYWdlOjpuYW1lKCkKICAgICAgICAgfHwgZGVjb2Rlci5t
ZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0aWNNZXNz
YWdlV2l0aEVuaGFuY2VkUHJpdmFjeTo6bmFtZSgpCiAgICAgICAgIHx8IGRlY29kZXIubWVzc2Fn
ZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXROZXR3b3JrUmVxdWVzdHNJblBy
b2dyZXNzOjpuYW1lKCkKKyNpZiBVU0UoUVVJQ0tfTE9PSykKKyAgICAgICAgfHwgZGVjb2Rlci5t
ZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFN0YXJ0TG9hZEZvclF1
aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWU6Om5hbWUoKQorICAgICAgICB8fCBkZWNvZGVyLm1l
c3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkRmluaXNoTG9hZEZvclF1
aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWU6Om5hbWUoKQorI2VuZGlmCiAgICAgICAgICkKICAg
ICB7CiAgICAgICAgIG1fcGFnZS5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVy
KTsKQEAgLTQxNyw2ICs0MjgsMTMgQEAgdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6ZGlkUmVj
ZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkQKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAorI2lmIFVTRShRVUlDS19MT09LKQorICAgIGlmIChkZWNvZGVyLm1l
c3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkUmVxdWVzdFBhc3N3b3Jk
Rm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFtZTo6bmFtZSgpKSB7CisgICAgICAgIElQQzo6
aGFuZGxlTWVzc2FnZTxNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRSZXF1ZXN0UGFzc3dvcmRG
b3JRdWlja0xvb2tEb2N1bWVudEluTWFpbkZyYW1lPihkZWNvZGVyLCB0aGlzLCAmUHJvdmlzaW9u
YWxQYWdlUHJveHk6OmRpZFJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWlu
RnJhbWUpOworICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCisKICAgICBMT0coUHJvY2Vz
c1N3YXBwaW5nLCAiVW5oYW5kbGVkIG1lc3NhZ2UgJXM6OiVzIGZyb20gcHJvdmlzaW9uYWwgcHJv
Y2VzcyIsIGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpLnRvU3RyaW5nKCkuZGF0YSgpLCBk
ZWNvZGVyLm1lc3NhZ2VOYW1lKCkudG9TdHJpbmcoKS5kYXRhKCkpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuaAppbmRleCBjNDJmZTZkZjRi
YWQ4OGMwOWJkNDg0ZWU2M2I2M2YwNDRlZGM0NTkwLi41ZGI5ODg2NzYxMGQ0ZTJhMWNmZTA4ZjEx
ZTJiZDgxYmU4NzhhMzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92
aXNpb25hbFBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lv
bmFsUGFnZVByb3h5LmgKQEAgLTEwNSw2ICsxMDUsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgZGVj
aWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvblN5bmModWludDY0X3QgZnJhbWVJRCwgYm9vbCBp
c01haW5GcmFtZSwgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiYsIFdlYkNvcmU6OlBvbGlj
eUNoZWNrSWRlbnRpZmllciwgdWludDY0X3QgbmF2aWdhdGlvbklELCBOYXZpZ2F0aW9uQWN0aW9u
RGF0YSYmLAogICAgICAgICBGcmFtZUluZm9EYXRhJiYsIHVpbnQ2NF90IG9yaWdpbmF0aW5nUGFn
ZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIG9yaWdpbmFsUmVxdWVzdCwgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIElQQzo6Rm9ybURhdGFSZWZlcmVuY2UmJiByZXF1ZXN0
Qm9keSwKICAgICAgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmIHJlZGlyZWN0UmVzcG9u
c2UsIGNvbnN0IFVzZXJEYXRhJiwgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGVjaWRlUG9saWN5
Rm9yTmF2aWdhdGlvbkFjdGlvblN5bmM6OkRlbGF5ZWRSZXBseSYmKTsKKyNpZiBVU0UoUVVJQ0tf
TE9PSykKKyAgICB2b2lkIGRpZFJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50SW5N
YWluRnJhbWUoY29uc3QgU3RyaW5nJiBmaWxlTmFtZSk7CisjZW5kaWYKICNpZiBQTEFURk9STShD
T0NPQSkKICAgICB2b2lkIHJlZ2lzdGVyV2ViUHJvY2Vzc0FjY2Vzc2liaWxpdHlUb2tlbihjb25z
dCBJUEM6OkRhdGFSZWZlcmVuY2UmKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAppbmRleCA3MGU4MWQ1MmU4ZTBhNjU4ODg2NjUzY2NmMGIzMmVjY2VmNjI4Zjdh
Li5kNGYxN2YwZjMwNjFlY2ZiYWJkMTc3OGRlMGU0YTdlODFiYjBhZTFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTQ1OCw2ICsxNDU4LDkgQEAgcHVibGljOgog
ICAgIHZvaWQgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvblN5bmNTaGFyZWQoUmVmPFdl
YlByb2Nlc3NQcm94eT4mJiwgdWludDY0X3QgZnJhbWVJRCwgYm9vbCBpc01haW5GcmFtZSwgV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiYsIFdlYkNvcmU6OlBvbGljeUNoZWNrSWRlbnRpZmll
ciwgdWludDY0X3QgbmF2aWdhdGlvbklELCBOYXZpZ2F0aW9uQWN0aW9uRGF0YSYmLAogICAgICAg
ICBGcmFtZUluZm9EYXRhJiYsIHVpbnQ2NF90IG9yaWdpbmF0aW5nUGFnZUlELCBjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmIG9yaWdpbmFsUmVxdWVzdCwgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0JiYsIElQQzo6Rm9ybURhdGFSZWZlcmVuY2UmJiByZXF1ZXN0Qm9keSwKICAgICAgICAg
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmIHJlZGlyZWN0UmVzcG9uc2UsIGNvbnN0IFVzZXJE
YXRhJiwgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFj
dGlvblN5bmM6OkRlbGF5ZWRSZXBseSYmKTsKKyNpZiBVU0UoUVVJQ0tfTE9PSykKKyAgICB2b2lk
IGRpZFJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWVTaGFyZWQo
UmVmPFdlYlByb2Nlc3NQcm94eT4mJiwgY29uc3QgU3RyaW5nJiBmaWxlTmFtZSk7CisjZW5kaWYK
IAogICAgIHZvaWQgZHVtcEFkQ2xpY2tBdHRyaWJ1dGlvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGNvbnN0IFN0cmluZyYpPiYmKTsKICAgICB2b2lkIGNsZWFyQWRDbGlja0F0dHJpYnV0aW9uKENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dlYlBhZ2VQcm94eUlPUy5tbQppbmRleCBmZmUzOTk1MmEzODAwZTczZjUwZTFlODFhMTM1
M2RlOTc1OWY4YjZiLi5mZjc0NDI0YTFjZWU5ODg0YTBhZTY3ZWVkOTdkNWVlN2RhOGFmMzRkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KQEAg
LTExNTksOCArMTE1OSwxMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmluaXNoTG9hZEZvclF1
aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWUoY29uc3QgUXVpY2tMb29rRAogCiB2b2lkIFdlYlBh
Z2VQcm94eTo6ZGlkUmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFt
ZShjb25zdCBTdHJpbmcmIGZpbGVOYW1lKQogewotICAgIHBhZ2VDbGllbnQoKS5yZXF1ZXN0UGFz
c3dvcmRGb3JRdWlja0xvb2tEb2N1bWVudChmaWxlTmFtZSwgW3Byb3RlY3RlZFRoaXMgPSBtYWtl
UmVmKCp0aGlzKV0oY29uc3QgU3RyaW5nJiBwYXNzd29yZCkgewotICAgICAgICBwcm90ZWN0ZWRU
aGlzLT5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkUmVjZWl2ZVBhc3N3b3Jk
Rm9yUXVpY2tMb29rRG9jdW1lbnQocGFzc3dvcmQpLCBwcm90ZWN0ZWRUaGlzLT5tX3BhZ2VJRCk7
CisgICAgZGlkUmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFtZVNo
YXJlZChtX3Byb2Nlc3MuY29weVJlZigpLCBmaWxlTmFtZSk7Cit9CisKK3ZvaWQgV2ViUGFnZVBy
b3h5OjpkaWRSZXF1ZXN0UGFzc3dvcmRGb3JRdWlja0xvb2tEb2N1bWVudEluTWFpbkZyYW1lU2hh
cmVkKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYgcHJvY2VzcywgY29uc3QgU3RyaW5nJiBmaWxlTmFt
ZSkKK3sKKyAgICBwYWdlQ2xpZW50KCkucmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1l
bnQoZmlsZU5hbWUsIFtwcm9jZXNzID0gV1RGTW92ZShwcm9jZXNzKSwgcGFnZUlEID0gbV9wYWdl
SURdKGNvbnN0IFN0cmluZyYgcGFzc3dvcmQpIHsKKyAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNz
YWdlczo6V2ViUGFnZTo6RGlkUmVjZWl2ZVBhc3N3b3JkRm9yUXVpY2tMb29rRG9jdW1lbnQocGFz
c3dvcmQpLCBwYWdlSUQpOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDIyN2M5OWI4MWQ5ZjdkM2FjY2UxMGU5MTI1Yzhi
ZDljZWE5MGFmNS4uMDQzYmM0OTRkZGNlNTIyN2RiYjU4ZTUxNmVmMWRlNGVlNDc1NGY0YyAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE4IEBACisyMDE5LTAyLTIyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmVncmVzc2lvbihQU09OKSBVbmFibGUgdG8gcHJldmlldyBwYXNzd29yZC1wcm90ZWN0
ZWQgZG9jdW1lbnRzIG9uIGlDbG91ZC5jb20KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5NDk1NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDgxMjc5
NTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBB
ZGQgQVBJIHRlc3QgY292ZXJhZ2UuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tOgorICAgICAgICAoLVtQU09OTmF2
aWdhdGlvbkRlbGVnYXRlIF93ZWJWaWV3RGlkUmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tMb29rRG9j
dW1lbnQ6XSk6CisgICAgICAgICgtW1BTT05OYXZpZ2F0aW9uRGVsZWdhdGUgX3dlYlZpZXc6ZGlk
U3RhcnRMb2FkRm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFtZVdpdGhGaWxlTmFtZTp1dGk6
XSk6CisgICAgICAgICgtW1BTT05OYXZpZ2F0aW9uRGVsZWdhdGUgX3dlYlZpZXc6ZGlkRmluaXNo
TG9hZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWU6XSk6CisKIDIwMTktMDItMjIgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKFBTT04p
IFNjcm9sbCBwb3NpdGlvbiBpcyBzb21ldGltZXMgbm90IHJlc3RvcmVkIG9uIGhpc3RvcnkgbmF2
aWdhdGlvbgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0KaW5kZXggYWFkMTQxYjdhMTE4
OWNjOTk2MDEzMWYxMGExMDcxNGRlODA2MDFlMS4uODE5MjU5ZWQ3YTlhODBiNGI4ZmFjYzEwODM4
NTQ0MzBhY2Q5NTAyNiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tCkBAIC03MCw2
ICs3MCwxMiBAQCBzdGF0aWMgYm9vbCBkaWRDcmVhdGVXZWJWaWV3Owogc3RhdGljIGludCBudW1i
ZXJPZkRlY2lkZVBvbGljeUNhbGxzOwogc3RhdGljIGJvb2wgZGlkUmVwb25kVG9Qb2xpY3lEZWNp
c2lvbkNhbGw7CiAKKyNpZiBQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDExMDAwMAorc3RhdGljIGJvb2wgcmVxdWVzdGVkUXVpY2tMb29rUGFzc3dv
cmQ7CitzdGF0aWMgYm9vbCBkaWRTdGFydFF1aWNrTG9va0xvYWQ7CitzdGF0aWMgYm9vbCBkaWRG
aW5pc2hRdWlja0xvb2tMb2FkOworI2VuZGlmCisKIHN0YXRpYyBSZXRhaW5QdHI8TlNNdXRhYmxl
QXJyYXk+IHJlY2VpdmVkTWVzc2FnZXMgPSBhZG9wdE5TKFtAW10gbXV0YWJsZUNvcHldKTsKIGJv
b2wgZGlkUmVjZWl2ZUFsZXJ0Owogc3RhdGljIGJvb2wgcmVjZWl2ZWRNZXNzYWdlOwpAQCAtOTgs
NyArMTA0LDcgQEAgLSAodm9pZCl1c2VyQ29udGVudENvbnRyb2xsZXI6KFdLVXNlckNvbnRlbnRD
b250cm9sbGVyICopdXNlckNvbnRlbnRDb250cm9sbGVyIGQKIH0KIEBlbmQKIAotQGludGVyZmFj
ZSBQU09OTmF2aWdhdGlvbkRlbGVnYXRlIDogTlNPYmplY3QgPFdLTmF2aWdhdGlvbkRlbGVnYXRl
PiB7CitAaW50ZXJmYWNlIFBTT05OYXZpZ2F0aW9uRGVsZWdhdGUgOiBOU09iamVjdCA8V0tOYXZp
Z2F0aW9uRGVsZWdhdGVQcml2YXRlPiB7CiAgICAgQHB1YmxpYyB2b2lkICheZGVjaWRlUG9saWN5
Rm9yTmF2aWdhdGlvbkFjdGlvbikoV0tOYXZpZ2F0aW9uQWN0aW9uICosIHZvaWQgKF4pKFdLTmF2
aWdhdGlvbkFjdGlvblBvbGljeSkpOwogICAgIEBwdWJsaWMgdm9pZCAoXmRpZFN0YXJ0UHJvdmlz
aW9uYWxOYXZpZ2F0aW9uSGFuZGxlcikoKTsKICAgICBAcHVibGljIHZvaWQgKF5kaWRDb21taXRO
YXZpZ2F0aW9uSGFuZGxlcikoKTsKQEAgLTE3NCw2ICsxODAsMjUgQEAgLSAodm9pZClfd2ViVmll
dzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRQZXJmb3JtQ2xpZW50UmVkaXJlY3RGcm9tVVJMOihO
U1VSTCAqKXMKICAgICBkaWRQZXJmb3JtQ2xpZW50UmVkaXJlY3QgPSB0cnVlOwogfQogCisjaWYg
UExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAw
MDAKKworLSAodm9pZClfd2ViVmlld0RpZFJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3Vt
ZW50OihXS1dlYlZpZXcgKil3ZWJWaWV3Cit7CisgICAgcmVxdWVzdGVkUXVpY2tMb29rUGFzc3dv
cmQgPSB0cnVlOworfQorCistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRp
ZFN0YXJ0TG9hZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWVXaXRoRmlsZU5hbWU6KE5T
U3RyaW5nICopZmlsZU5hbWUgdXRpOihOU1N0cmluZyAqKXV0aQoreworICAgIGRpZFN0YXJ0UXVp
Y2tMb29rTG9hZCA9IHRydWU7Cit9CisKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdl
YlZpZXcgZGlkRmluaXNoTG9hZEZvclF1aWNrTG9va0RvY3VtZW50SW5NYWluRnJhbWU6KE5TRGF0
YSAqKWRvY3VtZW50RGF0YQoreworICAgIGRpZEZpbmlzaFF1aWNrTG9va0xvYWQgPSB0cnVlOwor
fQorCisjZW5kaWYKKwogQGVuZAogCiBzdGF0aWMgUmV0YWluUHRyPFdLV2ViVmlldz4gY3JlYXRl
ZFdlYlZpZXc7CkBAIC01MzIwLDQgKzUzNDUsNDIgQEAgVEVTVChQcm9jZXNzU3dhcCwgUGFnZU92
ZXJsYXlMYXllclBlcnNpc3RlbmNlKQogI2VuZGlmCiB9CiAKKyNpZiBQTEFURk9STShJT1MpICYm
IF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMAorCitURVNUKFByb2Nl
c3NTd2FwLCBRdWlja0xvb2tSZXF1ZXN0c1Bhc3N3b3JkQWZ0ZXJTd2FwKQoreworICAgIGF1dG8g
cHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uID0gcHNvblByb2Nlc3NQb29sQ29uZmlndXJhdGlvbigp
OworICAgIGF1dG8gcHJvY2Vzc1Bvb2wgPSBhZG9wdE5TKFtbV0tQcm9jZXNzUG9vbCBhbGxvY10g
X2luaXRXaXRoQ29uZmlndXJhdGlvbjpwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uZ2V0KCldKTsK
KworICAgIGF1dG8gd2ViVmlld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29u
ZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRQ
cm9jZXNzUG9vbDpwcm9jZXNzUG9vbC5nZXQoKV07CisgICAgYXV0byBoYW5kbGVyID0gYWRvcHRO
UyhbW1BTT05TY2hlbWUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24g
c2V0VVJMU2NoZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAIlBTT04iXTsK
KworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0
V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246d2ViVmll
d0NvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAgIGF1dG8gbmF2aWdhdGlvbkRlbGVnYXRlID0g
YWRvcHROUyhbW1BTT05OYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2Vi
VmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6bmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpXTsKKwor
ICAgIGF1dG8qIHJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBV
UkxXaXRoU3RyaW5nOkAicHNvbjovL3d3dy53ZWJraXQub3JnL21haW4uaHRtbCJdXTsKKyAgICBb
d2ViVmlldyBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6
OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworCisgICAgcmVxdWVzdCA9IFtOU1VSTFJl
cXVlc3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJj
ZTpAInBhc3N3b3JkLXByb3RlY3RlZCIgd2l0aEV4dGVuc2lvbjpAInBhZ2VzIiBzdWJkaXJlY3Rv
cnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdXTsKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVz
dDpyZXF1ZXN0XTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkU3RhcnRRdWlj
a0xvb2tMb2FkKTsKKyAgICBkaWRTdGFydFF1aWNrTG9va0xvYWQgPSBmYWxzZTsKKworICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmcmVxdWVzdGVkUXVpY2tMb29rUGFzc3dvcmQpOworICAg
IHJlcXVlc3RlZFF1aWNrTG9va1Bhc3N3b3JkID0gZmFsc2U7CisKKyAgICBUZXN0V2ViS2l0QVBJ
OjpVdGlsOjpydW4oJmRpZEZpbmlzaFF1aWNrTG9va0xvYWQpOworICAgIGRpZEZpbmlzaFF1aWNr
TG9va0xvYWQgPSBmYWxzZTsKK30KKworI2VuZGlmCisKICNlbmRpZiAvLyBXS19BUElfRU5BQkxF
RAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>