<?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>203177</bug_id>
          
          <creation_ts>2019-10-18 17:35:17 -0700</creation_ts>
          <short_desc>[JSC] DFG::CommonData modification by DFG reallyAdd should be guarded by CodeBlock&apos;s lock</short_desc>
          <delta_ts>2019-10-18 23:31:34 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1581638</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-10-18 17:35:17 -0700</bug_when>
    <thetext>[JSC] DFG::CommonData modification by DFG reallyAdd should be guarded by CodeBlock&apos;s lock</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581639</commentid>
    <comment_count>1</comment_count>
      <attachid>381354</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-10-18 17:37:42 -0700</bug_when>
    <thetext>Created attachment 381354
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581641</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-10-18 17:39:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/56404068&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581642</commentid>
    <comment_count>3</comment_count>
      <attachid>381356</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-10-18 17:41:35 -0700</bug_when>
    <thetext>Created attachment 381356
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581672</commentid>
    <comment_count>4</comment_count>
      <attachid>381356</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-10-18 21:10:28 -0700</bug_when>
    <thetext>Comment on attachment 381356
Patch

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

r=me.

&gt; Source/JavaScriptCore/dfg/DFGDesiredGlobalProperties.cpp:69
&gt; +        watchpointSet.add(watchpoint);

Why not WTFMove(watchpoint) here too?

&gt; JSTests/stress/dfg-really-add-locking.js:1
&gt; +//@ runDefault(&quot;--collectContinuously=1&quot;, &quot;--useGenerationalGC=0&quot;)

How long does this test take to run?  if it&apos;s a slow test, then consider adding &quot;//@ slow!&quot; here too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581679</commentid>
    <comment_count>5</comment_count>
      <attachid>381356</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-10-18 23:30:23 -0700</bug_when>
    <thetext>Comment on attachment 381356
Patch

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

&gt;&gt; Source/JavaScriptCore/dfg/DFGDesiredGlobalProperties.cpp:69
&gt;&gt; +        watchpointSet.add(watchpoint);
&gt; 
&gt; Why not WTFMove(watchpoint) here too?

Fixed.

&gt;&gt; JSTests/stress/dfg-really-add-locking.js:1
&gt;&gt; +//@ runDefault(&quot;--collectContinuously=1&quot;, &quot;--useGenerationalGC=0&quot;)
&gt; 
&gt; How long does this test take to run?  if it&apos;s a slow test, then consider adding &quot;//@ slow!&quot; here too.

It takes not so much time, but to make more reliable, I need to add more iterations.
I&apos;ll add `for (var i = 0; i &lt; 10; ++i)` while adding `slow!`. But even though, reliable reproduce is requiring much more repeated test runs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581680</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-10-18 23:31:34 -0700</bug_when>
    <thetext>Committed r251321: &lt;https://trac.webkit.org/changeset/251321&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381354</attachid>
            <date>2019-10-18 17:37:42 -0700</date>
            <delta_ts>2019-10-18 17:41:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203177-20191018173741.patch</filename>
            <type>text/plain</type>
            <size>11854</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMzA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
