<?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>145165</bug_id>
          
          <creation_ts>2015-05-19 02:00:54 -0700</creation_ts>
          <short_desc>nullptr cleanup in WebCore/xml.</short_desc>
          <delta_ts>2015-05-20 00:39:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Hunseop Jeong">hs85.jeong</reporter>
          <assigned_to name="Hunseop Jeong">hs85.jeong</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1095889</commentid>
    <comment_count>0</comment_count>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-05-19 02:00:54 -0700</bug_when>
    <thetext>Replaced 0 with nullptr in WebCore/xml.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095890</commentid>
    <comment_count>1</comment_count>
      <attachid>253375</attachid>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-05-19 02:15:17 -0700</bug_when>
    <thetext>Created attachment 253375
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095891</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-19 02:17:26 -0700</bug_when>
    <thetext>Attachment 253375 did not pass style-queue:


ERROR: Source/WebCore/xml/parser/XMLDocumentParserScope.h:48:  The parameter name &quot;structuredErrorFunc&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 12 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>1095893</commentid>
    <comment_count>3</comment_count>
      <attachid>253377</attachid>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-05-19 02:34:53 -0700</bug_when>
    <thetext>Created attachment 253377
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095894</commentid>
    <comment_count>4</comment_count>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-05-19 02:37:32 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Attachment 253375 [details] did not pass style-queue:
&gt; 
&gt; 
&gt; ERROR: Source/WebCore/xml/parser/XMLDocumentParserScope.h:48:  The parameter
&gt; name &quot;structuredErrorFunc&quot; adds no information, so it should be removed. 
&gt; [readability/parameter_name] [5]
&gt; Total errors found: 1 in 12 files
&gt; 
Is &quot;structuredErrorFunc&quot; need to initialize the variable?
I removed the changes in Source/WebCore/xml/parser/XMLDocumentParserScope.h
because the style-checker inform the error.
&gt; 
&gt; If any of these errors are false positives, please file a bug against
&gt; check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095905</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-05-19 04:22:01 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Attachment 253375 [details] did not pass style-queue:
&gt; 
&gt; 
&gt; ERROR: Source/WebCore/xml/parser/XMLDocumentParserScope.h:48:  The parameter
&gt; name &quot;structuredErrorFunc&quot; adds no information, so it should be removed. 
&gt; [readability/parameter_name] [5]
&gt; Total errors found: 1 in 12 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against
&gt; check-webkit-style.

I think it is a false positive warning, you need the 
variable name to be able to add a default parameter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095908</commentid>
    <comment_count>6</comment_count>
      <attachid>253377</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-05-19 04:32:21 -0700</bug_when>
    <thetext>Comment on attachment 253377
Patch

LGTM, r=me 

But please add back the good change of Source/WebCore/xml/parser/XMLDocumentParserScope.h,
style checker result is misleading, you only changed 0 to nullptr, you don&apos;t need to find a
better variable name to make style checker happy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096183</commentid>
    <comment_count>7</comment_count>
      <attachid>253428</attachid>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-05-19 22:51:41 -0700</bug_when>
    <thetext>Created attachment 253428
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096184</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-19 22:54:09 -0700</bug_when>
    <thetext>Attachment 253428 did not pass style-queue:


ERROR: Source/WebCore/xml/parser/XMLDocumentParserScope.h:48:  The parameter name &quot;structuredErrorFunc&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 12 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>1096188</commentid>
    <comment_count>9</comment_count>
      <attachid>253430</attachid>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-05-19 22:58:48 -0700</bug_when>
    <thetext>Created attachment 253430
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096189</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-19 23:00:27 -0700</bug_when>
    <thetext>Attachment 253430 did not pass style-queue:


ERROR: Source/WebCore/xml/parser/XMLDocumentParserScope.h:48:  The parameter name &quot;structuredErrorFunc&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 12 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>1096193</commentid>
    <comment_count>11</comment_count>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-05-19 23:10:23 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Comment on attachment 253377 [details]
&gt; Patch
&gt; 
&gt; LGTM, r=me 
&gt; 
&gt; But please add back the good change of
&gt; Source/WebCore/xml/parser/XMLDocumentParserScope.h,
&gt; style checker result is misleading, you only changed 0 to nullptr, you don&apos;t
&gt; need to find a
&gt; better variable name to make style checker happy.

Thanks, ossy.
I recover the original changes.
Could you give the r+ again?
I tried to add the your name to &quot;Reviewed by&quot; by myself.
But it looks like your name is wrong : &quot;Reviewed by Csaba OsztrogonÃ¡c.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096199</commentid>
    <comment_count>12</comment_count>
      <attachid>253430</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-05-19 23:48:58 -0700</bug_when>
    <thetext>Comment on attachment 253430
Patch

Mac failure is unrelated, these tests fail on trunk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096206</commentid>
    <comment_count>13</comment_count>
      <attachid>253430</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-20 00:39:20 -0700</bug_when>
    <thetext>Comment on attachment 253430
Patch

Clearing flags on attachment: 253430

Committed r184622: &lt;http://trac.webkit.org/changeset/184622&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096207</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-20 00:39:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253375</attachid>
            <date>2015-05-19 02:15:17 -0700</date>
            <delta_ts>2015-05-19 02:34:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145165-20150519181514.patch</filename>
            <type>text/plain</type>
            <size>19393</size>
            <attacher name="Hunseop Jeong">hs85.jeong</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0NDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTYyZWM0NGY0YmJlYjYz
