<?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>200807</bug_id>
          
          <creation_ts>2019-08-15 23:18:28 -0700</creation_ts>
          <short_desc>[JSC] WebAssembly BBQ should switch compile mode for size of modules</short_desc>
          <delta_ts>2020-01-15 17:39:19 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=200686</see_also>
          <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>evan.exe</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>walter</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1561941</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-08-15 23:18:28 -0700</bug_when>
    <thetext>On ARM devices, our fixed executable memory size is only 128MB, and it cannot be expanded further since 128MB is the maximum value of relative jump in ARM.
As a result, some of Wasm apps exhaust executable memory. Wasm interpreter should be a long term solution.
As a short term solution, we should have heuristics that switches compiler mode in BBQ: BBQ Air bloats simple code which takes much executable memory. Use BBQ B3 instead for significantly large wasm code on executable-memory-limited environments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561942</commentid>
    <comment_count>1</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-08-15 23:19:34 -0700</bug_when>
    <thetext>&lt;rdar://problem/54275409&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561998</commentid>
    <comment_count>2</comment_count>
      <attachid>376488</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-08-16 02:49:04 -0700</bug_when>
    <thetext>Created attachment 376488
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1562040</commentid>
    <comment_count>3</comment_count>
      <attachid>376488</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-08-16 08:39:42 -0700</bug_when>
    <thetext>Comment on attachment 376488
Patch

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

r=me

&gt; Source/JavaScriptCore/ChangeLog:10
&gt; +        the sacrifice of start-up time, since BBQ Air bloats so lengthy code consuming large amount of executable memory.

I suggest /bloats so lengthy code consuming large/bloats such lengthy code, and thereby consumes a large/.

&gt; Source/JavaScriptCore/runtime/Options.h:495
&gt; +    v(size, webAssemblyBBQAirModeThreshold, isIOS() ? (10 &lt;&lt; 20) : 0, Normal, &quot;If 0, we always use BBQ Air. If Wasm module code size hits this threshold, we compile Wasm module with B3 BBQ mode.&quot;) \

I suggest using 10 * MB instead.

&gt; Source/JavaScriptCore/wasm/WasmBBQPlan.cpp:144
&gt; +    // FIXME: Some webpages use very large Wasm module, and it exhausts all executable memory in ARM64 devices since the size of executable memory region is 128MB.

/is 128MB/is only limited to 128MB/.

&gt; Source/JavaScriptCore/wasm/WasmBBQPlan.cpp:145
&gt; +    // The long term solution should be introducing Wasm interpreter. But as a short term solution, we introduce heuristics switching back to BBQ B3 at the sacrifice of start-up time,

/should be introducing Wasm interpreter/should be to introduce a Wasm interpreter/.
/heuristics switching back/heuristics to switch back/.

&gt; Source/JavaScriptCore/wasm/WasmBBQPlan.cpp:146
&gt; +    // since BBQ Air bloats so lengthy code consuming large amount of executable memory.

I suggest rephrasing as “as BBQ Air bloats such lengthy Wasm code and will consume a large ...”</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1562341</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-08-16 18:03:15 -0700</bug_when>
    <thetext>Ah, oops. I need to change the fallback code to module information collecting part.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1562353</commentid>
    <comment_count>5</comment_count>
      <attachid>376574</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-08-16 18:57:52 -0700</bug_when>
    <thetext>Created attachment 376574
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1562379</commentid>
    <comment_count>6</comment_count>
      <attachid>376574</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2019-08-16 20:10:22 -0700</bug_when>
    <thetext>Comment on attachment 376574
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:12
&gt; +        Currently, I picked 10MB since the reported website is using 11MB wasm module.

Since the amount of memory on iOS devices is likely to change over time, can this be made in terms of some runtime signal?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1562395</commentid>
    <comment_count>7</comment_count>
      <attachid>376574</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-08-16 20:59:09 -0700</bug_when>
    <thetext>Comment on attachment 376574
Patch

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

&gt;&gt; Source/JavaScriptCore/ChangeLog:12
&gt;&gt; +        Currently, I picked 10MB since the reported website is using 11MB wasm module.
&gt; 
&gt; Since the amount of memory on iOS devices is likely to change over time, can this be made in terms of some runtime signal?

