<?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>97690</bug_id>
          
          <creation_ts>2012-09-26 08:50:27 -0700</creation_ts>
          <short_desc>Unify event handling of middle mouse button</short_desc>
          <delta_ts>2012-09-27 04:11:58 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>UI Events</component>
          <version>420+</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Allan Sandfeld Jensen">allan.jensen</reporter>
          <assigned_to name="Allan Sandfeld Jensen">allan.jensen</assigned_to>
          <cc>abecsi</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>gustavo</cc>
    
    <cc>menard</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>728609</commentid>
    <comment_count>0</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-09-26 08:50:27 -0700</bug_when>
    <thetext>Each of the ports with X11 backends have separate implementation of pasting the global selection. In the bug #88238 the code pasting the selection was unified for Chromium and Qt WebKit1 and Qt WebKit2, but they still had separate event handling.

The event handling should also be unified, and it should attempt to include the similar code for GTK as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728621</commentid>
    <comment_count>1</comment_count>
      <attachid>165816</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-09-26 08:54:27 -0700</bug_when>
    <thetext>Created attachment 165816
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728660</commentid>
    <comment_count>2</comment_count>
      <attachid>165823</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-09-26 09:27:59 -0700</bug_when>
    <thetext>Created attachment 165823
Patch

Rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728830</commentid>
    <comment_count>3</comment_count>
      <attachid>165823</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-09-26 12:02:55 -0700</bug_when>
    <thetext>Comment on attachment 165823
Patch

Thanks for doing this refactoring!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729361</commentid>
    <comment_count>4</comment_count>
      <attachid>165959</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-09-27 02:55:32 -0700</bug_when>
    <thetext>Created attachment 165959
Patch for landing

Missed support in GTK WebKit1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729402</commentid>
    <comment_count>5</comment_count>
      <attachid>165959</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-27 04:11:55 -0700</bug_when>
    <thetext>Comment on attachment 165959
Patch for landing

Clearing flags on attachment: 165959

Committed r129750: &lt;http://trac.webkit.org/changeset/129750&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729403</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-27 04:11:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165816</attachid>
            <date>2012-09-26 08:54:27 -0700</date>
            <delta_ts>2012-09-26 09:27:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97690-20120926175333.patch</filename>
            <type>text/plain</type>
            <size>16785</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmFlOWI2NWM1MGQ5OTJh