NDM2YzExNTk1MDFjZWQwNzM3YWJhMDYzZS4uNWM3MTA4NTIxZjVlZmYwZTBhMjVhOGI5OWJlNDhi
OGMyOTIzMDExMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE1LTA1LTE5ICBIdW5z
ZW9wIEplb25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBudWxscHRyIGNs
ZWFudXAgaW4gV2ViQ29yZS94bWwuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDUxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZXMKKworICAgICAg
ICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVx
dWVzdDo6cmVzcG9uc2VYTUwpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6Omlu
dGVybmFsQWJvcnQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNsZWFyUmVz
cG9uc2VCdWZmZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpjbGVhclJl
cXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmRpZEZpbmlzaExvYWRp
bmcpOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRs
ZTo6Zmx1c2hQcm9ncmVzc0V2ZW50KToKKyAgICAgICAgKiB4bWwvWFNMSW1wb3J0UnVsZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpYU0xJbXBvcnRSdWxlOjpYU0xJbXBvcnRSdWxlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlhTTEltcG9ydFJ1bGU6On5YU0xJbXBvcnRSdWxlKToKKyAgICAgICAgKFdl
YkNvcmU6OlhTTEltcG9ydFJ1bGU6OnNldFhTTFN0eWxlU2hlZXQpOgorICAgICAgICAoV2ViQ29y
ZTo6WFNMSW1wb3J0UnVsZTo6bG9hZFNoZWV0KToKKyAgICAgICAgKiB4bWwvWFNMU3R5bGVTaGVl
dC5oOgorICAgICAgICAqIHhtbC9YU0xTdHlsZVNoZWV0TGlieHNsdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpYU0xTdHlsZVNoZWV0OjpYU0xTdHlsZVNoZWV0KToKKyAgICAgICAgKFdlYkNvcmU6
OlhTTFN0eWxlU2hlZXQ6On5YU0xTdHlsZVNoZWV0KToKKyAgICAgICAgKFdlYkNvcmU6OlhTTFN0
eWxlU2hlZXQ6OmNsZWFyRG9jdW1lbnRzKToKKyAgICAgICAgKiB4bWwvWFNMVFByb2Nlc3Nvckxp
YnhzbHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2F2ZVJlc3VsdFRvU3RyaW5nKToKKyAgICAg
ICAgKFdlYkNvcmU6OnhzbHRQYXJhbUFycmF5RnJvbVBhcmFtZXRlck1hcCk6CisgICAgICAgIChX
ZWJDb3JlOjp4bWxEb2NQdHJGcm9tTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpYU0xUUHJvY2Vz
c29yOjp0cmFuc2Zvcm1Ub1N0cmluZyk6CisgICAgICAgICogeG1sL3BhcnNlci9YTUxEb2N1bWVu
dFBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxEb2N1bWVudFBhcnNlcjo6Y2xlYXJD
dXJyZW50Tm9kZVN0YWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTERvY3VtZW50UGFyc2VyOjpl
eGl0VGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxEb2N1bWVudFBhcnNlcjo6bm90aWZ5Rmlu
aXNoZWQpOgorICAgICAgICAqIHhtbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXIuaDoKKyAgICAg
ICAgKiB4bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpvcGVuRnVuYyk6CisgICAgICAgIChXZWJDb3JlOjpYTUxEb2N1bWVudFBhcnNlcjo6
WE1MRG9jdW1lbnRQYXJzZXIpOgorICAgICAgICAqIHhtbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJz
ZXJTY29wZS5jcHA6CisgICAgICAgICogeG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlclNjb3Bl
Lmg6CisKIDIwMTUtMDUtMTcgIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyICA8Y2FsdmFyaXNAaWdh
bGlhLmNvbT4gYW5kIFlvdWVubiBGYWJsZXQgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9uLmZyPgog
CiAgICAgICAgIFtTdHJlYW1zIEFQSV0gRGVsZWdhdGUgUmVhZGFibGVTdHJlYW1SZWFkZXIgcmVm
ZXJlbmNlIGNvdW50aW5nIHRvIFJlYWRhYmxlU3RyZWFtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0LmNwcAppbmRleCA0NmQ1YWFiMDZmNTZhN2ZjMjdhZmQ2MTUxMzQ4ZGM5MjYwNWFlZTE4
Li40YmMxOTc3MDljMDcwNzk1YjQ3YTVlMTJkOTM2YTg5MTY2OGIyN2EyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKQEAgLTIxMyw3ICsyMTMsNyBAQCBEb2N1bWVudCogWE1M
SHR0cFJlcXVlc3Q6OnJlc3BvbnNlWE1MKEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAgICBpZiAo
KG1fcmVzcG9uc2UuaXNIVFRQKCkgJiYgIXJlc3BvbnNlSXNYTUwoKSAmJiAhaXNIVE1MKQogICAg
ICAgICAgICAgfHwgKGlzSFRNTCAmJiBtX3Jlc3BvbnNlVHlwZUNvZGUgPT0gUmVzcG9uc2VUeXBl
RGVmYXVsdCkKICAgICAgICAgICAgIHx8IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+aXNXb3Jr
ZXJHbG9iYWxTY29wZSgpKSB7Ci0gICAgICAgICAgICBtX3Jlc3BvbnNlRG9jdW1lbnQgPSAwOwor
ICAgICAgICAgICAgbV9yZXNwb25zZURvY3VtZW50ID0gbnVsbHB0cjsKICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgIGlmIChpc0hUTUwpCiAgICAgICAgICAgICAgICAgbV9yZXNwb25zZURv
Y3VtZW50ID0gSFRNTERvY3VtZW50OjpjcmVhdGUoMCwgbV91cmwpOwpAQCAtMjI1LDcgKzIyNSw3
IEBAIERvY3VtZW50KiBYTUxIdHRwUmVxdWVzdDo6cmVzcG9uc2VYTUwoRXhjZXB0aW9uQ29kZSYg
ZWMpCiAgICAgICAgICAgICBtX3Jlc3BvbnNlRG9jdW1lbnQtPm92ZXJyaWRlTUlNRVR5cGUobWlt
ZVR5cGUpOwogCiAgICAgICAgICAgICBpZiAoIW1fcmVzcG9uc2VEb2N1bWVudC0+d2VsbEZvcm1l
ZCgpKQotICAgICAgICAgICAgICAgIG1fcmVzcG9uc2VEb2N1bWVudCA9IDA7CisgICAgICAgICAg
ICAgICAgbV9yZXNwb25zZURvY3VtZW50ID0gbnVsbHB0cjsKICAgICAgICAgfQogICAgICAgICBt
X2NyZWF0ZWREb2N1bWVudCA9IHRydWU7CiAgICAgfQpAQCAtODMzLDcgKzgzMyw3IEBAIGJvb2wg
WE1MSHR0cFJlcXVlc3Q6OmludGVybmFsQWJvcnQoKQogICAgIC8vIEZJWE1FOiB3aGVuIHdlIGFk
ZCB0aGUgc3VwcG9ydCBmb3IgbXVsdGktcGFydCBYSFIsIHdlIHdpbGwgaGF2ZSB0byB0aGluayBi
ZSBjYXJlZnVsIHdpdGggdGhpcyBpbml0aWFsaXphdGlvbi4KICAgICBtX3JlY2VpdmVkTGVuZ3Ro
ID0gMDsKIAotICAgIG1fZGVjb2RlciA9IDA7CisgICAgbV9kZWNvZGVyID0gbnVsbHB0cjsKIAog
ICAgIGlmICghbV9sb2FkZXIpCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtODY2LDggKzg2Niw4
IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmNsZWFyUmVzcG9uc2VCdWZmZXJzKCkKICAgICBtX3Jl
c3BvbnNlQnVpbGRlci5jbGVhcigpOwogICAgIG1fcmVzcG9uc2VFbmNvZGluZyA9IFN0cmluZygp
OwogICAgIG1fY3JlYXRlZERvY3VtZW50ID0gZmFsc2U7Ci0gICAgbV9yZXNwb25zZURvY3VtZW50
ID0gMDsKLSAgICBtX3Jlc3BvbnNlQmxvYiA9IDA7CisgICAgbV9yZXNwb25zZURvY3VtZW50ID0g
bnVsbHB0cjsKKyAgICBtX3Jlc3BvbnNlQmxvYiA9IG51bGxwdHI7CiAgICAgbV9iaW5hcnlSZXNw
b25zZUJ1aWxkZXIuY2xlYXIoKTsKICAgICBtX3Jlc3BvbnNlQXJyYXlCdWZmZXIuY2xlYXIoKTsK
ICAgICBtX3Jlc3BvbnNlQ2FjaGVJc1ZhbGlkID0gZmFsc2U7CkBAIC04NzYsNyArODc2LDcgQEAg
dm9pZCBYTUxIdHRwUmVxdWVzdDo6Y2xlYXJSZXNwb25zZUJ1ZmZlcnMoKQogdm9pZCBYTUxIdHRw
UmVxdWVzdDo6Y2xlYXJSZXF1ZXN0KCkKIHsKICAgICBtX3JlcXVlc3RIZWFkZXJzLmNsZWFyKCk7
Ci0gICAgbV9yZXF1ZXN0RW50aXR5Qm9keSA9IDA7CisgICAgbV9yZXF1ZXN0RW50aXR5Qm9keSA9
IG51bGxwdHI7CiB9CiAKIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmdlbmVyaWNFcnJvcigpCkBAIC0x
MTEyLDExICsxMTEyLDExIEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmRpZEZpbmlzaExvYWRpbmco
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBkb3VibGUpCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWRGaW5pc2hYSFJMb2FkaW5nKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgdGhp
cywgaWRlbnRpZmllciwgbV9yZXNwb25zZUJ1aWxkZXIudG9TdHJpbmdQcmVzZXJ2ZUNhcGFjaXR5
KCksIG1fdXJsLCBtX2xhc3RTZW5kVVJMLCBtX2xhc3RTZW5kTGluZU51bWJlciwgbV9sYXN0U2Vu
ZENvbHVtbk51bWJlcik7CiAKICAgICBib29sIGhhZExvYWRlciA9IG1fbG9hZGVyOwotICAgIG1f
bG9hZGVyID0gMDsKKyAgICBtX2xvYWRlciA9IG51bGxwdHI7CiAKICAgICBjaGFuZ2VTdGF0ZShE
T05FKTsKICAgICBtX3Jlc3BvbnNlRW5jb2RpbmcgPSBTdHJpbmcoKTsKLSAgICBtX2RlY29kZXIg
PSAwOworICAgIG1fZGVjb2RlciA9IG51bGxwdHI7CiAKICAgICBpZiAoaGFkTG9hZGVyKQogICAg
ICAgICBkcm9wUHJvdGVjdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAKaW5kZXggMDg0ZWUyNzY2
ZTQ0MDY1NTk3MjgxZjM3MTIxY2E0MjQ0OGFjZDZmMC4uY2YxY2NiMzcwNDhlODhhNmUyMDdlNmZi
MTM4ZmIzNGQ3YmU4MzAxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwCkBAIC0xMjEsNyArMTIxLDcg
QEAgdm9pZCBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6Zmx1c2hQcm9ncmVz
c0V2ZW50KCkKICAgICBpZiAobV9kZWZlckV2ZW50cyAmJiBtX2RlZmVycmVkUHJvZ3Jlc3NFdmVu
dCkgewogICAgICAgICAvLyBNb3ZlIHRoZSBwcm9ncmVzcyBldmVudCB0byB0aGUgcXVldWUsIHRv
IGdldCBpdCBpbiB0aGUgcmlnaHQgb3JkZXIgb24gcmVzdW1lLgogICAgICAgICBtX2RlZmVycmVk
RXZlbnRzLmFwcGVuZChtX2RlZmVycmVkUHJvZ3Jlc3NFdmVudCk7Ci0gICAgICAgIG1fZGVmZXJy
ZWRQcm9ncmVzc0V2ZW50ID0gMDsKKyAgICAgICAgbV9kZWZlcnJlZFByb2dyZXNzRXZlbnQgPSBu
dWxscHRyOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS94bWwvWFNMSW1wb3J0UnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMSW1wb3J0
UnVsZS5jcHAKaW5kZXggYmZlYzVjODVjZWM0MzMyODZhMDBiNTZjOWRiZGY4YzYwMjBkNmY0Yi4u
ZTk5YzQyNGVmMzM1YTZlNDhiNmUyYzg3NDNkOGY4ZGFiOTg3YzdkMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YU0xJbXBvcnRSdWxlLmNwcApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBYU0xJbXBvcnRSdWxlOjpYU0xJbXBvcnRSdWxlKFhTTFN0eWxlU2hlZXQqIHBhcmVudCwgY29u
c3QgU3RyaW5nJiBocmVmKQogICAgIDogbV9wYXJlbnRTdHlsZVNoZWV0KHBhcmVudCkKICAgICAs
IG1fc3RySHJlZihocmVmKQotICAgICwgbV9jYWNoZWRTaGVldCgwKQorICAgICwgbV9jYWNoZWRT
aGVldChudWxscHRyKQogICAgICwgbV9sb2FkaW5nKGZhbHNlKQogewogfQpAQCAtNDIsNyArNDIs
NyBAQCBYU0xJbXBvcnRSdWxlOjpYU0xJbXBvcnRSdWxlKFhTTFN0eWxlU2hlZXQqIHBhcmVudCwg
Y29uc3QgU3RyaW5nJiBocmVmKQogWFNMSW1wb3J0UnVsZTo6flhTTEltcG9ydFJ1bGUoKQogewog
ICAgIGlmIChtX3N0eWxlU2hlZXQpCi0gICAgICAgIG1fc3R5bGVTaGVldC0+c2V0UGFyZW50U3R5
bGVTaGVldCgwKTsKKyAgICAgICAgbV9zdHlsZVNoZWV0LT5zZXRQYXJlbnRTdHlsZVNoZWV0KG51
bGxwdHIpOwogICAgIAogICAgIGlmIChtX2NhY2hlZFNoZWV0KQogICAgICAgICBtX2NhY2hlZFNo
ZWV0LT5yZW1vdmVDbGllbnQodGhpcyk7CkBAIC01MSw3ICs1MSw3IEBAIFhTTEltcG9ydFJ1bGU6
On5YU0xJbXBvcnRSdWxlKCkKIHZvaWQgWFNMSW1wb3J0UnVsZTo6c2V0WFNMU3R5bGVTaGVldChj
b25zdCBTdHJpbmcmIGhyZWYsIGNvbnN0IFVSTCYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiBzaGVl
dCkKIHsKICAgICBpZiAobV9zdHlsZVNoZWV0KQotICAgICAgICBtX3N0eWxlU2hlZXQtPnNldFBh
cmVudFN0eWxlU2hlZXQoMCk7CisgICAgICAgIG1fc3R5bGVTaGVldC0+c2V0UGFyZW50U3R5bGVT
aGVldChudWxscHRyKTsKIAogICAgIG1fc3R5bGVTaGVldCA9IFhTTFN0eWxlU2hlZXQ6OmNyZWF0
ZSh0aGlzLCBocmVmLCBiYXNlVVJMKTsKIApAQCAtNzMsNyArNzMsNyBAQCBib29sIFhTTEltcG9y
dFJ1bGU6OmlzTG9hZGluZygpCiAKIHZvaWQgWFNMSW1wb3J0UnVsZTo6bG9hZFNoZWV0KCkKIHsK
LSAgICBDYWNoZWRSZXNvdXJjZUxvYWRlciogY2FjaGVkUmVzb3VyY2VMb2FkZXIgPSAwOworICAg
IENhY2hlZFJlc291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlciA9IG51bGxwdHI7CiAK
ICAgICBYU0xTdHlsZVNoZWV0KiByb290U2hlZXQgPSBwYXJlbnRTdHlsZVNoZWV0KCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xTdHlsZVNoZWV0LmggYi9Tb3VyY2UvV2Vi
Q29yZS94bWwvWFNMU3R5bGVTaGVldC5oCmluZGV4IDNhM2I5MThlOGIzMzJhZGY1Y2RkOGNkNTY3
ODBmOGE5ZTE1YjZkZTAuLmE5YjgzOTE2ZTMwYWJhOTZkNjY0Yjc2ZWMwNTY5OGIzNWM1OGNmMjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xTdHlsZVNoZWV0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUveG1sL1hTTFN0eWxlU2hlZXQuaApAQCAtOTQsNyArOTQsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBTdHJpbmcgaHJlZigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fb3Jp
Z2luYWxVUkw7IH0KICAgICB2aXJ0dWFsIFN0cmluZyB0aXRsZSgpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBjbGVhck93bmVyTm9k
ZSgpIG92ZXJyaWRlIHsgbV9vd25lck5vZGUgPSAwOyB9CisgICAgdmlydHVhbCB2b2lkIGNsZWFy
T3duZXJOb2RlKCkgb3ZlcnJpZGUgeyBtX293bmVyTm9kZSA9IG51bGxwdHI7IH0KICAgICB2aXJ0
dWFsIFVSTCBiYXNlVVJMKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9maW5hbFVSTDsgfQog
ICAgIHZpcnR1YWwgYm9vbCBpc0xvYWRpbmcoKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFN0eWxlU2hlZXRMaWJ4c2x0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3htbC9YU0xTdHlsZVNoZWV0TGlieHNsdC5jcHAKaW5kZXggMTAwMDM5NGJlM2RjNDYy
NzFkNTcyNDE3ZjNlMDE3YTg4MDIzYWEzYy4uOGQ3MjgzOGI5NDI0YWU1ODE4ZWM4MTI3YTc4ZTQ3
ZDA4MGU4M2Y3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFN0eWxlU2hlZXRM
aWJ4c2x0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMU3R5bGVTaGVldExpYnhzbHQu
Y3BwCkBAIC01MiwxNSArNTIsMTUgQEAgU09GVF9MSU5LKGxpYnhzbHQsIHhzbHRMb2FkU3R5bGVz
aGVldFBJLCB4c2x0U3R5bGVzaGVldFB0ciwgKHhtbERvY1B0ciBkb2MpLCAoZG8KIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogWFNMU3R5bGVTaGVldDo6WFNMU3R5bGVTaGVldChYU0xJbXBvcnRSdWxl
KiBwYXJlbnRSdWxlLCBjb25zdCBTdHJpbmcmIG9yaWdpbmFsVVJMLCBjb25zdCBVUkwmIGZpbmFs
VVJMKQotICAgIDogbV9vd25lck5vZGUoMCkKKyAgICA6IG1fb3duZXJOb2RlKG51bGxwdHIpCiAg
ICAgLCBtX29yaWdpbmFsVVJMKG9yaWdpbmFsVVJMKQogICAgICwgbV9maW5hbFVSTChmaW5hbFVS
TCkKICAgICAsIG1faXNEaXNhYmxlZChmYWxzZSkKICAgICAsIG1fZW1iZWRkZWQoZmFsc2UpCiAg
ICAgLCBtX3Byb2Nlc3NlZChmYWxzZSkgLy8gQ2hpbGQgc2hlZXRzIGdldCBtYXJrZWQgYXMgcHJv
Y2Vzc2VkIHdoZW4gdGhlIGxpYnhzbHQgZW5naW5lIGhhcyBmaW5hbGx5IHNlZW4gdGhlbS4KLSAg
ICAsIG1fc3R5bGVzaGVldERvYygwKQorICAgICwgbV9zdHlsZXNoZWV0RG9jKG51bGxwdHIpCiAg
ICAgLCBtX3N0eWxlc2hlZXREb2NUYWtlbihmYWxzZSkKLSAgICAsIG1fcGFyZW50U3R5bGVTaGVl
dChwYXJlbnRSdWxlID8gcGFyZW50UnVsZS0+cGFyZW50U3R5bGVTaGVldCgpIDogMCkKKyAgICAs
IG1fcGFyZW50U3R5bGVTaGVldChwYXJlbnRSdWxlID8gcGFyZW50UnVsZS0+cGFyZW50U3R5bGVT
aGVldCgpIDogbnVsbHB0cikKIHsKIH0KIApAQCAtNzEsOSArNzEsOSBAQCBYU0xTdHlsZVNoZWV0
OjpYU0xTdHlsZVNoZWV0KE5vZGUqIHBhcmVudE5vZGUsIGNvbnN0IFN0cmluZyYgb3JpZ2luYWxV
UkwsIGNvbnN0CiAgICAgLCBtX2lzRGlzYWJsZWQoZmFsc2UpCiAgICAgLCBtX2VtYmVkZGVkKGVt
YmVkZGVkKQogICAgICwgbV9wcm9jZXNzZWQodHJ1ZSkgLy8gVGhlIHJvb3Qgc2hlZXQgc3RhcnRz
IG9mZiBwcm9jZXNzZWQuCi0gICAgLCBtX3N0eWxlc2hlZXREb2MoMCkKKyAgICAsIG1fc3R5bGVz
aGVldERvYyhudWxscHRyKQogICAgICwgbV9zdHlsZXNoZWV0RG9jVGFrZW4oZmFsc2UpCi0gICAg
LCBtX3BhcmVudFN0eWxlU2hlZXQoMCkKKyAgICAsIG1fcGFyZW50U3R5bGVTaGVldChudWxscHRy
KQogewogfQogCkBAIC04NCw3ICs4NCw3IEBAIFhTTFN0eWxlU2hlZXQ6On5YU0xTdHlsZVNoZWV0
KCkKIAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NoaWxkcmVuLnNpemUoKTsgKytp
KSB7CiAgICAgICAgIEFTU0VSVChtX2NoaWxkcmVuLmF0KGkpLT5wYXJlbnRTdHlsZVNoZWV0KCkg
PT0gdGhpcyk7Ci0gICAgICAgIG1fY2hpbGRyZW4uYXQoaSktPnNldFBhcmVudFN0eWxlU2hlZXQo
MCk7CisgICAgICAgIG1fY2hpbGRyZW4uYXQoaSktPnNldFBhcmVudFN0eWxlU2hlZXQobnVsbHB0
cik7CiAgICAgfQogfQogCkBAIC0xMTYsNyArMTE2LDcgQEAgeG1sRG9jUHRyIFhTTFN0eWxlU2hl
ZXQ6OmRvY3VtZW50KCkKIAogdm9pZCBYU0xTdHlsZVNoZWV0OjpjbGVhckRvY3VtZW50cygpCiB7
Ci0gICAgbV9zdHlsZXNoZWV0RG9jID0gMDsKKyAgICBtX3N0eWxlc2hlZXREb2MgPSBudWxscHRy
OwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NoaWxkcmVuLnNpemUoKTsgKytpKSB7
CiAgICAgICAgIFhTTEltcG9ydFJ1bGUqIGltcG9ydCA9IG1fY2hpbGRyZW4uYXQoaSkuZ2V0KCk7
CiAgICAgICAgIGlmIChpbXBvcnQtPnN0eWxlU2hlZXQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwCmluZGV4IGFkZDQ5ZjdmNTA1ZDFiMjQyZjc5OWQyNDE0
OTI5OGMyZDM4Mjc4MjAuLjgyYTZkMTU5NDU2MDc0OTZlYTU0NzFjMzc4YjRiZTcxMmNjODljNjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JMaWJ4c2x0LmNwcApAQCAtMTA0
LDggKzEwNCw4IEBAIHZvaWQgWFNMVFByb2Nlc3Nvcjo6cGFyc2VFcnJvckZ1bmModm9pZCogdXNl
ckRhdGEsIHhtbEVycm9yKiBlcnJvcikKIH0KIAogLy8gRklYTUU6IFRoZXJlIHNlZW1zIHRvIGJl
IG5vIHdheSB0byBjb250cm9sIHRoZSBjdHh0IHBvaW50ZXIgZm9yIGxvYWRpbmcgaGVyZSwgdGh1
cyB3ZSBoYXZlIGdsb2JhbHMuCi1zdGF0aWMgWFNMVFByb2Nlc3NvciogZ2xvYmFsUHJvY2Vzc29y
ID0gMDsKLXN0YXRpYyBDYWNoZWRSZXNvdXJjZUxvYWRlciogZ2xvYmFsQ2FjaGVkUmVzb3VyY2VM
b2FkZXIgPSAwOworc3RhdGljIFhTTFRQcm9jZXNzb3IqIGdsb2JhbFByb2Nlc3NvciA9IG51bGxw
dHI7CitzdGF0aWMgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGdsb2JhbENhY2hlZFJlc291cmNlTG9h
ZGVyID0gbnVsbHB0cjsKIHN0YXRpYyB4bWxEb2NQdHIgZG9jTG9hZGVyRnVuYyhjb25zdCB4bWxD
aGFyKiB1cmksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sRGljdFB0ciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgb3B0aW9ucywKQEAgLTE5Nyw3ICsxOTcs
NyBAQCBzdGF0aWMgaW50IHdyaXRlVG9TdHJpbmdCdWlsZGVyKHZvaWQqIGNvbnRleHQsIGNvbnN0
IGNoYXIqIGJ1ZmZlciwgaW50IGxlbikKIAogc3RhdGljIGJvb2wgc2F2ZVJlc3VsdFRvU3RyaW5n
KHhtbERvY1B0ciByZXN1bHREb2MsIHhzbHRTdHlsZXNoZWV0UHRyIHNoZWV0LCBTdHJpbmcmIHJl
c3VsdFN0cmluZykKIHsKLSAgICB4bWxPdXRwdXRCdWZmZXJQdHIgb3V0cHV0QnVmID0geG1sQWxs
b2NPdXRwdXRCdWZmZXIoMCk7CisgICAgeG1sT3V0cHV0QnVmZmVyUHRyIG91dHB1dEJ1ZiA9IHht
bEFsbG9jT3V0cHV0QnVmZmVyKG51bGxwdHIpOwogICAgIGlmICghb3V0cHV0QnVmKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKQEAgLTIzMiw3ICsyMzIsNyBAQCBzdGF0aWMgY29uc3QgY2hhcioq
IHhzbHRQYXJhbUFycmF5RnJvbVBhcmFtZXRlck1hcChYU0xUUHJvY2Vzc29yOjpQYXJhbWV0ZXJN
YXAmCiAgICAgICAgIHBhcmFtZXRlckFycmF5W2luZGV4KytdID0gZmFzdFN0ckR1cChpdC0+a2V5
LnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICBwYXJhbWV0ZXJBcnJheVtpbmRleCsrXSA9IGZhc3RT
dHJEdXAoaXQtPnZhbHVlLnV0ZjgoKS5kYXRhKCkpOwogICAgIH0KLSAgICBwYXJhbWV0ZXJBcnJh
eVtpbmRleF0gPSAwOworICAgIHBhcmFtZXRlckFycmF5W2luZGV4XSA9IG51bGxwdHI7CiAKICAg
ICByZXR1cm4gcGFyYW1ldGVyQXJyYXk7CiB9CkBAIC0yNzMsNyArMjczLDcgQEAgc3RhdGljIGlu
bGluZSB4bWxEb2NQdHIgeG1sRG9jUHRyRnJvbU5vZGUoTm9kZSYgc291cmNlTm9kZSwgYm9vbCYg
c2hvdWxkRGVsZXRlKQogICAgIFJlZjxEb2N1bWVudD4gb3duZXJEb2N1bWVudChzb3VyY2VOb2Rl
LmRvY3VtZW50KCkpOwogICAgIGJvb2wgc291cmNlSXNEb2N1bWVudCA9ICgmc291cmNlTm9kZSA9
PSAmb3duZXJEb2N1bWVudC5nZXQoKSk7CiAKLSAgICB4bWxEb2NQdHIgc291cmNlRG9jID0gMDsK
KyAgICB4bWxEb2NQdHIgc291cmNlRG9jID0gbnVsbHB0cjsKICAgICBpZiAoc291cmNlSXNEb2N1
bWVudCAmJiBvd25lckRvY3VtZW50LT50cmFuc2Zvcm1Tb3VyY2UoKSkKICAgICAgICAgc291cmNl
RG9jID0gKHhtbERvY1B0cilvd25lckRvY3VtZW50LT50cmFuc2Zvcm1Tb3VyY2UoKS0+cGxhdGZv
cm1Tb3VyY2UoKTsKICAgICBpZiAoIXNvdXJjZURvYykgewpAQCAtMzcwLDcgKzM3MCw3IEBAIGJv
b2wgWFNMVFByb2Nlc3Nvcjo6dHJhbnNmb3JtVG9TdHJpbmcoTm9kZSYgc291cmNlTm9kZSwgU3Ry
aW5nJiBtaW1lVHlwZSwgU3RyaW5nCiAgICAgc2hlZXQtPm1ldGhvZCA9IG9yaWdNZXRob2Q7CiAg
ICAgc2V0WFNMVExvYWRDYWxsQmFjaygwLCAwLCAwKTsKICAgICB4c2x0RnJlZVN0eWxlc2hlZXQo
c2hlZXQpOwotICAgIG1fc3R5bGVzaGVldCA9IDA7CisgICAgbV9zdHlsZXNoZWV0ID0gbnVsbHB0
cjsKIAogICAgIHJldHVybiBzdWNjZXNzOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
eG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvcGFy
c2VyL1hNTERvY3VtZW50UGFyc2VyLmNwcAppbmRleCBlYmU5NDBiYzZmYjQ3OWIyMjM5MDliMTc2
OWU4ZTEwZGQwZjY3NWIyLi5iNWQ5MGYwZWM5MTJiNjBiNWRjMzA2ZmM2MjFlMTcyMTM5NjA2Nzc0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2Vy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyLmNw
cApAQCAtODgsOCArODgsOCBAQCB2b2lkIFhNTERvY3VtZW50UGFyc2VyOjpjbGVhckN1cnJlbnRO
b2RlU3RhY2soKQogewogICAgIGlmIChtX2N1cnJlbnROb2RlICYmIG1fY3VycmVudE5vZGUgIT0g
ZG9jdW1lbnQoKSkKICAgICAgICAgbV9jdXJyZW50Tm9kZS0+ZGVyZWYoKTsKLSAgICBtX2N1cnJl
bnROb2RlID0gMDsKLSAgICBtX2xlYWZUZXh0Tm9kZSA9IDA7CisgICAgbV9jdXJyZW50Tm9kZSA9
IG51bGxwdHI7CisgICAgbV9sZWFmVGV4dE5vZGUgPSBudWxscHRyOwogCiAgICAgaWYgKG1fY3Vy
cmVudE5vZGVTdGFjay5zaXplKCkpIHsgLy8gQWJvcnRlZCBwYXJzaW5nLgogICAgICAgICBmb3Ig
KHNpemVfdCBpID0gbV9jdXJyZW50Tm9kZVN0YWNrLnNpemUoKSAtIDE7IGkgIT0gMDsgLS1pKQpA
QCAtMTYyLDcgKzE2Miw3IEBAIHZvaWQgWE1MRG9jdW1lbnRQYXJzZXI6OmV4aXRUZXh0KCkKICAg
ICBWZWN0b3I8eG1sQ2hhcj4gZW1wdHk7CiAgICAgbV9idWZmZXJlZFRleHQuc3dhcChlbXB0eSk7
CiAKLSAgICBtX2xlYWZUZXh0Tm9kZSA9IDA7CisgICAgbV9sZWFmVGV4dE5vZGUgPSBudWxscHRy
OwogfQogCiB2b2lkIFhNTERvY3VtZW50UGFyc2VyOjpkZXRhY2goKQpAQCAtMjMwLDEwICsyMzAs
MTAgQEAgdm9pZCBYTUxEb2N1bWVudFBhcnNlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3Vy
Y2UqIHVudXNlZFJlc291cmNlKQogICAgIGJvb2wgd2FzQ2FuY2VsZWQgPSBtX3BlbmRpbmdTY3Jp
cHQtPndhc0NhbmNlbGVkKCk7CiAKICAgICBtX3BlbmRpbmdTY3JpcHQtPnJlbW92ZUNsaWVudCh0
aGlzKTsKLSAgICBtX3BlbmRpbmdTY3JpcHQgPSAwOworICAgIG1fcGVuZGluZ1NjcmlwdCA9IG51
bGxwdHI7CiAKICAgICBSZWZQdHI8RWxlbWVudD4gZSA9IG1fc2NyaXB0RWxlbWVudDsKLSAgICBt
X3NjcmlwdEVsZW1lbnQgPSAwOworICAgIG1fc2NyaXB0RWxlbWVudCA9IG51bGxwdHI7CiAKICAg
ICBTY3JpcHRFbGVtZW50KiBzY3JpcHRFbGVtZW50ID0gdG9TY3JpcHRFbGVtZW50SWZQb3NzaWJs
ZShlLmdldCgpKTsKICAgICBBU1NFUlQoc2NyaXB0RWxlbWVudCk7CkBAIC0yNDgsNyArMjQ4LDcg
QEAgdm9pZCBYTUxEb2N1bWVudFBhcnNlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2Uq
IHVudXNlZFJlc291cmNlKQogICAgICAgICBzY3JpcHRFbGVtZW50LT5kaXNwYXRjaExvYWRFdmVu
dCgpOwogICAgIH0KIAotICAgIG1fc2NyaXB0RWxlbWVudCA9IDA7CisgICAgbV9zY3JpcHRFbGVt
ZW50ID0gbnVsbHB0cjsKIAogICAgIGlmICghaXNEZXRhY2hlZCgpICYmICFtX3JlcXVlc3RpbmdT
Y3JpcHQpCiAgICAgICAgIHJlc3VtZVBhcnNpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9w
YXJzZXIvWE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCBiNTlhZDJhYjVkNThmM2FmYTFlMjQ5ZDQ0
ZDM3Yjc5YmZiMTM0ZjY5Li42ZmRjZTZkZDdhMGZlYjM2OTgyYzk3OGQ2MTRhN2QxNDgxNTZkN2Uy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2Vy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlci5oCkBA
IC04NSw3ICs4NSw3IEBAIGNsYXNzIFRleHQ7CiAgICAgICAgIHZvaWQgc2V0SXNYSFRNTERvY3Vt
ZW50KGJvb2wgaXNYSFRNTCkgeyBtX2lzWEhUTUxEb2N1bWVudCA9IGlzWEhUTUw7IH0KICAgICAg
ICAgYm9vbCBpc1hIVE1MRG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2lzWEhUTUxEb2N1bWVu
dDsgfQogCi0gICAgICAgIHN0YXRpYyBib29sIHBhcnNlRG9jdW1lbnRGcmFnbWVudChjb25zdCBT
dHJpbmcmLCBEb2N1bWVudEZyYWdtZW50JiwgRWxlbWVudCogcGFyZW50ID0gMCwgUGFyc2VyQ29u
dGVudFBvbGljeSA9IEFsbG93U2NyaXB0aW5nQ29udGVudCk7CisgICAgICAgIHN0YXRpYyBib29s
IHBhcnNlRG9jdW1lbnRGcmFnbWVudChjb25zdCBTdHJpbmcmLCBEb2N1bWVudEZyYWdtZW50Jiwg
RWxlbWVudCogcGFyZW50ID0gbnVsbHB0ciwgUGFyc2VyQ29udGVudFBvbGljeSA9IEFsbG93U2Ny
aXB0aW5nQ29udGVudCk7CiAKICAgICAgICAgLy8gVXNlZCBieSB0aGUgWE1MSHR0cFJlcXVlc3Qg
dG8gY2hlY2sgaWYgdGhlIHJlc3BvbnNlWE1MIHdhcyB3ZWxsIGZvcm1lZC4KICAgICAgICAgdmly
dHVhbCBib29sIHdlbGxGb3JtZWQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAhbV9zYXdFcnJv
cjsgfQpAQCAtOTMsNyArOTMsNyBAQCBjbGFzcyBUZXh0OwogICAgICAgICBzdGF0aWMgYm9vbCBz
dXBwb3J0c1hNTFZlcnNpb24oY29uc3QgU3RyaW5nJik7CiAKICAgICBwcml2YXRlOgotICAgICAg
ICBYTUxEb2N1bWVudFBhcnNlcihEb2N1bWVudCYsIEZyYW1lVmlldyogPSAwKTsKKyAgICAgICAg
WE1MRG9jdW1lbnRQYXJzZXIoRG9jdW1lbnQmLCBGcmFtZVZpZXcqID0gbnVsbHB0cik7CiAgICAg
ICAgIFhNTERvY3VtZW50UGFyc2VyKERvY3VtZW50RnJhZ21lbnQmLCBFbGVtZW50KiwgUGFyc2Vy
Q29udGVudFBvbGljeSk7CiAKICAgICAgICAgLy8gRnJvbSBEb2N1bWVudFBhcnNlcgpAQCAtMTU2
LDcgKzE1Niw3IEBAIGNsYXNzIFRleHQ7CiAKICAgICAgICAgU2VnbWVudGVkU3RyaW5nIG1fb3Jp
Z2luYWxTb3VyY2VGb3JUcmFuc2Zvcm07CiAKLSAgICAgICAgeG1sUGFyc2VyQ3R4dFB0ciBjb250
ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0ID8gbV9jb250ZXh0LT5jb250ZXh0KCkgOiAw
OyB9OworICAgICAgICB4bWxQYXJzZXJDdHh0UHRyIGNvbnRleHQoKSBjb25zdCB7IHJldHVybiBt
X2NvbnRleHQgPyBtX2NvbnRleHQtPmNvbnRleHQoKSA6IG51bGxwdHI7IH07CiAgICAgICAgIFJl
ZlB0cjxYTUxQYXJzZXJDb250ZXh0PiBtX2NvbnRleHQ7CiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0
cjxQZW5kaW5nQ2FsbGJhY2tzPiBtX3BlbmRpbmdDYWxsYmFja3M7CiAgICAgICAgIFZlY3Rvcjx4
bWxDaGFyPiBtX2J1ZmZlcmVkVGV4dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9w
YXJzZXIvWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9w
YXJzZXIvWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAppbmRleCBlMDRkODI1NDU4ZDlmNTc2
NmM2MDJlMDZjMGE2MDQ0MTAyZDFiODk5Li4wZDZkMTk3YzM4MDQwNzdjZDM0MDljYjcyOWM4M2U5
YzNjZGNiZDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3Vt
ZW50UGFyc2VyTGlieG1sMi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxE
b2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCkBAIC00NTksNyArNDU5LDcgQEAgc3RhdGljIHZvaWQq
IG9wZW5GdW5jKGNvbnN0IGNoYXIqIHVyaSkKIAogICAgIHsKICAgICAgICAgQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyID0gWE1MRG9jdW1lbnRQYXJzZXJTY29wZTo6
Y3VycmVudENhY2hlZFJlc291cmNlTG9hZGVyOwotICAgICAgICBYTUxEb2N1bWVudFBhcnNlclNj
b3BlIHNjb3BlKDApOworICAgICAgICBYTUxEb2N1bWVudFBhcnNlclNjb3BlIHNjb3BlKG51bGxw
dHIpOwogICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGds
b2JhbCBlcnJvciBoYW5kbGVyIGFzIHdlbGwuCiAKICAgICAgICAgaWYgKGNhY2hlZFJlc291cmNl
TG9hZGVyLT5mcmFtZSgpKQpAQCAtNTc3LDcgKzU3Nyw3IEBAIGJvb2wgWE1MRG9jdW1lbnRQYXJz
ZXI6OnN1cHBvcnRzWE1MVmVyc2lvbihjb25zdCBTdHJpbmcmIHZlcnNpb24pCiBYTUxEb2N1bWVu
dFBhcnNlcjo6WE1MRG9jdW1lbnRQYXJzZXIoRG9jdW1lbnQmIGRvY3VtZW50LCBGcmFtZVZpZXcq
IGZyYW1lVmlldykKICAgICA6IFNjcmlwdGFibGVEb2N1bWVudFBhcnNlcihkb2N1bWVudCkKICAg
ICAsIG1fdmlldyhmcmFtZVZpZXcpCi0gICAgLCBtX2NvbnRleHQoMCkKKyAgICAsIG1fY29udGV4
dChudWxscHRyKQogICAgICwgbV9wZW5kaW5nQ2FsbGJhY2tzKHN0ZDo6bWFrZV91bmlxdWU8UGVu
ZGluZ0NhbGxiYWNrcz4oKSkKICAgICAsIG1fZGVwdGhUcmlnZ2VyaW5nRW50aXR5RXhwYW5zaW9u
KC0xKQogICAgICwgbV9pc1BhcnNpbmdFbnRpdHlEZWNsYXJhdGlvbihmYWxzZSkKQEAgLTU5MCw3
ICs1OTAsNyBAQCBYTUxEb2N1bWVudFBhcnNlcjo6WE1MRG9jdW1lbnRQYXJzZXIoRG9jdW1lbnQm
IGRvY3VtZW50LCBGcmFtZVZpZXcqIGZyYW1lVmlldykKICAgICAsIG1fcGFyc2VyUGF1c2VkKGZh
bHNlKQogICAgICwgbV9yZXF1ZXN0aW5nU2NyaXB0KGZhbHNlKQogICAgICwgbV9maW5pc2hDYWxs
ZWQoZmFsc2UpCi0gICAgLCBtX3BlbmRpbmdTY3JpcHQoMCkKKyAgICAsIG1fcGVuZGluZ1Njcmlw
dChudWxscHRyKQogICAgICwgbV9zY3JpcHRTdGFydFBvc2l0aW9uKFRleHRQb3NpdGlvbjo6YmVs
b3dSYW5nZVBvc2l0aW9uKCkpCiAgICAgLCBtX3BhcnNpbmdGcmFnbWVudChmYWxzZSkKIHsKQEAg
LTU5OCw4ICs1OTgsOCBAQCBYTUxEb2N1bWVudFBhcnNlcjo6WE1MRG9jdW1lbnRQYXJzZXIoRG9j
dW1lbnQmIGRvY3VtZW50LCBGcmFtZVZpZXcqIGZyYW1lVmlldykKIAogWE1MRG9jdW1lbnRQYXJz
ZXI6OlhNTERvY3VtZW50UGFyc2VyKERvY3VtZW50RnJhZ21lbnQmIGZyYWdtZW50LCBFbGVtZW50
KiBwYXJlbnRFbGVtZW50LCBQYXJzZXJDb250ZW50UG9saWN5IHBhcnNlckNvbnRlbnRQb2xpY3kp
CiAgICAgOiBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIoZnJhZ21lbnQuZG9jdW1lbnQoKSwgcGFy
c2VyQ29udGVudFBvbGljeSkKLSAgICAsIG1fdmlldygwKQotICAgICwgbV9jb250ZXh0KDApCisg
ICAgLCBtX3ZpZXcobnVsbHB0cikKKyAgICAsIG1fY29udGV4dChudWxscHRyKQogICAgICwgbV9w
ZW5kaW5nQ2FsbGJhY2tzKHN0ZDo6bWFrZV91bmlxdWU8UGVuZGluZ0NhbGxiYWNrcz4oKSkKICAg
ICAsIG1fZGVwdGhUcmlnZ2VyaW5nRW50aXR5RXhwYW5zaW9uKC0xKQogICAgICwgbV9pc1BhcnNp
bmdFbnRpdHlEZWNsYXJhdGlvbihmYWxzZSkKQEAgLTYxMiw3ICs2MTIsNyBAQCBYTUxEb2N1bWVu
dFBhcnNlcjo6WE1MRG9jdW1lbnRQYXJzZXIoRG9jdW1lbnRGcmFnbWVudCYgZnJhZ21lbnQsIEVs
ZW1lbnQqIHBhcmVudAogICAgICwgbV9wYXJzZXJQYXVzZWQoZmFsc2UpCiAgICAgLCBtX3JlcXVl
c3RpbmdTY3JpcHQoZmFsc2UpCiAgICAgLCBtX2ZpbmlzaENhbGxlZChmYWxzZSkKLSAgICAsIG1f
cGVuZGluZ1NjcmlwdCgwKQorICAgICwgbV9wZW5kaW5nU2NyaXB0KG51bGxwdHIpCiAgICAgLCBt
X3NjcmlwdFN0YXJ0UG9zaXRpb24oVGV4dFBvc2l0aW9uOjpiZWxvd1JhbmdlUG9zaXRpb24oKSkK
ICAgICAsIG1fcGFyc2luZ0ZyYWdtZW50KHRydWUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuY3BwIGIvU291cmNlL1dlYkNv
cmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmNwcAppbmRleCAwYTQ3M2VkMjMw
ODJmMzdkMzkzYThkMTFmMWFkYTE1ZWNjM2MzNzI2Li5jMGYzNTkwYmYyNDE0ODEzOWFlMzExZDQ1
YmVjNDY4NjVhNWYzYWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hN
TERvY3VtZW50UGFyc2VyU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIv
WE1MRG9jdW1lbnRQYXJzZXJTY29wZS5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1DYWNoZWRSZXNvdXJjZUxvYWRlciogWE1MRG9jdW1lbnRQYXJzZXJTY29w
ZTo6Y3VycmVudENhY2hlZFJlc291cmNlTG9hZGVyID0gMDsKK0NhY2hlZFJlc291cmNlTG9hZGVy
KiBYTUxEb2N1bWVudFBhcnNlclNjb3BlOjpjdXJyZW50Q2FjaGVkUmVzb3VyY2VMb2FkZXIgPSBu
dWxscHRyOwogCiBYTUxEb2N1bWVudFBhcnNlclNjb3BlOjpYTUxEb2N1bWVudFBhcnNlclNjb3Bl
KENhY2hlZFJlc291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlcikKICAgICA6IG1fb2xk
Q2FjaGVkUmVzb3VyY2VMb2FkZXIoY3VycmVudENhY2hlZFJlc291cmNlTG9hZGVyKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaAppbmRl
eCAxODY1M2M2MjQ5NGM2MjFmODQ1OGJmMmM1ZDE0MzJhZTEyZWY1ZTA1Li44MmVhYmJmYmJiNzE1
NjExMThjMWU4OTdkYTIyNWE5YWVmYzkxYzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94
bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94
bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaApAQCAtNDUsNyArNDUsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHN0YXRpYyBDYWNoZWRSZXNvdXJjZUxvYWRlciogY3Vy
cmVudENhY2hlZFJlc291cmNlTG9hZGVyOwogCiAjaWYgRU5BQkxFKFhTTFQpCi0gICAgICAgIFhN
TERvY3VtZW50UGFyc2VyU2NvcGUoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNl
TG9hZGVyLCB4bWxHZW5lcmljRXJyb3JGdW5jIGdlbmVyaWNFcnJvckZ1bmMsIHhtbFN0cnVjdHVy
ZWRFcnJvckZ1bmMgc3RydWN0dXJlZEVycm9yRnVuYyA9IDAsIHZvaWQqIGVycm9yQ29udGV4dCA9
IDApOworICAgICAgICBYTUxEb2N1bWVudFBhcnNlclNjb3BlKENhY2hlZFJlc291cmNlTG9hZGVy
KiwgeG1sR2VuZXJpY0Vycm9yRnVuYywgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBzdHJ1Y3R1cmVk
RXJyb3JGdW5jID0gMCwgdm9pZCogZXJyb3JDb250ZXh0ID0gbnVsbHB0cik7CiAjZW5kaWYKIAog
ICAgIHByaXZhdGU6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253377</attachid>
            <date>2015-05-19 02:34:53 -0700</date>
            <delta_ts>2015-05-19 22:51:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145165-20150519183450.patch</filename>
            <type>text/plain</type>
            <size>18527</size>
            <attacher name="Hunseop Jeong">hs85.jeong</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0NDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTYyZWM0NGY0YmJlYjYz