YTg5OWI2YmU0MDMzOWVmZDg3NjVkNmYxMmYxYTJjYzJmMTRjYWJhLi5kNDJkNDM3NGU3MmZiMTAw
Y2QyZmYxNzg2NzgwZmM0ZWRjYmY0Zjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMiBAQAorMjAxOS0xMC0xOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIERGRzo6Q29tbW9uRGF0YSBtb2RpZmljYXRpb24gYnkgREZHIHJl
YWxseUFkZCBzaG91bGQgYmUgZ3VhcmRlZCBieSBDb2RlQmxvY2sncyBsb2NrCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMxNzcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIGRvaW5nIERGRyByZWFs
bHlBZGQsIERGRzo6SklUQ29kZSBpcyBhbHJlYWR5IHNldCBpbiBDb2RlQmxvY2sgYW5kIERGRzo6
Q29tbW9uRGF0YSBjYW4gYmUKKyAgICAgICAgcmVhY2hhYmxlIGZyb20gQ29kZUJsb2NrLiBTbyBj
b25jdXJyZW50IGNvbGxlY3RvciBjYW4gdHJhY2UgZW50cmllcyBvZiBERkc6OkNvbW1vbkRhdGEg
d2hpbGUgREZHIHJlYWxseUFkZAorICAgICAgICBpcyBtb2RpZnlpbmcgaXQuIEl0IHdvdWxkIGJl
IHBvc3NpYmxlIHRoYXQgd2UgaW5zdGFsbCBERkc6OkpJVENvZGUgYWZ0ZXIgcGVyZm9ybWluZyBE
RkcgcmVhbGx5QWRkLCBidXQgZm9yIG5vdywKKyAgICAgICAgd2UganVzdCBwcm90ZWN0IERGRyBy
ZWFsbHlBZGQncyBERkc6OkNvbW1vbkRhdGEgbW9kaWZpY2F0aW9uIGJ5IENvZGVCbG9jaydzIGxv
Y2sgc28gdGhhdCBjb25jdXJyZW50IGNvbGxlY3RvcgorICAgICAgICBkb2VzIG5vdCB0cmFjZSB0
aGVtIGluIGEgcmFjeSBtYW5uZXIuCisKKyAgICAgICAgKiBkZmcvREZHRGVzaXJlZEdsb2JhbFBy
b3BlcnRpZXMuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkRlc2lyZWRHbG9iYWxQcm9wZXJ0aWVz
OjpyZWFsbHlBZGQpOgorICAgICAgICAqIGRmZy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OkRlc2lyZWRJZGVudGlmaWVyczo6cmVhbGx5QWRkKToKKyAgICAg
ICAgKiBkZmcvREZHRGVzaXJlZFRyYW5zaXRpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpE
ZXNpcmVkVHJhbnNpdGlvbjo6cmVhbGx5QWRkKToKKyAgICAgICAgKiBkZmcvREZHRGVzaXJlZFdh
dGNocG9pbnRzLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpBcnJheUJ1ZmZlclZpZXdXYXRjaHBv
aW50QWRhcHRvcjo6YWRkKToKKyAgICAgICAgKEpTQzo6REZHOjpTeW1ib2xUYWJsZUFkYXB0b3I6
OmFkZCk6CisgICAgICAgIChKU0M6OkRGRzo6RnVuY3Rpb25FeGVjdXRhYmxlQWRhcHRvcjo6YWRk
KToKKyAgICAgICAgKEpTQzo6REZHOjpBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnRBZGFwdG9y
OjphZGQpOgorICAgICAgICAqIGRmZy9ERkdEZXNpcmVkV2F0Y2hwb2ludHMuaDoKKyAgICAgICAg
KEpTQzo6REZHOjpTZXRQb2ludGVyQWRhcHRvcjo6YWRkKToKKyAgICAgICAgKiBkZmcvREZHRGVz
aXJlZFdlYWtSZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpEZXNpcmVkV2Vha1Jl
ZmVyZW5jZXM6OnJlYWxseUFkZCk6CisKIDIwMTktMTAtMTggIFl1c3VrZSBTdXp1a2kgIDx5c3V6
dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBNYWtlIENvbmN1cnJlbnRKU0xvY2sgTG9j
ayBldmVuIGlmIEVOQUJMRV9DT05DVVJSRU5UX0pTPU9GRgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkR2xvYmFsUHJvcGVydGllcy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRHbG9iYWxQcm9wZXJ0aWVzLmNwcAppbmRleCBi
YTY4NDFkZGM0MmY5MzQ0MjMwMmUxNWU0NDQwMTFhMjAzMWU1ZTZkLi45YmFiZjhkNWE0ZGRjN2Uy
ZGZkOGM5M2RkYjljNDQ0ZTJlM2UxNjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Rlc2lyZWRHbG9iYWxQcm9wZXJ0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRHbG9iYWxQcm9wZXJ0aWVzLmNwcApAQCAtNjEsNyArNjEs
MTIgQEAgdm9pZCBEZXNpcmVkR2xvYmFsUHJvcGVydGllczo6cmVhbGx5QWRkKENvZGVCbG9jayog
Y29kZUJsb2NrLCBEZXNpcmVkSWRlbnRpZmllcnMKICAgICAgICAgYXV0byogdWlkID0gaWRlbnRp
ZmllcnMuYXQocHJvcGVydHkuaWRlbnRpZmllck51bWJlcigpKTsKICAgICAgICAgYXV0byYgd2F0
Y2hwb2ludFNldCA9IHByb3BlcnR5Lmdsb2JhbE9iamVjdCgpLT5lbnN1cmVSZWZlcmVuY2VkUHJv
cGVydHlXYXRjaHBvaW50U2V0KHVpZCk7CiAgICAgICAgIEFTU0VSVCh3YXRjaHBvaW50U2V0Lmlz
U3RpbGxWYWxpZCgpKTsKLSAgICAgICAgd2F0Y2hwb2ludFNldC5hZGQoY29tbW9uLndhdGNocG9p
bnRzLmFkZChjb2RlQmxvY2spKTsKKyAgICAgICAgQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRjaHBv
aW50KiB3YXRjaHBvaW50ID0gbnVsbHB0cjsKKyAgICAgICAgeworICAgICAgICAgICAgQ29uY3Vy
cmVudEpTTG9ja2VyIGxvY2tlcihjb2RlQmxvY2stPm1fbG9jayk7CisgICAgICAgICAgICB3YXRj
aHBvaW50ID0gY29tbW9uLndhdGNocG9pbnRzLmFkZChjb2RlQmxvY2spOworICAgICAgICB9Cisg
ICAgICAgIHdhdGNocG9pbnRTZXQuYWRkKHdhdGNocG9pbnQpOwogICAgIH0KIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuY3BwCmlu
ZGV4IDc3YzBlYjBmMjYzMjQ3ODJiNjBlOTJiMDA3OTc3ODRiZDQxYzgxY2YuLmJlMzU2NDc4OGRi
ODFiZTBkOTBhMjk0OGI3Y2QwOTNmNzgwM2Y1MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHRGVzaXJlZElkZW50aWZpZXJzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRJZGVudGlmaWVycy5jcHAKQEAgLTg5LDcgKzg5LDExIEBA
IHZvaWQgRGVzaXJlZElkZW50aWZpZXJzOjpyZWFsbHlBZGQoVk0mIHZtLCBDb21tb25EYXRhKiBj
b21tb25EYXRhKQogewogICAgIGZvciAoYXV0byByZXAgOiBtX2FkZGVkSWRlbnRpZmllcnMpIHsK
ICAgICAgICAgQVNTRVJUKHJlcC0+aGFzQXRMZWFzdE9uZVJlZigpKTsKLSAgICAgICAgY29tbW9u
RGF0YS0+ZGZnSWRlbnRpZmllcnMuYXBwZW5kKElkZW50aWZpZXI6OmZyb21VaWQodm0sIHJlcCkp
OworICAgICAgICBJZGVudGlmaWVyIHVpZCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHJlcCk7
CisgICAgICAgIHsKKyAgICAgICAgICAgIENvbmN1cnJlbnRKU0xvY2tlciBsb2NrZXIobV9jb2Rl
QmxvY2stPm1fbG9jayk7CisgICAgICAgICAgICBjb21tb25EYXRhLT5kZmdJZGVudGlmaWVycy5h
cHBlbmQoV1RGTW92ZSh1aWQpKTsKKyAgICAgICAgfQogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkVHJhbnNpdGlvbnMuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkVHJhbnNpdGlvbnMuY3BwCmluZGV4IDRi
ODJiMDMxZDg5ZWMwZjExNDEwNGE0NWFiYjI4ODczMDY3N2VhMjAuLjA5MTBiYThlMjllYmMyY2Mz
Y2QyZjAzMGYxNmFhZDlmYjMwOTRjNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRGVzaXJlZFRyYW5zaXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Rlc2lyZWRUcmFuc2l0aW9ucy5jcHAKQEAgLTQ0LDYgKzQ0LDcgQEAgRGVzaXJl
ZFRyYW5zaXRpb246OkRlc2lyZWRUcmFuc2l0aW9uKENvZGVCbG9jayogY29kZUJsb2NrLCBDb2Rl
QmxvY2sqIGNvZGVPcmlnaW4KIAogdm9pZCBEZXNpcmVkVHJhbnNpdGlvbjo6cmVhbGx5QWRkKFZN
JiB2bSwgQ29tbW9uRGF0YSogY29tbW9uKQogeworICAgIENvbmN1cnJlbnRKU0xvY2tlciBsb2Nr
ZXIobV9jb2RlQmxvY2stPm1fbG9jayk7CiAgICAgY29tbW9uLT50cmFuc2l0aW9ucy5hcHBlbmQo
CiAgICAgICAgIFdlYWtSZWZlcmVuY2VUcmFuc2l0aW9uKAogICAgICAgICAgICAgdm0sIG1fY29k
ZUJsb2NrLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVk
V2F0Y2hwb2ludHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkV2F0
Y2hwb2ludHMuY3BwCmluZGV4IDY0Y2QzZDIyZDJmM2ZkODMyOGUwOGMxMWNlZjkyNjdjODFiN2Jj
ZTAuLmMyNDMxZjAzZmNlOTY3YzJmNmE3ZWU0MGFiZjNkNTYxNTU0NjMzYmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRGVzaXJlZFdhdGNocG9pbnRzLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRXYXRjaHBvaW50cy5jcHAKQEAg
LTM5LDEwICszOSwxNCBAQCB2b2lkIEFycmF5QnVmZmVyVmlld1dhdGNocG9pbnRBZGFwdG9yOjph
ZGQoCiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEpTQXJyYXlCdWZmZXJWaWV3KiB2aWV3LCBD
b21tb25EYXRhJiBjb21tb24pCiB7CiAgICAgVk0mIHZtID0gY29kZUJsb2NrLT52bSgpOwotICAg
IFdhdGNocG9pbnQqIHdhdGNocG9pbnQgPSBjb21tb24ud2F0Y2hwb2ludHMuYWRkKGNvZGVCbG9j
ayk7CisgICAgQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRjaHBvaW50KiB3YXRjaHBvaW50ID0gbnVs
bHB0cjsKKyAgICB7CisgICAgICAgIENvbmN1cnJlbnRKU0xvY2tlciBsb2NrZXIoY29kZUJsb2Nr
LT5tX2xvY2spOworICAgICAgICB3YXRjaHBvaW50ID0gY29tbW9uLndhdGNocG9pbnRzLmFkZChj
b2RlQmxvY2spOworICAgIH0KICAgICBBcnJheUJ1ZmZlck5ldXRlcmluZ1dhdGNocG9pbnRTZXQq
IG5ldXRlcmluZ1dhdGNocG9pbnQgPQogICAgICAgICBBcnJheUJ1ZmZlck5ldXRlcmluZ1dhdGNo
cG9pbnRTZXQ6OmNyZWF0ZSh2bSk7Ci0gICAgbmV1dGVyaW5nV2F0Y2hwb2ludC0+c2V0KCkuYWRk
KHdhdGNocG9pbnQpOworICAgIG5ldXRlcmluZ1dhdGNocG9pbnQtPnNldCgpLmFkZChXVEZNb3Zl
KHdhdGNocG9pbnQpKTsKICAgICBjb2RlQmxvY2stPmFkZENvbnN0YW50KENvbmN1cnJlbnRKU0xv
Y2tlcihjb2RlQmxvY2stPm1fbG9jayksIG5ldXRlcmluZ1dhdGNocG9pbnQpOwogICAgIC8vIEZJ
WE1FOiBXZSBkb24ndCBuZWVkIHRvIHNldCB0aGlzIHdhdGNocG9pbnQgYXQgYWxsIGZvciBzaGFy
ZWQgYnVmZmVycy4KICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY0MTA4CkBAIC01MywxNCArNTcsMjQgQEAgdm9pZCBTeW1ib2xUYWJsZUFkYXB0b3I6OmFk
ZCgKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jaywgU3ltYm9sVGFibGUqIHN5bWJvbFRhYmxlLCBD
b21tb25EYXRhJiBjb21tb24pCiB7CiAgICAgY29kZUJsb2NrLT5hZGRDb25zdGFudChDb25jdXJy
ZW50SlNMb2NrZXIoY29kZUJsb2NrLT5tX2xvY2spLCBzeW1ib2xUYWJsZSk7IC8vIEZvciBjb21t
b24gdXNlcnMsIGl0IGRvZXNuJ3QgcmVhbGx5IG1hdHRlciBpZiBpdCdzIHdlYWsgb3Igbm90LiBJ
ZiByZWZlcmVuY2VzIHRvIGl0IGdvIGF3YXksIHdlIGdvIGF3YXksIHRvby4KLSAgICBzeW1ib2xU
YWJsZS0+c2luZ2xldG9uKCkuYWRkKGNvbW1vbi53YXRjaHBvaW50cy5hZGQoY29kZUJsb2NrKSk7
CisgICAgQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRjaHBvaW50KiB3YXRjaHBvaW50ID0gbnVsbHB0
cjsKKyAgICB7CisgICAgICAgIENvbmN1cnJlbnRKU0xvY2tlciBsb2NrZXIoY29kZUJsb2NrLT5t
X2xvY2spOworICAgICAgICB3YXRjaHBvaW50ID0gY29tbW9uLndhdGNocG9pbnRzLmFkZChjb2Rl
QmxvY2spOworICAgIH0KKyAgICBzeW1ib2xUYWJsZS0+c2luZ2xldG9uKCkuYWRkKFdURk1vdmUo
d2F0Y2hwb2ludCkpOwogfQogCiB2b2lkIEZ1bmN0aW9uRXhlY3V0YWJsZUFkYXB0b3I6OmFkZCgK
ICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jaywgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxl
LCBDb21tb25EYXRhJiBjb21tb24pCiB7CiAgICAgY29kZUJsb2NrLT5hZGRDb25zdGFudChDb25j
dXJyZW50SlNMb2NrZXIoY29kZUJsb2NrLT5tX2xvY2spLCBleGVjdXRhYmxlKTsgLy8gRm9yIGNv
bW1vbiB1c2VycywgaXQgZG9lc24ndCByZWFsbHkgbWF0dGVyIGlmIGl0J3Mgd2VhayBvciBub3Qu
IElmIHJlZmVyZW5jZXMgdG8gaXQgZ28gYXdheSwgd2UgZ28gYXdheSwgdG9vLgotICAgIGV4ZWN1
dGFibGUtPnNpbmdsZXRvbigpLmFkZChjb21tb24ud2F0Y2hwb2ludHMuYWRkKGNvZGVCbG9jaykp
OworICAgIENvZGVCbG9ja0pldHRpc29uaW5nV2F0Y2hwb2ludCogd2F0Y2hwb2ludCA9IG51bGxw
dHI7CisgICAgeworICAgICAgICBDb25jdXJyZW50SlNMb2NrZXIgbG9ja2VyKGNvZGVCbG9jay0+
bV9sb2NrKTsKKyAgICAgICAgd2F0Y2hwb2ludCA9IGNvbW1vbi53YXRjaHBvaW50cy5hZGQoY29k
ZUJsb2NrKTsKKyAgICB9CisgICAgZXhlY3V0YWJsZS0+c2luZ2xldG9uKCkuYWRkKFdURk1vdmUo
d2F0Y2hwb2ludCkpOwogfQogCiB2b2lkIEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludEFkYXB0
b3I6OmFkZCgKQEAgLTY4LDEzICs4MiwyNSBAQCB2b2lkIEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hw
b2ludEFkYXB0b3I6OmFkZCgKIHsKICAgICBWTSYgdm0gPSBjb2RlQmxvY2stPnZtKCk7CiAgICAg
c3dpdGNoIChrZXkua2luZCgpKSB7Ci0gICAgY2FzZSBQcm9wZXJ0eUNvbmRpdGlvbjo6RXF1aXZh
bGVuY2U6Ci0gICAgICAgIGNvbW1vbi5hZGFwdGl2ZUluZmVycmVkUHJvcGVydHlWYWx1ZVdhdGNo
cG9pbnRzLmFkZChrZXksIGNvZGVCbG9jayktPmluc3RhbGwodm0pOworICAgIGNhc2UgUHJvcGVy
dHlDb25kaXRpb246OkVxdWl2YWxlbmNlOiB7CisgICAgICAgIEFkYXB0aXZlSW5mZXJyZWRQcm9w
ZXJ0eVZhbHVlV2F0Y2hwb2ludCogd2F0Y2hwb2ludCA9IG51bGxwdHI7CisgICAgICAgIHsKKyAg
ICAgICAgICAgIENvbmN1cnJlbnRKU0xvY2tlciBsb2NrZXIoY29kZUJsb2NrLT5tX2xvY2spOwor
ICAgICAgICAgICAgd2F0Y2hwb2ludCA9IGNvbW1vbi5hZGFwdGl2ZUluZmVycmVkUHJvcGVydHlW
YWx1ZVdhdGNocG9pbnRzLmFkZChrZXksIGNvZGVCbG9jayk7CisgICAgICAgIH0KKyAgICAgICAg
d2F0Y2hwb2ludC0+aW5zdGFsbCh2bSk7CiAgICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0g
ICAgICAgIGNvbW1vbi5hZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnRzLmFkZChrZXksIGNvZGVC
bG9jayktPmluc3RhbGwodm0pOworICAgIH0KKyAgICBkZWZhdWx0OiB7CisgICAgICAgIEFkYXB0
aXZlU3RydWN0dXJlV2F0Y2hwb2ludCogd2F0Y2hwb2ludCA9IG51bGxwdHI7CisgICAgICAgIHsK
KyAgICAgICAgICAgIENvbmN1cnJlbnRKU0xvY2tlciBsb2NrZXIoY29kZUJsb2NrLT5tX2xvY2sp
OworICAgICAgICAgICAgd2F0Y2hwb2ludCA9IGNvbW1vbi5hZGFwdGl2ZVN0cnVjdHVyZVdhdGNo
cG9pbnRzLmFkZChrZXksIGNvZGVCbG9jayk7CisgICAgICAgIH0KKyAgICAgICAgd2F0Y2hwb2lu
dC0+aW5zdGFsbCh2bSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KKyAgICB9CiB9CiAKIERlc2ly
ZWRXYXRjaHBvaW50czo6RGVzaXJlZFdhdGNocG9pbnRzKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRXYXRjaHBvaW50cy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkV2F0Y2hwb2ludHMuaAppbmRleCBmODllNzg5NDk5
ZDU4NTY4MzFhN2Q3YzUxYzNiYjk0M2Y3MTU3MGM2Li45ZTEzYjYyZDNhYzFhYmY2OTFlYzExOTM2
NzkwZDA1ODRhNzljZjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Rlc2lyZWRXYXRjaHBvaW50cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
RGVzaXJlZFdhdGNocG9pbnRzLmgKQEAgLTQ1LDcgKzQ1LDEyIEBAIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+CiBzdHJ1Y3QgU2V0UG9pbnRlckFkYXB0b3IgewogICAgIHN0YXRpYyB2b2lkIGFkZChDb2Rl
QmxvY2sqIGNvZGVCbG9jaywgVCBzZXQsIENvbW1vbkRhdGEmIGNvbW1vbikKICAgICB7Ci0gICAg
ICAgIHJldHVybiBzZXQtPmFkZChjb21tb24ud2F0Y2hwb2ludHMuYWRkKGNvZGVCbG9jaykpOwor
ICAgICAgICBDb2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNocG9pbnQqIHdhdGNocG9pbnQgPSBudWxs
cHRyOworICAgICAgICB7CisgICAgICAgICAgICBDb25jdXJyZW50SlNMb2NrZXIgbG9ja2VyKGNv
ZGVCbG9jay0+bV9sb2NrKTsKKyAgICAgICAgICAgIHdhdGNocG9pbnQgPSBjb21tb24ud2F0Y2hw
b2ludHMuYWRkKGNvZGVCbG9jayk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHNldC0+YWRk
KFdURk1vdmUod2F0Y2hwb2ludCkpOwogICAgIH0KICAgICBzdGF0aWMgYm9vbCBoYXNCZWVuSW52
YWxpZGF0ZWQoVCBzZXQpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdEZXNpcmVkV2Vha1JlZmVyZW5jZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdEZXNpcmVkV2Vha1JlZmVyZW5jZXMuY3BwCmluZGV4IDY4ZmYyYTZjMjAyZTc4Y2My
MjkzZjQ1YzBiNTc0ZmQyYWMwMDQ2M2EuLmZjMjc3NDVlZThmNGQzYWUwNjViYzg1YzIxNDc0NjU1
MTg5NWJlNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRGVzaXJl
ZFdlYWtSZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rl
c2lyZWRXZWFrUmVmZXJlbmNlcy5jcHAKQEAgLTY5LDYgKzY5LDcgQEAgdm9pZCBEZXNpcmVkV2Vh
a1JlZmVyZW5jZXM6OnJlYWxseUFkZChWTSYgdm0sIENvbW1vbkRhdGEqIGNvbW1vbikKIHsKICAg
ICBmb3IgKEpTQ2VsbCogdGFyZ2V0IDogbV9yZWZlcmVuY2VzKSB7CiAgICAgICAgIGlmIChTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSA9IGpzRHluYW1pY0Nhc3Q8U3RydWN0dXJlKj4odm0sIHRhcmdldCkp
IHsKKyAgICAgICAgICAgIENvbmN1cnJlbnRKU0xvY2tlciBsb2NrZXIobV9jb2RlQmxvY2stPm1f
bG9jayk7CiAgICAgICAgICAgICBjb21tb24tPndlYWtTdHJ1Y3R1cmVSZWZlcmVuY2VzLmFwcGVu
ZCgKICAgICAgICAgICAgICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPih2bSwgbV9jb2RlQmxv
Y2ssIHN0cnVjdHVyZSkpOwogICAgICAgICB9IGVsc2UgewpAQCAtNzgsNiArNzksNyBAQCB2b2lk
IERlc2lyZWRXZWFrUmVmZXJlbmNlczo6cmVhbGx5QWRkKFZNJiB2bSwgQ29tbW9uRGF0YSogY29t
bW9uKQogICAgICAgICAgICAgLy8gaGF2aW5nIGEgd2VhayBwb2ludGVyIHRvIGl0c2VsZiB3aWxs
IGNhdXNlIGl0IHRvIGdldCBjb2xsZWN0ZWQuCiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCgh
anNEeW5hbWljQ2FzdDxDb2RlQmxvY2sqPih2bSwgdGFyZ2V0KSk7CiAKKyAgICAgICAgICAgIENv
bmN1cnJlbnRKU0xvY2tlciBsb2NrZXIobV9jb2RlQmxvY2stPm1fbG9jayk7CiAgICAgICAgICAg
ICBjb21tb24tPndlYWtSZWZlcmVuY2VzLmFwcGVuZCgKICAgICAgICAgICAgICAgICBXcml0ZUJh
cnJpZXI8SlNDZWxsPih2bSwgbV9jb2RlQmxvY2ssIHRhcmdldCkpOwogICAgICAgICB9CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDUyNzMz
NTUwYzJlZjdiOTRiMzQwZWIxNjkyYzg1YWJkZjFlNTJmYTcuLjVhMzBhNGQyYmRmODM2Y2JiYzYy
ZTM3NTUxNjQ5NDExNjQzNGIzYjAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTktMTAtMTggIFl1c3VrZSBT
dXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBERkc6OkNvbW1vbkRh
dGEgbW9kaWZpY2F0aW9uIGJ5IERGRyByZWFsbHlBZGQgc2hvdWxkIGJlIGd1YXJkZWQgYnkgQ29k
ZUJsb2NrJ3MgbG9jaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjAzMTc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBzdHJlc3MvZGZnLXJlYWxseS1hZGQtbG9ja2luZy5qczogQWRkZWQuCisKIDIwMTkt
MTAtMTcgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBtaXNz
aW5nIGNoZWNrcyBhZnRlciBjYWxscyB0byB0aGUgc2FtZVZhbHVlKCkgSlNWYWx1ZSBjb21wYXJh
dG9yLgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvZGZnLXJlYWxseS1hZGQtbG9ja2luZy5q
cyBiL0pTVGVzdHMvc3RyZXNzL2RmZy1yZWFsbHktYWRkLWxvY2tpbmcuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZDQwMDEzZWEzMGE1OGE5M2JiNzIyNDhjYjg3ZGE2Y2YzN2I1ODY4MAotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvc3RyZXNzL2RmZy1yZWFsbHktYWRkLWxvY2tpbmcuanMKQEAgLTAsMCArMSw0
MSBAQAorLy9AIHJ1bkRlZmF1bHQoIi0tY29sbGVjdENvbnRpbnVvdXNseT0xIiwgIi0tdXNlR2Vu
ZXJhdGlvbmFsR0M9MCIpCisKK2ZvciAobGV0IGo9MDsgajwxMDA7IGorKykgeworICAgIHJ1blN0
cmluZyhgCisgICAgICAgIHZhciBnOworICAgICAgICAoZnVuY3Rpb24gKCkgeworICAgICAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgICAgICAgICAgICAgIHZh
ciBvID0ge307CisgICAgICAgICAgICAgICAgby5hID0gMDsKKyAgICAgICAgICAgICAgICBvLmIg
PSAxOworICAgICAgICAgICAgICAgIG8uYyA9IDI7CisgICAgICAgICAgICAgICAgby5kID0gMzsK
KyAgICAgICAgICAgICAgICBvLmUgPSA0OworICAgICAgICAgICAgICAgIG8uZiA9IDU7CisgICAg
ICAgICAgICAgICAgby5nID0gNjsKKyAgICAgICAgICAgICAgICBvLmggPSA3OworICAgICAgICAg
ICAgICAgIG8uaSA9IDg7CisgICAgICAgICAgICAgICAgby5qID0gOTsKKyAgICAgICAgICAgICAg
ICBvLmsgPSAxMDsKKyAgICAgICAgICAgICAgICBvLmwgPSAxMTsKKyAgICAgICAgICAgICAgICBv
Lm0gPSAxMjsKKyAgICAgICAgICAgICAgICBvLm4gPSAxMzsKKyAgICAgICAgICAgICAgICBvLm8g
PSAxNDsKKyAgICAgICAgICAgICAgICBvLnAgPSAxNTsKKyAgICAgICAgICAgICAgICBvLnEgPSAw
OworICAgICAgICAgICAgICAgIG8uciA9IDE7CisgICAgICAgICAgICAgICAgby5zID0gMjsKKyAg
ICAgICAgICAgICAgICBvLnQgPSAzOworICAgICAgICAgICAgICAgIG8udSA9IDQ7CisgICAgICAg
ICAgICAgICAgby52ID0gNTsKKyAgICAgICAgICAgICAgICBvLncgPSA2OworICAgICAgICAgICAg
ICAgIG8ueCA9IDc7CisgICAgICAgICAgICAgICAgby55ID0gODsKKyAgICAgICAgICAgICAgICBv
LnogPSA5OworICAgICAgICAgICAgICAgIGcgPSBvOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgcmV0dXJuIGc7CisgICAgICAgIH0oKSk7CisgICAgYCk7CisgICAgcHJpbnQoaik7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381356</attachid>
            <date>2019-10-18 17:41:35 -0700</date>
            <delta_ts>2019-10-18 21:10:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203177-20191018174135.patch</filename>
            <type>text/plain</type>
            <size>11663</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMzA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