The problem is that we are exhausting executable-memory, not usual memory. In our JIT executable memory allocator, we allocate fixed-sized executable memory, and use it for JIT functions.
The size of this fixed-sized executable-memory region is the same in all the iOS devices, 128MB. And this size is not related to device&apos;s memory size. This is related to ARM64 instruction sets.
We cannot extend it further for now, since this 128MB size is derived from the maximum-relative-jump-offset in ARM64 instruction set.
In JSC, right now, we are assuming that any JIT code can be reachable from the other JIT code with relative-offset-jump. Since ARM64&apos;s relative-offset-jump is +- 128MB, this 128MB executable memory region is the maximum size in the current design.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1562527</commentid>
    <comment_count>8</comment_count>
      <attachid>376574</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-08-17 17:43:53 -0700</bug_when>
    <thetext>Comment on attachment 376574
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1562542</commentid>
    <comment_count>9</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-08-17 18:46:35 -0700</bug_when>
    <thetext>(In reply to Mark Lam from comment #8)
&gt; Comment on attachment 376574 [details]
&gt; Patch
&gt; 
&gt; r=me

Thanks, landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1562543</commentid>
    <comment_count>10</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-08-17 18:48:03 -0700</bug_when>
    <thetext>Committed r248824: &lt;https://trac.webkit.org/changeset/248824&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1562945</commentid>
    <comment_count>11</comment_count>
      <attachid>376574</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-08-19 22:13:26 -0700</bug_when>
    <thetext>Comment on attachment 376574
Patch

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

&gt; Source/JavaScriptCore/wasm/WasmBBQPlan.cpp:273
&gt; +        // FIXME: Some webpages use very large Wasm module, and it exhausts all executable memory in ARM64 devices since the size of executable memory region is only limited to 128MB.

what web pages?

Also, this falls down if you compile many modules, instead of one big module. This doesn&apos;t feel like a very robust solution to this problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1562975</commentid>
    <comment_count>12</comment_count>
      <attachid>376574</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-08-20 00:16:03 -0700</bug_when>
    <thetext>Comment on attachment 376574
Patch

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

&gt;&gt; Source/JavaScriptCore/wasm/WasmBBQPlan.cpp:273
&gt;&gt; +        // FIXME: Some webpages use very large Wasm module, and it exhausts all executable memory in ARM64 devices since the size of executable memory region is only limited to 128MB.
&gt; 
&gt; what web pages?
&gt; 
&gt; Also, this falls down if you compile many modules, instead of one big module. This doesn&apos;t feel like a very robust solution to this problem.

The radar includes the information about this page.
This fix is not aiming at being the robust solution as described in this FIXME. This is short term solution until Wasm interpreter is introduced.
The motivation behind this fix is, it is better than having some pages working rather than completely not-working.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1567628</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-09-03 20:40:44 -0700</bug_when>
    <thetext>*** Bug 200686 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572191</commentid>
    <comment_count>14</comment_count>
    <who name="Walter Stumpf">walter</who>
    <bug_when>2019-09-18 19:15:31 -0700</bug_when>
    <thetext>Hello,

Thanks for resolving this issue so quickly!  I was wondering if you guys knew ballpark when this patch will land in iOS.  I’m assuming it’s too late for 13.0 since the regression still occurs for me in 13.1 beta 4.  I don’t mean that as a complaint!  But I’m trying to get an appreciation for which versions of iOS we should be blocking for end users.  Thanks again for the help!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572375</commentid>
    <comment_count>15</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2019-09-19 09:11:40 -0700</bug_when>
    <thetext>(In reply to Walter Stumpf from comment #14)
&gt; Hello,
&gt; 
&gt; Thanks for resolving this issue so quickly!  I was wondering if you guys
&gt; knew ballpark when this patch will land in iOS.  I’m assuming it’s too late
&gt; for 13.0 since the regression still occurs for me in 13.1 beta 4.  I don’t
&gt; mean that as a complaint!  But I’m trying to get an appreciation for which
&gt; versions of iOS we should be blocking for end users.  Thanks again for the
&gt; help!

Hi Walter,

First, sorry about the regression. Unfortunately, Apple has a policy of not commenting on future product releases, however, so we can&apos;t give a definitive timeline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572421</commentid>
    <comment_count>16</comment_count>
    <who name="Walter Stumpf">walter</who>
    <bug_when>2019-09-19 11:41:26 -0700</bug_when>
    <thetext>No problem, I completely understand.  We greatly appreciate the webkit team even working around the problem for us in the first place!  I will continue to cross my fingers when installing new iOS betas in the meantime! :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576098</commentid>
    <comment_count>17</comment_count>
    <who name="Walter Stumpf">walter</who>
    <bug_when>2019-10-02 12:00:31 -0700</bug_when>
    <thetext>Hey just wanted to confirm iOS 13.2 beta resolves the issue for us!  Thank you!!!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376488</attachid>
            <date>2019-08-16 02:49:04 -0700</date>
            <delta_ts>2019-08-16 18:57:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200807-20190816024903.patch</filename>
            <type>text/plain</type>
            <size>9412</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4NzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
OGRiMzg5ZGFmMTFiYjJiYjYyNzQyZTNmZDQ1ZTI1NmE3MjI0NTBhLi4wMjY0MGNlYjQ4ZDkwNDJi
MzYzYzI4MDY0OTBmZGUxZGNlMTgyMGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAxOS0wOC0xNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFdlYkFzc2VtYmx5IEJCUSBzaG91bGQgc3dpdGNoIGNvbXBpbGUg
bW9kZSBmb3Igc2l6ZSBvZiBtb2R1bGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDA4MDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTb21lIHdlYnBhZ2VzIHVzZSB2ZXJ5IGxhcmdlIFdhc20gbW9kdWxl
LCBhbmQgaXQgZXhoYXVzdHMgYWxsIGV4ZWN1dGFibGUgbWVtb3J5IGluIEFSTTY0IGRldmljZXMg
c2luY2UgdGhlIHNpemUgb2YgZXhlY3V0YWJsZSBtZW1vcnkgcmVnaW9uIGlzIDEyOE1CLgorICAg
ICAgICBUaGUgbG9uZyB0ZXJtIHNvbHV0aW9uIHNob3VsZCBiZSBpbnRyb2R1Y2luZyBXYXNtIGlu
dGVycHJldGVyLiBCdXQgYXMgYSBzaG9ydCB0ZXJtIHNvbHV0aW9uLCB3ZSBpbnRyb2R1Y2UgaGV1
cmlzdGljcyBzd2l0Y2hpbmcgYmFjayB0byBCQlEgQjMgYXQKKyAgICAgICAgdGhlIHNhY3JpZmlj
ZSBvZiBzdGFydC11cCB0aW1lLCBzaW5jZSBCQlEgQWlyIGJsb2F0cyBzbyBsZW5ndGh5IGNvZGUg
Y29uc3VtaW5nIGxhcmdlIGFtb3VudCBvZiBleGVjdXRhYmxlIG1lbW9yeS4KKworICAgICAgICBD
dXJyZW50bHksIEkgcGlja2VkIDEwTUIgc2luY2UgdGhlIHJlcG9ydGVkIHdlYnNpdGUgaXMgdXNp
bmcgMTFNQiB3YXNtIG1vZHVsZS4KKworICAgICAgICAqIHJ1bnRpbWUvT3B0aW9ucy5oOgorICAg
ICAgICAqIHdhc20vV2FzbUFpcklSR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2FzbTo6
cGFyc2VBbmRDb21waWxlQWlyKToKKyAgICAgICAgKiB3YXNtL1dhc21CM0lSR2VuZXJhdG9yLmNw
cDoKKyAgICAgICAgKEpTQzo6V2FzbTo6cGFyc2VBbmRDb21waWxlKToKKyAgICAgICAgKiB3YXNt
L1dhc21CQlFQbGFuLmNwcDoKKyAgICAgICAgKEpTQzo6V2FzbTo6QkJRUGxhbjo6cGFyc2VBbmRW
YWxpZGF0ZU1vZHVsZSk6CisgICAgICAgIChKU0M6Oldhc206OkJCUVBsYW46OmNvbXBpbGVGdW5j
dGlvbnMpOgorICAgICAgICAqIHdhc20vV2FzbUJCUVBsYW4uaDoKKwogMjAxOS0wOC0xNSAgWXVz
dWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtXVEZdIEFkZCBtYWtl
VW5pcXVlPFQ+LCB3aGljaCBlbnN1cmVzIFQgaXMgZmFzdC1hbGxvY2F0ZWQsIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEIGFubm90YXRpb24gcGFydApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
T3B0aW9ucy5oCmluZGV4IGI0NzY3MzdmZTAwMzYxZGY1YzM5ODRkZjNlZDYzOGZhNDJmMmY2Y2Iu
LmI4NzM4M2NmNTYxN2QzZGI2M2NjNTFlNzE3MDcxZWM0MGQyOWQ2MDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKQEAgLTQ3Niw3ICs0NzYsOCBAQCBjb25zdGV4cHIg
Ym9vbCBlbmFibGVXZWJBc3NlbWJseVN0cmVhbWluZ0FwaSA9IGZhbHNlOwogICAgIFwKICAgICB2
KGJvb2wsIGZhaWxUb0NvbXBpbGVXZWJBc3NlbWJseUNvZGUsIGZhbHNlLCBOb3JtYWwsICJJZiB0
cnVlLCBubyBXYXNtOjpQbGFuIHdpbGwgc3VjZXNzZnVsbHkgY29tcGlsZSBhIGZ1bmN0aW9uLiIp
IFwKICAgICB2KHNpemUsIHdlYkFzc2VtYmx5UGFydGlhbENvbXBpbGVMaW1pdCwgNTAwMCwgTm9y
bWFsLCAiTGltaXQgb24gdGhlIG51bWJlciBvZiBieXRlcyBhIFdhc206OlBsYW46OmNvbXBpbGUg
c2hvdWxkIGF0dGVtcHQgYmVmb3JlIGNoZWNraW5nIGZvciBvdGhlciB3b3JrLiIpIFwKLSAgICB2
KHVuc2lnbmVkLCB3ZWJBc3NlbWJseUJCUU9wdGltaXphdGlvbkxldmVsLCAwLCBOb3JtYWwsICJC
MyBPcHRpbWl6YXRpb24gbGV2ZWwgZm9yIEJCUSBXZWIgQXNzZW1ibHkgbW9kdWxlIGNvbXBpbGF0
aW9ucy4iKSBcCisgICAgdih1bnNpZ25lZCwgd2ViQXNzZW1ibHlCQlFBaXJPcHRpbWl6YXRpb25M
ZXZlbCwgMCwgTm9ybWFsLCAiQWlyIE9wdGltaXphdGlvbiBsZXZlbCBmb3IgQkJRIFdlYiBBc3Nl
bWJseSBtb2R1bGUgY29tcGlsYXRpb25zLiIpIFwKKyAgICB2KHVuc2lnbmVkLCB3ZWJBc3NlbWJs
eUJCUUIzT3B0aW1pemF0aW9uTGV2ZWwsIDEsIE5vcm1hbCwgIkIzIE9wdGltaXphdGlvbiBsZXZl
bCBmb3IgQkJRIFdlYiBBc3NlbWJseSBtb2R1bGUgY29tcGlsYXRpb25zLiIpIFwKICAgICB2KHVu
c2lnbmVkLCB3ZWJBc3NlbWJseU9NR09wdGltaXphdGlvbkxldmVsLCBPcHRpb25zOjpkZWZhdWx0
QjNPcHRMZXZlbCgpLCBOb3JtYWwsICJCMyBPcHRpbWl6YXRpb24gbGV2ZWwgZm9yIE9NRyBXZWIg
QXNzZW1ibHkgbW9kdWxlIGNvbXBpbGF0aW9ucy4iKSBcCiAgICAgXAogICAgIHYoYm9vbCwgdXNl
QkJRVGllclVwQ2hlY2tzLCB0cnVlLCBOb3JtYWwsICJFbmFibGVzIHRpZXIgdXAgY2hlY2tzIGZv
ciBvdXIgQkJRIGNvZGUuIikgXApAQCAtNDkxLDYgKzQ5Miw3IEBAIGNvbnN0ZXhwciBib29sIGVu
YWJsZVdlYkFzc2VtYmx5U3RyZWFtaW5nQXBpID0gZmFsc2U7CiAgICAgdih1bnNpZ25lZCwgbWF4
TnVtV2ViQXNzZW1ibHlGYXN0TWVtb3JpZXMsIDQsIE5vcm1hbCwgbnVsbHB0cikgXAogICAgIHYo
Ym9vbCwgdXNlRmFzdFRMU0Zvcldhc21Db250ZXh0LCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3
ZSB3aWxsIHN0b3JlIGNvbnRleHQgaW4gZmFzdCBUTFMuIElmIGZhbHNlLCB3ZSB3aWxsIHBpbiBp
dCB0byBhIHJlZ2lzdGVyLiIpIFwKICAgICB2KGJvb2wsIHdhc21CQlFVc2VzQWlyLCB0cnVlLCBO
b3JtYWwsIG51bGxwdHIpIFwKKyAgICB2KHNpemUsIHdlYkFzc2VtYmx5QkJRQWlyTW9kZVRocmVz
aG9sZCwgaXNJT1MoKSA/ICgxMCA8PCAyMCkgOiAwLCBOb3JtYWwsICJJZiAwLCB3ZSBhbHdheXMg
dXNlIEJCUSBBaXIuIElmIFdhc20gbW9kdWxlIGNvZGUgc2l6ZSBoaXRzIHRoaXMgdGhyZXNob2xk
LCB3ZSBjb21waWxlIFdhc20gbW9kdWxlIHdpdGggQjMgQkJRIG1vZGUuIikgXAogICAgIHYoYm9v
bCwgdXNlV2ViQXNzZW1ibHlTdHJlYW1pbmdBcGksIGVuYWJsZVdlYkFzc2VtYmx5U3RyZWFtaW5n
QXBpLCBOb3JtYWwsICJBbGxvdyB0byBydW4gV2ViQXNzZW1ibHkncyBTdHJlYW1pbmcgQVBJIikg
XAogICAgIHYoYm9vbCwgdXNlQ2FsbElDc0ZvcldlYkFzc2VtYmx5VG9KU0NhbGxzLCB0cnVlLCBO
b3JtYWwsICJJZiB0cnVlLCB3ZSB3aWxsIHVzZSBDYWxsTGlua0luZm8gdG8gaW5saW5lIGNhY2hl
IFdhc20gdG8gSlMgY2FsbHMuIikgXAogICAgIHYoYm9vbCwgdXNlRWFnZXJXZWJBc3NlbWJseU1v
ZHVsZUhhc2hpbmcsIGZhbHNlLCBOb3JtYWwsICJVbm5hbWVkIFdlYkFzc2VtYmx5IG1vZHVsZXMg
YXJlIGlkZW50aWZpZWQgaW4gYmFja3RyYWNlcyB0aHJvdWdoIHRoZWlyIGhhc2gsIGlmIGF2YWls
YWJsZS4iKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQWly
SVJHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUFpcklSR2Vu
ZXJhdG9yLmNwcAppbmRleCAyNGYxOGFkMDJkZTJmZWY5MDA5MzQ0ODY0MzBjOThmZTk0OTQyNGVm
Li5lN2NkZjg2ZDlmYjMyMGU0Y2VlM2Q5YmNmNTRkMDNiZDIwN2FmNWMxIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQWlySVJHZW5lcmF0b3IuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21BaXJJUkdlbmVyYXRvci5jcHAKQEAgLTIxNTgs
NyArMjE1OCw3IEBAIEV4cGVjdGVkPHN0ZDo6dW5pcXVlX3B0cjxJbnRlcm5hbEZ1bmN0aW9uPiwg
U3RyaW5nPiBwYXJzZUFuZENvbXBpbGVBaXIoQ29tcGlsYXRpCiAgICAgLy8gb3B0TGV2ZWw9MS4K
ICAgICBwcm9jZWR1cmUuc2V0TmVlZHNVc2VkUmVnaXN0ZXJzKGZhbHNlKTsKICAgICAKLSAgICBw
cm9jZWR1cmUuc2V0T3B0TGV2ZWwoT3B0aW9uczo6d2ViQXNzZW1ibHlCQlFPcHRpbWl6YXRpb25M
ZXZlbCgpKTsKKyAgICBwcm9jZWR1cmUuc2V0T3B0TGV2ZWwoT3B0aW9uczo6d2ViQXNzZW1ibHlC
QlFBaXJPcHRpbWl6YXRpb25MZXZlbCgpKTsKIAogICAgIEFpcklSR2VuZXJhdG9yIGlyR2VuZXJh
dG9yKGluZm8sIHByb2NlZHVyZSwgcmVzdWx0LmdldCgpLCB1bmxpbmtlZFdhc21Ub1dhc21DYWxs
cywgbW9kZSwgZnVuY3Rpb25JbmRleCwgdGllclVwLCB0aHJvd1dhc21FeGNlcHRpb24sIHNpZ25h
dHVyZSk7CiAgICAgRnVuY3Rpb25QYXJzZXI8QWlySVJHZW5lcmF0b3I+IHBhcnNlcihpckdlbmVy
YXRvciwgZnVuY3Rpb25TdGFydCwgZnVuY3Rpb25MZW5ndGgsIHNpZ25hdHVyZSwgaW5mbyk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5jcHAKaW5k
ZXggMjA5NDE3N2VkNmYxODNhYjRkODYyZWMyMjY3ZDMwZjI4YjdkZTViNi4uOTJkOWY0OGZjODBh
OTcxZTJhMGM0OWVjZTIyYTRjMjVjMTBmZjg0NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL1dhc21CM0lSR2VuZXJhdG9yLmNwcApAQCAtMTU3MCw3ICsxNTcwLDcgQEAgRXhw
ZWN0ZWQ8c3RkOjp1bmlxdWVfcHRyPEludGVybmFsRnVuY3Rpb24+LCBTdHJpbmc+IHBhcnNlQW5k
Q29tcGlsZShDb21waWxhdGlvbkMKICAgICBwcm9jZWR1cmUuc2V0TmVlZHNVc2VkUmVnaXN0ZXJz
KGZhbHNlKTsKICAgICAKICAgICBwcm9jZWR1cmUuc2V0T3B0TGV2ZWwoY29tcGlsYXRpb25Nb2Rl
ID09IENvbXBpbGF0aW9uTW9kZTo6QkJRTW9kZQotICAgICAgICA/IE9wdGlvbnM6OndlYkFzc2Vt
Ymx5QkJRT3B0aW1pemF0aW9uTGV2ZWwoKQorICAgICAgICA/IE9wdGlvbnM6OndlYkFzc2VtYmx5
QkJRQjNPcHRpbWl6YXRpb25MZXZlbCgpCiAgICAgICAgIDogT3B0aW9uczo6d2ViQXNzZW1ibHlP
TUdPcHRpbWl6YXRpb25MZXZlbCgpKTsKIAogICAgIEIzSVJHZW5lcmF0b3IgaXJHZW5lcmF0b3Io
aW5mbywgcHJvY2VkdXJlLCByZXN1bHQuZ2V0KCksIHVubGlua2VkV2FzbVRvV2FzbUNhbGxzLCBt
b2RlLCBjb21waWxhdGlvbk1vZGUsIGZ1bmN0aW9uSW5kZXgsIHRpZXJVcCwgdGhyb3dXYXNtRXhj
ZXB0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CQlFQ
bGFuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CQlFQbGFuLmNwcAppbmRl
eCBmOTg1ZDUyM2MyZTkzZjNiZDIzZmI3YzU3MTJiNTg2OGNjMTZhNjg1Li4zOGY5MDU5NDE5Yzky
OTczODNiZDZhYWQzY2VmNjU4ZDcxZTUyYjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9XYXNtQkJRUGxhbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV2FzbUJCUVBsYW4uY3BwCkBAIC0xMTMsNiArMTEzLDggQEAgYm9vbCBCQlFQbGFuOjpwYXJz
ZUFuZFZhbGlkYXRlTW9kdWxlKGNvbnN0IHVpbnQ4X3QqIHNvdXJjZSwgc2l6ZV90IHNvdXJjZUxl
bmd0aCkKICAgICAgICAgfQogICAgIH0KIAorICAgIC8vIFdlIGRvIG5vdCB3YW50IHRvIGluY2x1
ZGUgZGF0YSBzZWN0aW9uIHNpemUgdG8gcGVyZm9ybSBoZXVyaXN0aWNzLgorICAgIHNpemVfdCB0
b3RhbFdhc21Db2RlU2l6ZSA9IDA7CiAgICAgY29uc3QgYXV0byYgZnVuY3Rpb25zID0gbV9tb2R1
bGVJbmZvcm1hdGlvbi0+ZnVuY3Rpb25zOwogICAgIGZvciAodW5zaWduZWQgZnVuY3Rpb25JbmRl
eCA9IDA7IGZ1bmN0aW9uSW5kZXggPCBmdW5jdGlvbnMuc2l6ZSgpOyArK2Z1bmN0aW9uSW5kZXgp
IHsKICAgICAgICAgY29uc3QgYXV0byYgZnVuY3Rpb24gPSBmdW5jdGlvbnNbZnVuY3Rpb25JbmRl
eF07CkBAIC0xMjIsNiArMTI0LDcgQEAgYm9vbCBCQlFQbGFuOjpwYXJzZUFuZFZhbGlkYXRlTW9k
dWxlKGNvbnN0IHVpbnQ4X3QqIHNvdXJjZSwgc2l6ZV90IHNvdXJjZUxlbmd0aCkKICAgICAgICAg
QVNTRVJUKGZ1bmN0aW9uTGVuZ3RoID09IGZ1bmN0aW9uLmRhdGEuc2l6ZSgpKTsKICAgICAgICAg
U2lnbmF0dXJlSW5kZXggc2lnbmF0dXJlSW5kZXggPSBtX21vZHVsZUluZm9ybWF0aW9uLT5pbnRl
cm5hbEZ1bmN0aW9uU2lnbmF0dXJlSW5kaWNlc1tmdW5jdGlvbkluZGV4XTsKICAgICAgICAgY29u
c3QgU2lnbmF0dXJlJiBzaWduYXR1cmUgPSBTaWduYXR1cmVJbmZvcm1hdGlvbjo6Z2V0KHNpZ25h
dHVyZUluZGV4KTsKKyAgICAgICAgdG90YWxXYXNtQ29kZVNpemUgKz0gZnVuY3Rpb25MZW5ndGg7
CiAKICAgICAgICAgYXV0byB2YWxpZGF0aW9uUmVzdWx0ID0gdmFsaWRhdGVGdW5jdGlvbihmdW5j
dGlvbi5kYXRhLmRhdGEoKSwgZnVuY3Rpb24uZGF0YS5zaXplKCksIHNpZ25hdHVyZSwgbV9tb2R1
bGVJbmZvcm1hdGlvbi5nZXQoKSk7CiAgICAgICAgIGlmICghdmFsaWRhdGlvblJlc3VsdCkgewpA
QCAtMTM4LDYgKzE0MSwxMiBAQCBib29sIEJCUVBsYW46OnBhcnNlQW5kVmFsaWRhdGVNb2R1bGUo
Y29uc3QgdWludDhfdCogc291cmNlLCBzaXplX3Qgc291cmNlTGVuZ3RoKQogICAgIGlmIChXYXNt
QkJRUGxhbkludGVybmFsOjp2ZXJib3NlIHx8IE9wdGlvbnM6OnJlcG9ydENvbXBpbGVUaW1lcygp
KQogICAgICAgICBkYXRhTG9nTG4oIlRvb2sgIiwgKE1vbm90b25pY1RpbWU6Om5vdygpIC0gc3Rh
cnRUaW1lKS5taWNyb3NlY29uZHMoKSwgIiB1cyB0byB2YWxpZGF0ZSBtb2R1bGUiKTsKIAorICAg
IC8vIEZJWE1FOiBTb21lIHdlYnBhZ2VzIHVzZSB2ZXJ5IGxhcmdlIFdhc20gbW9kdWxlLCBhbmQg
aXQgZXhoYXVzdHMgYWxsIGV4ZWN1dGFibGUgbWVtb3J5IGluIEFSTTY0IGRldmljZXMgc2luY2Ug
dGhlIHNpemUgb2YgZXhlY3V0YWJsZSBtZW1vcnkgcmVnaW9uIGlzIDEyOE1CLgorICAgIC8vIFRo
ZSBsb25nIHRlcm0gc29sdXRpb24gc2hvdWxkIGJlIGludHJvZHVjaW5nIFdhc20gaW50ZXJwcmV0
ZXIuIEJ1dCBhcyBhIHNob3J0IHRlcm0gc29sdXRpb24sIHdlIGludHJvZHVjZSBoZXVyaXN0aWNz
IHN3aXRjaGluZyBiYWNrIHRvIEJCUSBCMyBhdCB0aGUgc2FjcmlmaWNlIG9mIHN0YXJ0LXVwIHRp
bWUsCisgICAgLy8gc2luY2UgQkJRIEFpciBibG9hdHMgc28gbGVuZ3RoeSBjb2RlIGNvbnN1bWlu
ZyBsYXJnZSBhbW91bnQgb2YgZXhlY3V0YWJsZSBtZW1vcnkuCisgICAgaWYgKE9wdGlvbnM6Ondl
YkFzc2VtYmx5QkJRQWlyTW9kZVRocmVzaG9sZCgpICYmIHRvdGFsV2FzbUNvZGVTaXplID49IE9w
dGlvbnM6OndlYkFzc2VtYmx5QkJRQWlyTW9kZVRocmVzaG9sZCgpKQorICAgICAgICBtX2ZvcmNl
VXNpbmdCMyA9IHRydWU7CisKICAgICBtb3ZlVG9TdGF0ZShTdGF0ZTo6VmFsaWRhdGVkKTsKICAg
ICBpZiAobV9hc3luY1dvcmsgPT0gVmFsaWRhdGlvbikKICAgICAgICAgY29tcGxldGUoaG9sZExv
Y2sobV9sb2NrKSk7CkBAIC0yNjksNyArMjc4LDcgQEAgdm9pZCBCQlFQbGFuOjpjb21waWxlRnVu
Y3Rpb25zKENvbXBpbGF0aW9uRWZmb3J0IGVmZm9ydCkKICAgICAgICAgbV91bmxpbmtlZFdhc21U
b1dhc21DYWxsc1tmdW5jdGlvbkluZGV4XSA9IFZlY3RvcjxVbmxpbmtlZFdhc21Ub1dhc21DYWxs
PigpOwogICAgICAgICBUaWVyVXBDb3VudCogdGllclVwID0gT3B0aW9uczo6dXNlQkJRVGllclVw
Q2hlY2tzKCkgPyAmbV90aWVyVXBDb3VudHNbZnVuY3Rpb25JbmRleF0gOiBudWxscHRyOwogICAg
ICAgICBFeHBlY3RlZDxzdGQ6OnVuaXF1ZV9wdHI8SW50ZXJuYWxGdW5jdGlvbj4sIFN0cmluZz4g
cGFyc2VBbmRDb21waWxlUmVzdWx0OwotICAgICAgICBpZiAoT3B0aW9uczo6d2FzbUJCUVVzZXNB
aXIoKSkKKyAgICAgICAgaWYgKCFtX2ZvcmNlVXNpbmdCMyAmJiBPcHRpb25zOjp3YXNtQkJRVXNl
c0FpcigpKQogICAgICAgICAgICAgcGFyc2VBbmRDb21waWxlUmVzdWx0ID0gcGFyc2VBbmRDb21w
aWxlQWlyKG1fY29tcGlsYXRpb25Db250ZXh0c1tmdW5jdGlvbkluZGV4XSwgZnVuY3Rpb24uZGF0
YS5kYXRhKCksIGZ1bmN0aW9uLmRhdGEuc2l6ZSgpLCBzaWduYXR1cmUsIG1fdW5saW5rZWRXYXNt
VG9XYXNtQ2FsbHNbZnVuY3Rpb25JbmRleF0sIG1fbW9kdWxlSW5mb3JtYXRpb24uZ2V0KCksIG1f
bW9kZSwgZnVuY3Rpb25JbmRleCwgdGllclVwLCBtX3Rocm93V2FzbUV4Y2VwdGlvbik7CiAgICAg
ICAgIGVsc2UKICAgICAgICAgICAgIHBhcnNlQW5kQ29tcGlsZVJlc3VsdCA9IHBhcnNlQW5kQ29t
cGlsZShtX2NvbXBpbGF0aW9uQ29udGV4dHNbZnVuY3Rpb25JbmRleF0sIGZ1bmN0aW9uLmRhdGEu
ZGF0YSgpLCBmdW5jdGlvbi5kYXRhLnNpemUoKSwgc2lnbmF0dXJlLCBtX3VubGlua2VkV2FzbVRv
V2FzbUNhbGxzW2Z1bmN0aW9uSW5kZXhdLCBtX21vZHVsZUluZm9ybWF0aW9uLmdldCgpLCBtX21v
ZGUsIENvbXBpbGF0aW9uTW9kZTo6QkJRTW9kZSwgZnVuY3Rpb25JbmRleCwgdGllclVwLCBtX3Ro
cm93V2FzbUV4Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9XYXNtQkJRUGxhbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUJCUVBsYW4u
aAppbmRleCA5NDFhYzc1ZjcwZTZmOTExYjlmYmIzZGRiMTM3OGNjZjk2OTk0MWFkLi5jN2NkYWE4
ZDhkY2EwYTAzMDg3ZTg0MWMyNTBlYzc4ODZkNTM3MTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9XYXNtQkJRUGxhbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL1dhc21CQlFQbGFuLmgKQEAgLTE1Myw2ICsxNTMsNyBAQCBjbGFzcyBCQlFQbGFuIGZp
bmFsIDogcHVibGljIFBsYW4gewogCiAgICAgY29uc3QgQXN5bmNXb3JrIG1fYXN5bmNXb3JrOwog
ICAgIHVpbnQ4X3QgbV9udW1iZXJPZkFjdGl2ZVRocmVhZHMgeyAwIH07CisgICAgYm9vbCBtX2Zv
cmNlVXNpbmdCMyB7IGZhbHNlIH07CiAgICAgdWludDMyX3QgbV9jdXJyZW50SW5kZXggeyAwIH07
CiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376574</attachid>
            <date>2019-08-16 18:57:52 -0700</date>
            <delta_ts>2019-08-17 17:43:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200807-20190816185751.patch</filename>
            <type>text/plain</type>
            <size>9966</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4Nzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
MmY0MmFhNGY5MDMwNTI4MzE1ZjBmYzEyYzdhNzg4ZGM0OTQxOGFiLi5mOGZmNjNhNjkwNjk0NDAy
NWU3MmZkZGUyNDg2NzIxZDE2YzU4YjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxOS0wOC0xNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFdlYkFzc2VtYmx5IEJCUSBzaG91bGQgc3dpdGNoIGNvbXBpbGUg
bW9kZSBmb3Igc2l6ZSBvZiBtb2R1bGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDA4MDcKKworICAgICAgICBSZXZpZXdlZCBieSBNYXJrIExhbS4K
KworICAgICAgICBTb21lIHdlYnBhZ2VzIHVzZSB2ZXJ5IGxhcmdlIFdhc20gbW9kdWxlLCBhbmQg
aXQgZXhoYXVzdHMgYWxsIGV4ZWN1dGFibGUgbWVtb3J5IGluIEFSTTY0IGRldmljZXMgc2luY2Ug
dGhlIHNpemUgb2YgZXhlY3V0YWJsZSBtZW1vcnkgcmVnaW9uIGlzIDEyOE1CLgorICAgICAgICBU
aGUgbG9uZyB0ZXJtIHNvbHV0aW9uIHNob3VsZCBiZSBpbnRyb2R1Y2luZyBXYXNtIGludGVycHJl
dGVyLiBCdXQgYXMgYSBzaG9ydCB0ZXJtIHNvbHV0aW9uLCB3ZSBpbnRyb2R1Y2UgaGV1cmlzdGlj
cyBzd2l0Y2hpbmcgYmFjayB0byBCQlEgQjMgYXQKKyAgICAgICAgdGhlIHNhY3JpZmljZSBvZiBz
dGFydC11cCB0aW1lLCBzaW5jZSBCQlEgQWlyIGJsb2F0cyBzdWNoIGxlbmd0aHkgY29kZSwgYW5k
IHRoZXJlYnkgY29uc3VtZXMgYSBsYXJnZSBhbW91bnQgb2YgZXhlY3V0YWJsZSBtZW1vcnkuCisK
KyAgICAgICAgQ3VycmVudGx5LCBJIHBpY2tlZCAxME1CIHNpbmNlIHRoZSByZXBvcnRlZCB3ZWJz
aXRlIGlzIHVzaW5nIDExTUIgd2FzbSBtb2R1bGUuCisKKyAgICAgICAgKiBydW50aW1lL09wdGlv
bnMuaDoKKyAgICAgICAgKiB3YXNtL1dhc21BaXJJUkdlbmVyYXRvci5jcHA6CisgICAgICAgIChK
U0M6Oldhc206OnBhcnNlQW5kQ29tcGlsZUFpcik6CisgICAgICAgICogd2FzbS9XYXNtQjNJUkdl
bmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6Oldhc206OnBhcnNlQW5kQ29tcGlsZSk6CisgICAg
ICAgICogd2FzbS9XYXNtQkJRUGxhbi5jcHA6CisgICAgICAgIChKU0M6Oldhc206OkJCUVBsYW46
OmNvbXBpbGVGdW5jdGlvbnMpOgorICAgICAgICAqIHdhc20vV2FzbU1vZHVsZUluZm9ybWF0aW9u
Lmg6CisgICAgICAgICogd2FzbS9XYXNtU2VjdGlvblBhcnNlci5jcHA6CisgICAgICAgIChKU0M6
Oldhc206OlNlY3Rpb25QYXJzZXI6OnBhcnNlQ29kZSk6CisgICAgICAgICogd2FzbS9XYXNtU3Ry
ZWFtaW5nUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6V2FzbTo6U3RyZWFtaW5nUGFyc2VyOjpw
YXJzZUNvZGVTZWN0aW9uU2l6ZSk6CisKIDIwMTktMDgtMTYgIEp1c3RpbiBNaWNoYXVkICA8anVz
dGluX21pY2hhdWRAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBJbkJvdW5kcyBzcGVjdWxhdGlv
biBvZiB0eXBlZCBhcnJheSBQdXRCeVZhbCBhbmQgYWRkIGV4dHJhIHN0ZXAgdG8gaW50ZWdlciBy
YW5nZSBvcHRpbWl6YXRpb24gdG8gc2VhcmNoIGZvciBlcXVhbGl0eSByZWxhdGlvbnNoaXBzIG9u
IHRoZSBSSFMgdmFsdWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L09wdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAppbmRl
eCBiNDc2NzM3ZmUwMDM2MWRmNWMzOTg0ZGYzZWQ2MzhmYTQyZjJmNmNiLi5lMzBkMmQyY2NiZWI2
MDc1MGZiYTMzMDY4ZDhlN2U0OTI2OWJlZTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9PcHRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvT3B0aW9ucy5oCkBAIC00NzYsNyArNDc2LDggQEAgY29uc3RleHByIGJvb2wgZW5hYmxlV2Vi
QXNzZW1ibHlTdHJlYW1pbmdBcGkgPSBmYWxzZTsKICAgICBcCiAgICAgdihib29sLCBmYWlsVG9D
b21waWxlV2ViQXNzZW1ibHlDb2RlLCBmYWxzZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgbm8gV2FzbTo6
UGxhbiB3aWxsIHN1Y2Vzc2Z1bGx5IGNvbXBpbGUgYSBmdW5jdGlvbi4iKSBcCiAgICAgdihzaXpl
LCB3ZWJBc3NlbWJseVBhcnRpYWxDb21waWxlTGltaXQsIDUwMDAsIE5vcm1hbCwgIkxpbWl0IG9u
IHRoZSBudW1iZXIgb2YgYnl0ZXMgYSBXYXNtOjpQbGFuOjpjb21waWxlIHNob3VsZCBhdHRlbXB0
IGJlZm9yZSBjaGVja2luZyBmb3Igb3RoZXIgd29yay4iKSBcCi0gICAgdih1bnNpZ25lZCwgd2Vi
QXNzZW1ibHlCQlFPcHRpbWl6YXRpb25MZXZlbCwgMCwgTm9ybWFsLCAiQjMgT3B0aW1pemF0aW9u
IGxldmVsIGZvciBCQlEgV2ViIEFzc2VtYmx5IG1vZHVsZSBjb21waWxhdGlvbnMuIikgXAorICAg
IHYodW5zaWduZWQsIHdlYkFzc2VtYmx5QkJRQWlyT3B0aW1pemF0aW9uTGV2ZWwsIDAsIE5vcm1h
bCwgIkFpciBPcHRpbWl6YXRpb24gbGV2ZWwgZm9yIEJCUSBXZWIgQXNzZW1ibHkgbW9kdWxlIGNv
bXBpbGF0aW9ucy4iKSBcCisgICAgdih1bnNpZ25lZCwgd2ViQXNzZW1ibHlCQlFCM09wdGltaXph
dGlvbkxldmVsLCAxLCBOb3JtYWwsICJCMyBPcHRpbWl6YXRpb24gbGV2ZWwgZm9yIEJCUSBXZWIg
QXNzZW1ibHkgbW9kdWxlIGNvbXBpbGF0aW9ucy4iKSBcCiAgICAgdih1bnNpZ25lZCwgd2ViQXNz
ZW1ibHlPTUdPcHRpbWl6YXRpb25MZXZlbCwgT3B0aW9uczo6ZGVmYXVsdEIzT3B0TGV2ZWwoKSwg
Tm9ybWFsLCAiQjMgT3B0aW1pemF0aW9uIGxldmVsIGZvciBPTUcgV2ViIEFzc2VtYmx5IG1vZHVs
ZSBjb21waWxhdGlvbnMuIikgXAogICAgIFwKICAgICB2KGJvb2wsIHVzZUJCUVRpZXJVcENoZWNr
cywgdHJ1ZSwgTm9ybWFsLCAiRW5hYmxlcyB0aWVyIHVwIGNoZWNrcyBmb3Igb3VyIEJCUSBjb2Rl
LiIpIFwKQEAgLTQ5MSw2ICs0OTIsNyBAQCBjb25zdGV4cHIgYm9vbCBlbmFibGVXZWJBc3NlbWJs
eVN0cmVhbWluZ0FwaSA9IGZhbHNlOwogICAgIHYodW5zaWduZWQsIG1heE51bVdlYkFzc2VtYmx5
RmFzdE1lbW9yaWVzLCA0LCBOb3JtYWwsIG51bGxwdHIpIFwKICAgICB2KGJvb2wsIHVzZUZhc3RU
TFNGb3JXYXNtQ29udGV4dCwgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCBzdG9yZSBj
b250ZXh0IGluIGZhc3QgVExTLiBJZiBmYWxzZSwgd2Ugd2lsbCBwaW4gaXQgdG8gYSByZWdpc3Rl
ci4iKSBcCiAgICAgdihib29sLCB3YXNtQkJRVXNlc0FpciwgdHJ1ZSwgTm9ybWFsLCBudWxscHRy
KSBcCisgICAgdihzaXplLCB3ZWJBc3NlbWJseUJCUUFpck1vZGVUaHJlc2hvbGQsIGlzSU9TKCkg
PyAoMTAgKiBNQikgOiAwLCBOb3JtYWwsICJJZiAwLCB3ZSBhbHdheXMgdXNlIEJCUSBBaXIuIElm
IFdhc20gbW9kdWxlIGNvZGUgc2l6ZSBoaXRzIHRoaXMgdGhyZXNob2xkLCB3ZSBjb21waWxlIFdh
c20gbW9kdWxlIHdpdGggQjMgQkJRIG1vZGUuIikgXAogICAgIHYoYm9vbCwgdXNlV2ViQXNzZW1i
bHlTdHJlYW1pbmdBcGksIGVuYWJsZVdlYkFzc2VtYmx5U3RyZWFtaW5nQXBpLCBOb3JtYWwsICJB
bGxvdyB0byBydW4gV2ViQXNzZW1ibHkncyBTdHJlYW1pbmcgQVBJIikgXAogICAgIHYoYm9vbCwg
dXNlQ2FsbElDc0ZvcldlYkFzc2VtYmx5VG9KU0NhbGxzLCB0cnVlLCBOb3JtYWwsICJJZiB0cnVl
LCB3ZSB3aWxsIHVzZSBDYWxsTGlua0luZm8gdG8gaW5saW5lIGNhY2hlIFdhc20gdG8gSlMgY2Fs
bHMuIikgXAogICAgIHYoYm9vbCwgdXNlRWFnZXJXZWJBc3NlbWJseU1vZHVsZUhhc2hpbmcsIGZh
bHNlLCBOb3JtYWwsICJVbm5hbWVkIFdlYkFzc2VtYmx5IG1vZHVsZXMgYXJlIGlkZW50aWZpZWQg
aW4gYmFja3RyYWNlcyB0aHJvdWdoIHRoZWlyIGhhc2gsIGlmIGF2YWlsYWJsZS4iKSBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQWlySVJHZW5lcmF0b3IuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUFpcklSR2VuZXJhdG9yLmNwcAppbmRl
eCAyNGYxOGFkMDJkZTJmZWY5MDA5MzQ0ODY0MzBjOThmZTk0OTQyNGVmLi5lN2NkZjg2ZDlmYjMy
MGU0Y2VlM2Q5YmNmNTRkMDNiZDIwN2FmNWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9XYXNtQWlySVJHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL1dhc21BaXJJUkdlbmVyYXRvci5jcHAKQEAgLTIxNTgsNyArMjE1OCw3IEBAIEV4
cGVjdGVkPHN0ZDo6dW5pcXVlX3B0cjxJbnRlcm5hbEZ1bmN0aW9uPiwgU3RyaW5nPiBwYXJzZUFu
ZENvbXBpbGVBaXIoQ29tcGlsYXRpCiAgICAgLy8gb3B0TGV2ZWw9MS4KICAgICBwcm9jZWR1cmUu
c2V0TmVlZHNVc2VkUmVnaXN0ZXJzKGZhbHNlKTsKICAgICAKLSAgICBwcm9jZWR1cmUuc2V0T3B0
TGV2ZWwoT3B0aW9uczo6d2ViQXNzZW1ibHlCQlFPcHRpbWl6YXRpb25MZXZlbCgpKTsKKyAgICBw
cm9jZWR1cmUuc2V0T3B0TGV2ZWwoT3B0aW9uczo6d2ViQXNzZW1ibHlCQlFBaXJPcHRpbWl6YXRp
b25MZXZlbCgpKTsKIAogICAgIEFpcklSR2VuZXJhdG9yIGlyR2VuZXJhdG9yKGluZm8sIHByb2Nl
ZHVyZSwgcmVzdWx0LmdldCgpLCB1bmxpbmtlZFdhc21Ub1dhc21DYWxscywgbW9kZSwgZnVuY3Rp
b25JbmRleCwgdGllclVwLCB0aHJvd1dhc21FeGNlcHRpb24sIHNpZ25hdHVyZSk7CiAgICAgRnVu
Y3Rpb25QYXJzZXI8QWlySVJHZW5lcmF0b3I+IHBhcnNlcihpckdlbmVyYXRvciwgZnVuY3Rpb25T
dGFydCwgZnVuY3Rpb25MZW5ndGgsIHNpZ25hdHVyZSwgaW5mbyk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5jcHAKaW5kZXggMjA5NDE3N2VkNmYx
ODNhYjRkODYyZWMyMjY3ZDMwZjI4YjdkZTViNi4uOTJkOWY0OGZjODBhOTcxZTJhMGM0OWVjZTIy
YTRjMjVjMTBmZjg0NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bUIzSVJHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21C
M0lSR2VuZXJhdG9yLmNwcApAQCAtMTU3MCw3ICsxNTcwLDcgQEAgRXhwZWN0ZWQ8c3RkOjp1bmlx
dWVfcHRyPEludGVybmFsRnVuY3Rpb24+LCBTdHJpbmc+IHBhcnNlQW5kQ29tcGlsZShDb21waWxh
dGlvbkMKICAgICBwcm9jZWR1cmUuc2V0TmVlZHNVc2VkUmVnaXN0ZXJzKGZhbHNlKTsKICAgICAK
ICAgICBwcm9jZWR1cmUuc2V0T3B0TGV2ZWwoY29tcGlsYXRpb25Nb2RlID09IENvbXBpbGF0aW9u
TW9kZTo6QkJRTW9kZQotICAgICAgICA/IE9wdGlvbnM6OndlYkFzc2VtYmx5QkJRT3B0aW1pemF0
aW9uTGV2ZWwoKQorICAgICAgICA/IE9wdGlvbnM6OndlYkFzc2VtYmx5QkJRQjNPcHRpbWl6YXRp
b25MZXZlbCgpCiAgICAgICAgIDogT3B0aW9uczo6d2ViQXNzZW1ibHlPTUdPcHRpbWl6YXRpb25M
ZXZlbCgpKTsKIAogICAgIEIzSVJHZW5lcmF0b3IgaXJHZW5lcmF0b3IoaW5mbywgcHJvY2VkdXJl
LCByZXN1bHQuZ2V0KCksIHVubGlua2VkV2FzbVRvV2FzbUNhbGxzLCBtb2RlLCBjb21waWxhdGlv
bk1vZGUsIGZ1bmN0aW9uSW5kZXgsIHRpZXJVcCwgdGhyb3dXYXNtRXhjZXB0aW9uKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CQlFQbGFuLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CQlFQbGFuLmNwcAppbmRleCBmOTg1ZDUyM2MyZTkz
ZjNiZDIzZmI3YzU3MTJiNTg2OGNjMTZhNjg1Li41NDBkMmQ5YjUxNjI1YzczYjZkZjc5MTgxMzlj
MGJiNGI3MTFlYTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNt
QkJRUGxhbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUJCUVBsYW4u
Y3BwCkBAIC0yNjksNyArMjY5LDE1IEBAIHZvaWQgQkJRUGxhbjo6Y29tcGlsZUZ1bmN0aW9ucyhD
b21waWxhdGlvbkVmZm9ydCBlZmZvcnQpCiAgICAgICAgIG1fdW5saW5rZWRXYXNtVG9XYXNtQ2Fs
bHNbZnVuY3Rpb25JbmRleF0gPSBWZWN0b3I8VW5saW5rZWRXYXNtVG9XYXNtQ2FsbD4oKTsKICAg
ICAgICAgVGllclVwQ291bnQqIHRpZXJVcCA9IE9wdGlvbnM6OnVzZUJCUVRpZXJVcENoZWNrcygp
ID8gJm1fdGllclVwQ291bnRzW2Z1bmN0aW9uSW5kZXhdIDogbnVsbHB0cjsKICAgICAgICAgRXhw
ZWN0ZWQ8c3RkOjp1bmlxdWVfcHRyPEludGVybmFsRnVuY3Rpb24+LCBTdHJpbmc+IHBhcnNlQW5k
Q29tcGlsZVJlc3VsdDsKLSAgICAgICAgaWYgKE9wdGlvbnM6Ondhc21CQlFVc2VzQWlyKCkpCisK
KyAgICAgICAgLy8gRklYTUU6IFNvbWUgd2VicGFnZXMgdXNlIHZlcnkgbGFyZ2UgV2FzbSBtb2R1
bGUsIGFuZCBpdCBleGhhdXN0cyBhbGwgZXhlY3V0YWJsZSBtZW1vcnkgaW4gQVJNNjQgZGV2aWNl
cyBzaW5jZSB0aGUgc2l6ZSBvZiBleGVjdXRhYmxlIG1lbW9yeSByZWdpb24gaXMgb25seSBsaW1p
dGVkIHRvIDEyOE1CLgorICAgICAgICAvLyBUaGUgbG9uZyB0ZXJtIHNvbHV0aW9uIHNob3VsZCBi
ZSB0byBpbnRyb2R1Y2UgYSBXYXNtIGludGVycHJldGVyLiBCdXQgYXMgYSBzaG9ydCB0ZXJtIHNv
bHV0aW9uLCB3ZSBpbnRyb2R1Y2UgaGV1cmlzdGljcyB0byBzd2l0Y2ggYmFjayB0byBCQlEgQjMg
YXQgdGhlIHNhY3JpZmljZSBvZiBzdGFydC11cCB0aW1lLAorICAgICAgICAvLyBhcyBCQlEgQWly
IGJsb2F0cyBzdWNoIGxlbmd0aHkgV2FzbSBjb2RlIGFuZCB3aWxsIGNvbnN1bWUgYSBsYXJnZSBh
bW91bnQgb2YgZXhlY3V0YWJsZSBtZW1vcnkuCisgICAgICAgIGJvb2wgZm9yY2VVc2luZ0IzID0g
ZmFsc2U7CisgICAgICAgIGlmIChPcHRpb25zOjp3ZWJBc3NlbWJseUJCUUFpck1vZGVUaHJlc2hv
bGQoKSAmJiBtX21vZHVsZUluZm9ybWF0aW9uLT5jb2RlU2VjdGlvblNpemUgPj0gT3B0aW9uczo6
d2ViQXNzZW1ibHlCQlFBaXJNb2RlVGhyZXNob2xkKCkpCisgICAgICAgICAgICBmb3JjZVVzaW5n
QjMgPSB0cnVlOworCisgICAgICAgIGlmICghZm9yY2VVc2luZ0IzICYmIE9wdGlvbnM6Ondhc21C
QlFVc2VzQWlyKCkpCiAgICAgICAgICAgICBwYXJzZUFuZENvbXBpbGVSZXN1bHQgPSBwYXJzZUFu
ZENvbXBpbGVBaXIobV9jb21waWxhdGlvbkNvbnRleHRzW2Z1bmN0aW9uSW5kZXhdLCBmdW5jdGlv
bi5kYXRhLmRhdGEoKSwgZnVuY3Rpb24uZGF0YS5zaXplKCksIHNpZ25hdHVyZSwgbV91bmxpbmtl
ZFdhc21Ub1dhc21DYWxsc1tmdW5jdGlvbkluZGV4XSwgbV9tb2R1bGVJbmZvcm1hdGlvbi5nZXQo
KSwgbV9tb2RlLCBmdW5jdGlvbkluZGV4LCB0aWVyVXAsIG1fdGhyb3dXYXNtRXhjZXB0aW9uKTsK
ICAgICAgICAgZWxzZQogICAgICAgICAgICAgcGFyc2VBbmRDb21waWxlUmVzdWx0ID0gcGFyc2VB
bmRDb21waWxlKG1fY29tcGlsYXRpb25Db250ZXh0c1tmdW5jdGlvbkluZGV4XSwgZnVuY3Rpb24u
ZGF0YS5kYXRhKCksIGZ1bmN0aW9uLmRhdGEuc2l6ZSgpLCBzaWduYXR1cmUsIG1fdW5saW5rZWRX
YXNtVG9XYXNtQ2FsbHNbZnVuY3Rpb25JbmRleF0sIG1fbW9kdWxlSW5mb3JtYXRpb24uZ2V0KCks
IG1fbW9kZSwgQ29tcGlsYXRpb25Nb2RlOjpCQlFNb2RlLCBmdW5jdGlvbkluZGV4LCB0aWVyVXAs
IG1fdGhyb3dXYXNtRXhjZXB0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL1dhc21Nb2R1bGVJbmZvcm1hdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV2FzbU1vZHVsZUluZm9ybWF0aW9uLmgKaW5kZXggMjY4Zjg4YmIxMGJmNzQ4NWZhNjUxNjU1
MjRlNzA0YjY1OTk4NzI1Mi4uY2E3MmU0OGVkNGJkMDcyNWI5NjhlMjNkMzczNWQ4NGYzMWFjMjE3
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbU1vZHVsZUluZm9y
bWF0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbU1vZHVsZUluZm9y
bWF0aW9uLmgKQEAgLTg2LDYgKzg2LDcgQEAgc3RydWN0IE1vZHVsZUluZm9ybWF0aW9uIDogcHVi
bGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE1vZHVsZUluZm9ybWF0aW9uPiB7CiAgICAgVmVjdG9y
PFRhYmxlSW5mb3JtYXRpb24+IHRhYmxlczsKICAgICBWZWN0b3I8R2xvYmFsPiBnbG9iYWxzOwog
ICAgIHVuc2lnbmVkIGZpcnN0SW50ZXJuYWxHbG9iYWwgeyAwIH07CisgICAgdWludDMyX3QgY29k
ZVNlY3Rpb25TaXplIHsgMCB9OwogICAgIFZlY3RvcjxDdXN0b21TZWN0aW9uPiBjdXN0b21TZWN0
aW9uczsKICAgICBSZWY8TmFtZVNlY3Rpb24+IG5hbWVTZWN0aW9uOwogICAgIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVNlY3Rpb25QYXJzZXIuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVNlY3Rpb25QYXJzZXIuY3BwCmluZGV4IGJhOTYw
YjZjMjIyZTA5MjAzYjlhNjFhOGRlMjZjMTRhNDdjMzJhYmMuLjg0MWMwZWE5NjhhNWNkM2VlZGYw
MGJlMTA3MzkwMTM5ZWJmZjQxMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL1dhc21TZWN0aW9uUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9XYXNtU2VjdGlvblBhcnNlci5jcHAKQEAgLTQxNCw2ICs0MTQsNyBAQCBhdXRvIFNlY3Rpb25Q
YXJzZXI6OnBhcnNlRWxlbWVudCgpIC0+IFBhcnRpYWxSZXN1bHQKIC8vIFRoaXMgZnVuY3Rpb24g
d2lsbCBiZSBjaGFuZ2VkIHRvIGJlIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEIG9uY2Ugd2Ug
c3dpdGNoIG91ciBwYXJzaW5nIGluZnJhc3RydWN0dXJlIHRvIHRoZSBzdHJlYW1pbmcgcGFyc2Vy
LgogYXV0byBTZWN0aW9uUGFyc2VyOjpwYXJzZUNvZGUoKSAtPiBQYXJ0aWFsUmVzdWx0CiB7Cisg
ICAgbV9pbmZvLT5jb2RlU2VjdGlvblNpemUgPSBsZW5ndGgoKTsKICAgICB1aW50MzJfdCBjb3Vu
dDsKICAgICBXQVNNX1BBUlNFUl9GQUlMX0lGKCFwYXJzZVZhclVJbnQzMihjb3VudCksICJjYW4n
dCBnZXQgQ29kZSBzZWN0aW9uJ3MgY291bnQiKTsKICAgICBXQVNNX1BBUlNFUl9GQUlMX0lGKGNv
dW50ID09IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDMyX3Q+OjptYXgoKSwgIkNvZGUgc2VjdGlv
bidzIGNvdW50IGlzIHRvbyBiaWcgIiwgY291bnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vV2FzbVN0cmVhbWluZ1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9XYXNtU3RyZWFtaW5nUGFyc2VyLmNwcAppbmRleCBmNzE2ZTU4MDQyZmM1Y2M2
YzI4MTViMGM5NWNiYTM0NzI5ZjczNDY5Li5jNTQ2OTIzY2I3NThmMzYyMDY3OGUxYzIxMDFhZTM3
ODk1MGEzZjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtU3Ry
ZWFtaW5nUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtU3Ry
ZWFtaW5nUGFyc2VyLmNwcApAQCAtMTEwLDYgKzExMCw3IEBAIGF1dG8gU3RyZWFtaW5nUGFyc2Vy
OjpwYXJzZVNlY3Rpb25TaXplKHVpbnQzMl90IHNlY3Rpb25MZW5ndGgpIC0+IFN0YXRlCiAKIGF1
dG8gU3RyZWFtaW5nUGFyc2VyOjpwYXJzZUNvZGVTZWN0aW9uU2l6ZSh1aW50MzJfdCBmdW5jdGlv
bkNvdW50KSAtPiBTdGF0ZQogeworICAgIG1faW5mby0+Y29kZVNlY3Rpb25TaXplID0gbV9zZWN0
aW9uTGVuZ3RoOwogICAgIG1fZnVuY3Rpb25Db3VudCA9IGZ1bmN0aW9uQ291bnQ7CiAgICAgbV9m
dW5jdGlvbkluZGV4ID0gMDsKICAgICBtX2NvZGVPZmZzZXQgPSBtX29mZnNldDsK
</data>
<flag name="review"
          id="392360"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>