NGY2NzFlMTllYWQ2Zjg5MTU0MTNmNjQxZi4uZTA5MDBkODIyNjdjN2U5MjYwZmJiOWQxNjAyMDYy
NGVlYTgzYmNlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA5LTI2ICBBbGxh
biBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgorCisgICAgICAgIFVu
aWZ5IGV2ZW50IGhhbmRsaW5nIG9mIG1pZGRsZSBtb3VzZSBidXR0b24uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzY5MAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBhIHVuaWZpZWQgdmVy
c2lvbiBvZiBtaWRkbGUgbW91c2UgYnV0dG9uIHByZXNzIHRoYXQgY2FuIGJlIHNoYXJlZCBiZXR3
ZWVuCisgICAgICAgIGFsbCB0aGUgcG9ydHMgd2l0aCBYMTEgc3VwcG9ydC4KKworICAgICAgICAq
IHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6
aGFuZGxlTW91c2VQcmVzc0V2ZW50U2luZ2xlQ2xpY2spOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRIYW5kbGVyOjpoYW5kbGVNb3VzZVJlbGVhc2VFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpF
dmVudEhhbmRsZXI6OmhhbmRsZVBhc3RlR2xvYmFsU2VsZWN0aW9uKToKKyAgICAgICAgKiBwYWdl
L0V2ZW50SGFuZGxlci5oOgorICAgICAgICAoRXZlbnRIYW5kbGVyKToKKwogMjAxMi0wOS0yNiAg
S2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KIAogICAgICAgICBTdWdnZXN0aW9u
UGlja2VyIG1pbiB3aWR0aCBpcyB0d28gcGl4ZWxzIHdpZGVyIHRoYW4gaXQgc2hvdWxkIGJlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDc4NjYxOTc2NDJmOGEwNGRiZGExNjBjYmUxMTI1
N2Y4N2E1YTg5M2YuLmUwY2E2NTQ2NDBiZmNkYTJiNzNjZDIxNjNjOWJjODc4ZTJjOTVjNmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDktMjYgIEFs
bGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CisKKyAgICAgICAg
VW5pZnkgZXZlbnQgaGFuZGxpbmcgb2YgbWlkZGxlIG1vdXNlIGJ1dHRvbi4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NjkwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHBvcnQgc3BlY2lmaWMg
aGFuZGxpbmcgb2YgbWlkZGxlIG1vdXNlIGJ1dHRvbiBwcmVzcy4KKworICAgICAgICAqIHNyYy9X
ZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpoYW5kbGVNb3Vz
ZVVwKToKKwogMjAxMi0wOS0yNiAgWW9zaGlmdW1pIElub3VlICA8eW9zaW5AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFJlbmFtZSBFTkFCTEVfSU5QVVRfVFlQRV9NVUxUSVBMRV9GSUVMRFMgdG8g
RU5BQkxFX0lOUFVUX01VTFRJUExFX0ZJRUxEU19VSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA2MTJiODY3
ZDIwMTUzYjRiMjk5MTFhNWI1NzExMTdlNmVlZjZjZjM2Li4xZjViNTRiNTg4YTA1MzNjOGU1NDhj
MmU0MjBjMTE1ZmU3ODJmNzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEy
LTA5LTI2ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgor
CisgICAgICAgIFVuaWZ5IGV2ZW50IGhhbmRsaW5nIG9mIG1pZGRsZSBtb3VzZSBidXR0b24uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzY5MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBwb3J0
IHNwZWNpZmljIGhhbmRsaW5nIG9mIG1pZGRsZSBtb3VzZSBidXR0b24gcHJlc3MuCisKKyAgICAg
ICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAoUVdlYlBhZ2VQcml2YXRlOjptb3VzZVJl
bGVhc2VFdmVudCk6CisgICAgICAgICogQXBpL3F3ZWJwYWdlX3AuaDoKKyAgICAgICAgKFFXZWJQ
YWdlUHJpdmF0ZSk6CisKIDIwMTItMDktMjYgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21h
bm5AZGlnaWEuY29tPgogCiAgICAgICAgIFtRdF0gUmVtb3ZlIFF0IFF1aWNrIDEgc3VwcG9ydApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCmluZGV4IDU0OTJkY2U5YTEwMmI3NDhmMzc3YWQ0NDY5NzAzNThkNzlhZGVmMWUuLjNl
YWFlODJmYTExMmZmYTUyMDc3YWM0MWNhYTM0NGZlNTc3M2MwMTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxMi0wOS0yNiAgQWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVu
c2VuQGRpZ2lhLmNvbT4KKworICAgICAgICBVbmlmeSBldmVudCBoYW5kbGluZyBvZiBtaWRkbGUg
bW91c2UgYnV0dG9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTc2OTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBSZW1vdmUgUXQgYW5kIEdUSyBwb3J0IHNwZWNpZmljIGhhbmRsaW5nIG9mIG1pZGRsZSBt
b3VzZSBidXR0b24gcHJlc3MuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OmhhbmRsZU1vdXNlRXZlbnQpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJQYWdlKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwOgorICAgICAgICAoV2ViS2l0
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvcXQvV2ViUGFnZVF0LmNwcDoKKwogMjAx
Mi0wOS0yNSAgUmFwaGFlbCBLdWJvIGRhIENvc3RhICA8cmFwaGFlbC5rdWJvLmRhLmNvc3RhQGlu
dGVsLmNvbT4KIAogICAgICAgICBbRFJUXVtXVFJdIFN1cHBvcnQgb3ZlcnJpZGluZyB0aGUgJ1dl
YktpdERpc3BsYXlJbWFnZXNLZXknIHByZWZlcmVuY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmNwcAppbmRleCAzMmQyMzhjZTM4ODZhMmE5MWFkOTg2MWRkOWQzODc2MGYyNzYzNjk5Li4w
MmM0YzdkMDRkMDAzYzU1ZDdjNDc4YWUyNDc1ZWRjYTUzZGNhYjNjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykg
MjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQWxleGV5IFByb3NrdXJ5YWtvdiAoYXBA
d2Via2l0Lm9yZykKKyAqIENvcHlyaWdodCAoQykgMjAxMiBEaWdpYSBQbGMuIGFuZC9vciBpdHMg
c3Vic2lkaWFyeSgtaWVzKQogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zOSw2
ICs0MCw3IEBACiAjaW5jbHVkZSAiRHJhZ0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJEcmFnU3Rh
dGUuaCIKICNpbmNsdWRlICJFZGl0b3IuaCIKKyNpbmNsdWRlICJFZGl0b3JDbGllbnQuaCIKICNp
bmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUg
IkZsb2F0UmVjdC5oIgpAQCAtNTU5LDcgKzU2MSwxNiBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFu
ZGxlTW91c2VQcmVzc0V2ZW50U2luZ2xlQ2xpY2soY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0
UgogICAgIH0gZWxzZQogICAgICAgICBuZXdTZWxlY3Rpb24gPSBWaXNpYmxlU2VsZWN0aW9uKHZp
c2libGVQb3MpOwogICAgIAotICAgIHJldHVybiB1cGRhdGVTZWxlY3Rpb25Gb3JNb3VzZURvd25E
aXNwYXRjaGluZ1NlbGVjdFN0YXJ0KGlubmVyTm9kZSwgbmV3U2VsZWN0aW9uLCBncmFudWxhcml0
eSk7CisgICAgYm9vbCBoYW5kbGVkID0gdXBkYXRlU2VsZWN0aW9uRm9yTW91c2VEb3duRGlzcGF0
Y2hpbmdTZWxlY3RTdGFydChpbm5lck5vZGUsIG5ld1NlbGVjdGlvbiwgZ3JhbnVsYXJpdHkpOwor
CisgICAgLy8gTm9uLUdUSyBwbGF0Zm9ybXMgaGFuZGxlcyBtaWRkbGUgYnV0dG9uIHByZXNzIG9u
IG1vdXNlIHVwLgorI2lmIFBMQVRGT1JNKEdUSykKKyAgICBpZiAoZXZlbnQuZXZlbnQoKS5idXR0
b24oKSA9PSBNaWRkbGVCdXR0b24pIHsKKyAgICAgICAgLy8gSWdub3JlIGhhbmRsZWQsIHNpbmNl
IHdlIHdhbnQgdG8gcGFzdGUgdG8gd2hlcmUgdGhlIGNhcmV0IHdhcyBwbGFjZWQgYW55d2F5Lgor
ICAgICAgICBoYW5kbGVkID0gaGFuZGxlUGFzdGVHbG9iYWxTZWxlY3Rpb24oKSB8fCBoYW5kbGVk
OworICAgIH0KKyNlbmRpZgorICAgIHJldHVybiBoYW5kbGVkOwogfQogCiBzdGF0aWMgaW5saW5l
IGJvb2wgY2FuTW91c2VEb3duU3RhcnRTZWxlY3QoTm9kZSogbm9kZSkKQEAgLTkwNCw2ICs5MTUs
MTQgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUmVsZWFzZUV2ZW50KGNvbnN0IE1v
dXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGUKIAogICAgIG1fZnJhbWUtPnNlbGVjdGlvbigp
LT5zZWxlY3RGcmFtZUVsZW1lbnRJblBhcmVudElmRnVsbHlTZWxlY3RlZCgpOwogCisgICAgLy8g
R1RLIGhhbmRsZXMgbWlkZGxlIG1vdXNlIGJ1dHRvbiBwcmVzcyBvbiBkb3duIGluc3RlYWQgb2Yg
dXAuCisjaWYgIVBMQVRGT1JNKEdUSykKKyAgICBpZiAoZXZlbnQuZXZlbnQoKS5idXR0b24oKSA9
PSBNaWRkbGVCdXR0b24pIHsKKyAgICAgICAgLy8gSWdub3JlIGhhbmRsZWQsIHNpbmNlIHdlIHdh
bnQgdG8gcGFzdGUgdG8gd2hlcmUgdGhlIGNhcmV0IHdhcyBwbGFjZWQgYW55d2F5LgorICAgICAg
ICBoYW5kbGVkID0gaGFuZGxlUGFzdGVHbG9iYWxTZWxlY3Rpb24oKSB8fCBoYW5kbGVkOworICAg
IH0KKyNlbmRpZgorCiAgICAgcmV0dXJuIGhhbmRsZWQ7CiB9CiAKQEAgLTE4OTYsNiArMTkxNSwz
NCBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQoY29uc3QgUGxh
dGZvcm1Nb3VzZUV2ZW50JiBtb3VzZUV2ZW50KQogICAgIHJldHVybiBzd2FsbG93TW91c2VVcEV2
ZW50IHx8IHN3YWxsb3dDbGlja0V2ZW50IHx8IHN3YWxsb3dNb3VzZVJlbGVhc2VFdmVudDsKIH0K
IAorYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZVBhc3RlR2xvYmFsU2VsZWN0aW9uKCkKK3sKKyAg
ICAvLyBJZiB0aGUgZXZlbnQgd2FzIGEgbWlkZGxlIGNsaWNrLCBhdHRlbXB0IHRvIGNvcHkgZ2xv
YmFsIHNlbGVjdGlvbiBpbiBhZnRlcgorICAgIC8vIHRoZSBuZXdseSBzZXQgY2FyZXQgcG9zaXRp
b24uCisgICAgLy8KKyAgICAvLyBUaGlzIGNvZGUgaXMgY2FsbGVkIGZyb20gZWl0aGVyIHRoZSBt
b3VzZSB1cCBvciBtb3VzZSBkb3duIGhhbmRsaW5nLiBUaGVyZQorICAgIC8vIGlzIHNvbWUgZGVi
YXRlIGFib3V0IHdoZW4gdGhlIGdsb2JhbCBzZWxlY3Rpb24gaXMgcGFzdGVkOgorICAgIC8vICAg
eHRlcm06IHBhc3RlcyBvbiB1cC4KKyAgICAvLyAgIEdUSzogcGFzdGVzIG9uIGRvd24uCisgICAg
Ly8gICBRdDogcGFzdGVzIG9uIHVwLgorICAgIC8vICAgRmlyZWZveDogcGFzdGVzIG9uIHVwLgor
ICAgIC8vICAgQ2hyb21pdW06IHBhc3RlcyBvbiB1cC4KKyAgICAvLworICAgIC8vIFRoZXJlIGlz
IHNvbWV0aGluZyBvZiBhIHdlYmNvbXBhdCBhbmdsZSB0byB0aGlzIHdlbGwsIGFzIGhpZ2hsaWdo
dGVkIGJ5CisgICAgLy8gY3JidWcuY29tLzE0NjA4LiBQYWdlcyBjYW4gY2xlYXIgdGV4dCBib3hl
cyAnb25jbGljaycgYW5kLCBpZiB3ZSBwYXN0ZSBvbgorICAgIC8vIGRvd24gdGhlbiB0aGUgdGV4
dCBpcyBwYXN0ZWQganVzdCBiZWZvcmUgdGhlIG9uY2xpY2sgaGFuZGxlciBydW5zIGFuZAorICAg
IC8vIGNsZWFycyB0aGUgdGV4dCBib3guIFNvIGl0J3MgaW1wb3J0YW50IHRoaXMgaGFwcGVucyBh
ZnRlciB0aGUgZXZlbnQKKyAgICAvLyBoYW5kbGVycyBoYXZlIGJlZW4gZmlyZWQuCisKKyAgICBG
cmFtZSogZm9jdXNGcmFtZSA9IG1fZnJhbWUtPnBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCktPmZv
Y3VzZWRPck1haW5GcmFtZSgpOworICAgIC8vIERvIG5vdCBwYXN0ZSBoZXJlIGlmIHRoZSBmb2N1
cyB3YXMgbW92ZWQgc29tZXdoZXJlIGVsc2UuCisgICAgaWYgKG1fZnJhbWUgPT0gZm9jdXNGcmFt
ZSAmJiBtX2ZyYW1lLT5lZGl0b3IoKS0+Y2xpZW50KCktPnN1cHBvcnRzR2xvYmFsU2VsZWN0aW9u
KCkpCisgICAgICAgIHJldHVybiBtX2ZyYW1lLT5lZGl0b3IoKS0+Y29tbWFuZChBdG9taWNTdHJp
bmcoIlBhc3RlR2xvYmFsU2VsZWN0aW9uIikpLmV4ZWN1dGUoKTsKKworICAgIHJldHVybiBmYWxz
ZTsKK30KKworCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKIGJvb2wgRXZlbnRIYW5kbGVyOjpk
aXNwYXRjaERyYWdFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgTm9kZSogZHJh
Z1RhcmdldCwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCwgQ2xpcGJvYXJkKiBjbGlw
Ym9hcmQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCA2ZDhhMGFiNzY3M2E4
YzhmZGZiNGM5YTk1ZGJmYzFhYWQ5NTVkNDg3Li44MjI4MTU4Mzc2YTI3MTc4MjM1ZTE4ZjMyODli
M2M3MjNkMzg2NTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKQEAgLTE2MCw2ICsx
NjAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYW5kbGVNb3VzZVJlbGVhc2VFdmVudChjb25zdCBQ
bGF0Zm9ybU1vdXNlRXZlbnQmKTsKICAgICBib29sIGhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxh
dGZvcm1XaGVlbEV2ZW50Jik7CiAgICAgdm9pZCBkZWZhdWx0V2hlZWxFdmVudEhhbmRsZXIoTm9k
ZSosIFdoZWVsRXZlbnQqKTsKKyAgICBib29sIGhhbmRsZVBhc3RlR2xvYmFsU2VsZWN0aW9uKCk7
CiAKICNpZiBFTkFCTEUoR0VTVFVSRV9FVkVOVFMpCiAgICAgYm9vbCBoYW5kbGVHZXN0dXJlRXZl
bnQoY29uc3QgUGxhdGZvcm1HZXN0dXJlRXZlbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCAyNjFmN2MzNTdlOWE3OGI5MWYyYTdkM2FiZmQ5NGRi
MmUyOGE5OGE1Li5iZjRjMzNiMWVjZmMyYWRjZTI5NWE4ZDkyNjY0NTc5MzgzMmYxYzI5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC05Miw3ICs5Miw2
IEBACiAjaW5jbHVkZSAiUGFnZUdyb3VwTG9hZERlZmVycmVyLmgiCiAjaW5jbHVkZSAiUGFnZVBv
cHVwQ2xpZW50LmgiCiAjaW5jbHVkZSAiUGFnZVdpZGdldERlbGVnYXRlLmgiCi0jaW5jbHVkZSAi
UGFzdGVib2FyZC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtQ29udGV4dFNraWEuaCIKICNpbmNsdWRl
ICJQbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1vdXNlRXZlbnQu
aCIKQEAgLTYyMiwzOSArNjIxLDYgQEAgdm9pZCBXZWJWaWV3SW1wbDo6bW91c2VDb250ZXh0TWVu
dShjb25zdCBXZWJNb3VzZUV2ZW50JiBldmVudCkKIAogdm9pZCBXZWJWaWV3SW1wbDo6aGFuZGxl
TW91c2VVcChGcmFtZSYgbWFpbkZyYW1lLCBjb25zdCBXZWJNb3VzZUV2ZW50JiBldmVudCkKIHsK
LSNpZiBPUyhVTklYKSAmJiAhT1MoREFSV0lOKQotICAgIC8vIElmIHRoZSBldmVudCB3YXMgYSBt
aWRkbGUgY2xpY2ssIGF0dGVtcHQgdG8gY29weSB0ZXh0IGludG8gdGhlIGZvY3VzZWQKLSAgICAv
LyBmcmFtZS4gV2UgZXhlY3V0ZSB0aGlzIGJlZm9yZSB3ZSBsZXQgdGhlIHBhZ2UgaGF2ZSBhIGdv
IGF0IHRoZSBldmVudAotICAgIC8vIGJlY2F1c2UgdGhlIHBhZ2UgbWF5IGNoYW5nZSB3aGF0IGlz
IGZvY3VzZWQgZHVyaW5nIGluIGl0cyBldmVudCBoYW5kbGVyLgotICAgIC8vCi0gICAgLy8gVGhp
cyBjb2RlIGlzIGluIHRoZSBtb3VzZSB1cCBoYW5kbGVyLiBUaGVyZSBpcyBzb21lIGRlYmF0ZSBh
Ym91dCBwdXR0aW5nCi0gICAgLy8gdGhpcyBoZXJlLCBhcyBvcHBvc2VkIHRvIHRoZSBtb3VzZSBk
b3duIGhhbmRsZXIuCi0gICAgLy8gICB4dGVybTogcGFzdGVzIG9uIHVwLgotICAgIC8vICAgR1RL
OiBwYXN0ZXMgb24gZG93bi4KLSAgICAvLyAgIEZpcmVmb3g6IHBhc3RlcyBvbiB1cC4KLSAgICAv
LyAgIE1pZG9yaTogY291bGRuJ3QgcGFzdGUgYXQgYWxsIHdpdGggMC4xLjIKLSAgICAvLwotICAg
IC8vIFRoZXJlIGlzIHNvbWV0aGluZyBvZiBhIHdlYmNvbXBhdCBhbmdsZSB0byB0aGlzIHdlbGws
IGFzIGhpZ2hsaWdodGVkIGJ5Ci0gICAgLy8gY3JidWcuY29tLzE0NjA4LiBQYWdlcyBjYW4gY2xl
YXIgdGV4dCBib3hlcyAnb25jbGljaycgYW5kLCBpZiB3ZSBwYXN0ZSBvbgotICAgIC8vIGRvd24g
dGhlbiB0aGUgdGV4dCBpcyBwYXN0ZWQganVzdCBiZWZvcmUgdGhlIG9uY2xpY2sgaGFuZGxlciBy
dW5zIGFuZAotICAgIC8vIGNsZWFycyB0aGUgdGV4dCBib3guIFNvIGl0J3MgaW1wb3J0YW50IHRo
aXMgaGFwcGVucyBhZnRlciB0aGUKLSAgICAvLyBoYW5kbGVNb3VzZVJlbGVhc2VFdmVudCgpIGVh
cmxpZXIgaW4gdGhpcyBmdW5jdGlvbgotICAgIGlmIChldmVudC5idXR0b24gPT0gV2ViTW91c2VF
dmVudDo6QnV0dG9uTWlkZGxlKSB7Ci0gICAgICAgIEZyYW1lKiBmb2N1c2VkID0gZm9jdXNlZFdl
YkNvcmVGcmFtZSgpOwotICAgICAgICBGcmFtZVZpZXcqIHZpZXcgPSBtX3BhZ2UtPm1haW5GcmFt
ZSgpLT52aWV3KCk7Ci0gICAgICAgIEludFBvaW50IGNsaWNrUG9pbnQobV9sYXN0TW91c2VEb3du
UG9pbnQueCwgbV9sYXN0TW91c2VEb3duUG9pbnQueSk7Ci0gICAgICAgIEludFBvaW50IGNvbnRl
bnRQb2ludCA9IHZpZXctPndpbmRvd1RvQ29udGVudHMoY2xpY2tQb2ludCk7Ci0gICAgICAgIEhp
dFRlc3RSZXN1bHQgaGl0VGVzdFJlc3VsdCA9IGZvY3VzZWQtPmV2ZW50SGFuZGxlcigpLT5oaXRU
ZXN0UmVzdWx0QXRQb2ludChjb250ZW50UG9pbnQsIGZhbHNlLCBmYWxzZSwgU2hvdWxkSGl0VGVz
dFNjcm9sbGJhcnMpOwotICAgICAgICAvLyBXZSBkb24ndCB3YW50IHRvIHNlbmQgYSBwYXN0ZSB3
aGVuIG1pZGRsZSBjbGlja2luZyBhIHNjcm9sbCBiYXIgb3IgYQotICAgICAgICAvLyBsaW5rICh3
aGljaCB3aWxsIG5hdmlnYXRlIGxhdGVyIGluIHRoZSBjb2RlKS4gIFRoZSBtYWluIHNjcm9sbGJh
cnMKLSAgICAgICAgLy8gaGF2ZSB0byBiZSBoYW5kbGVkIHNlcGFyYXRlbHkuCi0gICAgICAgIGlm
ICghaGl0VGVzdFJlc3VsdC5zY3JvbGxiYXIoKSAmJiAhaGl0VGVzdFJlc3VsdC5pc0xpdmVMaW5r
KCkgJiYgZm9jdXNlZCAmJiAhdmlldy0+c2Nyb2xsYmFyQXRQb2ludChjbGlja1BvaW50KSkgewot
ICAgICAgICAgICAgRWRpdG9yKiBlZGl0b3IgPSBmb2N1c2VkLT5lZGl0b3IoKTsKLSAgICAgICAg
ICAgIGVkaXRvci0+Y29tbWFuZChBdG9taWNTdHJpbmcoIlBhc3RlR2xvYmFsU2VsZWN0aW9uIikp
LmV4ZWN1dGUoKTsKLSAgICAgICAgfQotICAgIH0KLSNlbmRpZgotCiAgICAgUGFnZVdpZGdldEV2
ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VVcChtYWluRnJhbWUsIGV2ZW50KTsKIAogI2lmIE9TKFdJ
TkRPV1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAgYi9T
b3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKaW5kZXggNWE4NDRiZTNkMDcyZWU3YzFm
YjBmN2U1MDJmMTE2YWViNmI5NmUzOC4uNzY5N2YxYTZiYjc1NDRiMWZjMjU1NDEzYThkZmU5OWE4
ZjgxMGI1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAtNzU3LDIxICs3NTcsNiBA
QCB2b2lkIFFXZWJQYWdlUHJpdmF0ZTo6bW91c2VUcmlwbGVDbGlja0V2ZW50KFQgKmV2KQogICAg
IGV2LT5zZXRBY2NlcHRlZChhY2NlcHRlZCk7CiB9CiAKLXZvaWQgUVdlYlBhZ2VQcml2YXRlOjpo
YW5kbGVDbGlwYm9hcmQoUUV2ZW50KiBldiwgUXQ6Ok1vdXNlQnV0dG9uIGJ1dHRvbikKLXsKLSNp
Zm5kZWYgUVRfTk9fQ0xJUEJPQVJECi0gICAgaWYgKFFBcHBsaWNhdGlvbjo6Y2xpcGJvYXJkKCkt
PnN1cHBvcnRzU2VsZWN0aW9uKCkpIHsKLSAgICAgICAgV2ViQ29yZTo6RnJhbWUqIGZvY3VzRnJh
bWUgPSBwYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7Ci0gICAg
ICAgIGlmIChidXR0b24gPT0gUXQ6Ok1pZEJ1dHRvbikgewotICAgICAgICAgICAgaWYgKGZvY3Vz
RnJhbWUpIHsKLSAgICAgICAgICAgICAgICBmb2N1c0ZyYW1lLT5lZGl0b3IoKS0+Y29tbWFuZChB
dG9taWNTdHJpbmcoIlBhc3RlR2xvYmFsU2VsZWN0aW9uIikpLmV4ZWN1dGUoKTsKLSAgICAgICAg
ICAgICAgICBldi0+c2V0QWNjZXB0ZWQodHJ1ZSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0K
LSAgICB9Ci0jZW5kaWYKLX0KLQogdGVtcGxhdGU8Y2xhc3MgVD4KIHZvaWQgUVdlYlBhZ2VQcml2
YXRlOjptb3VzZVJlbGVhc2VFdmVudChUICpldikKIHsKQEAgLTc4Nyw4ICs3NzIsNiBAQCB2b2lk
IFFXZWJQYWdlUHJpdmF0ZTo6bW91c2VSZWxlYXNlRXZlbnQoVCAqZXYpCiAgICAgICAgIGFjY2Vw
dGVkID0gZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVNb3VzZVJlbGVhc2VFdmVudChtZXYp
OwogICAgIGV2LT5zZXRBY2NlcHRlZChhY2NlcHRlZCk7CiAKLSAgICBpZiAoIWV2LT5pc0FjY2Vw
dGVkKCkpCi0gICAgICAgIGhhbmRsZUNsaXBib2FyZChldiwgZXYtPmJ1dHRvbigpKTsKICAgICBo
YW5kbGVTb2Z0d2FyZUlucHV0UGFuZWwoZXYtPmJ1dHRvbigpLCBRUG9pbnRGKGV2LT5wb3MoKSku
dG9Qb2ludCgpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBh
Z2VfcC5oIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oCmluZGV4IGE4ZTM3M2Jj
YTY1ZDRhMTI5Mjg4ZjBhMTFiNDBlMWUwYmY0ODYxM2IuLjg2NTc3ZDM1MTlmNDQ4ZWIzMTBjNDkx
OTNiMjJmMGU1NzRiOTVmYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJw
YWdlX3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZV9wLmgKQEAgLTEyNyw3
ICsxMjcsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNob3J0Y3V0T3ZlcnJpZGVFdmVudChRS2V5
RXZlbnQqKTsKICAgICB2b2lkIGxlYXZlRXZlbnQoUUV2ZW50Kik7Ci0gICAgdm9pZCBoYW5kbGVD
bGlwYm9hcmQoUUV2ZW50KiwgUXQ6Ok1vdXNlQnV0dG9uKTsKICAgICB2b2lkIGhhbmRsZVNvZnR3
YXJlSW5wdXRQYW5lbChRdDo6TW91c2VCdXR0b24sIGNvbnN0IFFQb2ludCYpOwogICAgIGJvb2wg
aGFuZGxlU2Nyb2xsaW5nKFFLZXlFdmVudCosIFdlYkNvcmU6OkZyYW1lKik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA2MWU4MmI1ZDk2
MjQ5M2QzOGM0ZjQ1MDJkNmI4NThjZjgwZTllNWY2Li5kYmFiYzMyNzM1MzhlNzM2MzEyMTE3ZTdm
YjZhNzUyYjFlOGQzNTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCkBAIC0xMzY0LDIxICsxMzY0LDExIEBAIHN0YXRpYyBib29sIGhhbmRsZU1v
dXNlRXZlbnQoY29uc3QgV2ViTW91c2VFdmVudCYgbW91c2VFdmVudCwgV2ViUGFnZSogcGFnZSwg
Ym9vCiAgICAgICAgICAgICBpZiAoaXNDb250ZXh0Q2xpY2socGxhdGZvcm1Nb3VzZUV2ZW50KSkK
ICAgICAgICAgICAgICAgICBoYW5kbGVkID0gaGFuZGxlQ29udGV4dE1lbnVFdmVudChwbGF0Zm9y
bU1vdXNlRXZlbnQsIHBhZ2UpOwogI2VuZGlmCi0jaWYgUExBVEZPUk0oR1RLKQotICAgICAgICAg
ICAgYm9vbCBndGtNb3VzZUJ1dHRvblByZXNzSGFuZGxlZCA9IHBhZ2UtPmhhbmRsZU1vdXNlUHJl
c3NlZEV2ZW50KHBsYXRmb3JtTW91c2VFdmVudCk7Ci0gICAgICAgICAgICBoYW5kbGVkID0gaGFu
ZGxlZCB8fCBndGtNb3VzZUJ1dHRvblByZXNzSGFuZGxlZDsKLSNlbmRpZgotCi0gICAgICAgICAg
ICByZXR1cm4gaGFuZGxlZDsKLSAgICAgICAgfQotICAgICAgICBjYXNlIFBsYXRmb3JtRXZlbnQ6
Ok1vdXNlUmVsZWFzZWQ6IHsKLSAgICAgICAgICAgIGJvb2wgaGFuZGxlZCA9IGZyYW1lLT5ldmVu
dEhhbmRsZXIoKS0+aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQocGxhdGZvcm1Nb3VzZUV2ZW50KTsK
LSNpZiBQTEFURk9STShRVCkKLSAgICAgICAgICAgIGlmICghaGFuZGxlZCkKLSAgICAgICAgICAg
ICAgICBoYW5kbGVkID0gcGFnZS0+aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQocGxhdGZvcm1Nb3Vz
ZUV2ZW50KTsKLSNlbmRpZgogICAgICAgICAgICAgcmV0dXJuIGhhbmRsZWQ7CiAgICAgICAgIH0K
KyAgICAgICAgY2FzZSBQbGF0Zm9ybUV2ZW50OjpNb3VzZVJlbGVhc2VkOgorICAgICAgICAgICAg
cmV0dXJuIGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQocGxh
dGZvcm1Nb3VzZUV2ZW50KTsKKwogICAgICAgICBjYXNlIFBsYXRmb3JtRXZlbnQ6Ok1vdXNlTW92
ZWQ6CiAgICAgICAgICAgICBpZiAob25seVVwZGF0ZVNjcm9sbGJhcnMpCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+cGFzc01vdXNlTW92ZWRFdmVudFRvU2Ny
b2xsYmFycyhwbGF0Zm9ybU1vdXNlRXZlbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggZmFkZDNiZDdmZjExYWYwNmI4OGNiMTMwMTk0ZTI1YzA2
YTcyMmQ1ZC4uNDQzNDdmM2U2OGRjNDU3YzUzYzA5NmNmZGU2NTQ1MDQ4NjJiNTg2ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC00NTcsMTcgKzQ1
NywxMiBAQCBwdWJsaWM6CiAKICNlbGlmIFBMQVRGT1JNKEdUSykKICAgICB2b2lkIHVwZGF0ZUFj
Y2Vzc2liaWxpdHlUcmVlKCk7Ci0gICAgYm9vbCBoYW5kbGVNb3VzZVByZXNzZWRFdmVudChjb25z
dCBXZWJDb3JlOjpQbGF0Zm9ybU1vdXNlRXZlbnQmKTsKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVJf
R0wpCiAgICAgdm9pZCBzZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nV2luZG93SWQoaW50NjRfdCBu
YXRpdmVXaW5kb3dIYW5kbGUpOwogICAgIHZvaWQgaW52YWxpZGF0ZVdpZGdldCgpOwogI2VuZGlm
CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKFFUKQotICAgIGJvb2wgaGFuZGxlTW91c2VSZWxlYXNl
RXZlbnQoY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50Jik7Ci0jZW5kaWYKLQogICAg
IHZvaWQgc2V0Q29tcG9zaXRpb25Gb3JUZXN0aW5nKGNvbnN0IFN0cmluZyYgY29tcG9zaXRpb25T
dHJpbmcsIHVpbnQ2NF90IGZyb20sIHVpbnQ2NF90IGxlbmd0aCk7CiAgICAgYm9vbCBoYXNDb21w
b3NpdGlvbkZvclRlc3RpbmcoKTsKICAgICB2b2lkIGNvbmZpcm1Db21wb3NpdGlvbkZvclRlc3Rp
bmcoY29uc3QgU3RyaW5nJiBjb21wb3NpdGlvblN0cmluZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJQYWdlR3RrLmNwcAppbmRleCBkOWRkZTgx
YTI1ZGI3NDQyNjZhNWU2N2E4ZmE5YmE2OTlhMGFmZDVhLi5mOThjOTM2ZThiYjRhODUyZDg5NDc1
ZWE4NTVhMmE2ZTYzNWI0NzJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9ndGsvV2ViUGFnZUd0ay5jcHAKQEAgLTE2NywyOSArMTY3LDQgQEAgdm9pZCBX
ZWJQYWdlOjppbnZhbGlkYXRlV2lkZ2V0KCkKIH0KICNlbmRpZgogCi1ib29sIFdlYlBhZ2U6Omhh
bmRsZU1vdXNlUHJlc3NlZEV2ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgcGxhdGZvcm1N
b3VzZUV2ZW50KQotewotICAgIGJvb2wgcmV0dXJuVmFsdWUgPSBmYWxzZTsKLSAgICBpZiAocGxh
dGZvcm1Nb3VzZUV2ZW50LmJ1dHRvbigpICE9IFdlYkNvcmU6Ok1pZGRsZUJ1dHRvbikKLSAgICAg
ICAgcmV0dXJuIHJldHVyblZhbHVlOwotCi0jaWYgUExBVEZPUk0oWDExKQotICAgIEZyYW1lKiBm
cmFtZSA9IG1fcGFnZS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRPck1haW5GcmFtZSgpOwot
ICAgIGlmICghZnJhbWUpCi0gICAgICAgIHJldHVybiByZXR1cm5WYWx1ZTsKLQotICAgIFBhc3Rl
Ym9hcmRIZWxwZXIqIHBhc3RlYm9hcmRIZWxwZXIgPSBQYXN0ZWJvYXJkSGVscGVyOjpkZWZhdWx0
UGFzdGVib2FyZEhlbHBlcigpOwotICAgIGJvb2wgd2FzVXNpbmdQcmltYXJ5ID0gcGFzdGVib2Fy
ZEhlbHBlci0+dXNlUHJpbWFyeVNlbGVjdGlvbkNsaXBib2FyZCgpOwotICAgIHBhc3RlYm9hcmRI
ZWxwZXItPnNldFVzZVByaW1hcnlTZWxlY3Rpb25DbGlwYm9hcmQodHJ1ZSk7Ci0KLSAgICBFZGl0
b3IqIGVkaXRvciA9IGZyYW1lLT5lZGl0b3IoKTsKLSAgICByZXR1cm5WYWx1ZSA9IGVkaXRvci0+
Y2FuUGFzdGUoKSB8fCBlZGl0b3ItPmNhbkRIVE1MUGFzdGUoKTsKLSAgICBlZGl0b3ItPnBhc3Rl
KCk7Ci0KLSAgICBwYXN0ZWJvYXJkSGVscGVyLT5zZXRVc2VQcmltYXJ5U2VsZWN0aW9uQ2xpcGJv
YXJkKHdhc1VzaW5nUHJpbWFyeSk7Ci0jZW5kaWYKLQotICAgIHJldHVybiByZXR1cm5WYWx1ZTsK
LX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvcXQvV2ViUGFnZVF0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9xdC9XZWJQYWdlUXQuY3BwCmluZGV4IGUzZjYwMzRkZjIzNzJkMGQxYjIy
YzBlMTFhNzE3MWVmOWZiMDQxZGIuLjc2ZmIwNzRhNTkwNGYyZDJlMzdkOTE0ODM3NTRlOTQxOTEx
OGMwYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9X
ZWJQYWdlUXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9X
ZWJQYWdlUXQuY3BwCkBAIC00NDAsMjEgKzQ0MCw0IEBAIHZvaWQgV2ViUGFnZTo6aGlkZVBvcHVw
TWVudSgpCiAgICAgbV9hY3RpdmVQb3B1cE1lbnUgPSAwOwogfQogCi1ib29sIFdlYlBhZ2U6Omhh
bmRsZU1vdXNlUmVsZWFzZUV2ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgcGxhdGZvcm1N
b3VzZUV2ZW50KQotewotI2lmbmRlZiBRVF9OT19DTElQQk9BUkQKLSAgICBpZiAocGxhdGZvcm1N
b3VzZUV2ZW50LmJ1dHRvbigpICE9IFdlYkNvcmU6Ok1pZGRsZUJ1dHRvbikKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotCi0gICAgaWYgKHFBcHAtPmNsaXBib2FyZCgpLT5zdXBwb3J0c1NlbGVjdGlv
bigpKSB7Ci0gICAgICAgIFdlYkNvcmU6OkZyYW1lKiBmb2N1c0ZyYW1lID0gbV9wYWdlLT5mb2N1
c0NvbnRyb2xsZXIoKS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7Ci0gICAgICAgIGlmIChmb2N1c0Zy
YW1lKSB7Ci0gICAgICAgICAgICBmb2N1c0ZyYW1lLT5lZGl0b3IoKS0+Y29tbWFuZChBdG9taWNT
dHJpbmcoIlBhc3RlR2xvYmFsU2VsZWN0aW9uIikpLmV4ZWN1dGUoKTsKLSAgICAgICAgICAgIHJl
dHVybiB0cnVlOwotICAgICAgICB9Ci0gICAgfQotI2VuZGlmCi0gICAgcmV0dXJuIGZhbHNlOwot
fQotCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165823</attachid>
            <date>2012-09-26 09:27:59 -0700</date>
            <delta_ts>2012-09-27 02:55:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97690-20120926182705.patch</filename>
            <type>text/plain</type>
            <size>16885</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NjU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGMyYjZkZDc4ZGE2NjRi