NDM2YzExNTk1MDFjZWQwNzM3YWJhMDYzZS4uYzljZjU3M2MwYzRiMWUwZDdkNWZlMTQyODRkN2Rm
ZWRjOTk4NGZiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDE1LTA1LTE5ICBIdW5z
ZW9wIEplb25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBudWxscHRyIGNs
ZWFudXAgaW4gV2ViQ29yZS94bWwuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDUxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZXMKKworICAgICAg
ICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVx
dWVzdDo6cmVzcG9uc2VYTUwpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6Omlu
dGVybmFsQWJvcnQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNsZWFyUmVz
cG9uc2VCdWZmZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpjbGVhclJl
cXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmRpZEZpbmlzaExvYWRp
bmcpOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRs
ZTo6Zmx1c2hQcm9ncmVzc0V2ZW50KToKKyAgICAgICAgKiB4bWwvWFNMSW1wb3J0UnVsZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpYU0xJbXBvcnRSdWxlOjpYU0xJbXBvcnRSdWxlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlhTTEltcG9ydFJ1bGU6On5YU0xJbXBvcnRSdWxlKToKKyAgICAgICAgKFdl
YkNvcmU6OlhTTEltcG9ydFJ1bGU6OnNldFhTTFN0eWxlU2hlZXQpOgorICAgICAgICAoV2ViQ29y
ZTo6WFNMSW1wb3J0UnVsZTo6bG9hZFNoZWV0KToKKyAgICAgICAgKiB4bWwvWFNMU3R5bGVTaGVl
dC5oOgorICAgICAgICAqIHhtbC9YU0xTdHlsZVNoZWV0TGlieHNsdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpYU0xTdHlsZVNoZWV0OjpYU0xTdHlsZVNoZWV0KToKKyAgICAgICAgKFdlYkNvcmU6
OlhTTFN0eWxlU2hlZXQ6On5YU0xTdHlsZVNoZWV0KToKKyAgICAgICAgKFdlYkNvcmU6OlhTTFN0
eWxlU2hlZXQ6OmNsZWFyRG9jdW1lbnRzKToKKyAgICAgICAgKiB4bWwvWFNMVFByb2Nlc3Nvckxp
YnhzbHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2F2ZVJlc3VsdFRvU3RyaW5nKToKKyAgICAg
ICAgKFdlYkNvcmU6OnhzbHRQYXJhbUFycmF5RnJvbVBhcmFtZXRlck1hcCk6CisgICAgICAgIChX
ZWJDb3JlOjp4bWxEb2NQdHJGcm9tTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpYU0xUUHJvY2Vz
c29yOjp0cmFuc2Zvcm1Ub1N0cmluZyk6CisgICAgICAgICogeG1sL3BhcnNlci9YTUxEb2N1bWVu
dFBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxEb2N1bWVudFBhcnNlcjo6Y2xlYXJD
dXJyZW50Tm9kZVN0YWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTERvY3VtZW50UGFyc2VyOjpl
eGl0VGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxEb2N1bWVudFBhcnNlcjo6bm90aWZ5Rmlu
aXNoZWQpOgorICAgICAgICAqIHhtbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXIuaDoKKyAgICAg
ICAgKiB4bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpvcGVuRnVuYyk6CisgICAgICAgIChXZWJDb3JlOjpYTUxEb2N1bWVudFBhcnNlcjo6
WE1MRG9jdW1lbnRQYXJzZXIpOgorICAgICAgICAqIHhtbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJz
ZXJTY29wZS5jcHA6CisKIDIwMTUtMDUtMTcgIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyICA8Y2Fs
dmFyaXNAaWdhbGlhLmNvbT4gYW5kIFlvdWVubiBGYWJsZXQgPHlvdWVubi5mYWJsZXRAY3JmLmNh
bm9uLmZyPgogCiAgICAgICAgIFtTdHJlYW1zIEFQSV0gRGVsZWdhdGUgUmVhZGFibGVTdHJlYW1S
ZWFkZXIgcmVmZXJlbmNlIGNvdW50aW5nIHRvIFJlYWRhYmxlU3RyZWFtCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCA0NmQ1YWFiMDZmNTZhN2ZjMjdhZmQ2MTUxMzQ4ZGM5
MjYwNWFlZTE4Li40YmMxOTc3MDljMDcwNzk1YjQ3YTVlMTJkOTM2YTg5MTY2OGIyN2EyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKQEAgLTIxMyw3ICsyMTMsNyBAQCBEb2N1
bWVudCogWE1MSHR0cFJlcXVlc3Q6OnJlc3BvbnNlWE1MKEV4Y2VwdGlvbkNvZGUmIGVjKQogICAg
ICAgICBpZiAoKG1fcmVzcG9uc2UuaXNIVFRQKCkgJiYgIXJlc3BvbnNlSXNYTUwoKSAmJiAhaXNI
VE1MKQogICAgICAgICAgICAgfHwgKGlzSFRNTCAmJiBtX3Jlc3BvbnNlVHlwZUNvZGUgPT0gUmVz
cG9uc2VUeXBlRGVmYXVsdCkKICAgICAgICAgICAgIHx8IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KS0+aXNXb3JrZXJHbG9iYWxTY29wZSgpKSB7Ci0gICAgICAgICAgICBtX3Jlc3BvbnNlRG9jdW1l
bnQgPSAwOworICAgICAgICAgICAgbV9yZXNwb25zZURvY3VtZW50ID0gbnVsbHB0cjsKICAgICAg
ICAgfSBlbHNlIHsKICAgICAgICAgICAgIGlmIChpc0hUTUwpCiAgICAgICAgICAgICAgICAgbV9y
ZXNwb25zZURvY3VtZW50ID0gSFRNTERvY3VtZW50OjpjcmVhdGUoMCwgbV91cmwpOwpAQCAtMjI1
LDcgKzIyNSw3IEBAIERvY3VtZW50KiBYTUxIdHRwUmVxdWVzdDo6cmVzcG9uc2VYTUwoRXhjZXB0
aW9uQ29kZSYgZWMpCiAgICAgICAgICAgICBtX3Jlc3BvbnNlRG9jdW1lbnQtPm92ZXJyaWRlTUlN
RVR5cGUobWltZVR5cGUpOwogCiAgICAgICAgICAgICBpZiAoIW1fcmVzcG9uc2VEb2N1bWVudC0+
d2VsbEZvcm1lZCgpKQotICAgICAgICAgICAgICAgIG1fcmVzcG9uc2VEb2N1bWVudCA9IDA7Cisg
ICAgICAgICAgICAgICAgbV9yZXNwb25zZURvY3VtZW50ID0gbnVsbHB0cjsKICAgICAgICAgfQog
ICAgICAgICBtX2NyZWF0ZWREb2N1bWVudCA9IHRydWU7CiAgICAgfQpAQCAtODMzLDcgKzgzMyw3
IEBAIGJvb2wgWE1MSHR0cFJlcXVlc3Q6OmludGVybmFsQWJvcnQoKQogICAgIC8vIEZJWE1FOiB3
aGVuIHdlIGFkZCB0aGUgc3VwcG9ydCBmb3IgbXVsdGktcGFydCBYSFIsIHdlIHdpbGwgaGF2ZSB0
byB0aGluayBiZSBjYXJlZnVsIHdpdGggdGhpcyBpbml0aWFsaXphdGlvbi4KICAgICBtX3JlY2Vp
dmVkTGVuZ3RoID0gMDsKIAotICAgIG1fZGVjb2RlciA9IDA7CisgICAgbV9kZWNvZGVyID0gbnVs
bHB0cjsKIAogICAgIGlmICghbV9sb2FkZXIpCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtODY2
LDggKzg2Niw4IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmNsZWFyUmVzcG9uc2VCdWZmZXJzKCkK
ICAgICBtX3Jlc3BvbnNlQnVpbGRlci5jbGVhcigpOwogICAgIG1fcmVzcG9uc2VFbmNvZGluZyA9
IFN0cmluZygpOwogICAgIG1fY3JlYXRlZERvY3VtZW50ID0gZmFsc2U7Ci0gICAgbV9yZXNwb25z
ZURvY3VtZW50ID0gMDsKLSAgICBtX3Jlc3BvbnNlQmxvYiA9IDA7CisgICAgbV9yZXNwb25zZURv
Y3VtZW50ID0gbnVsbHB0cjsKKyAgICBtX3Jlc3BvbnNlQmxvYiA9IG51bGxwdHI7CiAgICAgbV9i
aW5hcnlSZXNwb25zZUJ1aWxkZXIuY2xlYXIoKTsKICAgICBtX3Jlc3BvbnNlQXJyYXlCdWZmZXIu
Y2xlYXIoKTsKICAgICBtX3Jlc3BvbnNlQ2FjaGVJc1ZhbGlkID0gZmFsc2U7CkBAIC04NzYsNyAr
ODc2LDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6Y2xlYXJSZXNwb25zZUJ1ZmZlcnMoKQogdm9p
ZCBYTUxIdHRwUmVxdWVzdDo6Y2xlYXJSZXF1ZXN0KCkKIHsKICAgICBtX3JlcXVlc3RIZWFkZXJz
LmNsZWFyKCk7Ci0gICAgbV9yZXF1ZXN0RW50aXR5Qm9keSA9IDA7CisgICAgbV9yZXF1ZXN0RW50
aXR5Qm9keSA9IG51bGxwdHI7CiB9CiAKIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmdlbmVyaWNFcnJv
cigpCkBAIC0xMTEyLDExICsxMTEyLDExIEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmRpZEZpbmlz
aExvYWRpbmcodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBkb3VibGUpCiAgICAgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpkaWRGaW5pc2hYSFJMb2FkaW5nKHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSwgdGhpcywgaWRlbnRpZmllciwgbV9yZXNwb25zZUJ1aWxkZXIudG9TdHJpbmdQcmVzZXJ2
ZUNhcGFjaXR5KCksIG1fdXJsLCBtX2xhc3RTZW5kVVJMLCBtX2xhc3RTZW5kTGluZU51bWJlciwg
bV9sYXN0U2VuZENvbHVtbk51bWJlcik7CiAKICAgICBib29sIGhhZExvYWRlciA9IG1fbG9hZGVy
OwotICAgIG1fbG9hZGVyID0gMDsKKyAgICBtX2xvYWRlciA9IG51bGxwdHI7CiAKICAgICBjaGFu
Z2VTdGF0ZShET05FKTsKICAgICBtX3Jlc3BvbnNlRW5jb2RpbmcgPSBTdHJpbmcoKTsKLSAgICBt
X2RlY29kZXIgPSAwOworICAgIG1fZGVjb2RlciA9IG51bGxwdHI7CiAKICAgICBpZiAoaGFkTG9h
ZGVyKQogICAgICAgICBkcm9wUHJvdGVjdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAKaW5kZXgg
MDg0ZWUyNzY2ZTQ0MDY1NTk3MjgxZjM3MTIxY2E0MjQ0OGFjZDZmMC4uY2YxY2NiMzcwNDhlODhh
NmUyMDdlNmZiMTM4ZmIzNGQ3YmU4MzAxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwCkBAIC0xMjEs
NyArMTIxLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6Zmx1
c2hQcm9ncmVzc0V2ZW50KCkKICAgICBpZiAobV9kZWZlckV2ZW50cyAmJiBtX2RlZmVycmVkUHJv
Z3Jlc3NFdmVudCkgewogICAgICAgICAvLyBNb3ZlIHRoZSBwcm9ncmVzcyBldmVudCB0byB0aGUg
cXVldWUsIHRvIGdldCBpdCBpbiB0aGUgcmlnaHQgb3JkZXIgb24gcmVzdW1lLgogICAgICAgICBt
X2RlZmVycmVkRXZlbnRzLmFwcGVuZChtX2RlZmVycmVkUHJvZ3Jlc3NFdmVudCk7Ci0gICAgICAg
IG1fZGVmZXJyZWRQcm9ncmVzc0V2ZW50ID0gMDsKKyAgICAgICAgbV9kZWZlcnJlZFByb2dyZXNz
RXZlbnQgPSBudWxscHRyOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WFNMSW1wb3J0UnVsZS5jcHAKaW5kZXggYmZlYzVjODVjZWM0MzMyODZhMDBiNTZjOWRiZGY4YzYw
MjBkNmY0Yi4uZTk5YzQyNGVmMzM1YTZlNDhiNmUyYzg3NDNkOGY4ZGFiOTg3YzdkMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmNwcApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBYU0xJbXBvcnRSdWxlOjpYU0xJbXBvcnRSdWxlKFhTTFN0eWxlU2hlZXQqIHBh
cmVudCwgY29uc3QgU3RyaW5nJiBocmVmKQogICAgIDogbV9wYXJlbnRTdHlsZVNoZWV0KHBhcmVu
dCkKICAgICAsIG1fc3RySHJlZihocmVmKQotICAgICwgbV9jYWNoZWRTaGVldCgwKQorICAgICwg
bV9jYWNoZWRTaGVldChudWxscHRyKQogICAgICwgbV9sb2FkaW5nKGZhbHNlKQogewogfQpAQCAt
NDIsNyArNDIsNyBAQCBYU0xJbXBvcnRSdWxlOjpYU0xJbXBvcnRSdWxlKFhTTFN0eWxlU2hlZXQq
IHBhcmVudCwgY29uc3QgU3RyaW5nJiBocmVmKQogWFNMSW1wb3J0UnVsZTo6flhTTEltcG9ydFJ1
bGUoKQogewogICAgIGlmIChtX3N0eWxlU2hlZXQpCi0gICAgICAgIG1fc3R5bGVTaGVldC0+c2V0
UGFyZW50U3R5bGVTaGVldCgwKTsKKyAgICAgICAgbV9zdHlsZVNoZWV0LT5zZXRQYXJlbnRTdHls
ZVNoZWV0KG51bGxwdHIpOwogICAgIAogICAgIGlmIChtX2NhY2hlZFNoZWV0KQogICAgICAgICBt
X2NhY2hlZFNoZWV0LT5yZW1vdmVDbGllbnQodGhpcyk7CkBAIC01MSw3ICs1MSw3IEBAIFhTTElt
cG9ydFJ1bGU6On5YU0xJbXBvcnRSdWxlKCkKIHZvaWQgWFNMSW1wb3J0UnVsZTo6c2V0WFNMU3R5
bGVTaGVldChjb25zdCBTdHJpbmcmIGhyZWYsIGNvbnN0IFVSTCYgYmFzZVVSTCwgY29uc3QgU3Ry
aW5nJiBzaGVldCkKIHsKICAgICBpZiAobV9zdHlsZVNoZWV0KQotICAgICAgICBtX3N0eWxlU2hl
ZXQtPnNldFBhcmVudFN0eWxlU2hlZXQoMCk7CisgICAgICAgIG1fc3R5bGVTaGVldC0+c2V0UGFy
ZW50U3R5bGVTaGVldChudWxscHRyKTsKIAogICAgIG1fc3R5bGVTaGVldCA9IFhTTFN0eWxlU2hl
ZXQ6OmNyZWF0ZSh0aGlzLCBocmVmLCBiYXNlVVJMKTsKIApAQCAtNzMsNyArNzMsNyBAQCBib29s
IFhTTEltcG9ydFJ1bGU6OmlzTG9hZGluZygpCiAKIHZvaWQgWFNMSW1wb3J0UnVsZTo6bG9hZFNo
ZWV0KCkKIHsKLSAgICBDYWNoZWRSZXNvdXJjZUxvYWRlciogY2FjaGVkUmVzb3VyY2VMb2FkZXIg
PSAwOworICAgIENhY2hlZFJlc291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlciA9IG51
bGxwdHI7CiAKICAgICBYU0xTdHlsZVNoZWV0KiByb290U2hlZXQgPSBwYXJlbnRTdHlsZVNoZWV0
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xTdHlsZVNoZWV0LmggYi9T
b3VyY2UvV2ViQ29yZS94bWwvWFNMU3R5bGVTaGVldC5oCmluZGV4IDNhM2I5MThlOGIzMzJhZGY1
Y2RkOGNkNTY3ODBmOGE5ZTE1YjZkZTAuLmE5YjgzOTE2ZTMwYWJhOTZkNjY0Yjc2ZWMwNTY5OGIz
NWM1OGNmMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xTdHlsZVNoZWV0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTFN0eWxlU2hlZXQuaApAQCAtOTQsNyArOTQsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdHJpbmcgaHJlZigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIG1fb3JpZ2luYWxVUkw7IH0KICAgICB2aXJ0dWFsIFN0cmluZyB0aXRsZSgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBjbGVh
ck93bmVyTm9kZSgpIG92ZXJyaWRlIHsgbV9vd25lck5vZGUgPSAwOyB9CisgICAgdmlydHVhbCB2
b2lkIGNsZWFyT3duZXJOb2RlKCkgb3ZlcnJpZGUgeyBtX293bmVyTm9kZSA9IG51bGxwdHI7IH0K
ICAgICB2aXJ0dWFsIFVSTCBiYXNlVVJMKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9maW5h
bFVSTDsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0xvYWRpbmcoKSBjb25zdCBvdmVycmlkZTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFN0eWxlU2hlZXRMaWJ4c2x0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3htbC9YU0xTdHlsZVNoZWV0TGlieHNsdC5jcHAKaW5kZXggMTAwMDM5
NGJlM2RjNDYyNzFkNTcyNDE3ZjNlMDE3YTg4MDIzYWEzYy4uOGQ3MjgzOGI5NDI0YWU1ODE4ZWM4
MTI3YTc4ZTQ3ZDA4MGU4M2Y3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFN0
eWxlU2hlZXRMaWJ4c2x0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMU3R5bGVTaGVl
dExpYnhzbHQuY3BwCkBAIC01MiwxNSArNTIsMTUgQEAgU09GVF9MSU5LKGxpYnhzbHQsIHhzbHRM
b2FkU3R5bGVzaGVldFBJLCB4c2x0U3R5bGVzaGVldFB0ciwgKHhtbERvY1B0ciBkb2MpLCAoZG8K
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogWFNMU3R5bGVTaGVldDo6WFNMU3R5bGVTaGVldChYU0xJ
bXBvcnRSdWxlKiBwYXJlbnRSdWxlLCBjb25zdCBTdHJpbmcmIG9yaWdpbmFsVVJMLCBjb25zdCBV
UkwmIGZpbmFsVVJMKQotICAgIDogbV9vd25lck5vZGUoMCkKKyAgICA6IG1fb3duZXJOb2RlKG51
bGxwdHIpCiAgICAgLCBtX29yaWdpbmFsVVJMKG9yaWdpbmFsVVJMKQogICAgICwgbV9maW5hbFVS
TChmaW5hbFVSTCkKICAgICAsIG1faXNEaXNhYmxlZChmYWxzZSkKICAgICAsIG1fZW1iZWRkZWQo
ZmFsc2UpCiAgICAgLCBtX3Byb2Nlc3NlZChmYWxzZSkgLy8gQ2hpbGQgc2hlZXRzIGdldCBtYXJr
ZWQgYXMgcHJvY2Vzc2VkIHdoZW4gdGhlIGxpYnhzbHQgZW5naW5lIGhhcyBmaW5hbGx5IHNlZW4g
dGhlbS4KLSAgICAsIG1fc3R5bGVzaGVldERvYygwKQorICAgICwgbV9zdHlsZXNoZWV0RG9jKG51
bGxwdHIpCiAgICAgLCBtX3N0eWxlc2hlZXREb2NUYWtlbihmYWxzZSkKLSAgICAsIG1fcGFyZW50
U3R5bGVTaGVldChwYXJlbnRSdWxlID8gcGFyZW50UnVsZS0+cGFyZW50U3R5bGVTaGVldCgpIDog
MCkKKyAgICAsIG1fcGFyZW50U3R5bGVTaGVldChwYXJlbnRSdWxlID8gcGFyZW50UnVsZS0+cGFy
ZW50U3R5bGVTaGVldCgpIDogbnVsbHB0cikKIHsKIH0KIApAQCAtNzEsOSArNzEsOSBAQCBYU0xT
dHlsZVNoZWV0OjpYU0xTdHlsZVNoZWV0KE5vZGUqIHBhcmVudE5vZGUsIGNvbnN0IFN0cmluZyYg
b3JpZ2luYWxVUkwsIGNvbnN0CiAgICAgLCBtX2lzRGlzYWJsZWQoZmFsc2UpCiAgICAgLCBtX2Vt
YmVkZGVkKGVtYmVkZGVkKQogICAgICwgbV9wcm9jZXNzZWQodHJ1ZSkgLy8gVGhlIHJvb3Qgc2hl
ZXQgc3RhcnRzIG9mZiBwcm9jZXNzZWQuCi0gICAgLCBtX3N0eWxlc2hlZXREb2MoMCkKKyAgICAs
IG1fc3R5bGVzaGVldERvYyhudWxscHRyKQogICAgICwgbV9zdHlsZXNoZWV0RG9jVGFrZW4oZmFs
c2UpCi0gICAgLCBtX3BhcmVudFN0eWxlU2hlZXQoMCkKKyAgICAsIG1fcGFyZW50U3R5bGVTaGVl
dChudWxscHRyKQogewogfQogCkBAIC04NCw3ICs4NCw3IEBAIFhTTFN0eWxlU2hlZXQ6On5YU0xT
dHlsZVNoZWV0KCkKIAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NoaWxkcmVuLnNp
emUoKTsgKytpKSB7CiAgICAgICAgIEFTU0VSVChtX2NoaWxkcmVuLmF0KGkpLT5wYXJlbnRTdHls
ZVNoZWV0KCkgPT0gdGhpcyk7Ci0gICAgICAgIG1fY2hpbGRyZW4uYXQoaSktPnNldFBhcmVudFN0
eWxlU2hlZXQoMCk7CisgICAgICAgIG1fY2hpbGRyZW4uYXQoaSktPnNldFBhcmVudFN0eWxlU2hl
ZXQobnVsbHB0cik7CiAgICAgfQogfQogCkBAIC0xMTYsNyArMTE2LDcgQEAgeG1sRG9jUHRyIFhT
TFN0eWxlU2hlZXQ6OmRvY3VtZW50KCkKIAogdm9pZCBYU0xTdHlsZVNoZWV0OjpjbGVhckRvY3Vt
ZW50cygpCiB7Ci0gICAgbV9zdHlsZXNoZWV0RG9jID0gMDsKKyAgICBtX3N0eWxlc2hlZXREb2Mg
PSBudWxscHRyOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NoaWxkcmVuLnNpemUo
KTsgKytpKSB7CiAgICAgICAgIFhTTEltcG9ydFJ1bGUqIGltcG9ydCA9IG1fY2hpbGRyZW4uYXQo
aSkuZ2V0KCk7CiAgICAgICAgIGlmIChpbXBvcnQtPnN0eWxlU2hlZXQoKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS94bWwvWFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwCmluZGV4IGFkZDQ5ZjdmNTA1ZDFiMjQy
Zjc5OWQyNDE0OTI5OGMyZDM4Mjc4MjAuLjgyYTZkMTU5NDU2MDc0OTZlYTU0NzFjMzc4YjRiZTcx
MmNjODljNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yTGli
eHNsdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JMaWJ4c2x0LmNw
cApAQCAtMTA0LDggKzEwNCw4IEBAIHZvaWQgWFNMVFByb2Nlc3Nvcjo6cGFyc2VFcnJvckZ1bmMo
dm9pZCogdXNlckRhdGEsIHhtbEVycm9yKiBlcnJvcikKIH0KIAogLy8gRklYTUU6IFRoZXJlIHNl
ZW1zIHRvIGJlIG5vIHdheSB0byBjb250cm9sIHRoZSBjdHh0IHBvaW50ZXIgZm9yIGxvYWRpbmcg
aGVyZSwgdGh1cyB3ZSBoYXZlIGdsb2JhbHMuCi1zdGF0aWMgWFNMVFByb2Nlc3NvciogZ2xvYmFs
UHJvY2Vzc29yID0gMDsKLXN0YXRpYyBDYWNoZWRSZXNvdXJjZUxvYWRlciogZ2xvYmFsQ2FjaGVk
UmVzb3VyY2VMb2FkZXIgPSAwOworc3RhdGljIFhTTFRQcm9jZXNzb3IqIGdsb2JhbFByb2Nlc3Nv
ciA9IG51bGxwdHI7CitzdGF0aWMgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGdsb2JhbENhY2hlZFJl
c291cmNlTG9hZGVyID0gbnVsbHB0cjsKIHN0YXRpYyB4bWxEb2NQdHIgZG9jTG9hZGVyRnVuYyhj
b25zdCB4bWxDaGFyKiB1cmksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sRGlj
dFB0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgb3B0aW9ucywKQEAgLTE5
Nyw3ICsxOTcsNyBAQCBzdGF0aWMgaW50IHdyaXRlVG9TdHJpbmdCdWlsZGVyKHZvaWQqIGNvbnRl
eHQsIGNvbnN0IGNoYXIqIGJ1ZmZlciwgaW50IGxlbikKIAogc3RhdGljIGJvb2wgc2F2ZVJlc3Vs
dFRvU3RyaW5nKHhtbERvY1B0ciByZXN1bHREb2MsIHhzbHRTdHlsZXNoZWV0UHRyIHNoZWV0LCBT
dHJpbmcmIHJlc3VsdFN0cmluZykKIHsKLSAgICB4bWxPdXRwdXRCdWZmZXJQdHIgb3V0cHV0QnVm
ID0geG1sQWxsb2NPdXRwdXRCdWZmZXIoMCk7CisgICAgeG1sT3V0cHV0QnVmZmVyUHRyIG91dHB1
dEJ1ZiA9IHhtbEFsbG9jT3V0cHV0QnVmZmVyKG51bGxwdHIpOwogICAgIGlmICghb3V0cHV0QnVm
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTIzMiw3ICsyMzIsNyBAQCBzdGF0aWMgY29u
c3QgY2hhcioqIHhzbHRQYXJhbUFycmF5RnJvbVBhcmFtZXRlck1hcChYU0xUUHJvY2Vzc29yOjpQ
YXJhbWV0ZXJNYXAmCiAgICAgICAgIHBhcmFtZXRlckFycmF5W2luZGV4KytdID0gZmFzdFN0ckR1
cChpdC0+a2V5LnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICBwYXJhbWV0ZXJBcnJheVtpbmRleCsr
XSA9IGZhc3RTdHJEdXAoaXQtPnZhbHVlLnV0ZjgoKS5kYXRhKCkpOwogICAgIH0KLSAgICBwYXJh
bWV0ZXJBcnJheVtpbmRleF0gPSAwOworICAgIHBhcmFtZXRlckFycmF5W2luZGV4XSA9IG51bGxw
dHI7CiAKICAgICByZXR1cm4gcGFyYW1ldGVyQXJyYXk7CiB9CkBAIC0yNzMsNyArMjczLDcgQEAg
c3RhdGljIGlubGluZSB4bWxEb2NQdHIgeG1sRG9jUHRyRnJvbU5vZGUoTm9kZSYgc291cmNlTm9k
ZSwgYm9vbCYgc2hvdWxkRGVsZXRlKQogICAgIFJlZjxEb2N1bWVudD4gb3duZXJEb2N1bWVudChz
b3VyY2VOb2RlLmRvY3VtZW50KCkpOwogICAgIGJvb2wgc291cmNlSXNEb2N1bWVudCA9ICgmc291
cmNlTm9kZSA9PSAmb3duZXJEb2N1bWVudC5nZXQoKSk7CiAKLSAgICB4bWxEb2NQdHIgc291cmNl
RG9jID0gMDsKKyAgICB4bWxEb2NQdHIgc291cmNlRG9jID0gbnVsbHB0cjsKICAgICBpZiAoc291
cmNlSXNEb2N1bWVudCAmJiBvd25lckRvY3VtZW50LT50cmFuc2Zvcm1Tb3VyY2UoKSkKICAgICAg
ICAgc291cmNlRG9jID0gKHhtbERvY1B0cilvd25lckRvY3VtZW50LT50cmFuc2Zvcm1Tb3VyY2Uo
KS0+cGxhdGZvcm1Tb3VyY2UoKTsKICAgICBpZiAoIXNvdXJjZURvYykgewpAQCAtMzcwLDcgKzM3
MCw3IEBAIGJvb2wgWFNMVFByb2Nlc3Nvcjo6dHJhbnNmb3JtVG9TdHJpbmcoTm9kZSYgc291cmNl
Tm9kZSwgU3RyaW5nJiBtaW1lVHlwZSwgU3RyaW5nCiAgICAgc2hlZXQtPm1ldGhvZCA9IG9yaWdN
ZXRob2Q7CiAgICAgc2V0WFNMVExvYWRDYWxsQmFjaygwLCAwLCAwKTsKICAgICB4c2x0RnJlZVN0
eWxlc2hlZXQoc2hlZXQpOwotICAgIG1fc3R5bGVzaGVldCA9IDA7CisgICAgbV9zdHlsZXNoZWV0
ID0gbnVsbHB0cjsKIAogICAgIHJldHVybiBzdWNjZXNzOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyLmNwcAppbmRleCBlYmU5NDBiYzZmYjQ3OWIy
MjM5MDliMTc2OWU4ZTEwZGQwZjY3NWIyLi5iNWQ5MGYwZWM5MTJiNjBiNWRjMzA2ZmM2MjFlMTcy
MTM5NjA2Nzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3Vt
ZW50UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50
UGFyc2VyLmNwcApAQCAtODgsOCArODgsOCBAQCB2b2lkIFhNTERvY3VtZW50UGFyc2VyOjpjbGVh
ckN1cnJlbnROb2RlU3RhY2soKQogewogICAgIGlmIChtX2N1cnJlbnROb2RlICYmIG1fY3VycmVu
dE5vZGUgIT0gZG9jdW1lbnQoKSkKICAgICAgICAgbV9jdXJyZW50Tm9kZS0+ZGVyZWYoKTsKLSAg
ICBtX2N1cnJlbnROb2RlID0gMDsKLSAgICBtX2xlYWZUZXh0Tm9kZSA9IDA7CisgICAgbV9jdXJy
ZW50Tm9kZSA9IG51bGxwdHI7CisgICAgbV9sZWFmVGV4dE5vZGUgPSBudWxscHRyOwogCiAgICAg
aWYgKG1fY3VycmVudE5vZGVTdGFjay5zaXplKCkpIHsgLy8gQWJvcnRlZCBwYXJzaW5nLgogICAg
ICAgICBmb3IgKHNpemVfdCBpID0gbV9jdXJyZW50Tm9kZVN0YWNrLnNpemUoKSAtIDE7IGkgIT0g
MDsgLS1pKQpAQCAtMTYyLDcgKzE2Miw3IEBAIHZvaWQgWE1MRG9jdW1lbnRQYXJzZXI6OmV4aXRU
ZXh0KCkKICAgICBWZWN0b3I8eG1sQ2hhcj4gZW1wdHk7CiAgICAgbV9idWZmZXJlZFRleHQuc3dh
cChlbXB0eSk7CiAKLSAgICBtX2xlYWZUZXh0Tm9kZSA9IDA7CisgICAgbV9sZWFmVGV4dE5vZGUg
PSBudWxscHRyOwogfQogCiB2b2lkIFhNTERvY3VtZW50UGFyc2VyOjpkZXRhY2goKQpAQCAtMjMw
LDEwICsyMzAsMTAgQEAgdm9pZCBYTUxEb2N1bWVudFBhcnNlcjo6bm90aWZ5RmluaXNoZWQoQ2Fj
aGVkUmVzb3VyY2UqIHVudXNlZFJlc291cmNlKQogICAgIGJvb2wgd2FzQ2FuY2VsZWQgPSBtX3Bl
bmRpbmdTY3JpcHQtPndhc0NhbmNlbGVkKCk7CiAKICAgICBtX3BlbmRpbmdTY3JpcHQtPnJlbW92
ZUNsaWVudCh0aGlzKTsKLSAgICBtX3BlbmRpbmdTY3JpcHQgPSAwOworICAgIG1fcGVuZGluZ1Nj
cmlwdCA9IG51bGxwdHI7CiAKICAgICBSZWZQdHI8RWxlbWVudD4gZSA9IG1fc2NyaXB0RWxlbWVu
dDsKLSAgICBtX3NjcmlwdEVsZW1lbnQgPSAwOworICAgIG1fc2NyaXB0RWxlbWVudCA9IG51bGxw
dHI7CiAKICAgICBTY3JpcHRFbGVtZW50KiBzY3JpcHRFbGVtZW50ID0gdG9TY3JpcHRFbGVtZW50
SWZQb3NzaWJsZShlLmdldCgpKTsKICAgICBBU1NFUlQoc2NyaXB0RWxlbWVudCk7CkBAIC0yNDgs
NyArMjQ4LDcgQEAgdm9pZCBYTUxEb2N1bWVudFBhcnNlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVk
UmVzb3VyY2UqIHVudXNlZFJlc291cmNlKQogICAgICAgICBzY3JpcHRFbGVtZW50LT5kaXNwYXRj
aExvYWRFdmVudCgpOwogICAgIH0KIAotICAgIG1fc2NyaXB0RWxlbWVudCA9IDA7CisgICAgbV9z
Y3JpcHRFbGVtZW50ID0gbnVsbHB0cjsKIAogICAgIGlmICghaXNEZXRhY2hlZCgpICYmICFtX3Jl
cXVlc3RpbmdTY3JpcHQpCiAgICAgICAgIHJlc3VtZVBhcnNpbmcoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCBiNTlhZDJhYjVkNThmM2Fm
YTFlMjQ5ZDQ0ZDM3Yjc5YmZiMTM0ZjY5Li42ZmRjZTZkZDdhMGZlYjM2OTgyYzk3OGQ2MTRhN2Qx
NDgxNTZkN2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3Vt
ZW50UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBh
cnNlci5oCkBAIC04NSw3ICs4NSw3IEBAIGNsYXNzIFRleHQ7CiAgICAgICAgIHZvaWQgc2V0SXNY
SFRNTERvY3VtZW50KGJvb2wgaXNYSFRNTCkgeyBtX2lzWEhUTUxEb2N1bWVudCA9IGlzWEhUTUw7
IH0KICAgICAgICAgYm9vbCBpc1hIVE1MRG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2lzWEhU
TUxEb2N1bWVudDsgfQogCi0gICAgICAgIHN0YXRpYyBib29sIHBhcnNlRG9jdW1lbnRGcmFnbWVu
dChjb25zdCBTdHJpbmcmLCBEb2N1bWVudEZyYWdtZW50JiwgRWxlbWVudCogcGFyZW50ID0gMCwg
UGFyc2VyQ29udGVudFBvbGljeSA9IEFsbG93U2NyaXB0aW5nQ29udGVudCk7CisgICAgICAgIHN0
YXRpYyBib29sIHBhcnNlRG9jdW1lbnRGcmFnbWVudChjb25zdCBTdHJpbmcmLCBEb2N1bWVudEZy
YWdtZW50JiwgRWxlbWVudCogcGFyZW50ID0gbnVsbHB0ciwgUGFyc2VyQ29udGVudFBvbGljeSA9
IEFsbG93U2NyaXB0aW5nQ29udGVudCk7CiAKICAgICAgICAgLy8gVXNlZCBieSB0aGUgWE1MSHR0
cFJlcXVlc3QgdG8gY2hlY2sgaWYgdGhlIHJlc3BvbnNlWE1MIHdhcyB3ZWxsIGZvcm1lZC4KICAg
ICAgICAgdmlydHVhbCBib29sIHdlbGxGb3JtZWQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAh
bV9zYXdFcnJvcjsgfQpAQCAtOTMsNyArOTMsNyBAQCBjbGFzcyBUZXh0OwogICAgICAgICBzdGF0
aWMgYm9vbCBzdXBwb3J0c1hNTFZlcnNpb24oY29uc3QgU3RyaW5nJik7CiAKICAgICBwcml2YXRl
OgotICAgICAgICBYTUxEb2N1bWVudFBhcnNlcihEb2N1bWVudCYsIEZyYW1lVmlldyogPSAwKTsK
KyAgICAgICAgWE1MRG9jdW1lbnRQYXJzZXIoRG9jdW1lbnQmLCBGcmFtZVZpZXcqID0gbnVsbHB0
cik7CiAgICAgICAgIFhNTERvY3VtZW50UGFyc2VyKERvY3VtZW50RnJhZ21lbnQmLCBFbGVtZW50
KiwgUGFyc2VyQ29udGVudFBvbGljeSk7CiAKICAgICAgICAgLy8gRnJvbSBEb2N1bWVudFBhcnNl
cgpAQCAtMTU2LDcgKzE1Niw3IEBAIGNsYXNzIFRleHQ7CiAKICAgICAgICAgU2VnbWVudGVkU3Ry
aW5nIG1fb3JpZ2luYWxTb3VyY2VGb3JUcmFuc2Zvcm07CiAKLSAgICAgICAgeG1sUGFyc2VyQ3R4
dFB0ciBjb250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0ID8gbV9jb250ZXh0LT5jb250
ZXh0KCkgOiAwOyB9OworICAgICAgICB4bWxQYXJzZXJDdHh0UHRyIGNvbnRleHQoKSBjb25zdCB7
IHJldHVybiBtX2NvbnRleHQgPyBtX2NvbnRleHQtPmNvbnRleHQoKSA6IG51bGxwdHI7IH07CiAg
ICAgICAgIFJlZlB0cjxYTUxQYXJzZXJDb250ZXh0PiBtX2NvbnRleHQ7CiAgICAgICAgIHN0ZDo6
dW5pcXVlX3B0cjxQZW5kaW5nQ2FsbGJhY2tzPiBtX3BlbmRpbmdDYWxsYmFja3M7CiAgICAgICAg
IFZlY3Rvcjx4bWxDaGFyPiBtX2J1ZmZlcmVkVGV4dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAppbmRleCBlMDRkODI1
NDU4ZDlmNTc2NmM2MDJlMDZjMGE2MDQ0MTAyZDFiODk5Li4wZDZkMTk3YzM4MDQwNzdjZDM0MDlj
YjcyOWM4M2U5YzNjZGNiZDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2Vy
L1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL3Bh
cnNlci9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCkBAIC00NTksNyArNDU5LDcgQEAgc3Rh
dGljIHZvaWQqIG9wZW5GdW5jKGNvbnN0IGNoYXIqIHVyaSkKIAogICAgIHsKICAgICAgICAgQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyID0gWE1MRG9jdW1lbnRQYXJz
ZXJTY29wZTo6Y3VycmVudENhY2hlZFJlc291cmNlTG9hZGVyOwotICAgICAgICBYTUxEb2N1bWVu
dFBhcnNlclNjb3BlIHNjb3BlKDApOworICAgICAgICBYTUxEb2N1bWVudFBhcnNlclNjb3BlIHNj
b3BlKG51bGxwdHIpOwogICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHJlc3RvcmUgdGhlIG9y
aWdpbmFsIGdsb2JhbCBlcnJvciBoYW5kbGVyIGFzIHdlbGwuCiAKICAgICAgICAgaWYgKGNhY2hl
ZFJlc291cmNlTG9hZGVyLT5mcmFtZSgpKQpAQCAtNTc3LDcgKzU3Nyw3IEBAIGJvb2wgWE1MRG9j
dW1lbnRQYXJzZXI6OnN1cHBvcnRzWE1MVmVyc2lvbihjb25zdCBTdHJpbmcmIHZlcnNpb24pCiBY
TUxEb2N1bWVudFBhcnNlcjo6WE1MRG9jdW1lbnRQYXJzZXIoRG9jdW1lbnQmIGRvY3VtZW50LCBG
cmFtZVZpZXcqIGZyYW1lVmlldykKICAgICA6IFNjcmlwdGFibGVEb2N1bWVudFBhcnNlcihkb2N1
bWVudCkKICAgICAsIG1fdmlldyhmcmFtZVZpZXcpCi0gICAgLCBtX2NvbnRleHQoMCkKKyAgICAs
IG1fY29udGV4dChudWxscHRyKQogICAgICwgbV9wZW5kaW5nQ2FsbGJhY2tzKHN0ZDo6bWFrZV91
bmlxdWU8UGVuZGluZ0NhbGxiYWNrcz4oKSkKICAgICAsIG1fZGVwdGhUcmlnZ2VyaW5nRW50aXR5
RXhwYW5zaW9uKC0xKQogICAgICwgbV9pc1BhcnNpbmdFbnRpdHlEZWNsYXJhdGlvbihmYWxzZSkK
QEAgLTU5MCw3ICs1OTAsNyBAQCBYTUxEb2N1bWVudFBhcnNlcjo6WE1MRG9jdW1lbnRQYXJzZXIo
RG9jdW1lbnQmIGRvY3VtZW50LCBGcmFtZVZpZXcqIGZyYW1lVmlldykKICAgICAsIG1fcGFyc2Vy
UGF1c2VkKGZhbHNlKQogICAgICwgbV9yZXF1ZXN0aW5nU2NyaXB0KGZhbHNlKQogICAgICwgbV9m
aW5pc2hDYWxsZWQoZmFsc2UpCi0gICAgLCBtX3BlbmRpbmdTY3JpcHQoMCkKKyAgICAsIG1fcGVu
ZGluZ1NjcmlwdChudWxscHRyKQogICAgICwgbV9zY3JpcHRTdGFydFBvc2l0aW9uKFRleHRQb3Np
dGlvbjo6YmVsb3dSYW5nZVBvc2l0aW9uKCkpCiAgICAgLCBtX3BhcnNpbmdGcmFnbWVudChmYWxz
ZSkKIHsKQEAgLTU5OCw4ICs1OTgsOCBAQCBYTUxEb2N1bWVudFBhcnNlcjo6WE1MRG9jdW1lbnRQ
YXJzZXIoRG9jdW1lbnQmIGRvY3VtZW50LCBGcmFtZVZpZXcqIGZyYW1lVmlldykKIAogWE1MRG9j
dW1lbnRQYXJzZXI6OlhNTERvY3VtZW50UGFyc2VyKERvY3VtZW50RnJhZ21lbnQmIGZyYWdtZW50
LCBFbGVtZW50KiBwYXJlbnRFbGVtZW50LCBQYXJzZXJDb250ZW50UG9saWN5IHBhcnNlckNvbnRl
bnRQb2xpY3kpCiAgICAgOiBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIoZnJhZ21lbnQuZG9jdW1l
bnQoKSwgcGFyc2VyQ29udGVudFBvbGljeSkKLSAgICAsIG1fdmlldygwKQotICAgICwgbV9jb250
ZXh0KDApCisgICAgLCBtX3ZpZXcobnVsbHB0cikKKyAgICAsIG1fY29udGV4dChudWxscHRyKQog
ICAgICwgbV9wZW5kaW5nQ2FsbGJhY2tzKHN0ZDo6bWFrZV91bmlxdWU8UGVuZGluZ0NhbGxiYWNr
cz4oKSkKICAgICAsIG1fZGVwdGhUcmlnZ2VyaW5nRW50aXR5RXhwYW5zaW9uKC0xKQogICAgICwg
bV9pc1BhcnNpbmdFbnRpdHlEZWNsYXJhdGlvbihmYWxzZSkKQEAgLTYxMiw3ICs2MTIsNyBAQCBY
TUxEb2N1bWVudFBhcnNlcjo6WE1MRG9jdW1lbnRQYXJzZXIoRG9jdW1lbnRGcmFnbWVudCYgZnJh
Z21lbnQsIEVsZW1lbnQqIHBhcmVudAogICAgICwgbV9wYXJzZXJQYXVzZWQoZmFsc2UpCiAgICAg
LCBtX3JlcXVlc3RpbmdTY3JpcHQoZmFsc2UpCiAgICAgLCBtX2ZpbmlzaENhbGxlZChmYWxzZSkK
LSAgICAsIG1fcGVuZGluZ1NjcmlwdCgwKQorICAgICwgbV9wZW5kaW5nU2NyaXB0KG51bGxwdHIp
CiAgICAgLCBtX3NjcmlwdFN0YXJ0UG9zaXRpb24oVGV4dFBvc2l0aW9uOjpiZWxvd1JhbmdlUG9z
aXRpb24oKSkKICAgICAsIG1fcGFyc2luZ0ZyYWdtZW50KHRydWUpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuY3BwIGIvU291
cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmNwcAppbmRleCAw
YTQ3M2VkMjMwODJmMzdkMzkzYThkMTFmMWFkYTE1ZWNjM2MzNzI2Li5jMGYzNTkwYmYyNDE0ODEz
OWFlMzExZDQ1YmVjNDY4NjVhNWYzYWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwv
cGFyc2VyL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXJTY29wZS5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1DYWNoZWRSZXNvdXJjZUxvYWRlciogWE1MRG9jdW1lbnRQ
YXJzZXJTY29wZTo6Y3VycmVudENhY2hlZFJlc291cmNlTG9hZGVyID0gMDsKK0NhY2hlZFJlc291
cmNlTG9hZGVyKiBYTUxEb2N1bWVudFBhcnNlclNjb3BlOjpjdXJyZW50Q2FjaGVkUmVzb3VyY2VM
b2FkZXIgPSBudWxscHRyOwogCiBYTUxEb2N1bWVudFBhcnNlclNjb3BlOjpYTUxEb2N1bWVudFBh
cnNlclNjb3BlKENhY2hlZFJlc291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlcikKICAg
ICA6IG1fb2xkQ2FjaGVkUmVzb3VyY2VMb2FkZXIoY3VycmVudENhY2hlZFJlc291cmNlTG9hZGVy
KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253428</attachid>
            <date>2015-05-19 22:51:41 -0700</date>
            <delta_ts>2015-05-19 22:58:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145165-20150520145136.patch</filename>
            <type>text/plain</type>
            <size>18919</size>
            <attacher name="Hunseop Jeong">hs85.jeong</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0NjEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ViNTFlNDliYjk5ZjNl
