<?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>206778</bug_id>
          
          <creation_ts>2020-01-24 15:55:57 -0800</creation_ts>
          <short_desc>Add logging to show the flow of AppSSO</short_desc>
          <delta_ts>2020-01-30 18:22:32 -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>WebKit Misc.</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="Jiewen Tan">jiewen_tan</reporter>
          <assigned_to name="Jiewen Tan">jiewen_tan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>krollin</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1610895</commentid>
    <comment_count>0</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-01-24 15:55:57 -0800</bug_when>
    <thetext>Add logging to show the flow of AppSSO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610897</commentid>
    <comment_count>1</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-01-24 15:56:11 -0800</bug_when>
    <thetext>&lt;rdar://problem/58626835&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610898</commentid>
    <comment_count>2</comment_count>
      <attachid>388737</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-01-24 15:58:49 -0800</bug_when>
    <thetext>Created attachment 388737
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610902</commentid>
    <comment_count>3</comment_count>
      <attachid>388737</attachid>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2020-01-24 16:21:06 -0800</bug_when>
    <thetext>Comment on attachment 388737
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:148
&gt;              return;

I&apos;m wondering if early returns statements like these are interesting to log. Or if continuing past them is something that&apos;s interesting to log. Any time there&apos;s a change in control flow, you might want to later know what happened and why.

&gt; Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:215
&gt; +    RELEASE_LOG_IF_ALLOWED(&quot;complete: (httpStatusCode: %d, hasCookies: 1, hasData: %d)&quot;, response.httpStatusCode(), !!data.length);

You could consolidate this logging line with the one above, moving the consolidated line after the toCookieVector call, and passing in the result of cookies.isEmpty() to a &quot;hasCookies: %d&quot; format specifier.

Also, the format I&apos;ve been standardizing on uses equals signs with no spaces around them &quot;... (httpStatusCode=%d, hasCookies=%d, hasData=%d)&quot;.

&gt; Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:238
&gt; +    RELEASE_LOG_IF_ALLOWED(&quot;presentViewController:&quot;);

This logging statement is not at the top of this function. Is this intended? Knowing that you entered a function even if you exit early can be handy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610927</commentid>
    <comment_count>4</comment_count>
      <attachid>388737</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-01-24 17:01:48 -0800</bug_when>
    <thetext>Comment on attachment 388737
Patch

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

Thanks Keith for reviewing my patch.

&gt;&gt; Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:148
&gt;&gt;              return;
&gt; 
&gt; I&apos;m wondering if early returns statements like these are interesting to log. Or if continuing past them is something that&apos;s interesting to log. Any time there&apos;s a change in control flow, you might want to later know what happened and why.

Thanks for your tips. This check is a cautious check over pointers. The early return is probably never going to happen. Maybe I should use UNLIKELY().

&gt;&gt; Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:215
&gt;&gt; +    RELEASE_LOG_IF_ALLOWED(&quot;complete: (httpStatusCode: %d, hasCookies: 1, hasData: %d)&quot;, response.httpStatusCode(), !!data.length);
&gt; 
&gt; You could consolidate this logging line with the one above, moving the consolidated line after the toCookieVector call, and passing in the result of cookies.isEmpty() to a &quot;hasCookies: %d&quot; format specifier.
&gt; 
&gt; Also, the format I&apos;ve been standardizing on uses equals signs with no spaces around them &quot;... (httpStatusCode=%d, hasCookies=%d, hasData=%d)&quot;.

Good point!

&gt;&gt; Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:238
&gt;&gt; +    RELEASE_LOG_IF_ALLOWED(&quot;presentViewController:&quot;);
&gt; 
&gt; This logging statement is not at the top of this function. Is this intended? Knowing that you entered a function even if you exit early can be handy.

I should move this above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610930</commentid>
    <comment_count>5</comment_count>
      <attachid>388745</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-01-24 17:06:14 -0800</bug_when>
    <thetext>Created attachment 388745
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613217</commentid>
    <comment_count>6</comment_count>
      <attachid>388745</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-01-30 16:57:50 -0800</bug_when>
    <thetext>Comment on attachment 388745
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613220</commentid>
    <comment_count>7</comment_count>
      <attachid>388745</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-01-30 17:08:35 -0800</bug_when>
    <thetext>Comment on attachment 388745
Patch

Thanks, Brent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613242</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-30 18:04:19 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 388745:

