<?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>102873</bug_id>
          
          <creation_ts>2012-11-20 21:57:36 -0800</creation_ts>
          <short_desc>Baseline JIT&apos;s disassembly should be just as pretty as the DFG&apos;s</short_desc>
          <delta_ts>2012-11-21 16:48:59 -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>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>rakuco</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>772455</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-11-20 21:57:36 -0800</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772465</commentid>
    <comment_count>1</comment_count>
      <attachid>175337</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-11-20 22:05:37 -0800</bug_when>
    <thetext>Created attachment 175337
old disassembly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772467</commentid>
    <comment_count>2</comment_count>
      <attachid>175339</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-11-20 22:06:05 -0800</bug_when>
    <thetext>Created attachment 175339
new disassembly (with my patch)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772470</commentid>
    <comment_count>3</comment_count>
      <attachid>175340</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-11-20 22:06:40 -0800</bug_when>
    <thetext>Created attachment 175340
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772473</commentid>
    <comment_count>4</comment_count>
      <attachid>175341</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-11-20 22:10:36 -0800</bug_when>
    <thetext>Created attachment 175341
the patch

For real this time</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772476</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-11-20 22:13:17 -0800</bug_when>
    <thetext>Looks like I need to rebase this patch.  I will do so after I finish making sure that this is performance-neutral when turned off.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772520</commentid>
    <comment_count>6</comment_count>
      <attachid>175350</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-11-20 23:51:10 -0800</bug_when>
    <thetext>Created attachment 175350
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772524</commentid>
    <comment_count>7</comment_count>
      <attachid>175351</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-11-20 23:54:06 -0800</bug_when>
    <thetext>Created attachment 175351
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772527</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-20 23:58:09 -0800</bug_when>
    <thetext>Attachment 175351 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/CMakeLists.txt&apos;, u&apos;S...&quot; exit_code: 1
Source/JavaScriptCore/jit/JITDisassembler.h:62:  The parameter name &quot;linkBuffer&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/jit/JITDisassembler.h:63:  The parameter name &quot;linkBuffer&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 13 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>773417</commentid>
    <comment_count>9</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-11-21 16:48:59 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/135457</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>175337</attachid>
            <date>2012-11-20 22:05:37 -0800</date>
            <delta_ts>2012-11-20 22:05:37 -0800</delta_ts>
            <desc>old disassembly</desc>
            <filename>before.txt</filename>
            <type>text/plain</type>
            <size>5444</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">R2VuZXJhdGVkIEpJVCBjb2RlIGZvciBCYXNlbGluZSBKSVQgY29kZSBmb3IgQ29kZUJsb2NrIDB4
N2Y4Nzc1ODE5MDAwLCBpbnN0cnVjdGlvbiBjb3VudCA9IDM4OgogICAgQ29kZSBhdCBbMHgzMGIw
MGU2MDE0MjAsIDB4MzBiMDBlNjAxNmUwKToKICAgICAgMHgzMGIwMGU2MDE0MjA6IG5vcCAKICAg
ICAgMHgzMGIwMGU2MDE0MjE6IHBvcCAlcmN4CiAgICAgIDB4MzBiMDBlNjAxNDIyOiBtb3YgJXJj
eCwgLTB4MTAoJXIxMykKICAgICAgMHgzMGIwMGU2MDE0MjY6IG1vdiAkMHg3Zjg3NzU4MTkwMDAs
ICVyMTEKICAgICAgMHgzMGIwMGU2MDE0MzA6IG1vdiAlcjExLCAtMHg4KCVyMTMpCiAgICAgIDB4
MzBiMDBlNjAxNDM0OiBtb3YgLTB4NDAoJXIxMyksICVyYXgKICAgICAgMHgzMGIwMGU2MDE0Mzg6
IG1vdiAlcmF4LCAweDdmODc3MzYwNmVmMAogICAgICAweDMwYjAwZTYwMTQ0MjogbW92IC0weDQ4
KCVyMTMpLCAlcmF4CiAgICAgIDB4MzBiMDBlNjAxNDQ2OiBtb3YgJXJheCwgMHg3Zjg3NzM2MDZm
MTgKICAgICAgMHgzMGIwMGU2MDE0NTA6IG1vdiAtMHg1MCglcjEzKSwgJXJheAogICAgICAweDMw
YjAwZTYwMTQ1NDogbW92ICVyYXgsIDB4N2Y4NzczNjA2ZjQwCiAgICAgIDB4MzBiMDBlNjAxNDVl
OiBsZWEgMHgyOCglcjEzKSwgJXJkeAogICAgICAweDMwYjAwZTYwMTQ2MjogbW92ICQweDdmODc3
MzQwYjE5MCwgJXIxMQogICAgICAweDMwYjAwZTYwMTQ2YzogY21wICVyZHgsICglcjExKQogICAg
ICAweDMwYjAwZTYwMTQ2ZjogamIgMHgzMGIwMGU2MDE2NmEKICAgICAgMHgzMGIwMGU2MDE0NzU6
IG1vdiAkMHg3Zjg3NzU4MTliYjgsICVyMTEKICAgICAgMHgzMGIwMGU2MDE0N2Y6IGFkZCAkMHgx
LCAoJXIxMSkKICAgICAgMHgzMGIwMGU2MDE0ODM6IG1vdiAkMHg3Zjg3NzU4MTljMzQsICVyMTEK
ICAgICAgMHgzMGIwMGU2MDE0OGQ6IGFkZCAkMHhmLCAoJXIxMSkKICAgICAgMHgzMGIwMGU2MDE0
OTE6IGpzIDB4MzBiMDBlNjAxNGMxCiAgICAgIDB4MzBiMDBlNjAxNDk3OiBtb3YgJDB4MCwgMHg4
KCVyc3ApCiAgICAgIDB4MzBiMDBlNjAxNDlmOiBtb3YgJXJzcCwgJXJkaQogICAgICAweDMwYjAw
ZTYwMTRhMjogbW92ICVyMTMsIDB4NTgoJXJzcCkKICAgICAgMHgzMGIwMGU2MDE0YTc6IG1vdiAk
MHg3Zjg3NzM4MGI0NzAsICVyMTEKICAgICAgMHgzMGIwMGU2MDE0YjE6IG1vdiAlcjEzLCAoJXIx
MSkKICAgICAgMHgzMGIwMGU2MDE0YjQ6IG1vdiAkMHgxMDhhZDU4YjAsICVyMTEKICAgICAgMHgz
MGIwMGU2MDE0YmU6IGNhbGwgJXIxMQogICAgICAweDMwYjAwZTYwMTRjMTogbW92IC0weDIwKCVy
MTMpLCAlcmF4CiAgICAgIDB4MzBiMDBlNjAxNGM1OiBtb3YgJXJheCwgMHg3Zjg3NzU4MTk0MTgK
ICAgICAgMHgzMGIwMGU2MDE0Y2Y6IG1vdiAlcmF4LCAweDAoJXIxMykKICAgICAgMHgzMGIwMGU2
MDE0ZDM6IG1vdiAweDI4KCVyYXgpLCAlcmN4CiAgICAgIDB4MzBiMDBlNjAxNGQ3OiB0ZXN0ICVy
Y3gsICVyY3gKICAgICAgMHgzMGIwMGU2MDE0ZGE6IGp6IDB4MzBiMDBlNjAxNWQzCiAgICAgIDB4
MzBiMDBlNjAxNGUwOiBtb3YgMHg3Zjg3NzM4MDllYzgsICVyYXgKICAgICAgMHgzMGIwMGU2MDE0
ZWE6IHRlc3QgJXJheCwgJXJheAogICAgICAweDMwYjAwZTYwMTRlZDoganogMHgzMGIwMGU2MDE1
ZDMKICAgICAgMHgzMGIwMGU2MDE0ZjM6IG1vdiAoJXJheCksICVyZHgKICAgICAgMHgzMGIwMGU2
MDE0ZjY6IG1vdiAkMHg3Zjg3NzM4MDllYzgsICVyMTEKICAgICAgMHgzMGIwMGU2MDE1MDA6IG1v
diAlcmR4LCAoJXIxMSkKICAgICAgMHgzMGIwMGU2MDE1MDM6IG1vdiAlcmN4LCAoJXJheCkKICAg
ICAgMHgzMGIwMGU2MDE1MDY6IG1vdiAkMHgwLCAlcjExCiAgICAgIDB4MzBiMDBlNjAxNTEwOiBt
b3YgJXIxMSwgMHg4KCVyYXgpCiAgICAgIDB4MzBiMDBlNjAxNTE0OiBtb3YgJXJheCwgLTB4Mzgo
JXIxMykKICAgICAgMHgzMGIwMGU2MDE1MTg6IG1vdiAtMHgzOCglcjEzKSwgJXJheAogICAgICAw
eDMwYjAwZTYwMTUxYzogbW92ICVyYXgsIDB4MCglcjEzKQogICAgICAweDMwYjAwZTYwMTUyMDog
bW92IC0weDQwKCVyMTMpLCAlcmF4CiAgICAgIDB4MzBiMDBlNjAxNTI0OiBtb3YgJXJheCwgMHg4
KCVyMTMpCiAgICAgIDB4MzBiMDBlNjAxNTI4OiBtb3YgLTB4NDgoJXIxMyksICVyYXgKICAgICAg
MHgzMGIwMGU2MDE1MmM6IG1vdiAlcmF4LCAweDEwKCVyMTMpCiAgICAgIDB4MzBiMDBlNjAxNTMw
OiBtb3YgLTB4NTAoJXIxMyksICVyYXgKICAgICAgMHgzMGIwMGU2MDE1MzQ6IG1vdiAlcmF4LCAw
eDE4KCVyMTMpCiAgICAgIDB4MzBiMDBlNjAxNTM4OiBtb3YgJDB4M2ZmZmUwMDAwMDAwMDAwLCAl
cmF4CiAgICAgIDB4MzBiMDBlNjAxNTQyOiByb3IgJDB4MzksICVyYXgKICAgICAgMHgzMGIwMGU2
MDE1NDY6IG1vdiAlcmF4LCAweDIwKCVyMTMpCiAgICAgIDB4MzBiMDBlNjAxNTRhOiBtb3YgJDB4
MSwgMHg4KCVyc3ApCiAgICAgIDB4MzBiMDBlNjAxNTUyOiBtb3YgJDB4NCwgMHgxMCglcnNwKQog
ICAgICAweDMwYjAwZTYwMTU1YTogbW92ICQweDdmODc3NTgxOTk2OCwgJXIxMQogICAgICAweDMw
YjAwZTYwMTU2NDogbW92ICVyMTEsIDB4MTgoJXJzcCkKICAgICAgMHgzMGIwMGU2MDE1Njk6IG1v
diAlcnNwLCAlcmRpCiAgICAgIDB4MzBiMDBlNjAxNTZjOiBtb3YgJXIxMywgMHg1OCglcnNwKQog
ICAgICAweDMwYjAwZTYwMTU3MTogbW92ICQweDE3LCAtMHgyYyglcjEzKQogICAgICAweDMwYjAw
ZTYwMTU3OTogbW92ICQweDdmODc3MzgwYjQ3MCwgJXIxMQogICAgICAweDMwYjAwZTYwMTU4Mzog
bW92ICVyMTMsICglcjExKQogICAgICAweDMwYjAwZTYwMTU4NjogbW92ICQweDEwOGFkNzAxMCwg
JXIxMQogICAgICAweDMwYjAwZTYwMTU5MDogY2FsbCAlcjExCiAgICAgIDB4MzBiMDBlNjAxNTkz
OiBtb3YgJXJheCwgMHg4KCVyMTMpCiAgICAgIDB4MzBiMDBlNjAxNTk3OiBtb3YgJXJheCwgJXJk
eAogICAgICAweDMwYjAwZTYwMTU5YTogbW92IDB4MCglcjEzKSwgJXJheAogICAgICAweDMwYjAw
ZTYwMTU5ZTogdGVzdCAlcmF4LCAlcjE1CiAgICAgIDB4MzBiMDBlNjAxNWExOiBqbnogMHgzMGIw
MGU2MDE2MTQKICAgICAgMHgzMGIwMGU2MDE1YTc6IG1vdiAkMHhmZmZmZmZmZmZmZmZmZmZmLCAl
cjExCiAgICAgIDB4MzBiMDBlNjAxNWIxOiBjbXAgJXIxMSwgKCVyYXgpCiAgICAgIDB4MzBiMDBl
NjAxNWI0OiBqbnogMHgzMGIwMGU2MDE2MTQKICAgICAgMHgzMGIwMGU2MDE1YmE6IG1vdiAweDgo
JXJheCksICVyY3gKICAgICAgMHgzMGIwMGU2MDE1YmU6IG1vdiAlcmR4LCAweDEwMCglcmN4KQog
ICAgICAweDMwYjAwZTYwMTVjNTogbW92IC0weDM4KCVyMTMpLCAlcmF4CiAgICAgIDB4MzBiMDBl
NjAxNWM5OiBtb3YgLTB4MTAoJXIxMyksICVyZHgKICAgICAgMHgzMGIwMGU2MDE1Y2Q6IG1vdiAt
MHgyOCglcjEzKSwgJXIxMwogICAgICAweDMwYjAwZTYwMTVkMTogcHVzaCAlcmR4CiAgICAgIDB4
MzBiMDBlNjAxNWQyOiByZXQgCiAgICAgIDB4MzBiMDBlNjAxNWQzOiBtb3YgJXJzcCwgJXJkaQog
ICAgICAweDMwYjAwZTYwMTVkNjogbW92ICVyMTMsIDB4NTgoJXJzcCkKICAgICAgMHgzMGIwMGU2
MDE1ZGI6IG1vdiAkMHg1LCAtMHgyYyglcjEzKQogICAgICAweDMwYjAwZTYwMTVlMzogbW92ICQw
eDdmODc3MzgwYjQ3MCwgJXIxMQogICAgICAweDMwYjAwZTYwMTVlZDogbW92ICVyMTMsICglcjEx
KQogICAgICAweDMwYjAwZTYwMTVmMDogbW92ICQweDEwOGFkMmMzMCwgJXIxMQogICAgICAweDMw
YjAwZTYwMTVmYTogY2FsbCAlcjExCiAgICAgIDB4MzBiMDBlNjAxNWZkOiBtb3YgJXJheCwgLTB4
MzgoJXIxMykKICAgICAgMHgzMGIwMGU2MDE2MDE6IG1vdiAkMHg3Zjg3NzU4MTk2N2MsICVyMTEK
ICAgICAgMHgzMGIwMGU2MDE2MGI6IGFkZCAkMHgxLCAoJXIxMSkKICAgICAgMHgzMGIwMGU2MDE2
MGY6IGptcCAweDMwYjAwZTYwMTUxOAogICAgICAweDMwYjAwZTYwMTYxNDogbW92ICVyYXgsIDB4
OCglcnNwKQogICAgICAweDMwYjAwZTYwMTYxOTogbW92ICQweDdmODc3MzYwNmNhMCwgJXIxMQog
ICAgICAweDMwYjAwZTYwMTYyMzogbW92ICVyMTEsIDB4MTAoJXJzcCkKICAgICAgMHgzMGIwMGU2
MDE2Mjg6IG1vdiAlcmR4LCAweDE4KCVyc3ApCiAgICAgIDB4MzBiMDBlNjAxNjJkOiBtb3YgJXJz
cCwgJXJkaQogICAgICAweDMwYjAwZTYwMTYzMDogbW92ICVyMTMsIDB4NTgoJXJzcCkKICAgICAg
MHgzMGIwMGU2MDE2MzU6IG1vdiAkMHgxYywgLTB4MmMoJXIxMykKICAgICAgMHgzMGIwMGU2MDE2
M2Q6IG1vdiAkMHg3Zjg3NzM4MGI0NzAsICVyMTEKICAgICAgMHgzMGIwMGU2MDE2NDc6IG1vdiAl
cjEzLCAoJXIxMSkKICAgICAgMHgzMGIwMGU2MDE2NGE6IG1vdiAkMHgxMDhhZDM1YTAsICVyMTEK
ICAgICAgMHgzMGIwMGU2MDE2NTQ6IGNhbGwgJXIxMQogICAgICAweDMwYjAwZTYwMTY1NzogbW92
ICQweDdmODc3NTgxOTY4NCwgJXIxMQogICAgICAweDMwYjAwZTYwMTY2MTogYWRkICQweDEsICgl
cjExKQogICAgICAweDMwYjAwZTYwMTY2NTogam1wIDB4MzBiMDBlNjAxNWM1CiAgICAgIDB4MzBi
MDBlNjAxNjZhOiBtb3YgJXJzcCwgJXJkaQogICAgICAweDMwYjAwZTYwMTY2ZDogbW92ICVyMTMs
IDB4NTgoJXJzcCkKICAgICAgMHgzMGIwMGU2MDE2NzI6IG1vdiAkMHg3Zjg3NzM4MGI0NzAsICVy
MTEKICAgICAgMHgzMGIwMGU2MDE2N2M6IG1vdiAlcjEzLCAoJXIxMSkKICAgICAgMHgzMGIwMGU2
MDE2N2Y6IG1vdiAkMHgxMDhhZDMzZjAsICVyMTEKICAgICAgMHgzMGIwMGU2MDE2ODk6IGNhbGwg
JXIxMQogICAgICAweDMwYjAwZTYwMTY4Yzogam1wIDB4MzBiMDBlNjAxNDc1CiAgICAgIDB4MzBi
MDBlNjAxNjkxOiBwb3AgJXJjeAogICAgICAweDMwYjAwZTYwMTY5MjogbW92ICVyY3gsIC0weDEw
KCVyMTMpCiAgICAgIDB4MzBiMDBlNjAxNjk2OiBtb3YgJDB4N2Y4Nzc1ODE5MDAwLCAlcjExCiAg
ICAgIDB4MzBiMDBlNjAxNmEwOiBtb3YgJXIxMSwgLTB4OCglcjEzKQogICAgICAweDMwYjAwZTYw
MTZhNDogbW92IC0weDMwKCVyMTMpLCAlZWR4CiAgICAgIDB4MzBiMDBlNjAxNmE4OiBjbXAgJDB4
NCwgJWVkeAogICAgICAweDMwYjAwZTYwMTZhYjogamFlIDB4MzBiMDBlNjAxNDM0CiAgICAgIDB4
MzBiMDBlNjAxNmIxOiBtb3YgJXJzcCwgJXJkaQogICAgICAweDMwYjAwZTYwMTZiNDogbW92ICVy
MTMsIDB4NTgoJXJzcCkKICAgICAgMHgzMGIwMGU2MDE2Yjk6IG1vdiAkMHg3Zjg3NzM4MGI0NzAs
ICVyMTEKICAgICAgMHgzMGIwMGU2MDE2YzM6IG1vdiAlcjEzLCAoJXIxMSkKICAgICAgMHgzMGIw
MGU2MDE2YzY6IG1vdiAkMHgxMDhhZDY2MzAsICVyMTEKICAgICAgMHgzMGIwMGU2MDE2ZDA6IGNh
bGwgJXIxMQogICAgICAweDMwYjAwZTYwMTZkMzogbW92ICVyYXgsICVyMTMKICAgICAgMHgzMGIw
MGU2MDE2ZDY6IGptcCAweDMwYjAwZTYwMTQzNAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>175339</attachid>
            <date>2012-11-20 22:06:05 -0800</date>
            <delta_ts>2012-11-20 22:06:05 -0800</delta_ts>
            <desc>new disassembly (with my patch)</desc>
            <filename>after.txt</filename>
            <type>text/plain</type>
            <size>6293</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">QmFzZWxpbmUgSklUIGNvZGUgZm9yIENvZGVCbG9jayAweDEwMTgyNmEwMCwgaW5zdHJ1Y3Rpb24g
Y291bnQgPSAzODoKICAgIENvZGUgYXQgWzB4MzVjNjQ0YTAxNDIwLCAweDM1YzY0NGEwMTZkYSk6
CiAgICAgICAgICAweDM1YzY0NGEwMTQyMDogcG9wICVyY3gKICAgICAgICAgIDB4MzVjNjQ0YTAx
NDIxOiBtb3YgJXJjeCwgLTB4MTAoJXIxMykKICAgICAgICAgIDB4MzVjNjQ0YTAxNDI1OiBtb3Yg
JDB4MTAxODI2YTAwLCAlcjExCiAgICAgICAgICAweDM1YzY0NGEwMTQyZjogbW92ICVyMTEsIC0w
eDgoJXIxMykKICAgICAgICAgIDB4MzVjNjQ0YTAxNDMzOiBtb3YgLTB4NDAoJXIxMyksICVyYXgK
ICAgICAgICAgIDB4MzVjNjQ0YTAxNDM3OiBtb3YgJXJheCwgMHgxMDEwMTRlMDAKICAgICAgICAg
IDB4MzVjNjQ0YTAxNDQxOiBtb3YgLTB4NDgoJXIxMyksICVyYXgKICAgICAgICAgIDB4MzVjNjQ0
YTAxNDQ1OiBtb3YgJXJheCwgMHgxMDEwMTRlMjgKICAgICAgICAgIDB4MzVjNjQ0YTAxNDRmOiBt
b3YgLTB4NTAoJXIxMyksICVyYXgKICAgICAgICAgIDB4MzVjNjQ0YTAxNDUzOiBtb3YgJXJheCwg
MHgxMDEwMTRlNTAKICAgICAgICAgIDB4MzVjNjQ0YTAxNDVkOiBsZWEgMHgyOCglcjEzKSwgJXJk
eAogICAgICAgICAgMHgzNWM2NDRhMDE0NjE6IG1vdiAkMHgxMDEzMDcyNjAsICVyMTEKICAgICAg
ICAgIDB4MzVjNjQ0YTAxNDZiOiBjbXAgJXJkeCwgKCVyMTEpCiAgICAgICAgICAweDM1YzY0NGEw
MTQ2ZTogamIgMHgzNWM2NDRhMDE2NjkKICAgICAgICAgIDB4MzVjNjQ0YTAxNDc0OiBtb3YgJDB4
MTAxODI3NWI4LCAlcjExCiAgICAgICAgICAweDM1YzY0NGEwMTQ3ZTogYWRkICQweDEsICglcjEx
KQogICAgWyAgIDBdIGVudGVyCiAgICAgICAgICAweDM1YzY0NGEwMTQ4MjogbW92ICQweDEwMTgy
NzYzNCwgJXIxMQogICAgICAgICAgMHgzNWM2NDRhMDE0OGM6IGFkZCAkMHhmLCAoJXIxMSkKICAg
ICAgICAgIDB4MzVjNjQ0YTAxNDkwOiBqcyAweDM1YzY0NGEwMTRjMAogICAgICAgICAgMHgzNWM2
NDRhMDE0OTY6IG1vdiAkMHgwLCAweDgoJXJzcCkKICAgICAgICAgIDB4MzVjNjQ0YTAxNDllOiBt
b3YgJXJzcCwgJXJkaQogICAgICAgICAgMHgzNWM2NDRhMDE0YTE6IG1vdiAlcjEzLCAweDU4KCVy
c3ApCiAgICAgICAgICAweDM1YzY0NGEwMTRhNjogbW92ICQweDEwMTgwYjQ3MCwgJXIxMQogICAg
ICAgICAgMHgzNWM2NDRhMDE0YjA6IG1vdiAlcjEzLCAoJXIxMSkKICAgICAgICAgIDB4MzVjNjQ0
YTAxNGIzOiBtb3YgJDB4MTAwMmE4YjMwLCAlcjExCiAgICAgICAgICAweDM1YzY0NGEwMTRiZDog
Y2FsbCAlcjExCiAgICBbICAgMV0gb3BfZ2V0X2NhbGxlZSByMAogICAgICAgICAgMHgzNWM2NDRh
MDE0YzA6IG1vdiAtMHgyMCglcjEzKSwgJXJheAogICAgICAgICAgMHgzNWM2NDRhMDE0YzQ6IG1v
diAlcmF4LCAweDEwMTgyNmUxOAogICAgICAgICAgMHgzNWM2NDRhMDE0Y2U6IG1vdiAlcmF4LCAw
eDAoJXIxMykKICAgIFsgICA0XSBjcmVhdGVfdGhpcyByLTcsIHIwCiAgICAgICAgICAweDM1YzY0
NGEwMTRkMjogbW92IDB4MjgoJXJheCksICVyY3gKICAgICAgICAgIDB4MzVjNjQ0YTAxNGQ2OiB0
ZXN0ICVyY3gsICVyY3gKICAgICAgICAgIDB4MzVjNjQ0YTAxNGQ5OiBqeiAweDM1YzY0NGEwMTVk
MgogICAgICAgICAgMHgzNWM2NDRhMDE0ZGY6IG1vdiAweDEwMTgwOWVjOCwgJXJheAogICAgICAg
ICAgMHgzNWM2NDRhMDE0ZTk6IHRlc3QgJXJheCwgJXJheAogICAgICAgICAgMHgzNWM2NDRhMDE0
ZWM6IGp6IDB4MzVjNjQ0YTAxNWQyCiAgICAgICAgICAweDM1YzY0NGEwMTRmMjogbW92ICglcmF4
KSwgJXJkeAogICAgICAgICAgMHgzNWM2NDRhMDE0ZjU6IG1vdiAkMHgxMDE4MDllYzgsICVyMTEK
ICAgICAgICAgIDB4MzVjNjQ0YTAxNGZmOiBtb3YgJXJkeCwgKCVyMTEpCiAgICAgICAgICAweDM1
YzY0NGEwMTUwMjogbW92ICVyY3gsICglcmF4KQogICAgICAgICAgMHgzNWM2NDRhMDE1MDU6IG1v
diAkMHgwLCAlcjExCiAgICAgICAgICAweDM1YzY0NGEwMTUwZjogbW92ICVyMTEsIDB4OCglcmF4
KQogICAgICAgICAgMHgzNWM2NDRhMDE1MTM6IG1vdiAlcmF4LCAtMHgzOCglcjEzKQogICAgWyAg
IDddIG1vdgkJIHIwLCByLTcKICAgICAgICAgIDB4MzVjNjQ0YTAxNTE3OiBtb3YgLTB4MzgoJXIx
MyksICVyYXgKICAgICAgICAgIDB4MzVjNjQ0YTAxNTFiOiBtb3YgJXJheCwgMHgwKCVyMTMpCiAg
ICBbICAxMF0gbW92CQkgcjEsIHItOAogICAgICAgICAgMHgzNWM2NDRhMDE1MWY6IG1vdiAtMHg0
MCglcjEzKSwgJXJheAogICAgICAgICAgMHgzNWM2NDRhMDE1MjM6IG1vdiAlcmF4LCAweDgoJXIx
MykKICAgIFsgIDEzXSBtb3YJCSByMiwgci05CiAgICAgICAgICAweDM1YzY0NGEwMTUyNzogbW92
IC0weDQ4KCVyMTMpLCAlcmF4CiAgICAgICAgICAweDM1YzY0NGEwMTUyYjogbW92ICVyYXgsIDB4
MTAoJXIxMykKICAgIFsgIDE2XSBtb3YJCSByMywgci0xMAogICAgICAgICAgMHgzNWM2NDRhMDE1
MmY6IG1vdiAtMHg1MCglcjEzKSwgJXJheAogICAgICAgICAgMHgzNWM2NDRhMDE1MzM6IG1vdiAl
cmF4LCAweDE4KCVyMTMpCiAgICBbICAxOV0gbW92CQkgcjQsIEludDMyOiAxKEBrMCkKICAgICAg
ICAgIDB4MzVjNjQ0YTAxNTM3OiBtb3YgJDB4MWZmZmYwMDAwMDAwMDAsICVyYXgKICAgICAgICAg
IDB4MzVjNjQ0YTAxNTQxOiByb3IgJDB4MzQsICVyYXgKICAgICAgICAgIDB4MzVjNjQ0YTAxNTQ1
OiBtb3YgJXJheCwgMHgyMCglcjEzKQogICAgWyAgMjJdIG5ld19hcnJheQkgcjEsIHIxLCA0CiAg
ICAgICAgICAweDM1YzY0NGEwMTU0OTogbW92ICQweDEsIDB4OCglcnNwKQogICAgICAgICAgMHgz
NWM2NDRhMDE1NTE6IG1vdiAkMHg0LCAweDEwKCVyc3ApCiAgICAgICAgICAweDM1YzY0NGEwMTU1
OTogbW92ICQweDEwMTgyNzM2OCwgJXIxMQogICAgICAgICAgMHgzNWM2NDRhMDE1NjM6IG1vdiAl
cjExLCAweDE4KCVyc3ApCiAgICAgICAgICAweDM1YzY0NGEwMTU2ODogbW92ICVyc3AsICVyZGkK
ICAgICAgICAgIDB4MzVjNjQ0YTAxNTZiOiBtb3YgJXIxMywgMHg1OCglcnNwKQogICAgICAgICAg
MHgzNWM2NDRhMDE1NzA6IG1vdiAkMHgxNywgLTB4MmMoJXIxMykKICAgICAgICAgIDB4MzVjNjQ0
YTAxNTc4OiBtb3YgJDB4MTAxODBiNDcwLCAlcjExCiAgICAgICAgICAweDM1YzY0NGEwMTU4Mjog
bW92ICVyMTMsICglcjExKQogICAgICAgICAgMHgzNWM2NDRhMDE1ODU6IG1vdiAkMHgxMDAyYWEy
OTAsICVyMTEKICAgICAgICAgIDB4MzVjNjQ0YTAxNThmOiBjYWxsICVyMTEKICAgICAgICAgIDB4
MzVjNjQ0YTAxNTkyOiBtb3YgJXJheCwgMHg4KCVyMTMpCiAgICBbICAyN10gcHV0X2J5X2lkX3Ry
YW5zaXRpb25fbm9ybWFsCSByMCwgVihAaWQwKSwgcjEKICAgICAgICAgIDB4MzVjNjQ0YTAxNTk2
OiBtb3YgJXJheCwgJXJkeAogICAgICAgICAgMHgzNWM2NDRhMDE1OTk6IG1vdiAweDAoJXIxMyks
ICVyYXgKICAgICAgICAgIDB4MzVjNjQ0YTAxNTlkOiB0ZXN0ICVyYXgsICVyMTUKICAgICAgICAg
IDB4MzVjNjQ0YTAxNWEwOiBqbnogMHgzNWM2NDRhMDE2MTMKICAgICAgICAgIDB4MzVjNjQ0YTAx
NWE2OiBtb3YgJDB4ZmZmZmZmZmZmZmZmZmZmZiwgJXIxMQogICAgICAgICAgMHgzNWM2NDRhMDE1
YjA6IGNtcCAlcjExLCAoJXJheCkKICAgICAgICAgIDB4MzVjNjQ0YTAxNWIzOiBqbnogMHgzNWM2
NDRhMDE2MTMKICAgICAgICAgIDB4MzVjNjQ0YTAxNWI5OiBtb3YgMHg4KCVyYXgpLCAlcmN4CiAg
ICAgICAgICAweDM1YzY0NGEwMTViZDogbW92ICVyZHgsIDB4MTAwKCVyY3gpCiAgICBbICAzNl0g
cmV0CQkgci03CiAgICAgICAgICAweDM1YzY0NGEwMTVjNDogbW92IC0weDM4KCVyMTMpLCAlcmF4
CiAgICAgICAgICAweDM1YzY0NGEwMTVjODogbW92IC0weDEwKCVyMTMpLCAlcmR4CiAgICAgICAg
ICAweDM1YzY0NGEwMTVjYzogbW92IC0weDI4KCVyMTMpLCAlcjEzCiAgICAgICAgICAweDM1YzY0
NGEwMTVkMDogcHVzaCAlcmR4CiAgICAgICAgICAweDM1YzY0NGEwMTVkMTogcmV0IAogICAgKEVu
ZCBPZiBNYWluIFBhdGgpCiAgICAoUykgWyAgIDRdIGNyZWF0ZV90aGlzIHItNywgcjAKICAgICAg
ICAgIDB4MzVjNjQ0YTAxNWQyOiBtb3YgJXJzcCwgJXJkaQogICAgICAgICAgMHgzNWM2NDRhMDE1
ZDU6IG1vdiAlcjEzLCAweDU4KCVyc3ApCiAgICAgICAgICAweDM1YzY0NGEwMTVkYTogbW92ICQw
eDUsIC0weDJjKCVyMTMpCiAgICAgICAgICAweDM1YzY0NGEwMTVlMjogbW92ICQweDEwMTgwYjQ3
MCwgJXIxMQogICAgICAgICAgMHgzNWM2NDRhMDE1ZWM6IG1vdiAlcjEzLCAoJXIxMSkKICAgICAg
ICAgIDB4MzVjNjQ0YTAxNWVmOiBtb3YgJDB4MTAwMmE1ZWIwLCAlcjExCiAgICAgICAgICAweDM1
YzY0NGEwMTVmOTogY2FsbCAlcjExCiAgICAgICAgICAweDM1YzY0NGEwMTVmYzogbW92ICVyYXgs
IC0weDM4KCVyMTMpCiAgICAgICAgICAweDM1YzY0NGEwMTYwMDogbW92ICQweDEwMTgyNzA3Yywg
JXIxMQogICAgICAgICAgMHgzNWM2NDRhMDE2MGE6IGFkZCAkMHgxLCAoJXIxMSkKICAgICAgICAg
IDB4MzVjNjQ0YTAxNjBlOiBqbXAgMHgzNWM2NDRhMDE1MTcKICAgIChTKSBbICAyN10gcHV0X2J5
X2lkX3RyYW5zaXRpb25fbm9ybWFsCSByMCwgVihAaWQwKSwgcjEKICAgICAgICAgIDB4MzVjNjQ0
YTAxNjEzOiBtb3YgJXJheCwgMHg4KCVyc3ApCiAgICAgICAgICAweDM1YzY0NGEwMTYxODogbW92
ICQweDEwMTAxNGJlMCwgJXIxMQogICAgICAgICAgMHgzNWM2NDRhMDE2MjI6IG1vdiAlcjExLCAw
eDEwKCVyc3ApCiAgICAgICAgICAweDM1YzY0NGEwMTYyNzogbW92ICVyZHgsIDB4MTgoJXJzcCkK
ICAgICAgICAgIDB4MzVjNjQ0YTAxNjJjOiBtb3YgJXJzcCwgJXJkaQogICAgICAgICAgMHgzNWM2
NDRhMDE2MmY6IG1vdiAlcjEzLCAweDU4KCVyc3ApCiAgICAgICAgICAweDM1YzY0NGEwMTYzNDog
bW92ICQweDFjLCAtMHgyYyglcjEzKQogICAgICAgICAgMHgzNWM2NDRhMDE2M2M6IG1vdiAkMHgx
MDE4MGI0NzAsICVyMTEKICAgICAgICAgIDB4MzVjNjQ0YTAxNjQ2OiBtb3YgJXIxMywgKCVyMTEp
CiAgICAgICAgICAweDM1YzY0NGEwMTY0OTogbW92ICQweDEwMDJhNjgyMCwgJXIxMQogICAgICAg
ICAgMHgzNWM2NDRhMDE2NTM6IGNhbGwgJXIxMQogICAgICAgICAgMHgzNWM2NDRhMDE2NTY6IG1v
diAkMHgxMDE4MjcwODQsICVyMTEKICAgICAgICAgIDB4MzVjNjQ0YTAxNjYwOiBhZGQgJDB4MSwg
KCVyMTEpCiAgICAgICAgICAweDM1YzY0NGEwMTY2NDogam1wIDB4MzVjNjQ0YTAxNWM0CiAgICAo
RW5kIE9mIFNsb3cgUGF0aCkKICAgICAgICAgIDB4MzVjNjQ0YTAxNjY5OiBtb3YgJXJzcCwgJXJk
aQogICAgICAgICAgMHgzNWM2NDRhMDE2NmM6IG1vdiAlcjEzLCAweDU4KCVyc3ApCiAgICAgICAg
ICAweDM1YzY0NGEwMTY3MTogbW92ICQweDEwMTgwYjQ3MCwgJXIxMQogICAgICAgICAgMHgzNWM2
NDRhMDE2N2I6IG1vdiAlcjEzLCAoJXIxMSkKICAgICAgICAgIDB4MzVjNjQ0YTAxNjdlOiBtb3Yg
JDB4MTAwMmE2NjcwLCAlcjExCiAgICAgICAgICAweDM1YzY0NGEwMTY4ODogY2FsbCAlcjExCiAg
ICAgICAgICAweDM1YzY0NGEwMTY4Yjogam1wIDB4MzVjNjQ0YTAxNDc0CiAgICAgICAgICAweDM1
YzY0NGEwMTY5MDogcG9wICVyY3gKICAgICAgICAgIDB4MzVjNjQ0YTAxNjkxOiBtb3YgJXJjeCwg
LTB4MTAoJXIxMykKICAgICAgICAgIDB4MzVjNjQ0YTAxNjk1OiBtb3YgJDB4MTAxODI2YTAwLCAl
cjExCiAgICAgICAgICAweDM1YzY0NGEwMTY5ZjogbW92ICVyMTEsIC0weDgoJXIxMykKICAgICAg
ICAgIDB4MzVjNjQ0YTAxNmEzOiBtb3YgLTB4MzAoJXIxMyksICVlZHgKICAgICAgICAgIDB4MzVj
NjQ0YTAxNmE3OiBjbXAgJDB4NCwgJWVkeAogICAgICAgICAgMHgzNWM2NDRhMDE2YWE6IGphZSAw
eDM1YzY0NGEwMTQzMwogICAgICAgICAgMHgzNWM2NDRhMDE2YjA6IG1vdiAlcnNwLCAlcmRpCiAg
ICAgICAgICAweDM1YzY0NGEwMTZiMzogbW92ICVyMTMsIDB4NTgoJXJzcCkKICAgICAgICAgIDB4
MzVjNjQ0YTAxNmI4OiBtb3YgJDB4MTAxODBiNDcwLCAlcjExCiAgICAgICAgICAweDM1YzY0NGEw
MTZjMjogbW92ICVyMTMsICglcjExKQogICAgICAgICAgMHgzNWM2NDRhMDE2YzU6IG1vdiAkMHgx
MDAyYTk4YjAsICVyMTEKICAgICAgICAgIDB4MzVjNjQ0YTAxNmNmOiBjYWxsICVyMTEKICAgICAg
ICAgIDB4MzVjNjQ0YTAxNmQyOiBtb3YgJXJheCwgJXIxMwogICAgICAgICAgMHgzNWM2NDRhMDE2
ZDU6IGptcCAweDM1YzY0NGEwMTQzMwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175340</attachid>
            <date>2012-11-20 22:06:40 -0800</date>
            <delta_ts>2012-11-20 22:10:36 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>disas.patch</filename>
            <type>text/plain</type>
            <size>23908</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTM1MzQ5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBA
CisyMDEyLTExLTIwICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
TmVlZCBhIHNob3J0IGRlc2NyaXB0aW9uIChPT1BTISkuCisgICAgICAgIE5lZWQgdGhlIGJ1ZyBV
UkwgKE9PUFMhKS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9mIHRoZSBjaGFuZ2Ugc3VjaCBhcyBhcHByb2Fj
aCwgcmF0aW9uYWxlLiBQbGVhc2UgYWRkIHBlci1mdW5jdGlvbiBkZXNjcmlwdGlvbnMgYmVsb3cg
KE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2Vm
aWxlLmxpc3QuYW06CisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvajoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICog
Ynl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpwcmludFVu
YXJ5T3ApOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnByaW50QmluYXJ5T3ApOgorICAgICAg
ICAoSlNDOjpDb2RlQmxvY2s6OnByaW50Q29uZGl0aW9uYWxKdW1wKToKKyAgICAgICAgKEpTQzo6
Q29kZUJsb2NrOjpwcmludEdldEJ5SWRPcCk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6cHJp
bnRDYWxsT3ApOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnByaW50UHV0QnlJZE9wKToKKyAg
ICAgICAgKEpTQzo6Q29kZUJsb2NrOjpkdW1wKToKKyAgICAgICAgKEpTQyk6CisgICAgICAgIChK
U0M6OkNvZGVCbG9jazo6Q29kZUJsb2NrKToKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2su
aDoKKyAgICAgICAgKENvZGVCbG9jayk6CisgICAgICAgICogaW50ZXJwcmV0ZXIvSW50ZXJwcmV0
ZXIuY3BwOgorICAgICAgICAoSlNDOjpJbnRlcnByZXRlcjo6ZHVtcENhbGxGcmFtZSk6CisgICAg
ICAgICogaml0L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWlu
UGFzcyk6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVTbG93Q2FzZXMpOgorICAg
ICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlKToKKyAgICAgICAgKiBqaXQvSklULmg6Cisg
ICAgICAgIChKSVQpOgorCiAyMDEyLTExLTIwICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5j
b20+CiAKICAgICAgICAgREZHIHNob3VsZCBiZSBhYmxlIHRvIGNhY2hlIGNsb3N1cmUgY2FsbHMg
KHBhcnQgMi8yKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNp
b24gMTM1MjY2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNDcsNiArMTQ3LDcgQEAgU0VUKEphdmFTY3JpcHRDb3JlX1NPVVJDRVMK
ICAgICBqaXQvSklUQ2FsbDMyXzY0LmNwcAogICAgIGppdC9KSVRDYWxsLmNwcAogICAgIGppdC9K
SVQuY3BwCisgICAgaml0L0pJVERpc2Fzc2VtYmxlci5jcHAKICAgICBqaXQvSklURXhjZXB0aW9u
cy5jcHAKICAgICBqaXQvSklUT3Bjb2RlczMyXzY0LmNwcAogICAgIGppdC9KSVRPcGNvZGVzLmNw
cApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHJldmlz
aW9uIDEzNTI2NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CSh3b3JraW5nIGNvcHkpCkBAIC0zOTYsNiArMzk2LDggQEAgamF2YXNjcmlwdGNvcmVfc291cmNl
cyArPSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsLmNwcCBcCiAJU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDb2RlLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUQ29tcGlsYXRpb25FZmZvcnQuaCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVREaXNhc3NlbWJsZXIuY3BwIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVERpc2Fz
c2VtYmxlci5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVERyaXZlci5oIFwKIAlT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklULmggXApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL1RhcmdldC5wcmkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL1RhcmdldC5wcmkJKHJldmlzaW9uIDEz
NTI2NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9UYXJnZXQucHJpCSh3b3JraW5nIGNvcHkp
CkBAIC0xNTMsNiArMTUzLDcgQEAgU09VUkNFUyArPSBcCiAgICAgaml0L0pJVENhbGwuY3BwIFwK
ICAgICBqaXQvSklUQ2FsbDMyXzY0LmNwcCBcCiAgICAgaml0L0pJVC5jcHAgXAorICAgIGppdC9K
SVREaXNhc3NlbWJsZXIuY3BwIFwKICAgICBqaXQvSklURXhjZXB0aW9ucy5jcHAgXAogICAgIGpp
dC9KSVRPcGNvZGVzLmNwcCBcCiAgICAgaml0L0pJVE9wY29kZXMzMl82NC5jcHAgXApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52
Y3Byb2oJKHJldmlzaW9uIDEzNTI2NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xOTc4LDYgKzE5NzgsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8
RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5caml0XEpJVERpc2Fzc2VtYmxlci5jcHAiCisJ
CQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXGppdFxK
SVREaXNhc3NlbWJsZXIuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0
aXZlUGF0aD0iLi5cLi5caml0XEpJVEV4Y2VwdGlvbnMuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxMzUyNjYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTY1LDkgKzE2NSw5IEBACiAJCTBGN0IyOTRDMTRDM0NE
NDMwMDdDM0RCMSAvKiBERkdCeXRlQ29kZUNhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjVGMDhDQzE0NkJFNjAyMDAwNDcyQTkgLyogREZHQnl0
ZUNvZGVDYWNoZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTBGN0IyOTREMTRDM0NENEMwMDdDM0RCMSAvKiBERkdDb21tb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQzA5NzdFMTQ2OUVCQzQwMENG
MjQ0MiAvKiBERkdDb21tb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQkwRjgwMjNFQTE2MTM4MzJCMDBBMEJBNDUgLyogQnlWYWxJbmZvLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjgwMjNFOTE2MTM4
MzIzMDBBMEJBNDUgLyogQnlWYWxJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKLQkJMEY4MzY0QjcxNjRCMEMxMTAwNTMzMjlBIC8qIERGR0JyYW5j
aERpcmVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEY4MzY0QjUxNjRCMEMwRTAwNTMzMjlBIC8qIERGR0JyYW5jaERpcmVjdGlvbi5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGODMzNUI3MTYz
OUMxRTYwMDE0NDNCNSAvKiBBcnJheUFsbG9jYXRpb25Qcm9maWxlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGODMzNUI0MTYzOUMxRTMwMDE0NDNC
NSAvKiBBcnJheUFsbG9jYXRpb25Qcm9maWxlLmNwcCAqLzsgfTsKIAkJMEY4MzM1QjgxNjM5QzFF
QTAwMTQ0M0I1IC8qIEFycmF5QWxsb2NhdGlvblByb2ZpbGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGODMzNUI1MTYzOUMxRTMwMDE0NDNCNSAvKiBB
cnJheUFsbG9jYXRpb25Qcm9maWxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJMEY4MzY0QjcxNjRCMEMxMTAwNTMzMjlBIC8qIERGR0JyYW5jaERp
cmVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEY4MzY0QjUxNjRCMEMwRTAwNTMzMjlBIC8qIERGR0JyYW5jaERpcmVjdGlvbi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGOTE5RDBDMTU3RUUw
OUYwMDRBNEU3RCAvKiBKU1N5bWJvbFRhYmxlT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOTE5RDA5MTU3RUUwOUQwMDRBNEU3RCAvKiBK
U1N5bWJvbFRhYmxlT2JqZWN0LmNwcCAqLzsgfTsKIAkJMEY5MTlEMEQxNTdFRTBBMjAwNEE0RTdE
IC8qIEpTU3ltYm9sVGFibGVPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGOTE5RDBBMTU3RUUwOUQwMDRBNEU3RCAvKiBKU1N5bWJvbFRhYmxl
T2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJMEY5MTlEMTAxNTdGMzMyOTAwNEE0RTdEIC8qIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3Qu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY5MTlE
MEUxNTdGMzMyNzAwNEE0RTdEIC8qIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuY3BwICovOyB9
OwpAQCAtMTg5LDYgKzE4OSw4IEBACiAJCTBGQTU4MUJBMTUwRTk1MkMwMEI5QTJEOSAvKiBERkdO
b2RlRmxhZ3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZBNTgxQjcxNTBFOTUyQTAwQjlBMkQ5IC8qIERGR05vZGVGbGFncy5jcHAgKi87IH07CiAJ
CTBGQTU4MUJCMTUwRTk1MzAwMEI5QTJEOSAvKiBERkdOb2RlRmxhZ3MuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQTU4MUI4MTUwRTk1MkEwMEI5QTJE
OSAvKiBERkdOb2RlRmxhZ3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQkwRkE1ODFCQzE1MEU5NTMwMDBCOUEyRDkgLyogREZHTm9kZVR5cGUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQTU4MUI5MTUw
RTk1MkEwMEI5QTJEOSAvKiBERkdOb2RlVHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQUY3RUZEMTY1QkE5MUIwMDBDODQ1NSAvKiBKSVRE
aXNhc3NlbWJsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZBRjdFRkExNjVCQTkxOTAwMEM4NDU1IC8qIEpJVERpc2Fzc2VtYmxlci5jcHAgKi87
IH07CisJCTBGQUY3RUZFMTY1QkE5MUYwMDBDODQ1NSAvKiBKSVREaXNhc3NlbWJsZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQUY3RUZCMTY1QkE5
MTkwMDBDODQ1NSAvKiBKSVREaXNhc3NlbWJsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRkI1NDY3NzE0RjU5QjVDMDAyQzI5ODkgLyogTGF6
eU9wZXJhbmRWYWx1ZVByb2ZpbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGQjU0Njc2MTRGNTlBRDEwMDJDMjk4OSAvKiBMYXp5T3BlcmFuZFZhbHVl
UHJvZmlsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTBGQjU0Njc5MTRGNUM0NkIwMDJDMjk4OSAvKiBMYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkI1NDY3
ODE0RjVDNDY4MDAyQzI5ODkgLyogTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuY3BwICovOyB9Owog
CQkwRkI1NDY3QjE0RjVDN0UxMDAyQzI5ODkgLyogTWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmls
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCNTQ2
N0ExNEY1QzdENDAwMkMyOTg5IC8qIE1ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTU0LDkgKzk1
Niw5IEBACiAJCTBGNzcwMDkxMTQwMkZGMjgwMDc4RUIzOSAvKiBTYW1wbGluZ0NvdW50ZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2FtcGxpbmdDb3VudGVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY3QjI5NDgxNEMzQ0QyMzAwN0MzREIx
IC8qIERGR0NDYWxsSGVscGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBE
RkdDQ2FsbEhlbHBlcnMuaDsgcGF0aCA9IGRmZy9ERkdDQ2FsbEhlbHBlcnMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY4MDIzRTkxNjEzODMyMzAwQTBCQTQ1IC8qIEJ5VmFsSW5m
by5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCeVZhbEluZm8uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMEY4MzY0QjUxNjRCMEMwRTAwNTMzMjlBIC8qIERGR0Jy
YW5jaERpcmVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdCcmFu
Y2hEaXJlY3Rpb24uaDsgcGF0aCA9IGRmZy9ERkdCcmFuY2hEaXJlY3Rpb24uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY4MzM1QjQxNjM5QzFFMzAwMTQ0M0I1IC8qIEFycmF5QWxs
b2NhdGlvblByb2ZpbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
QXJyYXlBbGxvY2F0aW9uUHJvZmlsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTBGODMzNUI1MTYzOUMxRTMwMDE0NDNCNSAvKiBBcnJheUFsbG9jYXRpb25Qcm9maWxlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFycmF5QWxsb2NhdGlvblByb2ZpbGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY4MzY0QjUxNjRCMEMwRTAwNTMzMjlBIC8q
IERGR0JyYW5jaERpcmVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBE
RkdCcmFuY2hEaXJlY3Rpb24uaDsgcGF0aCA9IGRmZy9ERkdCcmFuY2hEaXJlY3Rpb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY5MTlEMDkxNTdFRTA5RDAwNEE0RTdEIC8qIEpT
U3ltYm9sVGFibGVPYmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNTeW1ib2xUYWJsZU9iamVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTBGOTE5RDBBMTU3RUUwOUQwMDRBNEU3RCAvKiBKU1N5bWJvbFRhYmxlT2JqZWN0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU3ltYm9sVGFibGVPYmplY3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY5MTlEMEUxNTdGMzMyNzAwNEE0RTdEIC8qIEpTU2Vn
bWVudGVkVmFyaWFibGVPYmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC05NzgsNiArOTgwLDggQEAKIAkJMEZBNTgxQjcxNTBFOTUyQTAwQjlBMkQ5IC8q
IERGR05vZGVGbGFncy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBE
RkdOb2RlRmxhZ3MuY3BwOyBwYXRoID0gZGZnL0RGR05vZGVGbGFncy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTBGQTU4MUI4MTUwRTk1MkEwMEI5QTJEOSAvKiBERkdOb2RlRmxh
Z3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHTm9kZUZsYWdzLmg7IHBh
dGggPSBkZmcvREZHTm9kZUZsYWdzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBG
QTU4MUI5MTUwRTk1MkEwMEI5QTJEOSAvKiBERkdOb2RlVHlwZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBERkdOb2RlVHlwZS5oOyBwYXRoID0gZGZnL0RGR05vZGVUeXBlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQUY3RUZBMTY1QkE5MTkwMDBDODQ1NSAv
KiBKSVREaXNhc3NlbWJsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSklURGlzYXNzZW1ibGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZB
RjdFRkIxNjVCQTkxOTAwMEM4NDU1IC8qIEpJVERpc2Fzc2VtYmxlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKSVREaXNhc3NlbWJsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMEZCNTQ2NzYxNEY1OUFEMTAwMkMyOTg5IC8qIExhenlPcGVyYW5kVmFsdWVQ
cm9maWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExhenlPcGVyYW5kVmFs
dWVQcm9maWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQjU0Njc4MTRGNUM0
NjgwMDJDMjk4OSAvKiBMYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQjU0NjdBMTRGNUM3RDQwMDJDMjk4OSAvKiBNZXRo
b2RPZkdldHRpbmdBVmFsdWVQcm9maWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE1ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTE4MTksNiArMTgyMyw4IEBACiAJCQkJMTQ2RkU1MTExMUE3MTA0MzAwODdBRTY2
IC8qIEpJVENhbGwzMl82NC5jcHAgKi8sCiAJCQkJODZDQ0VGREQwRjQxM0Y4OTAwRkQ3RjlFIC8q
IEpJVENvZGUuaCAqLywKIAkJCQkwRjA3NzZCRDE0RkYwMDI4MDAxMDIzMzIgLyogSklUQ29tcGls
YXRpb25FZmZvcnQuaCAqLywKKwkJCQkwRkFGN0VGQTE2NUJBOTE5MDAwQzg0NTUgLyogSklURGlz
YXNzZW1ibGVyLmNwcCAqLywKKwkJCQkwRkFGN0VGQjE2NUJBOTE5MDAwQzg0NTUgLyogSklURGlz
YXNzZW1ibGVyLmggKi8sCiAJCQkJMEYyMUMyNjYxNEJFNUY1RTAwQURDNjRCIC8qIEpJVERyaXZl
ci5oICovLAogCQkJCTBGNDY4MDdGMTRCQTU3MjcwMEJGRTI3MiAvKiBKSVRFeGNlcHRpb25zLmNw
cCAqLywKIAkJCQkwRjQ2ODA4MDE0QkE1NzI3MDBCRkUyNzIgLyogSklURXhjZXB0aW9ucy5oICov
LApAQCAtMzAyMiw2ICszMDI4LDcgQEAKIAkJCQlBN0I2MDE4MjE2MzlGRDJBMDAzNzJCQTMgLyog
VW5saW5rZWRDb2RlQmxvY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUE3N0YxODIyMTY0MDg4QjIw
MDY0MEE0NyAvKiBDb2RlQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3N0YxODI1MTY0MTky
QzcwMDY0MEE0NyAvKiBQYXJzZXJNb2Rlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZBRjdFRkUx
NjVCQTkxRjAwMEM4NDU1IC8qIEpJVERpc2Fzc2VtYmxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0z
NjAxLDYgKzM2MDgsNyBAQAogCQkJCTBGODMzNUI3MTYzOUMxRTYwMDE0NDNCNSAvKiBBcnJheUFs
bG9jYXRpb25Qcm9maWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3NkYyNzk0MTVGMTNDOTYw
MDUxN0Q2NyAvKiBVbmxpbmtlZENvZGVCbG9jay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzdG
MTgyMTE2NDA4OEIyMDA2NDBBNDcgLyogQ29kZUNhY2hlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTBGQUY3RUZEMTY1QkE5MUIwMDBDODQ1NSAvKiBKSVREaXNhc3NlbWJsZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CiAJCX07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2Nr
LmNwcAkocmV2aXNpb24gMTM1MjY2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0NvZGVCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2NCw3ICsxNjQsNyBAQCBORVZFUl9J
TkxJTkUgc3RhdGljIGNvbnN0IGNoYXIqIGRlYnVnSG9vCiAgICAgcmV0dXJuICIiOwogfQogCi12
b2lkIENvZGVCbG9jazo6cHJpbnRVbmFyeU9wKEV4ZWNTdGF0ZSogZXhlYywgaW50IGxvY2F0aW9u
LCBWZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVyYXRvciYgaXQsIGNvbnN0IGNoYXIqIG9w
KQordm9pZCBDb2RlQmxvY2s6OnByaW50VW5hcnlPcChFeGVjU3RhdGUqIGV4ZWMsIGludCBsb2Nh
dGlvbiwgY29uc3QgSW5zdHJ1Y3Rpb24qJiBpdCwgY29uc3QgY2hhciogb3ApCiB7CiAgICAgaW50
IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CiAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7
CkBAIC0xNzMsNyArMTczLDcgQEAgdm9pZCBDb2RlQmxvY2s6OnByaW50VW5hcnlPcChFeGVjU3Rh
dGUqIAogICAgIGR1bXBCeXRlY29kZUNvbW1lbnRBbmROZXdMaW5lKGxvY2F0aW9uKTsKIH0KIAot
dm9pZCBDb2RlQmxvY2s6OnByaW50QmluYXJ5T3AoRXhlY1N0YXRlKiBleGVjLCBpbnQgbG9jYXRp
b24sIFZlY3RvcjxJbnN0cnVjdGlvbj46OmNvbnN0X2l0ZXJhdG9yJiBpdCwgY29uc3QgY2hhciog
b3ApCit2b2lkIENvZGVCbG9jazo6cHJpbnRCaW5hcnlPcChFeGVjU3RhdGUqIGV4ZWMsIGludCBs
b2NhdGlvbiwgY29uc3QgSW5zdHJ1Y3Rpb24qJiBpdCwgY29uc3QgY2hhciogb3ApCiB7CiAgICAg
aW50IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CiAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJh
bmQ7CkBAIC0xODIsNyArMTgyLDcgQEAgdm9pZCBDb2RlQmxvY2s6OnByaW50QmluYXJ5T3AoRXhl
Y1N0YXRlKgogICAgIGR1bXBCeXRlY29kZUNvbW1lbnRBbmROZXdMaW5lKGxvY2F0aW9uKTsKIH0K
IAotdm9pZCBDb2RlQmxvY2s6OnByaW50Q29uZGl0aW9uYWxKdW1wKEV4ZWNTdGF0ZSogZXhlYywg
Y29uc3QgVmVjdG9yPEluc3RydWN0aW9uPjo6Y29uc3RfaXRlcmF0b3ImLCBWZWN0b3I8SW5zdHJ1
Y3Rpb24+Ojpjb25zdF9pdGVyYXRvciYgaXQsIGludCBsb2NhdGlvbiwgY29uc3QgY2hhciogb3Ap
Cit2b2lkIENvZGVCbG9jazo6cHJpbnRDb25kaXRpb25hbEp1bXAoRXhlY1N0YXRlKiBleGVjLCBj
b25zdCBJbnN0cnVjdGlvbiosIGNvbnN0IEluc3RydWN0aW9uKiYgaXQsIGludCBsb2NhdGlvbiwg
Y29uc3QgY2hhciogb3ApCiB7CiAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CiAgICAg
aW50IG9mZnNldCA9ICgrK2l0KS0+dS5vcGVyYW5kOwpAQCAtMTkwLDcgKzE5MCw3IEBAIHZvaWQg
Q29kZUJsb2NrOjpwcmludENvbmRpdGlvbmFsSnVtcChFeGUKICAgICBkdW1wQnl0ZWNvZGVDb21t
ZW50QW5kTmV3TGluZShsb2NhdGlvbik7CiB9CiAKLXZvaWQgQ29kZUJsb2NrOjpwcmludEdldEJ5
SWRPcChFeGVjU3RhdGUqIGV4ZWMsIGludCBsb2NhdGlvbiwgVmVjdG9yPEluc3RydWN0aW9uPjo6
Y29uc3RfaXRlcmF0b3ImIGl0KQordm9pZCBDb2RlQmxvY2s6OnByaW50R2V0QnlJZE9wKEV4ZWNT
dGF0ZSogZXhlYywgaW50IGxvY2F0aW9uLCBjb25zdCBJbnN0cnVjdGlvbiomIGl0KQogewogICAg
IGNvbnN0IGNoYXIqIG9wOwogICAgIHN3aXRjaCAoZXhlYy0+aW50ZXJwcmV0ZXIoKS0+Z2V0T3Bj
b2RlSUQoaXQtPnUub3Bjb2RlKSkgewpAQCAtMzk2LDcgKzM5Niw3IEBAIHZvaWQgQ29kZUJsb2Nr
OjpwcmludEdldEJ5SWRDYWNoZVN0YXR1cygKICNlbmRpZgogfQogCi12b2lkIENvZGVCbG9jazo6
cHJpbnRDYWxsT3AoRXhlY1N0YXRlKiBleGVjLCBpbnQgbG9jYXRpb24sIFZlY3RvcjxJbnN0cnVj
dGlvbj46OmNvbnN0X2l0ZXJhdG9yJiBpdCwgY29uc3QgY2hhciogb3AsIENhY2hlRHVtcE1vZGUg
Y2FjaGVEdW1wTW9kZSkKK3ZvaWQgQ29kZUJsb2NrOjpwcmludENhbGxPcChFeGVjU3RhdGUqIGV4
ZWMsIGludCBsb2NhdGlvbiwgY29uc3QgSW5zdHJ1Y3Rpb24qJiBpdCwgY29uc3QgY2hhciogb3As
IENhY2hlRHVtcE1vZGUgY2FjaGVEdW1wTW9kZSkKIHsKICAgICBpbnQgZnVuYyA9ICgrK2l0KS0+
dS5vcGVyYW5kOwogICAgIGludCBhcmdDb3VudCA9ICgrK2l0KS0+dS5vcGVyYW5kOwpAQCAtNDI2
LDcgKzQyNiw3IEBAIHZvaWQgQ29kZUJsb2NrOjpwcmludENhbGxPcChFeGVjU3RhdGUqIGUKICAg
ICBpdCArPSAyOwogfQogCi12b2lkIENvZGVCbG9jazo6cHJpbnRQdXRCeUlkT3AoRXhlY1N0YXRl
KiBleGVjLCBpbnQgbG9jYXRpb24sIFZlY3RvcjxJbnN0cnVjdGlvbj46OmNvbnN0X2l0ZXJhdG9y
JiBpdCwgY29uc3QgY2hhciogb3ApCit2b2lkIENvZGVCbG9jazo6cHJpbnRQdXRCeUlkT3AoRXhl
Y1N0YXRlKiBleGVjLCBpbnQgbG9jYXRpb24sIGNvbnN0IEluc3RydWN0aW9uKiYgaXQsIGNvbnN0
IGNoYXIqIG9wKQogewogICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwogICAgIGludCBp
ZDAgPSAoKytpdCktPnUub3BlcmFuZDsKQEAgLTQ4MCw4ICs0ODAsMTIgQEAgdm9pZCBDb2RlQmxv
Y2s6OnByaW50U3RydWN0dXJlcyhjb25zdCBJbgogICAgIEFTU0VSVCh2UENbMF0udS5vcGNvZGUg
PT0gaW50ZXJwcmV0ZXItPmdldE9wY29kZShvcF9nZXRfYnlfaWRfZ2VuZXJpYykgfHwgdlBDWzBd
LnUub3Bjb2RlID09IGludGVycHJldGVyLT5nZXRPcGNvZGUob3BfcHV0X2J5X2lkX2dlbmVyaWMp
IHx8IHZQQ1swXS51Lm9wY29kZSA9PSBpbnRlcnByZXRlci0+Z2V0T3Bjb2RlKG9wX2NhbGwpIHx8
IHZQQ1swXS51Lm9wY29kZSA9PSBpbnRlcnByZXRlci0+Z2V0T3Bjb2RlKG9wX2NhbGxfZXZhbCkg
fHwgdlBDWzBdLnUub3Bjb2RlID09IGludGVycHJldGVyLT5nZXRPcGNvZGUob3BfY29uc3RydWN0
KSk7CiB9CiAKLXZvaWQgQ29kZUJsb2NrOjpkdW1wKEV4ZWNTdGF0ZSogZXhlYykKK3ZvaWQgQ29k
ZUJsb2NrOjpkdW1wKCkKIHsKKyAgICAvLyBXZSBvbmx5IHVzZSB0aGUgRXhlY1N0YXRlKiBmb3Ig
dGhpbmdzIHRoYXQgZG9uJ3QgYWN0dWFsbHkgbGVhZCB0byBKUyBleGVjdXRpb24sCisgICAgLy8g
bGlrZSBjb252ZXJ0aW5nIGEgSlNTdHJpbmcgdG8gYSBTdHJpbmcuIEhlbmNlIHRoZSBnbG9iYWxF
eGVjIGlzIGFwcHJvcHJpYXRlLgorICAgIEV4ZWNTdGF0ZSogZXhlYyA9IG1fZ2xvYmFsT2JqZWN0
LT5nbG9iYWxFeGVjKCk7CisgICAgCiAgICAgc2l6ZV90IGluc3RydWN0aW9uQ291bnQgPSAwOwog
CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBpbnN0cnVjdGlvbnMoKS5zaXplKCk7IGkgKz0g
b3Bjb2RlTGVuZ3Roc1tleGVjLT5pbnRlcnByZXRlcigpLT5nZXRPcGNvZGVJRChpbnN0cnVjdGlv
bnMoKVtpXS51Lm9wY29kZSldKQpAQCAtNTA1LDkgKzUwOSw5IEBAIHZvaWQgQ29kZUJsb2NrOjpk
dW1wKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgZGF0YUxvZygiOyBhY3RpdmF0aW9uIGluIHIl
ZCIsIGFjdGl2YXRpb25SZWdpc3RlcigpKTsKICAgICBkYXRhTG9nKCJcblxuIik7CiAKLSAgICBW
ZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVyYXRvciBiZWdpbiA9IGluc3RydWN0aW9ucygp
LmJlZ2luKCk7Ci0gICAgVmVjdG9yPEluc3RydWN0aW9uPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0g
aW5zdHJ1Y3Rpb25zKCkuZW5kKCk7Ci0gICAgZm9yIChWZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpjb25z
dF9pdGVyYXRvciBpdCA9IGJlZ2luOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgY29uc3QgSW5zdHJ1
Y3Rpb24qIGJlZ2luID0gaW5zdHJ1Y3Rpb25zKCkuYmVnaW4oKTsKKyAgICBjb25zdCBJbnN0cnVj
dGlvbiogZW5kID0gaW5zdHJ1Y3Rpb25zKCkuZW5kKCk7CisgICAgZm9yIChjb25zdCBJbnN0cnVj
dGlvbiogaXQgPSBiZWdpbjsgaXQgIT0gZW5kOyArK2l0KQogICAgICAgICBkdW1wKGV4ZWMsIGJl
Z2luLCBpdCk7CiAKICAgICBpZiAoIW1faWRlbnRpZmllcnMuaXNFbXB0eSgpKSB7CkBAIC02MDMs
NyArNjA3LDcgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXAoRXhlY1N0YXRlKiBleGVjKQogICAgIGRh
dGFMb2coIlxuIik7CiB9CiAKLXZvaWQgQ29kZUJsb2NrOjpkdW1wKEV4ZWNTdGF0ZSogZXhlYywg
Y29uc3QgVmVjdG9yPEluc3RydWN0aW9uPjo6Y29uc3RfaXRlcmF0b3ImIGJlZ2luLCBWZWN0b3I8
SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVyYXRvciYgaXQpCit2b2lkIENvZGVCbG9jazo6ZHVtcChF
eGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEluc3RydWN0aW9uKiBiZWdpbiwgY29uc3QgSW5zdHJ1Y3Rp
b24qJiBpdCkKIHsKICAgICBpbnQgbG9jYXRpb24gPSBpdCAtIGJlZ2luOwogICAgIHN3aXRjaCAo
ZXhlYy0+aW50ZXJwcmV0ZXIoKS0+Z2V0T3Bjb2RlSUQoaXQtPnUub3Bjb2RlKSkgewpAQCAtMTQ1
NCw2ICsxNDU4LDEzIEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wKEV4ZWNTdGF0ZSogZXhlYywgY28K
ICAgICB9CiB9CiAKK3ZvaWQgQ29kZUJsb2NrOjpkdW1wKHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0
KQoreworICAgIEV4ZWNTdGF0ZSogZXhlYyA9IG1fZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCk7
CisgICAgY29uc3QgSW5zdHJ1Y3Rpb24qIGl0ID0gaW5zdHJ1Y3Rpb25zKCkuYmVnaW4oKSArIGJ5
dGVjb2RlT2Zmc2V0OworICAgIGR1bXAoZXhlYywgaW5zdHJ1Y3Rpb25zKCkuYmVnaW4oKSwgaXQp
OworfQorCiAjaWYgRFVNUF9DT0RFX0JMT0NLX1NUQVRJU1RJQ1MKIHN0YXRpYyBIYXNoU2V0PENv
ZGVCbG9jayo+IGxpdmVDb2RlQmxvY2tTZXQ7CiAjZW5kaWYKQEAgLTE4ODEsNyArMTg5Miw3IEBA
IENvZGVCbG9jazo6Q29kZUJsb2NrKFNjcmlwdEV4ZWN1dGFibGUqIG8KICAgICBtX2luc3RydWN0
aW9ucyA9IFdURjo6UmVmQ291bnRlZEFycmF5PEluc3RydWN0aW9uPihpbnN0cnVjdGlvbnMpOwog
CiAgICAgaWYgKEJ5dGVjb2RlR2VuZXJhdG9yOjpkdW1wc0dlbmVyYXRlZENvZGUoKSkKLSAgICAg
ICAgZHVtcChtX2dsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpKTsKKyAgICAgICAgZHVtcCgpOwog
ICAgIG1fZ2xvYmFsRGF0YS0+ZmluaXNoZWRDb21waWxpbmcodGhpcyk7CiB9CiAKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgJKHJldmlzaW9uIDEzNTI2
NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTYzLDcgKzE2Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHN0
YXRpYyB2b2lkIGR1bXBTdGF0aXN0aWNzKCk7CiAKLSAgICAgICAgdm9pZCBkdW1wKEV4ZWNTdGF0
ZSopOworICAgICAgICB2b2lkIGR1bXAoKTsKKyAgICAgICAgdm9pZCBkdW1wKHVuc2lnbmVkIGJ5
dGVjb2RlT2Zmc2V0KTsKICAgICAgICAgdm9pZCBwcmludFN0cnVjdHVyZXMoY29uc3QgSW5zdHJ1
Y3Rpb24qKTsKICAgICAgICAgdm9pZCBwcmludFN0cnVjdHVyZShjb25zdCBjaGFyKiBuYW1lLCBj
b25zdCBJbnN0cnVjdGlvbiosIGludCBvcGVyYW5kKTsKIApAQCAtMTIxMSwxNyArMTIxMiwxNyBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgICAgICBtX2NvbnN0YW50UmVnaXN0ZXJzW2ld
LnNldCgqbV9nbG9iYWxEYXRhLCBvd25lckV4ZWN1dGFibGUoKSwgY29uc3RhbnRzW2ldLmdldCgp
KTsKICAgICAgICAgfQogCi0gICAgICAgIHZvaWQgZHVtcChFeGVjU3RhdGUqLCBjb25zdCBWZWN0
b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVyYXRvciYgYmVnaW4sIFZlY3RvcjxJbnN0cnVjdGlv
bj46OmNvbnN0X2l0ZXJhdG9yJik7CisgICAgICAgIHZvaWQgZHVtcChFeGVjU3RhdGUqLCBjb25z
dCBJbnN0cnVjdGlvbiogYmVnaW4sIGNvbnN0IEluc3RydWN0aW9uKiYpOwogCiAgICAgICAgIENT
dHJpbmcgcmVnaXN0ZXJOYW1lKEV4ZWNTdGF0ZSosIGludCByKSBjb25zdDsKLSAgICAgICAgdm9p
ZCBwcmludFVuYXJ5T3AoRXhlY1N0YXRlKiwgaW50IGxvY2F0aW9uLCBWZWN0b3I8SW5zdHJ1Y3Rp
b24+Ojpjb25zdF9pdGVyYXRvciYsIGNvbnN0IGNoYXIqIG9wKTsKLSAgICAgICAgdm9pZCBwcmlu
dEJpbmFyeU9wKEV4ZWNTdGF0ZSosIGludCBsb2NhdGlvbiwgVmVjdG9yPEluc3RydWN0aW9uPjo6
Y29uc3RfaXRlcmF0b3ImLCBjb25zdCBjaGFyKiBvcCk7Ci0gICAgICAgIHZvaWQgcHJpbnRDb25k
aXRpb25hbEp1bXAoRXhlY1N0YXRlKiwgY29uc3QgVmVjdG9yPEluc3RydWN0aW9uPjo6Y29uc3Rf
aXRlcmF0b3ImLCBWZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVyYXRvciYsIGludCBsb2Nh
dGlvbiwgY29uc3QgY2hhciogb3ApOwotICAgICAgICB2b2lkIHByaW50R2V0QnlJZE9wKEV4ZWNT
dGF0ZSosIGludCBsb2NhdGlvbiwgVmVjdG9yPEluc3RydWN0aW9uPjo6Y29uc3RfaXRlcmF0b3Im
KTsKKyAgICAgICAgdm9pZCBwcmludFVuYXJ5T3AoRXhlY1N0YXRlKiwgaW50IGxvY2F0aW9uLCBj
b25zdCBJbnN0cnVjdGlvbiomLCBjb25zdCBjaGFyKiBvcCk7CisgICAgICAgIHZvaWQgcHJpbnRC
aW5hcnlPcChFeGVjU3RhdGUqLCBpbnQgbG9jYXRpb24sIGNvbnN0IEluc3RydWN0aW9uKiYsIGNv
bnN0IGNoYXIqIG9wKTsKKyAgICAgICAgdm9pZCBwcmludENvbmRpdGlvbmFsSnVtcChFeGVjU3Rh
dGUqLCBjb25zdCBJbnN0cnVjdGlvbiosIGNvbnN0IEluc3RydWN0aW9uKiYsIGludCBsb2NhdGlv
biwgY29uc3QgY2hhciogb3ApOworICAgICAgICB2b2lkIHByaW50R2V0QnlJZE9wKEV4ZWNTdGF0
ZSosIGludCBsb2NhdGlvbiwgY29uc3QgSW5zdHJ1Y3Rpb24qJik7CiAgICAgICAgIHZvaWQgcHJp
bnRHZXRCeUlkQ2FjaGVTdGF0dXMoRXhlY1N0YXRlKiwgaW50IGxvY2F0aW9uKTsKICAgICAgICAg
ZW51bSBDYWNoZUR1bXBNb2RlIHsgRHVtcENhY2hlcywgRG9udER1bXBDYWNoZXMgfTsKLSAgICAg
ICAgdm9pZCBwcmludENhbGxPcChFeGVjU3RhdGUqLCBpbnQgbG9jYXRpb24sIFZlY3RvcjxJbnN0
cnVjdGlvbj46OmNvbnN0X2l0ZXJhdG9yJiwgY29uc3QgY2hhciogb3AsIENhY2hlRHVtcE1vZGUp
OwotICAgICAgICB2b2lkIHByaW50UHV0QnlJZE9wKEV4ZWNTdGF0ZSosIGludCBsb2NhdGlvbiwg
VmVjdG9yPEluc3RydWN0aW9uPjo6Y29uc3RfaXRlcmF0b3ImLCBjb25zdCBjaGFyKiBvcCk7Cisg
ICAgICAgIHZvaWQgcHJpbnRDYWxsT3AoRXhlY1N0YXRlKiwgaW50IGxvY2F0aW9uLCBjb25zdCBJ
bnN0cnVjdGlvbiomLCBjb25zdCBjaGFyKiBvcCwgQ2FjaGVEdW1wTW9kZSk7CisgICAgICAgIHZv
aWQgcHJpbnRQdXRCeUlkT3AoRXhlY1N0YXRlKiwgaW50IGxvY2F0aW9uLCBjb25zdCBJbnN0cnVj
dGlvbiomLCBjb25zdCBjaGFyKiBvcCk7CiAgICAgICAgIHZvaWQgdmlzaXRTdHJ1Y3R1cmVzKFNs
b3RWaXNpdG9yJiwgSW5zdHJ1Y3Rpb24qIHZQQyk7CiAgICAgICAgIAogI2lmIEVOQUJMRShERkdf
SklUKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50
ZXJwcmV0ZXIuY3BwCShyZXZpc2lvbiAxMzUyNjYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zODAsNyArMzgw
LDcgQEAgdm9pZCBJbnRlcnByZXRlcjo6ZHVtcENhbGxGcmFtZShDYWxsRnJhbQogCiB2b2lkIElu
dGVycHJldGVyOjpkdW1wQ2FsbEZyYW1lKENhbGxGcmFtZSogY2FsbEZyYW1lKQogewotICAgIGNh
bGxGcmFtZS0+Y29kZUJsb2NrKCktPmR1bXAoY2FsbEZyYW1lKTsKKyAgICBjYWxsRnJhbWUtPmNv
ZGVCbG9jaygpLT5kdW1wKCk7CiAgICAgZHVtcFJlZ2lzdGVycyhjYWxsRnJhbWUpOwogfQogCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCShyZXZpc2lvbiAxMzUyNjYpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxMiw2ICsy
MTIsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcygpCiAgICAgbV9jYWxsTGlu
a0luZm9JbmRleCA9IDA7CiAKICAgICBmb3IgKG1fYnl0ZWNvZGVPZmZzZXQgPSAwOyBtX2J5dGVj
b2RlT2Zmc2V0IDwgaW5zdHJ1Y3Rpb25Db3VudDsgKSB7CisgICAgICAgIGlmIChtX2Rpc2Fzc2Vt
YmxlcikKKyAgICAgICAgICAgIG1fZGlzYXNzZW1ibGVyLT5zZXRGb3JCeXRlY29kZU1haW5QYXRo
KG1fYnl0ZWNvZGVPZmZzZXQsIGxhYmVsKCkpOwogICAgICAgICBJbnN0cnVjdGlvbiogY3VycmVu
dEluc3RydWN0aW9uID0gaW5zdHJ1Y3Rpb25zQmVnaW4gKyBtX2J5dGVjb2RlT2Zmc2V0OwogICAg
ICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKG1faW50ZXJwcmV0ZXItPmlzT3Bjb2RlKGN1cnJlbnRJ
bnN0cnVjdGlvbi0+dS5vcGNvZGUpLCAicHJpdmF0ZUNvbXBpbGVNYWluUGFzcyBnb25lIGJhZCBA
ICVkIiwgbV9ieXRlY29kZU9mZnNldCk7CiAKQEAgLTQ1MSw2ICs0NTMsOSBAQCB2b2lkIEpJVDo6
cHJpdmF0ZUNvbXBpbGVTbG93Q2FzZXMoKQogI2lmIEVOQUJMRShKSVRfVkVSQk9TRSkKICAgICAg
ICAgZGF0YUxvZygiT2xkIEpJVCBlbWl0dGluZyBzbG93IGNvZGUgZm9yIGJjIyV1IGF0IG9mZnNl
dCAweCVseC5cbiIsIG1fYnl0ZWNvZGVPZmZzZXQsIChsb25nKWRlYnVnT2Zmc2V0KCkpOwogI2Vu
ZGlmCisgICAgICAgIAorICAgICAgICBpZiAobV9kaXNhc3NlbWJsZXIpCisgICAgICAgICAgICBt
X2Rpc2Fzc2VtYmxlci0+c2V0Rm9yQnl0ZWNvZGVTbG93UGF0aChtX2J5dGVjb2RlT2Zmc2V0LCBs
YWJlbCgpKTsKIAogICAgICAgICBzd2l0Y2ggKG1faW50ZXJwcmV0ZXItPmdldE9wY29kZUlEKGN1
cnJlbnRJbnN0cnVjdGlvbi0+dS5vcGNvZGUpKSB7CiAgICAgICAgIERFRklORV9TTE9XQ0FTRV9P
UChvcF9hZGQpCkBAIC02MjUsNiArNjMwLDEyIEBAIEpJVENvZGUgSklUOjpwcml2YXRlQ29tcGls
ZShDb2RlUHRyKiBmdW4KICAgICAgICAgYnJlYWs7CiAgICAgfQogI2VuZGlmCisgICAgCisgICAg
aWYgKE9wdGlvbnM6OnNob3dEaXNhc3NlbWJseSgpKQorICAgICAgICBtX2Rpc2Fzc2VtYmxlciA9
IGFkb3B0UHRyKG5ldyBKSVREaXNhc3NlbWJsZXIobV9jb2RlQmxvY2spKTsKKyAgICAKKyAgICBp
ZiAobV9kaXNhc3NlbWJsZXIpCisgICAgICAgIG1fZGlzYXNzZW1ibGVyLT5zZXRTdGFydE9mQ29k
ZShsYWJlbCgpKTsKIAogICAgIC8vIEp1c3QgYWRkIGEgbGl0dGxlIGJpdCBvZiByYW5kb21uZXNz
IHRvIHRoZSBjb2RlZ2VuCiAgICAgaWYgKG1fcmFuZG9tR2VuZXJhdG9yLmdldFVpbnQzMigpICYg
MSkKQEAgLTY4NCw2ICs2OTUsOSBAQCBKSVRDb2RlIEpJVDo6cHJpdmF0ZUNvbXBpbGUoQ29kZVB0
ciogZnVuCiAgICAgcHJpdmF0ZUNvbXBpbGVNYWluUGFzcygpOwogICAgIHByaXZhdGVDb21waWxl
TGlua1Bhc3MoKTsKICAgICBwcml2YXRlQ29tcGlsZVNsb3dDYXNlcygpOworICAgIAorICAgIGlm
IChtX2Rpc2Fzc2VtYmxlcikKKyAgICAgICAgbV9kaXNhc3NlbWJsZXItPnNldEVuZE9mU2xvd1Bh
dGgobGFiZWwoKSk7CiAKICAgICBMYWJlbCBhcml0eUNoZWNrOwogICAgIGlmIChtX2NvZGVCbG9j
ay0+Y29kZVR5cGUoKSA9PSBGdW5jdGlvbkNvZGUpIHsKQEAgLTcxMyw2ICs3MjcsOSBAQCBKSVRD
b2RlIEpJVDo6cHJpdmF0ZUNvbXBpbGUoQ29kZVB0ciogZnVuCiAgICAgfQogCiAgICAgQVNTRVJU
KG1fam1wVGFibGUuaXNFbXB0eSgpKTsKKyAgICAKKyAgICBpZiAobV9kaXNhc3NlbWJsZXIpCisg
ICAgICAgIG1fZGlzYXNzZW1ibGVyLT5zZXRFbmRPZkNvZGUobGFiZWwoKSk7CiAKICAgICBMaW5r
QnVmZmVyIHBhdGNoQnVmZmVyKCptX2dsb2JhbERhdGEsIHRoaXMsIG1fY29kZUJsb2NrLCBlZmZv
cnQpOwogICAgIGlmIChwYXRjaEJ1ZmZlci5kaWRGYWlsVG9BbGxvY2F0ZSgpKQpAQCAtODA0LDEx
ICs4MjEsMTEgQEAgSklUQ29kZSBKSVQ6OnByaXZhdGVDb21waWxlKENvZGVQdHIqIGZ1bgogCiAg
ICAgaWYgKG1fY29kZUJsb2NrLT5jb2RlVHlwZSgpID09IEZ1bmN0aW9uQ29kZSAmJiBmdW5jdGlv
bkVudHJ5QXJpdHlDaGVjaykKICAgICAgICAgKmZ1bmN0aW9uRW50cnlBcml0eUNoZWNrID0gcGF0
Y2hCdWZmZXIubG9jYXRpb25PZihhcml0eUNoZWNrKTsKKworICAgIGlmIChtX2Rpc2Fzc2VtYmxl
cikKKyAgICAgICAgbV9kaXNhc3NlbWJsZXItPmR1bXAocGF0Y2hCdWZmZXIpOwogICAgIAotICAg
IENvZGVSZWYgcmVzdWx0ID0gRklOQUxJWkVfQ09ERSgKLSAgICAgICAgcGF0Y2hCdWZmZXIsCi0g
ICAgICAgICgiQmFzZWxpbmUgSklUIGNvZGUgZm9yIENvZGVCbG9jayAlcCwgaW5zdHJ1Y3Rpb24g
Y291bnQgPSAldSIsCi0gICAgICAgICBtX2NvZGVCbG9jaywgbV9jb2RlQmxvY2stPmluc3RydWN0
aW9uQ291bnQoKSkpOworICAgIENvZGVSZWYgcmVzdWx0ID0gcGF0Y2hCdWZmZXIuZmluYWxpemVD
b2RlV2l0aG91dERpc2Fzc2VtYmx5KCk7CiAgICAgCiAgICAgbV9nbG9iYWxEYXRhLT5tYWNoaW5l
Q29kZUJ5dGVzUGVyQnl0ZWNvZGVXb3JkRm9yQmFzZWxpbmVKSVQuYWRkKAogICAgICAgICBzdGF0
aWNfY2FzdDxkb3VibGU+KHJlc3VsdC5zaXplKCkpIC8KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklULmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVQuaAkocmV2aXNpb24gMTM1MjY2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQu
aAkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgIkNvZGVCbG9jay5o
IgogI2luY2x1ZGUgIkNvbXBhY3RKSVRDb2RlTWFwLmgiCiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIu
aCIKKyNpbmNsdWRlICJKSVREaXNhc3NlbWJsZXIuaCIKICNpbmNsdWRlICJKU0ludGVyZmFjZUpJ
VC5oIgogI2luY2x1ZGUgIk9wY29kZS5oIgogI2luY2x1ZGUgIlByb2ZpbGVyLmgiCkBAIC05NDUs
NiArOTQ2LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGludCBtX3VuaW50ZXJydXB0ZWRD
b25zdGFudFNlcXVlbmNlQmVnaW47CiAjZW5kaWYKICNlbmRpZgorICAgICAgICBPd25QdHI8SklU
RGlzYXNzZW1ibGVyPiBtX2Rpc2Fzc2VtYmxlcjsKICAgICAgICAgV2Vha1JhbmRvbSBtX3JhbmRv
bUdlbmVyYXRvcjsKICAgICAgICAgc3RhdGljIENvZGVSZWYgc3RyaW5nR2V0QnlWYWxTdHViR2Vu
ZXJhdG9yKEpTR2xvYmFsRGF0YSopOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175341</attachid>
            <date>2012-11-20 22:10:36 -0800</date>
            <delta_ts>2012-11-20 23:51:10 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>disas.patch</filename>
            <type>text/plain</type>
            <size>24160</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTM1MzQ5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBA
CisyMDEyLTExLTIwICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
QmFzZWxpbmUgSklUJ3MgZGlzYXNzZW1ibHkgc2hvdWxkIGJlIGp1c3QgYXMgcHJldHR5IGFzIHRo
ZSBERkcncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAyODczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
SW50ZWdyYXRlZCB0aGUgQ29kZUJsb2NrJ3MgYnl0ZWNvZGUgZHVtcGVyIHdpdGggdGhlIEpJVCdz
IGRpc2Fzc2VtYmxlci4gQWxzbyBmaXhlZAorICAgICAgICBzb21lIHR5cGUgZ29vZi11cHMgKGlu
c3RydWN0aW9ucyBhcmUgbm90IGluIGEgVmVjdG9yPEluc3RydWN0aW9uPiBzbyB1c2luZyBhIFZl
Y3RvcgorICAgICAgICBpdGVyYXRvciBtYWtlcyBubyBzZW5zZSkgYW5kIHN0cmVhbS1saW5lZCBz
b21lIHRoaW5ncyAoeW91IGRvbid0IGFjdHVhbGx5IG5lZWQgYQorICAgICAgICBmdWxsLWZsZWRn
ZWQgRXhlY1N0YXRlKiB0byBkdW1wIGJ5dGVjb2RlKS4KKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogSmF2YVNjcmlw
dENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvajoKKyAgICAg
ICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IFRhcmdldC5wcmk6CisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAg
KEpTQzo6Q29kZUJsb2NrOjpwcmludFVuYXJ5T3ApOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6
OnByaW50QmluYXJ5T3ApOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnByaW50Q29uZGl0aW9u
YWxKdW1wKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpwcmludEdldEJ5SWRPcCk6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9jazo6cHJpbnRDYWxsT3ApOgorICAgICAgICAoSlNDOjpDb2RlQmxv
Y2s6OnByaW50UHV0QnlJZE9wKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpkdW1wKToKKyAg
ICAgICAgKEpTQyk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6Q29kZUJsb2NrKToKKyAgICAg
ICAgKiBieXRlY29kZS9Db2RlQmxvY2suaDoKKyAgICAgICAgKENvZGVCbG9jayk6CisgICAgICAg
ICogaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwOgorICAgICAgICAoSlNDOjpJbnRlcnByZXRl
cjo6ZHVtcENhbGxGcmFtZSk6CisgICAgICAgICogaml0L0pJVC5jcHA6CisgICAgICAgIChKU0M6
OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcyk6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0
ZUNvbXBpbGVTbG93Q2FzZXMpOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlKToK
KyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgIChKSVQpOgorCiAyMDEyLTExLTIwICBGaWxp
cCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgREZHIHNob3VsZCBiZSBhYmxl
IHRvIGNhY2hlIGNsb3N1cmUgY2FsbHMgKHBhcnQgMi8yKQpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMTM1MjY2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNDcsNiArMTQ3LDcgQEAgU0VU
KEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKICAgICBqaXQvSklUQ2FsbDMyXzY0LmNwcAogICAgIGpp
dC9KSVRDYWxsLmNwcAogICAgIGppdC9KSVQuY3BwCisgICAgaml0L0pJVERpc2Fzc2VtYmxlci5j
cHAKICAgICBqaXQvSklURXhjZXB0aW9ucy5jcHAKICAgICBqaXQvSklUT3Bjb2RlczMyXzY0LmNw
cAogICAgIGppdC9KSVRPcGNvZGVzLmNwcApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0JKHJldmlzaW9uIDEzNTI2NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5nIGNvcHkpCkBAIC0zOTYsNiArMzk2LDgg
QEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRDYWxsLmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDb2RlLmggXAog
CVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ29tcGlsYXRpb25FZmZvcnQuaCBcCisJU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVREaXNhc3NlbWJsZXIuY3BwIFwKKwlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVERpc2Fzc2VtYmxlci5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVERyaXZlci5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAg
XAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmggXApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL1RhcmdldC5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L1RhcmdldC5wcmkJKHJldmlzaW9uIDEzNTI2NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9U
YXJnZXQucHJpCSh3b3JraW5nIGNvcHkpCkBAIC0xNTMsNiArMTUzLDcgQEAgU09VUkNFUyArPSBc
CiAgICAgaml0L0pJVENhbGwuY3BwIFwKICAgICBqaXQvSklUQ2FsbDMyXzY0LmNwcCBcCiAgICAg
aml0L0pJVC5jcHAgXAorICAgIGppdC9KSVREaXNhc3NlbWJsZXIuY3BwIFwKICAgICBqaXQvSklU
RXhjZXB0aW9ucy5jcHAgXAogICAgIGppdC9KSVRPcGNvZGVzLmNwcCBcCiAgICAgaml0L0pJVE9w
Y29kZXMzMl82NC5jcHAgXApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2oKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2oJKHJldmlzaW9uIDEzNTI2NikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xOTc4LDYgKzE5NzgsMTQgQEAK
IAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5caml0
XEpJVERpc2Fzc2VtYmxlci5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXC4uXGppdFxKSVREaXNhc3NlbWJsZXIuaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5caml0XEpJVEV4Y2VwdGlvbnMu
Y3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CShyZXZpc2lvbiAxMzUyNjYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTY1LDkgKzE2
NSw5IEBACiAJCTBGN0IyOTRDMTRDM0NENDMwMDdDM0RCMSAvKiBERkdCeXRlQ29kZUNhY2hlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjVGMDhDQzE0
NkJFNjAyMDAwNDcyQTkgLyogREZHQnl0ZUNvZGVDYWNoZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGN0IyOTREMTRDM0NENEMwMDdDM0RCMSAv
KiBERkdDb21tb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGQzA5NzdFMTQ2OUVCQzQwMENGMjQ0MiAvKiBERkdDb21tb24uaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjgwMjNFQTE2MTM4MzJCMDBB
MEJBNDUgLyogQnlWYWxJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjgwMjNFOTE2MTM4MzIzMDBBMEJBNDUgLyogQnlWYWxJbmZvLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMEY4MzY0QjcxNjRC
MEMxMTAwNTMzMjlBIC8qIERGR0JyYW5jaERpcmVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY4MzY0QjUxNjRCMEMwRTAwNTMzMjlBIC8qIERG
R0JyYW5jaERpcmVjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTBGODMzNUI3MTYzOUMxRTYwMDE0NDNCNSAvKiBBcnJheUFsbG9jYXRpb25Q
cm9maWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGODMzNUI0MTYzOUMxRTMwMDE0NDNCNSAvKiBBcnJheUFsbG9jYXRpb25Qcm9maWxlLmNwcCAq
LzsgfTsKIAkJMEY4MzM1QjgxNjM5QzFFQTAwMTQ0M0I1IC8qIEFycmF5QWxsb2NhdGlvblByb2Zp
bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGODMz
NUI1MTYzOUMxRTMwMDE0NDNCNSAvKiBBcnJheUFsbG9jYXRpb25Qcm9maWxlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY4MzY0QjcxNjRCMEMx
MTAwNTMzMjlBIC8qIERGR0JyYW5jaERpcmVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY4MzY0QjUxNjRCMEMwRTAwNTMzMjlBIC8qIERGR0Jy
YW5jaERpcmVjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTBGOTE5RDBDMTU3RUUwOUYwMDRBNEU3RCAvKiBKU1N5bWJvbFRhYmxlT2JqZWN0
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOTE5
RDA5MTU3RUUwOUQwMDRBNEU3RCAvKiBKU1N5bWJvbFRhYmxlT2JqZWN0LmNwcCAqLzsgfTsKIAkJ
MEY5MTlEMEQxNTdFRTBBMjAwNEE0RTdEIC8qIEpTU3ltYm9sVGFibGVPYmplY3QuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOTE5RDBBMTU3RUUwOUQw
MDRBNEU3RCAvKiBKU1N5bWJvbFRhYmxlT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEY5MTlEMTAxNTdGMzMyOTAwNEE0RTdEIC8qIEpT
U2VnbWVudGVkVmFyaWFibGVPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEY5MTlEMEUxNTdGMzMyNzAwNEE0RTdEIC8qIEpTU2VnbWVudGVk
VmFyaWFibGVPYmplY3QuY3BwICovOyB9OwpAQCAtMTg5LDYgKzE4OSw4IEBACiAJCTBGQTU4MUJB
MTUwRTk1MkMwMEI5QTJEOSAvKiBERkdOb2RlRmxhZ3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZBNTgxQjcxNTBFOTUyQTAwQjlBMkQ5IC8qIERG
R05vZGVGbGFncy5jcHAgKi87IH07CiAJCTBGQTU4MUJCMTUwRTk1MzAwMEI5QTJEOSAvKiBERkdO
b2RlRmxhZ3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGQTU4MUI4MTUwRTk1MkEwMEI5QTJEOSAvKiBERkdOb2RlRmxhZ3MuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRkE1ODFCQzE1MEU5NTMwMDBC
OUEyRDkgLyogREZHTm9kZVR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGQTU4MUI5MTUwRTk1MkEwMEI5QTJEOSAvKiBERkdOb2RlVHlwZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGQUY3RUZE
MTY1QkE5MUIwMDBDODQ1NSAvKiBKSVREaXNhc3NlbWJsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZBRjdFRkExNjVCQTkxOTAwMEM4NDU1IC8q
IEpJVERpc2Fzc2VtYmxlci5jcHAgKi87IH07CisJCTBGQUY3RUZFMTY1QkE5MUYwMDBDODQ1NSAv
KiBKSVREaXNhc3NlbWJsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGQUY3RUZCMTY1QkE5MTkwMDBDODQ1NSAvKiBKSVREaXNhc3NlbWJsZXIuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRkI1NDY3
NzE0RjU5QjVDMDAyQzI5ODkgLyogTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjU0Njc2MTRGNTlBRDEwMDJD
Mjk4OSAvKiBMYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGQjU0Njc5MTRGNUM0NkIwMDJDMjk4OSAvKiBM
YXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkI1NDY3ODE0RjVDNDY4MDAyQzI5ODkgLyogTGF6eU9wZXJhbmRW
YWx1ZVByb2ZpbGUuY3BwICovOyB9OwogCQkwRkI1NDY3QjE0RjVDN0UxMDAyQzI5ODkgLyogTWV0
aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEZCNTQ2N0ExNEY1QzdENDAwMkMyOTg5IC8qIE1ldGhvZE9mR2V0
dGluZ0FWYWx1ZVByb2ZpbGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtOTU0LDkgKzk1Niw5IEBACiAJCTBGNzcwMDkxMTQwMkZGMjgwMDc4RUIz
OSAvKiBTYW1wbGluZ0NvdW50ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU2FtcGxpbmdDb3VudGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MEY3QjI5NDgxNEMzQ0QyMzAwN0MzREIxIC8qIERGR0NDYWxsSGVscGVycy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdDQ2FsbEhlbHBlcnMuaDsgcGF0aCA9IGRmZy9ERkdD
Q2FsbEhlbHBlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY4MDIzRTkxNjEz
ODMyMzAwQTBCQTQ1IC8qIEJ5VmFsSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBCeVZhbEluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMEY4MzY0QjUx
NjRCMEMwRTAwNTMzMjlBIC8qIERGR0JyYW5jaERpcmVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBERkdCcmFuY2hEaXJlY3Rpb24uaDsgcGF0aCA9IGRmZy9ERkdCcmFu
Y2hEaXJlY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY4MzM1QjQxNjM5
QzFFMzAwMTQ0M0I1IC8qIEFycmF5QWxsb2NhdGlvblByb2ZpbGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXJyYXlBbGxvY2F0aW9uUHJvZmlsZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGODMzNUI1MTYzOUMxRTMwMDE0NDNCNSAvKiBBcnJh
eUFsbG9jYXRpb25Qcm9maWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFy
cmF5QWxsb2NhdGlvblByb2ZpbGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY4
MzY0QjUxNjRCMEMwRTAwNTMzMjlBIC8qIERGR0JyYW5jaERpcmVjdGlvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdCcmFuY2hEaXJlY3Rpb24uaDsgcGF0aCA9IGRmZy9E
RkdCcmFuY2hEaXJlY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY5MTlE
MDkxNTdFRTA5RDAwNEE0RTdEIC8qIEpTU3ltYm9sVGFibGVPYmplY3QuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTeW1ib2xUYWJsZU9iamVjdC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGOTE5RDBBMTU3RUUwOUQwMDRBNEU3RCAvKiBKU1N5
bWJvbFRhYmxlT2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU3lt
Ym9sVGFibGVPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY5MTlEMEUx
NTdGMzMyNzAwNEE0RTdEIC8qIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05NzgsNiArOTgwLDggQEAKIAkJMEZB
NTgxQjcxNTBFOTUyQTAwQjlBMkQ5IC8qIERGR05vZGVGbGFncy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdOb2RlRmxhZ3MuY3BwOyBwYXRoID0gZGZnL0RGR05v
ZGVGbGFncy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQTU4MUI4MTUwRTk1
MkEwMEI5QTJEOSAvKiBERkdOb2RlRmxhZ3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gREZHTm9kZUZsYWdzLmg7IHBhdGggPSBkZmcvREZHTm9kZUZsYWdzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQTU4MUI5MTUwRTk1MkEwMEI5QTJEOSAvKiBERkdOb2Rl
VHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdOb2RlVHlwZS5oOyBw
YXRoID0gZGZnL0RGR05vZGVUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBG
QUY3RUZBMTY1QkE5MTkwMDBDODQ1NSAvKiBKSVREaXNhc3NlbWJsZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSklURGlzYXNzZW1ibGVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEZBRjdFRkIxNjVCQTkxOTAwMEM4NDU1IC8qIEpJVERpc2Fz
c2VtYmxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKSVREaXNhc3NlbWJs
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZCNTQ2NzYxNEY1OUFEMTAwMkMy
OTg5IC8qIExhenlPcGVyYW5kVmFsdWVQcm9maWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IExhenlPcGVyYW5kVmFsdWVQcm9maWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTBGQjU0Njc4MTRGNUM0NjgwMDJDMjk4OSAvKiBMYXp5T3BlcmFuZFZhbHVlUHJv
ZmlsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYXp5T3BlcmFu
ZFZhbHVlUHJvZmlsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQjU0NjdB
MTRGNUM3RDQwMDJDMjk4OSAvKiBNZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MTksNiArMTgyMyw4IEBACiAJCQkJ
MTQ2RkU1MTExMUE3MTA0MzAwODdBRTY2IC8qIEpJVENhbGwzMl82NC5jcHAgKi8sCiAJCQkJODZD
Q0VGREQwRjQxM0Y4OTAwRkQ3RjlFIC8qIEpJVENvZGUuaCAqLywKIAkJCQkwRjA3NzZCRDE0RkYw
MDI4MDAxMDIzMzIgLyogSklUQ29tcGlsYXRpb25FZmZvcnQuaCAqLywKKwkJCQkwRkFGN0VGQTE2
NUJBOTE5MDAwQzg0NTUgLyogSklURGlzYXNzZW1ibGVyLmNwcCAqLywKKwkJCQkwRkFGN0VGQjE2
NUJBOTE5MDAwQzg0NTUgLyogSklURGlzYXNzZW1ibGVyLmggKi8sCiAJCQkJMEYyMUMyNjYxNEJF
NUY1RTAwQURDNjRCIC8qIEpJVERyaXZlci5oICovLAogCQkJCTBGNDY4MDdGMTRCQTU3MjcwMEJG
RTI3MiAvKiBKSVRFeGNlcHRpb25zLmNwcCAqLywKIAkJCQkwRjQ2ODA4MDE0QkE1NzI3MDBCRkUy
NzIgLyogSklURXhjZXB0aW9ucy5oICovLApAQCAtMzAyMiw2ICszMDI4LDcgQEAKIAkJCQlBN0I2
MDE4MjE2MzlGRDJBMDAzNzJCQTMgLyogVW5saW5rZWRDb2RlQmxvY2suaCBpbiBIZWFkZXJzICov
LAogCQkJCUE3N0YxODIyMTY0MDg4QjIwMDY0MEE0NyAvKiBDb2RlQ2FjaGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE3N0YxODI1MTY0MTkyQzcwMDY0MEE0NyAvKiBQYXJzZXJNb2Rlcy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEZBRjdFRkUxNjVCQTkxRjAwMEM4NDU1IC8qIEpJVERpc2Fzc2VtYmxl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CiAJCX07CkBAIC0zNjAxLDYgKzM2MDgsNyBAQAogCQkJCTBGODMzNUI3MTYz
OUMxRTYwMDE0NDNCNSAvKiBBcnJheUFsbG9jYXRpb25Qcm9maWxlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUE3NkYyNzk0MTVGMTNDOTYwMDUxN0Q2NyAvKiBVbmxpbmtlZENvZGVCbG9jay5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlBNzdGMTgyMTE2NDA4OEIyMDA2NDBBNDcgLyogQ29kZUNhY2hl
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGQUY3RUZEMTY1QkE5MUIwMDBDODQ1NSAvKiBKSVRE
aXNhc3NlbWJsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxv
eW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkocmV2aXNpb24gMTM1MjY2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE2NCw3ICsxNjQsNyBAQCBORVZFUl9JTkxJTkUgc3RhdGljIGNvbnN0IGNoYXIqIGRlYnVnSG9v
CiAgICAgcmV0dXJuICIiOwogfQogCi12b2lkIENvZGVCbG9jazo6cHJpbnRVbmFyeU9wKEV4ZWNT
dGF0ZSogZXhlYywgaW50IGxvY2F0aW9uLCBWZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVy
YXRvciYgaXQsIGNvbnN0IGNoYXIqIG9wKQordm9pZCBDb2RlQmxvY2s6OnByaW50VW5hcnlPcChF
eGVjU3RhdGUqIGV4ZWMsIGludCBsb2NhdGlvbiwgY29uc3QgSW5zdHJ1Y3Rpb24qJiBpdCwgY29u
c3QgY2hhciogb3ApCiB7CiAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CiAgICAgaW50
IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CkBAIC0xNzMsNyArMTczLDcgQEAgdm9pZCBDb2RlQmxv
Y2s6OnByaW50VW5hcnlPcChFeGVjU3RhdGUqIAogICAgIGR1bXBCeXRlY29kZUNvbW1lbnRBbmRO
ZXdMaW5lKGxvY2F0aW9uKTsKIH0KIAotdm9pZCBDb2RlQmxvY2s6OnByaW50QmluYXJ5T3AoRXhl
Y1N0YXRlKiBleGVjLCBpbnQgbG9jYXRpb24sIFZlY3RvcjxJbnN0cnVjdGlvbj46OmNvbnN0X2l0
ZXJhdG9yJiBpdCwgY29uc3QgY2hhciogb3ApCit2b2lkIENvZGVCbG9jazo6cHJpbnRCaW5hcnlP
cChFeGVjU3RhdGUqIGV4ZWMsIGludCBsb2NhdGlvbiwgY29uc3QgSW5zdHJ1Y3Rpb24qJiBpdCwg
Y29uc3QgY2hhciogb3ApCiB7CiAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CiAgICAg
aW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CkBAIC0xODIsNyArMTgyLDcgQEAgdm9pZCBDb2Rl
QmxvY2s6OnByaW50QmluYXJ5T3AoRXhlY1N0YXRlKgogICAgIGR1bXBCeXRlY29kZUNvbW1lbnRB
bmROZXdMaW5lKGxvY2F0aW9uKTsKIH0KIAotdm9pZCBDb2RlQmxvY2s6OnByaW50Q29uZGl0aW9u
YWxKdW1wKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgVmVjdG9yPEluc3RydWN0aW9uPjo6Y29uc3Rf
aXRlcmF0b3ImLCBWZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVyYXRvciYgaXQsIGludCBs
b2NhdGlvbiwgY29uc3QgY2hhciogb3ApCit2b2lkIENvZGVCbG9jazo6cHJpbnRDb25kaXRpb25h
bEp1bXAoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJbnN0cnVjdGlvbiosIGNvbnN0IEluc3RydWN0
aW9uKiYgaXQsIGludCBsb2NhdGlvbiwgY29uc3QgY2hhciogb3ApCiB7CiAgICAgaW50IHIwID0g
KCsraXQpLT51Lm9wZXJhbmQ7CiAgICAgaW50IG9mZnNldCA9ICgrK2l0KS0+dS5vcGVyYW5kOwpA
QCAtMTkwLDcgKzE5MCw3IEBAIHZvaWQgQ29kZUJsb2NrOjpwcmludENvbmRpdGlvbmFsSnVtcChF
eGUKICAgICBkdW1wQnl0ZWNvZGVDb21tZW50QW5kTmV3TGluZShsb2NhdGlvbik7CiB9CiAKLXZv
aWQgQ29kZUJsb2NrOjpwcmludEdldEJ5SWRPcChFeGVjU3RhdGUqIGV4ZWMsIGludCBsb2NhdGlv
biwgVmVjdG9yPEluc3RydWN0aW9uPjo6Y29uc3RfaXRlcmF0b3ImIGl0KQordm9pZCBDb2RlQmxv
Y2s6OnByaW50R2V0QnlJZE9wKEV4ZWNTdGF0ZSogZXhlYywgaW50IGxvY2F0aW9uLCBjb25zdCBJ
bnN0cnVjdGlvbiomIGl0KQogewogICAgIGNvbnN0IGNoYXIqIG9wOwogICAgIHN3aXRjaCAoZXhl
Yy0+aW50ZXJwcmV0ZXIoKS0+Z2V0T3Bjb2RlSUQoaXQtPnUub3Bjb2RlKSkgewpAQCAtMzk2LDcg
KzM5Niw3IEBAIHZvaWQgQ29kZUJsb2NrOjpwcmludEdldEJ5SWRDYWNoZVN0YXR1cygKICNlbmRp
ZgogfQogCi12b2lkIENvZGVCbG9jazo6cHJpbnRDYWxsT3AoRXhlY1N0YXRlKiBleGVjLCBpbnQg
bG9jYXRpb24sIFZlY3RvcjxJbnN0cnVjdGlvbj46OmNvbnN0X2l0ZXJhdG9yJiBpdCwgY29uc3Qg
Y2hhciogb3AsIENhY2hlRHVtcE1vZGUgY2FjaGVEdW1wTW9kZSkKK3ZvaWQgQ29kZUJsb2NrOjpw
cmludENhbGxPcChFeGVjU3RhdGUqIGV4ZWMsIGludCBsb2NhdGlvbiwgY29uc3QgSW5zdHJ1Y3Rp
b24qJiBpdCwgY29uc3QgY2hhciogb3AsIENhY2hlRHVtcE1vZGUgY2FjaGVEdW1wTW9kZSkKIHsK
ICAgICBpbnQgZnVuYyA9ICgrK2l0KS0+dS5vcGVyYW5kOwogICAgIGludCBhcmdDb3VudCA9ICgr
K2l0KS0+dS5vcGVyYW5kOwpAQCAtNDI2LDcgKzQyNiw3IEBAIHZvaWQgQ29kZUJsb2NrOjpwcmlu
dENhbGxPcChFeGVjU3RhdGUqIGUKICAgICBpdCArPSAyOwogfQogCi12b2lkIENvZGVCbG9jazo6
cHJpbnRQdXRCeUlkT3AoRXhlY1N0YXRlKiBleGVjLCBpbnQgbG9jYXRpb24sIFZlY3RvcjxJbnN0
cnVjdGlvbj46OmNvbnN0X2l0ZXJhdG9yJiBpdCwgY29uc3QgY2hhciogb3ApCit2b2lkIENvZGVC
bG9jazo6cHJpbnRQdXRCeUlkT3AoRXhlY1N0YXRlKiBleGVjLCBpbnQgbG9jYXRpb24sIGNvbnN0
IEluc3RydWN0aW9uKiYgaXQsIGNvbnN0IGNoYXIqIG9wKQogewogICAgIGludCByMCA9ICgrK2l0
KS0+dS5vcGVyYW5kOwogICAgIGludCBpZDAgPSAoKytpdCktPnUub3BlcmFuZDsKQEAgLTQ4MCw4
ICs0ODAsMTIgQEAgdm9pZCBDb2RlQmxvY2s6OnByaW50U3RydWN0dXJlcyhjb25zdCBJbgogICAg
IEFTU0VSVCh2UENbMF0udS5vcGNvZGUgPT0gaW50ZXJwcmV0ZXItPmdldE9wY29kZShvcF9nZXRf
YnlfaWRfZ2VuZXJpYykgfHwgdlBDWzBdLnUub3Bjb2RlID09IGludGVycHJldGVyLT5nZXRPcGNv
ZGUob3BfcHV0X2J5X2lkX2dlbmVyaWMpIHx8IHZQQ1swXS51Lm9wY29kZSA9PSBpbnRlcnByZXRl
ci0+Z2V0T3Bjb2RlKG9wX2NhbGwpIHx8IHZQQ1swXS51Lm9wY29kZSA9PSBpbnRlcnByZXRlci0+
Z2V0T3Bjb2RlKG9wX2NhbGxfZXZhbCkgfHwgdlBDWzBdLnUub3Bjb2RlID09IGludGVycHJldGVy
LT5nZXRPcGNvZGUob3BfY29uc3RydWN0KSk7CiB9CiAKLXZvaWQgQ29kZUJsb2NrOjpkdW1wKEV4
ZWNTdGF0ZSogZXhlYykKK3ZvaWQgQ29kZUJsb2NrOjpkdW1wKCkKIHsKKyAgICAvLyBXZSBvbmx5
IHVzZSB0aGUgRXhlY1N0YXRlKiBmb3IgdGhpbmdzIHRoYXQgZG9uJ3QgYWN0dWFsbHkgbGVhZCB0
byBKUyBleGVjdXRpb24sCisgICAgLy8gbGlrZSBjb252ZXJ0aW5nIGEgSlNTdHJpbmcgdG8gYSBT
dHJpbmcuIEhlbmNlIHRoZSBnbG9iYWxFeGVjIGlzIGFwcHJvcHJpYXRlLgorICAgIEV4ZWNTdGF0
ZSogZXhlYyA9IG1fZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCk7CisgICAgCiAgICAgc2l6ZV90
IGluc3RydWN0aW9uQ291bnQgPSAwOwogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBpbnN0
cnVjdGlvbnMoKS5zaXplKCk7IGkgKz0gb3Bjb2RlTGVuZ3Roc1tleGVjLT5pbnRlcnByZXRlcigp
LT5nZXRPcGNvZGVJRChpbnN0cnVjdGlvbnMoKVtpXS51Lm9wY29kZSldKQpAQCAtNTA1LDkgKzUw
OSw5IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgZGF0
YUxvZygiOyBhY3RpdmF0aW9uIGluIHIlZCIsIGFjdGl2YXRpb25SZWdpc3RlcigpKTsKICAgICBk
YXRhTG9nKCJcblxuIik7CiAKLSAgICBWZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVyYXRv
ciBiZWdpbiA9IGluc3RydWN0aW9ucygpLmJlZ2luKCk7Ci0gICAgVmVjdG9yPEluc3RydWN0aW9u
Pjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gaW5zdHJ1Y3Rpb25zKCkuZW5kKCk7Ci0gICAgZm9yIChW
ZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGJlZ2luOyBpdCAhPSBlbmQ7
ICsraXQpCisgICAgY29uc3QgSW5zdHJ1Y3Rpb24qIGJlZ2luID0gaW5zdHJ1Y3Rpb25zKCkuYmVn
aW4oKTsKKyAgICBjb25zdCBJbnN0cnVjdGlvbiogZW5kID0gaW5zdHJ1Y3Rpb25zKCkuZW5kKCk7
CisgICAgZm9yIChjb25zdCBJbnN0cnVjdGlvbiogaXQgPSBiZWdpbjsgaXQgIT0gZW5kOyArK2l0
KQogICAgICAgICBkdW1wKGV4ZWMsIGJlZ2luLCBpdCk7CiAKICAgICBpZiAoIW1faWRlbnRpZmll
cnMuaXNFbXB0eSgpKSB7CkBAIC02MDMsNyArNjA3LDcgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXAo
RXhlY1N0YXRlKiBleGVjKQogICAgIGRhdGFMb2coIlxuIik7CiB9CiAKLXZvaWQgQ29kZUJsb2Nr
OjpkdW1wKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgVmVjdG9yPEluc3RydWN0aW9uPjo6Y29uc3Rf
aXRlcmF0b3ImIGJlZ2luLCBWZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVyYXRvciYgaXQp
Cit2b2lkIENvZGVCbG9jazo6ZHVtcChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEluc3RydWN0aW9u
KiBiZWdpbiwgY29uc3QgSW5zdHJ1Y3Rpb24qJiBpdCkKIHsKICAgICBpbnQgbG9jYXRpb24gPSBp
dCAtIGJlZ2luOwogICAgIHN3aXRjaCAoZXhlYy0+aW50ZXJwcmV0ZXIoKS0+Z2V0T3Bjb2RlSUQo
aXQtPnUub3Bjb2RlKSkgewpAQCAtMTQ1NCw2ICsxNDU4LDEzIEBAIHZvaWQgQ29kZUJsb2NrOjpk
dW1wKEV4ZWNTdGF0ZSogZXhlYywgY28KICAgICB9CiB9CiAKK3ZvaWQgQ29kZUJsb2NrOjpkdW1w
KHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0KQoreworICAgIEV4ZWNTdGF0ZSogZXhlYyA9IG1fZ2xv
YmFsT2JqZWN0LT5nbG9iYWxFeGVjKCk7CisgICAgY29uc3QgSW5zdHJ1Y3Rpb24qIGl0ID0gaW5z
dHJ1Y3Rpb25zKCkuYmVnaW4oKSArIGJ5dGVjb2RlT2Zmc2V0OworICAgIGR1bXAoZXhlYywgaW5z
dHJ1Y3Rpb25zKCkuYmVnaW4oKSwgaXQpOworfQorCiAjaWYgRFVNUF9DT0RFX0JMT0NLX1NUQVRJ
U1RJQ1MKIHN0YXRpYyBIYXNoU2V0PENvZGVCbG9jayo+IGxpdmVDb2RlQmxvY2tTZXQ7CiAjZW5k
aWYKQEAgLTE4ODEsNyArMTg5Miw3IEBAIENvZGVCbG9jazo6Q29kZUJsb2NrKFNjcmlwdEV4ZWN1
dGFibGUqIG8KICAgICBtX2luc3RydWN0aW9ucyA9IFdURjo6UmVmQ291bnRlZEFycmF5PEluc3Ry
dWN0aW9uPihpbnN0cnVjdGlvbnMpOwogCiAgICAgaWYgKEJ5dGVjb2RlR2VuZXJhdG9yOjpkdW1w
c0dlbmVyYXRlZENvZGUoKSkKLSAgICAgICAgZHVtcChtX2dsb2JhbE9iamVjdC0+Z2xvYmFsRXhl
YygpKTsKKyAgICAgICAgZHVtcCgpOwogICAgIG1fZ2xvYmFsRGF0YS0+ZmluaXNoZWRDb21waWxp
bmcodGhpcyk7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2Rl
QmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmgJKHJldmlzaW9uIDEzNTI2NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Db2RlQmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtMTYzLDcgKzE2Myw4IEBAIG5hbWVz
cGFjZSBKU0MgewogCiAgICAgICAgIHN0YXRpYyB2b2lkIGR1bXBTdGF0aXN0aWNzKCk7CiAKLSAg
ICAgICAgdm9pZCBkdW1wKEV4ZWNTdGF0ZSopOworICAgICAgICB2b2lkIGR1bXAoKTsKKyAgICAg
ICAgdm9pZCBkdW1wKHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0KTsKICAgICAgICAgdm9pZCBwcmlu
dFN0cnVjdHVyZXMoY29uc3QgSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBwcmludFN0cnVj
dHVyZShjb25zdCBjaGFyKiBuYW1lLCBjb25zdCBJbnN0cnVjdGlvbiosIGludCBvcGVyYW5kKTsK
IApAQCAtMTIxMSwxNyArMTIxMiwxNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgICAg
ICBtX2NvbnN0YW50UmVnaXN0ZXJzW2ldLnNldCgqbV9nbG9iYWxEYXRhLCBvd25lckV4ZWN1dGFi
bGUoKSwgY29uc3RhbnRzW2ldLmdldCgpKTsKICAgICAgICAgfQogCi0gICAgICAgIHZvaWQgZHVt
cChFeGVjU3RhdGUqLCBjb25zdCBWZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVyYXRvciYg
YmVnaW4sIFZlY3RvcjxJbnN0cnVjdGlvbj46OmNvbnN0X2l0ZXJhdG9yJik7CisgICAgICAgIHZv
aWQgZHVtcChFeGVjU3RhdGUqLCBjb25zdCBJbnN0cnVjdGlvbiogYmVnaW4sIGNvbnN0IEluc3Ry
dWN0aW9uKiYpOwogCiAgICAgICAgIENTdHJpbmcgcmVnaXN0ZXJOYW1lKEV4ZWNTdGF0ZSosIGlu
dCByKSBjb25zdDsKLSAgICAgICAgdm9pZCBwcmludFVuYXJ5T3AoRXhlY1N0YXRlKiwgaW50IGxv
Y2F0aW9uLCBWZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVyYXRvciYsIGNvbnN0IGNoYXIq
IG9wKTsKLSAgICAgICAgdm9pZCBwcmludEJpbmFyeU9wKEV4ZWNTdGF0ZSosIGludCBsb2NhdGlv
biwgVmVjdG9yPEluc3RydWN0aW9uPjo6Y29uc3RfaXRlcmF0b3ImLCBjb25zdCBjaGFyKiBvcCk7
Ci0gICAgICAgIHZvaWQgcHJpbnRDb25kaXRpb25hbEp1bXAoRXhlY1N0YXRlKiwgY29uc3QgVmVj
dG9yPEluc3RydWN0aW9uPjo6Y29uc3RfaXRlcmF0b3ImLCBWZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpj
b25zdF9pdGVyYXRvciYsIGludCBsb2NhdGlvbiwgY29uc3QgY2hhciogb3ApOwotICAgICAgICB2
b2lkIHByaW50R2V0QnlJZE9wKEV4ZWNTdGF0ZSosIGludCBsb2NhdGlvbiwgVmVjdG9yPEluc3Ry
dWN0aW9uPjo6Y29uc3RfaXRlcmF0b3ImKTsKKyAgICAgICAgdm9pZCBwcmludFVuYXJ5T3AoRXhl
Y1N0YXRlKiwgaW50IGxvY2F0aW9uLCBjb25zdCBJbnN0cnVjdGlvbiomLCBjb25zdCBjaGFyKiBv
cCk7CisgICAgICAgIHZvaWQgcHJpbnRCaW5hcnlPcChFeGVjU3RhdGUqLCBpbnQgbG9jYXRpb24s
IGNvbnN0IEluc3RydWN0aW9uKiYsIGNvbnN0IGNoYXIqIG9wKTsKKyAgICAgICAgdm9pZCBwcmlu
dENvbmRpdGlvbmFsSnVtcChFeGVjU3RhdGUqLCBjb25zdCBJbnN0cnVjdGlvbiosIGNvbnN0IElu
c3RydWN0aW9uKiYsIGludCBsb2NhdGlvbiwgY29uc3QgY2hhciogb3ApOworICAgICAgICB2b2lk
IHByaW50R2V0QnlJZE9wKEV4ZWNTdGF0ZSosIGludCBsb2NhdGlvbiwgY29uc3QgSW5zdHJ1Y3Rp
b24qJik7CiAgICAgICAgIHZvaWQgcHJpbnRHZXRCeUlkQ2FjaGVTdGF0dXMoRXhlY1N0YXRlKiwg
aW50IGxvY2F0aW9uKTsKICAgICAgICAgZW51bSBDYWNoZUR1bXBNb2RlIHsgRHVtcENhY2hlcywg
RG9udER1bXBDYWNoZXMgfTsKLSAgICAgICAgdm9pZCBwcmludENhbGxPcChFeGVjU3RhdGUqLCBp
bnQgbG9jYXRpb24sIFZlY3RvcjxJbnN0cnVjdGlvbj46OmNvbnN0X2l0ZXJhdG9yJiwgY29uc3Qg
Y2hhciogb3AsIENhY2hlRHVtcE1vZGUpOwotICAgICAgICB2b2lkIHByaW50UHV0QnlJZE9wKEV4
ZWNTdGF0ZSosIGludCBsb2NhdGlvbiwgVmVjdG9yPEluc3RydWN0aW9uPjo6Y29uc3RfaXRlcmF0
b3ImLCBjb25zdCBjaGFyKiBvcCk7CisgICAgICAgIHZvaWQgcHJpbnRDYWxsT3AoRXhlY1N0YXRl
KiwgaW50IGxvY2F0aW9uLCBjb25zdCBJbnN0cnVjdGlvbiomLCBjb25zdCBjaGFyKiBvcCwgQ2Fj
aGVEdW1wTW9kZSk7CisgICAgICAgIHZvaWQgcHJpbnRQdXRCeUlkT3AoRXhlY1N0YXRlKiwgaW50
IGxvY2F0aW9uLCBjb25zdCBJbnN0cnVjdGlvbiomLCBjb25zdCBjaGFyKiBvcCk7CiAgICAgICAg
IHZvaWQgdmlzaXRTdHJ1Y3R1cmVzKFNsb3RWaXNpdG9yJiwgSW5zdHJ1Y3Rpb24qIHZQQyk7CiAg
ICAgICAgIAogI2lmIEVOQUJMRShERkdfSklUKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCShyZXZpc2lvbiAxMzUyNjYpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zODAsNyArMzgwLDcgQEAgdm9pZCBJbnRlcnByZXRlcjo6ZHVtcENhbGxG
cmFtZShDYWxsRnJhbQogCiB2b2lkIEludGVycHJldGVyOjpkdW1wQ2FsbEZyYW1lKENhbGxGcmFt
ZSogY2FsbEZyYW1lKQogewotICAgIGNhbGxGcmFtZS0+Y29kZUJsb2NrKCktPmR1bXAoY2FsbEZy
YW1lKTsKKyAgICBjYWxsRnJhbWUtPmNvZGVCbG9jaygpLT5kdW1wKCk7CiAgICAgZHVtcFJlZ2lz
dGVycyhjYWxsRnJhbWUpOwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCShy
ZXZpc2lvbiAxMzUyNjYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTIxMiw2ICsyMTIsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVN
YWluUGFzcygpCiAgICAgbV9jYWxsTGlua0luZm9JbmRleCA9IDA7CiAKICAgICBmb3IgKG1fYnl0
ZWNvZGVPZmZzZXQgPSAwOyBtX2J5dGVjb2RlT2Zmc2V0IDwgaW5zdHJ1Y3Rpb25Db3VudDsgKSB7
CisgICAgICAgIGlmIChtX2Rpc2Fzc2VtYmxlcikKKyAgICAgICAgICAgIG1fZGlzYXNzZW1ibGVy
LT5zZXRGb3JCeXRlY29kZU1haW5QYXRoKG1fYnl0ZWNvZGVPZmZzZXQsIGxhYmVsKCkpOwogICAg
ICAgICBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uID0gaW5zdHJ1Y3Rpb25zQmVnaW4g
KyBtX2J5dGVjb2RlT2Zmc2V0OwogICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKG1faW50ZXJw
cmV0ZXItPmlzT3Bjb2RlKGN1cnJlbnRJbnN0cnVjdGlvbi0+dS5vcGNvZGUpLCAicHJpdmF0ZUNv
bXBpbGVNYWluUGFzcyBnb25lIGJhZCBAICVkIiwgbV9ieXRlY29kZU9mZnNldCk7CiAKQEAgLTQ1
MSw2ICs0NTMsOSBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVTbG93Q2FzZXMoKQogI2lmIEVO
QUJMRShKSVRfVkVSQk9TRSkKICAgICAgICAgZGF0YUxvZygiT2xkIEpJVCBlbWl0dGluZyBzbG93
IGNvZGUgZm9yIGJjIyV1IGF0IG9mZnNldCAweCVseC5cbiIsIG1fYnl0ZWNvZGVPZmZzZXQsIChs
b25nKWRlYnVnT2Zmc2V0KCkpOwogI2VuZGlmCisgICAgICAgIAorICAgICAgICBpZiAobV9kaXNh
c3NlbWJsZXIpCisgICAgICAgICAgICBtX2Rpc2Fzc2VtYmxlci0+c2V0Rm9yQnl0ZWNvZGVTbG93
UGF0aChtX2J5dGVjb2RlT2Zmc2V0LCBsYWJlbCgpKTsKIAogICAgICAgICBzd2l0Y2ggKG1faW50
ZXJwcmV0ZXItPmdldE9wY29kZUlEKGN1cnJlbnRJbnN0cnVjdGlvbi0+dS5vcGNvZGUpKSB7CiAg
ICAgICAgIERFRklORV9TTE9XQ0FTRV9PUChvcF9hZGQpCkBAIC02MjUsNiArNjMwLDEyIEBAIEpJ
VENvZGUgSklUOjpwcml2YXRlQ29tcGlsZShDb2RlUHRyKiBmdW4KICAgICAgICAgYnJlYWs7CiAg
ICAgfQogI2VuZGlmCisgICAgCisgICAgaWYgKE9wdGlvbnM6OnNob3dEaXNhc3NlbWJseSgpKQor
ICAgICAgICBtX2Rpc2Fzc2VtYmxlciA9IGFkb3B0UHRyKG5ldyBKSVREaXNhc3NlbWJsZXIobV9j
b2RlQmxvY2spKTsKKyAgICAKKyAgICBpZiAobV9kaXNhc3NlbWJsZXIpCisgICAgICAgIG1fZGlz
YXNzZW1ibGVyLT5zZXRTdGFydE9mQ29kZShsYWJlbCgpKTsKIAogICAgIC8vIEp1c3QgYWRkIGEg
bGl0dGxlIGJpdCBvZiByYW5kb21uZXNzIHRvIHRoZSBjb2RlZ2VuCiAgICAgaWYgKG1fcmFuZG9t
R2VuZXJhdG9yLmdldFVpbnQzMigpICYgMSkKQEAgLTY4NCw2ICs2OTUsOSBAQCBKSVRDb2RlIEpJ
VDo6cHJpdmF0ZUNvbXBpbGUoQ29kZVB0ciogZnVuCiAgICAgcHJpdmF0ZUNvbXBpbGVNYWluUGFz
cygpOwogICAgIHByaXZhdGVDb21waWxlTGlua1Bhc3MoKTsKICAgICBwcml2YXRlQ29tcGlsZVNs
b3dDYXNlcygpOworICAgIAorICAgIGlmIChtX2Rpc2Fzc2VtYmxlcikKKyAgICAgICAgbV9kaXNh
c3NlbWJsZXItPnNldEVuZE9mU2xvd1BhdGgobGFiZWwoKSk7CiAKICAgICBMYWJlbCBhcml0eUNo
ZWNrOwogICAgIGlmIChtX2NvZGVCbG9jay0+Y29kZVR5cGUoKSA9PSBGdW5jdGlvbkNvZGUpIHsK
QEAgLTcxMyw2ICs3MjcsOSBAQCBKSVRDb2RlIEpJVDo6cHJpdmF0ZUNvbXBpbGUoQ29kZVB0ciog
ZnVuCiAgICAgfQogCiAgICAgQVNTRVJUKG1fam1wVGFibGUuaXNFbXB0eSgpKTsKKyAgICAKKyAg
ICBpZiAobV9kaXNhc3NlbWJsZXIpCisgICAgICAgIG1fZGlzYXNzZW1ibGVyLT5zZXRFbmRPZkNv
ZGUobGFiZWwoKSk7CiAKICAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKCptX2dsb2JhbERhdGEs
IHRoaXMsIG1fY29kZUJsb2NrLCBlZmZvcnQpOwogICAgIGlmIChwYXRjaEJ1ZmZlci5kaWRGYWls
VG9BbGxvY2F0ZSgpKQpAQCAtODA0LDExICs4MjEsMTEgQEAgSklUQ29kZSBKSVQ6OnByaXZhdGVD
b21waWxlKENvZGVQdHIqIGZ1bgogCiAgICAgaWYgKG1fY29kZUJsb2NrLT5jb2RlVHlwZSgpID09
IEZ1bmN0aW9uQ29kZSAmJiBmdW5jdGlvbkVudHJ5QXJpdHlDaGVjaykKICAgICAgICAgKmZ1bmN0
aW9uRW50cnlBcml0eUNoZWNrID0gcGF0Y2hCdWZmZXIubG9jYXRpb25PZihhcml0eUNoZWNrKTsK
KworICAgIGlmIChtX2Rpc2Fzc2VtYmxlcikKKyAgICAgICAgbV9kaXNhc3NlbWJsZXItPmR1bXAo
cGF0Y2hCdWZmZXIpOwogICAgIAotICAgIENvZGVSZWYgcmVzdWx0ID0gRklOQUxJWkVfQ09ERSgK
LSAgICAgICAgcGF0Y2hCdWZmZXIsCi0gICAgICAgICgiQmFzZWxpbmUgSklUIGNvZGUgZm9yIENv
ZGVCbG9jayAlcCwgaW5zdHJ1Y3Rpb24gY291bnQgPSAldSIsCi0gICAgICAgICBtX2NvZGVCbG9j
aywgbV9jb2RlQmxvY2stPmluc3RydWN0aW9uQ291bnQoKSkpOworICAgIENvZGVSZWYgcmVzdWx0
ID0gcGF0Y2hCdWZmZXIuZmluYWxpemVDb2RlV2l0aG91dERpc2Fzc2VtYmx5KCk7CiAgICAgCiAg
ICAgbV9nbG9iYWxEYXRhLT5tYWNoaW5lQ29kZUJ5dGVzUGVyQnl0ZWNvZGVXb3JkRm9yQmFzZWxp
bmVKSVQuYWRkKAogICAgICAgICBzdGF0aWNfY2FzdDxkb3VibGU+KHJlc3VsdC5zaXplKCkpIC8K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAkocmV2aXNpb24gMTM1MjY2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsNyBA
QAogI2luY2x1ZGUgIkNvZGVCbG9jay5oIgogI2luY2x1ZGUgIkNvbXBhY3RKSVRDb2RlTWFwLmgi
CiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIuaCIKKyNpbmNsdWRlICJKSVREaXNhc3NlbWJsZXIuaCIK
ICNpbmNsdWRlICJKU0ludGVyZmFjZUpJVC5oIgogI2luY2x1ZGUgIk9wY29kZS5oIgogI2luY2x1
ZGUgIlByb2ZpbGVyLmgiCkBAIC05NDUsNiArOTQ2LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgIGludCBtX3VuaW50ZXJydXB0ZWRDb25zdGFudFNlcXVlbmNlQmVnaW47CiAjZW5kaWYKICNl
bmRpZgorICAgICAgICBPd25QdHI8SklURGlzYXNzZW1ibGVyPiBtX2Rpc2Fzc2VtYmxlcjsKICAg
ICAgICAgV2Vha1JhbmRvbSBtX3JhbmRvbUdlbmVyYXRvcjsKICAgICAgICAgc3RhdGljIENvZGVS
ZWYgc3RyaW5nR2V0QnlWYWxTdHViR2VuZXJhdG9yKEpTR2xvYmFsRGF0YSopOwogCg==
</data>
<flag name="review"
          id="190761"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175350</attachid>
            <date>2012-11-20 23:51:10 -0800</date>
            <delta_ts>2012-11-20 23:54:06 -0800</delta_ts>
            <desc>patch for landing</desc>
            <filename>disas.patch</filename>
            <type>text/plain</type>
            <size>20357</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTM1MzU0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBA
CisyMDEyLTExLTIwICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
QmFzZWxpbmUgSklUJ3MgZGlzYXNzZW1ibHkgc2hvdWxkIGJlIGp1c3QgYXMgcHJldHR5IGFzIHRo
ZSBERkcncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAyODczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KKworICAgICAgICBJbnRl
Z3JhdGVkIHRoZSBDb2RlQmxvY2sncyBieXRlY29kZSBkdW1wZXIgd2l0aCB0aGUgSklUJ3MgZGlz
YXNzZW1ibGVyLiBBbHNvIGZpeGVkCisgICAgICAgIHNvbWUgdHlwZSBnb29mLXVwcyAoaW5zdHJ1
Y3Rpb25zIGFyZSBub3QgaW4gYSBWZWN0b3I8SW5zdHJ1Y3Rpb24+IHNvIHVzaW5nIGEgVmVjdG9y
CisgICAgICAgIGl0ZXJhdG9yIG1ha2VzIG5vIHNlbnNlKSBhbmQgc3RyZWFtLWxpbmVkIHNvbWUg
dGhpbmdzICh5b3UgZG9uJ3QgYWN0dWFsbHkgbmVlZCBhCisgICAgICAgIGZ1bGwtZmxlZGdlZCBF
eGVjU3RhdGUqIHRvIGR1bXAgYnl0ZWNvZGUpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6
CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qOgorICAgICAgICAq
IEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGFy
Z2V0LnByaToKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlND
OjpDb2RlQmxvY2s6OnByaW50VW5hcnlPcCk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6cHJp
bnRCaW5hcnlPcCk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6cHJpbnRDb25kaXRpb25hbEp1
bXApOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnByaW50R2V0QnlJZE9wKToKKyAgICAgICAg
KEpTQzo6Q29kZUJsb2NrOjpwcmludENhbGxPcCk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6
cHJpbnRQdXRCeUlkT3ApOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmR1bXApOgorICAgICAg
ICAoSlNDKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpDb2RlQmxvY2spOgorICAgICAgICAq
IGJ5dGVjb2RlL0NvZGVCbG9jay5oOgorICAgICAgICAoQ29kZUJsb2NrKToKKyAgICAgICAgKiBp
bnRlcnByZXRlci9JbnRlcnByZXRlci5jcHA6CisgICAgICAgIChKU0M6OkludGVycHJldGVyOjpk
dW1wQ2FsbEZyYW1lKToKKyAgICAgICAgKiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpTQzo6SklU
Ojpwcml2YXRlQ29tcGlsZU1haW5QYXNzKToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29t
cGlsZVNsb3dDYXNlcyk6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGUpOgorICAg
ICAgICAqIGppdC9KSVQuaDoKKyAgICAgICAgKEpJVCk6CisKIDIwMTItMTEtMjAgIEZpbGlwIFBp
emxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBERkcgc2hvdWxkIGJlIGFibGUgdG8g
Y2FjaGUgY2xvc3VyZSBjYWxscyAocGFydCAyLzIpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NN
YWtlTGlzdHMudHh0CShyZXZpc2lvbiAxMzUzNTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE0OCw2ICsxNDgsNyBAQCBTRVQoSmF2
YVNjcmlwdENvcmVfU09VUkNFUwogICAgIGppdC9KSVRDYWxsMzJfNjQuY3BwCiAgICAgaml0L0pJ
VENhbGwuY3BwCiAgICAgaml0L0pJVC5jcHAKKyAgICBqaXQvSklURGlzYXNzZW1ibGVyLmNwcAog
ICAgIGppdC9KSVRFeGNlcHRpb25zLmNwcAogICAgIGppdC9KSVRPcGNvZGVzMzJfNjQuY3BwCiAg
ICAgaml0L0pJVE9wY29kZXMuY3BwCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQkocmV2aXNpb24gMTM1MzU0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0JKHdvcmtpbmcgY29weSkKQEAgLTM5OCw2ICszOTgsOCBAQCBq
YXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VENhbGwuY3BwIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENvZGUuaCBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDb21waWxhdGlvbkVmZm9ydC5oIFwKKwlTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVERpc2Fzc2VtYmxlci5jcHAgXAorCVNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklURGlzYXNzZW1ibGVyLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklURHJpdmVyLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcCBcCiAJ
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBcCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvVGFyZ2V0LnByaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvVGFy
Z2V0LnByaQkocmV2aXNpb24gMTM1MzU0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL1Rhcmdl
dC5wcmkJKHdvcmtpbmcgY29weSkKQEAgLTE1NCw2ICsxNTQsNyBAQCBTT1VSQ0VTICs9IFwKICAg
ICBqaXQvSklUQ2FsbC5jcHAgXAogICAgIGppdC9KSVRDYWxsMzJfNjQuY3BwIFwKICAgICBqaXQv
SklULmNwcCBcCisgICAgaml0L0pJVERpc2Fzc2VtYmxlci5jcHAgXAogICAgIGppdC9KSVRFeGNl
cHRpb25zLmNwcCBcCiAgICAgaml0L0pJVE9wY29kZXMuY3BwIFwKICAgICBqaXQvSklUT3Bjb2Rl
czMyXzY0LmNwcCBcCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
dmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvago9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvagkocmV2aXNpb24gMTM1MzU0KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTE5ODYsNiArMTk4NiwxNCBAQAogCQkJ
CT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxqaXRcSklU
RGlzYXNzZW1ibGVyLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0
aXZlUGF0aD0iLi5cLi5caml0XEpJVERpc2Fzc2VtYmxlci5oIgorCQkJCT4KKwkJCTwvRmlsZT4K
KwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxqaXRcSklURXhjZXB0aW9ucy5jcHAi
CiAJCQkJPgogCQkJPC9GaWxlPgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJl
dmlzaW9uIDEzNTM1NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xOTEsNiArMTkxLDgg
QEAKIAkJMEZBNTgxQkExNTBFOTUyQzAwQjlBMkQ5IC8qIERGR05vZGVGbGFncy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkE1ODFCNzE1MEU5NTJB
MDBCOUEyRDkgLyogREZHTm9kZUZsYWdzLmNwcCAqLzsgfTsKIAkJMEZBNTgxQkIxNTBFOTUzMDAw
QjlBMkQ5IC8qIERGR05vZGVGbGFncy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEZBNTgxQjgxNTBFOTUyQTAwQjlBMkQ5IC8qIERGR05vZGVGbGFncy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGQTU4
MUJDMTUwRTk1MzAwMEI5QTJEOSAvKiBERkdOb2RlVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZBNTgxQjkxNTBFOTUyQTAwQjlBMkQ5IC8qIERG
R05vZGVUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJMEZBRjdFRkQxNjVCQTkxQjAwMEM4NDU1IC8qIEpJVERpc2Fzc2VtYmxlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkFGN0VGQTE2NUJB
OTE5MDAwQzg0NTUgLyogSklURGlzYXNzZW1ibGVyLmNwcCAqLzsgfTsKKwkJMEZBRjdFRkUxNjVC
QTkxRjAwMEM4NDU1IC8qIEpJVERpc2Fzc2VtYmxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZBRjdFRkIxNjVCQTkxOTAwMEM4NDU1IC8qIEpJVERp
c2Fzc2VtYmxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTBGQjU0Njc3MTRGNTlCNUMwMDJDMjk4OSAvKiBMYXp5T3BlcmFuZFZhbHVlUHJvZmls
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZCNTQ2
NzYxNEY1OUFEMTAwMkMyOTg5IC8qIExhenlPcGVyYW5kVmFsdWVQcm9maWxlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEZCNTQ2NzkxNEY1QzQ2
QjAwMkMyOTg5IC8qIExhenlPcGVyYW5kVmFsdWVQcm9maWxlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjU0Njc4MTRGNUM0NjgwMDJDMjk4OSAv
KiBMYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5jcHAgKi87IH07CiAJCTBGQjU0NjdCMTRGNUM3RTEw
MDJDMjk4OSAvKiBNZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkI1NDY3QTE0RjVDN0Q0MDAyQzI5ODkg
LyogTWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC05ODIsNiArOTg0LDggQEAKIAkJMEZBNTgxQjcx
NTBFOTUyQTAwQjlBMkQ5IC8qIERGR05vZGVGbGFncy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBERkdOb2RlRmxhZ3MuY3BwOyBwYXRoID0gZGZnL0RGR05vZGVGbGFn
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQTU4MUI4MTUwRTk1MkEwMEI5
QTJEOSAvKiBERkdOb2RlRmxhZ3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
REZHTm9kZUZsYWdzLmg7IHBhdGggPSBkZmcvREZHTm9kZUZsYWdzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTBGQTU4MUI5MTUwRTk1MkEwMEI5QTJEOSAvKiBERkdOb2RlVHlwZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdOb2RlVHlwZS5oOyBwYXRoID0g
ZGZnL0RGR05vZGVUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGQUY3RUZB
MTY1QkE5MTkwMDBDODQ1NSAvKiBKSVREaXNhc3NlbWJsZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSklURGlzYXNzZW1ibGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMEZBRjdFRkIxNjVCQTkxOTAwMEM4NDU1IC8qIEpJVERpc2Fzc2VtYmxl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKSVREaXNhc3NlbWJsZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZCNTQ2NzYxNEY1OUFEMTAwMkMyOTg5IC8q
IExhenlPcGVyYW5kVmFsdWVQcm9maWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IExhenlPcGVyYW5kVmFsdWVQcm9maWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTBGQjU0Njc4MTRGNUM0NjgwMDJDMjk4OSAvKiBMYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYXp5T3BlcmFuZFZhbHVl
UHJvZmlsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQjU0NjdBMTRGNUM3
RDQwMDJDMjk4OSAvKiBNZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MjUsNiArMTgyOSw4IEBACiAJCQkJMTQ2RkU1
MTExMUE3MTA0MzAwODdBRTY2IC8qIEpJVENhbGwzMl82NC5jcHAgKi8sCiAJCQkJODZDQ0VGREQw
RjQxM0Y4OTAwRkQ3RjlFIC8qIEpJVENvZGUuaCAqLywKIAkJCQkwRjA3NzZCRDE0RkYwMDI4MDAx
MDIzMzIgLyogSklUQ29tcGlsYXRpb25FZmZvcnQuaCAqLywKKwkJCQkwRkFGN0VGQTE2NUJBOTE5
MDAwQzg0NTUgLyogSklURGlzYXNzZW1ibGVyLmNwcCAqLywKKwkJCQkwRkFGN0VGQjE2NUJBOTE5
MDAwQzg0NTUgLyogSklURGlzYXNzZW1ibGVyLmggKi8sCiAJCQkJMEYyMUMyNjYxNEJFNUY1RTAw
QURDNjRCIC8qIEpJVERyaXZlci5oICovLAogCQkJCTBGNDY4MDdGMTRCQTU3MjcwMEJGRTI3MiAv
KiBKSVRFeGNlcHRpb25zLmNwcCAqLywKIAkJCQkwRjQ2ODA4MDE0QkE1NzI3MDBCRkUyNzIgLyog
SklURXhjZXB0aW9ucy5oICovLApAQCAtMzAyOCw2ICszMDM0LDcgQEAKIAkJCQlBN0I2MDE4MjE2
MzlGRDJBMDAzNzJCQTMgLyogVW5saW5rZWRDb2RlQmxvY2suaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE3N0YxODIyMTY0MDg4QjIwMDY0MEE0NyAvKiBDb2RlQ2FjaGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE3N0YxODI1MTY0MTkyQzcwMDY0MEE0NyAvKiBQYXJzZXJNb2Rlcy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMEZBRjdFRkUxNjVCQTkxRjAwMEM4NDU1IC8qIEpJVERpc2Fzc2VtYmxlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEY3M0Q3QUYxNjVBMTQzMDAwQUNBQjcxIC8qIENsb3N1cmVDYWxs
U3R1YlJvdXRpbmUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3lt
ZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpAQCAtMzYwOCw2ICszNjE1LDcgQEAKIAkJCQkwRjgzMzVC
NzE2MzlDMUU2MDAxNDQzQjUgLyogQXJyYXlBbGxvY2F0aW9uUHJvZmlsZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBNzZGMjc5NDE1RjEzQzk2MDA1MTdENjcgLyogVW5saW5rZWRDb2RlQmxvY2su
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTc3RjE4MjExNjQwODhCMjAwNjQwQTQ3IC8qIENvZGVD
YWNoZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRkFGN0VGRDE2NUJBOTFCMDAwQzg0NTUgLyog
SklURGlzYXNzZW1ibGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNzNEN0FFMTY1QTE0MkQw
MEFDQUI3MSAvKiBDbG9zdXJlQ2FsbFN0dWJSb3V0aW5lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHJldmlzaW9uIDEz
NTM1NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xNjQsNyArMTY0LDcgQEAgTkVWRVJfSU5MSU5FIHN0YXRpYyBjb25z
dCBjaGFyKiBkZWJ1Z0hvbwogICAgIHJldHVybiAiIjsKIH0KIAotdm9pZCBDb2RlQmxvY2s6OnBy
aW50VW5hcnlPcChFeGVjU3RhdGUqIGV4ZWMsIGludCBsb2NhdGlvbiwgVmVjdG9yPEluc3RydWN0
aW9uPjo6Y29uc3RfaXRlcmF0b3ImIGl0LCBjb25zdCBjaGFyKiBvcCkKK3ZvaWQgQ29kZUJsb2Nr
OjpwcmludFVuYXJ5T3AoRXhlY1N0YXRlKiBleGVjLCBpbnQgbG9jYXRpb24sIGNvbnN0IEluc3Ry
dWN0aW9uKiYgaXQsIGNvbnN0IGNoYXIqIG9wKQogewogICAgIGludCByMCA9ICgrK2l0KS0+dS5v
cGVyYW5kOwogICAgIGludCByMSA9ICgrK2l0KS0+dS5vcGVyYW5kOwpAQCAtMTczLDcgKzE3Myw3
IEBAIHZvaWQgQ29kZUJsb2NrOjpwcmludFVuYXJ5T3AoRXhlY1N0YXRlKiAKICAgICBkdW1wQnl0
ZWNvZGVDb21tZW50QW5kTmV3TGluZShsb2NhdGlvbik7CiB9CiAKLXZvaWQgQ29kZUJsb2NrOjpw
cmludEJpbmFyeU9wKEV4ZWNTdGF0ZSogZXhlYywgaW50IGxvY2F0aW9uLCBWZWN0b3I8SW5zdHJ1
Y3Rpb24+Ojpjb25zdF9pdGVyYXRvciYgaXQsIGNvbnN0IGNoYXIqIG9wKQordm9pZCBDb2RlQmxv
Y2s6OnByaW50QmluYXJ5T3AoRXhlY1N0YXRlKiBleGVjLCBpbnQgbG9jYXRpb24sIGNvbnN0IElu
c3RydWN0aW9uKiYgaXQsIGNvbnN0IGNoYXIqIG9wKQogewogICAgIGludCByMCA9ICgrK2l0KS0+
dS5vcGVyYW5kOwogICAgIGludCByMSA9ICgrK2l0KS0+dS5vcGVyYW5kOwpAQCAtMTgyLDcgKzE4
Miw3IEBAIHZvaWQgQ29kZUJsb2NrOjpwcmludEJpbmFyeU9wKEV4ZWNTdGF0ZSoKICAgICBkdW1w
Qnl0ZWNvZGVDb21tZW50QW5kTmV3TGluZShsb2NhdGlvbik7CiB9CiAKLXZvaWQgQ29kZUJsb2Nr
OjpwcmludENvbmRpdGlvbmFsSnVtcChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IFZlY3RvcjxJbnN0
cnVjdGlvbj46OmNvbnN0X2l0ZXJhdG9yJiwgVmVjdG9yPEluc3RydWN0aW9uPjo6Y29uc3RfaXRl
cmF0b3ImIGl0LCBpbnQgbG9jYXRpb24sIGNvbnN0IGNoYXIqIG9wKQordm9pZCBDb2RlQmxvY2s6
OnByaW50Q29uZGl0aW9uYWxKdW1wKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSW5zdHJ1Y3Rpb24q
LCBjb25zdCBJbnN0cnVjdGlvbiomIGl0LCBpbnQgbG9jYXRpb24sIGNvbnN0IGNoYXIqIG9wKQog
ewogICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwogICAgIGludCBvZmZzZXQgPSAoKytp
dCktPnUub3BlcmFuZDsKQEAgLTE5MCw3ICsxOTAsNyBAQCB2b2lkIENvZGVCbG9jazo6cHJpbnRD
b25kaXRpb25hbEp1bXAoRXhlCiAgICAgZHVtcEJ5dGVjb2RlQ29tbWVudEFuZE5ld0xpbmUobG9j
YXRpb24pOwogfQogCi12b2lkIENvZGVCbG9jazo6cHJpbnRHZXRCeUlkT3AoRXhlY1N0YXRlKiBl
eGVjLCBpbnQgbG9jYXRpb24sIFZlY3RvcjxJbnN0cnVjdGlvbj46OmNvbnN0X2l0ZXJhdG9yJiBp
dCkKK3ZvaWQgQ29kZUJsb2NrOjpwcmludEdldEJ5SWRPcChFeGVjU3RhdGUqIGV4ZWMsIGludCBs
b2NhdGlvbiwgY29uc3QgSW5zdHJ1Y3Rpb24qJiBpdCkKIHsKICAgICBjb25zdCBjaGFyKiBvcDsK
ICAgICBzd2l0Y2ggKGV4ZWMtPmludGVycHJldGVyKCktPmdldE9wY29kZUlEKGl0LT51Lm9wY29k
ZSkpIHsKQEAgLTM5Niw3ICszOTYsNyBAQCB2b2lkIENvZGVCbG9jazo6cHJpbnRHZXRCeUlkQ2Fj
aGVTdGF0dXMoCiAjZW5kaWYKIH0KIAotdm9pZCBDb2RlQmxvY2s6OnByaW50Q2FsbE9wKEV4ZWNT
dGF0ZSogZXhlYywgaW50IGxvY2F0aW9uLCBWZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVy
YXRvciYgaXQsIGNvbnN0IGNoYXIqIG9wLCBDYWNoZUR1bXBNb2RlIGNhY2hlRHVtcE1vZGUpCit2
b2lkIENvZGVCbG9jazo6cHJpbnRDYWxsT3AoRXhlY1N0YXRlKiBleGVjLCBpbnQgbG9jYXRpb24s
IGNvbnN0IEluc3RydWN0aW9uKiYgaXQsIGNvbnN0IGNoYXIqIG9wLCBDYWNoZUR1bXBNb2RlIGNh
Y2hlRHVtcE1vZGUpCiB7CiAgICAgaW50IGZ1bmMgPSAoKytpdCktPnUub3BlcmFuZDsKICAgICBp
bnQgYXJnQ291bnQgPSAoKytpdCktPnUub3BlcmFuZDsKQEAgLTQyNiw3ICs0MjYsNyBAQCB2b2lk
IENvZGVCbG9jazo6cHJpbnRDYWxsT3AoRXhlY1N0YXRlKiBlCiAgICAgaXQgKz0gMjsKIH0KIAot
dm9pZCBDb2RlQmxvY2s6OnByaW50UHV0QnlJZE9wKEV4ZWNTdGF0ZSogZXhlYywgaW50IGxvY2F0
aW9uLCBWZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVyYXRvciYgaXQsIGNvbnN0IGNoYXIq
IG9wKQordm9pZCBDb2RlQmxvY2s6OnByaW50UHV0QnlJZE9wKEV4ZWNTdGF0ZSogZXhlYywgaW50
IGxvY2F0aW9uLCBjb25zdCBJbnN0cnVjdGlvbiomIGl0LCBjb25zdCBjaGFyKiBvcCkKIHsKICAg
ICBpbnQgcjAgPSAoKytpdCktPnUub3BlcmFuZDsKICAgICBpbnQgaWQwID0gKCsraXQpLT51Lm9w
ZXJhbmQ7CkBAIC00ODAsOCArNDgwLDEyIEBAIHZvaWQgQ29kZUJsb2NrOjpwcmludFN0cnVjdHVy
ZXMoY29uc3QgSW4KICAgICBBU1NFUlQodlBDWzBdLnUub3Bjb2RlID09IGludGVycHJldGVyLT5n
ZXRPcGNvZGUob3BfZ2V0X2J5X2lkX2dlbmVyaWMpIHx8IHZQQ1swXS51Lm9wY29kZSA9PSBpbnRl
cnByZXRlci0+Z2V0T3Bjb2RlKG9wX3B1dF9ieV9pZF9nZW5lcmljKSB8fCB2UENbMF0udS5vcGNv
ZGUgPT0gaW50ZXJwcmV0ZXItPmdldE9wY29kZShvcF9jYWxsKSB8fCB2UENbMF0udS5vcGNvZGUg
PT0gaW50ZXJwcmV0ZXItPmdldE9wY29kZShvcF9jYWxsX2V2YWwpIHx8IHZQQ1swXS51Lm9wY29k
ZSA9PSBpbnRlcnByZXRlci0+Z2V0T3Bjb2RlKG9wX2NvbnN0cnVjdCkpOwogfQogCi12b2lkIENv
ZGVCbG9jazo6ZHVtcChFeGVjU3RhdGUqIGV4ZWMpCit2b2lkIENvZGVCbG9jazo6ZHVtcCgpCiB7
CisgICAgLy8gV2Ugb25seSB1c2UgdGhlIEV4ZWNTdGF0ZSogZm9yIHRoaW5ncyB0aGF0IGRvbid0
IGFjdHVhbGx5IGxlYWQgdG8gSlMgZXhlY3V0aW9uLAorICAgIC8vIGxpa2UgY29udmVydGluZyBh
IEpTU3RyaW5nIHRvIGEgU3RyaW5nLiBIZW5jZSB0aGUgZ2xvYmFsRXhlYyBpcyBhcHByb3ByaWF0
ZS4KKyAgICBFeGVjU3RhdGUqIGV4ZWMgPSBtX2dsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpOwor
ICAgIAogICAgIHNpemVfdCBpbnN0cnVjdGlvbkNvdW50ID0gMDsKIAogICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgaW5zdHJ1Y3Rpb25zKCkuc2l6ZSgpOyBpICs9IG9wY29kZUxlbmd0aHNbZXhl
Yy0+aW50ZXJwcmV0ZXIoKS0+Z2V0T3Bjb2RlSUQoaW5zdHJ1Y3Rpb25zKClbaV0udS5vcGNvZGUp
XSkKQEAgLTUwNSw5ICs1MDksOSBAQCB2b2lkIENvZGVCbG9jazo6ZHVtcChFeGVjU3RhdGUqIGV4
ZWMpCiAgICAgICAgIGRhdGFMb2coIjsgYWN0aXZhdGlvbiBpbiByJWQiLCBhY3RpdmF0aW9uUmVn
aXN0ZXIoKSk7CiAgICAgZGF0YUxvZygiXG5cbiIpOwogCi0gICAgVmVjdG9yPEluc3RydWN0aW9u
Pjo6Y29uc3RfaXRlcmF0b3IgYmVnaW4gPSBpbnN0cnVjdGlvbnMoKS5iZWdpbigpOwotICAgIFZl
Y3RvcjxJbnN0cnVjdGlvbj46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IGluc3RydWN0aW9ucygpLmVu
ZCgpOwotICAgIGZvciAoVmVjdG9yPEluc3RydWN0aW9uPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBi
ZWdpbjsgaXQgIT0gZW5kOyArK2l0KQorICAgIGNvbnN0IEluc3RydWN0aW9uKiBiZWdpbiA9IGlu
c3RydWN0aW9ucygpLmJlZ2luKCk7CisgICAgY29uc3QgSW5zdHJ1Y3Rpb24qIGVuZCA9IGluc3Ry
dWN0aW9ucygpLmVuZCgpOworICAgIGZvciAoY29uc3QgSW5zdHJ1Y3Rpb24qIGl0ID0gYmVnaW47
IGl0ICE9IGVuZDsgKytpdCkKICAgICAgICAgZHVtcChleGVjLCBiZWdpbiwgaXQpOwogCiAgICAg
aWYgKCFtX2lkZW50aWZpZXJzLmlzRW1wdHkoKSkgewpAQCAtNjAzLDcgKzYwNyw3IEBAIHZvaWQg
Q29kZUJsb2NrOjpkdW1wKEV4ZWNTdGF0ZSogZXhlYykKICAgICBkYXRhTG9nKCJcbiIpOwogfQog
Ci12b2lkIENvZGVCbG9jazo6ZHVtcChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IFZlY3RvcjxJbnN0
cnVjdGlvbj46OmNvbnN0X2l0ZXJhdG9yJiBiZWdpbiwgVmVjdG9yPEluc3RydWN0aW9uPjo6Y29u
c3RfaXRlcmF0b3ImIGl0KQordm9pZCBDb2RlQmxvY2s6OmR1bXAoRXhlY1N0YXRlKiBleGVjLCBj
b25zdCBJbnN0cnVjdGlvbiogYmVnaW4sIGNvbnN0IEluc3RydWN0aW9uKiYgaXQpCiB7CiAgICAg
aW50IGxvY2F0aW9uID0gaXQgLSBiZWdpbjsKICAgICBzd2l0Y2ggKGV4ZWMtPmludGVycHJldGVy
KCktPmdldE9wY29kZUlEKGl0LT51Lm9wY29kZSkpIHsKQEAgLTE0NTQsNiArMTQ1OCwxMyBAQCB2
b2lkIENvZGVCbG9jazo6ZHVtcChFeGVjU3RhdGUqIGV4ZWMsIGNvCiAgICAgfQogfQogCit2b2lk
IENvZGVCbG9jazo6ZHVtcCh1bnNpZ25lZCBieXRlY29kZU9mZnNldCkKK3sKKyAgICBFeGVjU3Rh
dGUqIGV4ZWMgPSBtX2dsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpOworICAgIGNvbnN0IEluc3Ry
dWN0aW9uKiBpdCA9IGluc3RydWN0aW9ucygpLmJlZ2luKCkgKyBieXRlY29kZU9mZnNldDsKKyAg
ICBkdW1wKGV4ZWMsIGluc3RydWN0aW9ucygpLmJlZ2luKCksIGl0KTsKK30KKwogI2lmIERVTVBf
Q09ERV9CTE9DS19TVEFUSVNUSUNTCiBzdGF0aWMgSGFzaFNldDxDb2RlQmxvY2sqPiBsaXZlQ29k
ZUJsb2NrU2V0OwogI2VuZGlmCkBAIC0xODgxLDcgKzE4OTIsNyBAQCBDb2RlQmxvY2s6OkNvZGVC
bG9jayhTY3JpcHRFeGVjdXRhYmxlKiBvCiAgICAgbV9pbnN0cnVjdGlvbnMgPSBXVEY6OlJlZkNv
dW50ZWRBcnJheTxJbnN0cnVjdGlvbj4oaW5zdHJ1Y3Rpb25zKTsKIAogICAgIGlmIChCeXRlY29k
ZUdlbmVyYXRvcjo6ZHVtcHNHZW5lcmF0ZWRDb2RlKCkpCi0gICAgICAgIGR1bXAobV9nbG9iYWxP
YmplY3QtPmdsb2JhbEV4ZWMoKSk7CisgICAgICAgIGR1bXAoKTsKICAgICBtX2dsb2JhbERhdGEt
PmZpbmlzaGVkQ29tcGlsaW5nKHRoaXMpOwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCShyZXZpc2lvbiAxMzUzNTQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2Myw3
ICsxNjMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBzdGF0aWMgdm9pZCBkdW1wU3Rh
dGlzdGljcygpOwogCi0gICAgICAgIHZvaWQgZHVtcChFeGVjU3RhdGUqKTsKKyAgICAgICAgdm9p
ZCBkdW1wKCk7CisgICAgICAgIHZvaWQgZHVtcCh1bnNpZ25lZCBieXRlY29kZU9mZnNldCk7CiAg
ICAgICAgIHZvaWQgcHJpbnRTdHJ1Y3R1cmVzKGNvbnN0IEluc3RydWN0aW9uKik7CiAgICAgICAg
IHZvaWQgcHJpbnRTdHJ1Y3R1cmUoY29uc3QgY2hhciogbmFtZSwgY29uc3QgSW5zdHJ1Y3Rpb24q
LCBpbnQgb3BlcmFuZCk7CiAKQEAgLTEyMTEsMTcgKzEyMTIsMTcgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgICAgICAgICAgbV9jb25zdGFudFJlZ2lzdGVyc1tpXS5zZXQoKm1fZ2xvYmFsRGF0
YSwgb3duZXJFeGVjdXRhYmxlKCksIGNvbnN0YW50c1tpXS5nZXQoKSk7CiAgICAgICAgIH0KIAot
ICAgICAgICB2b2lkIGR1bXAoRXhlY1N0YXRlKiwgY29uc3QgVmVjdG9yPEluc3RydWN0aW9uPjo6
Y29uc3RfaXRlcmF0b3ImIGJlZ2luLCBWZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVyYXRv
ciYpOworICAgICAgICB2b2lkIGR1bXAoRXhlY1N0YXRlKiwgY29uc3QgSW5zdHJ1Y3Rpb24qIGJl
Z2luLCBjb25zdCBJbnN0cnVjdGlvbiomKTsKIAogICAgICAgICBDU3RyaW5nIHJlZ2lzdGVyTmFt
ZShFeGVjU3RhdGUqLCBpbnQgcikgY29uc3Q7Ci0gICAgICAgIHZvaWQgcHJpbnRVbmFyeU9wKEV4
ZWNTdGF0ZSosIGludCBsb2NhdGlvbiwgVmVjdG9yPEluc3RydWN0aW9uPjo6Y29uc3RfaXRlcmF0
b3ImLCBjb25zdCBjaGFyKiBvcCk7Ci0gICAgICAgIHZvaWQgcHJpbnRCaW5hcnlPcChFeGVjU3Rh
dGUqLCBpbnQgbG9jYXRpb24sIFZlY3RvcjxJbnN0cnVjdGlvbj46OmNvbnN0X2l0ZXJhdG9yJiwg
Y29uc3QgY2hhciogb3ApOwotICAgICAgICB2b2lkIHByaW50Q29uZGl0aW9uYWxKdW1wKEV4ZWNT
dGF0ZSosIGNvbnN0IFZlY3RvcjxJbnN0cnVjdGlvbj46OmNvbnN0X2l0ZXJhdG9yJiwgVmVjdG9y
PEluc3RydWN0aW9uPjo6Y29uc3RfaXRlcmF0b3ImLCBpbnQgbG9jYXRpb24sIGNvbnN0IGNoYXIq
IG9wKTsKLSAgICAgICAgdm9pZCBwcmludEdldEJ5SWRPcChFeGVjU3RhdGUqLCBpbnQgbG9jYXRp
b24sIFZlY3RvcjxJbnN0cnVjdGlvbj46OmNvbnN0X2l0ZXJhdG9yJik7CisgICAgICAgIHZvaWQg
cHJpbnRVbmFyeU9wKEV4ZWNTdGF0ZSosIGludCBsb2NhdGlvbiwgY29uc3QgSW5zdHJ1Y3Rpb24q
JiwgY29uc3QgY2hhciogb3ApOworICAgICAgICB2b2lkIHByaW50QmluYXJ5T3AoRXhlY1N0YXRl
KiwgaW50IGxvY2F0aW9uLCBjb25zdCBJbnN0cnVjdGlvbiomLCBjb25zdCBjaGFyKiBvcCk7Cisg
ICAgICAgIHZvaWQgcHJpbnRDb25kaXRpb25hbEp1bXAoRXhlY1N0YXRlKiwgY29uc3QgSW5zdHJ1
Y3Rpb24qLCBjb25zdCBJbnN0cnVjdGlvbiomLCBpbnQgbG9jYXRpb24sIGNvbnN0IGNoYXIqIG9w
KTsKKyAgICAgICAgdm9pZCBwcmludEdldEJ5SWRPcChFeGVjU3RhdGUqLCBpbnQgbG9jYXRpb24s
IGNvbnN0IEluc3RydWN0aW9uKiYpOwogICAgICAgICB2b2lkIHByaW50R2V0QnlJZENhY2hlU3Rh
dHVzKEV4ZWNTdGF0ZSosIGludCBsb2NhdGlvbik7CiAgICAgICAgIGVudW0gQ2FjaGVEdW1wTW9k
ZSB7IER1bXBDYWNoZXMsIERvbnREdW1wQ2FjaGVzIH07Ci0gICAgICAgIHZvaWQgcHJpbnRDYWxs
T3AoRXhlY1N0YXRlKiwgaW50IGxvY2F0aW9uLCBWZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9p
dGVyYXRvciYsIGNvbnN0IGNoYXIqIG9wLCBDYWNoZUR1bXBNb2RlKTsKLSAgICAgICAgdm9pZCBw
cmludFB1dEJ5SWRPcChFeGVjU3RhdGUqLCBpbnQgbG9jYXRpb24sIFZlY3RvcjxJbnN0cnVjdGlv
bj46OmNvbnN0X2l0ZXJhdG9yJiwgY29uc3QgY2hhciogb3ApOworICAgICAgICB2b2lkIHByaW50
Q2FsbE9wKEV4ZWNTdGF0ZSosIGludCBsb2NhdGlvbiwgY29uc3QgSW5zdHJ1Y3Rpb24qJiwgY29u
c3QgY2hhciogb3AsIENhY2hlRHVtcE1vZGUpOworICAgICAgICB2b2lkIHByaW50UHV0QnlJZE9w
KEV4ZWNTdGF0ZSosIGludCBsb2NhdGlvbiwgY29uc3QgSW5zdHJ1Y3Rpb24qJiwgY29uc3QgY2hh
ciogb3ApOwogICAgICAgICB2b2lkIHZpc2l0U3RydWN0dXJlcyhTbG90VmlzaXRvciYsIEluc3Ry
dWN0aW9uKiB2UEMpOwogICAgICAgICAKICNpZiBFTkFCTEUoREZHX0pJVCkKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAkocmV2
aXNpb24gMTM1MzU0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVy
cHJldGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgwLDcgKzM4MCw3IEBAIHZvaWQgSW50ZXJw
cmV0ZXI6OmR1bXBDYWxsRnJhbWUoQ2FsbEZyYW0KIAogdm9pZCBJbnRlcnByZXRlcjo6ZHVtcENh
bGxGcmFtZShDYWxsRnJhbWUqIGNhbGxGcmFtZSkKIHsKLSAgICBjYWxsRnJhbWUtPmNvZGVCbG9j
aygpLT5kdW1wKGNhbGxGcmFtZSk7CisgICAgY2FsbEZyYW1lLT5jb2RlQmxvY2soKS0+ZHVtcCgp
OwogICAgIGR1bXBSZWdpc3RlcnMoY2FsbEZyYW1lKTsKIH0KIApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklULmNwcAkocmV2aXNpb24gMTM1MzU0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTIsNiArMjEyLDggQEAgdm9pZCBKSVQ6
OnByaXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgIG1fY2FsbExpbmtJbmZvSW5kZXggPSAwOwog
CiAgICAgZm9yIChtX2J5dGVjb2RlT2Zmc2V0ID0gMDsgbV9ieXRlY29kZU9mZnNldCA8IGluc3Ry
dWN0aW9uQ291bnQ7ICkgeworICAgICAgICBpZiAobV9kaXNhc3NlbWJsZXIpCisgICAgICAgICAg
ICBtX2Rpc2Fzc2VtYmxlci0+c2V0Rm9yQnl0ZWNvZGVNYWluUGF0aChtX2J5dGVjb2RlT2Zmc2V0
LCBsYWJlbCgpKTsKICAgICAgICAgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiA9IGlu
c3RydWN0aW9uc0JlZ2luICsgbV9ieXRlY29kZU9mZnNldDsKICAgICAgICAgQVNTRVJUX1dJVEhf
TUVTU0FHRShtX2ludGVycHJldGVyLT5pc09wY29kZShjdXJyZW50SW5zdHJ1Y3Rpb24tPnUub3Bj
b2RlKSwgInByaXZhdGVDb21waWxlTWFpblBhc3MgZ29uZSBiYWQgQCAlZCIsIG1fYnl0ZWNvZGVP
ZmZzZXQpOwogCkBAIC00NTEsNiArNDUzLDkgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlU2xv
d0Nhc2VzKCkKICNpZiBFTkFCTEUoSklUX1ZFUkJPU0UpCiAgICAgICAgIGRhdGFMb2coIk9sZCBK
SVQgZW1pdHRpbmcgc2xvdyBjb2RlIGZvciBiYyMldSBhdCBvZmZzZXQgMHglbHguXG4iLCBtX2J5
dGVjb2RlT2Zmc2V0LCAobG9uZylkZWJ1Z09mZnNldCgpKTsKICNlbmRpZgorICAgICAgICAKKyAg
ICAgICAgaWYgKG1fZGlzYXNzZW1ibGVyKQorICAgICAgICAgICAgbV9kaXNhc3NlbWJsZXItPnNl
dEZvckJ5dGVjb2RlU2xvd1BhdGgobV9ieXRlY29kZU9mZnNldCwgbGFiZWwoKSk7CiAKICAgICAg
ICAgc3dpdGNoIChtX2ludGVycHJldGVyLT5nZXRPcGNvZGVJRChjdXJyZW50SW5zdHJ1Y3Rpb24t
PnUub3Bjb2RlKSkgewogICAgICAgICBERUZJTkVfU0xPV0NBU0VfT1Aob3BfYWRkKQpAQCAtNjI1
LDYgKzYzMCwxMiBAQCBKSVRDb2RlIEpJVDo6cHJpdmF0ZUNvbXBpbGUoQ29kZVB0ciogZnVuCiAg
ICAgICAgIGJyZWFrOwogICAgIH0KICNlbmRpZgorICAgIAorICAgIGlmIChPcHRpb25zOjpzaG93
RGlzYXNzZW1ibHkoKSkKKyAgICAgICAgbV9kaXNhc3NlbWJsZXIgPSBhZG9wdFB0cihuZXcgSklU
RGlzYXNzZW1ibGVyKG1fY29kZUJsb2NrKSk7CisgICAgCisgICAgaWYgKG1fZGlzYXNzZW1ibGVy
KQorICAgICAgICBtX2Rpc2Fzc2VtYmxlci0+c2V0U3RhcnRPZkNvZGUobGFiZWwoKSk7CiAKICAg
ICAvLyBKdXN0IGFkZCBhIGxpdHRsZSBiaXQgb2YgcmFuZG9tbmVzcyB0byB0aGUgY29kZWdlbgog
ICAgIGlmIChtX3JhbmRvbUdlbmVyYXRvci5nZXRVaW50MzIoKSAmIDEpCkBAIC02ODQsNiArNjk1
LDkgQEAgSklUQ29kZSBKSVQ6OnByaXZhdGVDb21waWxlKENvZGVQdHIqIGZ1bgogICAgIHByaXZh
dGVDb21waWxlTWFpblBhc3MoKTsKICAgICBwcml2YXRlQ29tcGlsZUxpbmtQYXNzKCk7CiAgICAg
cHJpdmF0ZUNvbXBpbGVTbG93Q2FzZXMoKTsKKyAgICAKKyAgICBpZiAobV9kaXNhc3NlbWJsZXIp
CisgICAgICAgIG1fZGlzYXNzZW1ibGVyLT5zZXRFbmRPZlNsb3dQYXRoKGxhYmVsKCkpOwogCiAg
ICAgTGFiZWwgYXJpdHlDaGVjazsKICAgICBpZiAobV9jb2RlQmxvY2stPmNvZGVUeXBlKCkgPT0g
RnVuY3Rpb25Db2RlKSB7CkBAIC03MTMsNiArNzI3LDkgQEAgSklUQ29kZSBKSVQ6OnByaXZhdGVD
b21waWxlKENvZGVQdHIqIGZ1bgogICAgIH0KIAogICAgIEFTU0VSVChtX2ptcFRhYmxlLmlzRW1w
dHkoKSk7CisgICAgCisgICAgaWYgKG1fZGlzYXNzZW1ibGVyKQorICAgICAgICBtX2Rpc2Fzc2Vt
Ymxlci0+c2V0RW5kT2ZDb2RlKGxhYmVsKCkpOwogCiAgICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZl
cigqbV9nbG9iYWxEYXRhLCB0aGlzLCBtX2NvZGVCbG9jaywgZWZmb3J0KTsKICAgICBpZiAocGF0
Y2hCdWZmZXIuZGlkRmFpbFRvQWxsb2NhdGUoKSkKQEAgLTgwNSwxMSArODIyLDExIEBAIEpJVENv
ZGUgSklUOjpwcml2YXRlQ29tcGlsZShDb2RlUHRyKiBmdW4KIAogICAgIGlmIChtX2NvZGVCbG9j
ay0+Y29kZVR5cGUoKSA9PSBGdW5jdGlvbkNvZGUgJiYgZnVuY3Rpb25FbnRyeUFyaXR5Q2hlY2sp
CiAgICAgICAgICpmdW5jdGlvbkVudHJ5QXJpdHlDaGVjayA9IHBhdGNoQnVmZmVyLmxvY2F0aW9u
T2YoYXJpdHlDaGVjayk7CisKKyAgICBpZiAobV9kaXNhc3NlbWJsZXIpCisgICAgICAgIG1fZGlz
YXNzZW1ibGVyLT5kdW1wKHBhdGNoQnVmZmVyKTsKICAgICAKLSAgICBDb2RlUmVmIHJlc3VsdCA9
IEZJTkFMSVpFX0NPREUoCi0gICAgICAgIHBhdGNoQnVmZmVyLAotICAgICAgICAoIkJhc2VsaW5l
IEpJVCBjb2RlIGZvciBDb2RlQmxvY2sgJXAsIGluc3RydWN0aW9uIGNvdW50ID0gJXUiLAotICAg
ICAgICAgbV9jb2RlQmxvY2ssIG1fY29kZUJsb2NrLT5pbnN0cnVjdGlvbkNvdW50KCkpKTsKKyAg
ICBDb2RlUmVmIHJlc3VsdCA9IHBhdGNoQnVmZmVyLmZpbmFsaXplQ29kZVdpdGhvdXREaXNhc3Nl
bWJseSgpOwogICAgIAogICAgIG1fZ2xvYmFsRGF0YS0+bWFjaGluZUNvZGVCeXRlc1BlckJ5dGVj
b2RlV29yZEZvckJhc2VsaW5lSklULmFkZCgKICAgICAgICAgc3RhdGljX2Nhc3Q8ZG91YmxlPihy
ZXN1bHQuc2l6ZSgpKSAvCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgJKHJldmlzaW9uIDEz
NTM1NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgJKHdvcmtpbmcgY29weSkK
QEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNsdWRlICJDb21w
YWN0SklUQ29kZU1hcC5oIgogI2luY2x1ZGUgIkludGVycHJldGVyLmgiCisjaW5jbHVkZSAiSklU
RGlzYXNzZW1ibGVyLmgiCiAjaW5jbHVkZSAiSlNJbnRlcmZhY2VKSVQuaCIKICNpbmNsdWRlICJP
cGNvZGUuaCIKICNpbmNsdWRlICJQcm9maWxlci5oIgpAQCAtOTQ1LDYgKzk0Niw3IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICBpbnQgbV91bmludGVycnVwdGVkQ29uc3RhbnRTZXF1ZW5jZUJl
Z2luOwogI2VuZGlmCiAjZW5kaWYKKyAgICAgICAgT3duUHRyPEpJVERpc2Fzc2VtYmxlcj4gbV9k
aXNhc3NlbWJsZXI7CiAgICAgICAgIFdlYWtSYW5kb20gbV9yYW5kb21HZW5lcmF0b3I7CiAgICAg
ICAgIHN0YXRpYyBDb2RlUmVmIHN0cmluZ0dldEJ5VmFsU3R1YkdlbmVyYXRvcihKU0dsb2JhbERh
dGEqKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175351</attachid>
            <date>2012-11-20 23:54:06 -0800</date>
            <delta_ts>2012-11-21 10:49:18 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>disas.patch</filename>
            <type>text/plain</type>
            <size>28817</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTM1MzU0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU2IEBA
CisyMDEyLTExLTIwICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
QmFzZWxpbmUgSklUJ3MgZGlzYXNzZW1ibHkgc2hvdWxkIGJlIGp1c3QgYXMgcHJldHR5IGFzIHRo
ZSBERkcncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAyODczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
SW50ZWdyYXRlZCB0aGUgQ29kZUJsb2NrJ3MgYnl0ZWNvZGUgZHVtcGVyIHdpdGggdGhlIEpJVCdz
IGRpc2Fzc2VtYmxlci4gQWxzbyBmaXhlZAorICAgICAgICBzb21lIHR5cGUgZ29vZi11cHMgKGlu
c3RydWN0aW9ucyBhcmUgbm90IGluIGEgVmVjdG9yPEluc3RydWN0aW9uPiBzbyB1c2luZyBhIFZl
Y3RvcgorICAgICAgICBpdGVyYXRvciBtYWtlcyBubyBzZW5zZSkgYW5kIHN0cmVhbS1saW5lZCBz
b21lIHRoaW5ncyAoeW91IGRvbid0IGFjdHVhbGx5IG5lZWQgYQorICAgICAgICBmdWxsLWZsZWRn
ZWQgRXhlY1N0YXRlKiB0byBkdW1wIGJ5dGVjb2RlKS4KKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogSmF2YVNjcmlw
dENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvajoKKyAgICAg
ICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IFRhcmdldC5wcmk6CisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAg
KEpTQzo6Q29kZUJsb2NrOjpwcmludFVuYXJ5T3ApOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6
OnByaW50QmluYXJ5T3ApOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnByaW50Q29uZGl0aW9u
YWxKdW1wKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpwcmludEdldEJ5SWRPcCk6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9jazo6cHJpbnRDYWxsT3ApOgorICAgICAgICAoSlNDOjpDb2RlQmxv
Y2s6OnByaW50UHV0QnlJZE9wKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpkdW1wKToKKyAg
ICAgICAgKEpTQyk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6Q29kZUJsb2NrKToKKyAgICAg
ICAgKiBieXRlY29kZS9Db2RlQmxvY2suaDoKKyAgICAgICAgKENvZGVCbG9jayk6CisgICAgICAg
ICogaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwOgorICAgICAgICAoSlNDOjpJbnRlcnByZXRl
cjo6ZHVtcENhbGxGcmFtZSk6CisgICAgICAgICogaml0L0pJVC5jcHA6CisgICAgICAgIChKU0M6
OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcyk6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0
ZUNvbXBpbGVTbG93Q2FzZXMpOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlKToK
KyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgIChKSVQpOgorICAgICAgICAqIGppdC9KSVRE
aXNhc3NlbWJsZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKEpTQyk6CisgICAgICAgIChKU0M6OkpJ
VERpc2Fzc2VtYmxlcjo6SklURGlzYXNzZW1ibGVyKToKKyAgICAgICAgKEpTQzo6SklURGlzYXNz
ZW1ibGVyOjp+SklURGlzYXNzZW1ibGVyKToKKyAgICAgICAgKEpTQzo6SklURGlzYXNzZW1ibGVy
OjpkdW1wKToKKyAgICAgICAgKEpTQzo6SklURGlzYXNzZW1ibGVyOjpkdW1wRm9ySW5zdHJ1Y3Rp
b25zKToKKyAgICAgICAgKEpTQzo6SklURGlzYXNzZW1ibGVyOjpkdW1wRGlzYXNzZW1ibHkpOgor
ICAgICAgICAqIGppdC9KSVREaXNhc3NlbWJsZXIuaDogQWRkZWQuCisgICAgICAgIChKU0MpOgor
ICAgICAgICAoSklURGlzYXNzZW1ibGVyKToKKyAgICAgICAgKEpTQzo6SklURGlzYXNzZW1ibGVy
OjpzZXRTdGFydE9mQ29kZSk6CisgICAgICAgIChKU0M6OkpJVERpc2Fzc2VtYmxlcjo6c2V0Rm9y
Qnl0ZWNvZGVNYWluUGF0aCk6CisgICAgICAgIChKU0M6OkpJVERpc2Fzc2VtYmxlcjo6c2V0Rm9y
Qnl0ZWNvZGVTbG93UGF0aCk6CisgICAgICAgIChKU0M6OkpJVERpc2Fzc2VtYmxlcjo6c2V0RW5k
T2ZTbG93UGF0aCk6CisgICAgICAgIChKU0M6OkpJVERpc2Fzc2VtYmxlcjo6c2V0RW5kT2ZDb2Rl
KToKKwogMjAxMi0xMS0yMCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAg
ICAgIERGRyBzaG91bGQgYmUgYWJsZSB0byBjYWNoZSBjbG9zdXJlIGNhbGxzIChwYXJ0IDIvMikK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDEzNTM1NCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMTQ4LDYgKzE0OCw3IEBAIFNFVChKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgaml0L0pJ
VENhbGwzMl82NC5jcHAKICAgICBqaXQvSklUQ2FsbC5jcHAKICAgICBqaXQvSklULmNwcAorICAg
IGppdC9KSVREaXNhc3NlbWJsZXIuY3BwCiAgICAgaml0L0pJVEV4Y2VwdGlvbnMuY3BwCiAgICAg
aml0L0pJVE9wY29kZXMzMl82NC5jcHAKICAgICBqaXQvSklUT3Bjb2Rlcy5jcHAKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lvbiAxMzUzNTQp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkod29ya2luZyBj
b3B5KQpAQCAtMzk4LDYgKzM5OCw4IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCVNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUQ29kZS5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENvbXBp
bGF0aW9uRWZmb3J0LmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklURGlzYXNzZW1i
bGVyLmNwcCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVREaXNhc3NlbWJsZXIuaCBc
CiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVREcml2ZXIuaCBcCiAJU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuY3BwIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5o
IFwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9UYXJnZXQucHJpCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9UYXJnZXQucHJpCShyZXZpc2lvbiAxMzUzNTQpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvVGFyZ2V0LnByaQkod29ya2luZyBjb3B5KQpAQCAtMTU0LDYg
KzE1NCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGppdC9KSVRDYWxsLmNwcCBcCiAgICAgaml0L0pJ
VENhbGwzMl82NC5jcHAgXAogICAgIGppdC9KSVQuY3BwIFwKKyAgICBqaXQvSklURGlzYXNzZW1i
bGVyLmNwcCBcCiAgICAgaml0L0pJVEV4Y2VwdGlvbnMuY3BwIFwKICAgICBqaXQvSklUT3Bjb2Rl
cy5jcHAgXAogICAgIGppdC9KSVRPcGNvZGVzMzJfNjQuY3BwIFwKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qCShyZXZp
c2lvbiAxMzUzNTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNw
cm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpA
QCAtMTk4Niw2ICsxOTg2LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXC4uXGppdFxKSVREaXNhc3NlbWJsZXIuY3BwIgorCQkJCT4KKwkJCTwv
RmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxqaXRcSklURGlzYXNzZW1i
bGVyLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XC4uXGppdFxKSVRFeGNlcHRpb25zLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTM1MzU0KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtp
bmcgY29weSkKQEAgLTE5MSw2ICsxOTEsOCBAQAogCQkwRkE1ODFCQTE1MEU5NTJDMDBCOUEyRDkg
LyogREZHTm9kZUZsYWdzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGQTU4MUI3MTUwRTk1MkEwMEI5QTJEOSAvKiBERkdOb2RlRmxhZ3MuY3BwICov
OyB9OwogCQkwRkE1ODFCQjE1MEU5NTMwMDBCOUEyRDkgLyogREZHTm9kZUZsYWdzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkE1ODFCODE1MEU5NTJB
MDBCOUEyRDkgLyogREZHTm9kZUZsYWdzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEZBNTgxQkMxNTBFOTUzMDAwQjlBMkQ5IC8qIERGR05vZGVU
eXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkE1
ODFCOTE1MEU5NTJBMDBCOUEyRDkgLyogREZHTm9kZVR5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkFGN0VGRDE2NUJBOTFCMDAwQzg0NTUg
LyogSklURGlzYXNzZW1ibGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGQUY3RUZBMTY1QkE5MTkwMDBDODQ1NSAvKiBKSVREaXNhc3NlbWJsZXIu
Y3BwICovOyB9OworCQkwRkFGN0VGRTE2NUJBOTFGMDAwQzg0NTUgLyogSklURGlzYXNzZW1ibGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkFGN0VG
QjE2NUJBOTE5MDAwQzg0NTUgLyogSklURGlzYXNzZW1ibGVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEZCNTQ2NzcxNEY1OUI1QzAwMkMyOTg5
IC8qIExhenlPcGVyYW5kVmFsdWVQcm9maWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRkI1NDY3NjE0RjU5QUQxMDAyQzI5ODkgLyogTGF6eU9wZXJh
bmRWYWx1ZVByb2ZpbGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkwRkI1NDY3OTE0RjVDNDZCMDAyQzI5ODkgLyogTGF6eU9wZXJhbmRWYWx1ZVBy
b2ZpbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEZCNTQ2NzgxNEY1QzQ2ODAwMkMyOTg5IC8qIExhenlPcGVyYW5kVmFsdWVQcm9maWxlLmNwcCAq
LzsgfTsKIAkJMEZCNTQ2N0IxNEY1QzdFMTAwMkMyOTg5IC8qIE1ldGhvZE9mR2V0dGluZ0FWYWx1
ZVByb2ZpbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGQjU0NjdBMTRGNUM3RDQwMDJDMjk4OSAvKiBNZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTk4
Miw2ICs5ODQsOCBAQAogCQkwRkE1ODFCNzE1MEU5NTJBMDBCOUEyRDkgLyogREZHTm9kZUZsYWdz
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR05vZGVGbGFncy5j
cHA7IHBhdGggPSBkZmcvREZHTm9kZUZsYWdzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMEZBNTgxQjgxNTBFOTUyQTAwQjlBMkQ5IC8qIERGR05vZGVGbGFncy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdOb2RlRmxhZ3MuaDsgcGF0aCA9IGRmZy9ERkdO
b2RlRmxhZ3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZBNTgxQjkxNTBFOTUy
QTAwQjlBMkQ5IC8qIERGR05vZGVUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IERGR05vZGVUeXBlLmg7IHBhdGggPSBkZmcvREZHTm9kZVR5cGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMEZBRjdFRkExNjVCQTkxOTAwMEM4NDU1IC8qIEpJVERpc2Fzc2Vt
Ymxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKSVREaXNhc3Nl
bWJsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRkFGN0VGQjE2NUJBOTE5
MDAwQzg0NTUgLyogSklURGlzYXNzZW1ibGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpJVERpc2Fzc2VtYmxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
RkI1NDY3NjE0RjU5QUQxMDAyQzI5ODkgLyogTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZCNTQ2NzgxNEY1QzQ2ODAwMkMyOTg5IC8q
IExhenlPcGVyYW5kVmFsdWVQcm9maWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IExhenlPcGVyYW5kVmFsdWVQcm9maWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMEZCNTQ2N0ExNEY1QzdENDAwMkMyOTg5IC8qIE1ldGhvZE9mR2V0dGluZ0FW
YWx1ZVByb2ZpbGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWV0aG9kT2ZH
ZXR0aW5nQVZhbHVlUHJvZmlsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTgy
NSw2ICsxODI5LDggQEAKIAkJCQkxNDZGRTUxMTExQTcxMDQzMDA4N0FFNjYgLyogSklUQ2FsbDMy
XzY0LmNwcCAqLywKIAkJCQk4NkNDRUZERDBGNDEzRjg5MDBGRDdGOUUgLyogSklUQ29kZS5oICov
LAogCQkJCTBGMDc3NkJEMTRGRjAwMjgwMDEwMjMzMiAvKiBKSVRDb21waWxhdGlvbkVmZm9ydC5o
ICovLAorCQkJCTBGQUY3RUZBMTY1QkE5MTkwMDBDODQ1NSAvKiBKSVREaXNhc3NlbWJsZXIuY3Bw
ICovLAorCQkJCTBGQUY3RUZCMTY1QkE5MTkwMDBDODQ1NSAvKiBKSVREaXNhc3NlbWJsZXIuaCAq
LywKIAkJCQkwRjIxQzI2NjE0QkU1RjVFMDBBREM2NEIgLyogSklURHJpdmVyLmggKi8sCiAJCQkJ
MEY0NjgwN0YxNEJBNTcyNzAwQkZFMjcyIC8qIEpJVEV4Y2VwdGlvbnMuY3BwICovLAogCQkJCTBG
NDY4MDgwMTRCQTU3MjcwMEJGRTI3MiAvKiBKSVRFeGNlcHRpb25zLmggKi8sCkBAIC0zMDI4LDYg
KzMwMzQsNyBAQAogCQkJCUE3QjYwMTgyMTYzOUZEMkEwMDM3MkJBMyAvKiBVbmxpbmtlZENvZGVC
bG9jay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTc3RjE4MjIxNjQwODhCMjAwNjQwQTQ3IC8qIENv
ZGVDYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTc3RjE4MjUxNjQxOTJDNzAwNjQwQTQ3IC8q
IFBhcnNlck1vZGVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRkFGN0VGRTE2NUJBOTFGMDAwQzg0
NTUgLyogSklURGlzYXNzZW1ibGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjczRDdBRjE2NUEx
NDMwMDBBQ0FCNzEgLyogQ2xvc3VyZUNhbGxTdHViUm91dGluZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CkBAIC0zNjA4
LDYgKzM2MTUsNyBAQAogCQkJCTBGODMzNUI3MTYzOUMxRTYwMDE0NDNCNSAvKiBBcnJheUFsbG9j
YXRpb25Qcm9maWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3NkYyNzk0MTVGMTNDOTYwMDUx
N0Q2NyAvKiBVbmxpbmtlZENvZGVCbG9jay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzdGMTgy
MTE2NDA4OEIyMDA2NDBBNDcgLyogQ29kZUNhY2hlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBG
QUY3RUZEMTY1QkE5MUIwMDBDODQ1NSAvKiBKSVREaXNhc3NlbWJsZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEY3M0Q3QUUxNjVBMTQyRDAwQUNBQjcxIC8qIENsb3N1cmVDYWxsU3R1YlJvdXRp
bmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q29kZUJsb2NrLmNwcAkocmV2aXNpb24gMTM1MzU0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2NCw3ICsxNjQsNyBA
QCBORVZFUl9JTkxJTkUgc3RhdGljIGNvbnN0IGNoYXIqIGRlYnVnSG9vCiAgICAgcmV0dXJuICIi
OwogfQogCi12b2lkIENvZGVCbG9jazo6cHJpbnRVbmFyeU9wKEV4ZWNTdGF0ZSogZXhlYywgaW50
IGxvY2F0aW9uLCBWZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVyYXRvciYgaXQsIGNvbnN0
IGNoYXIqIG9wKQordm9pZCBDb2RlQmxvY2s6OnByaW50VW5hcnlPcChFeGVjU3RhdGUqIGV4ZWMs
IGludCBsb2NhdGlvbiwgY29uc3QgSW5zdHJ1Y3Rpb24qJiBpdCwgY29uc3QgY2hhciogb3ApCiB7
CiAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CiAgICAgaW50IHIxID0gKCsraXQpLT51
Lm9wZXJhbmQ7CkBAIC0xNzMsNyArMTczLDcgQEAgdm9pZCBDb2RlQmxvY2s6OnByaW50VW5hcnlP
cChFeGVjU3RhdGUqIAogICAgIGR1bXBCeXRlY29kZUNvbW1lbnRBbmROZXdMaW5lKGxvY2F0aW9u
KTsKIH0KIAotdm9pZCBDb2RlQmxvY2s6OnByaW50QmluYXJ5T3AoRXhlY1N0YXRlKiBleGVjLCBp
bnQgbG9jYXRpb24sIFZlY3RvcjxJbnN0cnVjdGlvbj46OmNvbnN0X2l0ZXJhdG9yJiBpdCwgY29u
c3QgY2hhciogb3ApCit2b2lkIENvZGVCbG9jazo6cHJpbnRCaW5hcnlPcChFeGVjU3RhdGUqIGV4
ZWMsIGludCBsb2NhdGlvbiwgY29uc3QgSW5zdHJ1Y3Rpb24qJiBpdCwgY29uc3QgY2hhciogb3Ap
CiB7CiAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CiAgICAgaW50IHIxID0gKCsraXQp
LT51Lm9wZXJhbmQ7CkBAIC0xODIsNyArMTgyLDcgQEAgdm9pZCBDb2RlQmxvY2s6OnByaW50Qmlu
YXJ5T3AoRXhlY1N0YXRlKgogICAgIGR1bXBCeXRlY29kZUNvbW1lbnRBbmROZXdMaW5lKGxvY2F0
aW9uKTsKIH0KIAotdm9pZCBDb2RlQmxvY2s6OnByaW50Q29uZGl0aW9uYWxKdW1wKEV4ZWNTdGF0
ZSogZXhlYywgY29uc3QgVmVjdG9yPEluc3RydWN0aW9uPjo6Y29uc3RfaXRlcmF0b3ImLCBWZWN0
b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVyYXRvciYgaXQsIGludCBsb2NhdGlvbiwgY29uc3Qg
Y2hhciogb3ApCit2b2lkIENvZGVCbG9jazo6cHJpbnRDb25kaXRpb25hbEp1bXAoRXhlY1N0YXRl
KiBleGVjLCBjb25zdCBJbnN0cnVjdGlvbiosIGNvbnN0IEluc3RydWN0aW9uKiYgaXQsIGludCBs
b2NhdGlvbiwgY29uc3QgY2hhciogb3ApCiB7CiAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJh
bmQ7CiAgICAgaW50IG9mZnNldCA9ICgrK2l0KS0+dS5vcGVyYW5kOwpAQCAtMTkwLDcgKzE5MCw3
IEBAIHZvaWQgQ29kZUJsb2NrOjpwcmludENvbmRpdGlvbmFsSnVtcChFeGUKICAgICBkdW1wQnl0
ZWNvZGVDb21tZW50QW5kTmV3TGluZShsb2NhdGlvbik7CiB9CiAKLXZvaWQgQ29kZUJsb2NrOjpw
cmludEdldEJ5SWRPcChFeGVjU3RhdGUqIGV4ZWMsIGludCBsb2NhdGlvbiwgVmVjdG9yPEluc3Ry
dWN0aW9uPjo6Y29uc3RfaXRlcmF0b3ImIGl0KQordm9pZCBDb2RlQmxvY2s6OnByaW50R2V0QnlJ
ZE9wKEV4ZWNTdGF0ZSogZXhlYywgaW50IGxvY2F0aW9uLCBjb25zdCBJbnN0cnVjdGlvbiomIGl0
KQogewogICAgIGNvbnN0IGNoYXIqIG9wOwogICAgIHN3aXRjaCAoZXhlYy0+aW50ZXJwcmV0ZXIo
KS0+Z2V0T3Bjb2RlSUQoaXQtPnUub3Bjb2RlKSkgewpAQCAtMzk2LDcgKzM5Niw3IEBAIHZvaWQg
Q29kZUJsb2NrOjpwcmludEdldEJ5SWRDYWNoZVN0YXR1cygKICNlbmRpZgogfQogCi12b2lkIENv
ZGVCbG9jazo6cHJpbnRDYWxsT3AoRXhlY1N0YXRlKiBleGVjLCBpbnQgbG9jYXRpb24sIFZlY3Rv
cjxJbnN0cnVjdGlvbj46OmNvbnN0X2l0ZXJhdG9yJiBpdCwgY29uc3QgY2hhciogb3AsIENhY2hl
RHVtcE1vZGUgY2FjaGVEdW1wTW9kZSkKK3ZvaWQgQ29kZUJsb2NrOjpwcmludENhbGxPcChFeGVj
U3RhdGUqIGV4ZWMsIGludCBsb2NhdGlvbiwgY29uc3QgSW5zdHJ1Y3Rpb24qJiBpdCwgY29uc3Qg
Y2hhciogb3AsIENhY2hlRHVtcE1vZGUgY2FjaGVEdW1wTW9kZSkKIHsKICAgICBpbnQgZnVuYyA9
ICgrK2l0KS0+dS5vcGVyYW5kOwogICAgIGludCBhcmdDb3VudCA9ICgrK2l0KS0+dS5vcGVyYW5k
OwpAQCAtNDI2LDcgKzQyNiw3IEBAIHZvaWQgQ29kZUJsb2NrOjpwcmludENhbGxPcChFeGVjU3Rh
dGUqIGUKICAgICBpdCArPSAyOwogfQogCi12b2lkIENvZGVCbG9jazo6cHJpbnRQdXRCeUlkT3Ao
RXhlY1N0YXRlKiBleGVjLCBpbnQgbG9jYXRpb24sIFZlY3RvcjxJbnN0cnVjdGlvbj46OmNvbnN0
X2l0ZXJhdG9yJiBpdCwgY29uc3QgY2hhciogb3ApCit2b2lkIENvZGVCbG9jazo6cHJpbnRQdXRC
eUlkT3AoRXhlY1N0YXRlKiBleGVjLCBpbnQgbG9jYXRpb24sIGNvbnN0IEluc3RydWN0aW9uKiYg
aXQsIGNvbnN0IGNoYXIqIG9wKQogewogICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwog
ICAgIGludCBpZDAgPSAoKytpdCktPnUub3BlcmFuZDsKQEAgLTQ4MCw4ICs0ODAsMTIgQEAgdm9p
ZCBDb2RlQmxvY2s6OnByaW50U3RydWN0dXJlcyhjb25zdCBJbgogICAgIEFTU0VSVCh2UENbMF0u
dS5vcGNvZGUgPT0gaW50ZXJwcmV0ZXItPmdldE9wY29kZShvcF9nZXRfYnlfaWRfZ2VuZXJpYykg
fHwgdlBDWzBdLnUub3Bjb2RlID09IGludGVycHJldGVyLT5nZXRPcGNvZGUob3BfcHV0X2J5X2lk
X2dlbmVyaWMpIHx8IHZQQ1swXS51Lm9wY29kZSA9PSBpbnRlcnByZXRlci0+Z2V0T3Bjb2RlKG9w
X2NhbGwpIHx8IHZQQ1swXS51Lm9wY29kZSA9PSBpbnRlcnByZXRlci0+Z2V0T3Bjb2RlKG9wX2Nh
bGxfZXZhbCkgfHwgdlBDWzBdLnUub3Bjb2RlID09IGludGVycHJldGVyLT5nZXRPcGNvZGUob3Bf
Y29uc3RydWN0KSk7CiB9CiAKLXZvaWQgQ29kZUJsb2NrOjpkdW1wKEV4ZWNTdGF0ZSogZXhlYykK
K3ZvaWQgQ29kZUJsb2NrOjpkdW1wKCkKIHsKKyAgICAvLyBXZSBvbmx5IHVzZSB0aGUgRXhlY1N0
YXRlKiBmb3IgdGhpbmdzIHRoYXQgZG9uJ3QgYWN0dWFsbHkgbGVhZCB0byBKUyBleGVjdXRpb24s
CisgICAgLy8gbGlrZSBjb252ZXJ0aW5nIGEgSlNTdHJpbmcgdG8gYSBTdHJpbmcuIEhlbmNlIHRo
ZSBnbG9iYWxFeGVjIGlzIGFwcHJvcHJpYXRlLgorICAgIEV4ZWNTdGF0ZSogZXhlYyA9IG1fZ2xv
YmFsT2JqZWN0LT5nbG9iYWxFeGVjKCk7CisgICAgCiAgICAgc2l6ZV90IGluc3RydWN0aW9uQ291
bnQgPSAwOwogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBpbnN0cnVjdGlvbnMoKS5zaXpl
KCk7IGkgKz0gb3Bjb2RlTGVuZ3Roc1tleGVjLT5pbnRlcnByZXRlcigpLT5nZXRPcGNvZGVJRChp
bnN0cnVjdGlvbnMoKVtpXS51Lm9wY29kZSldKQpAQCAtNTA1LDkgKzUwOSw5IEBAIHZvaWQgQ29k
ZUJsb2NrOjpkdW1wKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgZGF0YUxvZygiOyBhY3RpdmF0
aW9uIGluIHIlZCIsIGFjdGl2YXRpb25SZWdpc3RlcigpKTsKICAgICBkYXRhTG9nKCJcblxuIik7
CiAKLSAgICBWZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVyYXRvciBiZWdpbiA9IGluc3Ry
dWN0aW9ucygpLmJlZ2luKCk7Ci0gICAgVmVjdG9yPEluc3RydWN0aW9uPjo6Y29uc3RfaXRlcmF0
b3IgZW5kID0gaW5zdHJ1Y3Rpb25zKCkuZW5kKCk7Ci0gICAgZm9yIChWZWN0b3I8SW5zdHJ1Y3Rp
b24+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGJlZ2luOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgY29u
c3QgSW5zdHJ1Y3Rpb24qIGJlZ2luID0gaW5zdHJ1Y3Rpb25zKCkuYmVnaW4oKTsKKyAgICBjb25z
dCBJbnN0cnVjdGlvbiogZW5kID0gaW5zdHJ1Y3Rpb25zKCkuZW5kKCk7CisgICAgZm9yIChjb25z
dCBJbnN0cnVjdGlvbiogaXQgPSBiZWdpbjsgaXQgIT0gZW5kOyArK2l0KQogICAgICAgICBkdW1w
KGV4ZWMsIGJlZ2luLCBpdCk7CiAKICAgICBpZiAoIW1faWRlbnRpZmllcnMuaXNFbXB0eSgpKSB7
CkBAIC02MDMsNyArNjA3LDcgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXAoRXhlY1N0YXRlKiBleGVj
KQogICAgIGRhdGFMb2coIlxuIik7CiB9CiAKLXZvaWQgQ29kZUJsb2NrOjpkdW1wKEV4ZWNTdGF0
ZSogZXhlYywgY29uc3QgVmVjdG9yPEluc3RydWN0aW9uPjo6Y29uc3RfaXRlcmF0b3ImIGJlZ2lu
LCBWZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVyYXRvciYgaXQpCit2b2lkIENvZGVCbG9j
azo6ZHVtcChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEluc3RydWN0aW9uKiBiZWdpbiwgY29uc3Qg
SW5zdHJ1Y3Rpb24qJiBpdCkKIHsKICAgICBpbnQgbG9jYXRpb24gPSBpdCAtIGJlZ2luOwogICAg
IHN3aXRjaCAoZXhlYy0+aW50ZXJwcmV0ZXIoKS0+Z2V0T3Bjb2RlSUQoaXQtPnUub3Bjb2RlKSkg
ewpAQCAtMTQ1NCw2ICsxNDU4LDEzIEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wKEV4ZWNTdGF0ZSog
ZXhlYywgY28KICAgICB9CiB9CiAKK3ZvaWQgQ29kZUJsb2NrOjpkdW1wKHVuc2lnbmVkIGJ5dGVj
b2RlT2Zmc2V0KQoreworICAgIEV4ZWNTdGF0ZSogZXhlYyA9IG1fZ2xvYmFsT2JqZWN0LT5nbG9i
YWxFeGVjKCk7CisgICAgY29uc3QgSW5zdHJ1Y3Rpb24qIGl0ID0gaW5zdHJ1Y3Rpb25zKCkuYmVn
aW4oKSArIGJ5dGVjb2RlT2Zmc2V0OworICAgIGR1bXAoZXhlYywgaW5zdHJ1Y3Rpb25zKCkuYmVn
aW4oKSwgaXQpOworfQorCiAjaWYgRFVNUF9DT0RFX0JMT0NLX1NUQVRJU1RJQ1MKIHN0YXRpYyBI
YXNoU2V0PENvZGVCbG9jayo+IGxpdmVDb2RlQmxvY2tTZXQ7CiAjZW5kaWYKQEAgLTE4ODEsNyAr
MTg5Miw3IEBAIENvZGVCbG9jazo6Q29kZUJsb2NrKFNjcmlwdEV4ZWN1dGFibGUqIG8KICAgICBt
X2luc3RydWN0aW9ucyA9IFdURjo6UmVmQ291bnRlZEFycmF5PEluc3RydWN0aW9uPihpbnN0cnVj
dGlvbnMpOwogCiAgICAgaWYgKEJ5dGVjb2RlR2VuZXJhdG9yOjpkdW1wc0dlbmVyYXRlZENvZGUo
KSkKLSAgICAgICAgZHVtcChtX2dsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpKTsKKyAgICAgICAg
ZHVtcCgpOwogICAgIG1fZ2xvYmFsRGF0YS0+ZmluaXNoZWRDb21waWxpbmcodGhpcyk7CiB9CiAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgJKHJldmlz
aW9uIDEzNTM1NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
aAkod29ya2luZyBjb3B5KQpAQCAtMTYzLDcgKzE2Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAg
ICAgICAgIHN0YXRpYyB2b2lkIGR1bXBTdGF0aXN0aWNzKCk7CiAKLSAgICAgICAgdm9pZCBkdW1w
KEV4ZWNTdGF0ZSopOworICAgICAgICB2b2lkIGR1bXAoKTsKKyAgICAgICAgdm9pZCBkdW1wKHVu
c2lnbmVkIGJ5dGVjb2RlT2Zmc2V0KTsKICAgICAgICAgdm9pZCBwcmludFN0cnVjdHVyZXMoY29u
c3QgSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBwcmludFN0cnVjdHVyZShjb25zdCBjaGFy
KiBuYW1lLCBjb25zdCBJbnN0cnVjdGlvbiosIGludCBvcGVyYW5kKTsKIApAQCAtMTIxMSwxNyAr
MTIxMiwxNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgICAgICBtX2NvbnN0YW50UmVn
aXN0ZXJzW2ldLnNldCgqbV9nbG9iYWxEYXRhLCBvd25lckV4ZWN1dGFibGUoKSwgY29uc3RhbnRz
W2ldLmdldCgpKTsKICAgICAgICAgfQogCi0gICAgICAgIHZvaWQgZHVtcChFeGVjU3RhdGUqLCBj
b25zdCBWZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVyYXRvciYgYmVnaW4sIFZlY3RvcjxJ
bnN0cnVjdGlvbj46OmNvbnN0X2l0ZXJhdG9yJik7CisgICAgICAgIHZvaWQgZHVtcChFeGVjU3Rh
dGUqLCBjb25zdCBJbnN0cnVjdGlvbiogYmVnaW4sIGNvbnN0IEluc3RydWN0aW9uKiYpOwogCiAg
ICAgICAgIENTdHJpbmcgcmVnaXN0ZXJOYW1lKEV4ZWNTdGF0ZSosIGludCByKSBjb25zdDsKLSAg
ICAgICAgdm9pZCBwcmludFVuYXJ5T3AoRXhlY1N0YXRlKiwgaW50IGxvY2F0aW9uLCBWZWN0b3I8
SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVyYXRvciYsIGNvbnN0IGNoYXIqIG9wKTsKLSAgICAgICAg
dm9pZCBwcmludEJpbmFyeU9wKEV4ZWNTdGF0ZSosIGludCBsb2NhdGlvbiwgVmVjdG9yPEluc3Ry
dWN0aW9uPjo6Y29uc3RfaXRlcmF0b3ImLCBjb25zdCBjaGFyKiBvcCk7Ci0gICAgICAgIHZvaWQg
cHJpbnRDb25kaXRpb25hbEp1bXAoRXhlY1N0YXRlKiwgY29uc3QgVmVjdG9yPEluc3RydWN0aW9u
Pjo6Y29uc3RfaXRlcmF0b3ImLCBWZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVyYXRvciYs
IGludCBsb2NhdGlvbiwgY29uc3QgY2hhciogb3ApOwotICAgICAgICB2b2lkIHByaW50R2V0QnlJ
ZE9wKEV4ZWNTdGF0ZSosIGludCBsb2NhdGlvbiwgVmVjdG9yPEluc3RydWN0aW9uPjo6Y29uc3Rf
aXRlcmF0b3ImKTsKKyAgICAgICAgdm9pZCBwcmludFVuYXJ5T3AoRXhlY1N0YXRlKiwgaW50IGxv
Y2F0aW9uLCBjb25zdCBJbnN0cnVjdGlvbiomLCBjb25zdCBjaGFyKiBvcCk7CisgICAgICAgIHZv
aWQgcHJpbnRCaW5hcnlPcChFeGVjU3RhdGUqLCBpbnQgbG9jYXRpb24sIGNvbnN0IEluc3RydWN0
aW9uKiYsIGNvbnN0IGNoYXIqIG9wKTsKKyAgICAgICAgdm9pZCBwcmludENvbmRpdGlvbmFsSnVt
cChFeGVjU3RhdGUqLCBjb25zdCBJbnN0cnVjdGlvbiosIGNvbnN0IEluc3RydWN0aW9uKiYsIGlu
dCBsb2NhdGlvbiwgY29uc3QgY2hhciogb3ApOworICAgICAgICB2b2lkIHByaW50R2V0QnlJZE9w
KEV4ZWNTdGF0ZSosIGludCBsb2NhdGlvbiwgY29uc3QgSW5zdHJ1Y3Rpb24qJik7CiAgICAgICAg
IHZvaWQgcHJpbnRHZXRCeUlkQ2FjaGVTdGF0dXMoRXhlY1N0YXRlKiwgaW50IGxvY2F0aW9uKTsK
ICAgICAgICAgZW51bSBDYWNoZUR1bXBNb2RlIHsgRHVtcENhY2hlcywgRG9udER1bXBDYWNoZXMg
fTsKLSAgICAgICAgdm9pZCBwcmludENhbGxPcChFeGVjU3RhdGUqLCBpbnQgbG9jYXRpb24sIFZl
Y3RvcjxJbnN0cnVjdGlvbj46OmNvbnN0X2l0ZXJhdG9yJiwgY29uc3QgY2hhciogb3AsIENhY2hl
RHVtcE1vZGUpOwotICAgICAgICB2b2lkIHByaW50UHV0QnlJZE9wKEV4ZWNTdGF0ZSosIGludCBs
b2NhdGlvbiwgVmVjdG9yPEluc3RydWN0aW9uPjo6Y29uc3RfaXRlcmF0b3ImLCBjb25zdCBjaGFy
KiBvcCk7CisgICAgICAgIHZvaWQgcHJpbnRDYWxsT3AoRXhlY1N0YXRlKiwgaW50IGxvY2F0aW9u
LCBjb25zdCBJbnN0cnVjdGlvbiomLCBjb25zdCBjaGFyKiBvcCwgQ2FjaGVEdW1wTW9kZSk7Cisg
ICAgICAgIHZvaWQgcHJpbnRQdXRCeUlkT3AoRXhlY1N0YXRlKiwgaW50IGxvY2F0aW9uLCBjb25z
dCBJbnN0cnVjdGlvbiomLCBjb25zdCBjaGFyKiBvcCk7CiAgICAgICAgIHZvaWQgdmlzaXRTdHJ1
Y3R1cmVzKFNsb3RWaXNpdG9yJiwgSW5zdHJ1Y3Rpb24qIHZQQyk7CiAgICAgICAgIAogI2lmIEVO
QUJMRShERkdfSklUKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0lu
dGVycHJldGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCShyZXZpc2lvbiAxMzUzNTQpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
ODAsNyArMzgwLDcgQEAgdm9pZCBJbnRlcnByZXRlcjo6ZHVtcENhbGxGcmFtZShDYWxsRnJhbQog
CiB2b2lkIEludGVycHJldGVyOjpkdW1wQ2FsbEZyYW1lKENhbGxGcmFtZSogY2FsbEZyYW1lKQog
ewotICAgIGNhbGxGcmFtZS0+Y29kZUJsb2NrKCktPmR1bXAoY2FsbEZyYW1lKTsKKyAgICBjYWxs
RnJhbWUtPmNvZGVCbG9jaygpLT5kdW1wKCk7CiAgICAgZHVtcFJlZ2lzdGVycyhjYWxsRnJhbWUp
OwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCShyZXZpc2lvbiAxMzUzNTQp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTIxMiw2ICsyMTIsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcygpCiAgICAg
bV9jYWxsTGlua0luZm9JbmRleCA9IDA7CiAKICAgICBmb3IgKG1fYnl0ZWNvZGVPZmZzZXQgPSAw
OyBtX2J5dGVjb2RlT2Zmc2V0IDwgaW5zdHJ1Y3Rpb25Db3VudDsgKSB7CisgICAgICAgIGlmICht
X2Rpc2Fzc2VtYmxlcikKKyAgICAgICAgICAgIG1fZGlzYXNzZW1ibGVyLT5zZXRGb3JCeXRlY29k
ZU1haW5QYXRoKG1fYnl0ZWNvZGVPZmZzZXQsIGxhYmVsKCkpOwogICAgICAgICBJbnN0cnVjdGlv
biogY3VycmVudEluc3RydWN0aW9uID0gaW5zdHJ1Y3Rpb25zQmVnaW4gKyBtX2J5dGVjb2RlT2Zm
c2V0OwogICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKG1faW50ZXJwcmV0ZXItPmlzT3Bjb2Rl
KGN1cnJlbnRJbnN0cnVjdGlvbi0+dS5vcGNvZGUpLCAicHJpdmF0ZUNvbXBpbGVNYWluUGFzcyBn
b25lIGJhZCBAICVkIiwgbV9ieXRlY29kZU9mZnNldCk7CiAKQEAgLTQ1MSw2ICs0NTMsOSBAQCB2
b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVTbG93Q2FzZXMoKQogI2lmIEVOQUJMRShKSVRfVkVSQk9T
RSkKICAgICAgICAgZGF0YUxvZygiT2xkIEpJVCBlbWl0dGluZyBzbG93IGNvZGUgZm9yIGJjIyV1
IGF0IG9mZnNldCAweCVseC5cbiIsIG1fYnl0ZWNvZGVPZmZzZXQsIChsb25nKWRlYnVnT2Zmc2V0
KCkpOwogI2VuZGlmCisgICAgICAgIAorICAgICAgICBpZiAobV9kaXNhc3NlbWJsZXIpCisgICAg
ICAgICAgICBtX2Rpc2Fzc2VtYmxlci0+c2V0Rm9yQnl0ZWNvZGVTbG93UGF0aChtX2J5dGVjb2Rl
T2Zmc2V0LCBsYWJlbCgpKTsKIAogICAgICAgICBzd2l0Y2ggKG1faW50ZXJwcmV0ZXItPmdldE9w
Y29kZUlEKGN1cnJlbnRJbnN0cnVjdGlvbi0+dS5vcGNvZGUpKSB7CiAgICAgICAgIERFRklORV9T
TE9XQ0FTRV9PUChvcF9hZGQpCkBAIC02MjUsNiArNjMwLDEyIEBAIEpJVENvZGUgSklUOjpwcml2
YXRlQ29tcGlsZShDb2RlUHRyKiBmdW4KICAgICAgICAgYnJlYWs7CiAgICAgfQogI2VuZGlmCisg
ICAgCisgICAgaWYgKE9wdGlvbnM6OnNob3dEaXNhc3NlbWJseSgpKQorICAgICAgICBtX2Rpc2Fz
c2VtYmxlciA9IGFkb3B0UHRyKG5ldyBKSVREaXNhc3NlbWJsZXIobV9jb2RlQmxvY2spKTsKKyAg
ICAKKyAgICBpZiAobV9kaXNhc3NlbWJsZXIpCisgICAgICAgIG1fZGlzYXNzZW1ibGVyLT5zZXRT
dGFydE9mQ29kZShsYWJlbCgpKTsKIAogICAgIC8vIEp1c3QgYWRkIGEgbGl0dGxlIGJpdCBvZiBy
YW5kb21uZXNzIHRvIHRoZSBjb2RlZ2VuCiAgICAgaWYgKG1fcmFuZG9tR2VuZXJhdG9yLmdldFVp
bnQzMigpICYgMSkKQEAgLTY4NCw2ICs2OTUsOSBAQCBKSVRDb2RlIEpJVDo6cHJpdmF0ZUNvbXBp
bGUoQ29kZVB0ciogZnVuCiAgICAgcHJpdmF0ZUNvbXBpbGVNYWluUGFzcygpOwogICAgIHByaXZh
dGVDb21waWxlTGlua1Bhc3MoKTsKICAgICBwcml2YXRlQ29tcGlsZVNsb3dDYXNlcygpOworICAg
IAorICAgIGlmIChtX2Rpc2Fzc2VtYmxlcikKKyAgICAgICAgbV9kaXNhc3NlbWJsZXItPnNldEVu
ZE9mU2xvd1BhdGgobGFiZWwoKSk7CiAKICAgICBMYWJlbCBhcml0eUNoZWNrOwogICAgIGlmICht
X2NvZGVCbG9jay0+Y29kZVR5cGUoKSA9PSBGdW5jdGlvbkNvZGUpIHsKQEAgLTcxMyw2ICs3Mjcs
OSBAQCBKSVRDb2RlIEpJVDo6cHJpdmF0ZUNvbXBpbGUoQ29kZVB0ciogZnVuCiAgICAgfQogCiAg
ICAgQVNTRVJUKG1fam1wVGFibGUuaXNFbXB0eSgpKTsKKyAgICAKKyAgICBpZiAobV9kaXNhc3Nl
bWJsZXIpCisgICAgICAgIG1fZGlzYXNzZW1ibGVyLT5zZXRFbmRPZkNvZGUobGFiZWwoKSk7CiAK
ICAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKCptX2dsb2JhbERhdGEsIHRoaXMsIG1fY29kZUJs
b2NrLCBlZmZvcnQpOwogICAgIGlmIChwYXRjaEJ1ZmZlci5kaWRGYWlsVG9BbGxvY2F0ZSgpKQpA
QCAtODA1LDExICs4MjIsMTEgQEAgSklUQ29kZSBKSVQ6OnByaXZhdGVDb21waWxlKENvZGVQdHIq
IGZ1bgogCiAgICAgaWYgKG1fY29kZUJsb2NrLT5jb2RlVHlwZSgpID09IEZ1bmN0aW9uQ29kZSAm
JiBmdW5jdGlvbkVudHJ5QXJpdHlDaGVjaykKICAgICAgICAgKmZ1bmN0aW9uRW50cnlBcml0eUNo
ZWNrID0gcGF0Y2hCdWZmZXIubG9jYXRpb25PZihhcml0eUNoZWNrKTsKKworICAgIGlmIChtX2Rp
c2Fzc2VtYmxlcikKKyAgICAgICAgbV9kaXNhc3NlbWJsZXItPmR1bXAocGF0Y2hCdWZmZXIpOwog
ICAgIAotICAgIENvZGVSZWYgcmVzdWx0ID0gRklOQUxJWkVfQ09ERSgKLSAgICAgICAgcGF0Y2hC
dWZmZXIsCi0gICAgICAgICgiQmFzZWxpbmUgSklUIGNvZGUgZm9yIENvZGVCbG9jayAlcCwgaW5z
dHJ1Y3Rpb24gY291bnQgPSAldSIsCi0gICAgICAgICBtX2NvZGVCbG9jaywgbV9jb2RlQmxvY2st
Pmluc3RydWN0aW9uQ291bnQoKSkpOworICAgIENvZGVSZWYgcmVzdWx0ID0gcGF0Y2hCdWZmZXIu
ZmluYWxpemVDb2RlV2l0aG91dERpc2Fzc2VtYmx5KCk7CiAgICAgCiAgICAgbV9nbG9iYWxEYXRh
LT5tYWNoaW5lQ29kZUJ5dGVzUGVyQnl0ZWNvZGVXb3JkRm9yQmFzZWxpbmVKSVQuYWRkKAogICAg
ICAgICBzdGF0aWNfY2FzdDxkb3VibGU+KHJlc3VsdC5zaXplKCkpIC8KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklULmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVQuaAkocmV2aXNpb24gMTM1MzU0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVQuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgIkNv
ZGVCbG9jay5oIgogI2luY2x1ZGUgIkNvbXBhY3RKSVRDb2RlTWFwLmgiCiAjaW5jbHVkZSAiSW50
ZXJwcmV0ZXIuaCIKKyNpbmNsdWRlICJKSVREaXNhc3NlbWJsZXIuaCIKICNpbmNsdWRlICJKU0lu
dGVyZmFjZUpJVC5oIgogI2luY2x1ZGUgIk9wY29kZS5oIgogI2luY2x1ZGUgIlByb2ZpbGVyLmgi
CkBAIC05NDUsNiArOTQ2LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGludCBtX3VuaW50
ZXJydXB0ZWRDb25zdGFudFNlcXVlbmNlQmVnaW47CiAjZW5kaWYKICNlbmRpZgorICAgICAgICBP
d25QdHI8SklURGlzYXNzZW1ibGVyPiBtX2Rpc2Fzc2VtYmxlcjsKICAgICAgICAgV2Vha1JhbmRv
bSBtX3JhbmRvbUdlbmVyYXRvcjsKICAgICAgICAgc3RhdGljIENvZGVSZWYgc3RyaW5nR2V0QnlW
YWxTdHViR2VuZXJhdG9yKEpTR2xvYmFsRGF0YSopOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVERpc2Fzc2VtYmxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVREaXNhc3NlbWJsZXIuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVREaXNhc3NlbWJsZXIuY3BwCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDEwNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSklURGlzYXNzZW1ibGVyLmgiCisK
KyNpZiBFTkFCTEUoSklUKQorCisjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCisjaW5jbHVkZSAiSklU
LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitKSVREaXNhc3NlbWJsZXI6OkpJVERpc2Fzc2VtYmxl
cihDb2RlQmxvY2sgKmNvZGVCbG9jaykKKyAgICA6IG1fY29kZUJsb2NrKGNvZGVCbG9jaykKKyAg
ICAsIG1fbGFiZWxGb3JCeXRlY29kZUluZGV4SW5NYWluUGF0aChjb2RlQmxvY2stPmluc3RydWN0
aW9uQ291bnQoKSkKKyAgICAsIG1fbGFiZWxGb3JCeXRlY29kZUluZGV4SW5TbG93UGF0aChjb2Rl
QmxvY2stPmluc3RydWN0aW9uQ291bnQoKSkKK3sKK30KKworSklURGlzYXNzZW1ibGVyOjp+SklU
RGlzYXNzZW1ibGVyKCkKK3sKK30KKwordm9pZCBKSVREaXNhc3NlbWJsZXI6OmR1bXAoTGlua0J1
ZmZlciYgbGlua0J1ZmZlcikKK3sKKyAgICBkYXRhTG9nKCJCYXNlbGluZSBKSVQgY29kZSBmb3Ig
Q29kZUJsb2NrICVwLCBpbnN0cnVjdGlvbiBjb3VudCA9ICV1OlxuIiwgbV9jb2RlQmxvY2ssIG1f
Y29kZUJsb2NrLT5pbnN0cnVjdGlvbkNvdW50KCkpOworICAgIGRhdGFMb2coIiAgICBDb2RlIGF0
IFslcCwgJXApOlxuIiwgbGlua0J1ZmZlci5kZWJ1Z0FkZHJlc3MoKSwgc3RhdGljX2Nhc3Q8Y2hh
cio+KGxpbmtCdWZmZXIuZGVidWdBZGRyZXNzKCkpICsgbGlua0J1ZmZlci5kZWJ1Z1NpemUoKSk7
CisgICAgZHVtcERpc2Fzc2VtYmx5KGxpbmtCdWZmZXIsIG1fc3RhcnRPZkNvZGUsIG1fbGFiZWxG
b3JCeXRlY29kZUluZGV4SW5NYWluUGF0aFswXSk7CisgICAgCisgICAgTWFjcm9Bc3NlbWJsZXI6
OkxhYmVsIGZpcnN0U2xvd0xhYmVsOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2xh
YmVsRm9yQnl0ZWNvZGVJbmRleEluU2xvd1BhdGguc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgaWYg
KG1fbGFiZWxGb3JCeXRlY29kZUluZGV4SW5TbG93UGF0aFtpXS5pc1NldCgpKSB7CisgICAgICAg
ICAgICBmaXJzdFNsb3dMYWJlbCA9IG1fbGFiZWxGb3JCeXRlY29kZUluZGV4SW5TbG93UGF0aFtp
XTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorICAgIGR1bXBGb3JJbnN0
cnVjdGlvbnMobGlua0J1ZmZlciwgIiAgICAiLCBtX2xhYmVsRm9yQnl0ZWNvZGVJbmRleEluTWFp
blBhdGgsIGZpcnN0U2xvd0xhYmVsLmlzU2V0KCkgPyBmaXJzdFNsb3dMYWJlbCA6IG1fZW5kT2ZT
bG93UGF0aCk7CisgICAgZGF0YUxvZygiICAgIChFbmQgT2YgTWFpbiBQYXRoKVxuIik7CisgICAg
ZHVtcEZvckluc3RydWN0aW9ucyhsaW5rQnVmZmVyLCAiICAgIChTKSAiLCBtX2xhYmVsRm9yQnl0
ZWNvZGVJbmRleEluU2xvd1BhdGgsIG1fZW5kT2ZTbG93UGF0aCk7CisgICAgZGF0YUxvZygiICAg
IChFbmQgT2YgU2xvdyBQYXRoKVxuIik7CisKKyAgICBkdW1wRGlzYXNzZW1ibHkobGlua0J1ZmZl
ciwgbV9lbmRPZlNsb3dQYXRoLCBtX2VuZE9mQ29kZSk7Cit9CisKK3ZvaWQgSklURGlzYXNzZW1i
bGVyOjpkdW1wRm9ySW5zdHJ1Y3Rpb25zKExpbmtCdWZmZXImIGxpbmtCdWZmZXIsIGNvbnN0IGNo
YXIqIHByZWZpeCwgVmVjdG9yPE1hY3JvQXNzZW1ibGVyOjpMYWJlbD4mIGxhYmVscywgTWFjcm9B
c3NlbWJsZXI6OkxhYmVsIGVuZExhYmVsKQoreworICAgIGZvciAodW5zaWduZWQgaSA9IDAgOyBp
IDwgbGFiZWxzLnNpemUoKTspIHsKKyAgICAgICAgaWYgKCFsYWJlbHNbaV0uaXNTZXQoKSkgewor
ICAgICAgICAgICAgaSsrOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKyAgICAg
ICAgZGF0YUxvZygiJXMiLCBwcmVmaXgpOworICAgICAgICBtX2NvZGVCbG9jay0+ZHVtcChpKTsK
KyAgICAgICAgZm9yICh1bnNpZ25lZCBuZXh0SW5kZXggPSBpICsgMTsgOyBuZXh0SW5kZXgrKykg
eworICAgICAgICAgICAgaWYgKG5leHRJbmRleCA+PSBsYWJlbHMuc2l6ZSgpKSB7CisgICAgICAg
ICAgICAgICAgZHVtcERpc2Fzc2VtYmx5KGxpbmtCdWZmZXIsIGxhYmVsc1tpXSwgZW5kTGFiZWwp
OworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlm
IChsYWJlbHNbbmV4dEluZGV4XS5pc1NldCgpKSB7CisgICAgICAgICAgICAgICAgZHVtcERpc2Fz
c2VtYmx5KGxpbmtCdWZmZXIsIGxhYmVsc1tpXSwgbGFiZWxzW25leHRJbmRleF0pOworICAgICAg
ICAgICAgICAgIGkgPSBuZXh0SW5kZXg7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK3ZvaWQgSklURGlzYXNzZW1ibGVyOjpkdW1w
RGlzYXNzZW1ibHkoTGlua0J1ZmZlciYgbGlua0J1ZmZlciwgTWFjcm9Bc3NlbWJsZXI6OkxhYmVs
IGZyb20sIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCB0bykKK3sKKyAgICBDb2RlTG9jYXRpb25MYWJl
bCBmcm9tTG9jYXRpb24gPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2YoZnJvbSk7CisgICAgQ29kZUxv
Y2F0aW9uTGFiZWwgdG9Mb2NhdGlvbiA9IGxpbmtCdWZmZXIubG9jYXRpb25PZih0byk7CisgICAg
aWYgKHRyeVRvRGlzYXNzZW1ibGUoZnJvbUxvY2F0aW9uLCBiaXR3aXNlX2Nhc3Q8dWludHB0cl90
Pih0b0xvY2F0aW9uLmV4ZWN1dGFibGVBZGRyZXNzKCkpIC0gYml0d2lzZV9jYXN0PHVpbnRwdHJf
dD4oZnJvbUxvY2F0aW9uLmV4ZWN1dGFibGVBZGRyZXNzKCkpLCAiICAgICAgICAiLCBXVEY6OmRh
dGFGaWxlKCkpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgZGF0YUxvZygiICAgICAgICBk
aXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAlcC4uLiVwXG4iLCBmcm9tTG9jYXRp
b24uZXhlY3V0YWJsZUFkZHJlc3MoKSwgdG9Mb2NhdGlvbi5leGVjdXRhYmxlQWRkcmVzcygpKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZiAvLyBFTkFCTEUoSklUKQorCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVERpc2Fzc2VtYmxlci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklURGlzYXNzZW1ibGVyLmgJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVERpc2Fzc2VtYmxlci5oCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDc4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICovCisKKyNpZm5kZWYgSklURGlzYXNzZW1ibGVyX2gKKyNkZWZpbmUgSklURGlz
YXNzZW1ibGVyX2gKKworI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorCisjaWYgRU5BQkxFKEpJ
VCkKKworI2luY2x1ZGUgIkxpbmtCdWZmZXIuaCIKKyNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlci5o
IgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIENv
ZGVCbG9jazsKKworY2xhc3MgSklURGlzYXNzZW1ibGVyIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKK3B1YmxpYzoKKyAgICBKSVREaXNhc3NlbWJsZXIoQ29kZUJsb2NrKik7CisgICAg
fkpJVERpc2Fzc2VtYmxlcigpOworICAgIAorICAgIHZvaWQgc2V0U3RhcnRPZkNvZGUoTWFjcm9B
c3NlbWJsZXI6OkxhYmVsIGxhYmVsKSB7IG1fc3RhcnRPZkNvZGUgPSBsYWJlbDsgfQorICAgIHZv
aWQgc2V0Rm9yQnl0ZWNvZGVNYWluUGF0aCh1bnNpZ25lZCBieXRlY29kZUluZGV4LCBNYWNyb0Fz
c2VtYmxlcjo6TGFiZWwgbGFiZWwpCisgICAgeworICAgICAgICBtX2xhYmVsRm9yQnl0ZWNvZGVJ
bmRleEluTWFpblBhdGhbYnl0ZWNvZGVJbmRleF0gPSBsYWJlbDsKKyAgICB9CisgICAgdm9pZCBz
ZXRGb3JCeXRlY29kZVNsb3dQYXRoKHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIE1hY3JvQXNzZW1i
bGVyOjpMYWJlbCBsYWJlbCkKKyAgICB7CisgICAgICAgIG1fbGFiZWxGb3JCeXRlY29kZUluZGV4
SW5TbG93UGF0aFtieXRlY29kZUluZGV4XSA9IGxhYmVsOworICAgIH0KKyAgICB2b2lkIHNldEVu
ZE9mU2xvd1BhdGgoTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIGxhYmVsKSB7IG1fZW5kT2ZTbG93UGF0
aCA9IGxhYmVsOyB9CisgICAgdm9pZCBzZXRFbmRPZkNvZGUoTWFjcm9Bc3NlbWJsZXI6OkxhYmVs
IGxhYmVsKSB7IG1fZW5kT2ZDb2RlID0gbGFiZWw7IH0KKyAgICAKKyAgICB2b2lkIGR1bXAoTGlu
a0J1ZmZlciYpOworCitwcml2YXRlOgorICAgIHZvaWQgZHVtcEZvckluc3RydWN0aW9ucyhMaW5r
QnVmZmVyJiBsaW5rQnVmZmVyLCBjb25zdCBjaGFyKiBwcmVmaXgsIFZlY3RvcjxNYWNyb0Fzc2Vt
Ymxlcjo6TGFiZWw+JiBsYWJlbHMsIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBlbmRMYWJlbCk7Cisg
ICAgdm9pZCBkdW1wRGlzYXNzZW1ibHkoTGlua0J1ZmZlciYgbGlua0J1ZmZlciwgTWFjcm9Bc3Nl
bWJsZXI6OkxhYmVsIGZyb20sIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCB0byk7CisgICAgCisgICAg
Q29kZUJsb2NrKiBtX2NvZGVCbG9jazsKKyAgICBNYWNyb0Fzc2VtYmxlcjo6TGFiZWwgbV9zdGFy
dE9mQ29kZTsKKyAgICBWZWN0b3I8TWFjcm9Bc3NlbWJsZXI6OkxhYmVsPiBtX2xhYmVsRm9yQnl0
ZWNvZGVJbmRleEluTWFpblBhdGg7CisgICAgVmVjdG9yPE1hY3JvQXNzZW1ibGVyOjpMYWJlbD4g
bV9sYWJlbEZvckJ5dGVjb2RlSW5kZXhJblNsb3dQYXRoOworICAgIE1hY3JvQXNzZW1ibGVyOjpM
YWJlbCBtX2VuZE9mU2xvd1BhdGg7CisgICAgTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIG1fZW5kT2ZD
b2RlOworfTsKKworfSAvLyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZiAvLyBFTkFCTEUoSklUKQor
CisjZW5kaWYgLy8gSklURGlzYXNzZW1ibGVyX2gKKwo=
</data>
<flag name="review"
          id="190774"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>