YTg5OWI2YmU0MDMzOWVmZDg3NjVkNmYxMmYxYTJjYzJmMTRjYWJhLi5kNDJkNDM3NGU3MmZiMTAw
Y2QyZmYxNzg2NzgwZmM0ZWRjYmY0Zjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMiBAQAorMjAxOS0xMC0xOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIERGRzo6Q29tbW9uRGF0YSBtb2RpZmljYXRpb24gYnkgREZHIHJl
YWxseUFkZCBzaG91bGQgYmUgZ3VhcmRlZCBieSBDb2RlQmxvY2sncyBsb2NrCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMxNzcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIGRvaW5nIERGRyByZWFs
bHlBZGQsIERGRzo6SklUQ29kZSBpcyBhbHJlYWR5IHNldCBpbiBDb2RlQmxvY2sgYW5kIERGRzo6
Q29tbW9uRGF0YSBjYW4gYmUKKyAgICAgICAgcmVhY2hhYmxlIGZyb20gQ29kZUJsb2NrLiBTbyBj
b25jdXJyZW50IGNvbGxlY3RvciBjYW4gdHJhY2UgZW50cmllcyBvZiBERkc6OkNvbW1vbkRhdGEg
d2hpbGUgREZHIHJlYWxseUFkZAorICAgICAgICBpcyBtb2RpZnlpbmcgaXQuIEl0IHdvdWxkIGJl
IHBvc3NpYmxlIHRoYXQgd2UgaW5zdGFsbCBERkc6OkpJVENvZGUgYWZ0ZXIgcGVyZm9ybWluZyBE
RkcgcmVhbGx5QWRkLCBidXQgZm9yIG5vdywKKyAgICAgICAgd2UganVzdCBwcm90ZWN0IERGRyBy
ZWFsbHlBZGQncyBERkc6OkNvbW1vbkRhdGEgbW9kaWZpY2F0aW9uIGJ5IENvZGVCbG9jaydzIGxv
Y2sgc28gdGhhdCBjb25jdXJyZW50IGNvbGxlY3RvcgorICAgICAgICBkb2VzIG5vdCB0cmFjZSB0
aGVtIGluIGEgcmFjeSBtYW5uZXIuCisKKyAgICAgICAgKiBkZmcvREZHRGVzaXJlZEdsb2JhbFBy
b3BlcnRpZXMuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkRlc2lyZWRHbG9iYWxQcm9wZXJ0aWVz
OjpyZWFsbHlBZGQpOgorICAgICAgICAqIGRmZy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OkRlc2lyZWRJZGVudGlmaWVyczo6cmVhbGx5QWRkKToKKyAgICAg
ICAgKiBkZmcvREZHRGVzaXJlZFRyYW5zaXRpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpE
ZXNpcmVkVHJhbnNpdGlvbjo6cmVhbGx5QWRkKToKKyAgICAgICAgKiBkZmcvREZHRGVzaXJlZFdh
dGNocG9pbnRzLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpBcnJheUJ1ZmZlclZpZXdXYXRjaHBv
aW50QWRhcHRvcjo6YWRkKToKKyAgICAgICAgKEpTQzo6REZHOjpTeW1ib2xUYWJsZUFkYXB0b3I6
OmFkZCk6CisgICAgICAgIChKU0M6OkRGRzo6RnVuY3Rpb25FeGVjdXRhYmxlQWRhcHRvcjo6YWRk
KToKKyAgICAgICAgKEpTQzo6REZHOjpBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnRBZGFwdG9y
OjphZGQpOgorICAgICAgICAqIGRmZy9ERkdEZXNpcmVkV2F0Y2hwb2ludHMuaDoKKyAgICAgICAg
KEpTQzo6REZHOjpTZXRQb2ludGVyQWRhcHRvcjo6YWRkKToKKyAgICAgICAgKiBkZmcvREZHRGVz
aXJlZFdlYWtSZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpEZXNpcmVkV2Vha1Jl
ZmVyZW5jZXM6OnJlYWxseUFkZCk6CisKIDIwMTktMTAtMTggIFl1c3VrZSBTdXp1a2kgIDx5c3V6
dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBNYWtlIENvbmN1cnJlbnRKU0xvY2sgTG9j
ayBldmVuIGlmIEVOQUJMRV9DT05DVVJSRU5UX0pTPU9GRgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkR2xvYmFsUHJvcGVydGllcy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRHbG9iYWxQcm9wZXJ0aWVzLmNwcAppbmRleCBi
YTY4NDFkZGM0MmY5MzQ0MjMwMmUxNWU0NDQwMTFhMjAzMWU1ZTZkLi45YmFiZjhkNWE0ZGRjN2Uy
ZGZkOGM5M2RkYjljNDQ0ZTJlM2UxNjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Rlc2lyZWRHbG9iYWxQcm9wZXJ0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRHbG9iYWxQcm9wZXJ0aWVzLmNwcApAQCAtNjEsNyArNjEs
MTIgQEAgdm9pZCBEZXNpcmVkR2xvYmFsUHJvcGVydGllczo6cmVhbGx5QWRkKENvZGVCbG9jayog
Y29kZUJsb2NrLCBEZXNpcmVkSWRlbnRpZmllcnMKICAgICAgICAgYXV0byogdWlkID0gaWRlbnRp
ZmllcnMuYXQocHJvcGVydHkuaWRlbnRpZmllck51bWJlcigpKTsKICAgICAgICAgYXV0byYgd2F0
Y2hwb2ludFNldCA9IHByb3BlcnR5Lmdsb2JhbE9iamVjdCgpLT5lbnN1cmVSZWZlcmVuY2VkUHJv
cGVydHlXYXRjaHBvaW50U2V0KHVpZCk7CiAgICAgICAgIEFTU0VSVCh3YXRjaHBvaW50U2V0Lmlz
U3RpbGxWYWxpZCgpKTsKLSAgICAgICAgd2F0Y2hwb2ludFNldC5hZGQoY29tbW9uLndhdGNocG9p
bnRzLmFkZChjb2RlQmxvY2spKTsKKyAgICAgICAgQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRjaHBv
aW50KiB3YXRjaHBvaW50ID0gbnVsbHB0cjsKKyAgICAgICAgeworICAgICAgICAgICAgQ29uY3Vy
cmVudEpTTG9ja2VyIGxvY2tlcihjb2RlQmxvY2stPm1fbG9jayk7CisgICAgICAgICAgICB3YXRj
aHBvaW50ID0gY29tbW9uLndhdGNocG9pbnRzLmFkZChjb2RlQmxvY2spOworICAgICAgICB9Cisg
ICAgICAgIHdhdGNocG9pbnRTZXQuYWRkKHdhdGNocG9pbnQpOwogICAgIH0KIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkSWRlbnRpZmllcnMuY3BwCmlu
ZGV4IDc3YzBlYjBmMjYzMjQ3ODJiNjBlOTJiMDA3OTc3ODRiZDQxYzgxY2YuLmJlMzU2NDc4OGRi
ODFiZTBkOTBhMjk0OGI3Y2QwOTNmNzgwM2Y1MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHRGVzaXJlZElkZW50aWZpZXJzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRJZGVudGlmaWVycy5jcHAKQEAgLTg5LDcgKzg5LDExIEBA
IHZvaWQgRGVzaXJlZElkZW50aWZpZXJzOjpyZWFsbHlBZGQoVk0mIHZtLCBDb21tb25EYXRhKiBj
b21tb25EYXRhKQogewogICAgIGZvciAoYXV0byByZXAgOiBtX2FkZGVkSWRlbnRpZmllcnMpIHsK
ICAgICAgICAgQVNTRVJUKHJlcC0+aGFzQXRMZWFzdE9uZVJlZigpKTsKLSAgICAgICAgY29tbW9u
RGF0YS0+ZGZnSWRlbnRpZmllcnMuYXBwZW5kKElkZW50aWZpZXI6OmZyb21VaWQodm0sIHJlcCkp
OworICAgICAgICBJZGVudGlmaWVyIHVpZCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHJlcCk7
CisgICAgICAgIHsKKyAgICAgICAgICAgIENvbmN1cnJlbnRKU0xvY2tlciBsb2NrZXIobV9jb2Rl
QmxvY2stPm1fbG9jayk7CisgICAgICAgICAgICBjb21tb25EYXRhLT5kZmdJZGVudGlmaWVycy5h
cHBlbmQoV1RGTW92ZSh1aWQpKTsKKyAgICAgICAgfQogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkVHJhbnNpdGlvbnMuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkVHJhbnNpdGlvbnMuY3BwCmluZGV4IDRi
ODJiMDMxZDg5ZWMwZjExNDEwNGE0NWFiYjI4ODczMDY3N2VhMjAuLjA5MTBiYThlMjllYmMyY2Mz
Y2QyZjAzMGYxNmFhZDlmYjMwOTRjNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRGVzaXJlZFRyYW5zaXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Rlc2lyZWRUcmFuc2l0aW9ucy5jcHAKQEAgLTQ0LDYgKzQ0LDcgQEAgRGVzaXJl
ZFRyYW5zaXRpb246OkRlc2lyZWRUcmFuc2l0aW9uKENvZGVCbG9jayogY29kZUJsb2NrLCBDb2Rl
QmxvY2sqIGNvZGVPcmlnaW4KIAogdm9pZCBEZXNpcmVkVHJhbnNpdGlvbjo6cmVhbGx5QWRkKFZN
JiB2bSwgQ29tbW9uRGF0YSogY29tbW9uKQogeworICAgIENvbmN1cnJlbnRKU0xvY2tlciBsb2Nr
ZXIobV9jb2RlQmxvY2stPm1fbG9jayk7CiAgICAgY29tbW9uLT50cmFuc2l0aW9ucy5hcHBlbmQo
CiAgICAgICAgIFdlYWtSZWZlcmVuY2VUcmFuc2l0aW9uKAogICAgICAgICAgICAgdm0sIG1fY29k
ZUJsb2NrLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVk
V2F0Y2hwb2ludHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkV2F0
Y2hwb2ludHMuY3BwCmluZGV4IDY0Y2QzZDIyZDJmM2ZkODMyOGUwOGMxMWNlZjkyNjdjODFiN2Jj
ZTAuLmMyNDMxZjAzZmNlOTY3YzJmNmE3ZWU0MGFiZjNkNTYxNTU0NjMzYmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRGVzaXJlZFdhdGNocG9pbnRzLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRXYXRjaHBvaW50cy5jcHAKQEAg
LTM5LDEwICszOSwxNCBAQCB2b2lkIEFycmF5QnVmZmVyVmlld1dhdGNocG9pbnRBZGFwdG9yOjph
ZGQoCiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEpTQXJyYXlCdWZmZXJWaWV3KiB2aWV3LCBD
b21tb25EYXRhJiBjb21tb24pCiB7CiAgICAgVk0mIHZtID0gY29kZUJsb2NrLT52bSgpOwotICAg
IFdhdGNocG9pbnQqIHdhdGNocG9pbnQgPSBjb21tb24ud2F0Y2hwb2ludHMuYWRkKGNvZGVCbG9j
ayk7CisgICAgQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRjaHBvaW50KiB3YXRjaHBvaW50ID0gbnVs
bHB0cjsKKyAgICB7CisgICAgICAgIENvbmN1cnJlbnRKU0xvY2tlciBsb2NrZXIoY29kZUJsb2Nr
LT5tX2xvY2spOworICAgICAgICB3YXRjaHBvaW50ID0gY29tbW9uLndhdGNocG9pbnRzLmFkZChj
b2RlQmxvY2spOworICAgIH0KICAgICBBcnJheUJ1ZmZlck5ldXRlcmluZ1dhdGNocG9pbnRTZXQq
IG5ldXRlcmluZ1dhdGNocG9pbnQgPQogICAgICAgICBBcnJheUJ1ZmZlck5ldXRlcmluZ1dhdGNo
cG9pbnRTZXQ6OmNyZWF0ZSh2bSk7Ci0gICAgbmV1dGVyaW5nV2F0Y2hwb2ludC0+c2V0KCkuYWRk
KHdhdGNocG9pbnQpOworICAgIG5ldXRlcmluZ1dhdGNocG9pbnQtPnNldCgpLmFkZChXVEZNb3Zl
KHdhdGNocG9pbnQpKTsKICAgICBjb2RlQmxvY2stPmFkZENvbnN0YW50KENvbmN1cnJlbnRKU0xv
Y2tlcihjb2RlQmxvY2stPm1fbG9jayksIG5ldXRlcmluZ1dhdGNocG9pbnQpOwogICAgIC8vIEZJ
WE1FOiBXZSBkb24ndCBuZWVkIHRvIHNldCB0aGlzIHdhdGNocG9pbnQgYXQgYWxsIGZvciBzaGFy
ZWQgYnVmZmVycy4KICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY0MTA4CkBAIC01MywxNCArNTcsMjQgQEAgdm9pZCBTeW1ib2xUYWJsZUFkYXB0b3I6OmFk
ZCgKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jaywgU3ltYm9sVGFibGUqIHN5bWJvbFRhYmxlLCBD
b21tb25EYXRhJiBjb21tb24pCiB7CiAgICAgY29kZUJsb2NrLT5hZGRDb25zdGFudChDb25jdXJy
ZW50SlNMb2NrZXIoY29kZUJsb2NrLT5tX2xvY2spLCBzeW1ib2xUYWJsZSk7IC8vIEZvciBjb21t
b24gdXNlcnMsIGl0IGRvZXNuJ3QgcmVhbGx5IG1hdHRlciBpZiBpdCdzIHdlYWsgb3Igbm90LiBJ
ZiByZWZlcmVuY2VzIHRvIGl0IGdvIGF3YXksIHdlIGdvIGF3YXksIHRvby4KLSAgICBzeW1ib2xU
YWJsZS0+c2luZ2xldG9uKCkuYWRkKGNvbW1vbi53YXRjaHBvaW50cy5hZGQoY29kZUJsb2NrKSk7
CisgICAgQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRjaHBvaW50KiB3YXRjaHBvaW50ID0gbnVsbHB0
cjsKKyAgICB7CisgICAgICAgIENvbmN1cnJlbnRKU0xvY2tlciBsb2NrZXIoY29kZUJsb2NrLT5t
X2xvY2spOworICAgICAgICB3YXRjaHBvaW50ID0gY29tbW9uLndhdGNocG9pbnRzLmFkZChjb2Rl
QmxvY2spOworICAgIH0KKyAgICBzeW1ib2xUYWJsZS0+c2luZ2xldG9uKCkuYWRkKFdURk1vdmUo
d2F0Y2hwb2ludCkpOwogfQogCiB2b2lkIEZ1bmN0aW9uRXhlY3V0YWJsZUFkYXB0b3I6OmFkZCgK
ICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jaywgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxl
LCBDb21tb25EYXRhJiBjb21tb24pCiB7CiAgICAgY29kZUJsb2NrLT5hZGRDb25zdGFudChDb25j
dXJyZW50SlNMb2NrZXIoY29kZUJsb2NrLT5tX2xvY2spLCBleGVjdXRhYmxlKTsgLy8gRm9yIGNv
bW1vbiB1c2VycywgaXQgZG9lc24ndCByZWFsbHkgbWF0dGVyIGlmIGl0J3Mgd2VhayBvciBub3Qu
IElmIHJlZmVyZW5jZXMgdG8gaXQgZ28gYXdheSwgd2UgZ28gYXdheSwgdG9vLgotICAgIGV4ZWN1
dGFibGUtPnNpbmdsZXRvbigpLmFkZChjb21tb24ud2F0Y2hwb2ludHMuYWRkKGNvZGVCbG9jaykp
OworICAgIENvZGVCbG9ja0pldHRpc29uaW5nV2F0Y2hwb2ludCogd2F0Y2hwb2ludCA9IG51bGxw
dHI7CisgICAgeworICAgICAgICBDb25jdXJyZW50SlNMb2NrZXIgbG9ja2VyKGNvZGVCbG9jay0+
bV9sb2NrKTsKKyAgICAgICAgd2F0Y2hwb2ludCA9IGNvbW1vbi53YXRjaHBvaW50cy5hZGQoY29k
ZUJsb2NrKTsKKyAgICB9CisgICAgZXhlY3V0YWJsZS0+c2luZ2xldG9uKCkuYWRkKFdURk1vdmUo
d2F0Y2hwb2ludCkpOwogfQogCiB2b2lkIEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludEFkYXB0
b3I6OmFkZCgKQEAgLTY4LDEzICs4MiwyNSBAQCB2b2lkIEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hw
b2ludEFkYXB0b3I6OmFkZCgKIHsKICAgICBWTSYgdm0gPSBjb2RlQmxvY2stPnZtKCk7CiAgICAg
c3dpdGNoIChrZXkua2luZCgpKSB7Ci0gICAgY2FzZSBQcm9wZXJ0eUNvbmRpdGlvbjo6RXF1aXZh
bGVuY2U6Ci0gICAgICAgIGNvbW1vbi5hZGFwdGl2ZUluZmVycmVkUHJvcGVydHlWYWx1ZVdhdGNo
cG9pbnRzLmFkZChrZXksIGNvZGVCbG9jayktPmluc3RhbGwodm0pOworICAgIGNhc2UgUHJvcGVy
dHlDb25kaXRpb246OkVxdWl2YWxlbmNlOiB7CisgICAgICAgIEFkYXB0aXZlSW5mZXJyZWRQcm9w
ZXJ0eVZhbHVlV2F0Y2hwb2ludCogd2F0Y2hwb2ludCA9IG51bGxwdHI7CisgICAgICAgIHsKKyAg
ICAgICAgICAgIENvbmN1cnJlbnRKU0xvY2tlciBsb2NrZXIoY29kZUJsb2NrLT5tX2xvY2spOwor
ICAgICAgICAgICAgd2F0Y2hwb2ludCA9IGNvbW1vbi5hZGFwdGl2ZUluZmVycmVkUHJvcGVydHlW
YWx1ZVdhdGNocG9pbnRzLmFkZChrZXksIGNvZGVCbG9jayk7CisgICAgICAgIH0KKyAgICAgICAg
d2F0Y2hwb2ludC0+aW5zdGFsbCh2bSk7CiAgICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0g
ICAgICAgIGNvbW1vbi5hZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnRzLmFkZChrZXksIGNvZGVC
bG9jayktPmluc3RhbGwodm0pOworICAgIH0KKyAgICBkZWZhdWx0OiB7CisgICAgICAgIEFkYXB0
aXZlU3RydWN0dXJlV2F0Y2hwb2ludCogd2F0Y2hwb2ludCA9IG51bGxwdHI7CisgICAgICAgIHsK
KyAgICAgICAgICAgIENvbmN1cnJlbnRKU0xvY2tlciBsb2NrZXIoY29kZUJsb2NrLT5tX2xvY2sp
OworICAgICAgICAgICAgd2F0Y2hwb2ludCA9IGNvbW1vbi5hZGFwdGl2ZVN0cnVjdHVyZVdhdGNo
cG9pbnRzLmFkZChrZXksIGNvZGVCbG9jayk7CisgICAgICAgIH0KKyAgICAgICAgd2F0Y2hwb2lu
dC0+aW5zdGFsbCh2bSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KKyAgICB9CiB9CiAKIERlc2ly
ZWRXYXRjaHBvaW50czo6RGVzaXJlZFdhdGNocG9pbnRzKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rlc2lyZWRXYXRjaHBvaW50cy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdEZXNpcmVkV2F0Y2hwb2ludHMuaAppbmRleCBmODllNzg5NDk5
ZDU4NTY4MzFhN2Q3YzUxYzNiYjk0M2Y3MTU3MGM2Li45ZTEzYjYyZDNhYzFhYmY2OTFlYzExOTM2
NzkwZDA1ODRhNzljZjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Rlc2lyZWRXYXRjaHBvaW50cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
RGVzaXJlZFdhdGNocG9pbnRzLmgKQEAgLTQ1LDcgKzQ1LDEyIEBAIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+CiBzdHJ1Y3QgU2V0UG9pbnRlckFkYXB0b3IgewogICAgIHN0YXRpYyB2b2lkIGFkZChDb2Rl
QmxvY2sqIGNvZGVCbG9jaywgVCBzZXQsIENvbW1vbkRhdGEmIGNvbW1vbikKICAgICB7Ci0gICAg
ICAgIHJldHVybiBzZXQtPmFkZChjb21tb24ud2F0Y2hwb2ludHMuYWRkKGNvZGVCbG9jaykpOwor
ICAgICAgICBDb2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNocG9pbnQqIHdhdGNocG9pbnQgPSBudWxs
cHRyOworICAgICAgICB7CisgICAgICAgICAgICBDb25jdXJyZW50SlNMb2NrZXIgbG9ja2VyKGNv
ZGVCbG9jay0+bV9sb2NrKTsKKyAgICAgICAgICAgIHdhdGNocG9pbnQgPSBjb21tb24ud2F0Y2hw
b2ludHMuYWRkKGNvZGVCbG9jayk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHNldC0+YWRk
KFdURk1vdmUod2F0Y2hwb2ludCkpOwogICAgIH0KICAgICBzdGF0aWMgYm9vbCBoYXNCZWVuSW52
YWxpZGF0ZWQoVCBzZXQpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdEZXNpcmVkV2Vha1JlZmVyZW5jZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdEZXNpcmVkV2Vha1JlZmVyZW5jZXMuY3BwCmluZGV4IDY4ZmYyYTZjMjAyZTc4Y2My
MjkzZjQ1YzBiNTc0ZmQyYWMwMDQ2M2EuLmZjMjc3NDVlZThmNGQzYWUwNjViYzg1YzIxNDc0NjU1
MTg5NWJlNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRGVzaXJl
ZFdlYWtSZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rl
c2lyZWRXZWFrUmVmZXJlbmNlcy5jcHAKQEAgLTY5LDYgKzY5LDcgQEAgdm9pZCBEZXNpcmVkV2Vh
a1JlZmVyZW5jZXM6OnJlYWxseUFkZChWTSYgdm0sIENvbW1vbkRhdGEqIGNvbW1vbikKIHsKICAg
ICBmb3IgKEpTQ2VsbCogdGFyZ2V0IDogbV9yZWZlcmVuY2VzKSB7CiAgICAgICAgIGlmIChTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSA9IGpzRHluYW1pY0Nhc3Q8U3RydWN0dXJlKj4odm0sIHRhcmdldCkp
IHsKKyAgICAgICAgICAgIENvbmN1cnJlbnRKU0xvY2tlciBsb2NrZXIobV9jb2RlQmxvY2stPm1f
bG9jayk7CiAgICAgICAgICAgICBjb21tb24tPndlYWtTdHJ1Y3R1cmVSZWZlcmVuY2VzLmFwcGVu
ZCgKICAgICAgICAgICAgICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPih2bSwgbV9jb2RlQmxv
Y2ssIHN0cnVjdHVyZSkpOwogICAgICAgICB9IGVsc2UgewpAQCAtNzgsNiArNzksNyBAQCB2b2lk
IERlc2lyZWRXZWFrUmVmZXJlbmNlczo6cmVhbGx5QWRkKFZNJiB2bSwgQ29tbW9uRGF0YSogY29t
bW9uKQogICAgICAgICAgICAgLy8gaGF2aW5nIGEgd2VhayBwb2ludGVyIHRvIGl0c2VsZiB3aWxs
IGNhdXNlIGl0IHRvIGdldCBjb2xsZWN0ZWQuCiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCgh
anNEeW5hbWljQ2FzdDxDb2RlQmxvY2sqPih2bSwgdGFyZ2V0KSk7CiAKKyAgICAgICAgICAgIENv
bmN1cnJlbnRKU0xvY2tlciBsb2NrZXIobV9jb2RlQmxvY2stPm1fbG9jayk7CiAgICAgICAgICAg
ICBjb21tb24tPndlYWtSZWZlcmVuY2VzLmFwcGVuZCgKICAgICAgICAgICAgICAgICBXcml0ZUJh
cnJpZXI8SlNDZWxsPih2bSwgbV9jb2RlQmxvY2ssIHRhcmdldCkpOwogICAgICAgICB9CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDUyNzMz
NTUwYzJlZjdiOTRiMzQwZWIxNjkyYzg1YWJkZjFlNTJmYTcuLjVhMzBhNGQyYmRmODM2Y2JiYzYy
ZTM3NTUxNjQ5NDExNjQzNGIzYjAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTktMTAtMTggIFl1c3VrZSBT
dXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBERkc6OkNvbW1vbkRh
dGEgbW9kaWZpY2F0aW9uIGJ5IERGRyByZWFsbHlBZGQgc2hvdWxkIGJlIGd1YXJkZWQgYnkgQ29k
ZUJsb2NrJ3MgbG9jaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjAzMTc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBzdHJlc3MvZGZnLXJlYWxseS1hZGQtbG9ja2luZy5qczogQWRkZWQuCisKIDIwMTkt
MTAtMTcgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBtaXNz
aW5nIGNoZWNrcyBhZnRlciBjYWxscyB0byB0aGUgc2FtZVZhbHVlKCkgSlNWYWx1ZSBjb21wYXJh
dG9yLgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvZGZnLXJlYWxseS1hZGQtbG9ja2luZy5q
cyBiL0pTVGVzdHMvc3RyZXNzL2RmZy1yZWFsbHktYWRkLWxvY2tpbmcuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZDcwZjUxN2UwNDlmYWJmNGVhOTFmNzliMGFkYTVmMGM1ODg3NzRlMgotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvc3RyZXNzL2RmZy1yZWFsbHktYWRkLWxvY2tpbmcuanMKQEAgLTAsMCArMSwz
OCBAQAorLy9AIHJ1bkRlZmF1bHQoIi0tY29sbGVjdENvbnRpbnVvdXNseT0xIiwgIi0tdXNlR2Vu
ZXJhdGlvbmFsR0M9MCIpCisKK3J1blN0cmluZyhgCisgICAgdmFyIGc7CisgICAgKGZ1bmN0aW9u
ICgpIHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgICAg
ICAgICAgdmFyIG8gPSB7fTsKKyAgICAgICAgICAgIG8uYSA9IDA7CisgICAgICAgICAgICBvLmIg
PSAxOworICAgICAgICAgICAgby5jID0gMjsKKyAgICAgICAgICAgIG8uZCA9IDM7CisgICAgICAg
ICAgICBvLmUgPSA0OworICAgICAgICAgICAgby5mID0gNTsKKyAgICAgICAgICAgIG8uZyA9IDY7
CisgICAgICAgICAgICBvLmggPSA3OworICAgICAgICAgICAgby5pID0gODsKKyAgICAgICAgICAg
IG8uaiA9IDk7CisgICAgICAgICAgICBvLmsgPSAxMDsKKyAgICAgICAgICAgIG8ubCA9IDExOwor
ICAgICAgICAgICAgby5tID0gMTI7CisgICAgICAgICAgICBvLm4gPSAxMzsKKyAgICAgICAgICAg
IG8ubyA9IDE0OworICAgICAgICAgICAgby5wID0gMTU7CisgICAgICAgICAgICBvLnEgPSAwOwor
ICAgICAgICAgICAgby5yID0gMTsKKyAgICAgICAgICAgIG8ucyA9IDI7CisgICAgICAgICAgICBv
LnQgPSAzOworICAgICAgICAgICAgby51ID0gNDsKKyAgICAgICAgICAgIG8udiA9IDU7CisgICAg
ICAgICAgICBvLncgPSA2OworICAgICAgICAgICAgby54ID0gNzsKKyAgICAgICAgICAgIG8ueSA9
IDg7CisgICAgICAgICAgICBvLnogPSA5OworICAgICAgICAgICAgZyA9IG87CisgICAgICAgIH0K
KyAgICAgICAgcmV0dXJuIGc7CisgICAgfSgpKTsKK2ApOwo=
</data>
<flag name="review"
          id="397115"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>