YTU4Y2FjMTdjZTNmMGI3OTJiYTgyYTg4NC4uNWJjNGNmMzZhMjkxNTUzZTgwM2NlYzIwZGJkZGE4
ZTUyNGFiMjEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE1LTA1LTE5ICBIdW5z
ZW9wIEplb25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBudWxscHRyIGNs
ZWFudXAgaW4gV2ViQ29yZS94bWwuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDUxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBDc2FiYSBPc3p0cm9n
b27DoWMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2VzCisKKyAg
ICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0
cFJlcXVlc3Q6OnJlc3BvbnNlWE1MKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0
OjppbnRlcm5hbEFib3J0KToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpjbGVh
clJlc3BvbnNlQnVmZmVycyk6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6Y2xl
YXJSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpkaWRGaW5pc2hM
b2FkaW5nKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0
bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhy
b3R0bGU6OmZsdXNoUHJvZ3Jlc3NFdmVudCk6CisgICAgICAgICogeG1sL1hTTEltcG9ydFJ1bGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6WFNMSW1wb3J0UnVsZTo6WFNMSW1wb3J0UnVsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpYU0xJbXBvcnRSdWxlOjp+WFNMSW1wb3J0UnVsZSk6CisgICAgICAg
IChXZWJDb3JlOjpYU0xJbXBvcnRSdWxlOjpzZXRYU0xTdHlsZVNoZWV0KToKKyAgICAgICAgKFdl
YkNvcmU6OlhTTEltcG9ydFJ1bGU6OmxvYWRTaGVldCk6CisgICAgICAgICogeG1sL1hTTFN0eWxl
U2hlZXQuaDoKKyAgICAgICAgKiB4bWwvWFNMU3R5bGVTaGVldExpYnhzbHQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6WFNMU3R5bGVTaGVldDo6WFNMU3R5bGVTaGVldCk6CisgICAgICAgIChXZWJD
b3JlOjpYU0xTdHlsZVNoZWV0Ojp+WFNMU3R5bGVTaGVldCk6CisgICAgICAgIChXZWJDb3JlOjpY
U0xTdHlsZVNoZWV0OjpjbGVhckRvY3VtZW50cyk6CisgICAgICAgICogeG1sL1hTTFRQcm9jZXNz
b3JMaWJ4c2x0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNhdmVSZXN1bHRUb1N0cmluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjp4c2x0UGFyYW1BcnJheUZyb21QYXJhbWV0ZXJNYXApOgorICAgICAg
ICAoV2ViQ29yZTo6eG1sRG9jUHRyRnJvbU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6WFNMVFBy
b2Nlc3Nvcjo6dHJhbnNmb3JtVG9TdHJpbmcpOgorICAgICAgICAqIHhtbC9wYXJzZXIvWE1MRG9j
dW1lbnRQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MRG9jdW1lbnRQYXJzZXI6OmNs
ZWFyQ3VycmVudE5vZGVTdGFjayk6CisgICAgICAgIChXZWJDb3JlOjpYTUxEb2N1bWVudFBhcnNl
cjo6ZXhpdFRleHQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MRG9jdW1lbnRQYXJzZXI6Om5vdGlm
eUZpbmlzaGVkKToKKyAgICAgICAgKiB4bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyLmg6Cisg
ICAgICAgICogeG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6b3BlbkZ1bmMpOgorICAgICAgICAoV2ViQ29yZTo6WE1MRG9jdW1lbnRQYXJz
ZXI6OlhNTERvY3VtZW50UGFyc2VyKToKKyAgICAgICAgKiB4bWwvcGFyc2VyL1hNTERvY3VtZW50
UGFyc2VyU2NvcGUuY3BwOgorICAgICAgICAqIHhtbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXJT
Y29wZS5oOgorCiAyMDE1LTA1LTE5ICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBuYXZlcmNvcnAu
Y29tPgogCiAgICAgICAgIFtFRkxdIFVzZSBHU2ltcGxlUHJveHlSZXNvbHZlciBpbnN0ZWFkIG9m
IGN1c3RvbSBTb3VwUHJveHlSZXNvbHZlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5j
cHAKaW5kZXggMzFhNjIwM2FjMjM1ODNiZmU2MTZjMGZjYWI5ODA0YTJmOTk4YWQyZC4uYzdlOGMw
YjJiMGZkZDNhNzliYTA5ZDJmZDkxNWYzMjE1ZmU2YzcyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3QuY3BwCkBAIC0yMTMsNyArMjEzLDcgQEAgRG9jdW1lbnQqIFhNTEh0dHBSZXF1
ZXN0OjpyZXNwb25zZVhNTChFeGNlcHRpb25Db2RlJiBlYykKICAgICAgICAgaWYgKChtX3Jlc3Bv
bnNlLmlzSFRUUCgpICYmICFyZXNwb25zZUlzWE1MKCkgJiYgIWlzSFRNTCkKICAgICAgICAgICAg
IHx8IChpc0hUTUwgJiYgbV9yZXNwb25zZVR5cGVDb2RlID09IFJlc3BvbnNlVHlwZURlZmF1bHQp
CiAgICAgICAgICAgICB8fCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmlzV29ya2VyR2xvYmFs
U2NvcGUoKSkgewotICAgICAgICAgICAgbV9yZXNwb25zZURvY3VtZW50ID0gMDsKKyAgICAgICAg
ICAgIG1fcmVzcG9uc2VEb2N1bWVudCA9IG51bGxwdHI7CiAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICBpZiAoaXNIVE1MKQogICAgICAgICAgICAgICAgIG1fcmVzcG9uc2VEb2N1bWVudCA9
IEhUTUxEb2N1bWVudDo6Y3JlYXRlKDAsIG1fdXJsKTsKQEAgLTIyNSw3ICsyMjUsNyBAQCBEb2N1
bWVudCogWE1MSHR0cFJlcXVlc3Q6OnJlc3BvbnNlWE1MKEV4Y2VwdGlvbkNvZGUmIGVjKQogICAg
ICAgICAgICAgbV9yZXNwb25zZURvY3VtZW50LT5vdmVycmlkZU1JTUVUeXBlKG1pbWVUeXBlKTsK
IAogICAgICAgICAgICAgaWYgKCFtX3Jlc3BvbnNlRG9jdW1lbnQtPndlbGxGb3JtZWQoKSkKLSAg
ICAgICAgICAgICAgICBtX3Jlc3BvbnNlRG9jdW1lbnQgPSAwOworICAgICAgICAgICAgICAgIG1f
cmVzcG9uc2VEb2N1bWVudCA9IG51bGxwdHI7CiAgICAgICAgIH0KICAgICAgICAgbV9jcmVhdGVk
RG9jdW1lbnQgPSB0cnVlOwogICAgIH0KQEAgLTgzMyw3ICs4MzMsNyBAQCBib29sIFhNTEh0dHBS
ZXF1ZXN0OjppbnRlcm5hbEFib3J0KCkKICAgICAvLyBGSVhNRTogd2hlbiB3ZSBhZGQgdGhlIHN1
cHBvcnQgZm9yIG11bHRpLXBhcnQgWEhSLCB3ZSB3aWxsIGhhdmUgdG8gdGhpbmsgYmUgY2FyZWZ1
bCB3aXRoIHRoaXMgaW5pdGlhbGl6YXRpb24uCiAgICAgbV9yZWNlaXZlZExlbmd0aCA9IDA7CiAK
LSAgICBtX2RlY29kZXIgPSAwOworICAgIG1fZGVjb2RlciA9IG51bGxwdHI7CiAKICAgICBpZiAo
IW1fbG9hZGVyKQogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTg2Niw4ICs4NjYsOCBAQCB2b2lk
IFhNTEh0dHBSZXF1ZXN0OjpjbGVhclJlc3BvbnNlQnVmZmVycygpCiAgICAgbV9yZXNwb25zZUJ1
aWxkZXIuY2xlYXIoKTsKICAgICBtX3Jlc3BvbnNlRW5jb2RpbmcgPSBTdHJpbmcoKTsKICAgICBt
X2NyZWF0ZWREb2N1bWVudCA9IGZhbHNlOwotICAgIG1fcmVzcG9uc2VEb2N1bWVudCA9IDA7Ci0g
ICAgbV9yZXNwb25zZUJsb2IgPSAwOworICAgIG1fcmVzcG9uc2VEb2N1bWVudCA9IG51bGxwdHI7
CisgICAgbV9yZXNwb25zZUJsb2IgPSBudWxscHRyOwogICAgIG1fYmluYXJ5UmVzcG9uc2VCdWls
ZGVyLmNsZWFyKCk7CiAgICAgbV9yZXNwb25zZUFycmF5QnVmZmVyLmNsZWFyKCk7CiAgICAgbV9y
ZXNwb25zZUNhY2hlSXNWYWxpZCA9IGZhbHNlOwpAQCAtODc2LDcgKzg3Niw3IEBAIHZvaWQgWE1M
SHR0cFJlcXVlc3Q6OmNsZWFyUmVzcG9uc2VCdWZmZXJzKCkKIHZvaWQgWE1MSHR0cFJlcXVlc3Q6
OmNsZWFyUmVxdWVzdCgpCiB7CiAgICAgbV9yZXF1ZXN0SGVhZGVycy5jbGVhcigpOwotICAgIG1f
cmVxdWVzdEVudGl0eUJvZHkgPSAwOworICAgIG1fcmVxdWVzdEVudGl0eUJvZHkgPSBudWxscHRy
OwogfQogCiB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpnZW5lcmljRXJyb3IoKQpAQCAtMTExMiwxMSAr
MTExMiwxMSBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpkaWRGaW5pc2hMb2FkaW5nKHVuc2lnbmVk
IGxvbmcgaWRlbnRpZmllciwgZG91YmxlKQogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkRmluaXNoWEhSTG9hZGluZyhzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHRoaXMsIGlkZW50
aWZpZXIsIG1fcmVzcG9uc2VCdWlsZGVyLnRvU3RyaW5nUHJlc2VydmVDYXBhY2l0eSgpLCBtX3Vy
bCwgbV9sYXN0U2VuZFVSTCwgbV9sYXN0U2VuZExpbmVOdW1iZXIsIG1fbGFzdFNlbmRDb2x1bW5O
dW1iZXIpOwogCiAgICAgYm9vbCBoYWRMb2FkZXIgPSBtX2xvYWRlcjsKLSAgICBtX2xvYWRlciA9
IDA7CisgICAgbV9sb2FkZXIgPSBudWxscHRyOwogCiAgICAgY2hhbmdlU3RhdGUoRE9ORSk7CiAg
ICAgbV9yZXNwb25zZUVuY29kaW5nID0gU3RyaW5nKCk7Ci0gICAgbV9kZWNvZGVyID0gMDsKKyAg
ICBtX2RlY29kZXIgPSBudWxscHRyOwogCiAgICAgaWYgKGhhZExvYWRlcikKICAgICAgICAgZHJv
cFByb3RlY3Rpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwCmluZGV4IDA4NGVlMjc2NmU0NDA2NTU5
NzI4MWYzNzEyMWNhNDI0NDhhY2Q2ZjAuLmNmMWNjYjM3MDQ4ZTg4YTZlMjA3ZTZmYjEzOGZiMzRk
N2JlODMwMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcApAQCAtMTIxLDcgKzEyMSw3IEBAIHZvaWQg
WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmZsdXNoUHJvZ3Jlc3NFdmVudCgp
CiAgICAgaWYgKG1fZGVmZXJFdmVudHMgJiYgbV9kZWZlcnJlZFByb2dyZXNzRXZlbnQpIHsKICAg
ICAgICAgLy8gTW92ZSB0aGUgcHJvZ3Jlc3MgZXZlbnQgdG8gdGhlIHF1ZXVlLCB0byBnZXQgaXQg
aW4gdGhlIHJpZ2h0IG9yZGVyIG9uIHJlc3VtZS4KICAgICAgICAgbV9kZWZlcnJlZEV2ZW50cy5h
cHBlbmQobV9kZWZlcnJlZFByb2dyZXNzRXZlbnQpOwotICAgICAgICBtX2RlZmVycmVkUHJvZ3Jl
c3NFdmVudCA9IDA7CisgICAgICAgIG1fZGVmZXJyZWRQcm9ncmVzc0V2ZW50ID0gbnVsbHB0cjsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1s
L1hTTEltcG9ydFJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuY3Bw
CmluZGV4IGJmZWM1Yzg1Y2VjNDMzMjg2YTAwYjU2YzlkYmRmOGM2MDIwZDZmNGIuLmU5OWM0MjRl
ZjMzNWE2ZTQ4YjZlMmM4NzQzZDhmOGRhYjk4N2M3ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3htbC9YU0xJbXBvcnRSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMSW1w
b3J0UnVsZS5jcHAKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogWFNMSW1w
b3J0UnVsZTo6WFNMSW1wb3J0UnVsZShYU0xTdHlsZVNoZWV0KiBwYXJlbnQsIGNvbnN0IFN0cmlu
ZyYgaHJlZikKICAgICA6IG1fcGFyZW50U3R5bGVTaGVldChwYXJlbnQpCiAgICAgLCBtX3N0ckhy
ZWYoaHJlZikKLSAgICAsIG1fY2FjaGVkU2hlZXQoMCkKKyAgICAsIG1fY2FjaGVkU2hlZXQobnVs
bHB0cikKICAgICAsIG1fbG9hZGluZyhmYWxzZSkKIHsKIH0KQEAgLTQyLDcgKzQyLDcgQEAgWFNM
SW1wb3J0UnVsZTo6WFNMSW1wb3J0UnVsZShYU0xTdHlsZVNoZWV0KiBwYXJlbnQsIGNvbnN0IFN0
cmluZyYgaHJlZikKIFhTTEltcG9ydFJ1bGU6On5YU0xJbXBvcnRSdWxlKCkKIHsKICAgICBpZiAo
bV9zdHlsZVNoZWV0KQotICAgICAgICBtX3N0eWxlU2hlZXQtPnNldFBhcmVudFN0eWxlU2hlZXQo
MCk7CisgICAgICAgIG1fc3R5bGVTaGVldC0+c2V0UGFyZW50U3R5bGVTaGVldChudWxscHRyKTsK
ICAgICAKICAgICBpZiAobV9jYWNoZWRTaGVldCkKICAgICAgICAgbV9jYWNoZWRTaGVldC0+cmVt
b3ZlQ2xpZW50KHRoaXMpOwpAQCAtNTEsNyArNTEsNyBAQCBYU0xJbXBvcnRSdWxlOjp+WFNMSW1w
b3J0UnVsZSgpCiB2b2lkIFhTTEltcG9ydFJ1bGU6OnNldFhTTFN0eWxlU2hlZXQoY29uc3QgU3Ry
aW5nJiBocmVmLCBjb25zdCBVUkwmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgc2hlZXQpCiB7CiAg
ICAgaWYgKG1fc3R5bGVTaGVldCkKLSAgICAgICAgbV9zdHlsZVNoZWV0LT5zZXRQYXJlbnRTdHls
ZVNoZWV0KDApOworICAgICAgICBtX3N0eWxlU2hlZXQtPnNldFBhcmVudFN0eWxlU2hlZXQobnVs
bHB0cik7CiAKICAgICBtX3N0eWxlU2hlZXQgPSBYU0xTdHlsZVNoZWV0OjpjcmVhdGUodGhpcywg
aHJlZiwgYmFzZVVSTCk7CiAKQEAgLTczLDcgKzczLDcgQEAgYm9vbCBYU0xJbXBvcnRSdWxlOjpp
c0xvYWRpbmcoKQogCiB2b2lkIFhTTEltcG9ydFJ1bGU6OmxvYWRTaGVldCgpCiB7Ci0gICAgQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyID0gMDsKKyAgICBDYWNoZWRS
ZXNvdXJjZUxvYWRlciogY2FjaGVkUmVzb3VyY2VMb2FkZXIgPSBudWxscHRyOwogCiAgICAgWFNM
U3R5bGVTaGVldCogcm9vdFNoZWV0ID0gcGFyZW50U3R5bGVTaGVldCgpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMU3R5bGVTaGVldC5oIGIvU291cmNlL1dlYkNvcmUveG1s
L1hTTFN0eWxlU2hlZXQuaAppbmRleCAzYTNiOTE4ZThiMzMyYWRmNWNkZDhjZDU2NzgwZjhhOWUx
NWI2ZGUwLi5hOWI4MzkxNmUzMGFiYTk2ZDY2NGI3NmVjMDU2OThiMzVjNThjZjI5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMU3R5bGVTaGVldC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3htbC9YU0xTdHlsZVNoZWV0LmgKQEAgLTk0LDcgKzk0LDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgU3RyaW5nIGhyZWYoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX29yaWdpbmFsVVJM
OyB9CiAgICAgdmlydHVhbCBTdHJpbmcgdGl0bGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBl
bXB0eVN0cmluZygpOyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgY2xlYXJPd25lck5vZGUoKSBvdmVy
cmlkZSB7IG1fb3duZXJOb2RlID0gMDsgfQorICAgIHZpcnR1YWwgdm9pZCBjbGVhck93bmVyTm9k
ZSgpIG92ZXJyaWRlIHsgbV9vd25lck5vZGUgPSBudWxscHRyOyB9CiAgICAgdmlydHVhbCBVUkwg
YmFzZVVSTCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fZmluYWxVUkw7IH0KICAgICB2aXJ0
dWFsIGJvb2wgaXNMb2FkaW5nKCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YU0xTdHlsZVNoZWV0TGlieHNsdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWFNMU3R5bGVTaGVldExpYnhzbHQuY3BwCmluZGV4IDE3MWI4YTRhODg5YWQ2YzRlZGQ1NzMy
YjI5MjIyNDJmM2QzNTQwOTIuLjMyMTBlOGRjZjYyM2E3YThkOTQyOTljMjdhOTQ1MmI2YTg5OWZi
NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xTdHlsZVNoZWV0TGlieHNsdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTFN0eWxlU2hlZXRMaWJ4c2x0LmNwcApAQCAt
NTIsMTUgKzUyLDE1IEBAIFNPRlRfTElOSyhsaWJ4c2x0LCB4c2x0TG9hZFN0eWxlc2hlZXRQSSwg
eHNsdFN0eWxlc2hlZXRQdHIsICh4bWxEb2NQdHIgZG9jKSwgKGRvCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIFhTTFN0eWxlU2hlZXQ6OlhTTFN0eWxlU2hlZXQoWFNMSW1wb3J0UnVsZSogcGFyZW50
UnVsZSwgY29uc3QgU3RyaW5nJiBvcmlnaW5hbFVSTCwgY29uc3QgVVJMJiBmaW5hbFVSTCkKLSAg
ICA6IG1fb3duZXJOb2RlKDApCisgICAgOiBtX293bmVyTm9kZShudWxscHRyKQogICAgICwgbV9v
cmlnaW5hbFVSTChvcmlnaW5hbFVSTCkKICAgICAsIG1fZmluYWxVUkwoZmluYWxVUkwpCiAgICAg
LCBtX2lzRGlzYWJsZWQoZmFsc2UpCiAgICAgLCBtX2VtYmVkZGVkKGZhbHNlKQogICAgICwgbV9w
cm9jZXNzZWQoZmFsc2UpIC8vIENoaWxkIHNoZWV0cyBnZXQgbWFya2VkIGFzIHByb2Nlc3NlZCB3
aGVuIHRoZSBsaWJ4c2x0IGVuZ2luZSBoYXMgZmluYWxseSBzZWVuIHRoZW0uCi0gICAgLCBtX3N0
eWxlc2hlZXREb2MoMCkKKyAgICAsIG1fc3R5bGVzaGVldERvYyhudWxscHRyKQogICAgICwgbV9z
dHlsZXNoZWV0RG9jVGFrZW4oZmFsc2UpCi0gICAgLCBtX3BhcmVudFN0eWxlU2hlZXQocGFyZW50
UnVsZSA/IHBhcmVudFJ1bGUtPnBhcmVudFN0eWxlU2hlZXQoKSA6IDApCisgICAgLCBtX3BhcmVu
dFN0eWxlU2hlZXQocGFyZW50UnVsZSA/IHBhcmVudFJ1bGUtPnBhcmVudFN0eWxlU2hlZXQoKSA6
IG51bGxwdHIpCiB7CiB9CiAKQEAgLTcxLDkgKzcxLDkgQEAgWFNMU3R5bGVTaGVldDo6WFNMU3R5
bGVTaGVldChOb2RlKiBwYXJlbnROb2RlLCBjb25zdCBTdHJpbmcmIG9yaWdpbmFsVVJMLCBjb25z
dAogICAgICwgbV9pc0Rpc2FibGVkKGZhbHNlKQogICAgICwgbV9lbWJlZGRlZChlbWJlZGRlZCkK
ICAgICAsIG1fcHJvY2Vzc2VkKHRydWUpIC8vIFRoZSByb290IHNoZWV0IHN0YXJ0cyBvZmYgcHJv
Y2Vzc2VkLgotICAgICwgbV9zdHlsZXNoZWV0RG9jKDApCisgICAgLCBtX3N0eWxlc2hlZXREb2Mo
bnVsbHB0cikKICAgICAsIG1fc3R5bGVzaGVldERvY1Rha2VuKGZhbHNlKQotICAgICwgbV9wYXJl
bnRTdHlsZVNoZWV0KDApCisgICAgLCBtX3BhcmVudFN0eWxlU2hlZXQobnVsbHB0cikKIHsKIH0K
IApAQCAtODQsNyArODQsNyBAQCBYU0xTdHlsZVNoZWV0Ojp+WFNMU3R5bGVTaGVldCgpCiAKICAg
ICBmb3IgKGF1dG8mIGNoaWxkIDogbV9jaGlsZHJlbikgewogICAgICAgICBBU1NFUlQoY2hpbGQt
PnBhcmVudFN0eWxlU2hlZXQoKSA9PSB0aGlzKTsKLSAgICAgICAgY2hpbGQtPnNldFBhcmVudFN0
eWxlU2hlZXQoMCk7CisgICAgICAgIGNoaWxkLT5zZXRQYXJlbnRTdHlsZVNoZWV0KG51bGxwdHIp
OwogICAgIH0KIH0KIApAQCAtMTE2LDcgKzExNiw3IEBAIHhtbERvY1B0ciBYU0xTdHlsZVNoZWV0
Ojpkb2N1bWVudCgpCiAKIHZvaWQgWFNMU3R5bGVTaGVldDo6Y2xlYXJEb2N1bWVudHMoKQogewot
ICAgIG1fc3R5bGVzaGVldERvYyA9IDA7CisgICAgbV9zdHlsZXNoZWV0RG9jID0gbnVsbHB0cjsK
ICAgICBmb3IgKGF1dG8mIGltcG9ydCA6IG1fY2hpbGRyZW4pIHsKICAgICAgICAgaWYgKGltcG9y
dC0+c3R5bGVTaGVldCgpKQogICAgICAgICAgICAgaW1wb3J0LT5zdHlsZVNoZWV0KCktPmNsZWFy
RG9jdW1lbnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3Nv
ckxpYnhzbHQuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3JMaWJ4c2x0LmNw
cAppbmRleCBkY2MxOTg4NjQ1MmU4MjNkMDUxNGY4MTdkYzhiNWQzMzM2Y2FkMjZjLi44YTE4NGMz
MDViNzlkZTllMmRlMmI2OTU5MDUyNDYzMzE1MTA5OGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS94bWwvWFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAKQEAgLTEwNCw4ICsxMDQsOCBAQCB2b2lkIFhTTFRQ
cm9jZXNzb3I6OnBhcnNlRXJyb3JGdW5jKHZvaWQqIHVzZXJEYXRhLCB4bWxFcnJvciogZXJyb3Ip
CiB9CiAKIC8vIEZJWE1FOiBUaGVyZSBzZWVtcyB0byBiZSBubyB3YXkgdG8gY29udHJvbCB0aGUg
Y3R4dCBwb2ludGVyIGZvciBsb2FkaW5nIGhlcmUsIHRodXMgd2UgaGF2ZSBnbG9iYWxzLgotc3Rh
dGljIFhTTFRQcm9jZXNzb3IqIGdsb2JhbFByb2Nlc3NvciA9IDA7Ci1zdGF0aWMgQ2FjaGVkUmVz
b3VyY2VMb2FkZXIqIGdsb2JhbENhY2hlZFJlc291cmNlTG9hZGVyID0gMDsKK3N0YXRpYyBYU0xU
UHJvY2Vzc29yKiBnbG9iYWxQcm9jZXNzb3IgPSBudWxscHRyOworc3RhdGljIENhY2hlZFJlc291
cmNlTG9hZGVyKiBnbG9iYWxDYWNoZWRSZXNvdXJjZUxvYWRlciA9IG51bGxwdHI7CiBzdGF0aWMg
eG1sRG9jUHRyIGRvY0xvYWRlckZ1bmMoY29uc3QgeG1sQ2hhciogdXJpLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHhtbERpY3RQdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IG9wdGlvbnMsCkBAIC0xOTcsNyArMTk3LDcgQEAgc3RhdGljIGludCB3cml0ZVRv
U3RyaW5nQnVpbGRlcih2b2lkKiBjb250ZXh0LCBjb25zdCBjaGFyKiBidWZmZXIsIGludCBsZW4p
CiAKIHN0YXRpYyBib29sIHNhdmVSZXN1bHRUb1N0cmluZyh4bWxEb2NQdHIgcmVzdWx0RG9jLCB4
c2x0U3R5bGVzaGVldFB0ciBzaGVldCwgU3RyaW5nJiByZXN1bHRTdHJpbmcpCiB7Ci0gICAgeG1s
T3V0cHV0QnVmZmVyUHRyIG91dHB1dEJ1ZiA9IHhtbEFsbG9jT3V0cHV0QnVmZmVyKDApOworICAg
IHhtbE91dHB1dEJ1ZmZlclB0ciBvdXRwdXRCdWYgPSB4bWxBbGxvY091dHB1dEJ1ZmZlcihudWxs
cHRyKTsKICAgICBpZiAoIW91dHB1dEJ1ZikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0y
MzEsNyArMjMxLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIqKiB4c2x0UGFyYW1BcnJheUZyb21QYXJh
bWV0ZXJNYXAoWFNMVFByb2Nlc3Nvcjo6UGFyYW1ldGVyTWFwJgogICAgICAgICBwYXJhbWV0ZXJB
cnJheVtpbmRleCsrXSA9IGZhc3RTdHJEdXAocGFyYW1ldGVyLmtleS51dGY4KCkuZGF0YSgpKTsK
ICAgICAgICAgcGFyYW1ldGVyQXJyYXlbaW5kZXgrK10gPSBmYXN0U3RyRHVwKHBhcmFtZXRlci52
YWx1ZS51dGY4KCkuZGF0YSgpKTsKICAgICB9Ci0gICAgcGFyYW1ldGVyQXJyYXlbaW5kZXhdID0g
MDsKKyAgICBwYXJhbWV0ZXJBcnJheVtpbmRleF0gPSBudWxscHRyOwogCiAgICAgcmV0dXJuIHBh
cmFtZXRlckFycmF5OwogfQpAQCAtMjcyLDcgKzI3Miw3IEBAIHN0YXRpYyBpbmxpbmUgeG1sRG9j
UHRyIHhtbERvY1B0ckZyb21Ob2RlKE5vZGUmIHNvdXJjZU5vZGUsIGJvb2wmIHNob3VsZERlbGV0
ZSkKICAgICBSZWY8RG9jdW1lbnQ+IG93bmVyRG9jdW1lbnQoc291cmNlTm9kZS5kb2N1bWVudCgp
KTsKICAgICBib29sIHNvdXJjZUlzRG9jdW1lbnQgPSAoJnNvdXJjZU5vZGUgPT0gJm93bmVyRG9j
dW1lbnQuZ2V0KCkpOwogCi0gICAgeG1sRG9jUHRyIHNvdXJjZURvYyA9IDA7CisgICAgeG1sRG9j
UHRyIHNvdXJjZURvYyA9IG51bGxwdHI7CiAgICAgaWYgKHNvdXJjZUlzRG9jdW1lbnQgJiYgb3du
ZXJEb2N1bWVudC0+dHJhbnNmb3JtU291cmNlKCkpCiAgICAgICAgIHNvdXJjZURvYyA9ICh4bWxE
b2NQdHIpb3duZXJEb2N1bWVudC0+dHJhbnNmb3JtU291cmNlKCktPnBsYXRmb3JtU291cmNlKCk7
CiAgICAgaWYgKCFzb3VyY2VEb2MpIHsKQEAgLTM2OSw3ICszNjksNyBAQCBib29sIFhTTFRQcm9j
ZXNzb3I6OnRyYW5zZm9ybVRvU3RyaW5nKE5vZGUmIHNvdXJjZU5vZGUsIFN0cmluZyYgbWltZVR5
cGUsIFN0cmluZwogICAgIHNoZWV0LT5tZXRob2QgPSBvcmlnTWV0aG9kOwogICAgIHNldFhTTFRM
b2FkQ2FsbEJhY2soMCwgMCwgMCk7CiAgICAgeHNsdEZyZWVTdHlsZXNoZWV0KHNoZWV0KTsKLSAg
ICBtX3N0eWxlc2hlZXQgPSAwOworICAgIG1fc3R5bGVzaGVldCA9IG51bGxwdHI7CiAKICAgICBy
ZXR1cm4gc3VjY2VzczsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIv
WE1MRG9jdW1lbnRQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1
bWVudFBhcnNlci5jcHAKaW5kZXggZWJlOTQwYmM2ZmI0NzliMjIzOTA5YjE3NjllOGUxMGRkMGY2
NzViMi4uYjVkOTBmMGVjOTEyYjYwYjVkYzMwNmZjNjIxZTE3MjEzOTYwNjc3NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlci5jcHAKQEAgLTg4LDgg
Kzg4LDggQEAgdm9pZCBYTUxEb2N1bWVudFBhcnNlcjo6Y2xlYXJDdXJyZW50Tm9kZVN0YWNrKCkK
IHsKICAgICBpZiAobV9jdXJyZW50Tm9kZSAmJiBtX2N1cnJlbnROb2RlICE9IGRvY3VtZW50KCkp
CiAgICAgICAgIG1fY3VycmVudE5vZGUtPmRlcmVmKCk7Ci0gICAgbV9jdXJyZW50Tm9kZSA9IDA7
Ci0gICAgbV9sZWFmVGV4dE5vZGUgPSAwOworICAgIG1fY3VycmVudE5vZGUgPSBudWxscHRyOwor
ICAgIG1fbGVhZlRleHROb2RlID0gbnVsbHB0cjsKIAogICAgIGlmIChtX2N1cnJlbnROb2RlU3Rh
Y2suc2l6ZSgpKSB7IC8vIEFib3J0ZWQgcGFyc2luZy4KICAgICAgICAgZm9yIChzaXplX3QgaSA9
IG1fY3VycmVudE5vZGVTdGFjay5zaXplKCkgLSAxOyBpICE9IDA7IC0taSkKQEAgLTE2Miw3ICsx
NjIsNyBAQCB2b2lkIFhNTERvY3VtZW50UGFyc2VyOjpleGl0VGV4dCgpCiAgICAgVmVjdG9yPHht
bENoYXI+IGVtcHR5OwogICAgIG1fYnVmZmVyZWRUZXh0LnN3YXAoZW1wdHkpOwogCi0gICAgbV9s
ZWFmVGV4dE5vZGUgPSAwOworICAgIG1fbGVhZlRleHROb2RlID0gbnVsbHB0cjsKIH0KIAogdm9p
ZCBYTUxEb2N1bWVudFBhcnNlcjo6ZGV0YWNoKCkKQEAgLTIzMCwxMCArMjMwLDEwIEBAIHZvaWQg
WE1MRG9jdW1lbnRQYXJzZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKiB1bnVzZWRS
ZXNvdXJjZSkKICAgICBib29sIHdhc0NhbmNlbGVkID0gbV9wZW5kaW5nU2NyaXB0LT53YXNDYW5j
ZWxlZCgpOwogCiAgICAgbV9wZW5kaW5nU2NyaXB0LT5yZW1vdmVDbGllbnQodGhpcyk7Ci0gICAg
bV9wZW5kaW5nU2NyaXB0ID0gMDsKKyAgICBtX3BlbmRpbmdTY3JpcHQgPSBudWxscHRyOwogCiAg
ICAgUmVmUHRyPEVsZW1lbnQ+IGUgPSBtX3NjcmlwdEVsZW1lbnQ7Ci0gICAgbV9zY3JpcHRFbGVt
ZW50ID0gMDsKKyAgICBtX3NjcmlwdEVsZW1lbnQgPSBudWxscHRyOwogCiAgICAgU2NyaXB0RWxl
bWVudCogc2NyaXB0RWxlbWVudCA9IHRvU2NyaXB0RWxlbWVudElmUG9zc2libGUoZS5nZXQoKSk7
CiAgICAgQVNTRVJUKHNjcmlwdEVsZW1lbnQpOwpAQCAtMjQ4LDcgKzI0OCw3IEBAIHZvaWQgWE1M
RG9jdW1lbnRQYXJzZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKiB1bnVzZWRSZXNv
dXJjZSkKICAgICAgICAgc2NyaXB0RWxlbWVudC0+ZGlzcGF0Y2hMb2FkRXZlbnQoKTsKICAgICB9
CiAKLSAgICBtX3NjcmlwdEVsZW1lbnQgPSAwOworICAgIG1fc2NyaXB0RWxlbWVudCA9IG51bGxw
dHI7CiAKICAgICBpZiAoIWlzRGV0YWNoZWQoKSAmJiAhbV9yZXF1ZXN0aW5nU2NyaXB0KQogICAg
ICAgICByZXN1bWVQYXJzaW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFy
c2VyL1hNTERvY3VtZW50UGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERv
Y3VtZW50UGFyc2VyLmgKaW5kZXggYjU5YWQyYWI1ZDU4ZjNhZmExZTI0OWQ0NGQzN2I3OWJmYjEz
NGY2OS4uNmZkY2U2ZGQ3YTBmZWIzNjk4MmM5NzhkNjE0YTdkMTQ4MTU2ZDdlMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXIuaApAQCAtODUsNyArODUs
NyBAQCBjbGFzcyBUZXh0OwogICAgICAgICB2b2lkIHNldElzWEhUTUxEb2N1bWVudChib29sIGlz
WEhUTUwpIHsgbV9pc1hIVE1MRG9jdW1lbnQgPSBpc1hIVE1MOyB9CiAgICAgICAgIGJvb2wgaXNY
SFRNTERvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gbV9pc1hIVE1MRG9jdW1lbnQ7IH0KIAotICAg
ICAgICBzdGF0aWMgYm9vbCBwYXJzZURvY3VtZW50RnJhZ21lbnQoY29uc3QgU3RyaW5nJiwgRG9j
dW1lbnRGcmFnbWVudCYsIEVsZW1lbnQqIHBhcmVudCA9IDAsIFBhcnNlckNvbnRlbnRQb2xpY3kg
PSBBbGxvd1NjcmlwdGluZ0NvbnRlbnQpOworICAgICAgICBzdGF0aWMgYm9vbCBwYXJzZURvY3Vt
ZW50RnJhZ21lbnQoY29uc3QgU3RyaW5nJiwgRG9jdW1lbnRGcmFnbWVudCYsIEVsZW1lbnQqIHBh
cmVudCA9IG51bGxwdHIsIFBhcnNlckNvbnRlbnRQb2xpY3kgPSBBbGxvd1NjcmlwdGluZ0NvbnRl
bnQpOwogCiAgICAgICAgIC8vIFVzZWQgYnkgdGhlIFhNTEh0dHBSZXF1ZXN0IHRvIGNoZWNrIGlm
IHRoZSByZXNwb25zZVhNTCB3YXMgd2VsbCBmb3JtZWQuCiAgICAgICAgIHZpcnR1YWwgYm9vbCB3
ZWxsRm9ybWVkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIW1fc2F3RXJyb3I7IH0KQEAgLTkz
LDcgKzkzLDcgQEAgY2xhc3MgVGV4dDsKICAgICAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNYTUxW
ZXJzaW9uKGNvbnN0IFN0cmluZyYpOwogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgWE1MRG9jdW1l
bnRQYXJzZXIoRG9jdW1lbnQmLCBGcmFtZVZpZXcqID0gMCk7CisgICAgICAgIFhNTERvY3VtZW50
UGFyc2VyKERvY3VtZW50JiwgRnJhbWVWaWV3KiA9IG51bGxwdHIpOwogICAgICAgICBYTUxEb2N1
bWVudFBhcnNlcihEb2N1bWVudEZyYWdtZW50JiwgRWxlbWVudCosIFBhcnNlckNvbnRlbnRQb2xp
Y3kpOwogCiAgICAgICAgIC8vIEZyb20gRG9jdW1lbnRQYXJzZXIKQEAgLTE1Niw3ICsxNTYsNyBA
QCBjbGFzcyBUZXh0OwogCiAgICAgICAgIFNlZ21lbnRlZFN0cmluZyBtX29yaWdpbmFsU291cmNl
Rm9yVHJhbnNmb3JtOwogCi0gICAgICAgIHhtbFBhcnNlckN0eHRQdHIgY29udGV4dCgpIGNvbnN0
IHsgcmV0dXJuIG1fY29udGV4dCA/IG1fY29udGV4dC0+Y29udGV4dCgpIDogMDsgfTsKKyAgICAg
ICAgeG1sUGFyc2VyQ3R4dFB0ciBjb250ZXh0KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0ID8g
bV9jb250ZXh0LT5jb250ZXh0KCkgOiBudWxscHRyOyB9OwogICAgICAgICBSZWZQdHI8WE1MUGFy
c2VyQ29udGV4dD4gbV9jb250ZXh0OwogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UGVuZGluZ0Nh
bGxiYWNrcz4gbV9wZW5kaW5nQ2FsbGJhY2tzOwogICAgICAgICBWZWN0b3I8eG1sQ2hhcj4gbV9i
dWZmZXJlZFRleHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERv
Y3VtZW50UGFyc2VyTGlieG1sMi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERv
Y3VtZW50UGFyc2VyTGlieG1sMi5jcHAKaW5kZXggZTA0ZDgyNTQ1OGQ5ZjU3NjZjNjAyZTA2YzBh
NjA0NDEwMmQxYjg5OS4uNDFhZGMyNWIzYjMzNDM0M2U0MzBmOWU4NDIzZGVlMTRmODc4Y2ZiNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlckxp
YnhtbDIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJz
ZXJMaWJ4bWwyLmNwcApAQCAtNDU5LDcgKzQ1OSw3IEBAIHN0YXRpYyB2b2lkKiBvcGVuRnVuYyhj
b25zdCBjaGFyKiB1cmkpCiAKICAgICB7CiAgICAgICAgIENhY2hlZFJlc291cmNlTG9hZGVyKiBj
YWNoZWRSZXNvdXJjZUxvYWRlciA9IFhNTERvY3VtZW50UGFyc2VyU2NvcGU6OmN1cnJlbnRDYWNo
ZWRSZXNvdXJjZUxvYWRlcjsKLSAgICAgICAgWE1MRG9jdW1lbnRQYXJzZXJTY29wZSBzY29wZSgw
KTsKKyAgICAgICAgWE1MRG9jdW1lbnRQYXJzZXJTY29wZSBzY29wZShudWxscHRyKTsKICAgICAg
ICAgLy8gRklYTUU6IFdlIHNob3VsZCByZXN0b3JlIHRoZSBvcmlnaW5hbCBnbG9iYWwgZXJyb3Ig
aGFuZGxlciBhcyB3ZWxsLgogCiAgICAgICAgIGlmIChjYWNoZWRSZXNvdXJjZUxvYWRlci0+ZnJh
bWUoKSkKQEAgLTU3Nyw3ICs1NzcsNyBAQCBib29sIFhNTERvY3VtZW50UGFyc2VyOjpzdXBwb3J0
c1hNTFZlcnNpb24oY29uc3QgU3RyaW5nJiB2ZXJzaW9uKQogWE1MRG9jdW1lbnRQYXJzZXI6OlhN
TERvY3VtZW50UGFyc2VyKERvY3VtZW50JiBkb2N1bWVudCwgRnJhbWVWaWV3KiBmcmFtZVZpZXcp
CiAgICAgOiBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIoZG9jdW1lbnQpCiAgICAgLCBtX3ZpZXco
ZnJhbWVWaWV3KQotICAgICwgbV9jb250ZXh0KDApCisgICAgLCBtX2NvbnRleHQobnVsbHB0cikK
ICAgICAsIG1fcGVuZGluZ0NhbGxiYWNrcyhzdGQ6Om1ha2VfdW5pcXVlPFBlbmRpbmdDYWxsYmFj
a3M+KCkpCiAgICAgLCBtX2RlcHRoVHJpZ2dlcmluZ0VudGl0eUV4cGFuc2lvbigtMSkKICAgICAs
IG1faXNQYXJzaW5nRW50aXR5RGVjbGFyYXRpb24oZmFsc2UpCkBAIC01OTAsNyArNTkwLDcgQEAg
WE1MRG9jdW1lbnRQYXJzZXI6OlhNTERvY3VtZW50UGFyc2VyKERvY3VtZW50JiBkb2N1bWVudCwg
RnJhbWVWaWV3KiBmcmFtZVZpZXcpCiAgICAgLCBtX3BhcnNlclBhdXNlZChmYWxzZSkKICAgICAs
IG1fcmVxdWVzdGluZ1NjcmlwdChmYWxzZSkKICAgICAsIG1fZmluaXNoQ2FsbGVkKGZhbHNlKQot
ICAgICwgbV9wZW5kaW5nU2NyaXB0KDApCisgICAgLCBtX3BlbmRpbmdTY3JpcHQobnVsbHB0cikK
ICAgICAsIG1fc2NyaXB0U3RhcnRQb3NpdGlvbihUZXh0UG9zaXRpb246OmJlbG93UmFuZ2VQb3Np
dGlvbigpKQogICAgICwgbV9wYXJzaW5nRnJhZ21lbnQoZmFsc2UpCiB7CkBAIC01OTgsOCArNTk4
LDggQEAgWE1MRG9jdW1lbnRQYXJzZXI6OlhNTERvY3VtZW50UGFyc2VyKERvY3VtZW50JiBkb2N1
bWVudCwgRnJhbWVWaWV3KiBmcmFtZVZpZXcpCiAKIFhNTERvY3VtZW50UGFyc2VyOjpYTUxEb2N1
bWVudFBhcnNlcihEb2N1bWVudEZyYWdtZW50JiBmcmFnbWVudCwgRWxlbWVudCogcGFyZW50RWxl
bWVudCwgUGFyc2VyQ29udGVudFBvbGljeSBwYXJzZXJDb250ZW50UG9saWN5KQogICAgIDogU2Ny
aXB0YWJsZURvY3VtZW50UGFyc2VyKGZyYWdtZW50LmRvY3VtZW50KCksIHBhcnNlckNvbnRlbnRQ
b2xpY3kpCi0gICAgLCBtX3ZpZXcoMCkKLSAgICAsIG1fY29udGV4dCgwKQorICAgICwgbV92aWV3
KG51bGxwdHIpCisgICAgLCBtX2NvbnRleHQobnVsbHB0cikKICAgICAsIG1fcGVuZGluZ0NhbGxi
YWNrcyhzdGQ6Om1ha2VfdW5pcXVlPFBlbmRpbmdDYWxsYmFja3M+KCkpCiAgICAgLCBtX2RlcHRo
VHJpZ2dlcmluZ0VudGl0eUV4cGFuc2lvbigtMSkKICAgICAsIG1faXNQYXJzaW5nRW50aXR5RGVj
bGFyYXRpb24oZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hN
TERvY3VtZW50UGFyc2VyU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxE
b2N1bWVudFBhcnNlclNjb3BlLmNwcAppbmRleCAwYTQ3M2VkMjMwODJmMzdkMzkzYThkMTFmMWFk
YTE1ZWNjM2MzNzI2Li5jMGYzNTkwYmYyNDE0ODEzOWFlMzExZDQ1YmVjNDY4NjVhNWYzYWY5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyU2Nv
cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXJT
Y29wZS5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1DYWNo
ZWRSZXNvdXJjZUxvYWRlciogWE1MRG9jdW1lbnRQYXJzZXJTY29wZTo6Y3VycmVudENhY2hlZFJl
c291cmNlTG9hZGVyID0gMDsKK0NhY2hlZFJlc291cmNlTG9hZGVyKiBYTUxEb2N1bWVudFBhcnNl
clNjb3BlOjpjdXJyZW50Q2FjaGVkUmVzb3VyY2VMb2FkZXIgPSBudWxscHRyOwogCiBYTUxEb2N1
bWVudFBhcnNlclNjb3BlOjpYTUxEb2N1bWVudFBhcnNlclNjb3BlKENhY2hlZFJlc291cmNlTG9h
ZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlcikKICAgICA6IG1fb2xkQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIoY3VycmVudENhY2hlZFJlc291cmNlTG9hZGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS94
bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaAppbmRleCAxODY1M2M2MjQ5NGM2MjFm
ODQ1OGJmMmM1ZDE0MzJhZTEyZWY1ZTA1Li44MmVhYmJmYmJiNzE1NjExMThjMWU4OTdkYTIyNWE5
YWVmYzkxYzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3Vt
ZW50UGFyc2VyU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3Vt
ZW50UGFyc2VyU2NvcGUuaApAQCAtNDUsNyArNDUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIHN0YXRpYyBDYWNoZWRSZXNvdXJjZUxvYWRlciogY3VycmVudENhY2hlZFJlc291cmNl
TG9hZGVyOwogCiAjaWYgRU5BQkxFKFhTTFQpCi0gICAgICAgIFhNTERvY3VtZW50UGFyc2VyU2Nv
cGUoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyLCB4bWxHZW5lcmlj
RXJyb3JGdW5jIGdlbmVyaWNFcnJvckZ1bmMsIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMgc3RydWN0
dXJlZEVycm9yRnVuYyA9IDAsIHZvaWQqIGVycm9yQ29udGV4dCA9IDApOworICAgICAgICBYTUxE
b2N1bWVudFBhcnNlclNjb3BlKENhY2hlZFJlc291cmNlTG9hZGVyKiwgeG1sR2VuZXJpY0Vycm9y
RnVuYywgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBzdHJ1Y3R1cmVkRXJyb3JGdW5jID0gMCwgdm9p
ZCogZXJyb3JDb250ZXh0ID0gbnVsbHB0cik7CiAjZW5kaWYKIAogICAgIHByaXZhdGU6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253430</attachid>
            <date>2015-05-19 22:58:48 -0700</date>
            <delta_ts>2015-05-20 00:39:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145165-20150520145844.patch</filename>
            <type>text/plain</type>
            <size>18915</size>
            <attacher name="Hunseop Jeong">hs85.jeong</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0NjEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ViNTFlNDliYjk5ZjNl