MTRmYzYzNjM2MzFlNmJjZDg0NjQzMjY1MC4uODc0Y2VjYmE4MmI3Y2NkNzE1Mjk1MmI2MTY5OWVm
ODQ4ZDU2YWNjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA5LTI2ICBBbGxh
biBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgorCisgICAgICAgIFVu
aWZ5IGV2ZW50IGhhbmRsaW5nIG9mIG1pZGRsZSBtb3VzZSBidXR0b24uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzY5MAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBhIHVuaWZpZWQgdmVy
c2lvbiBvZiBtaWRkbGUgbW91c2UgYnV0dG9uIHByZXNzIHRoYXQgY2FuIGJlIHNoYXJlZCBiZXR3
ZWVuCisgICAgICAgIGFsbCB0aGUgcG9ydHMgd2l0aCBYMTEgc3VwcG9ydC4KKworICAgICAgICAq
IHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6
aGFuZGxlTW91c2VQcmVzc0V2ZW50U2luZ2xlQ2xpY2spOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRIYW5kbGVyOjpoYW5kbGVNb3VzZVJlbGVhc2VFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpF
dmVudEhhbmRsZXI6OmhhbmRsZVBhc3RlR2xvYmFsU2VsZWN0aW9uKToKKyAgICAgICAgKiBwYWdl
L0V2ZW50SGFuZGxlci5oOgorICAgICAgICAoRXZlbnRIYW5kbGVyKToKKwogMjAxMi0wOS0yNiAg
Q3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0gVW5y
ZXZpZXdlZCBidWlsZGZpeCBhZnRlciByMTI5NjQ3LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpp
bmRleCAzM2RlMGJhN2Y0M2E4MTMzMDk4ZWYyNzBkMzJhNjNmMTczYzI3MDUzLi4yYTFjZTQ5MTRh
NTYxOGRhNzkzYTRhNTEzZWZjZjA5NjdjNWMyMzU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA5LTI2ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxh
bGxhbi5qZW5zZW5AZGlnaWEuY29tPgorCisgICAgICAgIFVuaWZ5IGV2ZW50IGhhbmRsaW5nIG9m
IG1pZGRsZSBtb3VzZSBidXR0b24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NzY5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlbW92ZSBwb3J0IHNwZWNpZmljIGhhbmRsaW5nIG9mIG1pZGRsZSBtb3Vz
ZSBidXR0b24gcHJlc3MuCisKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6aGFuZGxlTW91c2VVcCk6CisKIDIwMTItMDktMjYgIEls
eWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IE5NSTogcmVwbGFjZSBtYW51YWwgSlMgZXh0ZXJuYWwgcmVzb3VyY2VzIGNvdW50aW5n
IHdpdGggTWVtb3J5SW5zdHJ1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDYxMmI4NjdkMjAx
NTNiNGIyOTkxMWE1YjU3MTExN2U2ZWVmNmNmMzYuLjFmNWI1NGI1ODhhMDUzM2M4ZTU0OGMyZTQy
MGMxMTVmZTc4MmY3NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDkt
MjYgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CisKKyAg
ICAgICAgVW5pZnkgZXZlbnQgaGFuZGxpbmcgb2YgbWlkZGxlIG1vdXNlIGJ1dHRvbi4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NjkwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHBvcnQgc3Bl
Y2lmaWMgaGFuZGxpbmcgb2YgbWlkZGxlIG1vdXNlIGJ1dHRvbiBwcmVzcy4KKworICAgICAgICAq
IEFwaS9xd2VicGFnZS5jcHA6CisgICAgICAgIChRV2ViUGFnZVByaXZhdGU6Om1vdXNlUmVsZWFz
ZUV2ZW50KToKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2VfcC5oOgorICAgICAgICAoUVdlYlBhZ2VQ
cml2YXRlKToKKwogMjAxMi0wOS0yNiAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBk
aWdpYS5jb20+CiAKICAgICAgICAgW1F0XSBSZW1vdmUgUXQgUXVpY2sgMSBzdXBwb3J0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggOWIzZjA5YTMzMmRmMmQ0M2VlOGUzNmQ3NTVjZTUzNjRmYjQ4NzA0Yy4uYzFkMzhm
Mjc0ZGUzNDIwY2UzZGRhODhiYTBiNTc1MTU3YTJkM2Q4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIwIEBACisyMDEyLTA5LTI2ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5A
ZGlnaWEuY29tPgorCisgICAgICAgIFVuaWZ5IGV2ZW50IGhhbmRsaW5nIG9mIG1pZGRsZSBtb3Vz
ZSBidXR0b24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05NzY5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJlbW92ZSBRdCBhbmQgR1RLIHBvcnQgc3BlY2lmaWMgaGFuZGxpbmcgb2YgbWlkZGxlIG1vdXNl
IGJ1dHRvbiBwcmVzcy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6aGFuZGxlTW91c2VFdmVudCk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKFdlYlBhZ2UpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9ndGsvV2ViUGFnZUd0ay5jcHA6CisgICAgICAgIChXZWJLaXQpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9xdC9XZWJQYWdlUXQuY3BwOgorCiAyMDEyLTA5
LTI2ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgog
CiAgICAgICAgIFtXSzJdW1dUUl0gUG9saWN5IGNsaWVudDogZHVtcGluZyBmcm9tIGRlY2lkZVBv
bGljeUZvclJlc3BvbnNlIGNhbGxiYWNrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAK
aW5kZXggMzJkMjM4Y2UzODg2YTJhOTFhZDk4NjFkZDlkMzg3NjBmMjc2MzY5OS4uZmUyMzMwZWEy
ZGZlNDYyNmU3YWM4MGQ4MzUxZjY5MWZiNjg2MTNlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmNwcApAQCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIw
MDcsIDIwMDgsIDIwMDksIDIwMTAsIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICogQ29weXJpZ2h0IChDKSAyMDA2IEFsZXhleSBQcm9za3VyeWFrb3YgKGFwQHdlYmtpdC5v
cmcpCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgRGlnaWEgUGxjLiBhbmQvb3IgaXRzIHN1YnNpZGlh
cnkoLWllcykKICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzksNiArNDAsNyBA
QAogI2luY2x1ZGUgIkRyYWdDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRHJhZ1N0YXRlLmgiCiAj
aW5jbHVkZSAiRWRpdG9yLmgiCisjaW5jbHVkZSAiRWRpdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAi
RXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKICNpbmNsdWRlICJGbG9hdFJl
Y3QuaCIKQEAgLTU1OSw3ICs1NjEsMTMgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNl
UHJlc3NFdmVudFNpbmdsZUNsaWNrKGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFIKICAgICB9
IGVsc2UKICAgICAgICAgbmV3U2VsZWN0aW9uID0gVmlzaWJsZVNlbGVjdGlvbih2aXNpYmxlUG9z
KTsKICAgICAKLSAgICByZXR1cm4gdXBkYXRlU2VsZWN0aW9uRm9yTW91c2VEb3duRGlzcGF0Y2hp
bmdTZWxlY3RTdGFydChpbm5lck5vZGUsIG5ld1NlbGVjdGlvbiwgZ3JhbnVsYXJpdHkpOworICAg
IGJvb2wgaGFuZGxlZCA9IHVwZGF0ZVNlbGVjdGlvbkZvck1vdXNlRG93bkRpc3BhdGNoaW5nU2Vs
ZWN0U3RhcnQoaW5uZXJOb2RlLCBuZXdTZWxlY3Rpb24sIGdyYW51bGFyaXR5KTsKKworICAgIGlm
IChldmVudC5ldmVudCgpLmJ1dHRvbigpID09IE1pZGRsZUJ1dHRvbikgeworICAgICAgICAvLyBJ
Z25vcmUgaGFuZGxlZCwgc2luY2Ugd2Ugd2FudCB0byBwYXN0ZSB0byB3aGVyZSB0aGUgY2FyZXQg
d2FzIHBsYWNlZCBhbnl3YXkuCisgICAgICAgIGhhbmRsZWQgPSBoYW5kbGVQYXN0ZUdsb2JhbFNl
bGVjdGlvbihldmVudC5ldmVudCgpKSB8fCBoYW5kbGVkOworICAgIH0KKyAgICByZXR1cm4gaGFu
ZGxlZDsKIH0KIAogc3RhdGljIGlubGluZSBib29sIGNhbk1vdXNlRG93blN0YXJ0U2VsZWN0KE5v
ZGUqIG5vZGUpCkBAIC05MDQsNiArOTEyLDExIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVN
b3VzZVJlbGVhc2VFdmVudChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBlCiAK
ICAgICBtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+c2VsZWN0RnJhbWVFbGVtZW50SW5QYXJlbnRJZkZ1
bGx5U2VsZWN0ZWQoKTsKIAorICAgIGlmIChldmVudC5ldmVudCgpLmJ1dHRvbigpID09IE1pZGRs
ZUJ1dHRvbikgeworICAgICAgICAvLyBJZ25vcmUgaGFuZGxlZCwgc2luY2Ugd2Ugd2FudCB0byBw
YXN0ZSB0byB3aGVyZSB0aGUgY2FyZXQgd2FzIHBsYWNlZCBhbnl3YXkuCisgICAgICAgIGhhbmRs
ZWQgPSBoYW5kbGVQYXN0ZUdsb2JhbFNlbGVjdGlvbihldmVudC5ldmVudCgpKSB8fCBoYW5kbGVk
OworICAgIH0KKwogICAgIHJldHVybiBoYW5kbGVkOwogfQogCkBAIC0xODk2LDYgKzE5MDksNDEg
QEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUmVsZWFzZUV2ZW50KGNvbnN0IFBsYXRm
b3JtTW91c2VFdmVudCYgbW91c2VFdmVudCkKICAgICByZXR1cm4gc3dhbGxvd01vdXNlVXBFdmVu
dCB8fCBzd2FsbG93Q2xpY2tFdmVudCB8fCBzd2FsbG93TW91c2VSZWxlYXNlRXZlbnQ7CiB9CiAK
K2Jvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVQYXN0ZUdsb2JhbFNlbGVjdGlvbihjb25zdCBQbGF0
Zm9ybU1vdXNlRXZlbnQmIG1vdXNlRXZlbnQpCit7CisgICAgLy8gSWYgdGhlIGV2ZW50IHdhcyBh
IG1pZGRsZSBjbGljaywgYXR0ZW1wdCB0byBjb3B5IGdsb2JhbCBzZWxlY3Rpb24gaW4gYWZ0ZXIK
KyAgICAvLyB0aGUgbmV3bHkgc2V0IGNhcmV0IHBvc2l0aW9uLgorICAgIC8vCisgICAgLy8gVGhp
cyBjb2RlIGlzIGNhbGxlZCBmcm9tIGVpdGhlciB0aGUgbW91c2UgdXAgb3IgbW91c2UgZG93biBo
YW5kbGluZy4gVGhlcmUKKyAgICAvLyBpcyBzb21lIGRlYmF0ZSBhYm91dCB3aGVuIHRoZSBnbG9i
YWwgc2VsZWN0aW9uIGlzIHBhc3RlZDoKKyAgICAvLyAgIHh0ZXJtOiBwYXN0ZXMgb24gdXAuCisg
ICAgLy8gICBHVEs6IHBhc3RlcyBvbiBkb3duLgorICAgIC8vICAgUXQ6IHBhc3RlcyBvbiB1cC4K
KyAgICAvLyAgIEZpcmVmb3g6IHBhc3RlcyBvbiB1cC4KKyAgICAvLyAgIENocm9taXVtOiBwYXN0
ZXMgb24gdXAuCisgICAgLy8KKyAgICAvLyBUaGVyZSBpcyBzb21ldGhpbmcgb2YgYSB3ZWJjb21w
YXQgYW5nbGUgdG8gdGhpcyB3ZWxsLCBhcyBoaWdobGlnaHRlZCBieQorICAgIC8vIGNyYnVnLmNv
bS8xNDYwOC4gUGFnZXMgY2FuIGNsZWFyIHRleHQgYm94ZXMgJ29uY2xpY2snIGFuZCwgaWYgd2Ug
cGFzdGUgb24KKyAgICAvLyBkb3duIHRoZW4gdGhlIHRleHQgaXMgcGFzdGVkIGp1c3QgYmVmb3Jl
IHRoZSBvbmNsaWNrIGhhbmRsZXIgcnVucyBhbmQKKyAgICAvLyBjbGVhcnMgdGhlIHRleHQgYm94
LiBTbyBpdCdzIGltcG9ydGFudCB0aGlzIGhhcHBlbnMgYWZ0ZXIgdGhlIGV2ZW50CisgICAgLy8g
aGFuZGxlcnMgaGF2ZSBiZWVuIGZpcmVkLgorI2lmIFBMQVRGT1JNKEdUSykKKyAgICBpZiAobW91
c2VFdmVudC50eXBlKCkgIT0gUGxhdGZvcm1FdmVudDo6TW91c2VQcmVzc2VkKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisjZWxzZQorICAgIGlmIChtb3VzZUV2ZW50LnR5cGUoKSAhPSBQbGF0Zm9y
bUV2ZW50OjpNb3VzZVJlbGVhc2VkKQorICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKKwor
ICAgIEZyYW1lKiBmb2N1c0ZyYW1lID0gbV9mcmFtZS0+cGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIo
KS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7CisgICAgLy8gRG8gbm90IHBhc3RlIGhlcmUgaWYgdGhl
IGZvY3VzIHdhcyBtb3ZlZCBzb21ld2hlcmUgZWxzZS4KKyAgICBpZiAobV9mcmFtZSA9PSBmb2N1
c0ZyYW1lICYmIG1fZnJhbWUtPmVkaXRvcigpLT5jbGllbnQoKS0+c3VwcG9ydHNHbG9iYWxTZWxl
Y3Rpb24oKSkKKyAgICAgICAgcmV0dXJuIG1fZnJhbWUtPmVkaXRvcigpLT5jb21tYW5kKEF0b21p
Y1N0cmluZygiUGFzdGVHbG9iYWxTZWxlY3Rpb24iKSkuZXhlY3V0ZSgpOworCisgICAgcmV0dXJu
IGZhbHNlOworfQorCisKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogYm9vbCBFdmVudEhhbmRs
ZXI6OmRpc3BhdGNoRHJhZ0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBOb2Rl
KiBkcmFnVGFyZ2V0LCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50LCBDbGlwYm9hcmQq
IGNsaXBib2FyZCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDZkOGEwYWI3
NjczYThjOGZkZmI0YzlhOTVkYmZjMWFhZDk1NWQ0ODcuLjZlMWQ3ZWQyMDgzNmRkNDg4ZGU0YTgw
ZTA5NzQ5NThmZGQ0YjI3MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtMTYw
LDYgKzE2MCw3IEBAIHB1YmxpYzoKICAgICBib29sIGhhbmRsZU1vdXNlUmVsZWFzZUV2ZW50KGNv
bnN0IFBsYXRmb3JtTW91c2VFdmVudCYpOwogICAgIGJvb2wgaGFuZGxlV2hlZWxFdmVudChjb25z
dCBQbGF0Zm9ybVdoZWVsRXZlbnQmKTsKICAgICB2b2lkIGRlZmF1bHRXaGVlbEV2ZW50SGFuZGxl
cihOb2RlKiwgV2hlZWxFdmVudCopOworICAgIGJvb2wgaGFuZGxlUGFzdGVHbG9iYWxTZWxlY3Rp
b24oY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50Jik7CiAKICNpZiBFTkFCTEUoR0VTVFVSRV9FVkVO
VFMpCiAgICAgYm9vbCBoYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgUGxhdGZvcm1HZXN0dXJlRXZl
bnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBs
LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCAy
NjFmN2MzNTdlOWE3OGI5MWYyYTdkM2FiZmQ5NGRiMmUyOGE5OGE1Li5iZjRjMzNiMWVjZmMyYWRj
ZTI5NWE4ZDkyNjY0NTc5MzgzMmYxYzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViVmlld0ltcGwuY3BwCkBAIC05Miw3ICs5Miw2IEBACiAjaW5jbHVkZSAiUGFnZUdyb3VwTG9h
ZERlZmVycmVyLmgiCiAjaW5jbHVkZSAiUGFnZVBvcHVwQ2xpZW50LmgiCiAjaW5jbHVkZSAiUGFn
ZVdpZGdldERlbGVnYXRlLmgiCi0jaW5jbHVkZSAiUGFzdGVib2FyZC5oIgogI2luY2x1ZGUgIlBs
YXRmb3JtQ29udGV4dFNraWEuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCIK
ICNpbmNsdWRlICJQbGF0Zm9ybU1vdXNlRXZlbnQuaCIKQEAgLTYyMiwzOSArNjIxLDYgQEAgdm9p
ZCBXZWJWaWV3SW1wbDo6bW91c2VDb250ZXh0TWVudShjb25zdCBXZWJNb3VzZUV2ZW50JiBldmVu
dCkKIAogdm9pZCBXZWJWaWV3SW1wbDo6aGFuZGxlTW91c2VVcChGcmFtZSYgbWFpbkZyYW1lLCBj
b25zdCBXZWJNb3VzZUV2ZW50JiBldmVudCkKIHsKLSNpZiBPUyhVTklYKSAmJiAhT1MoREFSV0lO
KQotICAgIC8vIElmIHRoZSBldmVudCB3YXMgYSBtaWRkbGUgY2xpY2ssIGF0dGVtcHQgdG8gY29w
eSB0ZXh0IGludG8gdGhlIGZvY3VzZWQKLSAgICAvLyBmcmFtZS4gV2UgZXhlY3V0ZSB0aGlzIGJl
Zm9yZSB3ZSBsZXQgdGhlIHBhZ2UgaGF2ZSBhIGdvIGF0IHRoZSBldmVudAotICAgIC8vIGJlY2F1
c2UgdGhlIHBhZ2UgbWF5IGNoYW5nZSB3aGF0IGlzIGZvY3VzZWQgZHVyaW5nIGluIGl0cyBldmVu
dCBoYW5kbGVyLgotICAgIC8vCi0gICAgLy8gVGhpcyBjb2RlIGlzIGluIHRoZSBtb3VzZSB1cCBo
YW5kbGVyLiBUaGVyZSBpcyBzb21lIGRlYmF0ZSBhYm91dCBwdXR0aW5nCi0gICAgLy8gdGhpcyBo
ZXJlLCBhcyBvcHBvc2VkIHRvIHRoZSBtb3VzZSBkb3duIGhhbmRsZXIuCi0gICAgLy8gICB4dGVy
bTogcGFzdGVzIG9uIHVwLgotICAgIC8vICAgR1RLOiBwYXN0ZXMgb24gZG93bi4KLSAgICAvLyAg
IEZpcmVmb3g6IHBhc3RlcyBvbiB1cC4KLSAgICAvLyAgIE1pZG9yaTogY291bGRuJ3QgcGFzdGUg
YXQgYWxsIHdpdGggMC4xLjIKLSAgICAvLwotICAgIC8vIFRoZXJlIGlzIHNvbWV0aGluZyBvZiBh
IHdlYmNvbXBhdCBhbmdsZSB0byB0aGlzIHdlbGwsIGFzIGhpZ2hsaWdodGVkIGJ5Ci0gICAgLy8g
Y3JidWcuY29tLzE0NjA4LiBQYWdlcyBjYW4gY2xlYXIgdGV4dCBib3hlcyAnb25jbGljaycgYW5k
LCBpZiB3ZSBwYXN0ZSBvbgotICAgIC8vIGRvd24gdGhlbiB0aGUgdGV4dCBpcyBwYXN0ZWQganVz
dCBiZWZvcmUgdGhlIG9uY2xpY2sgaGFuZGxlciBydW5zIGFuZAotICAgIC8vIGNsZWFycyB0aGUg
dGV4dCBib3guIFNvIGl0J3MgaW1wb3J0YW50IHRoaXMgaGFwcGVucyBhZnRlciB0aGUKLSAgICAv
LyBoYW5kbGVNb3VzZVJlbGVhc2VFdmVudCgpIGVhcmxpZXIgaW4gdGhpcyBmdW5jdGlvbgotICAg
IGlmIChldmVudC5idXR0b24gPT0gV2ViTW91c2VFdmVudDo6QnV0dG9uTWlkZGxlKSB7Ci0gICAg
ICAgIEZyYW1lKiBmb2N1c2VkID0gZm9jdXNlZFdlYkNvcmVGcmFtZSgpOwotICAgICAgICBGcmFt
ZVZpZXcqIHZpZXcgPSBtX3BhZ2UtPm1haW5GcmFtZSgpLT52aWV3KCk7Ci0gICAgICAgIEludFBv
aW50IGNsaWNrUG9pbnQobV9sYXN0TW91c2VEb3duUG9pbnQueCwgbV9sYXN0TW91c2VEb3duUG9p
bnQueSk7Ci0gICAgICAgIEludFBvaW50IGNvbnRlbnRQb2ludCA9IHZpZXctPndpbmRvd1RvQ29u
dGVudHMoY2xpY2tQb2ludCk7Ci0gICAgICAgIEhpdFRlc3RSZXN1bHQgaGl0VGVzdFJlc3VsdCA9
IGZvY3VzZWQtPmV2ZW50SGFuZGxlcigpLT5oaXRUZXN0UmVzdWx0QXRQb2ludChjb250ZW50UG9p
bnQsIGZhbHNlLCBmYWxzZSwgU2hvdWxkSGl0VGVzdFNjcm9sbGJhcnMpOwotICAgICAgICAvLyBX
ZSBkb24ndCB3YW50IHRvIHNlbmQgYSBwYXN0ZSB3aGVuIG1pZGRsZSBjbGlja2luZyBhIHNjcm9s
bCBiYXIgb3IgYQotICAgICAgICAvLyBsaW5rICh3aGljaCB3aWxsIG5hdmlnYXRlIGxhdGVyIGlu
IHRoZSBjb2RlKS4gIFRoZSBtYWluIHNjcm9sbGJhcnMKLSAgICAgICAgLy8gaGF2ZSB0byBiZSBo
YW5kbGVkIHNlcGFyYXRlbHkuCi0gICAgICAgIGlmICghaGl0VGVzdFJlc3VsdC5zY3JvbGxiYXIo
KSAmJiAhaGl0VGVzdFJlc3VsdC5pc0xpdmVMaW5rKCkgJiYgZm9jdXNlZCAmJiAhdmlldy0+c2Ny
b2xsYmFyQXRQb2ludChjbGlja1BvaW50KSkgewotICAgICAgICAgICAgRWRpdG9yKiBlZGl0b3Ig
PSBmb2N1c2VkLT5lZGl0b3IoKTsKLSAgICAgICAgICAgIGVkaXRvci0+Y29tbWFuZChBdG9taWNT
dHJpbmcoIlBhc3RlR2xvYmFsU2VsZWN0aW9uIikpLmV4ZWN1dGUoKTsKLSAgICAgICAgfQotICAg
IH0KLSNlbmRpZgotCiAgICAgUGFnZVdpZGdldEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VVcCht
YWluRnJhbWUsIGV2ZW50KTsKIAogI2lmIE9TKFdJTkRPV1MpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFn
ZS5jcHAKaW5kZXggNWE4NDRiZTNkMDcyZWU3YzFmYjBmN2U1MDJmMTE2YWViNmI5NmUzOC4uNzY5
N2YxYTZiYjc1NDRiMWZjMjU1NDEzYThkZmU5OWE4ZjgxMGI1MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3
ZWJwYWdlLmNwcApAQCAtNzU3LDIxICs3NTcsNiBAQCB2b2lkIFFXZWJQYWdlUHJpdmF0ZTo6bW91
c2VUcmlwbGVDbGlja0V2ZW50KFQgKmV2KQogICAgIGV2LT5zZXRBY2NlcHRlZChhY2NlcHRlZCk7
CiB9CiAKLXZvaWQgUVdlYlBhZ2VQcml2YXRlOjpoYW5kbGVDbGlwYm9hcmQoUUV2ZW50KiBldiwg
UXQ6Ok1vdXNlQnV0dG9uIGJ1dHRvbikKLXsKLSNpZm5kZWYgUVRfTk9fQ0xJUEJPQVJECi0gICAg
aWYgKFFBcHBsaWNhdGlvbjo6Y2xpcGJvYXJkKCktPnN1cHBvcnRzU2VsZWN0aW9uKCkpIHsKLSAg
ICAgICAgV2ViQ29yZTo6RnJhbWUqIGZvY3VzRnJhbWUgPSBwYWdlLT5mb2N1c0NvbnRyb2xsZXIo
KS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7Ci0gICAgICAgIGlmIChidXR0b24gPT0gUXQ6Ok1pZEJ1
dHRvbikgewotICAgICAgICAgICAgaWYgKGZvY3VzRnJhbWUpIHsKLSAgICAgICAgICAgICAgICBm
b2N1c0ZyYW1lLT5lZGl0b3IoKS0+Y29tbWFuZChBdG9taWNTdHJpbmcoIlBhc3RlR2xvYmFsU2Vs
ZWN0aW9uIikpLmV4ZWN1dGUoKTsKLSAgICAgICAgICAgICAgICBldi0+c2V0QWNjZXB0ZWQodHJ1
ZSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0jZW5kaWYKLX0KLQogdGVtcGxh
dGU8Y2xhc3MgVD4KIHZvaWQgUVdlYlBhZ2VQcml2YXRlOjptb3VzZVJlbGVhc2VFdmVudChUICpl
dikKIHsKQEAgLTc4Nyw4ICs3NzIsNiBAQCB2b2lkIFFXZWJQYWdlUHJpdmF0ZTo6bW91c2VSZWxl
YXNlRXZlbnQoVCAqZXYpCiAgICAgICAgIGFjY2VwdGVkID0gZnJhbWUtPmV2ZW50SGFuZGxlcigp
LT5oYW5kbGVNb3VzZVJlbGVhc2VFdmVudChtZXYpOwogICAgIGV2LT5zZXRBY2NlcHRlZChhY2Nl
cHRlZCk7CiAKLSAgICBpZiAoIWV2LT5pc0FjY2VwdGVkKCkpCi0gICAgICAgIGhhbmRsZUNsaXBi
b2FyZChldiwgZXYtPmJ1dHRvbigpKTsKICAgICBoYW5kbGVTb2Z0d2FyZUlucHV0UGFuZWwoZXYt
PmJ1dHRvbigpLCBRUG9pbnRGKGV2LT5wb3MoKSkudG9Qb2ludCgpKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oIGIvU291cmNlL1dlYktpdC9xdC9B
cGkvcXdlYnBhZ2VfcC5oCmluZGV4IGE4ZTM3M2JjYTY1ZDRhMTI5Mjg4ZjBhMTFiNDBlMWUwYmY0
ODYxM2IuLjg2NTc3ZDM1MTlmNDQ4ZWIzMTBjNDkxOTNiMjJmMGU1NzRiOTVmYzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlX3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L3F0L0FwaS9xd2VicGFnZV9wLmgKQEAgLTEyNyw3ICsxMjcsNiBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIHNob3J0Y3V0T3ZlcnJpZGVFdmVudChRS2V5RXZlbnQqKTsKICAgICB2b2lkIGxlYXZlRXZl
bnQoUUV2ZW50Kik7Ci0gICAgdm9pZCBoYW5kbGVDbGlwYm9hcmQoUUV2ZW50KiwgUXQ6Ok1vdXNl
QnV0dG9uKTsKICAgICB2b2lkIGhhbmRsZVNvZnR3YXJlSW5wdXRQYW5lbChRdDo6TW91c2VCdXR0
b24sIGNvbnN0IFFQb2ludCYpOwogICAgIGJvb2wgaGFuZGxlU2Nyb2xsaW5nKFFLZXlFdmVudCos
IFdlYkNvcmU6OkZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAppbmRleCA2MWU4MmI1ZDk2MjQ5M2QzOGM0ZjQ1MDJkNmI4NThjZjgwZTll
NWY2Li5kYmFiYzMyNzM1MzhlNzM2MzEyMTE3ZTdmYjZhNzUyYjFlOGQzNTA2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0xMzY0LDIxICsx
MzY0LDExIEBAIHN0YXRpYyBib29sIGhhbmRsZU1vdXNlRXZlbnQoY29uc3QgV2ViTW91c2VFdmVu
dCYgbW91c2VFdmVudCwgV2ViUGFnZSogcGFnZSwgYm9vCiAgICAgICAgICAgICBpZiAoaXNDb250
ZXh0Q2xpY2socGxhdGZvcm1Nb3VzZUV2ZW50KSkKICAgICAgICAgICAgICAgICBoYW5kbGVkID0g
aGFuZGxlQ29udGV4dE1lbnVFdmVudChwbGF0Zm9ybU1vdXNlRXZlbnQsIHBhZ2UpOwogI2VuZGlm
Ci0jaWYgUExBVEZPUk0oR1RLKQotICAgICAgICAgICAgYm9vbCBndGtNb3VzZUJ1dHRvblByZXNz
SGFuZGxlZCA9IHBhZ2UtPmhhbmRsZU1vdXNlUHJlc3NlZEV2ZW50KHBsYXRmb3JtTW91c2VFdmVu
dCk7Ci0gICAgICAgICAgICBoYW5kbGVkID0gaGFuZGxlZCB8fCBndGtNb3VzZUJ1dHRvblByZXNz
SGFuZGxlZDsKLSNlbmRpZgotCi0gICAgICAgICAgICByZXR1cm4gaGFuZGxlZDsKLSAgICAgICAg
fQotICAgICAgICBjYXNlIFBsYXRmb3JtRXZlbnQ6Ok1vdXNlUmVsZWFzZWQ6IHsKLSAgICAgICAg
ICAgIGJvb2wgaGFuZGxlZCA9IGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlTW91c2VSZWxl
YXNlRXZlbnQocGxhdGZvcm1Nb3VzZUV2ZW50KTsKLSNpZiBQTEFURk9STShRVCkKLSAgICAgICAg
ICAgIGlmICghaGFuZGxlZCkKLSAgICAgICAgICAgICAgICBoYW5kbGVkID0gcGFnZS0+aGFuZGxl
TW91c2VSZWxlYXNlRXZlbnQocGxhdGZvcm1Nb3VzZUV2ZW50KTsKLSNlbmRpZgogICAgICAgICAg
ICAgcmV0dXJuIGhhbmRsZWQ7CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSBQbGF0Zm9ybUV2ZW50
OjpNb3VzZVJlbGVhc2VkOgorICAgICAgICAgICAgcmV0dXJuIGZyYW1lLT5ldmVudEhhbmRsZXIo
KS0+aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQocGxhdGZvcm1Nb3VzZUV2ZW50KTsKKwogICAgICAg
ICBjYXNlIFBsYXRmb3JtRXZlbnQ6Ok1vdXNlTW92ZWQ6CiAgICAgICAgICAgICBpZiAob25seVVw
ZGF0ZVNjcm9sbGJhcnMpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZyYW1lLT5ldmVudEhhbmRs
ZXIoKS0+cGFzc01vdXNlTW92ZWRFdmVudFRvU2Nyb2xsYmFycyhwbGF0Zm9ybU1vdXNlRXZlbnQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggZTIx
NDA0YmQ3ZjUwMTQxZmRkMWY5NmNmZWNjZGEzMzI4YjQ2MzBkZi4uODgzZDhhNWY2YjVlOTQyOGQy
N2IzNDY4NjIyZTRjYzg5NzQ5ZTkyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oCkBAIC00NTcsMTYgKzQ1NywxMSBAQCBwdWJsaWM6CiAKICNlbGlmIFBM
QVRGT1JNKEdUSykKICAgICB2b2lkIHVwZGF0ZUFjY2Vzc2liaWxpdHlUcmVlKCk7Ci0gICAgYm9v
bCBoYW5kbGVNb3VzZVByZXNzZWRFdmVudChjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybU1vdXNlRXZl
bnQmKTsKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCiAgICAgdm9pZCBzZXRBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nV2luZG93SWQoaW50NjRfdCBuYXRpdmVXaW5kb3dIYW5kbGUpOwogI2VuZGlm
CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKFFUKQotICAgIGJvb2wgaGFuZGxlTW91c2VSZWxlYXNl
RXZlbnQoY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50Jik7Ci0jZW5kaWYKLQogICAg
IHZvaWQgc2V0Q29tcG9zaXRpb25Gb3JUZXN0aW5nKGNvbnN0IFN0cmluZyYgY29tcG9zaXRpb25T
dHJpbmcsIHVpbnQ2NF90IGZyb20sIHVpbnQ2NF90IGxlbmd0aCk7CiAgICAgYm9vbCBoYXNDb21w
b3NpdGlvbkZvclRlc3RpbmcoKTsKICAgICB2b2lkIGNvbmZpcm1Db21wb3NpdGlvbkZvclRlc3Rp
bmcoY29uc3QgU3RyaW5nJiBjb21wb3NpdGlvblN0cmluZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJQYWdlR3RrLmNwcAppbmRleCBlMjhlNzRm
Mzk5OWJkODMxYTNiOGE4MDYwMDU2ZGExOGRlZjllMjUzLi42OWY5OWU2NmU5Mzk4ZDllMTY2NzBi
ZjgzODIzZmYwYzNkOTY1MzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9ndGsvV2ViUGFnZUd0ay5jcHAKQEAgLTE2MiwyOSArMTYyLDQgQEAgdm9pZCBX
ZWJQYWdlOjpzZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nV2luZG93SWQoaW50NjRfdCBuYXRpdmVX
aW5kb3dIYW5kbGUpCiB9CiAjZW5kaWYKIAotYm9vbCBXZWJQYWdlOjpoYW5kbGVNb3VzZVByZXNz
ZWRFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIHBsYXRmb3JtTW91c2VFdmVudCkKLXsK
LSAgICBib29sIHJldHVyblZhbHVlID0gZmFsc2U7Ci0gICAgaWYgKHBsYXRmb3JtTW91c2VFdmVu
dC5idXR0b24oKSAhPSBXZWJDb3JlOjpNaWRkbGVCdXR0b24pCi0gICAgICAgIHJldHVybiByZXR1
cm5WYWx1ZTsKLQotI2lmIFBMQVRGT1JNKFgxMSkKLSAgICBGcmFtZSogZnJhbWUgPSBtX3BhZ2Ut
PmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKLSAgICBpZiAoIWZyYW1l
KQotICAgICAgICByZXR1cm4gcmV0dXJuVmFsdWU7Ci0KLSAgICBQYXN0ZWJvYXJkSGVscGVyKiBw
YXN0ZWJvYXJkSGVscGVyID0gUGFzdGVib2FyZEhlbHBlcjo6ZGVmYXVsdFBhc3RlYm9hcmRIZWxw
ZXIoKTsKLSAgICBib29sIHdhc1VzaW5nUHJpbWFyeSA9IHBhc3RlYm9hcmRIZWxwZXItPnVzZVBy
aW1hcnlTZWxlY3Rpb25DbGlwYm9hcmQoKTsKLSAgICBwYXN0ZWJvYXJkSGVscGVyLT5zZXRVc2VQ
cmltYXJ5U2VsZWN0aW9uQ2xpcGJvYXJkKHRydWUpOwotCi0gICAgRWRpdG9yKiBlZGl0b3IgPSBm
cmFtZS0+ZWRpdG9yKCk7Ci0gICAgcmV0dXJuVmFsdWUgPSBlZGl0b3ItPmNhblBhc3RlKCkgfHwg
ZWRpdG9yLT5jYW5ESFRNTFBhc3RlKCk7Ci0gICAgZWRpdG9yLT5wYXN0ZSgpOwotCi0gICAgcGFz
dGVib2FyZEhlbHBlci0+c2V0VXNlUHJpbWFyeVNlbGVjdGlvbkNsaXBib2FyZCh3YXNVc2luZ1By
aW1hcnkpOwotI2VuZGlmCi0KLSAgICByZXR1cm4gcmV0dXJuVmFsdWU7Ci19Ci0KIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL3F0L1dlYlBhZ2VRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
cXQvV2ViUGFnZVF0LmNwcAppbmRleCBlM2Y2MDM0ZGYyMzcyZDBkMWIyMmMwZTExYTcxNzFlZjlm
YjA0MWRiLi43NmZiMDc0YTU5MDRmMmQyZTM3ZDkxNDgzNzU0ZTk0MTkxMThjMGE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvV2ViUGFnZVF0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvV2ViUGFnZVF0LmNwcApA
QCAtNDQwLDIxICs0NDAsNCBAQCB2b2lkIFdlYlBhZ2U6OmhpZGVQb3B1cE1lbnUoKQogICAgIG1f
YWN0aXZlUG9wdXBNZW51ID0gMDsKIH0KIAotYm9vbCBXZWJQYWdlOjpoYW5kbGVNb3VzZVJlbGVh
c2VFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIHBsYXRmb3JtTW91c2VFdmVudCkKLXsK
LSNpZm5kZWYgUVRfTk9fQ0xJUEJPQVJECi0gICAgaWYgKHBsYXRmb3JtTW91c2VFdmVudC5idXR0
b24oKSAhPSBXZWJDb3JlOjpNaWRkbGVCdXR0b24pCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQot
ICAgIGlmIChxQXBwLT5jbGlwYm9hcmQoKS0+c3VwcG9ydHNTZWxlY3Rpb24oKSkgewotICAgICAg
ICBXZWJDb3JlOjpGcmFtZSogZm9jdXNGcmFtZSA9IG1fcGFnZS0+Zm9jdXNDb250cm9sbGVyKCkt
PmZvY3VzZWRPck1haW5GcmFtZSgpOwotICAgICAgICBpZiAoZm9jdXNGcmFtZSkgewotICAgICAg
ICAgICAgZm9jdXNGcmFtZS0+ZWRpdG9yKCktPmNvbW1hbmQoQXRvbWljU3RyaW5nKCJQYXN0ZUds
b2JhbFNlbGVjdGlvbiIpKS5leGVjdXRlKCk7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICAgICAgfQotICAgIH0KLSNlbmRpZgotICAgIHJldHVybiBmYWxzZTsKLX0KLQogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165959</attachid>
            <date>2012-09-27 02:55:32 -0700</date>
            <delta_ts>2012-09-27 04:11:55 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-97690-20120927115437.patch</filename>
            <type>text/plain</type>
            <size>20092</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NjU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGMyYjZkZDc4ZGE2NjRi
