<?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>55993</bug_id>
          
          <creation_ts>2011-03-08 21:37:46 -0800</creation_ts>
          <short_desc>WebKit2: Plumb new full screen animation APIs through WebKit2.</short_desc>
          <delta_ts>2011-03-11 21:38:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>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>
          
          <blocked>56210</blocked>
    
    <blocked>56220</blocked>
    
    <blocked>56226</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>andersca</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>364314</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-08 21:37:46 -0800</bug_when>
    <thetext>The new Document animation APIs need to be plumbed through WebKit2 from the WebProcess to the UIProcess (and vice versa).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364329</commentid>
    <comment_count>1</comment_count>
      <attachid>85134</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-08 22:54:51 -0800</bug_when>
    <thetext>Created attachment 85134
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364364</commentid>
    <comment_count>2</comment_count>
      <attachid>85143</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-09 01:12:11 -0800</bug_when>
    <thetext>Created attachment 85143
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364373</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-09 01:53:48 -0800</bug_when>
    <thetext>Attachment 85134 did not build on mac:
Build output: http://queues.webkit.org/results/8117256</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364407</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-09 03:43:20 -0800</bug_when>
    <thetext>Attachment 85143 did not build on mac:
Build output: http://queues.webkit.org/results/8118288</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364514</commentid>
    <comment_count>5</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-09 08:29:16 -0800</bug_when>
    <thetext>It looks like the mac builder didn&apos;t pick up the changes in 55992.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366060</commentid>
    <comment_count>6</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-11 09:48:56 -0800</bug_when>
    <thetext>Since Bug #55992 was marked WONTFIX, updating this patch with stubbed out API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366099</commentid>
    <comment_count>7</comment_count>
      <attachid>85491</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-11 10:42:37 -0800</bug_when>
    <thetext>Created attachment 85491
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366176</commentid>
    <comment_count>8</comment_count>
      <attachid>85504</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-11 11:45:45 -0800</bug_when>
    <thetext>Created attachment 85504
Patch

Somehow, two braces became transposed.  This patch builds cleanly on amac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366426</commentid>
    <comment_count>9</comment_count>
      <attachid>85504</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-03-11 16:55:48 -0800</bug_when>
    <thetext>Comment on attachment 85504
Patch

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

&gt; Source/WebKit2/WebProcess/FullScreen/WebFullScreenManager.cpp:69
&gt; +    m_page-&gt;sendSync(Messages::WebFullScreenManagerProxy::SupportsFullScreen(), supports, 0, CoreIPC::Connection::NoTimeout);

No need to pass NoTimeout to sendSync, that&apos;s the default argument.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366438</commentid>
    <comment_count>10</comment_count>
      <attachid>85504</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-11 17:09:19 -0800</bug_when>
    <thetext>Comment on attachment 85504
Patch

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

&gt;&gt; Source/WebKit2/WebProcess/FullScreen/WebFullScreenManager.cpp:69
&gt;&gt; +    m_page-&gt;sendSync(Messages::WebFullScreenManagerProxy::SupportsFullScreen(), supports, 0, CoreIPC::Connection::NoTimeout);
&gt; 
&gt; No need to pass NoTimeout to sendSync, that&apos;s the default argument.