YTU4Y2FjMTdjZTNmMGI3OTJiYTgyYTg4NC4uOTViNzA2ODgzYzMxZThjMDlkNzZlZjI5ZDNiOTc4
NmUxMWJjYmI1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE1LTA1LTE5ICBIdW5z
ZW9wIEplb25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBudWxscHRyIGNs
ZWFudXAgaW4gV2ViQ29yZS94bWwuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDUxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZXMKKworICAgICAg
ICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVx
dWVzdDo6cmVzcG9uc2VYTUwpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6Omlu
dGVybmFsQWJvcnQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNsZWFyUmVz
cG9uc2VCdWZmZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpjbGVhclJl
cXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmRpZEZpbmlzaExvYWRp
bmcpOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRs
ZTo6Zmx1c2hQcm9ncmVzc0V2ZW50KToKKyAgICAgICAgKiB4bWwvWFNMSW1wb3J0UnVsZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpYU0xJbXBvcnRSdWxlOjpYU0xJbXBvcnRSdWxlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlhTTEltcG9ydFJ1bGU6On5YU0xJbXBvcnRSdWxlKToKKyAgICAgICAgKFdl
YkNvcmU6OlhTTEltcG9ydFJ1bGU6OnNldFhTTFN0eWxlU2hlZXQpOgorICAgICAgICAoV2ViQ29y
ZTo6WFNMSW1wb3J0UnVsZTo6bG9hZFNoZWV0KToKKyAgICAgICAgKiB4bWwvWFNMU3R5bGVTaGVl
dC5oOgorICAgICAgICAqIHhtbC9YU0xTdHlsZVNoZWV0TGlieHNsdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpYU0xTdHlsZVNoZWV0OjpYU0xTdHlsZVNoZWV0KToKKyAgICAgICAgKFdlYkNvcmU6
OlhTTFN0eWxlU2hlZXQ6On5YU0xTdHlsZVNoZWV0KToKKyAgICAgICAgKFdlYkNvcmU6OlhTTFN0
eWxlU2hlZXQ6OmNsZWFyRG9jdW1lbnRzKToKKyAgICAgICAgKiB4bWwvWFNMVFByb2Nlc3Nvckxp
YnhzbHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2F2ZVJlc3VsdFRvU3RyaW5nKToKKyAgICAg
ICAgKFdlYkNvcmU6OnhzbHRQYXJhbUFycmF5RnJvbVBhcmFtZXRlck1hcCk6CisgICAgICAgIChX
ZWJDb3JlOjp4bWxEb2NQdHJGcm9tTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpYU0xUUHJvY2Vz
c29yOjp0cmFuc2Zvcm1Ub1N0cmluZyk6CisgICAgICAgICogeG1sL3BhcnNlci9YTUxEb2N1bWVu
dFBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxEb2N1bWVudFBhcnNlcjo6Y2xlYXJD
dXJyZW50Tm9kZVN0YWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTERvY3VtZW50UGFyc2VyOjpl
eGl0VGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxEb2N1bWVudFBhcnNlcjo6bm90aWZ5Rmlu
aXNoZWQpOgorICAgICAgICAqIHhtbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXIuaDoKKyAgICAg
ICAgKiB4bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpvcGVuRnVuYyk6CisgICAgICAgIChXZWJDb3JlOjpYTUxEb2N1bWVudFBhcnNlcjo6
WE1MRG9jdW1lbnRQYXJzZXIpOgorICAgICAgICAqIHhtbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJz
ZXJTY29wZS5jcHA6CisgICAgICAgICogeG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlclNjb3Bl
Lmg6CisKIDIwMTUtMDUtMTkgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQG5hdmVyY29ycC5jb20+
CiAKICAgICAgICAgW0VGTF0gVXNlIEdTaW1wbGVQcm94eVJlc29sdmVyIGluc3RlYWQgb2YgY3Vz
dG9tIFNvdXBQcm94eVJlc29sdmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApp
bmRleCAzMWE2MjAzYWMyMzU4M2JmZTYxNmMwZmNhYjk4MDRhMmY5OThhZDJkLi5jN2U4YzBiMmIw
ZmRkM2E3OWJhMDlkMmZkOTE1ZjMyMTVmZTZjNzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5jcHAKQEAgLTIxMyw3ICsyMTMsNyBAQCBEb2N1bWVudCogWE1MSHR0cFJlcXVlc3Q6
OnJlc3BvbnNlWE1MKEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAgICBpZiAoKG1fcmVzcG9uc2Uu
aXNIVFRQKCkgJiYgIXJlc3BvbnNlSXNYTUwoKSAmJiAhaXNIVE1MKQogICAgICAgICAgICAgfHwg
KGlzSFRNTCAmJiBtX3Jlc3BvbnNlVHlwZUNvZGUgPT0gUmVzcG9uc2VUeXBlRGVmYXVsdCkKICAg
ICAgICAgICAgIHx8IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+aXNXb3JrZXJHbG9iYWxTY29w
ZSgpKSB7Ci0gICAgICAgICAgICBtX3Jlc3BvbnNlRG9jdW1lbnQgPSAwOworICAgICAgICAgICAg
bV9yZXNwb25zZURvY3VtZW50ID0gbnVsbHB0cjsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgIGlmIChpc0hUTUwpCiAgICAgICAgICAgICAgICAgbV9yZXNwb25zZURvY3VtZW50ID0gSFRN
TERvY3VtZW50OjpjcmVhdGUoMCwgbV91cmwpOwpAQCAtMjI1LDcgKzIyNSw3IEBAIERvY3VtZW50
KiBYTUxIdHRwUmVxdWVzdDo6cmVzcG9uc2VYTUwoRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgICAg
ICAgICBtX3Jlc3BvbnNlRG9jdW1lbnQtPm92ZXJyaWRlTUlNRVR5cGUobWltZVR5cGUpOwogCiAg
ICAgICAgICAgICBpZiAoIW1fcmVzcG9uc2VEb2N1bWVudC0+d2VsbEZvcm1lZCgpKQotICAgICAg
ICAgICAgICAgIG1fcmVzcG9uc2VEb2N1bWVudCA9IDA7CisgICAgICAgICAgICAgICAgbV9yZXNw
b25zZURvY3VtZW50ID0gbnVsbHB0cjsKICAgICAgICAgfQogICAgICAgICBtX2NyZWF0ZWREb2N1
bWVudCA9IHRydWU7CiAgICAgfQpAQCAtODMzLDcgKzgzMyw3IEBAIGJvb2wgWE1MSHR0cFJlcXVl
c3Q6OmludGVybmFsQWJvcnQoKQogICAgIC8vIEZJWE1FOiB3aGVuIHdlIGFkZCB0aGUgc3VwcG9y
dCBmb3IgbXVsdGktcGFydCBYSFIsIHdlIHdpbGwgaGF2ZSB0byB0aGluayBiZSBjYXJlZnVsIHdp
dGggdGhpcyBpbml0aWFsaXphdGlvbi4KICAgICBtX3JlY2VpdmVkTGVuZ3RoID0gMDsKIAotICAg
IG1fZGVjb2RlciA9IDA7CisgICAgbV9kZWNvZGVyID0gbnVsbHB0cjsKIAogICAgIGlmICghbV9s
b2FkZXIpCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtODY2LDggKzg2Niw4IEBAIHZvaWQgWE1M
SHR0cFJlcXVlc3Q6OmNsZWFyUmVzcG9uc2VCdWZmZXJzKCkKICAgICBtX3Jlc3BvbnNlQnVpbGRl
ci5jbGVhcigpOwogICAgIG1fcmVzcG9uc2VFbmNvZGluZyA9IFN0cmluZygpOwogICAgIG1fY3Jl
YXRlZERvY3VtZW50ID0gZmFsc2U7Ci0gICAgbV9yZXNwb25zZURvY3VtZW50ID0gMDsKLSAgICBt
X3Jlc3BvbnNlQmxvYiA9IDA7CisgICAgbV9yZXNwb25zZURvY3VtZW50ID0gbnVsbHB0cjsKKyAg
ICBtX3Jlc3BvbnNlQmxvYiA9IG51bGxwdHI7CiAgICAgbV9iaW5hcnlSZXNwb25zZUJ1aWxkZXIu
Y2xlYXIoKTsKICAgICBtX3Jlc3BvbnNlQXJyYXlCdWZmZXIuY2xlYXIoKTsKICAgICBtX3Jlc3Bv
bnNlQ2FjaGVJc1ZhbGlkID0gZmFsc2U7CkBAIC04NzYsNyArODc2LDcgQEAgdm9pZCBYTUxIdHRw
UmVxdWVzdDo6Y2xlYXJSZXNwb25zZUJ1ZmZlcnMoKQogdm9pZCBYTUxIdHRwUmVxdWVzdDo6Y2xl
YXJSZXF1ZXN0KCkKIHsKICAgICBtX3JlcXVlc3RIZWFkZXJzLmNsZWFyKCk7Ci0gICAgbV9yZXF1
ZXN0RW50aXR5Qm9keSA9IDA7CisgICAgbV9yZXF1ZXN0RW50aXR5Qm9keSA9IG51bGxwdHI7CiB9
CiAKIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmdlbmVyaWNFcnJvcigpCkBAIC0xMTEyLDExICsxMTEy
LDExIEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmRpZEZpbmlzaExvYWRpbmcodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBkb3VibGUpCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRG
aW5pc2hYSFJMb2FkaW5nKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgdGhpcywgaWRlbnRpZmll
ciwgbV9yZXNwb25zZUJ1aWxkZXIudG9TdHJpbmdQcmVzZXJ2ZUNhcGFjaXR5KCksIG1fdXJsLCBt
X2xhc3RTZW5kVVJMLCBtX2xhc3RTZW5kTGluZU51bWJlciwgbV9sYXN0U2VuZENvbHVtbk51bWJl
cik7CiAKICAgICBib29sIGhhZExvYWRlciA9IG1fbG9hZGVyOwotICAgIG1fbG9hZGVyID0gMDsK
KyAgICBtX2xvYWRlciA9IG51bGxwdHI7CiAKICAgICBjaGFuZ2VTdGF0ZShET05FKTsKICAgICBt
X3Jlc3BvbnNlRW5jb2RpbmcgPSBTdHJpbmcoKTsKLSAgICBtX2RlY29kZXIgPSAwOworICAgIG1f
ZGVjb2RlciA9IG51bGxwdHI7CiAKICAgICBpZiAoaGFkTG9hZGVyKQogICAgICAgICBkcm9wUHJv
dGVjdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAKaW5kZXggMDg0ZWUyNzY2ZTQ0MDY1NTk3Mjgx
ZjM3MTIxY2E0MjQ0OGFjZDZmMC4uY2YxY2NiMzcwNDhlODhhNmUyMDdlNmZiMTM4ZmIzNGQ3YmU4
MzAxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudFRocm90dGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwCkBAIC0xMjEsNyArMTIxLDcgQEAgdm9pZCBYTUxI
dHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6Zmx1c2hQcm9ncmVzc0V2ZW50KCkKICAg
ICBpZiAobV9kZWZlckV2ZW50cyAmJiBtX2RlZmVycmVkUHJvZ3Jlc3NFdmVudCkgewogICAgICAg
ICAvLyBNb3ZlIHRoZSBwcm9ncmVzcyBldmVudCB0byB0aGUgcXVldWUsIHRvIGdldCBpdCBpbiB0
aGUgcmlnaHQgb3JkZXIgb24gcmVzdW1lLgogICAgICAgICBtX2RlZmVycmVkRXZlbnRzLmFwcGVu
ZChtX2RlZmVycmVkUHJvZ3Jlc3NFdmVudCk7Ci0gICAgICAgIG1fZGVmZXJyZWRQcm9ncmVzc0V2
ZW50ID0gMDsKKyAgICAgICAgbV9kZWZlcnJlZFByb2dyZXNzRXZlbnQgPSBudWxscHRyOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNM
SW1wb3J0UnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5jcHAKaW5k
ZXggYmZlYzVjODVjZWM0MzMyODZhMDBiNTZjOWRiZGY4YzYwMjBkNmY0Yi4uZTk5YzQyNGVmMzM1
YTZlNDhiNmUyYzg3NDNkOGY4ZGFiOTg3YzdkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
eG1sL1hTTEltcG9ydFJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJbXBvcnRS
dWxlLmNwcApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBYU0xJbXBvcnRS
dWxlOjpYU0xJbXBvcnRSdWxlKFhTTFN0eWxlU2hlZXQqIHBhcmVudCwgY29uc3QgU3RyaW5nJiBo
cmVmKQogICAgIDogbV9wYXJlbnRTdHlsZVNoZWV0KHBhcmVudCkKICAgICAsIG1fc3RySHJlZiho
cmVmKQotICAgICwgbV9jYWNoZWRTaGVldCgwKQorICAgICwgbV9jYWNoZWRTaGVldChudWxscHRy
KQogICAgICwgbV9sb2FkaW5nKGZhbHNlKQogewogfQpAQCAtNDIsNyArNDIsNyBAQCBYU0xJbXBv
cnRSdWxlOjpYU0xJbXBvcnRSdWxlKFhTTFN0eWxlU2hlZXQqIHBhcmVudCwgY29uc3QgU3RyaW5n
JiBocmVmKQogWFNMSW1wb3J0UnVsZTo6flhTTEltcG9ydFJ1bGUoKQogewogICAgIGlmIChtX3N0
eWxlU2hlZXQpCi0gICAgICAgIG1fc3R5bGVTaGVldC0+c2V0UGFyZW50U3R5bGVTaGVldCgwKTsK
KyAgICAgICAgbV9zdHlsZVNoZWV0LT5zZXRQYXJlbnRTdHlsZVNoZWV0KG51bGxwdHIpOwogICAg
IAogICAgIGlmIChtX2NhY2hlZFNoZWV0KQogICAgICAgICBtX2NhY2hlZFNoZWV0LT5yZW1vdmVD
bGllbnQodGhpcyk7CkBAIC01MSw3ICs1MSw3IEBAIFhTTEltcG9ydFJ1bGU6On5YU0xJbXBvcnRS
dWxlKCkKIHZvaWQgWFNMSW1wb3J0UnVsZTo6c2V0WFNMU3R5bGVTaGVldChjb25zdCBTdHJpbmcm
IGhyZWYsIGNvbnN0IFVSTCYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiBzaGVldCkKIHsKICAgICBp
ZiAobV9zdHlsZVNoZWV0KQotICAgICAgICBtX3N0eWxlU2hlZXQtPnNldFBhcmVudFN0eWxlU2hl
ZXQoMCk7CisgICAgICAgIG1fc3R5bGVTaGVldC0+c2V0UGFyZW50U3R5bGVTaGVldChudWxscHRy
KTsKIAogICAgIG1fc3R5bGVTaGVldCA9IFhTTFN0eWxlU2hlZXQ6OmNyZWF0ZSh0aGlzLCBocmVm
LCBiYXNlVVJMKTsKIApAQCAtNzMsNyArNzMsNyBAQCBib29sIFhTTEltcG9ydFJ1bGU6OmlzTG9h
ZGluZygpCiAKIHZvaWQgWFNMSW1wb3J0UnVsZTo6bG9hZFNoZWV0KCkKIHsKLSAgICBDYWNoZWRS
ZXNvdXJjZUxvYWRlciogY2FjaGVkUmVzb3VyY2VMb2FkZXIgPSAwOworICAgIENhY2hlZFJlc291
cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlciA9IG51bGxwdHI7CiAKICAgICBYU0xTdHls
ZVNoZWV0KiByb290U2hlZXQgPSBwYXJlbnRTdHlsZVNoZWV0KCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3htbC9YU0xTdHlsZVNoZWV0LmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNM
U3R5bGVTaGVldC5oCmluZGV4IDNhM2I5MThlOGIzMzJhZGY1Y2RkOGNkNTY3ODBmOGE5ZTE1YjZk
ZTAuLmE5YjgzOTE2ZTMwYWJhOTZkNjY0Yjc2ZWMwNTY5OGIzNWM1OGNmMjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3htbC9YU0xTdHlsZVNoZWV0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
eG1sL1hTTFN0eWxlU2hlZXQuaApAQCAtOTQsNyArOTQsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBTdHJpbmcgaHJlZigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fb3JpZ2luYWxVUkw7IH0K
ICAgICB2aXJ0dWFsIFN0cmluZyB0aXRsZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGVtcHR5
U3RyaW5nKCk7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBjbGVhck93bmVyTm9kZSgpIG92ZXJyaWRl
IHsgbV9vd25lck5vZGUgPSAwOyB9CisgICAgdmlydHVhbCB2b2lkIGNsZWFyT3duZXJOb2RlKCkg
b3ZlcnJpZGUgeyBtX293bmVyTm9kZSA9IG51bGxwdHI7IH0KICAgICB2aXJ0dWFsIFVSTCBiYXNl
VVJMKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9maW5hbFVSTDsgfQogICAgIHZpcnR1YWwg
Ym9vbCBpc0xvYWRpbmcoKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUveG1sL1hTTFN0eWxlU2hlZXRMaWJ4c2x0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9Y
U0xTdHlsZVNoZWV0TGlieHNsdC5jcHAKaW5kZXggMTcxYjhhNGE4ODlhZDZjNGVkZDU3MzJiMjky
MjI0MmYzZDM1NDA5Mi4uMzIxMGU4ZGNmNjIzYTdhOGQ5NDI5OWMyN2E5NDUyYjZhODk5ZmI2OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hTTFN0eWxlU2hlZXRMaWJ4c2x0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMU3R5bGVTaGVldExpYnhzbHQuY3BwCkBAIC01Miwx
NSArNTIsMTUgQEAgU09GVF9MSU5LKGxpYnhzbHQsIHhzbHRMb2FkU3R5bGVzaGVldFBJLCB4c2x0
U3R5bGVzaGVldFB0ciwgKHhtbERvY1B0ciBkb2MpLCAoZG8KIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogWFNMU3R5bGVTaGVldDo6WFNMU3R5bGVTaGVldChYU0xJbXBvcnRSdWxlKiBwYXJlbnRSdWxl
LCBjb25zdCBTdHJpbmcmIG9yaWdpbmFsVVJMLCBjb25zdCBVUkwmIGZpbmFsVVJMKQotICAgIDog
bV9vd25lck5vZGUoMCkKKyAgICA6IG1fb3duZXJOb2RlKG51bGxwdHIpCiAgICAgLCBtX29yaWdp
bmFsVVJMKG9yaWdpbmFsVVJMKQogICAgICwgbV9maW5hbFVSTChmaW5hbFVSTCkKICAgICAsIG1f
aXNEaXNhYmxlZChmYWxzZSkKICAgICAsIG1fZW1iZWRkZWQoZmFsc2UpCiAgICAgLCBtX3Byb2Nl
c3NlZChmYWxzZSkgLy8gQ2hpbGQgc2hlZXRzIGdldCBtYXJrZWQgYXMgcHJvY2Vzc2VkIHdoZW4g
dGhlIGxpYnhzbHQgZW5naW5lIGhhcyBmaW5hbGx5IHNlZW4gdGhlbS4KLSAgICAsIG1fc3R5bGVz
aGVldERvYygwKQorICAgICwgbV9zdHlsZXNoZWV0RG9jKG51bGxwdHIpCiAgICAgLCBtX3N0eWxl
c2hlZXREb2NUYWtlbihmYWxzZSkKLSAgICAsIG1fcGFyZW50U3R5bGVTaGVldChwYXJlbnRSdWxl
ID8gcGFyZW50UnVsZS0+cGFyZW50U3R5bGVTaGVldCgpIDogMCkKKyAgICAsIG1fcGFyZW50U3R5
bGVTaGVldChwYXJlbnRSdWxlID8gcGFyZW50UnVsZS0+cGFyZW50U3R5bGVTaGVldCgpIDogbnVs
bHB0cikKIHsKIH0KIApAQCAtNzEsOSArNzEsOSBAQCBYU0xTdHlsZVNoZWV0OjpYU0xTdHlsZVNo
ZWV0KE5vZGUqIHBhcmVudE5vZGUsIGNvbnN0IFN0cmluZyYgb3JpZ2luYWxVUkwsIGNvbnN0CiAg
ICAgLCBtX2lzRGlzYWJsZWQoZmFsc2UpCiAgICAgLCBtX2VtYmVkZGVkKGVtYmVkZGVkKQogICAg
ICwgbV9wcm9jZXNzZWQodHJ1ZSkgLy8gVGhlIHJvb3Qgc2hlZXQgc3RhcnRzIG9mZiBwcm9jZXNz
ZWQuCi0gICAgLCBtX3N0eWxlc2hlZXREb2MoMCkKKyAgICAsIG1fc3R5bGVzaGVldERvYyhudWxs
cHRyKQogICAgICwgbV9zdHlsZXNoZWV0RG9jVGFrZW4oZmFsc2UpCi0gICAgLCBtX3BhcmVudFN0
eWxlU2hlZXQoMCkKKyAgICAsIG1fcGFyZW50U3R5bGVTaGVldChudWxscHRyKQogewogfQogCkBA
IC04NCw3ICs4NCw3IEBAIFhTTFN0eWxlU2hlZXQ6On5YU0xTdHlsZVNoZWV0KCkKIAogICAgIGZv
ciAoYXV0byYgY2hpbGQgOiBtX2NoaWxkcmVuKSB7CiAgICAgICAgIEFTU0VSVChjaGlsZC0+cGFy
ZW50U3R5bGVTaGVldCgpID09IHRoaXMpOwotICAgICAgICBjaGlsZC0+c2V0UGFyZW50U3R5bGVT
aGVldCgwKTsKKyAgICAgICAgY2hpbGQtPnNldFBhcmVudFN0eWxlU2hlZXQobnVsbHB0cik7CiAg
ICAgfQogfQogCkBAIC0xMTYsNyArMTE2LDcgQEAgeG1sRG9jUHRyIFhTTFN0eWxlU2hlZXQ6OmRv
Y3VtZW50KCkKIAogdm9pZCBYU0xTdHlsZVNoZWV0OjpjbGVhckRvY3VtZW50cygpCiB7Ci0gICAg
bV9zdHlsZXNoZWV0RG9jID0gMDsKKyAgICBtX3N0eWxlc2hlZXREb2MgPSBudWxscHRyOwogICAg
IGZvciAoYXV0byYgaW1wb3J0IDogbV9jaGlsZHJlbikgewogICAgICAgICBpZiAoaW1wb3J0LT5z
dHlsZVNoZWV0KCkpCiAgICAgICAgICAgICBpbXBvcnQtPnN0eWxlU2hlZXQoKS0+Y2xlYXJEb2N1
bWVudHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yTGli
eHNsdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwCmlu
ZGV4IGRjYzE5ODg2NDUyZTgyM2QwNTE0ZjgxN2RjOGI1ZDMzMzZjYWQyNmMuLjhhMTg0YzMwNWI3
OWRlOWUyZGUyYjY5NTkwNTI0NjMzMTUxMDk4YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3htbC9YU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hT
TFRQcm9jZXNzb3JMaWJ4c2x0LmNwcApAQCAtMTA0LDggKzEwNCw4IEBAIHZvaWQgWFNMVFByb2Nl
c3Nvcjo6cGFyc2VFcnJvckZ1bmModm9pZCogdXNlckRhdGEsIHhtbEVycm9yKiBlcnJvcikKIH0K
IAogLy8gRklYTUU6IFRoZXJlIHNlZW1zIHRvIGJlIG5vIHdheSB0byBjb250cm9sIHRoZSBjdHh0
IHBvaW50ZXIgZm9yIGxvYWRpbmcgaGVyZSwgdGh1cyB3ZSBoYXZlIGdsb2JhbHMuCi1zdGF0aWMg
WFNMVFByb2Nlc3NvciogZ2xvYmFsUHJvY2Vzc29yID0gMDsKLXN0YXRpYyBDYWNoZWRSZXNvdXJj
ZUxvYWRlciogZ2xvYmFsQ2FjaGVkUmVzb3VyY2VMb2FkZXIgPSAwOworc3RhdGljIFhTTFRQcm9j
ZXNzb3IqIGdsb2JhbFByb2Nlc3NvciA9IG51bGxwdHI7CitzdGF0aWMgQ2FjaGVkUmVzb3VyY2VM
b2FkZXIqIGdsb2JhbENhY2hlZFJlc291cmNlTG9hZGVyID0gbnVsbHB0cjsKIHN0YXRpYyB4bWxE
b2NQdHIgZG9jTG9hZGVyRnVuYyhjb25zdCB4bWxDaGFyKiB1cmksCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgeG1sRGljdFB0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgb3B0aW9ucywKQEAgLTE5Nyw3ICsxOTcsNyBAQCBzdGF0aWMgaW50IHdyaXRlVG9TdHJp
bmdCdWlsZGVyKHZvaWQqIGNvbnRleHQsIGNvbnN0IGNoYXIqIGJ1ZmZlciwgaW50IGxlbikKIAog
c3RhdGljIGJvb2wgc2F2ZVJlc3VsdFRvU3RyaW5nKHhtbERvY1B0ciByZXN1bHREb2MsIHhzbHRT
dHlsZXNoZWV0UHRyIHNoZWV0LCBTdHJpbmcmIHJlc3VsdFN0cmluZykKIHsKLSAgICB4bWxPdXRw
dXRCdWZmZXJQdHIgb3V0cHV0QnVmID0geG1sQWxsb2NPdXRwdXRCdWZmZXIoMCk7CisgICAgeG1s
T3V0cHV0QnVmZmVyUHRyIG91dHB1dEJ1ZiA9IHhtbEFsbG9jT3V0cHV0QnVmZmVyKG51bGxwdHIp
OwogICAgIGlmICghb3V0cHV0QnVmKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTIzMSw3
ICsyMzEsNyBAQCBzdGF0aWMgY29uc3QgY2hhcioqIHhzbHRQYXJhbUFycmF5RnJvbVBhcmFtZXRl
ck1hcChYU0xUUHJvY2Vzc29yOjpQYXJhbWV0ZXJNYXAmCiAgICAgICAgIHBhcmFtZXRlckFycmF5
W2luZGV4KytdID0gZmFzdFN0ckR1cChwYXJhbWV0ZXIua2V5LnV0ZjgoKS5kYXRhKCkpOwogICAg
ICAgICBwYXJhbWV0ZXJBcnJheVtpbmRleCsrXSA9IGZhc3RTdHJEdXAocGFyYW1ldGVyLnZhbHVl
LnV0ZjgoKS5kYXRhKCkpOwogICAgIH0KLSAgICBwYXJhbWV0ZXJBcnJheVtpbmRleF0gPSAwOwor
ICAgIHBhcmFtZXRlckFycmF5W2luZGV4XSA9IG51bGxwdHI7CiAKICAgICByZXR1cm4gcGFyYW1l
dGVyQXJyYXk7CiB9CkBAIC0yNzIsNyArMjcyLDcgQEAgc3RhdGljIGlubGluZSB4bWxEb2NQdHIg
eG1sRG9jUHRyRnJvbU5vZGUoTm9kZSYgc291cmNlTm9kZSwgYm9vbCYgc2hvdWxkRGVsZXRlKQog
ICAgIFJlZjxEb2N1bWVudD4gb3duZXJEb2N1bWVudChzb3VyY2VOb2RlLmRvY3VtZW50KCkpOwog
ICAgIGJvb2wgc291cmNlSXNEb2N1bWVudCA9ICgmc291cmNlTm9kZSA9PSAmb3duZXJEb2N1bWVu
dC5nZXQoKSk7CiAKLSAgICB4bWxEb2NQdHIgc291cmNlRG9jID0gMDsKKyAgICB4bWxEb2NQdHIg
c291cmNlRG9jID0gbnVsbHB0cjsKICAgICBpZiAoc291cmNlSXNEb2N1bWVudCAmJiBvd25lckRv
Y3VtZW50LT50cmFuc2Zvcm1Tb3VyY2UoKSkKICAgICAgICAgc291cmNlRG9jID0gKHhtbERvY1B0
cilvd25lckRvY3VtZW50LT50cmFuc2Zvcm1Tb3VyY2UoKS0+cGxhdGZvcm1Tb3VyY2UoKTsKICAg
ICBpZiAoIXNvdXJjZURvYykgewpAQCAtMzY5LDcgKzM2OSw3IEBAIGJvb2wgWFNMVFByb2Nlc3Nv
cjo6dHJhbnNmb3JtVG9TdHJpbmcoTm9kZSYgc291cmNlTm9kZSwgU3RyaW5nJiBtaW1lVHlwZSwg
U3RyaW5nCiAgICAgc2hlZXQtPm1ldGhvZCA9IG9yaWdNZXRob2Q7CiAgICAgc2V0WFNMVExvYWRD
YWxsQmFjaygwLCAwLCAwKTsKICAgICB4c2x0RnJlZVN0eWxlc2hlZXQoc2hlZXQpOwotICAgIG1f
c3R5bGVzaGVldCA9IDA7CisgICAgbV9zdHlsZXNoZWV0ID0gbnVsbHB0cjsKIAogICAgIHJldHVy
biBzdWNjZXNzOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxE
b2N1bWVudFBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50
UGFyc2VyLmNwcAppbmRleCBlYmU5NDBiYzZmYjQ3OWIyMjM5MDliMTc2OWU4ZTEwZGQwZjY3NWIy
Li5iNWQ5MGYwZWM5MTJiNjBiNWRjMzA2ZmM2MjFlMTcyMTM5NjA2Nzc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyLmNwcApAQCAtODgsOCArODgs
OCBAQCB2b2lkIFhNTERvY3VtZW50UGFyc2VyOjpjbGVhckN1cnJlbnROb2RlU3RhY2soKQogewog
ICAgIGlmIChtX2N1cnJlbnROb2RlICYmIG1fY3VycmVudE5vZGUgIT0gZG9jdW1lbnQoKSkKICAg
ICAgICAgbV9jdXJyZW50Tm9kZS0+ZGVyZWYoKTsKLSAgICBtX2N1cnJlbnROb2RlID0gMDsKLSAg
ICBtX2xlYWZUZXh0Tm9kZSA9IDA7CisgICAgbV9jdXJyZW50Tm9kZSA9IG51bGxwdHI7CisgICAg
bV9sZWFmVGV4dE5vZGUgPSBudWxscHRyOwogCiAgICAgaWYgKG1fY3VycmVudE5vZGVTdGFjay5z
aXplKCkpIHsgLy8gQWJvcnRlZCBwYXJzaW5nLgogICAgICAgICBmb3IgKHNpemVfdCBpID0gbV9j
dXJyZW50Tm9kZVN0YWNrLnNpemUoKSAtIDE7IGkgIT0gMDsgLS1pKQpAQCAtMTYyLDcgKzE2Miw3
IEBAIHZvaWQgWE1MRG9jdW1lbnRQYXJzZXI6OmV4aXRUZXh0KCkKICAgICBWZWN0b3I8eG1sQ2hh
cj4gZW1wdHk7CiAgICAgbV9idWZmZXJlZFRleHQuc3dhcChlbXB0eSk7CiAKLSAgICBtX2xlYWZU
ZXh0Tm9kZSA9IDA7CisgICAgbV9sZWFmVGV4dE5vZGUgPSBudWxscHRyOwogfQogCiB2b2lkIFhN
TERvY3VtZW50UGFyc2VyOjpkZXRhY2goKQpAQCAtMjMwLDEwICsyMzAsMTAgQEAgdm9pZCBYTUxE
b2N1bWVudFBhcnNlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHVudXNlZFJlc291
cmNlKQogICAgIGJvb2wgd2FzQ2FuY2VsZWQgPSBtX3BlbmRpbmdTY3JpcHQtPndhc0NhbmNlbGVk
KCk7CiAKICAgICBtX3BlbmRpbmdTY3JpcHQtPnJlbW92ZUNsaWVudCh0aGlzKTsKLSAgICBtX3Bl
bmRpbmdTY3JpcHQgPSAwOworICAgIG1fcGVuZGluZ1NjcmlwdCA9IG51bGxwdHI7CiAKICAgICBS
ZWZQdHI8RWxlbWVudD4gZSA9IG1fc2NyaXB0RWxlbWVudDsKLSAgICBtX3NjcmlwdEVsZW1lbnQg
PSAwOworICAgIG1fc2NyaXB0RWxlbWVudCA9IG51bGxwdHI7CiAKICAgICBTY3JpcHRFbGVtZW50
KiBzY3JpcHRFbGVtZW50ID0gdG9TY3JpcHRFbGVtZW50SWZQb3NzaWJsZShlLmdldCgpKTsKICAg
ICBBU1NFUlQoc2NyaXB0RWxlbWVudCk7CkBAIC0yNDgsNyArMjQ4LDcgQEAgdm9pZCBYTUxEb2N1
bWVudFBhcnNlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHVudXNlZFJlc291cmNl
KQogICAgICAgICBzY3JpcHRFbGVtZW50LT5kaXNwYXRjaExvYWRFdmVudCgpOwogICAgIH0KIAot
ICAgIG1fc2NyaXB0RWxlbWVudCA9IDA7CisgICAgbV9zY3JpcHRFbGVtZW50ID0gbnVsbHB0cjsK
IAogICAgIGlmICghaXNEZXRhY2hlZCgpICYmICFtX3JlcXVlc3RpbmdTY3JpcHQpCiAgICAgICAg
IHJlc3VtZVBhcnNpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIv
WE1MRG9jdW1lbnRQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9jdW1l
bnRQYXJzZXIuaAppbmRleCBiNTlhZDJhYjVkNThmM2FmYTFlMjQ5ZDQ0ZDM3Yjc5YmZiMTM0ZjY5
Li42ZmRjZTZkZDdhMGZlYjM2OTgyYzk3OGQ2MTRhN2QxNDgxNTZkN2UyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlci5oCkBAIC04NSw3ICs4NSw3IEBA
IGNsYXNzIFRleHQ7CiAgICAgICAgIHZvaWQgc2V0SXNYSFRNTERvY3VtZW50KGJvb2wgaXNYSFRN
TCkgeyBtX2lzWEhUTUxEb2N1bWVudCA9IGlzWEhUTUw7IH0KICAgICAgICAgYm9vbCBpc1hIVE1M
RG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2lzWEhUTUxEb2N1bWVudDsgfQogCi0gICAgICAg
IHN0YXRpYyBib29sIHBhcnNlRG9jdW1lbnRGcmFnbWVudChjb25zdCBTdHJpbmcmLCBEb2N1bWVu
dEZyYWdtZW50JiwgRWxlbWVudCogcGFyZW50ID0gMCwgUGFyc2VyQ29udGVudFBvbGljeSA9IEFs
bG93U2NyaXB0aW5nQ29udGVudCk7CisgICAgICAgIHN0YXRpYyBib29sIHBhcnNlRG9jdW1lbnRG
cmFnbWVudChjb25zdCBTdHJpbmcmLCBEb2N1bWVudEZyYWdtZW50JiwgRWxlbWVudCogcGFyZW50
ID0gbnVsbHB0ciwgUGFyc2VyQ29udGVudFBvbGljeSA9IEFsbG93U2NyaXB0aW5nQ29udGVudCk7
CiAKICAgICAgICAgLy8gVXNlZCBieSB0aGUgWE1MSHR0cFJlcXVlc3QgdG8gY2hlY2sgaWYgdGhl
IHJlc3BvbnNlWE1MIHdhcyB3ZWxsIGZvcm1lZC4KICAgICAgICAgdmlydHVhbCBib29sIHdlbGxG
b3JtZWQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAhbV9zYXdFcnJvcjsgfQpAQCAtOTMsNyAr
OTMsNyBAQCBjbGFzcyBUZXh0OwogICAgICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c1hNTFZlcnNp
b24oY29uc3QgU3RyaW5nJik7CiAKICAgICBwcml2YXRlOgotICAgICAgICBYTUxEb2N1bWVudFBh
cnNlcihEb2N1bWVudCYsIEZyYW1lVmlldyogPSAwKTsKKyAgICAgICAgWE1MRG9jdW1lbnRQYXJz
ZXIoRG9jdW1lbnQmLCBGcmFtZVZpZXcqID0gbnVsbHB0cik7CiAgICAgICAgIFhNTERvY3VtZW50
UGFyc2VyKERvY3VtZW50RnJhZ21lbnQmLCBFbGVtZW50KiwgUGFyc2VyQ29udGVudFBvbGljeSk7
CiAKICAgICAgICAgLy8gRnJvbSBEb2N1bWVudFBhcnNlcgpAQCAtMTU2LDcgKzE1Niw3IEBAIGNs
YXNzIFRleHQ7CiAKICAgICAgICAgU2VnbWVudGVkU3RyaW5nIG1fb3JpZ2luYWxTb3VyY2VGb3JU
cmFuc2Zvcm07CiAKLSAgICAgICAgeG1sUGFyc2VyQ3R4dFB0ciBjb250ZXh0KCkgY29uc3QgeyBy
ZXR1cm4gbV9jb250ZXh0ID8gbV9jb250ZXh0LT5jb250ZXh0KCkgOiAwOyB9OworICAgICAgICB4
bWxQYXJzZXJDdHh0UHRyIGNvbnRleHQoKSBjb25zdCB7IHJldHVybiBtX2NvbnRleHQgPyBtX2Nv
bnRleHQtPmNvbnRleHQoKSA6IG51bGxwdHI7IH07CiAgICAgICAgIFJlZlB0cjxYTUxQYXJzZXJD
b250ZXh0PiBtX2NvbnRleHQ7CiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxQZW5kaW5nQ2FsbGJh
Y2tzPiBtX3BlbmRpbmdDYWxsYmFja3M7CiAgICAgICAgIFZlY3Rvcjx4bWxDaGFyPiBtX2J1ZmZl
cmVkVGV4dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9jdW1l
bnRQYXJzZXJMaWJ4bWwyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9jdW1l
bnRQYXJzZXJMaWJ4bWwyLmNwcAppbmRleCBlMDRkODI1NDU4ZDlmNTc2NmM2MDJlMDZjMGE2MDQ0
MTAyZDFiODk5Li40MWFkYzI1YjNiMzM0MzQzZTQzMGY5ZTg0MjNkZWUxNGY4NzhjZmI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyTGlieG1s
Mi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlckxp
YnhtbDIuY3BwCkBAIC00NTksNyArNDU5LDcgQEAgc3RhdGljIHZvaWQqIG9wZW5GdW5jKGNvbnN0
IGNoYXIqIHVyaSkKIAogICAgIHsKICAgICAgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hl
ZFJlc291cmNlTG9hZGVyID0gWE1MRG9jdW1lbnRQYXJzZXJTY29wZTo6Y3VycmVudENhY2hlZFJl
c291cmNlTG9hZGVyOwotICAgICAgICBYTUxEb2N1bWVudFBhcnNlclNjb3BlIHNjb3BlKDApOwor
ICAgICAgICBYTUxEb2N1bWVudFBhcnNlclNjb3BlIHNjb3BlKG51bGxwdHIpOwogICAgICAgICAv
LyBGSVhNRTogV2Ugc2hvdWxkIHJlc3RvcmUgdGhlIG9yaWdpbmFsIGdsb2JhbCBlcnJvciBoYW5k
bGVyIGFzIHdlbGwuCiAKICAgICAgICAgaWYgKGNhY2hlZFJlc291cmNlTG9hZGVyLT5mcmFtZSgp
KQpAQCAtNTc3LDcgKzU3Nyw3IEBAIGJvb2wgWE1MRG9jdW1lbnRQYXJzZXI6OnN1cHBvcnRzWE1M
VmVyc2lvbihjb25zdCBTdHJpbmcmIHZlcnNpb24pCiBYTUxEb2N1bWVudFBhcnNlcjo6WE1MRG9j
dW1lbnRQYXJzZXIoRG9jdW1lbnQmIGRvY3VtZW50LCBGcmFtZVZpZXcqIGZyYW1lVmlldykKICAg
ICA6IFNjcmlwdGFibGVEb2N1bWVudFBhcnNlcihkb2N1bWVudCkKICAgICAsIG1fdmlldyhmcmFt
ZVZpZXcpCi0gICAgLCBtX2NvbnRleHQoMCkKKyAgICAsIG1fY29udGV4dChudWxscHRyKQogICAg
ICwgbV9wZW5kaW5nQ2FsbGJhY2tzKHN0ZDo6bWFrZV91bmlxdWU8UGVuZGluZ0NhbGxiYWNrcz4o
KSkKICAgICAsIG1fZGVwdGhUcmlnZ2VyaW5nRW50aXR5RXhwYW5zaW9uKC0xKQogICAgICwgbV9p
c1BhcnNpbmdFbnRpdHlEZWNsYXJhdGlvbihmYWxzZSkKQEAgLTU5MCw3ICs1OTAsNyBAQCBYTUxE
b2N1bWVudFBhcnNlcjo6WE1MRG9jdW1lbnRQYXJzZXIoRG9jdW1lbnQmIGRvY3VtZW50LCBGcmFt
ZVZpZXcqIGZyYW1lVmlldykKICAgICAsIG1fcGFyc2VyUGF1c2VkKGZhbHNlKQogICAgICwgbV9y
ZXF1ZXN0aW5nU2NyaXB0KGZhbHNlKQogICAgICwgbV9maW5pc2hDYWxsZWQoZmFsc2UpCi0gICAg
LCBtX3BlbmRpbmdTY3JpcHQoMCkKKyAgICAsIG1fcGVuZGluZ1NjcmlwdChudWxscHRyKQogICAg
ICwgbV9zY3JpcHRTdGFydFBvc2l0aW9uKFRleHRQb3NpdGlvbjo6YmVsb3dSYW5nZVBvc2l0aW9u
KCkpCiAgICAgLCBtX3BhcnNpbmdGcmFnbWVudChmYWxzZSkKIHsKQEAgLTU5OCw4ICs1OTgsOCBA
QCBYTUxEb2N1bWVudFBhcnNlcjo6WE1MRG9jdW1lbnRQYXJzZXIoRG9jdW1lbnQmIGRvY3VtZW50
LCBGcmFtZVZpZXcqIGZyYW1lVmlldykKIAogWE1MRG9jdW1lbnRQYXJzZXI6OlhNTERvY3VtZW50
UGFyc2VyKERvY3VtZW50RnJhZ21lbnQmIGZyYWdtZW50LCBFbGVtZW50KiBwYXJlbnRFbGVtZW50
LCBQYXJzZXJDb250ZW50UG9saWN5IHBhcnNlckNvbnRlbnRQb2xpY3kpCiAgICAgOiBTY3JpcHRh
YmxlRG9jdW1lbnRQYXJzZXIoZnJhZ21lbnQuZG9jdW1lbnQoKSwgcGFyc2VyQ29udGVudFBvbGlj
eSkKLSAgICAsIG1fdmlldygwKQotICAgICwgbV9jb250ZXh0KDApCisgICAgLCBtX3ZpZXcobnVs
bHB0cikKKyAgICAsIG1fY29udGV4dChudWxscHRyKQogICAgICwgbV9wZW5kaW5nQ2FsbGJhY2tz
KHN0ZDo6bWFrZV91bmlxdWU8UGVuZGluZ0NhbGxiYWNrcz4oKSkKICAgICAsIG1fZGVwdGhUcmln
Z2VyaW5nRW50aXR5RXhwYW5zaW9uKC0xKQogICAgICwgbV9pc1BhcnNpbmdFbnRpdHlEZWNsYXJh
dGlvbihmYWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9j
dW1lbnRQYXJzZXJTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3Vt
ZW50UGFyc2VyU2NvcGUuY3BwCmluZGV4IDBhNDczZWQyMzA4MmYzN2QzOTNhOGQxMWYxYWRhMTVl
Y2MzYzM3MjYuLmMwZjM1OTBiZjI0MTQ4MTM5YWUzMTFkNDViZWM0Njg2NWE1ZjNhZjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXJTY29wZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlclNjb3Bl
LmNwcApAQCAtMjgsNyArMjgsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUNhY2hlZFJl
c291cmNlTG9hZGVyKiBYTUxEb2N1bWVudFBhcnNlclNjb3BlOjpjdXJyZW50Q2FjaGVkUmVzb3Vy
Y2VMb2FkZXIgPSAwOworQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIFhNTERvY3VtZW50UGFyc2VyU2Nv
cGU6OmN1cnJlbnRDYWNoZWRSZXNvdXJjZUxvYWRlciA9IG51bGxwdHI7CiAKIFhNTERvY3VtZW50
UGFyc2VyU2NvcGU6OlhNTERvY3VtZW50UGFyc2VyU2NvcGUoQ2FjaGVkUmVzb3VyY2VMb2FkZXIq
IGNhY2hlZFJlc291cmNlTG9hZGVyKQogICAgIDogbV9vbGRDYWNoZWRSZXNvdXJjZUxvYWRlcihj
dXJyZW50Q2FjaGVkUmVzb3VyY2VMb2FkZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94
bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9w
YXJzZXIvWE1MRG9jdW1lbnRQYXJzZXJTY29wZS5oCmluZGV4IDE4NjUzYzYyNDk0YzYyMWY4NDU4
YmYyYzVkMTQzMmFlMTJlZjVlMDUuLjgyZWFiYmZiYmI3MTU2MTExOGMxZTg5N2RhMjI1YTlhZWZj
OTFjNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQ
YXJzZXJTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQ
YXJzZXJTY29wZS5oCkBAIC00NSw3ICs0NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgc3RhdGljIENhY2hlZFJlc291cmNlTG9hZGVyKiBjdXJyZW50Q2FjaGVkUmVzb3VyY2VMb2Fk
ZXI7CiAKICNpZiBFTkFCTEUoWFNMVCkKLSAgICAgICAgWE1MRG9jdW1lbnRQYXJzZXJTY29wZShD
YWNoZWRSZXNvdXJjZUxvYWRlciogY2FjaGVkUmVzb3VyY2VMb2FkZXIsIHhtbEdlbmVyaWNFcnJv
ckZ1bmMgZ2VuZXJpY0Vycm9yRnVuYywgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBzdHJ1Y3R1cmVk
RXJyb3JGdW5jID0gMCwgdm9pZCogZXJyb3JDb250ZXh0ID0gMCk7CisgICAgICAgIFhNTERvY3Vt
ZW50UGFyc2VyU2NvcGUoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqLCB4bWxHZW5lcmljRXJyb3JGdW5j
LCB4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIHN0cnVjdHVyZWRFcnJvckZ1bmMgPSAwLCB2b2lkKiBl
cnJvckNvbnRleHQgPSBudWxscHRyKTsKICNlbmRpZgogCiAgICAgcHJpdmF0ZToK
</data>

          </attachment>
      

    </bug>

</bugzilla>