MTRmYzYzNjM2MzFlNmJjZDg0NjQzMjY1MC4uMTk2YWFjODU4NGZmNGU4YjllYmYyZTM5ZGQ3NDI0
NWVkYWQzMmFlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA5LTI2ICBBbGxh
biBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgorCisgICAgICAgIFVu
aWZ5IGV2ZW50IGhhbmRsaW5nIG9mIG1pZGRsZSBtb3VzZSBidXR0b24uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzY5MAorCisgICAgICAgIFJldmll
d2VkIGJ5IFRvbnkgQ2hhbmcuCisKKyAgICAgICAgSW1wbGVtZW50IGEgdW5pZmllZCB2ZXJzaW9u
IG9mIG1pZGRsZSBtb3VzZSBidXR0b24gcHJlc3MgdGhhdCBjYW4gYmUgc2hhcmVkIGJldHdlZW4K
KyAgICAgICAgYWxsIHRoZSBwb3J0cyB3aXRoIFgxMSBzdXBwb3J0LgorCisgICAgICAgICogcGFn
ZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5k
bGVNb3VzZVByZXNzRXZlbnRTaW5nbGVDbGljayk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhh
bmRsZXI6OmhhbmRsZU1vdXNlUmVsZWFzZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50
SGFuZGxlcjo6aGFuZGxlUGFzdGVHbG9iYWxTZWxlY3Rpb24pOgorICAgICAgICAqIHBhZ2UvRXZl
bnRIYW5kbGVyLmg6CisgICAgICAgIChFdmVudEhhbmRsZXIpOgorCiAyMDEyLTA5LTI2ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBVbnJldmll
d2VkIGJ1aWxkZml4IGFmdGVyIHIxMjk2NDcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDMzZGUwYmE3ZjQzYTgxMzMwOThlZjI3MGQzMmE2M2YxNzNjMjcwNTMuLmM4NTFmNzExMjNiOGFl
ODM2ZjA3NjU5OTQ4ZDM0ZGI4MmU5YjEwZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTItMDktMjYgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFu
LmplbnNlbkBkaWdpYS5jb20+CisKKyAgICAgICAgVW5pZnkgZXZlbnQgaGFuZGxpbmcgb2YgbWlk
ZGxlIG1vdXNlIGJ1dHRvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk3NjkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFuZy4KKworICAg
ICAgICBSZW1vdmUgcG9ydCBzcGVjaWZpYyBoYW5kbGluZyBvZiBtaWRkbGUgbW91c2UgYnV0dG9u
IHByZXNzLgorCisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViVmlld0ltcGw6OmhhbmRsZU1vdXNlVXApOgorCiAyMDEyLTA5LTI2ICBJbHlhIFRpa2hv
bm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBO
TUk6IHJlcGxhY2UgbWFudWFsIEpTIGV4dGVybmFsIHJlc291cmNlcyBjb3VudGluZyB3aXRoIE1l
bW9yeUluc3RydW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDlmOWZmNGNjNjlkYmZlMGU0
OWVmZTQ3NDg0OWZhZTc1MWFjZTcwNDAuLjUwNGIyYWQxZGQ0MGM3YTM5OGJkNTcyMTE3YmQ1Nzhm
MWYwMmUyZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0wOS0yNyAg
QWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVuc2VuQGRpZ2lhLmNvbT4KKworICAgICAg
ICBVbmlmeSBldmVudCBoYW5kbGluZyBvZiBtaWRkbGUgbW91c2UgYnV0dG9uLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc2OTAKKworICAgICAgICBS
ZXZpZXdlZCBieSBUb255IENoYW5nLgorCisgICAgICAgIFJlbW92ZSBwb3J0IHNwZWNpZmljIGhh
bmRsaW5nIG9mIG1pZGRsZSBtb3VzZSBidXR0b24gcHJlc3MuCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGll
bnQ6OnN1cHBvcnRzR2xvYmFsU2VsZWN0aW9uKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9F
ZGl0b3JDbGllbnRHdGsuaDoKKyAgICAgICAgKEVkaXRvckNsaWVudCk6CisgICAgICAgICogd2Vi
a2l0L3dlYmtpdHdlYnZpZXcuY3BwOgorICAgICAgICAod2Via2l0X3dlYl92aWV3X2J1dHRvbl9w
cmVzc19ldmVudCk6CisKIDIwMTItMDktMjYgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIFVzZSBYRGFtYWdlIHRvIHNpbXBsaWZ5IFJlZGly
ZWN0ZWRYQ29tcG9zaXRlV2luZG93CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDYxMmI4NjdkMjAxNTNiNGIy
OTkxMWE1YjU3MTExN2U2ZWVmNmNmMzYuLmUxNGU1NzZiNTJlNDc4MGYwYWNhMzRhMWE1YmEzNzgx
Njg1YTNiNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDktMjYgIEFs
bGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CisKKyAgICAgICAg
VW5pZnkgZXZlbnQgaGFuZGxpbmcgb2YgbWlkZGxlIG1vdXNlIGJ1dHRvbi4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NjkwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgVG9ueSBDaGFuZy4KKworICAgICAgICBSZW1vdmUgcG9ydCBzcGVjaWZpYyBoYW5k
bGluZyBvZiBtaWRkbGUgbW91c2UgYnV0dG9uIHByZXNzLgorCisgICAgICAgICogQXBpL3F3ZWJw
YWdlLmNwcDoKKyAgICAgICAgKFFXZWJQYWdlUHJpdmF0ZTo6bW91c2VSZWxlYXNlRXZlbnQpOgor
ICAgICAgICAqIEFwaS9xd2VicGFnZV9wLmg6CisgICAgICAgIChRV2ViUGFnZVByaXZhdGUpOgor
CiAyMDEyLTA5LTI2ICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQGRpZ2lhLmNvbT4K
IAogICAgICAgICBbUXRdIFJlbW92ZSBRdCBRdWljayAxIHN1cHBvcnQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA5
YjNmMDlhMzMyZGYyZDQzZWU4ZTM2ZDc1NWNlNTM2NGZiNDg3MDRjLi45ZTRmMTM1MTA5MGE4Nzkx
NDI2ZTFkNjYzNmZjZmVjZmFkYWQ3MzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIw
MTItMDktMjYgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+
CisKKyAgICAgICAgVW5pZnkgZXZlbnQgaGFuZGxpbmcgb2YgbWlkZGxlIG1vdXNlIGJ1dHRvbi4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NjkwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFuZy4KKworICAgICAgICBSZW1vdmUgUXQgYW5k
IEdUSyBwb3J0IHNwZWNpZmljIGhhbmRsaW5nIG9mIG1pZGRsZSBtb3VzZSBidXR0b24gcHJlc3Mu
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OmhhbmRsZU1vdXNlRXZlbnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmg6CisgICAgICAgIChXZWJQYWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvZ3RrL1dlYlBhZ2VHdGsuY3BwOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvcXQvV2ViUGFnZVF0LmNwcDoKKwogMjAxMi0wOS0yNiAgTWlraGFpbCBQ
b3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KIAogICAgICAgICBbV0sy
XVtXVFJdIFBvbGljeSBjbGllbnQ6IGR1bXBpbmcgZnJvbSBkZWNpZGVQb2xpY3lGb3JSZXNwb25z
ZSBjYWxsYmFjawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDMyZDIzOGNl
Mzg4NmEyYTkxYWQ5ODYxZGQ5ZDM4NzYwZjI3NjM2OTkuLmZlMjMzMGVhMmRmZTQ2MjZlN2FjODBk
ODM1MWY2OTFmYjY4NjEzZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAg
LTEsNiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5
LCAyMDEwLCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdo
dCAoQykgMjAwNiBBbGV4ZXkgUHJvc2t1cnlha292IChhcEB3ZWJraXQub3JnKQorICogQ29weXJp
Z2h0IChDKSAyMDEyIERpZ2lhIFBsYy4gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM5LDYgKzQwLDcgQEAKICNpbmNsdWRlICJE
cmFnQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkRyYWdTdGF0ZS5oIgogI2luY2x1ZGUgIkVkaXRv
ci5oIgorI2luY2x1ZGUgIkVkaXRvckNsaWVudC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIK
ICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCkBAIC01NTks
NyArNTYxLDEzIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnRTaW5n
bGVDbGljayhjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSCiAgICAgfSBlbHNlCiAgICAgICAg
IG5ld1NlbGVjdGlvbiA9IFZpc2libGVTZWxlY3Rpb24odmlzaWJsZVBvcyk7CiAgICAgCi0gICAg
cmV0dXJuIHVwZGF0ZVNlbGVjdGlvbkZvck1vdXNlRG93bkRpc3BhdGNoaW5nU2VsZWN0U3RhcnQo
aW5uZXJOb2RlLCBuZXdTZWxlY3Rpb24sIGdyYW51bGFyaXR5KTsKKyAgICBib29sIGhhbmRsZWQg
PSB1cGRhdGVTZWxlY3Rpb25Gb3JNb3VzZURvd25EaXNwYXRjaGluZ1NlbGVjdFN0YXJ0KGlubmVy
Tm9kZSwgbmV3U2VsZWN0aW9uLCBncmFudWxhcml0eSk7CisKKyAgICBpZiAoZXZlbnQuZXZlbnQo
KS5idXR0b24oKSA9PSBNaWRkbGVCdXR0b24pIHsKKyAgICAgICAgLy8gSWdub3JlIGhhbmRsZWQs
IHNpbmNlIHdlIHdhbnQgdG8gcGFzdGUgdG8gd2hlcmUgdGhlIGNhcmV0IHdhcyBwbGFjZWQgYW55
d2F5LgorICAgICAgICBoYW5kbGVkID0gaGFuZGxlUGFzdGVHbG9iYWxTZWxlY3Rpb24oZXZlbnQu
ZXZlbnQoKSkgfHwgaGFuZGxlZDsKKyAgICB9CisgICAgcmV0dXJuIGhhbmRsZWQ7CiB9CiAKIHN0
YXRpYyBpbmxpbmUgYm9vbCBjYW5Nb3VzZURvd25TdGFydFNlbGVjdChOb2RlKiBub2RlKQpAQCAt
OTA0LDYgKzkxMiwxMSBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VSZWxlYXNlRXZl
bnQoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZQogCiAgICAgbV9mcmFtZS0+
c2VsZWN0aW9uKCktPnNlbGVjdEZyYW1lRWxlbWVudEluUGFyZW50SWZGdWxseVNlbGVjdGVkKCk7
CiAKKyAgICBpZiAoZXZlbnQuZXZlbnQoKS5idXR0b24oKSA9PSBNaWRkbGVCdXR0b24pIHsKKyAg
ICAgICAgLy8gSWdub3JlIGhhbmRsZWQsIHNpbmNlIHdlIHdhbnQgdG8gcGFzdGUgdG8gd2hlcmUg
dGhlIGNhcmV0IHdhcyBwbGFjZWQgYW55d2F5LgorICAgICAgICBoYW5kbGVkID0gaGFuZGxlUGFz
dGVHbG9iYWxTZWxlY3Rpb24oZXZlbnQuZXZlbnQoKSkgfHwgaGFuZGxlZDsKKyAgICB9CisKICAg
ICByZXR1cm4gaGFuZGxlZDsKIH0KIApAQCAtMTg5Niw2ICsxOTA5LDQxIEBAIGJvb2wgRXZlbnRI
YW5kbGVyOjpoYW5kbGVNb3VzZVJlbGVhc2VFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQm
IG1vdXNlRXZlbnQpCiAgICAgcmV0dXJuIHN3YWxsb3dNb3VzZVVwRXZlbnQgfHwgc3dhbGxvd0Ns
aWNrRXZlbnQgfHwgc3dhbGxvd01vdXNlUmVsZWFzZUV2ZW50OwogfQogCitib29sIEV2ZW50SGFu
ZGxlcjo6aGFuZGxlUGFzdGVHbG9iYWxTZWxlY3Rpb24oY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50
JiBtb3VzZUV2ZW50KQoreworICAgIC8vIElmIHRoZSBldmVudCB3YXMgYSBtaWRkbGUgY2xpY2ss
IGF0dGVtcHQgdG8gY29weSBnbG9iYWwgc2VsZWN0aW9uIGluIGFmdGVyCisgICAgLy8gdGhlIG5l
d2x5IHNldCBjYXJldCBwb3NpdGlvbi4KKyAgICAvLworICAgIC8vIFRoaXMgY29kZSBpcyBjYWxs
ZWQgZnJvbSBlaXRoZXIgdGhlIG1vdXNlIHVwIG9yIG1vdXNlIGRvd24gaGFuZGxpbmcuIFRoZXJl
CisgICAgLy8gaXMgc29tZSBkZWJhdGUgYWJvdXQgd2hlbiB0aGUgZ2xvYmFsIHNlbGVjdGlvbiBp
cyBwYXN0ZWQ6CisgICAgLy8gICB4dGVybTogcGFzdGVzIG9uIHVwLgorICAgIC8vICAgR1RLOiBw
YXN0ZXMgb24gZG93bi4KKyAgICAvLyAgIFF0OiBwYXN0ZXMgb24gdXAuCisgICAgLy8gICBGaXJl
Zm94OiBwYXN0ZXMgb24gdXAuCisgICAgLy8gICBDaHJvbWl1bTogcGFzdGVzIG9uIHVwLgorICAg
IC8vCisgICAgLy8gVGhlcmUgaXMgc29tZXRoaW5nIG9mIGEgd2ViY29tcGF0IGFuZ2xlIHRvIHRo
aXMgd2VsbCwgYXMgaGlnaGxpZ2h0ZWQgYnkKKyAgICAvLyBjcmJ1Zy5jb20vMTQ2MDguIFBhZ2Vz
IGNhbiBjbGVhciB0ZXh0IGJveGVzICdvbmNsaWNrJyBhbmQsIGlmIHdlIHBhc3RlIG9uCisgICAg
Ly8gZG93biB0aGVuIHRoZSB0ZXh0IGlzIHBhc3RlZCBqdXN0IGJlZm9yZSB0aGUgb25jbGljayBo
YW5kbGVyIHJ1bnMgYW5kCisgICAgLy8gY2xlYXJzIHRoZSB0ZXh0IGJveC4gU28gaXQncyBpbXBv
cnRhbnQgdGhpcyBoYXBwZW5zIGFmdGVyIHRoZSBldmVudAorICAgIC8vIGhhbmRsZXJzIGhhdmUg
YmVlbiBmaXJlZC4KKyNpZiBQTEFURk9STShHVEspCisgICAgaWYgKG1vdXNlRXZlbnQudHlwZSgp
ICE9IFBsYXRmb3JtRXZlbnQ6Ok1vdXNlUHJlc3NlZCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
I2Vsc2UKKyAgICBpZiAobW91c2VFdmVudC50eXBlKCkgIT0gUGxhdGZvcm1FdmVudDo6TW91c2VS
ZWxlYXNlZCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCisKKyAgICBGcmFtZSogZm9j
dXNGcmFtZSA9IG1fZnJhbWUtPnBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRPck1h
aW5GcmFtZSgpOworICAgIC8vIERvIG5vdCBwYXN0ZSBoZXJlIGlmIHRoZSBmb2N1cyB3YXMgbW92
ZWQgc29tZXdoZXJlIGVsc2UuCisgICAgaWYgKG1fZnJhbWUgPT0gZm9jdXNGcmFtZSAmJiBtX2Zy
YW1lLT5lZGl0b3IoKS0+Y2xpZW50KCktPnN1cHBvcnRzR2xvYmFsU2VsZWN0aW9uKCkpCisgICAg
ICAgIHJldHVybiBtX2ZyYW1lLT5lZGl0b3IoKS0+Y29tbWFuZChBdG9taWNTdHJpbmcoIlBhc3Rl
R2xvYmFsU2VsZWN0aW9uIikpLmV4ZWN1dGUoKTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKwor
CiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKIGJvb2wgRXZlbnRIYW5kbGVyOjpkaXNwYXRjaERy
YWdFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgTm9kZSogZHJhZ1RhcmdldCwg
Y29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCwgQ2xpcGJvYXJkKiBjbGlwYm9hcmQpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCA2ZDhhMGFiNzY3M2E4YzhmZGZiNGM5
YTk1ZGJmYzFhYWQ5NTVkNDg3Li42ZTFkN2VkMjA4MzZkZDQ4OGRlNGE4MGUwOTc0OTU4ZmRkNGIy
NzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKQEAgLTE2MCw2ICsxNjAsNyBAQCBw
dWJsaWM6CiAgICAgYm9vbCBoYW5kbGVNb3VzZVJlbGVhc2VFdmVudChjb25zdCBQbGF0Zm9ybU1v
dXNlRXZlbnQmKTsKICAgICBib29sIGhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVl
bEV2ZW50Jik7CiAgICAgdm9pZCBkZWZhdWx0V2hlZWxFdmVudEhhbmRsZXIoTm9kZSosIFdoZWVs
RXZlbnQqKTsKKyAgICBib29sIGhhbmRsZVBhc3RlR2xvYmFsU2VsZWN0aW9uKGNvbnN0IFBsYXRm
b3JtTW91c2VFdmVudCYpOwogCiAjaWYgRU5BQkxFKEdFU1RVUkVfRVZFTlRTKQogICAgIGJvb2wg
aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtR2VzdHVyZUV2ZW50Jik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggMjYxZjdjMzU3ZTlhNzhi
OTFmMmE3ZDNhYmZkOTRkYjJlMjhhOThhNS4uYmY0YzMzYjFlY2ZjMmFkY2UyOTVhOGQ5MjY2NDU3
OTM4MzJmMWMyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNw
cApAQCAtOTIsNyArOTIsNiBAQAogI2luY2x1ZGUgIlBhZ2VHcm91cExvYWREZWZlcnJlci5oIgog
I2luY2x1ZGUgIlBhZ2VQb3B1cENsaWVudC5oIgogI2luY2x1ZGUgIlBhZ2VXaWRnZXREZWxlZ2F0
ZS5oIgotI2luY2x1ZGUgIlBhc3RlYm9hcmQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUNvbnRleHRT
a2lhLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgiCiAjaW5jbHVkZSAiUGxh
dGZvcm1Nb3VzZUV2ZW50LmgiCkBAIC02MjIsMzkgKzYyMSw2IEBAIHZvaWQgV2ViVmlld0ltcGw6
Om1vdXNlQ29udGV4dE1lbnUoY29uc3QgV2ViTW91c2VFdmVudCYgZXZlbnQpCiAKIHZvaWQgV2Vi
Vmlld0ltcGw6OmhhbmRsZU1vdXNlVXAoRnJhbWUmIG1haW5GcmFtZSwgY29uc3QgV2ViTW91c2VF
dmVudCYgZXZlbnQpCiB7Ci0jaWYgT1MoVU5JWCkgJiYgIU9TKERBUldJTikKLSAgICAvLyBJZiB0
aGUgZXZlbnQgd2FzIGEgbWlkZGxlIGNsaWNrLCBhdHRlbXB0IHRvIGNvcHkgdGV4dCBpbnRvIHRo
ZSBmb2N1c2VkCi0gICAgLy8gZnJhbWUuIFdlIGV4ZWN1dGUgdGhpcyBiZWZvcmUgd2UgbGV0IHRo
ZSBwYWdlIGhhdmUgYSBnbyBhdCB0aGUgZXZlbnQKLSAgICAvLyBiZWNhdXNlIHRoZSBwYWdlIG1h
eSBjaGFuZ2Ugd2hhdCBpcyBmb2N1c2VkIGR1cmluZyBpbiBpdHMgZXZlbnQgaGFuZGxlci4KLSAg
ICAvLwotICAgIC8vIFRoaXMgY29kZSBpcyBpbiB0aGUgbW91c2UgdXAgaGFuZGxlci4gVGhlcmUg
aXMgc29tZSBkZWJhdGUgYWJvdXQgcHV0dGluZwotICAgIC8vIHRoaXMgaGVyZSwgYXMgb3Bwb3Nl
ZCB0byB0aGUgbW91c2UgZG93biBoYW5kbGVyLgotICAgIC8vICAgeHRlcm06IHBhc3RlcyBvbiB1
cC4KLSAgICAvLyAgIEdUSzogcGFzdGVzIG9uIGRvd24uCi0gICAgLy8gICBGaXJlZm94OiBwYXN0
ZXMgb24gdXAuCi0gICAgLy8gICBNaWRvcmk6IGNvdWxkbid0IHBhc3RlIGF0IGFsbCB3aXRoIDAu
MS4yCi0gICAgLy8KLSAgICAvLyBUaGVyZSBpcyBzb21ldGhpbmcgb2YgYSB3ZWJjb21wYXQgYW5n
bGUgdG8gdGhpcyB3ZWxsLCBhcyBoaWdobGlnaHRlZCBieQotICAgIC8vIGNyYnVnLmNvbS8xNDYw
OC4gUGFnZXMgY2FuIGNsZWFyIHRleHQgYm94ZXMgJ29uY2xpY2snIGFuZCwgaWYgd2UgcGFzdGUg
b24KLSAgICAvLyBkb3duIHRoZW4gdGhlIHRleHQgaXMgcGFzdGVkIGp1c3QgYmVmb3JlIHRoZSBv
bmNsaWNrIGhhbmRsZXIgcnVucyBhbmQKLSAgICAvLyBjbGVhcnMgdGhlIHRleHQgYm94LiBTbyBp
dCdzIGltcG9ydGFudCB0aGlzIGhhcHBlbnMgYWZ0ZXIgdGhlCi0gICAgLy8gaGFuZGxlTW91c2VS
ZWxlYXNlRXZlbnQoKSBlYXJsaWVyIGluIHRoaXMgZnVuY3Rpb24KLSAgICBpZiAoZXZlbnQuYnV0
dG9uID09IFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbk1pZGRsZSkgewotICAgICAgICBGcmFtZSogZm9j
dXNlZCA9IGZvY3VzZWRXZWJDb3JlRnJhbWUoKTsKLSAgICAgICAgRnJhbWVWaWV3KiB2aWV3ID0g
bV9wYWdlLT5tYWluRnJhbWUoKS0+dmlldygpOwotICAgICAgICBJbnRQb2ludCBjbGlja1BvaW50
KG1fbGFzdE1vdXNlRG93blBvaW50LngsIG1fbGFzdE1vdXNlRG93blBvaW50LnkpOwotICAgICAg
ICBJbnRQb2ludCBjb250ZW50UG9pbnQgPSB2aWV3LT53aW5kb3dUb0NvbnRlbnRzKGNsaWNrUG9p
bnQpOwotICAgICAgICBIaXRUZXN0UmVzdWx0IGhpdFRlc3RSZXN1bHQgPSBmb2N1c2VkLT5ldmVu
dEhhbmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQoY29udGVudFBvaW50LCBmYWxzZSwgZmFs
c2UsIFNob3VsZEhpdFRlc3RTY3JvbGxiYXJzKTsKLSAgICAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0
byBzZW5kIGEgcGFzdGUgd2hlbiBtaWRkbGUgY2xpY2tpbmcgYSBzY3JvbGwgYmFyIG9yIGEKLSAg
ICAgICAgLy8gbGluayAod2hpY2ggd2lsbCBuYXZpZ2F0ZSBsYXRlciBpbiB0aGUgY29kZSkuICBU
aGUgbWFpbiBzY3JvbGxiYXJzCi0gICAgICAgIC8vIGhhdmUgdG8gYmUgaGFuZGxlZCBzZXBhcmF0
ZWx5LgotICAgICAgICBpZiAoIWhpdFRlc3RSZXN1bHQuc2Nyb2xsYmFyKCkgJiYgIWhpdFRlc3RS
ZXN1bHQuaXNMaXZlTGluaygpICYmIGZvY3VzZWQgJiYgIXZpZXctPnNjcm9sbGJhckF0UG9pbnQo
Y2xpY2tQb2ludCkpIHsKLSAgICAgICAgICAgIEVkaXRvciogZWRpdG9yID0gZm9jdXNlZC0+ZWRp
dG9yKCk7Ci0gICAgICAgICAgICBlZGl0b3ItPmNvbW1hbmQoQXRvbWljU3RyaW5nKCJQYXN0ZUds
b2JhbFNlbGVjdGlvbiIpKS5leGVjdXRlKCk7Ci0gICAgICAgIH0KLSAgICB9Ci0jZW5kaWYKLQog
ICAgIFBhZ2VXaWRnZXRFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlVXAobWFpbkZyYW1lLCBldmVu
dCk7CiAKICNpZiBPUyhXSU5ET1dTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAKaW5kZXggNWU0YjU3ODQ4ZjRlOWVlYzJjYzkw
NWFkMWRiZmQ5YjkxYjU1ZjdkZC4uMWI5MDE4MmMzN2YxNGNiMGU0MjljMDc1MzIyZmFmMGI5MGJl
NTRiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9y
Q2xpZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0
b3JDbGllbnRHdGsuY3BwCkBAIC01NjAsNCArNTYwLDEzIEBAIGJvb2wgRWRpdG9yQ2xpZW50Ojpz
cGVsbGluZ1VJSXNTaG93aW5nKCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgRWRpdG9y
Q2xpZW50OjpzdXBwb3J0c0dsb2JhbFNlbGVjdGlvbigpCit7CisjaWYgUExBVEZPUk0oWDExKQor
ICAgIHJldHVybiB0cnVlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50R3RrLmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRH
dGsuaAppbmRleCBhMWFjYWE4OTZjNDEzZjQ3NWNiNzU4M2IwMGFiYjA2MDAyYTZlODVjLi5hYTRm
YzBhZDA5ZTM0NGY3MTJhN2ZhYzIwMTAxNzdlM2E2MTJiYWI0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuaApAQCAtMTM0LDYgKzEz
NCw4IEBAIGNsYXNzIEVkaXRvckNsaWVudCA6IHB1YmxpYyBXZWJDb3JlOjpFZGl0b3JDbGllbnQg
ewogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBzaG91bGRTaG93VW5pY29kZU1lbnUoKTsKIAorICAg
ICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNHbG9iYWxTZWxlY3Rpb24oKSBPVkVSUklERTsKKwog
ICAgIHByaXZhdGU6CiAjaWYgRU5BQkxFKFNQRUxMQ0hFQ0spCiAgICAgICAgIFRleHRDaGVja2Vy
Q2xpZW50R3RrIG1fdGV4dENoZWNrZXJDbGllbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0d2Vidmlldy5jcHAKaW5kZXggNjA4YmZjMjQzMzRmOTQzMDdhYzdhMjVmYmE0MGJlZjM3
ZTZkMzlhYS4uODAxNWNhMzE0MjM0YWNjMTFkNWM4NmJjNDhmZWE2NzU1NjA3OGMyMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcApAQCAtNzQ2LDIxICs3NDYs
NiBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0X3dlYl92aWV3X2J1dHRvbl9wcmVzc19ldmVudChH
dGtXaWRnZXQqIHdpZGdldCwgR2RrRXZlbnRCdQogICAgIHByaXYtPmltRmlsdGVyLm5vdGlmeU1v
dXNlQnV0dG9uUHJlc3MoKTsKICAgICBnYm9vbGVhbiByZXN1bHQgPSBmcmFtZS0+ZXZlbnRIYW5k
bGVyKCktPmhhbmRsZU1vdXNlUHJlc3NFdmVudChwbGF0Zm9ybUV2ZW50KTsKIAotI2lmIFBMQVRG
T1JNKFgxMSkKLSAgICAvKiBDb3B5IHNlbGVjdGlvbiB0byB0aGUgWDExIHNlbGVjdGlvbiBjbGlw
Ym9hcmQgKi8KLSAgICBpZiAoZXZlbnQtPmJ1dHRvbiA9PSAyKSB7Ci0gICAgICAgIFBhc3RlYm9h
cmRIZWxwZXIqIGhlbHBlciA9IFBhc3RlYm9hcmRIZWxwZXI6OmRlZmF1bHRQYXN0ZWJvYXJkSGVs
cGVyKCk7Ci0gICAgICAgIGJvb2wgd2FzVXNpbmdQcmltYXJ5ID0gaGVscGVyLT51c2VQcmltYXJ5
U2VsZWN0aW9uQ2xpcGJvYXJkKCk7Ci0gICAgICAgIGhlbHBlci0+c2V0VXNlUHJpbWFyeVNlbGVj
dGlvbkNsaXBib2FyZCh0cnVlKTsKLQotICAgICAgICBFZGl0b3IqIGVkaXRvciA9IHdlYlZpZXct
PnByaXYtPmNvcmVQYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCkt
PmVkaXRvcigpOwotICAgICAgICByZXN1bHQgPSByZXN1bHQgfHwgZWRpdG9yLT5jYW5QYXN0ZSgp
IHx8IGVkaXRvci0+Y2FuREhUTUxQYXN0ZSgpOwotICAgICAgICBlZGl0b3ItPnBhc3RlKCk7Ci0K
LSAgICAgICAgaGVscGVyLT5zZXRVc2VQcmltYXJ5U2VsZWN0aW9uQ2xpcGJvYXJkKHdhc1VzaW5n
UHJpbWFyeSk7Ci0gICAgfQotI2VuZGlmCi0KICAgICByZXR1cm4gcmVzdWx0OwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L3F0L0FwaS9xd2VicGFnZS5jcHAKaW5kZXggNWE4NDRiZTNkMDcyZWU3YzFmYjBmN2U1MDJmMTE2
YWViNmI5NmUzOC4uNzY5N2YxYTZiYjc1NDRiMWZjMjU1NDEzYThkZmU5OWE4ZjgxMGI1MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAtNzU3LDIxICs3NTcsNiBAQCB2b2lkIFFXZWJQ
YWdlUHJpdmF0ZTo6bW91c2VUcmlwbGVDbGlja0V2ZW50KFQgKmV2KQogICAgIGV2LT5zZXRBY2Nl
cHRlZChhY2NlcHRlZCk7CiB9CiAKLXZvaWQgUVdlYlBhZ2VQcml2YXRlOjpoYW5kbGVDbGlwYm9h
cmQoUUV2ZW50KiBldiwgUXQ6Ok1vdXNlQnV0dG9uIGJ1dHRvbikKLXsKLSNpZm5kZWYgUVRfTk9f
Q0xJUEJPQVJECi0gICAgaWYgKFFBcHBsaWNhdGlvbjo6Y2xpcGJvYXJkKCktPnN1cHBvcnRzU2Vs
ZWN0aW9uKCkpIHsKLSAgICAgICAgV2ViQ29yZTo6RnJhbWUqIGZvY3VzRnJhbWUgPSBwYWdlLT5m
b2N1c0NvbnRyb2xsZXIoKS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7Ci0gICAgICAgIGlmIChidXR0
b24gPT0gUXQ6Ok1pZEJ1dHRvbikgewotICAgICAgICAgICAgaWYgKGZvY3VzRnJhbWUpIHsKLSAg
ICAgICAgICAgICAgICBmb2N1c0ZyYW1lLT5lZGl0b3IoKS0+Y29tbWFuZChBdG9taWNTdHJpbmco
IlBhc3RlR2xvYmFsU2VsZWN0aW9uIikpLmV4ZWN1dGUoKTsKLSAgICAgICAgICAgICAgICBldi0+
c2V0QWNjZXB0ZWQodHJ1ZSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0jZW5k
aWYKLX0KLQogdGVtcGxhdGU8Y2xhc3MgVD4KIHZvaWQgUVdlYlBhZ2VQcml2YXRlOjptb3VzZVJl
bGVhc2VFdmVudChUICpldikKIHsKQEAgLTc4Nyw4ICs3NzIsNiBAQCB2b2lkIFFXZWJQYWdlUHJp
dmF0ZTo6bW91c2VSZWxlYXNlRXZlbnQoVCAqZXYpCiAgICAgICAgIGFjY2VwdGVkID0gZnJhbWUt
PmV2ZW50SGFuZGxlcigpLT5oYW5kbGVNb3VzZVJlbGVhc2VFdmVudChtZXYpOwogICAgIGV2LT5z
ZXRBY2NlcHRlZChhY2NlcHRlZCk7CiAKLSAgICBpZiAoIWV2LT5pc0FjY2VwdGVkKCkpCi0gICAg
ICAgIGhhbmRsZUNsaXBib2FyZChldiwgZXYtPmJ1dHRvbigpKTsKICAgICBoYW5kbGVTb2Z0d2Fy
ZUlucHV0UGFuZWwoZXYtPmJ1dHRvbigpLCBRUG9pbnRGKGV2LT5wb3MoKSkudG9Qb2ludCgpKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oIGIvU291
cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oCmluZGV4IGE4ZTM3M2JjYTY1ZDRhMTI5Mjg4
ZjBhMTFiNDBlMWUwYmY0ODYxM2IuLjg2NTc3ZDM1MTlmNDQ4ZWIzMTBjNDkxOTNiMjJmMGU1NzRi
OTVmYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlX3AuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZV9wLmgKQEAgLTEyNyw3ICsxMjcsNiBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIHNob3J0Y3V0T3ZlcnJpZGVFdmVudChRS2V5RXZlbnQqKTsKICAg
ICB2b2lkIGxlYXZlRXZlbnQoUUV2ZW50Kik7Ci0gICAgdm9pZCBoYW5kbGVDbGlwYm9hcmQoUUV2
ZW50KiwgUXQ6Ok1vdXNlQnV0dG9uKTsKICAgICB2b2lkIGhhbmRsZVNvZnR3YXJlSW5wdXRQYW5l
bChRdDo6TW91c2VCdXR0b24sIGNvbnN0IFFQb2ludCYpOwogICAgIGJvb2wgaGFuZGxlU2Nyb2xs
aW5nKFFLZXlFdmVudCosIFdlYkNvcmU6OkZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA2MWU4MmI1ZDk2MjQ5M2QzOGM0ZjQ1
MDJkNmI4NThjZjgwZTllNWY2Li5kYmFiYzMyNzM1MzhlNzM2MzEyMTE3ZTdmYjZhNzUyYjFlOGQz
NTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CkBAIC0xMzY0LDIxICsxMzY0LDExIEBAIHN0YXRpYyBib29sIGhhbmRsZU1vdXNlRXZlbnQoY29u
c3QgV2ViTW91c2VFdmVudCYgbW91c2VFdmVudCwgV2ViUGFnZSogcGFnZSwgYm9vCiAgICAgICAg
ICAgICBpZiAoaXNDb250ZXh0Q2xpY2socGxhdGZvcm1Nb3VzZUV2ZW50KSkKICAgICAgICAgICAg
ICAgICBoYW5kbGVkID0gaGFuZGxlQ29udGV4dE1lbnVFdmVudChwbGF0Zm9ybU1vdXNlRXZlbnQs
IHBhZ2UpOwogI2VuZGlmCi0jaWYgUExBVEZPUk0oR1RLKQotICAgICAgICAgICAgYm9vbCBndGtN
b3VzZUJ1dHRvblByZXNzSGFuZGxlZCA9IHBhZ2UtPmhhbmRsZU1vdXNlUHJlc3NlZEV2ZW50KHBs
YXRmb3JtTW91c2VFdmVudCk7Ci0gICAgICAgICAgICBoYW5kbGVkID0gaGFuZGxlZCB8fCBndGtN
b3VzZUJ1dHRvblByZXNzSGFuZGxlZDsKLSNlbmRpZgotCi0gICAgICAgICAgICByZXR1cm4gaGFu
ZGxlZDsKLSAgICAgICAgfQotICAgICAgICBjYXNlIFBsYXRmb3JtRXZlbnQ6Ok1vdXNlUmVsZWFz
ZWQ6IHsKLSAgICAgICAgICAgIGJvb2wgaGFuZGxlZCA9IGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+
aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQocGxhdGZvcm1Nb3VzZUV2ZW50KTsKLSNpZiBQTEFURk9S
TShRVCkKLSAgICAgICAgICAgIGlmICghaGFuZGxlZCkKLSAgICAgICAgICAgICAgICBoYW5kbGVk
ID0gcGFnZS0+aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQocGxhdGZvcm1Nb3VzZUV2ZW50KTsKLSNl
bmRpZgogICAgICAgICAgICAgcmV0dXJuIGhhbmRsZWQ7CiAgICAgICAgIH0KKyAgICAgICAgY2Fz
ZSBQbGF0Zm9ybUV2ZW50OjpNb3VzZVJlbGVhc2VkOgorICAgICAgICAgICAgcmV0dXJuIGZyYW1l
LT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQocGxhdGZvcm1Nb3VzZUV2
ZW50KTsKKwogICAgICAgICBjYXNlIFBsYXRmb3JtRXZlbnQ6Ok1vdXNlTW92ZWQ6CiAgICAgICAg
ICAgICBpZiAob25seVVwZGF0ZVNjcm9sbGJhcnMpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZy
YW1lLT5ldmVudEhhbmRsZXIoKS0+cGFzc01vdXNlTW92ZWRFdmVudFRvU2Nyb2xsYmFycyhwbGF0
Zm9ybU1vdXNlRXZlbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmgKaW5kZXggZTIxNDA0YmQ3ZjUwMTQxZmRkMWY5NmNmZWNjZGEzMzI4YjQ2MzBkZi4uODgz
ZDhhNWY2YjVlOTQyOGQyN2IzNDY4NjIyZTRjYzg5NzQ5ZTkyOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC00NTcsMTYgKzQ1NywxMSBAQCBwdWJs
aWM6CiAKICNlbGlmIFBMQVRGT1JNKEdUSykKICAgICB2b2lkIHVwZGF0ZUFjY2Vzc2liaWxpdHlU
cmVlKCk7Ci0gICAgYm9vbCBoYW5kbGVNb3VzZVByZXNzZWRFdmVudChjb25zdCBXZWJDb3JlOjpQ
bGF0Zm9ybU1vdXNlRXZlbnQmKTsKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCiAgICAgdm9p
ZCBzZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nV2luZG93SWQoaW50NjRfdCBuYXRpdmVXaW5kb3dI
YW5kbGUpOwogI2VuZGlmCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKFFUKQotICAgIGJvb2wgaGFu
ZGxlTW91c2VSZWxlYXNlRXZlbnQoY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50Jik7
Ci0jZW5kaWYKLQogICAgIHZvaWQgc2V0Q29tcG9zaXRpb25Gb3JUZXN0aW5nKGNvbnN0IFN0cmlu
ZyYgY29tcG9zaXRpb25TdHJpbmcsIHVpbnQ2NF90IGZyb20sIHVpbnQ2NF90IGxlbmd0aCk7CiAg
ICAgYm9vbCBoYXNDb21wb3NpdGlvbkZvclRlc3RpbmcoKTsKICAgICB2b2lkIGNvbmZpcm1Db21w
b3NpdGlvbkZvclRlc3RpbmcoY29uc3QgU3RyaW5nJiBjb21wb3NpdGlvblN0cmluZyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJQYWdlR3RrLmNw
cAppbmRleCBlMjhlNzRmMzk5OWJkODMxYTNiOGE4MDYwMDU2ZGExOGRlZjllMjUzLi42OWY5OWU2
NmU5Mzk4ZDllMTY2NzBiZjgzODIzZmYwYzNkOTY1MzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvV2ViUGFnZUd0ay5jcHAKQEAgLTE2MiwyOSAr
MTYyLDQgQEAgdm9pZCBXZWJQYWdlOjpzZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nV2luZG93SWQo
aW50NjRfdCBuYXRpdmVXaW5kb3dIYW5kbGUpCiB9CiAjZW5kaWYKIAotYm9vbCBXZWJQYWdlOjpo
YW5kbGVNb3VzZVByZXNzZWRFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIHBsYXRmb3Jt
TW91c2VFdmVudCkKLXsKLSAgICBib29sIHJldHVyblZhbHVlID0gZmFsc2U7Ci0gICAgaWYgKHBs
YXRmb3JtTW91c2VFdmVudC5idXR0b24oKSAhPSBXZWJDb3JlOjpNaWRkbGVCdXR0b24pCi0gICAg
ICAgIHJldHVybiByZXR1cm5WYWx1ZTsKLQotI2lmIFBMQVRGT1JNKFgxMSkKLSAgICBGcmFtZSog
ZnJhbWUgPSBtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsK
LSAgICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm4gcmV0dXJuVmFsdWU7Ci0KLSAgICBQYXN0
ZWJvYXJkSGVscGVyKiBwYXN0ZWJvYXJkSGVscGVyID0gUGFzdGVib2FyZEhlbHBlcjo6ZGVmYXVs
dFBhc3RlYm9hcmRIZWxwZXIoKTsKLSAgICBib29sIHdhc1VzaW5nUHJpbWFyeSA9IHBhc3RlYm9h
cmRIZWxwZXItPnVzZVByaW1hcnlTZWxlY3Rpb25DbGlwYm9hcmQoKTsKLSAgICBwYXN0ZWJvYXJk
SGVscGVyLT5zZXRVc2VQcmltYXJ5U2VsZWN0aW9uQ2xpcGJvYXJkKHRydWUpOwotCi0gICAgRWRp
dG9yKiBlZGl0b3IgPSBmcmFtZS0+ZWRpdG9yKCk7Ci0gICAgcmV0dXJuVmFsdWUgPSBlZGl0b3It
PmNhblBhc3RlKCkgfHwgZWRpdG9yLT5jYW5ESFRNTFBhc3RlKCk7Ci0gICAgZWRpdG9yLT5wYXN0
ZSgpOwotCi0gICAgcGFzdGVib2FyZEhlbHBlci0+c2V0VXNlUHJpbWFyeVNlbGVjdGlvbkNsaXBi
b2FyZCh3YXNVc2luZ1ByaW1hcnkpOwotI2VuZGlmCi0KLSAgICByZXR1cm4gcmV0dXJuVmFsdWU7
Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL3F0L1dlYlBhZ2VRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvcXQvV2ViUGFnZVF0LmNwcAppbmRleCBlM2Y2MDM0ZGYyMzcyZDBkMWIy
MmMwZTExYTcxNzFlZjlmYjA0MWRiLi43NmZiMDc0YTU5MDRmMmQyZTM3ZDkxNDgzNzU0ZTk0MTkx
MThjMGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQv
V2ViUGFnZVF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQv
V2ViUGFnZVF0LmNwcApAQCAtNDQwLDIxICs0NDAsNCBAQCB2b2lkIFdlYlBhZ2U6OmhpZGVQb3B1
cE1lbnUoKQogICAgIG1fYWN0aXZlUG9wdXBNZW51ID0gMDsKIH0KIAotYm9vbCBXZWJQYWdlOjpo
YW5kbGVNb3VzZVJlbGVhc2VFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIHBsYXRmb3Jt
TW91c2VFdmVudCkKLXsKLSNpZm5kZWYgUVRfTk9fQ0xJUEJPQVJECi0gICAgaWYgKHBsYXRmb3Jt
TW91c2VFdmVudC5idXR0b24oKSAhPSBXZWJDb3JlOjpNaWRkbGVCdXR0b24pCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLQotICAgIGlmIChxQXBwLT5jbGlwYm9hcmQoKS0+c3VwcG9ydHNTZWxlY3Rp
b24oKSkgewotICAgICAgICBXZWJDb3JlOjpGcmFtZSogZm9jdXNGcmFtZSA9IG1fcGFnZS0+Zm9j
dXNDb250cm9sbGVyKCktPmZvY3VzZWRPck1haW5GcmFtZSgpOwotICAgICAgICBpZiAoZm9jdXNG
cmFtZSkgewotICAgICAgICAgICAgZm9jdXNGcmFtZS0+ZWRpdG9yKCktPmNvbW1hbmQoQXRvbWlj
U3RyaW5nKCJQYXN0ZUdsb2JhbFNlbGVjdGlvbiIpKS5leGVjdXRlKCk7Ci0gICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICAgICAgfQotICAgIH0KLSNlbmRpZgotICAgIHJldHVybiBmYWxzZTsK
LX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>