editing/spelling/spellcheck-async-remove-frame.html bug 158401 (authors: morrita@google.com, rniwa@webkit.org, and tony@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613245</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-30 18:04:40 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 388745:

editing/spelling/spellcheck-attribute.html bug 206178 (authors: g.czajkowski@samsung.com, mark.lam@apple.com, and rniwa@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613250</commentid>
    <comment_count>10</comment_count>
      <attachid>388745</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-30 18:22:30 -0800</bug_when>
    <thetext>Comment on attachment 388745
Patch

Clearing flags on attachment: 388745

Committed r255480: &lt;https://trac.webkit.org/changeset/255480&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613251</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-30 18:22:32 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388737</attachid>
            <date>2020-01-24 15:58:49 -0800</date>
            <delta_ts>2020-01-24 17:06:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206778-20200124155848.patch</filename>
            <type>text/plain</type>
            <size>6848</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGY3NDZiODQ4ZGU4Y2U0ZDg1
OTBhMmM4MjVhM2Y4NTg1ZDJhMTE3M2YuLmEwOTk2MjFjZDAxZTU1NTExNGRlYzAzMDZkZDIzNGEw
NWYzMzUwNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjAtMDEtMjQgIEppZXdlbiBU
YW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbG9nZ2luZyB0byBzaG93
IHRoZSBmbG93IG9mIEFwcFNTTworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA2Nzc4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81ODYyNjgzNT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsYXRmb3Jt
L0xvZ2dpbmcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvU09BdXRob3JpemF0aW9uL1NP
QXV0aG9yaXphdGlvblNlc3Npb24ubW06CisgICAgICAgIChXZWJLaXQ6OlNPQXV0aG9yaXphdGlv
blNlc3Npb246OnNob3VsZFN0YXJ0KToKKyAgICAgICAgKFdlYktpdDo6U09BdXRob3JpemF0aW9u
U2Vzc2lvbjo6c3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpTT0F1dGhvcml6YXRpb25TZXNzaW9u
OjpmYWxsQmFja1RvV2ViUGF0aCk6CisgICAgICAgIChXZWJLaXQ6OlNPQXV0aG9yaXphdGlvblNl
c3Npb246OmFib3J0KToKKyAgICAgICAgKFdlYktpdDo6U09BdXRob3JpemF0aW9uU2Vzc2lvbjo6
Y29tcGxldGUpOgorICAgICAgICAoV2ViS2l0OjpTT0F1dGhvcml6YXRpb25TZXNzaW9uOjpwcmVz
ZW50Vmlld0NvbnRyb2xsZXIpOgorICAgICAgICAoV2ViS2l0OjpTT0F1dGhvcml6YXRpb25TZXNz
aW9uOjpkaXNtaXNzVmlld0NvbnRyb2xsZXIpOgorCiAyMDIwLTAxLTI0ICBKaWV3ZW4gVGFuICA8
amlld2VuX3RhbkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgYSBidWlsZCBmaXgg
YWZ0ZXIgcjI1NTA1NgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9Mb2dnaW5n
LmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dpbmcuaAppbmRleCBlMDMyMzdlMWZmNmZm
NDcwYjJhNWMyN2UwZTFiYzQwNjg2ZWUyN2VkLi43ODgyYjNiNDNhOTc1ZTEzZGVkOThkNDk4MGM0
NWM1ZDBiMDA3MTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dpbmcu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dpbmcuaApAQCAtNDAsMTAgKzQwLDEx
IEBAIGV4dGVybiAiQyIgewogI2VuZGlmCiAKICNkZWZpbmUgV0VCS0lUMl9MT0dfQ0hBTk5FTFMo
TSkgXAorICAgIE0oQWN0aXZpdHlTdGF0ZSkgXAogICAgIE0oQWRDbGlja0F0dHJpYnV0aW9uKSBc
CisgICAgTShBcHBTU08pIFwKICAgICBNKEF1dG9tYXRpb24pIFwKICAgICBNKEF1dG9tYXRpb25J
bnRlcmFjdGlvbnMpIFwKLSAgICBNKEFjdGl2aXR5U3RhdGUpIFwKICAgICBNKEJhY2tGb3J3YXJk
KSBcCiAgICAgTShCYWNrRm9yd2FyZENhY2hlKSBcCiAgICAgTShDYWNoZVN0b3JhZ2UpIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1NPQXV0aG9yaXphdGlvbi9T
T0F1dGhvcml6YXRpb25TZXNzaW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
U09BdXRob3JpemF0aW9uL1NPQXV0aG9yaXphdGlvblNlc3Npb24ubW0KaW5kZXggNjlmODZmOTIy
YTVjNmJlNTk0OWNlNDIzOTkyZGFmYTk5YjgwYjg4Ny4uNjhjZTZhY2E1NDkzNjkyYTk2NTc4ZjBj
YmVkZTlhNjllN2FkOTQ1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvU09BdXRob3JpemF0aW9uL1NPQXV0aG9yaXphdGlvblNlc3Npb24ubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvU09BdXRob3JpemF0aW9uL1NPQXV0aG9yaXphdGlvblNl
c3Npb24ubW0KQEAgLTMyLDYgKzMyLDcgQEAKICNpbXBvcnQgIkFQSU5hdmlnYXRpb24uaCIKICNp
bXBvcnQgIkFQSU5hdmlnYXRpb25BY3Rpb24uaCIKICNpbXBvcnQgIkFQSVVJQ2xpZW50LmgiCisj
aW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJTT0F1dGhvcml6YXRpb25Mb2FkUG9saWN5Lmgi
CiAjaW1wb3J0ICJXS1VJRGVsZWdhdGVQcml2YXRlLmgiCiAjaW1wb3J0ICJXS1dlYlZpZXdJbnRl
cm5hbC5oIgpAQCAtNDIsMTAgKzQzLDMxIEBACiAjaW1wb3J0IDxwYWwvY29jb2EvQXBwU1NPU29m
dExpbmsuaD4KICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KIAorI2RlZmluZSBSRUxFQVNFX0xPR19J
Rl9BTExPV0VEKGZtdCwgLi4uKSBSRUxFQVNFX0xPR19JRihtX3BhZ2UgJiYgbV9wYWdlLT5pc0Fs
d2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgQXBwU1NPLCAiJXAgLSBbSW5pdGlhdGluZ0FjdGlvbj0l
c10gU09BdXRob3JpemF0aW9uU2Vzc2lvbjo6IiBmbXQsIHRoaXMsIHRvU3RyaW5nKG1fYWN0aW9u
KSwgIyNfX1ZBX0FSR1NfXykKKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIG5hbWVzcGFjZSB7CiAK
K3N0YXRpYyBjb25zdCBjaGFyKiBSZWRpcmVjdCA9ICJSZWRpcmVjdCI7CitzdGF0aWMgY29uc3Qg
Y2hhciogUG9wVXAgPSAiUG9wVXAiOworc3RhdGljIGNvbnN0IGNoYXIqIFN1YkZyYW1lID0gIlN1
YkZyYW1lIjsKKworc3RhdGljIGNvbnN0IGNoYXIqIHRvU3RyaW5nKGNvbnN0IFNPQXV0aG9yaXph
dGlvblNlc3Npb246OkluaXRpYXRpbmdBY3Rpb24mIGFjdGlvbikKK3sKKyAgICBzd2l0Y2ggKGFj
dGlvbikgeworICAgIGNhc2UgU09BdXRob3JpemF0aW9uU2Vzc2lvbjo6SW5pdGlhdGluZ0FjdGlv
bjo6UmVkaXJlY3Q6CisgICAgICAgIHJldHVybiBSZWRpcmVjdDsKKyAgICBjYXNlIFNPQXV0aG9y
aXphdGlvblNlc3Npb246OkluaXRpYXRpbmdBY3Rpb246OlBvcFVwOgorICAgICAgICByZXR1cm4g
UG9wVXA7CisgICAgY2FzZSBTT0F1dGhvcml6YXRpb25TZXNzaW9uOjpJbml0aWF0aW5nQWN0aW9u
OjpTdWJGcmFtZToKKyAgICAgICAgcmV0dXJuIFN1YkZyYW1lOworICAgIH0KKworICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBudWxscHRyOworfQorCiBzdGF0aWMgVmVjdG9y
PFdlYkNvcmU6OkNvb2tpZT4gdG9Db29raWVWZWN0b3IoTlNBcnJheTxOU0hUVFBDb29raWUgKj4g
KmNvb2tpZXMpCiB7CiAgICAgVmVjdG9yPFdlYkNvcmU6OkNvb2tpZT4gcmVzdWx0OwpAQCAtOTQs
NiArMTE2LDggQEAgdm9pZCBTT0F1dGhvcml6YXRpb25TZXNzaW9uOjpiZWNvbWVDb21wbGV0ZWQo
KQogCiB2b2lkIFNPQXV0aG9yaXphdGlvblNlc3Npb246OnNob3VsZFN0YXJ0KCkKIHsKKyAgICBS
RUxFQVNFX0xPR19JRl9BTExPV0VEKCJzaG91bGRTdGFydDoiKTsKKwogICAgIEFTU0VSVChtX3N0
YXRlID09IFN0YXRlOjpJZGxlKTsKICAgICBpZiAoIW1fcGFnZSkKICAgICAgICAgcmV0dXJuOwpA
QCAtMTAyLDYgKzEyNiw4IEBAIHZvaWQgU09BdXRob3JpemF0aW9uU2Vzc2lvbjo6c2hvdWxkU3Rh
cnQoKQogCiB2b2lkIFNPQXV0aG9yaXphdGlvblNlc3Npb246OnN0YXJ0KCkKIHsKKyAgICBSRUxF
QVNFX0xPR19JRl9BTExPV0VEKCJzdGFydDoiKTsKKwogICAgIEFTU0VSVCgobV9zdGF0ZSA9PSBT
dGF0ZTo6SWRsZSB8fCBtX3N0YXRlID09IFN0YXRlOjpXYWl0aW5nKSAmJiBtX3BhZ2UgJiYgbV9u
YXZpZ2F0aW9uQWN0aW9uKTsKICAgICBtX3N0YXRlID0gU3RhdGU6OkFjdGl2ZTsKIApAQCAtMTEw
LDEwICsxMzYsMTQgQEAgdm9pZCBTT0F1dGhvcml6YXRpb25TZXNzaW9uOjpzdGFydCgpCiAgICAg
ICAgICAgICByZXR1cm47CiAKICAgICAgICAgaWYgKHBvbGljeSA9PSBTT0F1dGhvcml6YXRpb25M
b2FkUG9saWN5OjpJZ25vcmUpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQo
InN0YXJ0OiBSZWNlaXZlIFNPQXV0aG9yaXphdGlvbkxvYWRQb2xpY3k6Oklnbm9yZSIpOworCiAg
ICAgICAgICAgICBmYWxsQmFja1RvV2ViUGF0aCgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CiAKKyAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgic3RhcnQ6IFJlY2VpdmUg
U09BdXRob3JpemF0aW9uTG9hZFBvbGljeTo6QWxsb3ciKTsKKwogICAgICAgICBpZiAoIW1fc29B
dXRob3JpemF0aW9uIHx8ICFtX3BhZ2UgfHwgIW1fbmF2aWdhdGlvbkFjdGlvbikKICAgICAgICAg
ICAgIHJldHVybjsKIApAQCAtMTQyLDYgKzE3Miw4IEBAIHZvaWQgU09BdXRob3JpemF0aW9uU2Vz
c2lvbjo6c3RhcnQoKQogCiB2b2lkIFNPQXV0aG9yaXphdGlvblNlc3Npb246OmZhbGxCYWNrVG9X
ZWJQYXRoKCkKIHsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJmYWxsQmFja1RvV2ViUGF0
aDoiKTsKKwogICAgIGlmIChtX3N0YXRlICE9IFN0YXRlOjpBY3RpdmUpCiAgICAgICAgIHJldHVy
bjsKICAgICBiZWNvbWVDb21wbGV0ZWQoKTsKQEAgLTE1MCw2ICsxODIsOCBAQCB2b2lkIFNPQXV0
aG9yaXphdGlvblNlc3Npb246OmZhbGxCYWNrVG9XZWJQYXRoKCkKIAogdm9pZCBTT0F1dGhvcml6
YXRpb25TZXNzaW9uOjphYm9ydCgpCiB7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiYWJv
cnQ6Iik7CisKICAgICBpZiAobV9zdGF0ZSA9PSBTdGF0ZTo6SWRsZSB8fCBtX3N0YXRlID09IFN0
YXRlOjpDb21wbGV0ZWQpCiAgICAgICAgIHJldHVybjsKICAgICBiZWNvbWVDb21wbGV0ZWQoKTsK
QEAgLTE3MiwxNiArMjA2LDIzIEBAIHZvaWQgU09BdXRob3JpemF0aW9uU2Vzc2lvbjo6Y29tcGxl
dGUoTlNIVFRQVVJMUmVzcG9uc2UgKmh0dHBSZXNwb25zZSwgTlNEYXRhICpkCiAgICAgLy8gU2V0
IGNvb2tpZXMuCiAgICAgYXV0byBjb29raWVzID0gdG9Db29raWVWZWN0b3IoW05TSFRUUENvb2tp
ZSBjb29raWVzV2l0aFJlc3BvbnNlSGVhZGVyRmllbGRzOmh0dHBSZXNwb25zZS5hbGxIZWFkZXJG
aWVsZHMgZm9yVVJMOnJlc3BvbnNlLnVybCgpXSk7CiAgICAgaWYgKGNvb2tpZXMuaXNFbXB0eSgp
KSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImNvbXBsZXRlOiAoaHR0cFN0YXR1
c0NvZGU6ICVkLCBoYXNDb29raWVzOiAwLCBoYXNEYXRhOiAlZCkiLCByZXNwb25zZS5odHRwU3Rh
dHVzQ29kZSgpLCAhIWRhdGEubGVuZ3RoKTsKKwogICAgICAgICBjb21wbGV0ZUludGVybmFsKHJl
c3BvbnNlLCBkYXRhKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIFJFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoImNvbXBsZXRlOiAoaHR0cFN0YXR1c0NvZGU6ICVkLCBoYXNDb29raWVzOiAx
LCBoYXNEYXRhOiAlZCkiLCByZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpLCAhIWRhdGEubGVuZ3Ro
KTsKKwogICAgIGlmICghbV9wYWdlKQogICAgICAgICByZXR1cm47Ci0gICAgbV9wYWdlLT53ZWJz
aXRlRGF0YVN0b3JlKCkuY29va2llU3RvcmUoKS5zZXRDb29raWVzKGNvb2tpZXMsIFt3ZWFrVGhp
cyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgcmVzcG9uc2UgPSBXVEZNb3ZlKHJlc3BvbnNlKSwgZGF0
YSA9IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoRGF0YTpkYXRhXSldICgpIG11dGFi
bGUgeworICAgIG1fcGFnZS0+d2Vic2l0ZURhdGFTdG9yZSgpLmNvb2tpZVN0b3JlKCkuc2V0Q29v
a2llcyhjb29raWVzLCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHJlc3Bv
bnNlID0gV1RGTW92ZShyZXNwb25zZSksIGRhdGEgPSBhZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBp
bml0V2l0aERhdGE6ZGF0YV0pXSAoKSBtdXRhYmxlIHsKICAgICAgICAgaWYgKCF3ZWFrVGhpcykK
ICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgd2Vha1RoaXMtPmNvbXBsZXRlSW50ZXJuYWwo
cmVzcG9uc2UsIGRhdGEuZ2V0KCkpOworCisgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQo
ImNvbXBsZXRlOiBDb29raWVzIGFyZSBzZXQuIik7CisKKyAgICAgICAgY29tcGxldGVJbnRlcm5h
bChyZXNwb25zZSwgZGF0YS5nZXQoKSk7CiAgICAgfSk7CiB9CiAKQEAgLTE5NCw2ICsyMzUsOCBA
QCB2b2lkIFNPQXV0aG9yaXphdGlvblNlc3Npb246OnByZXNlbnRWaWV3Q29udHJvbGxlcihTT0F1
dGhvcml6YXRpb25WaWV3Q29udHJvbGxlcgogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAg
UkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgicHJlc2VudFZpZXdDb250cm9sbGVyOiIpOworCiAgICAg
bV92aWV3Q29udHJvbGxlciA9IHZpZXdDb250cm9sbGVyOwogI2lmIFBMQVRGT1JNKE1BQykKICAg
ICBBU1NFUlQoIW1fc2hlZXRXaW5kb3cpOwpAQCAtMjI3LDYgKzI3MCw4IEBAIHZvaWQgU09BdXRo
b3JpemF0aW9uU2Vzc2lvbjo6cHJlc2VudFZpZXdDb250cm9sbGVyKFNPQXV0aG9yaXphdGlvblZp
ZXdDb250cm9sbGVyCiAKIHZvaWQgU09BdXRob3JpemF0aW9uU2Vzc2lvbjo6ZGlzbWlzc1ZpZXdD
b250cm9sbGVyKCkKIHsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJkaXNtaXNzVmlld0Nv
bnRyb2xsZXI6Iik7CisKICAgICBBU1NFUlQobV92aWV3Q29udHJvbGxlcik7CiAjaWYgUExBVEZP
Uk0oTUFDKQogICAgIEFTU0VSVChtX3NoZWV0V2luZG93ICYmIG1fc2hlZXRXaW5kb3dXaWxsQ2xv
c2VPYnNlcnZlcik7CkBAIC0yNDUsNCArMjkwLDYgQEAgdm9pZCBTT0F1dGhvcml6YXRpb25TZXNz
aW9uOjpkaXNtaXNzVmlld0NvbnRyb2xsZXIoKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAot
I2VuZGlmCisjdW5kZWYgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRAorCisjZW5kaWYgLy8gSEFWRShB
UFBfU1NPKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388745</attachid>
            <date>2020-01-24 17:06:14 -0800</date>
            <delta_ts>2020-01-30 18:22:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206778-20200124170613.patch</filename>
            <type>text/plain</type>
            <size>6915</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGY3NDZiODQ4ZGU4Y2U0ZDg1
OTBhMmM4MjVhM2Y4NTg1ZDJhMTE3M2YuLmEwOTk2MjFjZDAxZTU1NTExNGRlYzAzMDZkZDIzNGEw
NWYzMzUwNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjAtMDEtMjQgIEppZXdlbiBU
YW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbG9nZ2luZyB0byBzaG93
IHRoZSBmbG93IG9mIEFwcFNTTworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA2Nzc4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81ODYyNjgzNT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsYXRmb3Jt
L0xvZ2dpbmcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvU09BdXRob3JpemF0aW9uL1NP
QXV0aG9yaXphdGlvblNlc3Npb24ubW06CisgICAgICAgIChXZWJLaXQ6OlNPQXV0aG9yaXphdGlv
blNlc3Npb246OnNob3VsZFN0YXJ0KToKKyAgICAgICAgKFdlYktpdDo6U09BdXRob3JpemF0aW9u
U2Vzc2lvbjo6c3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpTT0F1dGhvcml6YXRpb25TZXNzaW9u
OjpmYWxsQmFja1RvV2ViUGF0aCk6CisgICAgICAgIChXZWJLaXQ6OlNPQXV0aG9yaXphdGlvblNl
c3Npb246OmFib3J0KToKKyAgICAgICAgKFdlYktpdDo6U09BdXRob3JpemF0aW9uU2Vzc2lvbjo6
Y29tcGxldGUpOgorICAgICAgICAoV2ViS2l0OjpTT0F1dGhvcml6YXRpb25TZXNzaW9uOjpwcmVz
ZW50Vmlld0NvbnRyb2xsZXIpOgorICAgICAgICAoV2ViS2l0OjpTT0F1dGhvcml6YXRpb25TZXNz
aW9uOjpkaXNtaXNzVmlld0NvbnRyb2xsZXIpOgorCiAyMDIwLTAxLTI0ICBKaWV3ZW4gVGFuICA8
amlld2VuX3RhbkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgYSBidWlsZCBmaXgg
YWZ0ZXIgcjI1NTA1NgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9Mb2dnaW5n
LmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dpbmcuaAppbmRleCBlMDMyMzdlMWZmNmZm
NDcwYjJhNWMyN2UwZTFiYzQwNjg2ZWUyN2VkLi43ODgyYjNiNDNhOTc1ZTEzZGVkOThkNDk4MGM0
NWM1ZDBiMDA3MTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dpbmcu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dpbmcuaApAQCAtNDAsMTAgKzQwLDEx
IEBAIGV4dGVybiAiQyIgewogI2VuZGlmCiAKICNkZWZpbmUgV0VCS0lUMl9MT0dfQ0hBTk5FTFMo
TSkgXAorICAgIE0oQWN0aXZpdHlTdGF0ZSkgXAogICAgIE0oQWRDbGlja0F0dHJpYnV0aW9uKSBc
CisgICAgTShBcHBTU08pIFwKICAgICBNKEF1dG9tYXRpb24pIFwKICAgICBNKEF1dG9tYXRpb25J
bnRlcmFjdGlvbnMpIFwKLSAgICBNKEFjdGl2aXR5U3RhdGUpIFwKICAgICBNKEJhY2tGb3J3YXJk
KSBcCiAgICAgTShCYWNrRm9yd2FyZENhY2hlKSBcCiAgICAgTShDYWNoZVN0b3JhZ2UpIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1NPQXV0aG9yaXphdGlvbi9T
T0F1dGhvcml6YXRpb25TZXNzaW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
U09BdXRob3JpemF0aW9uL1NPQXV0aG9yaXphdGlvblNlc3Npb24ubW0KaW5kZXggNjlmODZmOTIy
YTVjNmJlNTk0OWNlNDIzOTkyZGFmYTk5YjgwYjg4Ny4uYzk1YzMzNjBmYWZhNjU0MWQ5ZjViOThj
Mjk4ZGY1MzZmZTAxNzZmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvU09BdXRob3JpemF0aW9uL1NPQXV0aG9yaXphdGlvblNlc3Npb24ubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvU09BdXRob3JpemF0aW9uL1NPQXV0aG9yaXphdGlvblNl
c3Npb24ubW0KQEAgLTMyLDYgKzMyLDcgQEAKICNpbXBvcnQgIkFQSU5hdmlnYXRpb24uaCIKICNp
bXBvcnQgIkFQSU5hdmlnYXRpb25BY3Rpb24uaCIKICNpbXBvcnQgIkFQSVVJQ2xpZW50LmgiCisj
aW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJTT0F1dGhvcml6YXRpb25Mb2FkUG9saWN5Lmgi
CiAjaW1wb3J0ICJXS1VJRGVsZWdhdGVQcml2YXRlLmgiCiAjaW1wb3J0ICJXS1dlYlZpZXdJbnRl
cm5hbC5oIgpAQCAtNDIsMTAgKzQzLDMxIEBACiAjaW1wb3J0IDxwYWwvY29jb2EvQXBwU1NPU29m
dExpbmsuaD4KICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KIAorI2RlZmluZSBSRUxFQVNFX0xPR19J
Rl9BTExPV0VEKGZtdCwgLi4uKSBSRUxFQVNFX0xPR19JRihtX3BhZ2UgJiYgbV9wYWdlLT5pc0Fs
d2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgQXBwU1NPLCAiJXAgLSBbSW5pdGlhdGluZ0FjdGlvbj0l
c10gU09BdXRob3JpemF0aW9uU2Vzc2lvbjo6IiBmbXQsIHRoaXMsIHRvU3RyaW5nKG1fYWN0aW9u
KSwgIyNfX1ZBX0FSR1NfXykKKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIG5hbWVzcGFjZSB7CiAK
K3N0YXRpYyBjb25zdCBjaGFyKiBSZWRpcmVjdCA9ICJSZWRpcmVjdCI7CitzdGF0aWMgY29uc3Qg
Y2hhciogUG9wVXAgPSAiUG9wVXAiOworc3RhdGljIGNvbnN0IGNoYXIqIFN1YkZyYW1lID0gIlN1
YkZyYW1lIjsKKworc3RhdGljIGNvbnN0IGNoYXIqIHRvU3RyaW5nKGNvbnN0IFNPQXV0aG9yaXph
dGlvblNlc3Npb246OkluaXRpYXRpbmdBY3Rpb24mIGFjdGlvbikKK3sKKyAgICBzd2l0Y2ggKGFj
dGlvbikgeworICAgIGNhc2UgU09BdXRob3JpemF0aW9uU2Vzc2lvbjo6SW5pdGlhdGluZ0FjdGlv
bjo6UmVkaXJlY3Q6CisgICAgICAgIHJldHVybiBSZWRpcmVjdDsKKyAgICBjYXNlIFNPQXV0aG9y
aXphdGlvblNlc3Npb246OkluaXRpYXRpbmdBY3Rpb246OlBvcFVwOgorICAgICAgICByZXR1cm4g
UG9wVXA7CisgICAgY2FzZSBTT0F1dGhvcml6YXRpb25TZXNzaW9uOjpJbml0aWF0aW5nQWN0aW9u
OjpTdWJGcmFtZToKKyAgICAgICAgcmV0dXJuIFN1YkZyYW1lOworICAgIH0KKworICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBudWxscHRyOworfQorCiBzdGF0aWMgVmVjdG9y
PFdlYkNvcmU6OkNvb2tpZT4gdG9Db29raWVWZWN0b3IoTlNBcnJheTxOU0hUVFBDb29raWUgKj4g
KmNvb2tpZXMpCiB7CiAgICAgVmVjdG9yPFdlYkNvcmU6OkNvb2tpZT4gcmVzdWx0OwpAQCAtOTQs
NiArMTE2LDggQEAgdm9pZCBTT0F1dGhvcml6YXRpb25TZXNzaW9uOjpiZWNvbWVDb21wbGV0ZWQo
KQogCiB2b2lkIFNPQXV0aG9yaXphdGlvblNlc3Npb246OnNob3VsZFN0YXJ0KCkKIHsKKyAgICBS
RUxFQVNFX0xPR19JRl9BTExPV0VEKCJzaG91bGRTdGFydDoiKTsKKwogICAgIEFTU0VSVChtX3N0
YXRlID09IFN0YXRlOjpJZGxlKTsKICAgICBpZiAoIW1fcGFnZSkKICAgICAgICAgcmV0dXJuOwpA
QCAtMTAyLDYgKzEyNiw4IEBAIHZvaWQgU09BdXRob3JpemF0aW9uU2Vzc2lvbjo6c2hvdWxkU3Rh
cnQoKQogCiB2b2lkIFNPQXV0aG9yaXphdGlvblNlc3Npb246OnN0YXJ0KCkKIHsKKyAgICBSRUxF
QVNFX0xPR19JRl9BTExPV0VEKCJzdGFydDoiKTsKKwogICAgIEFTU0VSVCgobV9zdGF0ZSA9PSBT
dGF0ZTo6SWRsZSB8fCBtX3N0YXRlID09IFN0YXRlOjpXYWl0aW5nKSAmJiBtX3BhZ2UgJiYgbV9u
YXZpZ2F0aW9uQWN0aW9uKTsKICAgICBtX3N0YXRlID0gU3RhdGU6OkFjdGl2ZTsKIApAQCAtMTEw
LDEwICsxMzYsMTQgQEAgdm9pZCBTT0F1dGhvcml6YXRpb25TZXNzaW9uOjpzdGFydCgpCiAgICAg
ICAgICAgICByZXR1cm47CiAKICAgICAgICAgaWYgKHBvbGljeSA9PSBTT0F1dGhvcml6YXRpb25M
b2FkUG9saWN5OjpJZ25vcmUpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQo
InN0YXJ0OiBSZWNlaXZlIFNPQXV0aG9yaXphdGlvbkxvYWRQb2xpY3k6Oklnbm9yZSIpOworCiAg
ICAgICAgICAgICBmYWxsQmFja1RvV2ViUGF0aCgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CiAKKyAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgic3RhcnQ6IFJlY2VpdmUg
U09BdXRob3JpemF0aW9uTG9hZFBvbGljeTo6QWxsb3ciKTsKKwogICAgICAgICBpZiAoIW1fc29B
dXRob3JpemF0aW9uIHx8ICFtX3BhZ2UgfHwgIW1fbmF2aWdhdGlvbkFjdGlvbikKICAgICAgICAg
ICAgIHJldHVybjsKIApAQCAtMTQyLDYgKzE3Miw4IEBAIHZvaWQgU09BdXRob3JpemF0aW9uU2Vz
c2lvbjo6c3RhcnQoKQogCiB2b2lkIFNPQXV0aG9yaXphdGlvblNlc3Npb246OmZhbGxCYWNrVG9X
ZWJQYXRoKCkKIHsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJmYWxsQmFja1RvV2ViUGF0
aDoiKTsKKwogICAgIGlmIChtX3N0YXRlICE9IFN0YXRlOjpBY3RpdmUpCiAgICAgICAgIHJldHVy
bjsKICAgICBiZWNvbWVDb21wbGV0ZWQoKTsKQEAgLTE1MCw2ICsxODIsOCBAQCB2b2lkIFNPQXV0
aG9yaXphdGlvblNlc3Npb246OmZhbGxCYWNrVG9XZWJQYXRoKCkKIAogdm9pZCBTT0F1dGhvcml6
YXRpb25TZXNzaW9uOjphYm9ydCgpCiB7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiYWJv
cnQ6Iik7CisKICAgICBpZiAobV9zdGF0ZSA9PSBTdGF0ZTo6SWRsZSB8fCBtX3N0YXRlID09IFN0
YXRlOjpDb21wbGV0ZWQpCiAgICAgICAgIHJldHVybjsKICAgICBiZWNvbWVDb21wbGV0ZWQoKTsK
QEAgLTE3MSw2ICsyMDUsOSBAQCB2b2lkIFNPQXV0aG9yaXphdGlvblNlc3Npb246OmNvbXBsZXRl
KE5TSFRUUFVSTFJlc3BvbnNlICpodHRwUmVzcG9uc2UsIE5TRGF0YSAqZAogCiAgICAgLy8gU2V0
IGNvb2tpZXMuCiAgICAgYXV0byBjb29raWVzID0gdG9Db29raWVWZWN0b3IoW05TSFRUUENvb2tp
ZSBjb29raWVzV2l0aFJlc3BvbnNlSGVhZGVyRmllbGRzOmh0dHBSZXNwb25zZS5hbGxIZWFkZXJG
aWVsZHMgZm9yVVJMOnJlc3BvbnNlLnVybCgpXSk7CisKKyAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKCJjb21wbGV0ZTogKGh0dHBTdGF0dXNDb2RlPSVkLCBoYXNDb29raWVzPSVkLCBoYXNEYXRh
PSVkKSIsIHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCksICFjb29raWVzLmlzRW1wdHkoKSwgISFk
YXRhLmxlbmd0aCk7CisKICAgICBpZiAoY29va2llcy5pc0VtcHR5KCkpIHsKICAgICAgICAgY29t
cGxldGVJbnRlcm5hbChyZXNwb25zZSwgZGF0YSk7CiAgICAgICAgIHJldHVybjsKQEAgLTE3OCwx
NSArMjE1LDIwIEBAIHZvaWQgU09BdXRob3JpemF0aW9uU2Vzc2lvbjo6Y29tcGxldGUoTlNIVFRQ
VVJMUmVzcG9uc2UgKmh0dHBSZXNwb25zZSwgTlNEYXRhICpkCiAKICAgICBpZiAoIW1fcGFnZSkK
ICAgICAgICAgcmV0dXJuOwotICAgIG1fcGFnZS0+d2Vic2l0ZURhdGFTdG9yZSgpLmNvb2tpZVN0
b3JlKCkuc2V0Q29va2llcyhjb29raWVzLCBbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyks
IHJlc3BvbnNlID0gV1RGTW92ZShyZXNwb25zZSksIGRhdGEgPSBhZG9wdE5TKFtbTlNEYXRhIGFs
bG9jXSBpbml0V2l0aERhdGE6ZGF0YV0pXSAoKSBtdXRhYmxlIHsKKyAgICBtX3BhZ2UtPndlYnNp
dGVEYXRhU3RvcmUoKS5jb29raWVTdG9yZSgpLnNldENvb2tpZXMoY29va2llcywgW3RoaXMsIHdl
YWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCByZXNwb25zZSA9IFdURk1vdmUocmVzcG9uc2Up
LCBkYXRhID0gYWRvcHROUyhbW05TRGF0YSBhbGxvY10gaW5pdFdpdGhEYXRhOmRhdGFdKV0gKCkg
bXV0YWJsZSB7CiAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgIHdlYWtUaGlzLT5jb21wbGV0ZUludGVybmFsKHJlc3BvbnNlLCBkYXRhLmdldCgpKTsK
KworICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJjb21wbGV0ZTogQ29va2llcyBhcmUg
c2V0LiIpOworCisgICAgICAgIGNvbXBsZXRlSW50ZXJuYWwocmVzcG9uc2UsIGRhdGEuZ2V0KCkp
OwogICAgIH0pOwogfQogCiB2b2lkIFNPQXV0aG9yaXphdGlvblNlc3Npb246OnByZXNlbnRWaWV3
Q29udHJvbGxlcihTT0F1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlciB2aWV3Q29udHJvbGxlciwg
VUlDYWxsYmFjayB1aUNhbGxiYWNrKQogeworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoInBy
ZXNlbnRWaWV3Q29udHJvbGxlcjoiKTsKKwogICAgIEFTU0VSVChtX3N0YXRlID09IFN0YXRlOjpB
Y3RpdmUpOwogICAgIC8vIE9ubHkgZXhwZWN0IGF0IG1vc3Qgb25lIFVJIHNlc3Npb24gZm9yIHRo
ZSB3aG9sZSBhdXRob3JpemF0aW9uIHNlc3Npb24uCiAgICAgaWYgKCFtX3BhZ2UgfHwgbV9wYWdl
LT5pc0Nsb3NlZCgpIHx8IG1fdmlld0NvbnRyb2xsZXIpIHsKQEAgLTIyNyw2ICsyNjksOCBAQCB2
b2lkIFNPQXV0aG9yaXphdGlvblNlc3Npb246OnByZXNlbnRWaWV3Q29udHJvbGxlcihTT0F1dGhv
cml6YXRpb25WaWV3Q29udHJvbGxlcgogCiB2b2lkIFNPQXV0aG9yaXphdGlvblNlc3Npb246OmRp
c21pc3NWaWV3Q29udHJvbGxlcigpCiB7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlz
bWlzc1ZpZXdDb250cm9sbGVyOiIpOworCiAgICAgQVNTRVJUKG1fdmlld0NvbnRyb2xsZXIpOwog
I2lmIFBMQVRGT1JNKE1BQykKICAgICBBU1NFUlQobV9zaGVldFdpbmRvdyAmJiBtX3NoZWV0V2lu
ZG93V2lsbENsb3NlT2JzZXJ2ZXIpOwpAQCAtMjQ1LDQgKzI4OSw2IEBAIHZvaWQgU09BdXRob3Jp
emF0aW9uU2Vzc2lvbjo6ZGlzbWlzc1ZpZXdDb250cm9sbGVyKCkKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CiAKLSNlbmRpZgorI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQKKworI2VuZGlm
IC8vIEhBVkUoQVBQX1NTTykK
</data>

          </attachment>
      

    </bug>

</bugzilla>