Indeed, deleted.  (I think, in addition, that 0 is unnecessary.  We want m_page to put its own pageID for that value.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366513</commentid>
    <comment_count>11</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-11 21:38:28 -0800</bug_when>
    <thetext>Committed r80922: &lt;http://trac.webkit.org/changeset/80922&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85134</attachid>
            <date>2011-03-08 22:54:51 -0800</date>
            <delta_ts>2011-03-09 01:12:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55993-20110308225450.patch</filename>
            <type>text/plain</type>
            <size>19527</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODA2MjMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAxN2ZiYTM5NDZjYmRmMjRi
NWQyZjg4NGQ4MmNjYTZmNjQyNWVjZjU5Li44NTlmNWEzNTNmY2Y3ODMzN2IwMDhlN2FjYWUzMjY5
M2Y1YzliYjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDMgQEAKIDIwMTEtMDMtMDggIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2ViS2l0MjogUGx1bWIgbmV3IGZ1bGwgc2NyZWVuIGFuaW1h
dGlvbiBBUElzIHRocm91Z2ggV2ViS2l0Mi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTU1OTkzCisKKyAgICAgICAgVGhlIG5ldyBBUElzIG5lZWQgdG8g
YmUgZnVubmVsZWQgdGhyb3VnaCBmcm9tIHRoZSBVSVByb2Nlc3MgdG8gdGhlIFdlYlByb2Nlc3Mg
CisgICAgICAgIGFuZCB2aWNlLXZlcnNhLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkZ1bGxT
Y3JlZW5NYW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFu
YWdlclByb3h5OjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5KTogQWRkZWQuCisgICAgICAgIChX
ZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmludmFsaWRhdGUpOiBDbGVhciBtX3dl
YlZpZXcuCisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OnNldFdl
YlZpZXcpOiBTZXQgbV93ZWJWaWV3LgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFu
YWdlclByb3h5OjpiZWdpbkVudGVyRnVsbFNjcmVlbkFuaW1hdGlvbik6IEFkZGVkLgorICAgICAg
ICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpiZWdpbkV4aXRGdWxsU2NyZWVu
QW5pbWF0aW9uKTogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5h
Z2VyUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94
eS5tZXNzYWdlcy5pbjogQWRkZWQgbmV3IG1lc3NhZ2UgZGVmaW5pdGlvbnMuCisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6IE1vdmVkIGluY2x1ZGUgb2YgV2ViRnVsbFNjcmVl
bk1hbmFnZXJQcm94eS5oIGludG8gc291cmNlIGZpbGUuCisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHlNYWMubW06IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2Ny
ZWVuTWFuYWdlclByb3h5OjpiZWdhbkVudGVyRnVsbFNjcmVlbkFuaW1hdGlvbik6IEFkZGVkLgor
ICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpmaW5pc2hlZEVudGVy
RnVsbFNjcmVlbkFuaW1hdGlvbik6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2Ny
ZWVuTWFuYWdlclByb3h5OjpiZWdhbkV4aXRGdWxsU2NyZWVuQW5pbWF0aW9uKTogQWRkZWQuCisg
ICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmZpbmlzaGVkRXhpdEZ1
bGxTY3JlZW5BbmltYXRpb24pOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0Z1bGxTY3Jl
ZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2Ny
ZWVuTWFuYWdlcjo6c3VwcG9ydHNGdWxsU2NyZWVuKTogUGFzcyBtZXNzYWdlIHRocm91Z2ggbV9w
YWdlLgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6ZW50ZXJGdWxsU2Ny
ZWVuRm9yRWxlbWVudCk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFu
YWdlcjo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6
OldlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpiZWdhbkVudGVyRnVsbFNjcmVlbkFuaW1hdGlvbik6IEFk
ZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6ZmluaXNoZWRFbnRl
ckZ1bGxTY3JlZW5BbmltYXRpb24pOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViRnVsbFNj
cmVlbk1hbmFnZXI6OmJlZ2FuRXhpdEZ1bGxTY3JlZW5BbmltYXRpb24pOiBBZGRlZC4KKyAgICAg
ICAgKFdlYktpdDo6V2ViRnVsbFNjcmVlbk1hbmFnZXI6OmZpbmlzaGVkRXhpdEZ1bGxTY3JlZW5B
bmltYXRpb24pOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViRnVsbFNjcmVlbk1hbmFnZXI6
OmJlZ2luRW50ZXJGdWxsU2NyZWVuQW5pbWF0aW9uKTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6
OldlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpiZWdpbkV4aXRGdWxsU2NyZWVuQW5pbWF0aW9uKTogQWRk
ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2Vy
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2Vy
Lm1lc3NhZ2VzLmluOiBBZGRlZCBuZXcgbWVzc2FnZSBkZWZpbml0aW9ucy4KKworMjAxMS0wMy0w
OCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKwogICAgICAgICBSZXZpZXdlZCBi
eSBTYW0gV2VpbmlnLgogCiAgICAgICAgIFdlYktpdDI6IFBsdW1iIHRocm91Z2ggdGhlIEZVTExT
Q1JFRU5fQVBJIENocm9tZSBjbGllbnQgY2FsbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmNwcAppbmRleCA2YThiNTdmNmZl
NmRhMzYwZjdmZjk5N2JlM2Y4MDU4NzJhZjdjMWYzLi4xZWVlOTA5YzA5ZDdjODEwMDY5MjI0ZDdi
OTlmMTBlOGYyOWZiNDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
RnVsbFNjcmVlbk1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuY3BwCkBAIC00Miw2ICs0Miw3IEBAIFBhc3NSZWZQ
dHI8V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eT4gV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6
Y3JlYXRlKFdlYlBhZ2VQCiAKIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OldlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHkoV2ViUGFnZVByb3h5KiBwYWdlKQogICAgIDogbV9wYWdlKHBhZ2UpCisg
ICAgLCBtX3dlYlZpZXcoMCkKIHsKIH0KIApAQCAtNTEsNiArNTIsMTIgQEAgV2ViRnVsbFNjcmVl
bk1hbmFnZXJQcm94eTo6fldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkoKQogCiB2b2lkIFdlYkZ1
bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmludmFsaWRhdGUoKQogeworICAgIG1fd2ViVmlldyA9IDA7
Cit9CisKK3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6c2V0V2ViVmlldyhQbGF0Zm9y
bVdlYlZpZXcqIHdlYlZpZXcpCit7CisgICAgbV93ZWJWaWV3ID0gd2ViVmlldzsKIH0KIAogdm9p
ZCBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpD
b25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3JlSVBDOjpNZXNzYWdlSUQgbWVzc2FnZUlELCBDb3Jl
SVBDOjpBcmd1bWVudERlY29kZXIqIGFyZ3VtZW50cykKQEAgLTgzLDYgKzkwLDE2IEBAIHZvaWQg
V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6ZGlkRXhpdEZ1bGxTY3JlZW4oKQogICAgIG1fcGFn
ZS0+cHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6RGlkRXhp
dEZ1bGxTY3JlZW4oKSwgbV9wYWdlLT5wYWdlSUQoKSk7CiB9CiAKK3ZvaWQgV2ViRnVsbFNjcmVl
bk1hbmFnZXJQcm94eTo6YmVnaW5FbnRlckZ1bGxTY3JlZW5BbmltYXRpb24oY29uc3QgV2ViQ29y
ZTo6SW50UmVjdCYgcmVjdCkKK3sKKyAgICBtX3BhZ2UtPnByb2Nlc3MoKS0+c2VuZChNZXNzYWdl
czo6V2ViRnVsbFNjcmVlbk1hbmFnZXI6OkJlZ2luRW50ZXJGdWxsU2NyZWVuQW5pbWF0aW9uKHJl
Y3QpLCBtX3BhZ2UtPnBhZ2VJRCgpKTsKK30KKwordm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlclBy
b3h5OjpiZWdpbkV4aXRGdWxsU2NyZWVuQW5pbWF0aW9uKGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
IHJlY3QpCit7CisgICAgbV9wYWdlLT5wcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYkZ1bGxT
Y3JlZW5NYW5hZ2VyOjpCZWdpbkV4aXRGdWxsU2NyZWVuQW5pbWF0aW9uKHJlY3QpLCBtX3BhZ2Ut
PnBhZ2VJRCgpKTsKK30KKwogdm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpzdXBwb3J0
c0Z1bGxTY3JlZW4oYm9vbCYgc3VwcG9ydHMpCiB7CiAgICAgc3VwcG9ydHMgPSB0cnVlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5
LmgKaW5kZXggMDFkMDk4ZmQ1MzhhYzdmMDM5ODAzNmJiNzZkYzVhMzJiY2JiNTAyYi4uODk5OGFh
ZGY5ZDY4NjE5YTFhNGNlZTUzNTVkZmFmZDg0ODZhZDFkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5oCkBAIC0zOCw3ICsz
OCwyNyBAQCBjbGFzcyBDb25uZWN0aW9uOwogY2xhc3MgTWVzc2FnZUlEOwogfQogCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CitjbGFzcyBJbnRSZWN0OworfQorCisjaWYgUExBVEZPUk0oTUFDKQorT0JK
Q19DTEFTUyBXS1ZpZXc7CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktpdCB7CisgICAgCisjaWYg
UExBVEZPUk0oTUFDKQordHlwZWRlZiBXS1ZpZXcgUGxhdGZvcm1XZWJWaWV3OworI2VsaWYgUExB
VEZPUk0oV0lOKQorY2xhc3MgV2ViVmlldzsKK3R5cGVkZWYgV2ViVmlldyBQbGF0Zm9ybVdlYlZp
ZXc7CisjZWxpZiBQTEFURk9STShRVCkKK3R5cGVkZWYgUUdyYXBoaWNzV0tWaWV3IFBsYXRmb3Jt
V2ViVmlldzsKKyNlbGlmIFBMQVRGT1JNKEdUSykKK2NsYXNzIFdlYlZpZXc7Cit0eXBlZGVmIFdl
YlZpZXcgUGxhdGZvcm1XZWJWaWV3OworI2VuZGlmCiAKIGNsYXNzIFdlYlBhZ2VQcm94eTsKIApA
QCAtNDksNiArNjksOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGludmFsaWRhdGUoKTsKIAorICAg
IHZvaWQgc2V0V2ViVmlldyhQbGF0Zm9ybVdlYlZpZXcqKTsKKwogICAgIHZvaWQgZGlkUmVjZWl2
ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQ
Qzo6QXJndW1lbnREZWNvZGVyKik7CiAgICAgQ29yZUlQQzo6U3luY1JlcGx5TW9kZSBkaWRSZWNl
aXZlU3luY01lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwg
Q29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBhcmd1bWVudHMsIENvcmVJUEM6OkFyZ3VtZW50RW5j
b2RlciogcmVwbHkpOwogCkBAIC01Niw2ICs3OCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZEVu
dGVyRnVsbFNjcmVlbigpOwogICAgIHZvaWQgd2lsbEV4aXRGdWxsU2NyZWVuKCk7CiAgICAgdm9p
ZCBkaWRFeGl0RnVsbFNjcmVlbigpOworICAgIHZvaWQgYmVnaW5FbnRlckZ1bGxTY3JlZW5Bbmlt
YXRpb24oY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOworICAgIHZvaWQgYmVnaW5FeGl0RnVsbFNj
cmVlbkFuaW1hdGlvbihjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7CiAKIHByaXZhdGU6CiAgICAg
V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eShXZWJQYWdlUHJveHkqKTsKQEAgLTYzLDggKzg3LDEz
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdXBwb3J0c0Z1bGxTY3JlZW4oYm9vbCYpOwogICAgIHZv
aWQgZW50ZXJGdWxsU2NyZWVuKCk7CiAgICAgdm9pZCBleGl0RnVsbFNjcmVlbigpOworICAgIHZv
aWQgYmVnYW5FbnRlckZ1bGxTY3JlZW5BbmltYXRpb24oKTsKKyAgICB2b2lkIGZpbmlzaGVkRW50
ZXJGdWxsU2NyZWVuQW5pbWF0aW9uKGJvb2wgY29tcGxldGVkKTsKKyAgICB2b2lkIGJlZ2FuRXhp
dEZ1bGxTY3JlZW5BbmltYXRpb24oKTsKKyAgICB2b2lkIGZpbmlzaGVkRXhpdEZ1bGxTY3JlZW5B
bmltYXRpb24oYm9vbCBjb21wbGV0ZWQpOwogCiAgICAgV2ViUGFnZVByb3h5KiBtX3BhZ2U7Cisg
ICAgUGxhdGZvcm1XZWJWaWV3KiBtX3dlYlZpZXc7CiAKICAgICB2b2lkIGRpZFJlY2VpdmVXZWJG
dWxsU2NyZWVuTWFuYWdlclByb3h5TWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQ
Qzo6TWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqKTsKICAgICBDb3JlSVBDOjpT
eW5jUmVwbHlNb2RlIGRpZFJlY2VpdmVTeW5jV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eU1lc3Nh
Z2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJn
dW1lbnREZWNvZGVyKiBhcmd1bWVudHMsIENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciogcmVwbHkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5h
Z2VyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnVsbFNj
cmVlbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCBkZWMxMGQzNTdhYmQyZGFkOTE0OTYw
OWM5MTVmNTk0ODJlYWMxN2IzLi5hZTUxNTBmNjIyNmU0MGZlZDNlMTA4ZTE5MThhYjllYjc1Nzdl
NWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1h
bmFnZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
RnVsbFNjcmVlbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjUsNSArMjUsOSBAQCBtZXNz
YWdlcyAtPiBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5IHsKICAgICBTdXBwb3J0c0Z1bGxTY3Jl
ZW4oKSAtPiAoYm9vbCBzdXBwb3J0c0Z1bGxTY3JlZW4pCiAgICAgRW50ZXJGdWxsU2NyZWVuKCkK
ICAgICBFeGl0RnVsbFNjcmVlbigpCisgICAgQmVnYW5FbnRlckZ1bGxTY3JlZW5BbmltYXRpb24o
KQorICAgIEZpbmlzaGVkRW50ZXJGdWxsU2NyZWVuQW5pbWF0aW9uKGJvb2wgY29tcGxldGVkKQor
ICAgIEJlZ2FuRXhpdEZ1bGxTY3JlZW5BbmltYXRpb24oKQorICAgIEZpbmlzaGVkRXhpdEZ1bGxT
Y3JlZW5BbmltYXRpb24oYm9vbCBjb21wbGV0ZWQpCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMGEzOWU3YWI2MzhhZDgwYzJlYTUyNTFj
MmMzNWZmMWFiMThlNjZjNi4uMTE2MmI1OWNkM2Q1YjRhY2QxZWJiZTQ0YWQ2YTg3NTU2YjY1MmE0
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTUyLDYg
KzUyLDcgQEAKICNpbmNsdWRlICJXZWJFdmVudC5oIgogI2luY2x1ZGUgIldlYkZvcm1TdWJtaXNz
aW9uTGlzdGVuZXJQcm94eS5oIgogI2luY2x1ZGUgIldlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94
eS5oIgorI2luY2x1ZGUgIldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuaCIKICNpbmNsdWRlICJX
ZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUGFnZUNyZWF0
aW9uUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIldlYlBhZ2VHcm91cC5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGIxNjg5ODhhM2M0OTdlMWM3NDAwMmVjZjI3
MjY0ZDdjNTBiODg4YWUuLjdkMDg5NGYyNWI2OGUzMjY5MDgzMDgzYWVlOGExZDIzNDdhYmUxNGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTQyLDcgKzQyLDYg
QEAKICNpbmNsdWRlICJXZWJGaW5kT3B0aW9ucy5oIgogI2luY2x1ZGUgIldlYkZvcm1DbGllbnQu
aCIKICNpbmNsdWRlICJXZWJGcmFtZVByb3h5LmgiCi0jaW5jbHVkZSAiV2ViRnVsbFNjcmVlbk1h
bmFnZXJQcm94eS5oIgogI2luY2x1ZGUgIldlYkhpc3RvcnlDbGllbnQuaCIKICNpbmNsdWRlICJX
ZWJJbnNwZWN0b3JQcm94eS5oIgogI2luY2x1ZGUgIldlYkxvYWRlckNsaWVudC5oIgpAQCAtOTQs
NiArOTMsNyBAQCBjbGFzcyBXZWJCYWNrRm9yd2FyZExpc3RJdGVtOwogY2xhc3MgV2ViQ29udGV4
dE1lbnVQcm94eTsKIGNsYXNzIFdlYkRhdGE7CiBjbGFzcyBXZWJFZGl0Q29tbWFuZFByb3h5Owor
Y2xhc3MgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTsKIGNsYXNzIFdlYktleWJvYXJkRXZlbnQ7
CiBjbGFzcyBXZWJNb3VzZUV2ZW50OwogY2xhc3MgV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQ
cm94eTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViRnVsbFNj
cmVlbk1hbmFnZXJQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2Vi
RnVsbFNjcmVlbk1hbmFnZXJQcm94eU1hYy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mN2JmZGE4MDQ4ODJkNmZk
MDhiMjViYmRiOWNlNDQ3ZTVmZWZkYTk5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL21hYy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5TWFjLm1tCkBAIC0wLDAg
KzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2Vi
RnVsbFNjcmVlbk1hbmFnZXJQcm94eS5oIgorI2luY2x1ZGUgIldLRnVsbFNjcmVlbldpbmRvd0Nv
bnRyb2xsZXIuaCIKKyNpbmNsdWRlICJXS1ZpZXdJbnRlcm5hbC5oIgorCisjaWYgRU5BQkxFKEZV
TExTQ1JFRU5fQVBJKQorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBXZWJGdWxsU2NyZWVu
TWFuYWdlclByb3h5OjplbnRlckZ1bGxTY3JlZW4oKQoreworfQorCit2b2lkIFdlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHk6OmV4aXRGdWxsU2NyZWVuKCkKK3sKK30KKwordm9pZCBXZWJGdWxsU2Ny
ZWVuTWFuYWdlclByb3h5OjpiZWdhbkVudGVyRnVsbFNjcmVlbkFuaW1hdGlvbigpCit7Cit9CisK
K3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6ZmluaXNoZWRFbnRlckZ1bGxTY3JlZW5B
bmltYXRpb24oYm9vbCBjb21wbGV0ZWQpCit7Cit9CisKK3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFn
ZXJQcm94eTo6YmVnYW5FeGl0RnVsbFNjcmVlbkFuaW1hdGlvbigpCit7Cit9CisKK3ZvaWQgV2Vi
RnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6ZmluaXNoZWRFeGl0RnVsbFNjcmVlbkFuaW1hdGlvbihi
b29sIGNvbXBsZXRlZCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDlkODY4NTAwMjRkNGU5Y2YwNjczMDc1OTRmMjkwNmUyZWEyNWFlNDQuLjFkNDM2MDYxNTBh
OGNmOGE3Mjk0YjE1YzVjMTg3ZGEzMGFmMTM3MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTc0NSw2ICs3NDUsNyBAQAogCQlD
RDczQkE0RDEzMUFDRDhGMDBFRURFRDIgLyogV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eU1lc3Nh
Z2VzLmggaW4gQ29weUZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
NzNCQTRBMTMxQUNEOEYwMEVFREVEMiAvKiBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5TWVzc2Fn
ZXMuaCAqLzsgfTsKIAkJQ0Q3M0JBNEUxMzFBQ0RCNzAwRUVERUQyIC8qIFdlYkZ1bGxTY3JlZW5N
YW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENENzNCQTQ4MTMxQUNEOEUwMEVFREVEMiAvKiBXZWJGdWxsU2NyZWVu
TWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCUNENzNCQTUzMTMxQjY0NUIwMEVF
REVEMiAvKiBXZWJGdWxsU2NyZWVuTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDczQkEzNzEzMUEyOUZFMDBFRURFRDIgLyogV2ViRnVs
bFNjcmVlbk1hbmFnZXIuY3BwICovOyB9OworCQlDREQxRjQwMTEzMjc1MDE4MDAxMUEzNUQgLyog
V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eU1hYy5tbSBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0REMUY0MDAxMzI3NTAxODAwMTFBMzVEIC8qIFdlYkZ1
bGxTY3JlZW5NYW5hZ2VyUHJveHlNYWMubW0gKi87IH07CiAJCUQzQjk0ODQ2MTFGRjRCNjUwMDAz
MkIzOSAvKiBXZWJQb3B1cE1lbnUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRDNCOTQ4NDIxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5j
cHAgKi87IH07CiAJCUQzQjk0ODQ3MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQzQjk0ODQzMTFG
RjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuaCAqLzsgfTsKIAkJRDNCOTQ4NDgxMUZGNEI2
NTAwMDMyQjM5IC8qIFdlYlNlYXJjaFBvcHVwTWVudS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEM0I5NDg0NDExRkY0QjY1MDAwMzJCMzkgLyogV2Vi
U2VhcmNoUG9wdXBNZW51LmNwcCAqLzsgfTsKQEAgLTgyNSw2ICs4MjYsNyBAQAogCQkJCUNENzNC
QTQyMTMxQTJFOEIwMEVFREVEMiAvKiBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmggaW4gQ29w
eUZpbGVzICovLAogCQkJCUNENzNCQTRDMTMxQUNEOEYwMEVFREVEMiAvKiBXZWJGdWxsU2NyZWVu
TWFuYWdlck1lc3NhZ2VzLmggaW4gQ29weUZpbGVzICovLAogCQkJCUNENzNCQTREMTMxQUNEOEYw
MEVFREVEMiAvKiBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBDb3B5Rmls
ZXMgKi8sCisJCQkJQ0REMUY0MDExMzI3NTAxODAwMTFBMzVEIC8qIFdlYkZ1bGxTY3JlZW5NYW5h
Z2VyUHJveHlNYWMubW0gaW4gQ29weUZpbGVzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMTYwOCw2ICsxNjEwLDcgQEAKIAkJ
Q0Q3M0JBNDgxMzFBQ0Q4RTAwRUVERUQyIC8qIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyTWVzc2FnZVJl
Y2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkZ1bGxT
Y3JlZW5NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQ0Q3M0JBNDkxMzFBQ0Q4RTAwRUVERUQyIC8qIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyTWVz
c2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViRnVsbFNjcmVlbk1h
bmFnZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDczQkE0QTEz
MUFDRDhGMDBFRURFRDIgLyogV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eU1lc3NhZ2VzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHlN
ZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREQxRjQwMDEzMjc1MDE4
MDAxMUEzNUQgLyogV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eU1hYy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHlNYWMu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQzQjk0ODQyMTFGRjRCNjUwMDAzMkIz
OSAvKiBXZWJQb3B1cE1lbnUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2ViUG9wdXBNZW51LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDNCOTQ4
NDMxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXZWJQb3B1cE1lbnUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRDNCOTQ4NDQxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlNlYXJjaFBvcHVwTWVudS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJTZWFyY2hQb3B1cE1lbnUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjg0OCw2ICsyODUxLDcgQEAKIAkJQkND
RjA4NUMxMTNGM0I3NTAwQzY1MEM1IC8qIG1hYyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCisJCQkJQ0REMUY0MDAxMzI3NTAxODAwMTFBMzVEIC8qIFdlYkZ1bGxT
Y3JlZW5NYW5hZ2VyUHJveHlNYWMubW0gKi8sCiAJCQkJMUE2NDI5MkMxMkRFNUY5ODAwQ0FBRTJD
IC8qIEJhY2tpbmdTdG9yZU1hYy5tbSAqLywKIAkJCQlCQzI2NTFGNTExODI1RUY4MDAyNDNFMTIg
LyogQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHlNYWMubW0gKi8sCiAJCQkJMUFBNDE3RUQx
MkMwMEQ4NzAwMkJFNjdCIC8qIFRleHRDaGVja2VyTWFjLm1tICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFu
YWdlci5jcHAKaW5kZXggYjVjNzhhYmI4ZjIzNTQ2NTMzNGE4NWE5Y2QxOTczNWY4MmNjNmYxOS4u
ZGQ0NWZmNTAyODdiYWE4ODQxY2JlYTQ2ZTA4NzIzMWMwYWY4MTllNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVl
bk1hbmFnZXIuY3BwCkBAIC02MCw3ICs2MCw3IEBAIGJvb2wgV2ViRnVsbFNjcmVlbk1hbmFnZXI6
OnN1cHBvcnRzRnVsbFNjcmVlbigpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGJvb2wg
c3VwcG9ydHMgPSB0cnVlOwotICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rpb24oKS0+
c2VuZFN5bmMoTWVzc2FnZXM6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OlN1cHBvcnRzRnVs
bFNjcmVlbigpLCBzdXBwb3J0cywgMCk7CisgICAgbV9wYWdlLT5zZW5kU3luYyhNZXNzYWdlczo6
V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6U3VwcG9ydHNGdWxsU2NyZWVuKCksIHN1cHBvcnRz
LCAwLCBDb3JlSVBDOjpDb25uZWN0aW9uOjpOb1RpbWVvdXQpOwogICAgIHJldHVybiBzdXBwb3J0
czsKIH0KIApAQCAtNjgsMTQgKzY4LDM0IEBAIHZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXI6OmVu
dGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViQ29yZTo6RWxlbWVudCogZWxlbWVudCkKIHsKICAg
ICBBU1NFUlQoZWxlbWVudCk7CiAgICAgbV9lbGVtZW50ID0gZWxlbWVudDsKLSAgICBXZWJQcm9j
ZXNzOjpzaGFyZWQoKS5jb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYkZ1bGxTY3JlZW5N
YW5hZ2VyUHJveHk6OkVudGVyRnVsbFNjcmVlbigpLCAwKTsKKyAgICBtX3BhZ2UtPnNlbmQoTWVz
c2FnZXM6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OkVudGVyRnVsbFNjcmVlbigpKTsKIH0K
IAogdm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlcjo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdl
YkNvcmU6OkVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgQVNTRVJUKGVsZW1lbnQpOwogICAgIEFT
U0VSVChtX2VsZW1lbnQgPT0gZWxlbWVudCk7Ci0gICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29u
bmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpFeGl0
RnVsbFNjcmVlbigpLCAwKTsKKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHk6OkV4aXRGdWxsU2NyZWVuKCkpOworfQorCit2b2lkIFdlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyOjpiZWdhbkVudGVyRnVsbFNjcmVlbkFuaW1hdGlvbigpCit7CisgICAgbV9wYWdl
LT5zZW5kKE1lc3NhZ2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpCZWdhbkVudGVyRnVs
bFNjcmVlbkFuaW1hdGlvbigpKTsKK30KKwordm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlcjo6Zmlu
aXNoZWRFbnRlckZ1bGxTY3JlZW5BbmltYXRpb24oYm9vbCBjb21wbGV0ZWQpCit7CisgICAgbV9w
YWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpGaW5pc2hlZEVu
dGVyRnVsbFNjcmVlbkFuaW1hdGlvbihjb21wbGV0ZWQpKTsKK30KKwordm9pZCBXZWJGdWxsU2Ny
ZWVuTWFuYWdlcjo6YmVnYW5FeGl0RnVsbFNjcmVlbkFuaW1hdGlvbigpCit7CisgICAgbV9wYWdl
LT5zZW5kKE1lc3NhZ2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpCZWdhbkV4aXRGdWxs
U2NyZWVuQW5pbWF0aW9uKCkpOworfQorCit2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpmaW5p
c2hlZEV4aXRGdWxsU2NyZWVuQW5pbWF0aW9uKGJvb2wgY29tcGxldGVkKQoreworICAgIG1fcGFn
ZS0+c2VuZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6RmluaXNoZWRFeGl0
RnVsbFNjcmVlbkFuaW1hdGlvbihjb21wbGV0ZWQpKTsKIH0KIAogdm9pZCBXZWJGdWxsU2NyZWVu
TWFuYWdlcjo6d2lsbEVudGVyRnVsbFNjcmVlbigpCkBAIC0xMDIsNiArMTIyLDE4IEBAIHZvaWQg
V2ViRnVsbFNjcmVlbk1hbmFnZXI6OmRpZEV4aXRGdWxsU2NyZWVuKCkKICAgICBtX2VsZW1lbnQt
PmRvY3VtZW50KCktPndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChtX2VsZW1lbnQu
Z2V0KCkpOwogfQogCit2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpiZWdpbkVudGVyRnVsbFNj
cmVlbkFuaW1hdGlvbihjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBkZXN0aW5hdGlvbikKK3sKKyAg
ICBBU1NFUlQobV9lbGVtZW50KTsKKyAgICBtX2VsZW1lbnQtPmRvY3VtZW50KCktPmJlZ2luRW50
ZXJGdWxsU2NyZWVuQW5pbWF0aW9uKGRlc3RpbmF0aW9uKTsKK30KKwordm9pZCBXZWJGdWxsU2Ny
ZWVuTWFuYWdlcjo6YmVnaW5FeGl0RnVsbFNjcmVlbkFuaW1hdGlvbihjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiBkZXN0aW5hdGlvbikKK3sKKyAgICBBU1NFUlQobV9lbGVtZW50KTsKKyAgICBtX2Vs
ZW1lbnQtPmRvY3VtZW50KCktPmJlZ2luRXhpdEZ1bGxTY3JlZW5BbmltYXRpb24oZGVzdGluYXRp
b24pOworfQorCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5o
CmluZGV4IDRlZGFmZmEyNmJkZTY4YjQ0Y2I1YjFlNmVhZjVmMDJjNThkNzhhODQuLmQxMjk5ZDI3
ODhmMTk5ZWNkNzc5ZmFlZThlZGYzM2EyNzZlNDgwZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5o
CkBAIC0zOCw2ICszOCw3IEBAIGNsYXNzIE1lc3NhZ2VJRDsKIH0KIAogbmFtZXNwYWNlIFdlYkNv
cmUgeworY2xhc3MgSW50UmVjdDsKIGNsYXNzIEVsZW1lbnQ7CiB9CiAKQEAgLTU0LDYgKzU1LDEw
IEBAIHB1YmxpYzoKICAgICBib29sIHN1cHBvcnRzRnVsbFNjcmVlbigpOwogICAgIHZvaWQgZW50
ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJDb3JlOjpFbGVtZW50Kik7CiAgICAgdm9pZCBleGl0
RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViQ29yZTo6RWxlbWVudCopOworICAgIHZvaWQgYmVnYW5F
bnRlckZ1bGxTY3JlZW5BbmltYXRpb24oKTsKKyAgICB2b2lkIGZpbmlzaGVkRW50ZXJGdWxsU2Ny
ZWVuQW5pbWF0aW9uKGJvb2wgY29tcGxldGVkKTsKKyAgICB2b2lkIGJlZ2FuRXhpdEZ1bGxTY3Jl
ZW5BbmltYXRpb24oKTsKKyAgICB2b2lkIGZpbmlzaGVkRXhpdEZ1bGxTY3JlZW5BbmltYXRpb24o
Ym9vbCBjb21wbGV0ZWQpOwogCiAgICAgV2ViQ29yZTo6RWxlbWVudCogZWxlbWVudCgpIHsgcmV0
dXJuIG1fZWxlbWVudC5nZXQoKTsgfQogCkBAIC02NCw2ICs2OSw4IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBkaWRFbnRlckZ1bGxTY3JlZW4oKTsKICAgICB2b2lkIHdpbGxFeGl0RnVsbFNjcmVlbigp
OwogICAgIHZvaWQgZGlkRXhpdEZ1bGxTY3JlZW4oKTsKKyAgICB2b2lkIGJlZ2luRW50ZXJGdWxs
U2NyZWVuQW5pbWF0aW9uKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKKyAgICB2b2lkIGJlZ2lu
RXhpdEZ1bGxTY3JlZW5BbmltYXRpb24oY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwogCiAgICAg
dm9pZCBkaWRSZWNlaXZlV2ViRnVsbFNjcmVlbk1hbmFnZXJNZXNzYWdlKENvcmVJUEM6OkNvbm5l
Y3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciopOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVs
bFNjcmVlbk1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Z1
bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggZjg0MDgxYjA1
M2E4ZThkOTM4NjMyYmQ0ZjBkMjFkMDI3YmE5OTVlYi4uZDZiZjM5MzFjN2IxNWEzMTFkYTgwMGU4
YTMyNzI4YjIyNjkwZWM0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9G
dWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5tZXNzYWdl
cy5pbgpAQCAtMjYsNSArMjYsNyBAQCBtZXNzYWdlcyAtPiBXZWJGdWxsU2NyZWVuTWFuYWdlciB7
CiAgICAgRGlkRW50ZXJGdWxsU2NyZWVuKCkKICAgICBXaWxsRXhpdEZ1bGxTY3JlZW4oKQogICAg
IERpZEV4aXRGdWxsU2NyZWVuKCkKKyAgICBCZWdpbkVudGVyRnVsbFNjcmVlbkFuaW1hdGlvbihX
ZWJDb3JlOjpJbnRSZWN0IHJlY3QpCisgICAgQmVnaW5FeGl0RnVsbFNjcmVlbkFuaW1hdGlvbihX
ZWJDb3JlOjpJbnRSZWN0IHJlY3QpCiB9CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85143</attachid>
            <date>2011-03-09 01:12:11 -0800</date>
            <delta_ts>2011-03-11 10:42:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55993-20110309011210.patch</filename>
            <type>text/plain</type>
            <size>19761</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODA2MjMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAxN2ZiYTM5NDZjYmRmMjRi
NWQyZjg4NGQ4MmNjYTZmNjQyNWVjZjU5Li44NTlmNWEzNTNmY2Y3ODMzN2IwMDhlN2FjYWUzMjY5
M2Y1YzliYjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDMgQEAKIDIwMTEtMDMtMDggIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2ViS2l0MjogUGx1bWIgbmV3IGZ1bGwgc2NyZWVuIGFuaW1h
dGlvbiBBUElzIHRocm91Z2ggV2ViS2l0Mi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTU1OTkzCisKKyAgICAgICAgVGhlIG5ldyBBUElzIG5lZWQgdG8g
YmUgZnVubmVsZWQgdGhyb3VnaCBmcm9tIHRoZSBVSVByb2Nlc3MgdG8gdGhlIFdlYlByb2Nlc3Mg
CisgICAgICAgIGFuZCB2aWNlLXZlcnNhLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkZ1bGxT
Y3JlZW5NYW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFu
YWdlclByb3h5OjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5KTogQWRkZWQuCisgICAgICAgIChX
ZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmludmFsaWRhdGUpOiBDbGVhciBtX3dl
YlZpZXcuCisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OnNldFdl
YlZpZXcpOiBTZXQgbV93ZWJWaWV3LgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFu
YWdlclByb3h5OjpiZWdpbkVudGVyRnVsbFNjcmVlbkFuaW1hdGlvbik6IEFkZGVkLgorICAgICAg
ICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpiZWdpbkV4aXRGdWxsU2NyZWVu
QW5pbWF0aW9uKTogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5h
Z2VyUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94
eS5tZXNzYWdlcy5pbjogQWRkZWQgbmV3IG1lc3NhZ2UgZGVmaW5pdGlvbnMuCisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6IE1vdmVkIGluY2x1ZGUgb2YgV2ViRnVsbFNjcmVl
bk1hbmFnZXJQcm94eS5oIGludG8gc291cmNlIGZpbGUuCisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHlNYWMubW06IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2Ny
ZWVuTWFuYWdlclByb3h5OjpiZWdhbkVudGVyRnVsbFNjcmVlbkFuaW1hdGlvbik6IEFkZGVkLgor
ICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpmaW5pc2hlZEVudGVy
RnVsbFNjcmVlbkFuaW1hdGlvbik6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2Ny
ZWVuTWFuYWdlclByb3h5OjpiZWdhbkV4aXRGdWxsU2NyZWVuQW5pbWF0aW9uKTogQWRkZWQuCisg
ICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmZpbmlzaGVkRXhpdEZ1
bGxTY3JlZW5BbmltYXRpb24pOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0Z1bGxTY3Jl
ZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2Ny
ZWVuTWFuYWdlcjo6c3VwcG9ydHNGdWxsU2NyZWVuKTogUGFzcyBtZXNzYWdlIHRocm91Z2ggbV9w
YWdlLgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6ZW50ZXJGdWxsU2Ny
ZWVuRm9yRWxlbWVudCk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFu
YWdlcjo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6
OldlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpiZWdhbkVudGVyRnVsbFNjcmVlbkFuaW1hdGlvbik6IEFk
ZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6ZmluaXNoZWRFbnRl
ckZ1bGxTY3JlZW5BbmltYXRpb24pOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViRnVsbFNj
cmVlbk1hbmFnZXI6OmJlZ2FuRXhpdEZ1bGxTY3JlZW5BbmltYXRpb24pOiBBZGRlZC4KKyAgICAg
ICAgKFdlYktpdDo6V2ViRnVsbFNjcmVlbk1hbmFnZXI6OmZpbmlzaGVkRXhpdEZ1bGxTY3JlZW5B
bmltYXRpb24pOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViRnVsbFNjcmVlbk1hbmFnZXI6
OmJlZ2luRW50ZXJGdWxsU2NyZWVuQW5pbWF0aW9uKTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6
OldlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpiZWdpbkV4aXRGdWxsU2NyZWVuQW5pbWF0aW9uKTogQWRk
ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2Vy
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2Vy
Lm1lc3NhZ2VzLmluOiBBZGRlZCBuZXcgbWVzc2FnZSBkZWZpbml0aW9ucy4KKworMjAxMS0wMy0w
OCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKwogICAgICAgICBSZXZpZXdlZCBi
eSBTYW0gV2VpbmlnLgogCiAgICAgICAgIFdlYktpdDI6IFBsdW1iIHRocm91Z2ggdGhlIEZVTExT
Q1JFRU5fQVBJIENocm9tZSBjbGllbnQgY2FsbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmNwcAppbmRleCA2YThiNTdmNmZl
NmRhMzYwZjdmZjk5N2JlM2Y4MDU4NzJhZjdjMWYzLi5lM2Q4OWI5MTIwZGU4M2ZmNTkzYmY0NWQw
OWM2ZWU4ZTAzYWNjYjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
RnVsbFNjcmVlbk1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuY3BwCkBAIC00Miw2ICs0Miw3IEBAIFBhc3NSZWZQ
dHI8V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eT4gV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6
Y3JlYXRlKFdlYlBhZ2VQCiAKIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OldlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHkoV2ViUGFnZVByb3h5KiBwYWdlKQogICAgIDogbV9wYWdlKHBhZ2UpCisg
ICAgLCBtX3dlYlZpZXcoMCkKIHsKIH0KIApAQCAtNTEsNiArNTIsMTIgQEAgV2ViRnVsbFNjcmVl
bk1hbmFnZXJQcm94eTo6fldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkoKQogCiB2b2lkIFdlYkZ1
bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmludmFsaWRhdGUoKQogeworICAgIG1fd2ViVmlldyA9IDA7
Cit9CisKK3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6c2V0V2ViVmlldyhQbGF0Zm9y
bVdlYlZpZXcqIHdlYlZpZXcpCit7CisgICAgbV93ZWJWaWV3ID0gd2ViVmlldzsKIH0KIAogdm9p
ZCBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpD
b25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3JlSVBDOjpNZXNzYWdlSUQgbWVzc2FnZUlELCBDb3Jl
SVBDOjpBcmd1bWVudERlY29kZXIqIGFyZ3VtZW50cykKQEAgLTgzLDE3ICs5MCwxOSBAQCB2b2lk
IFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmRpZEV4aXRGdWxsU2NyZWVuKCkKICAgICBtX3Bh
Z2UtPnByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXI6OkRpZEV4
aXRGdWxsU2NyZWVuKCksIG1fcGFnZS0+cGFnZUlEKCkpOwogfQogCi12b2lkIFdlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHk6OnN1cHBvcnRzRnVsbFNjcmVlbihib29sJiBzdXBwb3J0cykKK3ZvaWQg
V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6YmVnaW5FbnRlckZ1bGxTY3JlZW5BbmltYXRpb24o
Y29uc3QgV2ViQ29yZTo6SW50UmVjdCYgcmVjdCkKIHsKLSAgICBzdXBwb3J0cyA9IHRydWU7Cisg
ICAgbV9wYWdlLT5wcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYkZ1bGxTY3JlZW5NYW5hZ2Vy
OjpCZWdpbkVudGVyRnVsbFNjcmVlbkFuaW1hdGlvbihyZWN0KSwgbV9wYWdlLT5wYWdlSUQoKSk7
CiB9CiAKLXZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6ZW50ZXJGdWxsU2NyZWVuKCkK
K3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6YmVnaW5FeGl0RnVsbFNjcmVlbkFuaW1h
dGlvbihjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiByZWN0KQogeworICAgIG1fcGFnZS0+cHJvY2Vz
cygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6QmVnaW5FeGl0RnVsbFNj
cmVlbkFuaW1hdGlvbihyZWN0KSwgbV9wYWdlLT5wYWdlSUQoKSk7CiB9CiAKLXZvaWQgV2ViRnVs
bFNjcmVlbk1hbmFnZXJQcm94eTo6ZXhpdEZ1bGxTY3JlZW4oKQordm9pZCBXZWJGdWxsU2NyZWVu
TWFuYWdlclByb3h5OjpzdXBwb3J0c0Z1bGxTY3JlZW4oYm9vbCYgc3VwcG9ydHMpCiB7CisgICAg
c3VwcG9ydHMgPSB0cnVlOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5oCmluZGV4
IDAxZDA5OGZkNTM4YWM3ZjAzOTgwMzZiYjc2ZGM1YTMyYmNiYjUwMmIuLjg5OThhYWRmOWQ2ODYx
OWExYTRjZWU1MzU1ZGZhZmQ4NDg2YWQxZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuaApAQCAtMzgsNyArMzgsMjcgQEAg
Y2xhc3MgQ29ubmVjdGlvbjsKIGNsYXNzIE1lc3NhZ2VJRDsKIH0KIAorbmFtZXNwYWNlIFdlYkNv
cmUgeworY2xhc3MgSW50UmVjdDsKK30KKworI2lmIFBMQVRGT1JNKE1BQykKK09CSkNfQ0xBU1Mg
V0tWaWV3OworI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJLaXQgeworICAgIAorI2lmIFBMQVRGT1JN
KE1BQykKK3R5cGVkZWYgV0tWaWV3IFBsYXRmb3JtV2ViVmlldzsKKyNlbGlmIFBMQVRGT1JNKFdJ
TikKK2NsYXNzIFdlYlZpZXc7Cit0eXBlZGVmIFdlYlZpZXcgUGxhdGZvcm1XZWJWaWV3OworI2Vs
aWYgUExBVEZPUk0oUVQpCit0eXBlZGVmIFFHcmFwaGljc1dLVmlldyBQbGF0Zm9ybVdlYlZpZXc7
CisjZWxpZiBQTEFURk9STShHVEspCitjbGFzcyBXZWJWaWV3OwordHlwZWRlZiBXZWJWaWV3IFBs
YXRmb3JtV2ViVmlldzsKKyNlbmRpZgogCiBjbGFzcyBXZWJQYWdlUHJveHk7CiAKQEAgLTQ5LDYg
KzY5LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBpbnZhbGlkYXRlKCk7CiAKKyAgICB2b2lkIHNl
dFdlYlZpZXcoUGxhdGZvcm1XZWJWaWV3Kik7CisKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdl
KENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3Vt
ZW50RGVjb2RlciopOwogICAgIENvcmVJUEM6OlN5bmNSZXBseU1vZGUgZGlkUmVjZWl2ZVN5bmNN
ZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6
OkFyZ3VtZW50RGVjb2RlciogYXJndW1lbnRzLCBDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIHJl
cGx5KTsKIApAQCAtNTYsNiArNzgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRFbnRlckZ1bGxT
Y3JlZW4oKTsKICAgICB2b2lkIHdpbGxFeGl0RnVsbFNjcmVlbigpOwogICAgIHZvaWQgZGlkRXhp
dEZ1bGxTY3JlZW4oKTsKKyAgICB2b2lkIGJlZ2luRW50ZXJGdWxsU2NyZWVuQW5pbWF0aW9uKGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmKTsKKyAgICB2b2lkIGJlZ2luRXhpdEZ1bGxTY3JlZW5Bbmlt
YXRpb24oY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwogCiBwcml2YXRlOgogICAgIFdlYkZ1bGxT
Y3JlZW5NYW5hZ2VyUHJveHkoV2ViUGFnZVByb3h5Kik7CkBAIC02Myw4ICs4NywxMyBAQCBwcml2
YXRlOgogICAgIHZvaWQgc3VwcG9ydHNGdWxsU2NyZWVuKGJvb2wmKTsKICAgICB2b2lkIGVudGVy
RnVsbFNjcmVlbigpOwogICAgIHZvaWQgZXhpdEZ1bGxTY3JlZW4oKTsKKyAgICB2b2lkIGJlZ2Fu
RW50ZXJGdWxsU2NyZWVuQW5pbWF0aW9uKCk7CisgICAgdm9pZCBmaW5pc2hlZEVudGVyRnVsbFNj
cmVlbkFuaW1hdGlvbihib29sIGNvbXBsZXRlZCk7CisgICAgdm9pZCBiZWdhbkV4aXRGdWxsU2Ny
ZWVuQW5pbWF0aW9uKCk7CisgICAgdm9pZCBmaW5pc2hlZEV4aXRGdWxsU2NyZWVuQW5pbWF0aW9u
KGJvb2wgY29tcGxldGVkKTsKIAogICAgIFdlYlBhZ2VQcm94eSogbV9wYWdlOworICAgIFBsYXRm
b3JtV2ViVmlldyogbV93ZWJWaWV3OwogCiAgICAgdm9pZCBkaWRSZWNlaXZlV2ViRnVsbFNjcmVl
bk1hbmFnZXJQcm94eU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3Nh
Z2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKik7CiAgICAgQ29yZUlQQzo6U3luY1JlcGx5
TW9kZSBkaWRSZWNlaXZlU3luY1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHlNZXNzYWdlKENvcmVJ
UEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVj
b2RlciogYXJndW1lbnRzLCBDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIHJlcGx5KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5h
Z2VyUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZGVjMTBkMzU3YWJkMmRhZDkxNDk2MDljOTE1ZjU5
NDgyZWFjMTdiMy4uYWU1MTUwZjYyMjZlNDBmZWQzZTEwOGUxOTE4YWI5ZWI3NTc3ZTVkZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJv
eHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KQEAgLTI1LDUgKzI1LDkgQEAgbWVzc2FnZXMgLT4g
V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eSB7CiAgICAgU3VwcG9ydHNGdWxsU2NyZWVuKCkgLT4g
KGJvb2wgc3VwcG9ydHNGdWxsU2NyZWVuKQogICAgIEVudGVyRnVsbFNjcmVlbigpCiAgICAgRXhp
dEZ1bGxTY3JlZW4oKQorICAgIEJlZ2FuRW50ZXJGdWxsU2NyZWVuQW5pbWF0aW9uKCkKKyAgICBG
aW5pc2hlZEVudGVyRnVsbFNjcmVlbkFuaW1hdGlvbihib29sIGNvbXBsZXRlZCkKKyAgICBCZWdh
bkV4aXRGdWxsU2NyZWVuQW5pbWF0aW9uKCkKKyAgICBGaW5pc2hlZEV4aXRGdWxsU2NyZWVuQW5p
bWF0aW9uKGJvb2wgY29tcGxldGVkKQogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDBhMzllN2FiNjM4YWQ4MGMyZWE1MjUxYzJjMzVmZjFh
YjE4ZTY2YzYuLjExNjJiNTljZDNkNWI0YWNkMWViYmU0NGFkNmE4NzU1NmI2NTJhNDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC01Miw2ICs1Miw3IEBA
CiAjaW5jbHVkZSAiV2ViRXZlbnQuaCIKICNpbmNsdWRlICJXZWJGb3JtU3VibWlzc2lvbkxpc3Rl
bmVyUHJveHkuaCIKICNpbmNsdWRlICJXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkuaCIKKyNp
bmNsdWRlICJXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmgiCiAjaW5jbHVkZSAiV2ViT3BlblBh
bmVsUmVzdWx0TGlzdGVuZXJQcm94eS5oIgogI2luY2x1ZGUgIldlYlBhZ2VDcmVhdGlvblBhcmFt
ZXRlcnMuaCIKICNpbmNsdWRlICJXZWJQYWdlR3JvdXAuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAppbmRleCBiMTY4OTg4YTNjNDk3ZTFjNzQwMDJlY2YyNzI2NGQ3YzUw
Yjg4OGFlLi43ZDA4OTRmMjViNjhlMzI2OTA4MzA4M2FlZThhMWQyMzQ3YWJlMTRjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC00Miw3ICs0Miw2IEBACiAjaW5j
bHVkZSAiV2ViRmluZE9wdGlvbnMuaCIKICNpbmNsdWRlICJXZWJGb3JtQ2xpZW50LmgiCiAjaW5j
bHVkZSAiV2ViRnJhbWVQcm94eS5oIgotI2luY2x1ZGUgIldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJv
eHkuaCIKICNpbmNsdWRlICJXZWJIaXN0b3J5Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVj
dG9yUHJveHkuaCIKICNpbmNsdWRlICJXZWJMb2FkZXJDbGllbnQuaCIKQEAgLTk0LDYgKzkzLDcg
QEAgY2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0SXRlbTsKIGNsYXNzIFdlYkNvbnRleHRNZW51UHJv
eHk7CiBjbGFzcyBXZWJEYXRhOwogY2xhc3MgV2ViRWRpdENvbW1hbmRQcm94eTsKK2NsYXNzIFdl
YkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk7CiBjbGFzcyBXZWJLZXlib2FyZEV2ZW50OwogY2xhc3Mg
V2ViTW91c2VFdmVudDsKIGNsYXNzIFdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkZ1bGxTY3JlZW5NYW5h
Z2VyUHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHlNYWMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzI4MTc2NTE5OTIyYTljN2IzNzM2N2Ew
ZWQ1MDk2NDM0MjBkZjhiMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9tYWMvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eU1hYy5tbQpAQCAtMCwwICsxLDU5IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHkuaCIKKworI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6ZW50ZXJGdWxs
U2NyZWVuKCkKK3sKK30KKwordm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpleGl0RnVs
bFNjcmVlbigpCit7Cit9CisKK3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6YmVnYW5F
bnRlckZ1bGxTY3JlZW5BbmltYXRpb24oKQoreworfQorCit2b2lkIFdlYkZ1bGxTY3JlZW5NYW5h
Z2VyUHJveHk6OmZpbmlzaGVkRW50ZXJGdWxsU2NyZWVuQW5pbWF0aW9uKGJvb2wgY29tcGxldGVk
KQoreworfQorCit2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmJlZ2FuRXhpdEZ1bGxT
Y3JlZW5BbmltYXRpb24oKQoreworfQorCit2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6
OmZpbmlzaGVkRXhpdEZ1bGxTY3JlZW5BbmltYXRpb24oYm9vbCBjb21wbGV0ZWQpCit7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dl
YktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5ZDg2ODUwMDI0ZDRlOWNmMDY3
MzA3NTk0ZjI5MDZlMmVhMjVhZTQ0Li40MWJkYTZjMDMyNjQwMTE0YzFiNzdiMzI0ODM5ZTM0ZTQy
MWI2ZjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC03MzgsNiArNzM4LDcgQEAKIAkJQzU3NEEzNzcxMkU2MDk5RDAwMkRGRTk4
IC8qIFdlYkRyYWdDbGllbnRNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDNTU0RkZBMjEyRTRFOEVBMDAyRjIyQzAgLyogV2ViRHJhZ0NsaWVudE1h
Yy5tbSAqLzsgfTsKIAkJQzU3NEE1ODExMkU2NjY4MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBl
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzU3NEE1
N0YxMkU2NjY4MTAwMkRGRTk4IC8qIFBhc3RlYm9hcmRUeXBlcy5oICovOyB9OwogCQlDNTc0QTU4
MjEyRTY2NjgxMDAyREZFOTggLyogUGFzdGVib2FyZFR5cGVzLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzU3NEE1ODAxMkU2NjY4MTAwMkRGRTk4IC8q
IFBhc3RlYm9hcmRUeXBlcy5tbSAqLzsgfTsKKwkJQ0Q2NzVFRTExMzI3NzMwNDAwNEFDRjM0IC8q
IFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHlNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY3NUVERjEzMjc3MkZCMDA0QUNGMzQgLyogV2ViRnVs
bFNjcmVlbk1hbmFnZXJQcm94eU1hYy5tbSAqLzsgfTsKIAkJQ0Q2Rjc1RjQxMzFCNjZEMDAwRDZC
MjFFIC8qIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q3M0JBM0UxMzFBMkU4QTAwRUVERUQyIC8qIFdl
YkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuY3BwICovOyB9OwogCQlDRDczQkE0MjEzMUEyRThCMDBF
RURFRDIgLyogV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5oIGluIENvcHlGaWxlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDczQkEzRjEzMUEyRThBMDBFRURFRDIgLyog
V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5oICovOyB9OwogCQlDRDczQkE0NzEzMUFDQzlBMDBF
RURFRDIgLyogV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDczQkE0NTEzMUFD
Qzg4MDBFRURFRDIgLyogV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHAgKi87IH07CkBAIC0xNTk4LDYgKzE1OTksNyBAQAogCQlDNTU0RkZBMjEyRTRFOEVBMDAyRjIy
QzAgLyogV2ViRHJhZ0NsaWVudE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFdlYkRyYWdDbGllbnRNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUM1NzRBNTdGMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFzdGVib2FyZFR5cGVzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUM1NzRBNTgwMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJk
VHlwZXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQYXN0ZWJv
YXJkVHlwZXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNENjc1RURGMTMyNzcy
RkIwMDRBQ0YzNCAvKiBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5TWFjLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eU1h
Yy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q3M0JBMzcxMzFBMjlGRTAwRUVE
RUQyIC8qIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IFdlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcDsgcGF0aCA9IEZ1bGxTY3JlZW4v
V2ViRnVsbFNjcmVlbk1hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
RDczQkEzODEzMUEyOUZFMDBFRURFRDIgLyogV2ViRnVsbFNjcmVlbk1hbmFnZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViRnVsbFNjcmVlbk1hbmFnZXIuaDsgcGF0aCA9
IEZ1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0Q3M0JBMzkxMzFBMjlGRTAwRUVERUQyIC8qIFdlYkZ1bGxTY3JlZW5NYW5hZ2Vy
Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IFdlYkZ1bGxTY3JlZW5NYW5hZ2Vy
Lm1lc3NhZ2VzLmluOyBwYXRoID0gRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5tZXNz
YWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI4NDgsNiArMjg1MCw3IEBA
CiAJCUJDQ0YwODVDMTEzRjNCNzUwMEM2NTBDNSAvKiBtYWMgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUNENjc1RURGMTMyNzcyRkIwMDRBQ0YzNCAvKiBX
ZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5TWFjLm1tICovLAogCQkJCTFBNjQyOTJDMTJERTVGOTgw
MENBQUUyQyAvKiBCYWNraW5nU3RvcmVNYWMubW0gKi8sCiAJCQkJQkMyNjUxRjUxMTgyNUVGODAw
MjQzRTEyIC8qIENodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5TWFjLm1tICovLAogCQkJCTFB
QTQxN0VEMTJDMDBEODcwMDJCRTY3QiAvKiBUZXh0Q2hlY2tlck1hYy5tbSAqLywKQEAgLTQwMTgs
NiArNDAyMSw3IEBACiAJCQkJQ0Q3M0JBNEUxMzFBQ0RCNzAwRUVERUQyIC8qIFdlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNENzNCQTUz
MTMxQjY0NUIwMEVFREVEMiAvKiBXZWJGdWxsU2NyZWVuTWFuYWdlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlDRDZGNzVGNDEzMUI2NkQwMDBENkIyMUUgLyogV2ViRnVsbFNjcmVlbk1hbmFnZXJQ
cm94eS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDRDY3NUVFMTEzMjc3MzA0MDA0QUNGMzQgLyog
V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5h
Z2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2Ny
ZWVuTWFuYWdlci5jcHAKaW5kZXggYjVjNzhhYmI4ZjIzNTQ2NTMzNGE4NWE5Y2QxOTczNWY4MmNj
NmYxOS4uZGQ0NWZmNTAyODdiYWE4ODQxY2JlYTQ2ZTA4NzIzMWMwYWY4MTllNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5h
Z2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVs
bFNjcmVlbk1hbmFnZXIuY3BwCkBAIC02MCw3ICs2MCw3IEBAIGJvb2wgV2ViRnVsbFNjcmVlbk1h
bmFnZXI6OnN1cHBvcnRzRnVsbFNjcmVlbigpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAg
IGJvb2wgc3VwcG9ydHMgPSB0cnVlOwotICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rp
b24oKS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OlN1cHBv
cnRzRnVsbFNjcmVlbigpLCBzdXBwb3J0cywgMCk7CisgICAgbV9wYWdlLT5zZW5kU3luYyhNZXNz
YWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6U3VwcG9ydHNGdWxsU2NyZWVuKCksIHN1
cHBvcnRzLCAwLCBDb3JlSVBDOjpDb25uZWN0aW9uOjpOb1RpbWVvdXQpOwogICAgIHJldHVybiBz
dXBwb3J0czsKIH0KIApAQCAtNjgsMTQgKzY4LDM0IEBAIHZvaWQgV2ViRnVsbFNjcmVlbk1hbmFn
ZXI6OmVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViQ29yZTo6RWxlbWVudCogZWxlbWVudCkK
IHsKICAgICBBU1NFUlQoZWxlbWVudCk7CiAgICAgbV9lbGVtZW50ID0gZWxlbWVudDsKLSAgICBX
ZWJQcm9jZXNzOjpzaGFyZWQoKS5jb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYkZ1bGxT
Y3JlZW5NYW5hZ2VyUHJveHk6OkVudGVyRnVsbFNjcmVlbigpLCAwKTsKKyAgICBtX3BhZ2UtPnNl
bmQoTWVzc2FnZXM6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OkVudGVyRnVsbFNjcmVlbigp
KTsKIH0KIAogdm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlcjo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVt
ZW50KFdlYkNvcmU6OkVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgQVNTRVJUKGVsZW1lbnQpOwog
ICAgIEFTU0VSVChtX2VsZW1lbnQgPT0gZWxlbWVudCk7Ci0gICAgV2ViUHJvY2Vzczo6c2hhcmVk
KCkuY29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5
OjpFeGl0RnVsbFNjcmVlbigpLCAwKTsKKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYkZ1
bGxTY3JlZW5NYW5hZ2VyUHJveHk6OkV4aXRGdWxsU2NyZWVuKCkpOworfQorCit2b2lkIFdlYkZ1
bGxTY3JlZW5NYW5hZ2VyOjpiZWdhbkVudGVyRnVsbFNjcmVlbkFuaW1hdGlvbigpCit7CisgICAg
bV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpCZWdhbkVu
dGVyRnVsbFNjcmVlbkFuaW1hdGlvbigpKTsKK30KKwordm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdl
cjo6ZmluaXNoZWRFbnRlckZ1bGxTY3JlZW5BbmltYXRpb24oYm9vbCBjb21wbGV0ZWQpCit7Cisg
ICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpGaW5p
c2hlZEVudGVyRnVsbFNjcmVlbkFuaW1hdGlvbihjb21wbGV0ZWQpKTsKK30KKwordm9pZCBXZWJG
dWxsU2NyZWVuTWFuYWdlcjo6YmVnYW5FeGl0RnVsbFNjcmVlbkFuaW1hdGlvbigpCit7CisgICAg
bV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpCZWdhbkV4
aXRGdWxsU2NyZWVuQW5pbWF0aW9uKCkpOworfQorCit2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2Vy
OjpmaW5pc2hlZEV4aXRGdWxsU2NyZWVuQW5pbWF0aW9uKGJvb2wgY29tcGxldGVkKQoreworICAg
IG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6RmluaXNo
ZWRFeGl0RnVsbFNjcmVlbkFuaW1hdGlvbihjb21wbGV0ZWQpKTsKIH0KIAogdm9pZCBXZWJGdWxs
U2NyZWVuTWFuYWdlcjo6d2lsbEVudGVyRnVsbFNjcmVlbigpCkBAIC0xMDIsNiArMTIyLDE4IEBA
IHZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXI6OmRpZEV4aXRGdWxsU2NyZWVuKCkKICAgICBtX2Vs
ZW1lbnQtPmRvY3VtZW50KCktPndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChtX2Vs
ZW1lbnQuZ2V0KCkpOwogfQogCit2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpiZWdpbkVudGVy
RnVsbFNjcmVlbkFuaW1hdGlvbihjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBkZXN0aW5hdGlvbikK
K3sKKyAgICBBU1NFUlQobV9lbGVtZW50KTsKKyAgICBtX2VsZW1lbnQtPmRvY3VtZW50KCktPmJl
Z2luRW50ZXJGdWxsU2NyZWVuQW5pbWF0aW9uKGRlc3RpbmF0aW9uKTsKK30KKwordm9pZCBXZWJG
dWxsU2NyZWVuTWFuYWdlcjo6YmVnaW5FeGl0RnVsbFNjcmVlbkFuaW1hdGlvbihjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JiBkZXN0aW5hdGlvbikKK3sKKyAgICBBU1NFUlQobV9lbGVtZW50KTsKKyAg
ICBtX2VsZW1lbnQtPmRvY3VtZW50KCktPmJlZ2luRXhpdEZ1bGxTY3JlZW5BbmltYXRpb24oZGVz
dGluYXRpb24pOworfQorCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIu
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFu
YWdlci5oCmluZGV4IDRlZGFmZmEyNmJkZTY4YjQ0Y2I1YjFlNmVhZjVmMDJjNThkNzhhODQuLmQx
Mjk5ZDI3ODhmMTk5ZWNkNzc5ZmFlZThlZGYzM2EyNzZlNDgwZDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFu
YWdlci5oCkBAIC0zOCw2ICszOCw3IEBAIGNsYXNzIE1lc3NhZ2VJRDsKIH0KIAogbmFtZXNwYWNl
IFdlYkNvcmUgeworY2xhc3MgSW50UmVjdDsKIGNsYXNzIEVsZW1lbnQ7CiB9CiAKQEAgLTU0LDYg
KzU1LDEwIEBAIHB1YmxpYzoKICAgICBib29sIHN1cHBvcnRzRnVsbFNjcmVlbigpOwogICAgIHZv
aWQgZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJDb3JlOjpFbGVtZW50Kik7CiAgICAgdm9p
ZCBleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViQ29yZTo6RWxlbWVudCopOworICAgIHZvaWQg
YmVnYW5FbnRlckZ1bGxTY3JlZW5BbmltYXRpb24oKTsKKyAgICB2b2lkIGZpbmlzaGVkRW50ZXJG
dWxsU2NyZWVuQW5pbWF0aW9uKGJvb2wgY29tcGxldGVkKTsKKyAgICB2b2lkIGJlZ2FuRXhpdEZ1
bGxTY3JlZW5BbmltYXRpb24oKTsKKyAgICB2b2lkIGZpbmlzaGVkRXhpdEZ1bGxTY3JlZW5Bbmlt
YXRpb24oYm9vbCBjb21wbGV0ZWQpOwogCiAgICAgV2ViQ29yZTo6RWxlbWVudCogZWxlbWVudCgp
IHsgcmV0dXJuIG1fZWxlbWVudC5nZXQoKTsgfQogCkBAIC02NCw2ICs2OSw4IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBkaWRFbnRlckZ1bGxTY3JlZW4oKTsKICAgICB2b2lkIHdpbGxFeGl0RnVsbFNj
cmVlbigpOwogICAgIHZvaWQgZGlkRXhpdEZ1bGxTY3JlZW4oKTsKKyAgICB2b2lkIGJlZ2luRW50
ZXJGdWxsU2NyZWVuQW5pbWF0aW9uKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKKyAgICB2b2lk
IGJlZ2luRXhpdEZ1bGxTY3JlZW5BbmltYXRpb24oY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwog
CiAgICAgdm9pZCBkaWRSZWNlaXZlV2ViRnVsbFNjcmVlbk1hbmFnZXJNZXNzYWdlKENvcmVJUEM6
OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2Rl
ciopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Z1bGxTY3JlZW4v
V2ViRnVsbFNjcmVlbk1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggZjg0
MDgxYjA1M2E4ZThkOTM4NjMyYmQ0ZjBkMjFkMDI3YmE5OTVlYi4uZDZiZjM5MzFjN2IxNWEzMTFk
YTgwMGU4YTMyNzI4YjIyNjkwZWM0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5t
ZXNzYWdlcy5pbgpAQCAtMjYsNSArMjYsNyBAQCBtZXNzYWdlcyAtPiBXZWJGdWxsU2NyZWVuTWFu
YWdlciB7CiAgICAgRGlkRW50ZXJGdWxsU2NyZWVuKCkKICAgICBXaWxsRXhpdEZ1bGxTY3JlZW4o
KQogICAgIERpZEV4aXRGdWxsU2NyZWVuKCkKKyAgICBCZWdpbkVudGVyRnVsbFNjcmVlbkFuaW1h
dGlvbihXZWJDb3JlOjpJbnRSZWN0IHJlY3QpCisgICAgQmVnaW5FeGl0RnVsbFNjcmVlbkFuaW1h
dGlvbihXZWJDb3JlOjpJbnRSZWN0IHJlY3QpCiB9CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85491</attachid>
            <date>2011-03-11 10:42:37 -0800</date>
            <delta_ts>2011-03-11 11:45:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55993-20110311104236.patch</filename>
            <type>text/plain</type>
            <size>19765</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODA2MjcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1Y2ZmYmRmZjBjODI2ODg1
NDUwYzVmZDIwYThkNjU1YTljY2VmZjdmLi5kOGNlMzM3ZDliMjFmYzMyM2M3MjRhNWI1MzA2OGQ0
Y2JjMWIxMmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDMtMTEgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQ3JlYXRlIG5ldyBpbnRlcmZhY2Ugc3R1YnMgdG8gc3VwcG9y
dCBmdWxsIHNjcmVlbiBtb2RlIGluIFdlYktpdDIuCisKKyAgICAgICAgV2ViS2l0MjogUGx1bWIg
bmV3IGZ1bGwgc2NyZWVuIGFuaW1hdGlvbiBBUElzIHRocm91Z2ggV2ViS2l0Mi4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1OTkzCisKKyAgICAgICAg
KiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50Ojpz
ZXRSb290RnVsbFNjcmVlbkxheWVyKTogQWRkZWQuCisKIDIwMTEtMDMtMDggIElseWEgVGlraG9u
b3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVs
IEZlbGRtYW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCA2NjNhZTgyOTIyZTY4
ZDMyOWZkZjM4YTc2MDk4ZTRjYWJhMThjODZmLi4yN2UwYTVjMThhODU1MTZjNTMxYTIwZWRjOGE0
ZDliNDRjYjNhODk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTQ5LDYgKzQ5
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZsb2F0UmVjdDsKICAgICBjbGFz
cyBGcmFtZTsKICAgICBjbGFzcyBHZW9sb2NhdGlvbjsKKyAgICBjbGFzcyBHcmFwaGljc0xheWVy
OwogICAgIGNsYXNzIEhpdFRlc3RSZXN1bHQ7CiAgICAgY2xhc3MgSW50UmVjdDsKICAgICBjbGFz
cyBOYXZpZ2F0aW9uQWN0aW9uOwpAQCAtMjY3LDYgKzI2OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdmlydHVhbCB2b2lkIGVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVu
dCopIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVs
ZW1lbnQqKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIGZ1bGxTY3JlZW5SZW5kZXJlckNoYW5n
ZWQoUmVuZGVyQm94KikgeyB9CisgICAgICAgIHZpcnR1YWwgdm9pZCBzZXRSb290RnVsbFNjcmVl
bkxheWVyKEdyYXBoaWNzTGF5ZXIqKSB7IH0KICNlbmRpZgogICAgICAgICAKICNpZiBFTkFCTEUo
VElMRURfQkFDS0lOR19TVE9SRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAxN2ZiYTM5NDZjYmRmMjRiNWQyZjg4
NGQ4MmNjYTZmNjQyNWVjZjU5Li5iZmZhN2I2ZmY2YmE2NTFhOGQ0N2MxMWU2ZjQ1ZmY2YmUyMDZh
Mjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDggQEAKKzIwMTEtMDMtMTEgIEplciBOb2JsZSAg
PGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQ3JlYXRlIG5ldyBpbnRlcmZhY2Ugc3R1YnMgdG8gc3VwcG9ydCBmdWxs
IHNjcmVlbiBtb2RlIGluIFdlYktpdDIuCisKKyAgICAgICAgV2ViS2l0MjogUGx1bWIgbmV3IGZ1
bGwgc2NyZWVuIGFuaW1hdGlvbiBBUElzIHRocm91Z2ggV2ViS2l0Mi4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1OTkzCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkpOiBBZGRl
ZC4KKyAgICAgICAgKFdlYktpdDo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6aW52YWxpZGF0
ZSk6IENsZWFyIG1fd2ViVmlldy4KKyAgICAgICAgKFdlYktpdDo6V2ViRnVsbFNjcmVlbk1hbmFn
ZXJQcm94eTo6c2V0V2ViVmlldyk6IFNldCBtX3dlYlZpZXcuCisgICAgICAgIChXZWJLaXQ6Oldl
YkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmJlZ2luRW50ZXJGdWxsU2NyZWVuQW5pbWF0aW9uKTog
QWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmJlZ2lu
RXhpdEZ1bGxTY3JlZW5BbmltYXRpb24pOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViRnVs
bFNjcmVlbk1hbmFnZXJQcm94eTo6YmVnYW5FbnRlckZ1bGxTY3JlZW5BbmltYXRpb24pOiBBZGRl
ZCBzdHViLgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpmaW5p
c2hlZEVudGVyRnVsbFNjcmVlbkFuaW1hdGlvbik6IEFkZGVkIHN0dWIuCisgICAgICAgIChXZWJL
aXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmJlZ2FuRXhpdEZ1bGxTY3JlZW5BbmltYXRp
b24pOiBBZGRlZCBzdHViLgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlclBy
b3h5OjpmaW5pc2hlZEV4aXRGdWxsU2NyZWVuQW5pbWF0aW9uKTogQWRkZWQgc3R1Yi4KKyAgICAg
ICAgKFdlYktpdDo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6ZW50ZXJBY2NlbGVyYXRlZENv
bXBvc2l0aW5nTW9kZSk6IEFkZGVkIHN0dWIuCisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHk6OmV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSk6IEFkZGVkIHN0
dWIuCisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmdldEZ1bGxT
Y3JlZW5SZWN0KTogQWRkZWQgc3R1Yi4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnVsbFNjcmVl
bk1hbmFnZXJQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdl
clByb3h5Lm1lc3NhZ2VzLmluOiBBZGRlZCBuZXcgbWVzc2FnZSBkZWZpbml0aW9ucy4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDogTW92ZWQgaW5jbHVkZSBvZiBXZWJGdWxs
U2NyZWVuTWFuYWdlclByb3h5LmggaW50byBzb3VyY2UgZmlsZS4KKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6IERpdHRvLgorICAgICAgICAqIFdlYlByb2Nlc3MvRnVsbFNjcmVl
bi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyOjplbGVtZW50KTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyOjpzdXBwb3J0c0Z1bGxTY3JlZW4pOiBTZW5kIG1lc3NhZ2UgdGhyb3VnaCBXZWJQ
YWdlLgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6ZW50ZXJGdWxsU2Ny
ZWVuRm9yRWxlbWVudCk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFu
YWdlcjo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6
OldlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpiZWdhbkVudGVyRnVsbFNjcmVlbkFuaW1hdGlvbik6IEFk
ZGVkLi4KKyAgICAgICAgKFdlYktpdDo6V2ViRnVsbFNjcmVlbk1hbmFnZXI6OmZpbmlzaGVkRW50
ZXJGdWxsU2NyZWVuQW5pbWF0aW9uKTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxT
Y3JlZW5NYW5hZ2VyOjpiZWdhbkV4aXRGdWxsU2NyZWVuQW5pbWF0aW9uKTogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpmaW5pc2hlZEV4aXRGdWxsU2NyZWVu
QW5pbWF0aW9uKTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2Vy
OjpzZXRSb290RnVsbFNjcmVlbkxheWVyKTogQWRkZWQgc3R1Yi4KKyAgICAgICAgKFdlYktpdDo6
V2ViRnVsbFNjcmVlbk1hbmFnZXI6OmdldEZ1bGxTY3JlZW5SZWN0KTogQWRkZWQuCisgICAgICAg
IChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpiZWdpbkVudGVyRnVsbFNjcmVlbkFuaW1h
dGlvbik6IEFkZGVkIHN0dWIuCisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2Vy
OjpiZWdpbkV4aXRGdWxsU2NyZWVuQW5pbWF0aW9uKTogQWRkZWQgc3R1Yi4KKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIubWVzc2FnZXMuaW46IEFk
ZGVkIG5ldyBtZXNzYWdlIGRlZmluaXRpb25zLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21l
Q2xpZW50OjpzZXRSb290RnVsbFNjcmVlbkxheWVyKTogQWRkZWQuCisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKwogMjAxMS0wMy0wOCAgSmVy
IE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0g
V2VpbmlnLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHkuY3BwCmluZGV4IDZhOGI1N2Y2ZmU2ZGEzNjBmN2ZmOTk3YmUzZjgwNTg3
MmFmN2MxZjMuLmY3MGZhOWYxNmFhMzIwMjAzNmExOTQ4MjQ5NmFjZGNkNzUyY2VmZjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQ
cm94eS5jcHAKQEAgLTQyLDYgKzQyLDcgQEAgUGFzc1JlZlB0cjxXZWJGdWxsU2NyZWVuTWFuYWdl
clByb3h5PiBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpjcmVhdGUoV2ViUGFnZVAKIAogV2Vi
RnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eShXZWJQYWdl
UHJveHkqIHBhZ2UpCiAgICAgOiBtX3BhZ2UocGFnZSkKKyAgICAsIG1fd2ViVmlldygwKQogewog
fQogCkBAIC01MSw2ICs1MiwxMiBAQCBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5Ojp+V2ViRnVs
bFNjcmVlbk1hbmFnZXJQcm94eSgpCiAKIHZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6
aW52YWxpZGF0ZSgpCiB7CisgICAgbV93ZWJWaWV3ID0gMDsKK30KKwordm9pZCBXZWJGdWxsU2Ny
ZWVuTWFuYWdlclByb3h5OjpzZXRXZWJWaWV3KFBsYXRmb3JtV2ViVmlldyogd2ViVmlldykKK3sK
KyAgICBtX3dlYlZpZXcgPSB3ZWJWaWV3OwogfQogCiB2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2Vy
UHJveHk6OmRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24s
IENvcmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2Rlciog
YXJndW1lbnRzKQpAQCAtODMsNiArOTAsMTYgQEAgdm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlclBy
b3h5OjpkaWRFeGl0RnVsbFNjcmVlbigpCiAgICAgbV9wYWdlLT5wcm9jZXNzKCktPnNlbmQoTWVz
c2FnZXM6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpEaWRFeGl0RnVsbFNjcmVlbigpLCBtX3BhZ2Ut
PnBhZ2VJRCgpKTsKIH0KIAordm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpiZWdpbkVu
dGVyRnVsbFNjcmVlbkFuaW1hdGlvbihmbG9hdCBkdXJhdGlvbikKK3sKKyAgICBtX3BhZ2UtPnBy
b2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXI6OkJlZ2luRW50ZXJG
dWxsU2NyZWVuQW5pbWF0aW9uKGR1cmF0aW9uKSwgbV9wYWdlLT5wYWdlSUQoKSk7Cit9CisKK3Zv
aWQgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6YmVnaW5FeGl0RnVsbFNjcmVlbkFuaW1hdGlv
bihmbG9hdCBkdXJhdGlvbikKK3sKKyAgICBtX3BhZ2UtPnByb2Nlc3MoKS0+c2VuZChNZXNzYWdl
czo6V2ViRnVsbFNjcmVlbk1hbmFnZXI6OkJlZ2luRXhpdEZ1bGxTY3JlZW5BbmltYXRpb24oZHVy
YXRpb24pLCBtX3BhZ2UtPnBhZ2VJRCgpKTsKK30KKwogdm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdl
clByb3h5OjpzdXBwb3J0c0Z1bGxTY3JlZW4oYm9vbCYgc3VwcG9ydHMpCiB7CiAgICAgc3VwcG9y
dHMgPSB0cnVlOwpAQCAtOTYsNiArMTEzLDM0IEBAIHZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXJQ
cm94eTo6ZXhpdEZ1bGxTY3JlZW4oKQogewogfQogCit2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2Vy
UHJveHk6OmJlZ2FuRW50ZXJGdWxsU2NyZWVuQW5pbWF0aW9uKCkKK3sKK30KKwordm9pZCBXZWJG
dWxsU2NyZWVuTWFuYWdlclByb3h5OjpmaW5pc2hlZEVudGVyRnVsbFNjcmVlbkFuaW1hdGlvbihi
b29sIGNvbXBsZXRlZCkKK3sKK30KKwordm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5Ojpi
ZWdhbkV4aXRGdWxsU2NyZWVuQW5pbWF0aW9uKCkKK3sKK30KKwordm9pZCBXZWJGdWxsU2NyZWVu
TWFuYWdlclByb3h5OjpmaW5pc2hlZEV4aXRGdWxsU2NyZWVuQW5pbWF0aW9uKGJvb2wgY29tcGxl
dGVkKQoreworfQorICAgIAordm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjplbnRlckFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKGNvbnN0IExheWVyVHJlZUNvbnRleHQmIGNvbnRleHQp
Cit7Cit9CisKK3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6ZXhpdEFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdNb2RlKCkKK3sKK30KKwordm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5
OjpnZXRGdWxsU2NyZWVuUmVjdChXZWJDb3JlOjpJbnRSZWN0JiByZWN0KQorfQoreworCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94
eS5oCmluZGV4IDAxZDA5OGZkNTM4YWM3ZjAzOTgwMzZiYjc2ZGM1YTMyYmNiYjUwMmIuLjgxZTkz
M2ZmNDM0ZTg5ODhmMGY3NzZmODNjMjFjMTMyZmNkOWU3Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuaApAQCAtMzgsOSAr
MzgsMzAgQEAgY2xhc3MgQ29ubmVjdGlvbjsKIGNsYXNzIE1lc3NhZ2VJRDsKIH0KIAorbmFtZXNw
YWNlIFdlYkNvcmUgeworY2xhc3MgSW50UmVjdDsKK30KKworI2lmIFBMQVRGT1JNKE1BQykKK09C
SkNfQ0xBU1MgV0tWaWV3OworI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJLaXQgeworICAgIAorI2lm
IFBMQVRGT1JNKE1BQykKK3R5cGVkZWYgV0tWaWV3IFBsYXRmb3JtV2ViVmlldzsKKyNlbGlmIFBM
QVRGT1JNKFdJTikKK2NsYXNzIFdlYlZpZXc7Cit0eXBlZGVmIFdlYlZpZXcgUGxhdGZvcm1XZWJW
aWV3OworI2VsaWYgUExBVEZPUk0oUVQpCit0eXBlZGVmIFFHcmFwaGljc1dLVmlldyBQbGF0Zm9y
bVdlYlZpZXc7CisjZWxpZiBQTEFURk9STShHVEspCitjbGFzcyBXZWJWaWV3OwordHlwZWRlZiBX
ZWJWaWV3IFBsYXRmb3JtV2ViVmlldzsKKyNlbmRpZgogCiBjbGFzcyBXZWJQYWdlUHJveHk7Citj
bGFzcyBMYXllclRyZWVDb250ZXh0OwogCiBjbGFzcyBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5
IDogcHVibGljIFJlZkNvdW50ZWQ8V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eT4gewogcHVibGlj
OgpAQCAtNDksNiArNzAsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGludmFsaWRhdGUoKTsKIAor
ICAgIHZvaWQgc2V0V2ViVmlldyhQbGF0Zm9ybVdlYlZpZXcqKTsKKwogICAgIHZvaWQgZGlkUmVj
ZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29y
ZUlQQzo6QXJndW1lbnREZWNvZGVyKik7CiAgICAgQ29yZUlQQzo6U3luY1JlcGx5TW9kZSBkaWRS
ZWNlaXZlU3luY01lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJ
RCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBhcmd1bWVudHMsIENvcmVJUEM6OkFyZ3VtZW50
RW5jb2RlciogcmVwbHkpOwogCkBAIC01Niw2ICs3OSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRp
ZEVudGVyRnVsbFNjcmVlbigpOwogICAgIHZvaWQgd2lsbEV4aXRGdWxsU2NyZWVuKCk7CiAgICAg
dm9pZCBkaWRFeGl0RnVsbFNjcmVlbigpOworICAgIHZvaWQgYmVnaW5FbnRlckZ1bGxTY3JlZW5B
bmltYXRpb24oZmxvYXQgZHVyYXRpb24pOworICAgIHZvaWQgYmVnaW5FeGl0RnVsbFNjcmVlbkFu
aW1hdGlvbihmbG9hdCBkdXJhdGlvbik7CiAKIHByaXZhdGU6CiAgICAgV2ViRnVsbFNjcmVlbk1h
bmFnZXJQcm94eShXZWJQYWdlUHJveHkqKTsKQEAgLTYzLDggKzg4LDE2IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBzdXBwb3J0c0Z1bGxTY3JlZW4oYm9vbCYpOwogICAgIHZvaWQgZW50ZXJGdWxsU2Ny
ZWVuKCk7CiAgICAgdm9pZCBleGl0RnVsbFNjcmVlbigpOworICAgIHZvaWQgYmVnYW5FbnRlckZ1
bGxTY3JlZW5BbmltYXRpb24oKTsKKyAgICB2b2lkIGZpbmlzaGVkRW50ZXJGdWxsU2NyZWVuQW5p
bWF0aW9uKGJvb2wgY29tcGxldGVkKTsKKyAgICB2b2lkIGJlZ2FuRXhpdEZ1bGxTY3JlZW5Bbmlt
YXRpb24oKTsKKyAgICB2b2lkIGZpbmlzaGVkRXhpdEZ1bGxTY3JlZW5BbmltYXRpb24oYm9vbCBj
b21wbGV0ZWQpOworICAgIHZvaWQgZW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShjb25z
dCBMYXllclRyZWVDb250ZXh0Jik7CisgICAgdm9pZCBleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z01vZGUoKTsKKyAgICB2b2lkIGdldEZ1bGxTY3JlZW5SZWN0KFdlYkNvcmU6OkludFJlY3QmKTsK
IAogICAgIFdlYlBhZ2VQcm94eSogbV9wYWdlOworICAgIFBsYXRmb3JtV2ViVmlldyogbV93ZWJW
aWV3OwogCiAgICAgdm9pZCBkaWRSZWNlaXZlV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eU1lc3Nh
Z2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJn
dW1lbnREZWNvZGVyKik7CiAgICAgQ29yZUlQQzo6U3luY1JlcGx5TW9kZSBkaWRSZWNlaXZlU3lu
Y1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHlNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBD
b3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogYXJndW1lbnRzLCBD
b3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIHJlcGx5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMu
aW4KaW5kZXggZGVjMTBkMzU3YWJkMmRhZDkxNDk2MDljOTE1ZjU5NDgyZWFjMTdiMy4uODllYzdk
ZTQ1YjkzYTM1ZWUwNGIzYzQ2OTFmZGIyMzU3YzE0Y2IyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkubWVz
c2FnZXMuaW4KQEAgLTI1LDUgKzI1LDE0IEBAIG1lc3NhZ2VzIC0+IFdlYkZ1bGxTY3JlZW5NYW5h
Z2VyUHJveHkgewogICAgIFN1cHBvcnRzRnVsbFNjcmVlbigpIC0+IChib29sIHN1cHBvcnRzRnVs
bFNjcmVlbikKICAgICBFbnRlckZ1bGxTY3JlZW4oKQogICAgIEV4aXRGdWxsU2NyZWVuKCkKKyAg
ICBCZWdhbkVudGVyRnVsbFNjcmVlbkFuaW1hdGlvbigpCisgICAgRmluaXNoZWRFbnRlckZ1bGxT
Y3JlZW5BbmltYXRpb24oYm9vbCBjb21wbGV0ZWQpCisgICAgQmVnYW5FeGl0RnVsbFNjcmVlbkFu
aW1hdGlvbigpCisgICAgRmluaXNoZWRFeGl0RnVsbFNjcmVlbkFuaW1hdGlvbihib29sIGNvbXBs
ZXRlZCkKKyAgICBHZXRGdWxsU2NyZWVuUmVjdCgpIC0+IChXZWJDb3JlOjpJbnRSZWN0IHJlY3Qp
CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorICAgIEVudGVyQWNjZWxlcmF0ZWRD
b21wb3NpdGluZ01vZGUoV2ViS2l0OjpMYXllclRyZWVDb250ZXh0IGNvbnRleHQpCisgICAgRXhp
dEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCkKKyNlbmRpZgogfQogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDBhMzllN2FiNjM4YWQ4MGMy
ZWE1MjUxYzJjMzVmZjFhYjE4ZTY2YzYuLjExNjJiNTljZDNkNWI0YWNkMWViYmU0NGFkNmE4NzU1
NmI2NTJhNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBA
IC01Miw2ICs1Miw3IEBACiAjaW5jbHVkZSAiV2ViRXZlbnQuaCIKICNpbmNsdWRlICJXZWJGb3Jt
U3VibWlzc2lvbkxpc3RlbmVyUHJveHkuaCIKICNpbmNsdWRlICJXZWJGcmFtZVBvbGljeUxpc3Rl
bmVyUHJveHkuaCIKKyNpbmNsdWRlICJXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmgiCiAjaW5j
bHVkZSAiV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eS5oIgogI2luY2x1ZGUgIldlYlBh
Z2VDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJXZWJQYWdlR3JvdXAuaCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBiMTY4OTg4YTNjNDk3ZTFjNzQw
MDJlY2YyNzI2NGQ3YzUwYjg4OGFlLi43ZDA4OTRmMjViNjhlMzI2OTA4MzA4M2FlZThhMWQyMzQ3
YWJlMTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC00Miw3
ICs0Miw2IEBACiAjaW5jbHVkZSAiV2ViRmluZE9wdGlvbnMuaCIKICNpbmNsdWRlICJXZWJGb3Jt
Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVQcm94eS5oIgotI2luY2x1ZGUgIldlYkZ1bGxT
Y3JlZW5NYW5hZ2VyUHJveHkuaCIKICNpbmNsdWRlICJXZWJIaXN0b3J5Q2xpZW50LmgiCiAjaW5j
bHVkZSAiV2ViSW5zcGVjdG9yUHJveHkuaCIKICNpbmNsdWRlICJXZWJMb2FkZXJDbGllbnQuaCIK
QEAgLTk0LDYgKzkzLDcgQEAgY2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0SXRlbTsKIGNsYXNzIFdl
YkNvbnRleHRNZW51UHJveHk7CiBjbGFzcyBXZWJEYXRhOwogY2xhc3MgV2ViRWRpdENvbW1hbmRQ
cm94eTsKK2NsYXNzIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk7CiBjbGFzcyBXZWJLZXlib2Fy
ZEV2ZW50OwogY2xhc3MgV2ViTW91c2VFdmVudDsKIGNsYXNzIFdlYk9wZW5QYW5lbFJlc3VsdExp
c3RlbmVyUHJveHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Z1bGxT
Y3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcAppbmRleCBiNWM3OGFiYjhmMjM1
NDY1MzM0YTg1YTljZDE5NzM1ZjgyY2M2ZjE5Li5kNTJiMjI1YmE0YWVkY2UxNjAxN2YyNTk3YzJk
Y2ZmNWJkMjFkODJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Z1bGxT
Y3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHAKQEAgLTI5LDYgKzI5LDcg
QEAKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJNZXNzYWdlSUQuaCIKKyNp
bmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJGdWxsU2NyZWVu
TWFuYWdlclByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQYWdlLmgiCiAjaW5jbHVkZSAi
V2ViUHJvY2Vzcy5oIgpAQCAtNDksNiArNTAsMTEgQEAgV2ViRnVsbFNjcmVlbk1hbmFnZXI6Oldl
YkZ1bGxTY3JlZW5NYW5hZ2VyKFdlYlBhZ2UqIHBhZ2UpCiB7CiB9CiAKK1dlYkNvcmU6OkVsZW1l
bnQqIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyOjplbGVtZW50KCkgCit7IAorICAgIHJldHVybiBtX2Vs
ZW1lbnQuZ2V0KCk7IAorfQorCiB2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpkaWRSZWNlaXZl
TWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3JlSVBDOjpNZXNzYWdl
SUQgbWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGFyZ3VtZW50cykKIHsKICAg
ICBkaWRSZWNlaXZlV2ViRnVsbFNjcmVlbk1hbmFnZXJNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3Nh
Z2VJRCwgYXJndW1lbnRzKTsKQEAgLTYwLDcgKzY2LDcgQEAgYm9vbCBXZWJGdWxsU2NyZWVuTWFu
YWdlcjo6c3VwcG9ydHNGdWxsU2NyZWVuKCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAg
Ym9vbCBzdXBwb3J0cyA9IHRydWU7Ci0gICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29ubmVjdGlv
bigpLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6U3VwcG9y
dHNGdWxsU2NyZWVuKCksIHN1cHBvcnRzLCAwKTsKKyAgICBtX3BhZ2UtPnNlbmRTeW5jKE1lc3Nh
Z2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpTdXBwb3J0c0Z1bGxTY3JlZW4oKSwgc3Vw
cG9ydHMsIDAsIENvcmVJUEM6OkNvbm5lY3Rpb246Ok5vVGltZW91dCk7CiAgICAgcmV0dXJuIHN1
cHBvcnRzOwogfQogCkBAIC02OCwxNCArNzQsNDQgQEAgdm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdl
cjo6ZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJDb3JlOjpFbGVtZW50KiBlbGVtZW50KQog
ewogICAgIEFTU0VSVChlbGVtZW50KTsKICAgICBtX2VsZW1lbnQgPSBlbGVtZW50OwotICAgIFdl
YlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViRnVsbFNj
cmVlbk1hbmFnZXJQcm94eTo6RW50ZXJGdWxsU2NyZWVuKCksIDApOworICAgIG1faW5pdGlhbEZy
YW1lID0gbV9lbGVtZW50LT5zY3JlZW5SZWN0KCk7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2Vz
OjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpFbnRlckZ1bGxTY3JlZW4oKSk7CiB9CiAKIHZv
aWQgV2ViRnVsbFNjcmVlbk1hbmFnZXI6OmV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJDb3Jl
OjpFbGVtZW50KiBlbGVtZW50KQogewotICAgIEFTU0VSVChlbGVtZW50KTsKLSAgICBBU1NFUlQo
bV9lbGVtZW50ID09IGVsZW1lbnQpOwotICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rp
b24oKS0+c2VuZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6RXhpdEZ1bGxT
Y3JlZW4oKSwgMCk7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJGdWxsU2NyZWVuTWFu
YWdlclByb3h5OjpFeGl0RnVsbFNjcmVlbigpKTsKK30KKwordm9pZCBXZWJGdWxsU2NyZWVuTWFu
YWdlcjo6YmVnYW5FbnRlckZ1bGxTY3JlZW5BbmltYXRpb24oKQoreworICAgIG1fcGFnZS0+c2Vu
ZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6QmVnYW5FbnRlckZ1bGxTY3Jl
ZW5BbmltYXRpb24oKSk7Cit9CisKK3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXI6OmZpbmlzaGVk
RW50ZXJGdWxsU2NyZWVuQW5pbWF0aW9uKGJvb2wgY29tcGxldGVkKQoreworICAgIG1fcGFnZS0+
c2VuZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6RmluaXNoZWRFbnRlckZ1
bGxTY3JlZW5BbmltYXRpb24oY29tcGxldGVkKSk7Cit9CisKK3ZvaWQgV2ViRnVsbFNjcmVlbk1h
bmFnZXI6OmJlZ2FuRXhpdEZ1bGxTY3JlZW5BbmltYXRpb24oKQoreworICAgIG1fcGFnZS0+c2Vu
ZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6QmVnYW5FeGl0RnVsbFNjcmVl
bkFuaW1hdGlvbigpKTsKK30KKwordm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlcjo6ZmluaXNoZWRF
eGl0RnVsbFNjcmVlbkFuaW1hdGlvbihib29sIGNvbXBsZXRlZCkKK3sKKyAgICBtX3BhZ2UtPnNl
bmQoTWVzc2FnZXM6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OkZpbmlzaGVkRXhpdEZ1bGxT
Y3JlZW5BbmltYXRpb24oY29tcGxldGVkKSk7Cit9CisKK3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFn
ZXI6OnNldFJvb3RGdWxsU2NyZWVuTGF5ZXIoV2ViQ29yZTo6R3JhcGhpY3NMYXllciogbGF5ZXIp
Cit7Cit9CisgICAgCitJbnRSZWN0IFdlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpnZXRGdWxsU2NyZWVu
UmVjdCgpCit7CisgICAgSW50UmVjdCByZWN0OworICAgIG1fcGFnZS0+c2VuZFN5bmMoTWVzc2Fn
ZXM6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OkdldEZ1bGxTY3JlZW5SZWN0KCksIE1lc3Nh
Z2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpHZXRGdWxsU2NyZWVuUmVjdDo6UmVwbHko
cmVjdCkpOworICAgIHJldHVybiByZWN0OwogfQogCiB2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2Vy
Ojp3aWxsRW50ZXJGdWxsU2NyZWVuKCkKQEAgLTEwMiw2ICsxMzgsMTMgQEAgdm9pZCBXZWJGdWxs
U2NyZWVuTWFuYWdlcjo6ZGlkRXhpdEZ1bGxTY3JlZW4oKQogICAgIG1fZWxlbWVudC0+ZG9jdW1l
bnQoKS0+d2Via2l0RGlkRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KG1fZWxlbWVudC5nZXQoKSk7
CiB9CiAKK3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXI6OmJlZ2luRW50ZXJGdWxsU2NyZWVuQW5p
bWF0aW9uKGZsb2F0IGR1cmF0aW9uKQoreworfQorCit2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2Vy
OjpiZWdpbkV4aXRGdWxsU2NyZWVuQW5pbWF0aW9uKGZsb2F0IGR1cmF0aW9uKQoreworfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuaAppbmRleCA0ZWRhZmZh
MjZiZGU2OGI0NGNiNWIxZTZlYWY1ZjAyYzU4ZDc4YTg0Li4xYzhlMDA0NTdmMjIxMWZkYjU3Y2Y3
MjUxZDIwYTc2OTkwYzQwYWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuaApAQCAtMjcsOSArMjcs
OSBAQAogCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogCi0jaW5jbHVkZSAiQ29ubmVjdGlv
bi5oIgotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKIGNs
YXNzIEFyZ3VtZW50RGVjb2RlcjsKQEAgLTM4LDcgKzM4LDkgQEAgY2xhc3MgTWVzc2FnZUlEOwog
fQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBJbnRSZWN0OwogY2xhc3MgRWxlbWVudDsK
K2NsYXNzIEdyYXBoaWNzTGF5ZXI7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDgsMjUg
KzUwLDM1IEBAIGNsYXNzIFdlYlBhZ2U7CiBjbGFzcyBXZWJGdWxsU2NyZWVuTWFuYWdlciA6IHB1
YmxpYyBSZWZDb3VudGVkPFdlYkZ1bGxTY3JlZW5NYW5hZ2VyPiB7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8V2ViRnVsbFNjcmVlbk1hbmFnZXI+IGNyZWF0ZShXZWJQYWdlKik7Cisg
ICAgdmlydHVhbCB+V2ViRnVsbFNjcmVlbk1hbmFnZXIoKTsKIAogICAgIHZvaWQgZGlkUmVjZWl2
ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQ
Qzo6QXJndW1lbnREZWNvZGVyKik7CiAKICAgICBib29sIHN1cHBvcnRzRnVsbFNjcmVlbigpOwog
ICAgIHZvaWQgZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJDb3JlOjpFbGVtZW50Kik7CiAg
ICAgdm9pZCBleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViQ29yZTo6RWxlbWVudCopOworICAg
IHZvaWQgYmVnYW5FbnRlckZ1bGxTY3JlZW5BbmltYXRpb24oKTsKKyAgICB2b2lkIGZpbmlzaGVk
RW50ZXJGdWxsU2NyZWVuQW5pbWF0aW9uKGJvb2wgY29tcGxldGVkKTsKKyAgICB2b2lkIGJlZ2Fu
RXhpdEZ1bGxTY3JlZW5BbmltYXRpb24oKTsKKyAgICB2b2lkIGZpbmlzaGVkRXhpdEZ1bGxTY3Jl
ZW5BbmltYXRpb24oYm9vbCBjb21wbGV0ZWQpOworICAgIHZvaWQgc2V0Um9vdEZ1bGxTY3JlZW5M
YXllcihXZWJDb3JlOjpHcmFwaGljc0xheWVyKik7CiAKLSAgICBXZWJDb3JlOjpFbGVtZW50KiBl
bGVtZW50KCkgeyByZXR1cm4gbV9lbGVtZW50LmdldCgpOyB9CisgICAgV2ViQ29yZTo6RWxlbWVu
dCogZWxlbWVudCgpOwogCi1wcml2YXRlOgorcHJvdGVjdGVkOgogICAgIFdlYkZ1bGxTY3JlZW5N
YW5hZ2VyKFdlYlBhZ2UqKTsKIAogICAgIHZvaWQgd2lsbEVudGVyRnVsbFNjcmVlbigpOwogICAg
IHZvaWQgZGlkRW50ZXJGdWxsU2NyZWVuKCk7CiAgICAgdm9pZCB3aWxsRXhpdEZ1bGxTY3JlZW4o
KTsKICAgICB2b2lkIGRpZEV4aXRGdWxsU2NyZWVuKCk7CisgICAgdm9pZCBiZWdpbkVudGVyRnVs
bFNjcmVlbkFuaW1hdGlvbihmbG9hdCBkdXJhdGlvbik7CisgICAgdm9pZCBiZWdpbkV4aXRGdWxs
U2NyZWVuQW5pbWF0aW9uKGZsb2F0IGR1cmF0aW9uKTsKKyAgICBXZWJDb3JlOjpJbnRSZWN0IGdl
dEZ1bGxTY3JlZW5SZWN0KCk7CiAKICAgICB2b2lkIGRpZFJlY2VpdmVXZWJGdWxsU2NyZWVuTWFu
YWdlck1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29y
ZUlQQzo6QXJndW1lbnREZWNvZGVyKik7CiAKKyAgICBXZWJDb3JlOjpJbnRSZWN0IG1faW5pdGlh
bEZyYW1lOwogICAgIFJlZlB0cjxXZWJQYWdlPiBtX3BhZ2U7CiAgICAgUmVmUHRyPFdlYkNvcmU6
OkVsZW1lbnQ+IG1fZWxlbWVudDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIubWVz
c2FnZXMuaW4KaW5kZXggZjg0MDgxYjA1M2E4ZThkOTM4NjMyYmQ0ZjBkMjFkMDI3YmE5OTVlYi4u
ZDUzZjlkNTdlNWRkZTUzM2E2OTA2MWUzOWVjZjA3NzczYzc4YzljMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJG
dWxsU2NyZWVuTWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMjYsNSArMjYsNyBAQCBtZXNzYWdlcyAt
PiBXZWJGdWxsU2NyZWVuTWFuYWdlciB7CiAgICAgRGlkRW50ZXJGdWxsU2NyZWVuKCkKICAgICBX
aWxsRXhpdEZ1bGxTY3JlZW4oKQogICAgIERpZEV4aXRGdWxsU2NyZWVuKCkKKyAgICBCZWdpbkVu
dGVyRnVsbFNjcmVlbkFuaW1hdGlvbihmbG9hdCBkdXJhdGlvbikKKyAgICBCZWdpbkV4aXRGdWxs
U2NyZWVuQW5pbWF0aW9uKGZsb2F0IGR1cmF0aW9uKQogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5jcHAKaW5kZXggYWM0ZDlmZTRlY2U2NWNhZjk0YzRlMzM1ZTExOTMxYTA1NDY0ZWU1MC4u
ZDRmMTg1NDM5ZDY3YmFiYzg4OTk4OTkyYzFjZTBhOGMyYjE2ODE5MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcApAQCAtNzIwLDYgKzcyMCwxMiBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6ZXhp
dEZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdlYkNvcmU6OkVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAg
bV9wYWdlLT5mdWxsU2NyZWVuTWFuYWdlcigpLT5leGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoZWxl
bWVudCk7CiB9CisgICAgCit2b2lkIFdlYkNocm9tZUNsaWVudDo6c2V0Um9vdEZ1bGxTY3JlZW5M
YXllcihHcmFwaGljc0xheWVyKiBsYXllcikKK3sKKyAgICBtX3BhZ2UtPmZ1bGxTY3JlZW5NYW5h
Z2VyKCktPnNldFJvb3RGdWxsU2NyZWVuTGF5ZXIobGF5ZXIpOworfQorCiAjZW5kaWYKIAogdm9p
ZCBXZWJDaHJvbWVDbGllbnQ6OmRpc3BhdGNoVmlld3BvcnREYXRhRGlkQ2hhbmdlKGNvbnN0IFZp
ZXdwb3J0QXJndW1lbnRzJiBhcmdzKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggNDNk
NjM3Y2Y4ZWQ0MGE0N2EzZjExMzNkN2RjN2IwNTYyNTgxZDk0ZC4uNmZlM2RiZjk1MjdkMDEyMjFm
OTA4YjJiM2U4OWFmODMyZTY4ZjgzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0yMDksNiAr
MjA5LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNGdWxsU2NyZWVuRm9y
RWxlbWVudChjb25zdCBXZWJDb3JlOjpFbGVtZW50Kik7CiAgICAgdmlydHVhbCB2b2lkIGVudGVy
RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViQ29yZTo6RWxlbWVudCopOwogICAgIHZpcnR1YWwgdm9p
ZCBleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViQ29yZTo6RWxlbWVudCopOworICAgIHZpcnR1
YWwgdm9pZCBzZXRSb290RnVsbFNjcmVlbkxheWVyKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqKTsK
ICNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoVmlld3BvcnREYXRhRGlkQ2hhbmdl
KGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzJikgY29uc3Q7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85504</attachid>
            <date>2011-03-11 11:45:45 -0800</date>
            <delta_ts>2011-03-11 17:09:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55993-20110311114545.patch</filename>
            <type>text/plain</type>
            <size>19474</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODA2MjcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1Y2ZmYmRmZjBjODI2ODg1
NDUwYzVmZDIwYThkNjU1YTljY2VmZjdmLi5kOGNlMzM3ZDliMjFmYzMyM2M3MjRhNWI1MzA2OGQ0
Y2JjMWIxMmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDMtMTEgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQ3JlYXRlIG5ldyBpbnRlcmZhY2Ugc3R1YnMgdG8gc3VwcG9y
dCBmdWxsIHNjcmVlbiBtb2RlIGluIFdlYktpdDIuCisKKyAgICAgICAgV2ViS2l0MjogUGx1bWIg
bmV3IGZ1bGwgc2NyZWVuIGFuaW1hdGlvbiBBUElzIHRocm91Z2ggV2ViS2l0Mi4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1OTkzCisKKyAgICAgICAg
KiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50Ojpz
ZXRSb290RnVsbFNjcmVlbkxheWVyKTogQWRkZWQuCisKIDIwMTEtMDMtMDggIElseWEgVGlraG9u
b3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVs
IEZlbGRtYW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCA2NjNhZTgyOTIyZTY4
ZDMyOWZkZjM4YTc2MDk4ZTRjYWJhMThjODZmLi4yN2UwYTVjMThhODU1MTZjNTMxYTIwZWRjOGE0
ZDliNDRjYjNhODk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTQ5LDYgKzQ5
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZsb2F0UmVjdDsKICAgICBjbGFz
cyBGcmFtZTsKICAgICBjbGFzcyBHZW9sb2NhdGlvbjsKKyAgICBjbGFzcyBHcmFwaGljc0xheWVy
OwogICAgIGNsYXNzIEhpdFRlc3RSZXN1bHQ7CiAgICAgY2xhc3MgSW50UmVjdDsKICAgICBjbGFz
cyBOYXZpZ2F0aW9uQWN0aW9uOwpAQCAtMjY3LDYgKzI2OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdmlydHVhbCB2b2lkIGVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVu
dCopIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVs
ZW1lbnQqKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIGZ1bGxTY3JlZW5SZW5kZXJlckNoYW5n
ZWQoUmVuZGVyQm94KikgeyB9CisgICAgICAgIHZpcnR1YWwgdm9pZCBzZXRSb290RnVsbFNjcmVl
bkxheWVyKEdyYXBoaWNzTGF5ZXIqKSB7IH0KICNlbmRpZgogICAgICAgICAKICNpZiBFTkFCTEUo
VElMRURfQkFDS0lOR19TVE9SRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAxN2ZiYTM5NDZjYmRmMjRiNWQyZjg4
NGQ4MmNjYTZmNjQyNWVjZjU5Li5iZmZhN2I2ZmY2YmE2NTFhOGQ0N2MxMWU2ZjQ1ZmY2YmUyMDZh
Mjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDggQEAKKzIwMTEtMDMtMTEgIEplciBOb2JsZSAg
PGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQ3JlYXRlIG5ldyBpbnRlcmZhY2Ugc3R1YnMgdG8gc3VwcG9ydCBmdWxs
IHNjcmVlbiBtb2RlIGluIFdlYktpdDIuCisKKyAgICAgICAgV2ViS2l0MjogUGx1bWIgbmV3IGZ1
bGwgc2NyZWVuIGFuaW1hdGlvbiBBUElzIHRocm91Z2ggV2ViS2l0Mi4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1OTkzCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkpOiBBZGRl
ZC4KKyAgICAgICAgKFdlYktpdDo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6aW52YWxpZGF0
ZSk6IENsZWFyIG1fd2ViVmlldy4KKyAgICAgICAgKFdlYktpdDo6V2ViRnVsbFNjcmVlbk1hbmFn
ZXJQcm94eTo6c2V0V2ViVmlldyk6IFNldCBtX3dlYlZpZXcuCisgICAgICAgIChXZWJLaXQ6Oldl
YkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmJlZ2luRW50ZXJGdWxsU2NyZWVuQW5pbWF0aW9uKTog
QWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmJlZ2lu
RXhpdEZ1bGxTY3JlZW5BbmltYXRpb24pOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViRnVs
bFNjcmVlbk1hbmFnZXJQcm94eTo6YmVnYW5FbnRlckZ1bGxTY3JlZW5BbmltYXRpb24pOiBBZGRl
ZCBzdHViLgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpmaW5p
c2hlZEVudGVyRnVsbFNjcmVlbkFuaW1hdGlvbik6IEFkZGVkIHN0dWIuCisgICAgICAgIChXZWJL
aXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmJlZ2FuRXhpdEZ1bGxTY3JlZW5BbmltYXRp
b24pOiBBZGRlZCBzdHViLgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlclBy
b3h5OjpmaW5pc2hlZEV4aXRGdWxsU2NyZWVuQW5pbWF0aW9uKTogQWRkZWQgc3R1Yi4KKyAgICAg
ICAgKFdlYktpdDo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6ZW50ZXJBY2NlbGVyYXRlZENv
bXBvc2l0aW5nTW9kZSk6IEFkZGVkIHN0dWIuCisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHk6OmV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSk6IEFkZGVkIHN0
dWIuCisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmdldEZ1bGxT
Y3JlZW5SZWN0KTogQWRkZWQgc3R1Yi4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnVsbFNjcmVl
bk1hbmFnZXJQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdl
clByb3h5Lm1lc3NhZ2VzLmluOiBBZGRlZCBuZXcgbWVzc2FnZSBkZWZpbml0aW9ucy4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDogTW92ZWQgaW5jbHVkZSBvZiBXZWJGdWxs
U2NyZWVuTWFuYWdlclByb3h5LmggaW50byBzb3VyY2UgZmlsZS4KKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6IERpdHRvLgorICAgICAgICAqIFdlYlByb2Nlc3MvRnVsbFNjcmVl
bi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyOjplbGVtZW50KTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyOjpzdXBwb3J0c0Z1bGxTY3JlZW4pOiBTZW5kIG1lc3NhZ2UgdGhyb3VnaCBXZWJQ
YWdlLgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6ZW50ZXJGdWxsU2Ny
ZWVuRm9yRWxlbWVudCk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFu
YWdlcjo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6
OldlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpiZWdhbkVudGVyRnVsbFNjcmVlbkFuaW1hdGlvbik6IEFk
ZGVkLi4KKyAgICAgICAgKFdlYktpdDo6V2ViRnVsbFNjcmVlbk1hbmFnZXI6OmZpbmlzaGVkRW50
ZXJGdWxsU2NyZWVuQW5pbWF0aW9uKTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxT
Y3JlZW5NYW5hZ2VyOjpiZWdhbkV4aXRGdWxsU2NyZWVuQW5pbWF0aW9uKTogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpmaW5pc2hlZEV4aXRGdWxsU2NyZWVu
QW5pbWF0aW9uKTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2Vy
OjpzZXRSb290RnVsbFNjcmVlbkxheWVyKTogQWRkZWQgc3R1Yi4KKyAgICAgICAgKFdlYktpdDo6
V2ViRnVsbFNjcmVlbk1hbmFnZXI6OmdldEZ1bGxTY3JlZW5SZWN0KTogQWRkZWQuCisgICAgICAg
IChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpiZWdpbkVudGVyRnVsbFNjcmVlbkFuaW1h
dGlvbik6IEFkZGVkIHN0dWIuCisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2Vy
OjpiZWdpbkV4aXRGdWxsU2NyZWVuQW5pbWF0aW9uKTogQWRkZWQgc3R1Yi4KKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIubWVzc2FnZXMuaW46IEFk
ZGVkIG5ldyBtZXNzYWdlIGRlZmluaXRpb25zLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21l
Q2xpZW50OjpzZXRSb290RnVsbFNjcmVlbkxheWVyKTogQWRkZWQuCisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKwogMjAxMS0wMy0wOCAgSmVy
IE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0g
V2VpbmlnLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHkuY3BwCmluZGV4IDZhOGI1N2Y2ZmU2ZGEzNjBmN2ZmOTk3YmUzZjgwNTg3
MmFmN2MxZjMuLjdmYzZiY2M0MzAzZDhkNTI0ODgwYzcwODg4ZTJiYTVkZTFkZjU0ZjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQ
cm94eS5jcHAKQEAgLTQyLDYgKzQyLDcgQEAgUGFzc1JlZlB0cjxXZWJGdWxsU2NyZWVuTWFuYWdl
clByb3h5PiBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpjcmVhdGUoV2ViUGFnZVAKIAogV2Vi
RnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eShXZWJQYWdl
UHJveHkqIHBhZ2UpCiAgICAgOiBtX3BhZ2UocGFnZSkKKyAgICAsIG1fd2ViVmlldygwKQogewog
fQogCkBAIC01MSw2ICs1MiwxMiBAQCBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5Ojp+V2ViRnVs
bFNjcmVlbk1hbmFnZXJQcm94eSgpCiAKIHZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6
aW52YWxpZGF0ZSgpCiB7CisgICAgbV93ZWJWaWV3ID0gMDsKK30KKwordm9pZCBXZWJGdWxsU2Ny
ZWVuTWFuYWdlclByb3h5OjpzZXRXZWJWaWV3KFBsYXRmb3JtV2ViVmlldyogd2ViVmlldykKK3sK
KyAgICBtX3dlYlZpZXcgPSB3ZWJWaWV3OwogfQogCiB2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2Vy
UHJveHk6OmRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24s
IENvcmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2Rlciog
YXJndW1lbnRzKQpAQCAtODMsNiArOTAsMTYgQEAgdm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlclBy
b3h5OjpkaWRFeGl0RnVsbFNjcmVlbigpCiAgICAgbV9wYWdlLT5wcm9jZXNzKCktPnNlbmQoTWVz
c2FnZXM6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpEaWRFeGl0RnVsbFNjcmVlbigpLCBtX3BhZ2Ut
PnBhZ2VJRCgpKTsKIH0KIAordm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpiZWdpbkVu
dGVyRnVsbFNjcmVlbkFuaW1hdGlvbihmbG9hdCBkdXJhdGlvbikKK3sKKyAgICBtX3BhZ2UtPnBy
b2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXI6OkJlZ2luRW50ZXJG
dWxsU2NyZWVuQW5pbWF0aW9uKGR1cmF0aW9uKSwgbV9wYWdlLT5wYWdlSUQoKSk7Cit9CisKK3Zv
aWQgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6YmVnaW5FeGl0RnVsbFNjcmVlbkFuaW1hdGlv
bihmbG9hdCBkdXJhdGlvbikKK3sKKyAgICBtX3BhZ2UtPnByb2Nlc3MoKS0+c2VuZChNZXNzYWdl
czo6V2ViRnVsbFNjcmVlbk1hbmFnZXI6OkJlZ2luRXhpdEZ1bGxTY3JlZW5BbmltYXRpb24oZHVy
YXRpb24pLCBtX3BhZ2UtPnBhZ2VJRCgpKTsKK30KKwogdm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdl
clByb3h5OjpzdXBwb3J0c0Z1bGxTY3JlZW4oYm9vbCYgc3VwcG9ydHMpCiB7CiAgICAgc3VwcG9y
dHMgPSB0cnVlOwpAQCAtOTYsNiArMTEzLDM0IEBAIHZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXJQ
cm94eTo6ZXhpdEZ1bGxTY3JlZW4oKQogewogfQogCit2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2Vy
UHJveHk6OmJlZ2FuRW50ZXJGdWxsU2NyZWVuQW5pbWF0aW9uKCkKK3sKK30KKwordm9pZCBXZWJG
dWxsU2NyZWVuTWFuYWdlclByb3h5OjpmaW5pc2hlZEVudGVyRnVsbFNjcmVlbkFuaW1hdGlvbihi
b29sIGNvbXBsZXRlZCkKK3sKK30KKwordm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5Ojpi
ZWdhbkV4aXRGdWxsU2NyZWVuQW5pbWF0aW9uKCkKK3sKK30KKwordm9pZCBXZWJGdWxsU2NyZWVu
TWFuYWdlclByb3h5OjpmaW5pc2hlZEV4aXRGdWxsU2NyZWVuQW5pbWF0aW9uKGJvb2wgY29tcGxl
dGVkKQoreworfQorICAgIAordm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjplbnRlckFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKGNvbnN0IExheWVyVHJlZUNvbnRleHQmIGNvbnRleHQp
Cit7Cit9CisKK3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6ZXhpdEFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdNb2RlKCkKK3sKK30KKwordm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5
OjpnZXRGdWxsU2NyZWVuUmVjdChXZWJDb3JlOjpJbnRSZWN0JiByZWN0KQoreworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94
eS5oCmluZGV4IDAxZDA5OGZkNTM4YWM3ZjAzOTgwMzZiYjc2ZGM1YTMyYmNiYjUwMmIuLjgxZTkz
M2ZmNDM0ZTg5ODhmMGY3NzZmODNjMjFjMTMyZmNkOWU3Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuaApAQCAtMzgsOSAr
MzgsMzAgQEAgY2xhc3MgQ29ubmVjdGlvbjsKIGNsYXNzIE1lc3NhZ2VJRDsKIH0KIAorbmFtZXNw
YWNlIFdlYkNvcmUgeworY2xhc3MgSW50UmVjdDsKK30KKworI2lmIFBMQVRGT1JNKE1BQykKK09C
SkNfQ0xBU1MgV0tWaWV3OworI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJLaXQgeworICAgIAorI2lm
IFBMQVRGT1JNKE1BQykKK3R5cGVkZWYgV0tWaWV3IFBsYXRmb3JtV2ViVmlldzsKKyNlbGlmIFBM
QVRGT1JNKFdJTikKK2NsYXNzIFdlYlZpZXc7Cit0eXBlZGVmIFdlYlZpZXcgUGxhdGZvcm1XZWJW
aWV3OworI2VsaWYgUExBVEZPUk0oUVQpCit0eXBlZGVmIFFHcmFwaGljc1dLVmlldyBQbGF0Zm9y
bVdlYlZpZXc7CisjZWxpZiBQTEFURk9STShHVEspCitjbGFzcyBXZWJWaWV3OwordHlwZWRlZiBX
ZWJWaWV3IFBsYXRmb3JtV2ViVmlldzsKKyNlbmRpZgogCiBjbGFzcyBXZWJQYWdlUHJveHk7Citj
bGFzcyBMYXllclRyZWVDb250ZXh0OwogCiBjbGFzcyBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5
IDogcHVibGljIFJlZkNvdW50ZWQ8V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eT4gewogcHVibGlj
OgpAQCAtNDksNiArNzAsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGludmFsaWRhdGUoKTsKIAor
ICAgIHZvaWQgc2V0V2ViVmlldyhQbGF0Zm9ybVdlYlZpZXcqKTsKKwogICAgIHZvaWQgZGlkUmVj
ZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29y
ZUlQQzo6QXJndW1lbnREZWNvZGVyKik7CiAgICAgQ29yZUlQQzo6U3luY1JlcGx5TW9kZSBkaWRS
ZWNlaXZlU3luY01lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJ
RCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBhcmd1bWVudHMsIENvcmVJUEM6OkFyZ3VtZW50
RW5jb2RlciogcmVwbHkpOwogCkBAIC01Niw2ICs3OSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRp
ZEVudGVyRnVsbFNjcmVlbigpOwogICAgIHZvaWQgd2lsbEV4aXRGdWxsU2NyZWVuKCk7CiAgICAg
dm9pZCBkaWRFeGl0RnVsbFNjcmVlbigpOworICAgIHZvaWQgYmVnaW5FbnRlckZ1bGxTY3JlZW5B
bmltYXRpb24oZmxvYXQgZHVyYXRpb24pOworICAgIHZvaWQgYmVnaW5FeGl0RnVsbFNjcmVlbkFu
aW1hdGlvbihmbG9hdCBkdXJhdGlvbik7CiAKIHByaXZhdGU6CiAgICAgV2ViRnVsbFNjcmVlbk1h
bmFnZXJQcm94eShXZWJQYWdlUHJveHkqKTsKQEAgLTYzLDggKzg4LDE2IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBzdXBwb3J0c0Z1bGxTY3JlZW4oYm9vbCYpOwogICAgIHZvaWQgZW50ZXJGdWxsU2Ny
ZWVuKCk7CiAgICAgdm9pZCBleGl0RnVsbFNjcmVlbigpOworICAgIHZvaWQgYmVnYW5FbnRlckZ1
bGxTY3JlZW5BbmltYXRpb24oKTsKKyAgICB2b2lkIGZpbmlzaGVkRW50ZXJGdWxsU2NyZWVuQW5p
bWF0aW9uKGJvb2wgY29tcGxldGVkKTsKKyAgICB2b2lkIGJlZ2FuRXhpdEZ1bGxTY3JlZW5Bbmlt
YXRpb24oKTsKKyAgICB2b2lkIGZpbmlzaGVkRXhpdEZ1bGxTY3JlZW5BbmltYXRpb24oYm9vbCBj
b21wbGV0ZWQpOworICAgIHZvaWQgZW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShjb25z
dCBMYXllclRyZWVDb250ZXh0Jik7CisgICAgdm9pZCBleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z01vZGUoKTsKKyAgICB2b2lkIGdldEZ1bGxTY3JlZW5SZWN0KFdlYkNvcmU6OkludFJlY3QmKTsK
IAogICAgIFdlYlBhZ2VQcm94eSogbV9wYWdlOworICAgIFBsYXRmb3JtV2ViVmlldyogbV93ZWJW
aWV3OwogCiAgICAgdm9pZCBkaWRSZWNlaXZlV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eU1lc3Nh
Z2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJn
dW1lbnREZWNvZGVyKik7CiAgICAgQ29yZUlQQzo6U3luY1JlcGx5TW9kZSBkaWRSZWNlaXZlU3lu
Y1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHlNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBD
b3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogYXJndW1lbnRzLCBD
b3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIHJlcGx5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMu
aW4KaW5kZXggZGVjMTBkMzU3YWJkMmRhZDkxNDk2MDljOTE1ZjU5NDgyZWFjMTdiMy4uODllYzdk
ZTQ1YjkzYTM1ZWUwNGIzYzQ2OTFmZGIyMzU3YzE0Y2IyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkubWVz
c2FnZXMuaW4KQEAgLTI1LDUgKzI1LDE0IEBAIG1lc3NhZ2VzIC0+IFdlYkZ1bGxTY3JlZW5NYW5h
Z2VyUHJveHkgewogICAgIFN1cHBvcnRzRnVsbFNjcmVlbigpIC0+IChib29sIHN1cHBvcnRzRnVs
bFNjcmVlbikKICAgICBFbnRlckZ1bGxTY3JlZW4oKQogICAgIEV4aXRGdWxsU2NyZWVuKCkKKyAg
ICBCZWdhbkVudGVyRnVsbFNjcmVlbkFuaW1hdGlvbigpCisgICAgRmluaXNoZWRFbnRlckZ1bGxT
Y3JlZW5BbmltYXRpb24oYm9vbCBjb21wbGV0ZWQpCisgICAgQmVnYW5FeGl0RnVsbFNjcmVlbkFu
aW1hdGlvbigpCisgICAgRmluaXNoZWRFeGl0RnVsbFNjcmVlbkFuaW1hdGlvbihib29sIGNvbXBs
ZXRlZCkKKyAgICBHZXRGdWxsU2NyZWVuUmVjdCgpIC0+IChXZWJDb3JlOjpJbnRSZWN0IHJlY3Qp
CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorICAgIEVudGVyQWNjZWxlcmF0ZWRD
b21wb3NpdGluZ01vZGUoV2ViS2l0OjpMYXllclRyZWVDb250ZXh0IGNvbnRleHQpCisgICAgRXhp
dEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCkKKyNlbmRpZgogfQogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDBhMzllN2FiNjM4YWQ4MGMy
ZWE1MjUxYzJjMzVmZjFhYjE4ZTY2YzYuLjExNjJiNTljZDNkNWI0YWNkMWViYmU0NGFkNmE4NzU1
NmI2NTJhNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBA
IC01Miw2ICs1Miw3IEBACiAjaW5jbHVkZSAiV2ViRXZlbnQuaCIKICNpbmNsdWRlICJXZWJGb3Jt
U3VibWlzc2lvbkxpc3RlbmVyUHJveHkuaCIKICNpbmNsdWRlICJXZWJGcmFtZVBvbGljeUxpc3Rl
bmVyUHJveHkuaCIKKyNpbmNsdWRlICJXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmgiCiAjaW5j
bHVkZSAiV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eS5oIgogI2luY2x1ZGUgIldlYlBh
Z2VDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJXZWJQYWdlR3JvdXAuaCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBiMTY4OTg4YTNjNDk3ZTFjNzQw
MDJlY2YyNzI2NGQ3YzUwYjg4OGFlLi43ZDA4OTRmMjViNjhlMzI2OTA4MzA4M2FlZThhMWQyMzQ3
YWJlMTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC00Miw3
ICs0Miw2IEBACiAjaW5jbHVkZSAiV2ViRmluZE9wdGlvbnMuaCIKICNpbmNsdWRlICJXZWJGb3Jt
Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVQcm94eS5oIgotI2luY2x1ZGUgIldlYkZ1bGxT
Y3JlZW5NYW5hZ2VyUHJveHkuaCIKICNpbmNsdWRlICJXZWJIaXN0b3J5Q2xpZW50LmgiCiAjaW5j
bHVkZSAiV2ViSW5zcGVjdG9yUHJveHkuaCIKICNpbmNsdWRlICJXZWJMb2FkZXJDbGllbnQuaCIK
QEAgLTk0LDYgKzkzLDcgQEAgY2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0SXRlbTsKIGNsYXNzIFdl
YkNvbnRleHRNZW51UHJveHk7CiBjbGFzcyBXZWJEYXRhOwogY2xhc3MgV2ViRWRpdENvbW1hbmRQ
cm94eTsKK2NsYXNzIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk7CiBjbGFzcyBXZWJLZXlib2Fy
ZEV2ZW50OwogY2xhc3MgV2ViTW91c2VFdmVudDsKIGNsYXNzIFdlYk9wZW5QYW5lbFJlc3VsdExp
c3RlbmVyUHJveHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Z1bGxT
Y3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcAppbmRleCBiNWM3OGFiYjhmMjM1
NDY1MzM0YTg1YTljZDE5NzM1ZjgyY2M2ZjE5Li5kNTJiMjI1YmE0YWVkY2UxNjAxN2YyNTk3YzJk
Y2ZmNWJkMjFkODJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Z1bGxT
Y3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHAKQEAgLTI5LDYgKzI5LDcg
QEAKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJNZXNzYWdlSUQuaCIKKyNp
bmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJGdWxsU2NyZWVu
TWFuYWdlclByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQYWdlLmgiCiAjaW5jbHVkZSAi
V2ViUHJvY2Vzcy5oIgpAQCAtNDksNiArNTAsMTEgQEAgV2ViRnVsbFNjcmVlbk1hbmFnZXI6Oldl
YkZ1bGxTY3JlZW5NYW5hZ2VyKFdlYlBhZ2UqIHBhZ2UpCiB7CiB9CiAKK1dlYkNvcmU6OkVsZW1l
bnQqIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyOjplbGVtZW50KCkgCit7IAorICAgIHJldHVybiBtX2Vs
ZW1lbnQuZ2V0KCk7IAorfQorCiB2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpkaWRSZWNlaXZl
TWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3JlSVBDOjpNZXNzYWdl
SUQgbWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGFyZ3VtZW50cykKIHsKICAg
ICBkaWRSZWNlaXZlV2ViRnVsbFNjcmVlbk1hbmFnZXJNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3Nh
Z2VJRCwgYXJndW1lbnRzKTsKQEAgLTYwLDcgKzY2LDcgQEAgYm9vbCBXZWJGdWxsU2NyZWVuTWFu
YWdlcjo6c3VwcG9ydHNGdWxsU2NyZWVuKCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAg
Ym9vbCBzdXBwb3J0cyA9IHRydWU7Ci0gICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29ubmVjdGlv
bigpLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6U3VwcG9y
dHNGdWxsU2NyZWVuKCksIHN1cHBvcnRzLCAwKTsKKyAgICBtX3BhZ2UtPnNlbmRTeW5jKE1lc3Nh
Z2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpTdXBwb3J0c0Z1bGxTY3JlZW4oKSwgc3Vw
cG9ydHMsIDAsIENvcmVJUEM6OkNvbm5lY3Rpb246Ok5vVGltZW91dCk7CiAgICAgcmV0dXJuIHN1
cHBvcnRzOwogfQogCkBAIC02OCwxNCArNzQsNDQgQEAgdm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdl
cjo6ZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJDb3JlOjpFbGVtZW50KiBlbGVtZW50KQog
ewogICAgIEFTU0VSVChlbGVtZW50KTsKICAgICBtX2VsZW1lbnQgPSBlbGVtZW50OwotICAgIFdl
YlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViRnVsbFNj
cmVlbk1hbmFnZXJQcm94eTo6RW50ZXJGdWxsU2NyZWVuKCksIDApOworICAgIG1faW5pdGlhbEZy
YW1lID0gbV9lbGVtZW50LT5zY3JlZW5SZWN0KCk7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2Vz
OjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpFbnRlckZ1bGxTY3JlZW4oKSk7CiB9CiAKIHZv
aWQgV2ViRnVsbFNjcmVlbk1hbmFnZXI6OmV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJDb3Jl
OjpFbGVtZW50KiBlbGVtZW50KQogewotICAgIEFTU0VSVChlbGVtZW50KTsKLSAgICBBU1NFUlQo
bV9lbGVtZW50ID09IGVsZW1lbnQpOwotICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rp
b24oKS0+c2VuZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6RXhpdEZ1bGxT
Y3JlZW4oKSwgMCk7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJGdWxsU2NyZWVuTWFu
YWdlclByb3h5OjpFeGl0RnVsbFNjcmVlbigpKTsKK30KKwordm9pZCBXZWJGdWxsU2NyZWVuTWFu
YWdlcjo6YmVnYW5FbnRlckZ1bGxTY3JlZW5BbmltYXRpb24oKQoreworICAgIG1fcGFnZS0+c2Vu
ZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6QmVnYW5FbnRlckZ1bGxTY3Jl
ZW5BbmltYXRpb24oKSk7Cit9CisKK3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXI6OmZpbmlzaGVk
RW50ZXJGdWxsU2NyZWVuQW5pbWF0aW9uKGJvb2wgY29tcGxldGVkKQoreworICAgIG1fcGFnZS0+
c2VuZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6RmluaXNoZWRFbnRlckZ1
bGxTY3JlZW5BbmltYXRpb24oY29tcGxldGVkKSk7Cit9CisKK3ZvaWQgV2ViRnVsbFNjcmVlbk1h
bmFnZXI6OmJlZ2FuRXhpdEZ1bGxTY3JlZW5BbmltYXRpb24oKQoreworICAgIG1fcGFnZS0+c2Vu
ZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6QmVnYW5FeGl0RnVsbFNjcmVl
bkFuaW1hdGlvbigpKTsKK30KKwordm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlcjo6ZmluaXNoZWRF
eGl0RnVsbFNjcmVlbkFuaW1hdGlvbihib29sIGNvbXBsZXRlZCkKK3sKKyAgICBtX3BhZ2UtPnNl
bmQoTWVzc2FnZXM6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OkZpbmlzaGVkRXhpdEZ1bGxT
Y3JlZW5BbmltYXRpb24oY29tcGxldGVkKSk7Cit9CisKK3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFn
ZXI6OnNldFJvb3RGdWxsU2NyZWVuTGF5ZXIoV2ViQ29yZTo6R3JhcGhpY3NMYXllciogbGF5ZXIp
Cit7Cit9CisgICAgCitJbnRSZWN0IFdlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpnZXRGdWxsU2NyZWVu
UmVjdCgpCit7CisgICAgSW50UmVjdCByZWN0OworICAgIG1fcGFnZS0+c2VuZFN5bmMoTWVzc2Fn
ZXM6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OkdldEZ1bGxTY3JlZW5SZWN0KCksIE1lc3Nh
Z2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpHZXRGdWxsU2NyZWVuUmVjdDo6UmVwbHko
cmVjdCkpOworICAgIHJldHVybiByZWN0OwogfQogCiB2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2Vy
Ojp3aWxsRW50ZXJGdWxsU2NyZWVuKCkKQEAgLTEwMiw2ICsxMzgsMTMgQEAgdm9pZCBXZWJGdWxs
U2NyZWVuTWFuYWdlcjo6ZGlkRXhpdEZ1bGxTY3JlZW4oKQogICAgIG1fZWxlbWVudC0+ZG9jdW1l
bnQoKS0+d2Via2l0RGlkRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KG1fZWxlbWVudC5nZXQoKSk7
CiB9CiAKK3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXI6OmJlZ2luRW50ZXJGdWxsU2NyZWVuQW5p
bWF0aW9uKGZsb2F0IGR1cmF0aW9uKQoreworfQorCit2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2Vy
OjpiZWdpbkV4aXRGdWxsU2NyZWVuQW5pbWF0aW9uKGZsb2F0IGR1cmF0aW9uKQoreworfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuaAppbmRleCA0ZWRhZmZh
MjZiZGU2OGI0NGNiNWIxZTZlYWY1ZjAyYzU4ZDc4YTg0Li42ZTc3ZTA0YzAwMmZmNDVlNDgyMjIy
M2YxODRiZTVkZDI2OWYwMTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuaApAQCAtMjcsOSArMjcs
OSBAQAogCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogCi0jaW5jbHVkZSAiQ29ubmVjdGlv
bi5oIgotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKIGNs
YXNzIEFyZ3VtZW50RGVjb2RlcjsKQEAgLTM4LDcgKzM4LDkgQEAgY2xhc3MgTWVzc2FnZUlEOwog
fQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBJbnRSZWN0OwogY2xhc3MgRWxlbWVudDsK
K2NsYXNzIEdyYXBoaWNzTGF5ZXI7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNTQsMTkg
KzU2LDI4IEBAIHB1YmxpYzoKICAgICBib29sIHN1cHBvcnRzRnVsbFNjcmVlbigpOwogICAgIHZv
aWQgZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJDb3JlOjpFbGVtZW50Kik7CiAgICAgdm9p
ZCBleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViQ29yZTo6RWxlbWVudCopOworICAgIHZvaWQg
YmVnYW5FbnRlckZ1bGxTY3JlZW5BbmltYXRpb24oKTsKKyAgICB2b2lkIGZpbmlzaGVkRW50ZXJG
dWxsU2NyZWVuQW5pbWF0aW9uKGJvb2wgY29tcGxldGVkKTsKKyAgICB2b2lkIGJlZ2FuRXhpdEZ1
bGxTY3JlZW5BbmltYXRpb24oKTsKKyAgICB2b2lkIGZpbmlzaGVkRXhpdEZ1bGxTY3JlZW5Bbmlt
YXRpb24oYm9vbCBjb21wbGV0ZWQpOworICAgIHZvaWQgc2V0Um9vdEZ1bGxTY3JlZW5MYXllcihX
ZWJDb3JlOjpHcmFwaGljc0xheWVyKik7CiAKLSAgICBXZWJDb3JlOjpFbGVtZW50KiBlbGVtZW50
KCkgeyByZXR1cm4gbV9lbGVtZW50LmdldCgpOyB9CisgICAgV2ViQ29yZTo6RWxlbWVudCogZWxl
bWVudCgpOwogCi1wcml2YXRlOgorcHJvdGVjdGVkOgogICAgIFdlYkZ1bGxTY3JlZW5NYW5hZ2Vy
KFdlYlBhZ2UqKTsKIAogICAgIHZvaWQgd2lsbEVudGVyRnVsbFNjcmVlbigpOwogICAgIHZvaWQg
ZGlkRW50ZXJGdWxsU2NyZWVuKCk7CiAgICAgdm9pZCB3aWxsRXhpdEZ1bGxTY3JlZW4oKTsKICAg
ICB2b2lkIGRpZEV4aXRGdWxsU2NyZWVuKCk7CisgICAgdm9pZCBiZWdpbkVudGVyRnVsbFNjcmVl
bkFuaW1hdGlvbihmbG9hdCBkdXJhdGlvbik7CisgICAgdm9pZCBiZWdpbkV4aXRGdWxsU2NyZWVu
QW5pbWF0aW9uKGZsb2F0IGR1cmF0aW9uKTsKKyAgICBXZWJDb3JlOjpJbnRSZWN0IGdldEZ1bGxT
Y3JlZW5SZWN0KCk7CiAKICAgICB2b2lkIGRpZFJlY2VpdmVXZWJGdWxsU2NyZWVuTWFuYWdlck1l
c3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6
QXJndW1lbnREZWNvZGVyKik7CiAKKyAgICBXZWJDb3JlOjpJbnRSZWN0IG1faW5pdGlhbEZyYW1l
OwogICAgIFJlZlB0cjxXZWJQYWdlPiBtX3BhZ2U7CiAgICAgUmVmUHRyPFdlYkNvcmU6OkVsZW1l
bnQ+IG1fZWxlbWVudDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIubWVzc2FnZXMu
aW4KaW5kZXggZjg0MDgxYjA1M2E4ZThkOTM4NjMyYmQ0ZjBkMjFkMDI3YmE5OTVlYi4uZDUzZjlk
NTdlNWRkZTUzM2E2OTA2MWUzOWVjZjA3NzczYzc4YzljMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLm1lc3NhZ2Vz
LmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2Ny
ZWVuTWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMjYsNSArMjYsNyBAQCBtZXNzYWdlcyAtPiBXZWJG
dWxsU2NyZWVuTWFuYWdlciB7CiAgICAgRGlkRW50ZXJGdWxsU2NyZWVuKCkKICAgICBXaWxsRXhp
dEZ1bGxTY3JlZW4oKQogICAgIERpZEV4aXRGdWxsU2NyZWVuKCkKKyAgICBCZWdpbkVudGVyRnVs
bFNjcmVlbkFuaW1hdGlvbihmbG9hdCBkdXJhdGlvbikKKyAgICBCZWdpbkV4aXRGdWxsU2NyZWVu
QW5pbWF0aW9uKGZsb2F0IGR1cmF0aW9uKQogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5j
cHAKaW5kZXggYWM0ZDlmZTRlY2U2NWNhZjk0YzRlMzM1ZTExOTMxYTA1NDY0ZWU1MC4uZDRmMTg1
NDM5ZDY3YmFiYzg4OTk4OTkyYzFjZTBhOGMyYjE2ODE5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmNwcApAQCAtNzIwLDYgKzcyMCwxMiBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6ZXhpdEZ1bGxT
Y3JlZW5Gb3JFbGVtZW50KFdlYkNvcmU6OkVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgbV9wYWdl
LT5mdWxsU2NyZWVuTWFuYWdlcigpLT5leGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoZWxlbWVudCk7
CiB9CisgICAgCit2b2lkIFdlYkNocm9tZUNsaWVudDo6c2V0Um9vdEZ1bGxTY3JlZW5MYXllcihH
cmFwaGljc0xheWVyKiBsYXllcikKK3sKKyAgICBtX3BhZ2UtPmZ1bGxTY3JlZW5NYW5hZ2VyKCkt
PnNldFJvb3RGdWxsU2NyZWVuTGF5ZXIobGF5ZXIpOworfQorCiAjZW5kaWYKIAogdm9pZCBXZWJD
aHJvbWVDbGllbnQ6OmRpc3BhdGNoVmlld3BvcnREYXRhRGlkQ2hhbmdlKGNvbnN0IFZpZXdwb3J0
QXJndW1lbnRzJiBhcmdzKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggNDNkNjM3Y2Y4
ZWQ0MGE0N2EzZjExMzNkN2RjN2IwNTYyNTgxZDk0ZC4uNmZlM2RiZjk1MjdkMDEyMjFmOTA4YjJi
M2U4OWFmODMyZTY4ZjgzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0yMDksNiArMjA5LDcg
QEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNGdWxsU2NyZWVuRm9yRWxlbWVu
dChjb25zdCBXZWJDb3JlOjpFbGVtZW50Kik7CiAgICAgdmlydHVhbCB2b2lkIGVudGVyRnVsbFNj
cmVlbkZvckVsZW1lbnQoV2ViQ29yZTo6RWxlbWVudCopOwogICAgIHZpcnR1YWwgdm9pZCBleGl0
RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViQ29yZTo6RWxlbWVudCopOworICAgIHZpcnR1YWwgdm9p
ZCBzZXRSb290RnVsbFNjcmVlbkxheWVyKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqKTsKICNlbmRp
ZgogCiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoVmlld3BvcnREYXRhRGlkQ2hhbmdlKGNvbnN0
IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzJikgY29uc3Q7Cg==
</data>
<flag name="review"
          id="77639"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>