<?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>144140</bug_id>
          
          <creation_ts>2015-04-23 20:58:25 -0700</creation_ts>
          <short_desc>Make it possible to detach GraphicsLayerCA backing store</short_desc>
          <delta_ts>2015-04-23 21:37:46 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1088167</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-04-23 20:58:25 -0700</bug_when>
    <thetext>Make it possible to detach GraphicsLayerCA backing store</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088170</commentid>
    <comment_count>1</comment_count>
      <attachid>251532</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-04-23 21:05:04 -0700</bug_when>
    <thetext>Created attachment 251532
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088172</commentid>
    <comment_count>2</comment_count>
      <attachid>251532</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-04-23 21:07:54 -0700</bug_when>
    <thetext>Comment on attachment 251532
Patch

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

&gt; Source/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm:599
&gt; +    // We could throw away backing store here with setContents:nil.

But would prefer to do something better where it just becomes volatile?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088173</commentid>
    <comment_count>3</comment_count>
      <attachid>251533</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-04-23 21:10:54 -0700</bug_when>
    <thetext>Created attachment 251533
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088177</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-04-23 21:37:46 -0700</bug_when>
    <thetext>https://trac.webkit.org/r183242</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251532</attachid>
            <date>2015-04-23 21:05:04 -0700</date>
            <delta_ts>2015-04-23 21:10:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144140-20150423210359.patch</filename>
            <type>text/plain</type>
            <size>21250</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzMjI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmY2MGRlZjA3Yzk2NjMx
MmI1NDAwZGNmYTIwNGU2ZmIzYjMyN2Q2Ny4uYTZmZmZiNWJkYTAwZjc1YTBmYzE4ZmEwNjQ1OTFj
NzVmYmJkNzcxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI0IEBACiAyMDE1LTA0LTIzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIE1ha2UgaXQgcG9z
c2libGUgdG8gZGV0YWNoIEdyYXBoaWNzTGF5ZXJDQSBiYWNraW5nIHN0b3JlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQxNDAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGNoYW5nZXMgbWFrZXMg
aXQgcG9zc2libGUgdG8gZGVub3RlIGEgR3JhcGhpY3NMYXllckNBJ3MgYmFja2luZyBzdG9yZQor
ICAgICAgICBhcyAiYXR0YWNoZWQiIG9yIG5vdC4gV2hlbiBub3QgYXR0YWNoZWQsIHRoZSBiYWNr
aW5nIHN0b3JlIGlzIG1hZGUgdm9sYXRpbGUKKyAgICAgICAgYW5kIGNhbiBiZSBwdXJnZWQuIFRo
aXMgd2lsbCBiZSB1c2VkIGluIGEgZnV0dXJlIHBhdGNoLgorCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmg6IEFkZCB1cGRhdGVCYWNraW5nU3RvcmVBdHRh
Y2htZW50KCkuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVy
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXllck1h
Yy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJN
YWMubW06IFN0dWJzLiBJbiBmdXR1cmUsIHdlIGNvdWxkCisgICAgICAgIHJlbW92ZSBiYWNraW5n
IHN0b3JlIG9uIE1hYyBhbmQgaU9TIFdLMSB0b28uCisgICAgICAgIChQbGF0Zm9ybUNBTGF5ZXJN
YWM6OnNldEJhY2tpbmdTdG9yZUF0dGFjaGVkKToKKyAgICAgICAgKFBsYXRmb3JtQ0FMYXllck1h
Yzo6YmFja2luZ1N0b3JlQXR0YWNoZWQpOgorCisyMDE1LTA0LTIzICBTaW1vbiBGcmFzZXIgIDxz
aW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCiAgICAgICAgIFJlbW92ZSAibGF5ZXIiIGZyb20gR3Jh
cGhpY3NMYXllckNBIG1lbWJlciBmdW5jdGlvbiBuYW1lcwogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0MTM5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBhNTBlYmE3
YjA4MTE3ZGE0OWM0ZmNhNTYwMmJkNDg1MWI5MTQ3N2JhLi5kZmI0ZWJmMDA0MjE0ZTFiZWY2MTRh
OTIwOThlYTM5ZTI3NmUyNzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDggQEAKIDIwMTUtMDQt
MjMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKKyAgICAgICAgTWFr
ZSBpdCBwb3NzaWJsZSB0byBkZXRhY2ggR3JhcGhpY3NMYXllckNBIGJhY2tpbmcgc3RvcmUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDE0MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgVGhp
cyBjaGFuZ2VzIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGRlbm90ZSBhIEdyYXBoaWNzTGF5ZXJDQSdz
IGJhY2tpbmcgc3RvcmUKKyAgICAgICAgYXMgImF0dGFjaGVkIiBvciBub3QuIFdoZW4gbm90IGF0
dGFjaGVkLCB0aGUgYmFja2luZyBzdG9yZSBpcyBtYWRlIHZvbGF0aWxlCisgICAgICAgIGFuZCBj
YW4gYmUgcHVyZ2VkLiBUaGlzIHdpbGwgYmUgdXNlZCBpbiBhIGZ1dHVyZSBwYXRjaC4KKworICAg
ICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW06CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjp+UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUp
OiBXaGl0ZXNwYWNlLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6
ZGlzcGxheSk6IElmIGJhY2tpbmdTdG9yZVdpbGxCZURpc3BsYXllZCgpCisgICAgICAgIHJldHVy
bnMgdHJ1ZSwgdGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgYmFja2luZyBzdG9yZSB3YXMgYnJvdWdo
dCBvdXQgb2YgdGhlCisgICAgICAgICJ1bnJlYWNoYWJsZSIgbGlzdCwgc28gcmV0dXJuIHRydWUg
ZXZlbiBpZiB0aGUgYmFja2luZyBzdG9yZSBkb2Vzbid0IHJlcXVpcmUKKyAgICAgICAgcGFpbnRp
bmcuCisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rp
b24uaDogQysrMTEgaW5pdGlhbGl6ZXIsIGFuZCBjb21tZW50cy4KKyAgICAgICAgKiBTaGFyZWQv
bWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbToKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjpSZW1vdGVMYXllckJhY2tpbmdT
dG9yZUNvbGxlY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZUNvbGxlY3Rpb246OmJhY2tpbmdTdG9yZVdpbGxCZURpc3BsYXllZCk6IFJldHVybiB0cnVlCisg
ICAgICAgIGlmIHRoZSBjYWxsZXIgd2lsbCBuZWVkIHRvIHN1Ym1pdCB0aGUgYmFja2luZyBzdG9y
ZSBpbiB0aGUgY3VycmVudCB0cmFuc2FjdGlvbi4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjpiYWNraW5nU3RvcmVCZWNhbWVVbnJlYWNoYWJsZSk6
IFRoaXMKKyAgICAgICAgZXhwbGljaXQgZGlydHlpbmcgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeSBn
aXZlbiB0aGUgYmFja2luZ1N0b3JlV2lsbEJlRGlzcGxheWVkKCkgY2hhbmdlLgorICAgICAgICAq
IFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlUHJvcGVydHlBcHBsaWVyLm1tOgorICAgICAgICAo
V2ViS2l0OjphcHBseVByb3BlcnRpZXNUb0xheWVyKTogT25seSBzZXQgdGhlIGxheWVyJ3MgYmFj
a2luZyBpZiB3ZSBib3RoIGhhdmUgYmFja2luZworICAgICAgICBzdG9yZSwgYW5kIGl0J3MgYXR0
YWNoZWQuCisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5o
OiBOZXcgYml0LCBhbmQgZGF0YSBtZW1iZXIuCisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVM
YXllclRyZWVUcmFuc2FjdGlvbi5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVl
VHJhbnNhY3Rpb246OkxheWVyUHJvcGVydGllczo6TGF5ZXJQcm9wZXJ0aWVzKToKKyAgICAgICAg
KFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkxheWVyUHJvcGVydGllczo6ZW5j
b2RlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkxheWVy
UHJvcGVydGllczo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktpdDo6ZHVtcENoYW5nZWRMYXllcnMp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUGxhdGZvcm1DQUxheWVyUmVtb3Rl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm1DQUxheWVyUmVtb3RlOjpyZWN1cnNpdmVC
dWlsZFRyYW5zYWN0aW9uKTogT25seSBjYWxsIGRpc3BsYXkoKQorICAgICAgICBvbiB0aGUgYmFj
a2luZyBzdG9yZSBpZiBpdCdzIGF0dGFjaGVkLgorICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybUNB
TGF5ZXJSZW1vdGU6OnNldEJhY2tpbmdTdG9yZUF0dGFjaGVkKToKKyAgICAgICAgKFdlYktpdDo6
UGxhdGZvcm1DQUxheWVyUmVtb3RlOjpiYWNraW5nU3RvcmVBdHRhY2hlZCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGUuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZUNvbnRleHQuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZUNvbnRleHQubW06Cisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZUNvbnRleHQ6OmJhY2tpbmdTdG9yZVdpbGxC
ZURpc3BsYXllZCk6CisKKzIwMTUtMDQtMjMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CisKICAgICAgICAgQ2hhbmdpbmcgVGlsZWRCYWNraW5nIHZlbG9jaXR5IHNob3Vs
ZCBzY2hlZHVsZSBhIHRpbGUgcmV2YWxpZGF0aW9uCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQxMjMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaAppbmRleCA0MGY2Yzk3YWE2
NGYxNGVhYmI2OTBmOTFkNGFhZTM1MmU2ZDYxOWUzLi4wNGIyZmYzZmNjNDhmN2U1NDJiODc0MWE5
NjJkOTBkYWEwNDJlMzhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaApAQCAtMzYzLDYgKzM2Myw3IEBAIHByaXZhdGU6
CiAgICAgdm9pZCB1cGRhdGVCYWNrZmFjZVZpc2liaWxpdHkoKTsKICAgICB2b2lkIHVwZGF0ZVN0
cnVjdHVyYWxMYXllcigpOwogICAgIHZvaWQgdXBkYXRlRHJhd3NDb250ZW50KCk7CisgICAgdm9p
ZCB1cGRhdGVCYWNraW5nU3RvcmVBdHRhY2htZW50KCk7CiAgICAgdm9pZCB1cGRhdGVCYWNrZ3Jv
dW5kQ29sb3IoKTsKIAogICAgIHZvaWQgdXBkYXRlQ29udGVudHNJbWFnZSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuaApp
bmRleCAwMDc3MDRkMjBhNzQ3MjBmODg2MzU5MTExZmM5YjhmZjhjMWIwZDVjLi42ZDllNDdkZWNh
YjdiMzg3ZWYzZGY5NGFmOThlNmMzZDFmZDFhOWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuaApAQCAtMTc2LDYgKzE3
Niw5IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRDb250ZW50c1JlY3QoY29uc3Qg
RmxvYXRSZWN0JikgPSAwOwogCisgICAgdmlydHVhbCB2b2lkIHNldEJhY2tpbmdTdG9yZUF0dGFj
aGVkKGJvb2wpID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgYmFja2luZ1N0b3JlQXR0YWNoZWQoKSBj
b25zdCA9IDA7CisKICAgICB2aXJ0dWFsIHZvaWQgc2V0TWluaWZpY2F0aW9uRmlsdGVyKEZpbHRl
clR5cGUpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0TWFnbmlmaWNhdGlvbkZpbHRlcihGaWx0
ZXJUeXBlKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMuaAppbmRleCAwYjUzNTE0ZmZjMWY3
MjM2YzcwNDI5MzYzM2ZkMzkzODRjYWE2YTU2Li4yZTBkNTU1YTM2YjM3MWE0NjVhM2NhNDhjNjll
ZjZiMmZhNzM0OTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5oCkBAIC04OSw2ICs4OSw5IEBA
IHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRIaWRkZW4oYm9vbCkgb3ZlcnJpZGU7CiAK
KyAgICB2aXJ0dWFsIHZvaWQgc2V0QmFja2luZ1N0b3JlQXR0YWNoZWQoYm9vbCkgb3ZlcnJpZGU7
CisgICAgdmlydHVhbCBib29sIGJhY2tpbmdTdG9yZUF0dGFjaGVkKCkgY29uc3Qgb3ZlcnJpZGU7
CisKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgc2V0R2VvbWV0cnlGbGlwcGVkKGJv
b2wpIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCBib29sIGlzRG91YmxlU2lkZWQoKSBjb25zdCBv
dmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1tCmluZGV4IGViNzkyOWNhYzc2ZGJhNDkz
MTc4ZDA1MjEzMjQxZDI2NmE0YzM0ZTAuLjdlMGYzNTczOWUwNDBkZWQ0NDcwY2RjODY3OTM1OGJm
Yzk2YjdlNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5tbQpAQCAtNTk0LDYgKzU5NCwxNiBA
QCB2b2lkIFBsYXRmb3JtQ0FMYXllck1hYzo6c2V0SGlkZGVuKGJvb2wgdmFsdWUpCiAgICAgRU5E
X0JMT0NLX09CSkNfRVhDRVBUSU9OUwogfQogCit2b2lkIFBsYXRmb3JtQ0FMYXllck1hYzo6c2V0
QmFja2luZ1N0b3JlQXR0YWNoZWQoYm9vbCkKK3sKKyAgICAvLyBXZSBjb3VsZCB0aHJvdyBhd2F5
IGJhY2tpbmcgc3RvcmUgaGVyZSB3aXRoIHNldENvbnRlbnRzOm5pbC4KK30KKworYm9vbCBQbGF0
Zm9ybUNBTGF5ZXJNYWM6OmJhY2tpbmdTdG9yZUF0dGFjaGVkKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gdHJ1ZTsKK30KKwogdm9pZCBQbGF0Zm9ybUNBTGF5ZXJNYWM6OnNldEdlb21ldHJ5RmxpcHBl
ZChib29sIHZhbHVlKQogewogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5t
bSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0K
aW5kZXggMWVmOGU3NjMyZTAwOWNlYmNhZWE4MmEyMjgxMTM2MzhlZTQ0ZTJiZC4uMmNjYmFjN2Zj
N2YyNzA5YzBmYWMyZTIwZWVjOTlmNDBjYmFmOWZjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tCkBAIC02Niw2ICs2Niw3
IEBAIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjp+UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUoKQog
CiAgICAgaWYgKCFtX2xheWVyKQogICAgICAgICByZXR1cm47CisKICAgICBpZiAoUmVtb3RlTGF5
ZXJUcmVlQ29udGV4dCogY29udGV4dCA9IG1fbGF5ZXItPmNvbnRleHQoKSkKICAgICAgICAgY29u
dGV4dC0+YmFja2luZ1N0b3JlV2lsbEJlRGVzdHJveWVkKCp0aGlzKTsKIH0KQEAgLTIwNiw4ICsy
MDcsOSBAQCBib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpkaXNwbGF5KCkKIAogICAgIG1f
bGFzdERpc3BsYXlUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CiAKKyAg
ICBib29sIG5lZWRUb0VuY29kZUJhY2tpbmdTdG9yZSA9IGZhbHNlOwogICAgIGlmIChSZW1vdGVM
YXllclRyZWVDb250ZXh0KiBjb250ZXh0ID0gbV9sYXllci0+Y29udGV4dCgpKQotICAgICAgICBj
b250ZXh0LT5iYWNraW5nU3RvcmVXaWxsQmVEaXNwbGF5ZWQoKnRoaXMpOworICAgICAgICBuZWVk
VG9FbmNvZGVCYWNraW5nU3RvcmUgPSBjb250ZXh0LT5iYWNraW5nU3RvcmVXaWxsQmVEaXNwbGF5
ZWQoKnRoaXMpOwogCiAgICAgLy8gTWFrZSB0aGUgcHJldmlvdXMgZnJvbnQgYnVmZmVyIG5vbi12
b2xhdGlsZSBlYXJseSwgc28gdGhhdCB3ZSBjYW4gZGlydHkgdGhlIHdob2xlIGxheWVyIGlmIGl0
IGNvbWVzIGJhY2sgZW1wdHkuCiAgICAgc2V0QnVmZmVyVm9sYXRpbGl0eShCdWZmZXJUeXBlOjpG
cm9udCwgZmFsc2UpOwpAQCAtMjE1LDcgKzIxNyw3IEBAIGJvb2wgUmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmU6OmRpc3BsYXkoKQogICAgIEludFNpemUgZXhwYW5kZWRTY2FsZWRTaXplID0gYmFja2lu
Z1N0b3JlU2l6ZSgpOwogCiAgICAgaWYgKG1fZGlydHlSZWdpb24uaXNFbXB0eSgpIHx8IGV4cGFu
ZGVkU2NhbGVkU2l6ZS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
cmV0dXJuIG5lZWRUb0VuY29kZUJhY2tpbmdTdG9yZTsKIAogICAgIEludFJlY3QgbGF5ZXJCb3Vu
ZHMoSW50UG9pbnQoKSwgZXhwYW5kZWRJbnRTaXplKG1fc2l6ZSkpOwogICAgIGlmICghaGFzRnJv
bnRCdWZmZXIoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFj
L1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oCmluZGV4IGE4Mjk0MmQzZDEwNjE5
NTcwNWUzYmJjNjIxOTljYzhhMWVlNjJkNGMuLmZlNDk3MWVlNzM5MjQxNGFiYzExOTQwYWM3OWY4
Zjc5MTRjYTQ4NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaApAQCAtNDUsNyArNDUsOCBA
QCBwdWJsaWM6CiAgICAgdm9pZCBiYWNraW5nU3RvcmVXYXNDcmVhdGVkKFJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlJik7CiAgICAgdm9pZCBiYWNraW5nU3RvcmVXaWxsQmVEZXN0cm95ZWQoUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmUmKTsKIAotICAgIHZvaWQgYmFja2luZ1N0b3JlV2lsbEJlRGlzcGxh
eWVkKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJik7CisgICAgLy8gUmV0dXJuIHZhbHVlIGluZGlj
YXRlcyB3aGV0aGVyIHRoZSBiYWNraW5nIHN0b3JlIG5lZWRzIHRvIGJlIGluY2x1ZGVkIGluIHRo
ZSB0cmFuc2FjdGlvbi4KKyAgICBib29sIGJhY2tpbmdTdG9yZVdpbGxCZURpc3BsYXllZChSZW1v
dGVMYXllckJhY2tpbmdTdG9yZSYpOwogICAgIHZvaWQgYmFja2luZ1N0b3JlQmVjYW1lVW5yZWFj
aGFibGUoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmKTsKIAogICAgIHZvaWQgd2lsbEZsdXNoTGF5
ZXJzKCk7CkBAIC02NywxMSArNjgsMTMgQEAgcHJpdmF0ZToKIAogICAgIEhhc2hTZXQ8UmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmUqPiBtX2xpdmVCYWNraW5nU3RvcmU7CiAgICAgSGFzaFNldDxSZW1v
dGVMYXllckJhY2tpbmdTdG9yZSo+IG1fdW5wYXJlbnRlZEJhY2tpbmdTdG9yZTsKKworICAgIC8v
IE9ubHkgdXNlZCBkdXJpbmcgYSBzaW5nbGUgZmx1c2guCiAgICAgSGFzaFNldDxSZW1vdGVMYXll
ckJhY2tpbmdTdG9yZSo+IG1fcmVhY2hhYmxlQmFja2luZ1N0b3JlSW5MYXRlc3RGbHVzaDsKIAog
ICAgIFdlYkNvcmU6OlRpbWVyIG1fdm9sYXRpbGl0eVRpbWVyOwogCi0gICAgYm9vbCBtX2luTGF5
ZXJGbHVzaDsKKyAgICBib29sIG1faW5MYXllckZsdXNoIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9S
ZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbQppbmRleCBmZGNjMzMw
Mjc0M2NmYWU2NTEwZmU4MjNmZWQ1NGE4NGZlMjcxMjFlLi40OTU5YThiM2MxZjZkMTFjNzYyMzBh
NmU5N2Y3NTRlNDIyZWNlZTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFj
L1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbQpAQCAtMzgs
NyArMzgsNiBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVD
b2xsZWN0aW9uOjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24oKQogICAgIDogbV92
b2xhdGlsaXR5VGltZXIoKnRoaXMsICZSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246
OnZvbGF0aWxpdHlUaW1lckZpcmVkKQotICAgICwgbV9pbkxheWVyRmx1c2goZmFsc2UpCiB7CiB9
CiAKQEAgLTg4LDE2ICs4NywxOCBAQCB2b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVj
dGlvbjo6YmFja2luZ1N0b3JlV2lsbEJlRGVzdHJveWVkKFJlbW90ZUxheWVyQgogICAgIG1fdW5w
YXJlbnRlZEJhY2tpbmdTdG9yZS5yZW1vdmUoJmJhY2tpbmdTdG9yZSk7CiB9CiAKLXZvaWQgUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjpiYWNraW5nU3RvcmVXaWxsQmVEaXNwbGF5
ZWQoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmIGJhY2tpbmdTdG9yZSkKK2Jvb2wgUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjpiYWNraW5nU3RvcmVXaWxsQmVEaXNwbGF5ZWQoUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmUmIGJhY2tpbmdTdG9yZSkKIHsKICAgICBBU1NFUlQobV9pbkxh
eWVyRmx1c2gpOwogICAgIG1fcmVhY2hhYmxlQmFja2luZ1N0b3JlSW5MYXRlc3RGbHVzaC5hZGQo
JmJhY2tpbmdTdG9yZSk7CiAKICAgICBhdXRvIGJhY2tpbmdTdG9yZUl0ZXIgPSBtX3VucGFyZW50
ZWRCYWNraW5nU3RvcmUuZmluZCgmYmFja2luZ1N0b3JlKTsKICAgICBpZiAoYmFja2luZ1N0b3Jl
SXRlciA9PSBtX3VucGFyZW50ZWRCYWNraW5nU3RvcmUuZW5kKCkpCi0gICAgICAgIHJldHVybjsK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgbV9saXZlQmFja2luZ1N0b3JlLmFkZCgmYmFj
a2luZ1N0b3JlKTsKICAgICBtX3VucGFyZW50ZWRCYWNraW5nU3RvcmUucmVtb3ZlKGJhY2tpbmdT
dG9yZUl0ZXIpOworICAgIHJldHVybiB0cnVlOwogfQogCiBib29sIFJlbW90ZUxheWVyQmFja2lu
Z1N0b3JlQ29sbGVjdGlvbjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlSW1tZWRpYXRlbHkoUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmUmIGJhY2tpbmdTdG9yZSwgVm9sYXRpbGl0eU1hcmtpbmdGbGFn
cyB2b2xhdGlsaXR5TWFya2luZ0ZsYWdzKQpAQCAtMTQxLDEwICsxNDIsNiBAQCB2b2lkIFJlbW90
ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6YmFja2luZ1N0b3JlQmVjYW1lVW5yZWFjaGFi
bGUoUmVtb3RlTGF5ZQogICAgIG1fdW5wYXJlbnRlZEJhY2tpbmdTdG9yZS5hZGQoJmJhY2tpbmdT
dG9yZSk7CiAgICAgbV9saXZlQmFja2luZ1N0b3JlLnJlbW92ZShiYWNraW5nU3RvcmVJdGVyKTsK
IAotICAgIC8vIElmIGEgbGF5ZXIgd2l0aCBiYWNraW5nIHN0b3JlIGlzIHJlbW92ZWQgZnJvbSB0
aGUgdHJlZSwgbWFyayBpdCBhcyBoYXZpbmcgY2hhbmdlZCBiYWNraW5nIHN0b3JlLCBzbyB0aGF0
Ci0gICAgLy8gb24gdGhlIGNvbW1pdCB3aGljaCByZXR1cm5zIGl0IHRvIHRoZSB0cmVlLCB3ZSBz
ZXJpYWxpemUgdGhlIGJhY2tpbmcgc3RvcmUgKGRlc3BpdGUgcG9zc2libHkgbm90IHBhaW50aW5n
KS4KLSAgICBiYWNraW5nU3RvcmUubGF5ZXIoKS0+cHJvcGVydGllcygpLm5vdGVQcm9wZXJ0aWVz
Q2hhbmdlZChSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6QmFja2luZ1N0b3JlQ2hhbmdlZCk7
Ci0KICAgICAvLyBUaGlzIHdpbGwgbm90IHN1Y2NlZWQgaW4gbWFya2luZyBhbGwgYnVmZmVycyBh
cyB2b2xhdGlsZSwgYmVjYXVzZSB0aGUgY29tbWl0IHVucGFyZW50aW5nIHRoZSBsYXllciBoYXNu
J3QKICAgICAvLyBtYWRlIGl0IHRvIHRoZSBVSSBwcm9jZXNzIHlldC4gVGhlIHZvbGF0aWxpdHkg
dGltZXIgd2lsbCBmaW5pc2ggbWFya2luZyB0aGUgcmVtYWluaW5nIGJ1ZmZlcnMgbGF0ZXIuCiAg
ICAgbWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlSW1tZWRpYXRlbHkoYmFja2luZ1N0b3JlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlUHJvcGVy
dHlBcHBsaWVyLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVQ
cm9wZXJ0eUFwcGxpZXIubW0KaW5kZXggZDE4YmNjMDcwNDNiOGUyNTQ3NzM3MjQ4Y2YzMDIxNTRk
ZjRjMmNmYy4uMmRlZjVlYTgxMDk2ODFmNmNkNTdmMGMwMmI3ODJmNmRjNWRlODYwYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVQcm9wZXJ0eUFw
cGxpZXIubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVQ
cm9wZXJ0eUFwcGxpZXIubW0KQEAgLTIzMyw4ICsyMzMsMTEgQEAgc3RhdGljIHZvaWQgYXBwbHlQ
cm9wZXJ0aWVzVG9MYXllcihDQUxheWVyICpsYXllciwgUmVtb3RlTGF5ZXJUcmVlSG9zdCogbGF5
ZXJUcmUKICAgICBpZiAocHJvcGVydGllcy5jaGFuZ2VkUHJvcGVydGllcyAmIFJlbW90ZUxheWVy
VHJlZVRyYW5zYWN0aW9uOjpUaW1lT2Zmc2V0Q2hhbmdlZCkKICAgICAgICAgbGF5ZXIudGltZU9m
ZnNldCA9IHByb3BlcnRpZXMudGltZU9mZnNldDsKIAotICAgIGlmIChwcm9wZXJ0aWVzLmNoYW5n
ZWRQcm9wZXJ0aWVzICYgUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkJhY2tpbmdTdG9yZUNo
YW5nZWQpIHsKLSAgICAgICAgaWYgKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlKiBiYWNraW5nU3Rv
cmUgPSBwcm9wZXJ0aWVzLmJhY2tpbmdTdG9yZS5nZXQoKSkKKyAgICBpZiAocHJvcGVydGllcy5j
aGFuZ2VkUHJvcGVydGllcyAmIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpCYWNraW5nU3Rv
cmVDaGFuZ2VkCisgICAgICAgIHx8IHByb3BlcnRpZXMuY2hhbmdlZFByb3BlcnRpZXMgJiBSZW1v
dGVMYXllclRyZWVUcmFuc2FjdGlvbjo6QmFja2luZ1N0b3JlQXR0YWNobWVudENoYW5nZWQpCisg
ICAgeworICAgICAgICBSZW1vdGVMYXllckJhY2tpbmdTdG9yZSogYmFja2luZ1N0b3JlID0gcHJv
cGVydGllcy5iYWNraW5nU3RvcmUuZ2V0KCk7CisgICAgICAgIGlmIChiYWNraW5nU3RvcmUgJiYg
cHJvcGVydGllcy5iYWNraW5nU3RvcmVBdHRhY2hlZCkKICAgICAgICAgICAgIGJhY2tpbmdTdG9y
ZS0+YXBwbHlCYWNraW5nU3RvcmVUb0xheWVyKGxheWVyKTsKICAgICAgICAgZWxzZSB7CiAgICAg
ICAgICAgICBsYXllci5jb250ZW50cyA9IG5pbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaAppbmRleCA0ZDAyYTU3ZDQ2
NWVlOTBmMzAyYjI5OGQ1ODAwNzNiMDQwNWM1NjNkLi5hYjg2MzE1NmQ5YjVjZjBkM2EzNjQ3Zjgz
NmU1NTZjNTEwNTFmZDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1Jl
bW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21h
Yy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oCkBAIC04MSwxMCArODEsMTEgQEAgcHVibGlj
OgogICAgICAgICBTcGVlZENoYW5nZWQgICAgICAgICAgICAgICAgICAgID0gMUxMVSA8PCAyOCwK
ICAgICAgICAgVGltZU9mZnNldENoYW5nZWQgICAgICAgICAgICAgICA9IDFMTFUgPDwgMjksCiAg
ICAgICAgIEJhY2tpbmdTdG9yZUNoYW5nZWQgICAgICAgICAgICAgPSAxTExVIDw8IDMwLAotICAg
ICAgICBGaWx0ZXJzQ2hhbmdlZCAgICAgICAgICAgICAgICAgID0gMUxMVSA8PCAzMSwKLSAgICAg
ICAgQW5pbWF0aW9uc0NoYW5nZWQgICAgICAgICAgICAgICA9IDFMTFUgPDwgMzIsCi0gICAgICAg
IEVkZ2VBbnRpYWxpYXNpbmdNYXNrQ2hhbmdlZCAgICAgPSAxTExVIDw8IDMzLAotICAgICAgICBD
dXN0b21BcHBlYXJhbmNlQ2hhbmdlZCAgICAgICAgID0gMUxMVSA8PCAzNAorICAgICAgICBCYWNr
aW5nU3RvcmVBdHRhY2htZW50Q2hhbmdlZCAgID0gMUxMVSA8PCAzMSwKKyAgICAgICAgRmlsdGVy
c0NoYW5nZWQgICAgICAgICAgICAgICAgICA9IDFMTFUgPDwgMzIsCisgICAgICAgIEFuaW1hdGlv
bnNDaGFuZ2VkICAgICAgICAgICAgICAgPSAxTExVIDw8IDMzLAorICAgICAgICBFZGdlQW50aWFs
aWFzaW5nTWFza0NoYW5nZWQgICAgID0gMUxMVSA8PCAzNCwKKyAgICAgICAgQ3VzdG9tQXBwZWFy
YW5jZUNoYW5nZWQgICAgICAgICA9IDFMTFUgPDwgMzUsCiAgICAgfTsKICAgICB0eXBlZGVmIHVp
bnQ2NF90IExheWVyQ2hhbmdlOwogCkBAIC0xNTYsNiArMTU3LDcgQEAgcHVibGljOgogICAgICAg
ICBXZWJDb3JlOjpCbGVuZE1vZGUgYmxlbmRNb2RlOwogICAgICAgICBXZWJDb3JlOjpXaW5kUnVs
ZSB3aW5kUnVsZTsKICAgICAgICAgYm9vbCBoaWRkZW47CisgICAgICAgIGJvb2wgYmFja2luZ1N0
b3JlQXR0YWNoZWQ7CiAgICAgICAgIGJvb2wgZ2VvbWV0cnlGbGlwcGVkOwogICAgICAgICBib29s
IGRvdWJsZVNpZGVkOwogICAgICAgICBib29sIG1hc2tzVG9Cb3VuZHM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbQpp
bmRleCAxYjczYWFlOWM0ODA4NTBjMzVkYjQ0NmJhZmQ2NDljNTUwOThhZTNhLi4zYWE3YjI2ZWU5
ZjA2ZWM0MDA5NmRiYTA4ZmUyODYzNWNlYzdmZjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0KQEAgLTk4LDYg
Kzk4LDcgQEAgUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkxheWVyUHJvcGVydGllczo6TGF5
ZXJQcm9wZXJ0aWVzKCkKICAgICAsIGJsZW5kTW9kZShCbGVuZE1vZGVOb3JtYWwpCiAgICAgLCB3
aW5kUnVsZShSVUxFX05PTlpFUk8pCiAgICAgLCBoaWRkZW4oZmFsc2UpCisgICAgLCBiYWNraW5n
U3RvcmVBdHRhY2hlZCh0cnVlKQogICAgICwgZ2VvbWV0cnlGbGlwcGVkKGZhbHNlKQogICAgICwg
ZG91YmxlU2lkZWQodHJ1ZSkKICAgICAsIG1hc2tzVG9Cb3VuZHMoZmFsc2UpCkBAIC0xMzQsNiAr
MTM1LDcgQEAgUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkxheWVyUHJvcGVydGllczo6TGF5
ZXJQcm9wZXJ0aWVzKGNvbnN0IExheWVyUHJvcGVydGkKICAgICAsIGJsZW5kTW9kZShvdGhlci5i
bGVuZE1vZGUpCiAgICAgLCB3aW5kUnVsZShvdGhlci53aW5kUnVsZSkKICAgICAsIGhpZGRlbihv
dGhlci5oaWRkZW4pCisgICAgLCBiYWNraW5nU3RvcmVBdHRhY2hlZChvdGhlci5iYWNraW5nU3Rv
cmVBdHRhY2hlZCkKICAgICAsIGdlb21ldHJ5RmxpcHBlZChvdGhlci5nZW9tZXRyeUZsaXBwZWQp
CiAgICAgLCBkb3VibGVTaWRlZChvdGhlci5kb3VibGVTaWRlZCkKICAgICAsIG1hc2tzVG9Cb3Vu
ZHMob3RoZXIubWFza3NUb0JvdW5kcykKQEAgLTI1NSw2ICsyNTcsOSBAQCB2b2lkIFJlbW90ZUxh
eWVyVHJlZVRyYW5zYWN0aW9uOjpMYXllclByb3BlcnRpZXM6OmVuY29kZShJUEM6OkFyZ3VtZW50
RW5jb2RlciYgZQogICAgICAgICAgICAgZW5jb2RlciA8PCAqYmFja2luZ1N0b3JlOwogICAgIH0K
IAorICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcyAmIEJhY2tpbmdTdG9yZUF0dGFjaG1lbnRDaGFu
Z2VkKQorICAgICAgICBlbmNvZGVyIDw8IGJhY2tpbmdTdG9yZUF0dGFjaGVkOworCiAgICAgaWYg
KGNoYW5nZWRQcm9wZXJ0aWVzICYgRmlsdGVyc0NoYW5nZWQpCiAgICAgICAgIGVuY29kZXIgPDwg
KmZpbHRlcnM7CiAKQEAgLTQ1NCw2ICs0NTksMTEgQEAgYm9vbCBSZW1vdGVMYXllclRyZWVUcmFu
c2FjdGlvbjo6TGF5ZXJQcm9wZXJ0aWVzOjpkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXImIGQK
ICAgICAgICAgICAgIHJlc3VsdC5iYWNraW5nU3RvcmUgPSBudWxscHRyOwogICAgIH0KIAorICAg
IGlmIChyZXN1bHQuY2hhbmdlZFByb3BlcnRpZXMgJiBCYWNraW5nU3RvcmVBdHRhY2htZW50Q2hh
bmdlZCkgeworICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5iYWNraW5nU3RvcmVB
dHRhY2hlZCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCiAgICAgaWYgKHJl
c3VsdC5jaGFuZ2VkUHJvcGVydGllcyAmIEZpbHRlcnNDaGFuZ2VkKSB7CiAgICAgICAgIHN0ZDo6
dW5pcXVlX3B0cjxGaWx0ZXJPcGVyYXRpb25zPiBmaWx0ZXJzID0gc3RkOjptYWtlX3VuaXF1ZTxG
aWx0ZXJPcGVyYXRpb25zPigpOwogICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKCpmaWx0ZXJz
KSkKQEAgLTExODEsNiArMTE5MSw5IEBAIHN0YXRpYyB2b2lkIGR1bXBDaGFuZ2VkTGF5ZXJzKFJl
bW90ZUxheWVyVHJlZVRleHRTdHJlYW0mIHRzLCBjb25zdCBSZW1vdGVMYXllclRyCiAgICAgICAg
ICAgICAgICAgZHVtcFByb3BlcnR5KHRzLCAiYmFja2luZ1N0b3JlIiwgInJlbW92ZWQiKTsKICAg
ICAgICAgfQogCisgICAgICAgIGlmIChsYXllclByb3BlcnRpZXMuY2hhbmdlZFByb3BlcnRpZXMg
JiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6QmFja2luZ1N0b3JlQXR0YWNobWVudENoYW5n
ZWQpCisgICAgICAgICAgICBkdW1wUHJvcGVydHkodHMsICJiYWNraW5nU3RvcmVBdHRhY2hlZCIs
IGxheWVyUHJvcGVydGllcy5iYWNraW5nU3RvcmVBdHRhY2hlZCk7CisKICAgICAgICAgaWYgKGxh
eWVyUHJvcGVydGllcy5jaGFuZ2VkUHJvcGVydGllcyAmIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0
aW9uOjpGaWx0ZXJzQ2hhbmdlZCkKICAgICAgICAgICAgIGR1bXBQcm9wZXJ0eSh0cywgImZpbHRl
cnMiLCBsYXllclByb3BlcnRpZXMuZmlsdGVycyA/ICpsYXllclByb3BlcnRpZXMuZmlsdGVycyA6
IEZpbHRlck9wZXJhdGlvbnMoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9tYWMvUGxhdGZvcm1DQUxheWVyUmVtb3RlLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUGxhdGZvcm1DQUxheWVyUmVtb3RlLmNwcAppbmRl
eCBjNjhjYmMzYTI2YWU1YzkxYzk1MTgwZTcxMTFlN2MxYzk5YTE4MDk3Li5kMDgzNGJjMDcwMDk2
YWQ3NGE1YmJhYWNkZDM5ZDVkODAwMGZlOGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1BsYXRmb3JtQ0FMYXllclJlbW90ZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGUu
Y3BwCkBAIC0xNTMsNyArMTUzLDcgQEAgdm9pZCBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6OnJlY3Vy
c2l2ZUJ1aWxkVHJhbnNhY3Rpb24oUmVtb3RlTGF5ZXJUcmVlQ29udGV4dCYgY28KICAgICAgICAg
bV9wcm9wZXJ0aWVzLm5vdGVQcm9wZXJ0aWVzQ2hhbmdlZChSZW1vdGVMYXllclRyZWVUcmFuc2Fj
dGlvbjo6QmFja2luZ1N0b3JlQ2hhbmdlZCk7CiAgICAgfQogCi0gICAgaWYgKG1fcHJvcGVydGll
cy5iYWNraW5nU3RvcmUgJiYgbV9wcm9wZXJ0aWVzLmJhY2tpbmdTdG9yZS0+ZGlzcGxheSgpKQor
ICAgIGlmIChtX3Byb3BlcnRpZXMuYmFja2luZ1N0b3JlICYmIG1fcHJvcGVydGllcy5iYWNraW5n
U3RvcmVBdHRhY2hlZCAmJiBtX3Byb3BlcnRpZXMuYmFja2luZ1N0b3JlLT5kaXNwbGF5KCkpCiAg
ICAgICAgIG1fcHJvcGVydGllcy5ub3RlUHJvcGVydGllc0NoYW5nZWQoUmVtb3RlTGF5ZXJUcmVl
VHJhbnNhY3Rpb246OkJhY2tpbmdTdG9yZUNoYW5nZWQpOwogCiAgICAgaWYgKG1fcHJvcGVydGll
cy5jaGFuZ2VkUHJvcGVydGllcyAhPSBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6Tm9DaGFu
Z2UpIHsKQEAgLTUwMiw2ICs1MDIsMjAgQEAgdm9pZCBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6OnNl
dEhpZGRlbihib29sIHZhbHVlKQogICAgIG1fcHJvcGVydGllcy5ub3RlUHJvcGVydGllc0NoYW5n
ZWQoUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkhpZGRlbkNoYW5nZWQpOwogfQogCit2b2lk
IFBsYXRmb3JtQ0FMYXllclJlbW90ZTo6c2V0QmFja2luZ1N0b3JlQXR0YWNoZWQoYm9vbCB2YWx1
ZSkKK3sKKyAgICBpZiAobV9wcm9wZXJ0aWVzLmJhY2tpbmdTdG9yZUF0dGFjaGVkID09IHZhbHVl
KQorICAgICAgICByZXR1cm47CisKKyAgICBtX3Byb3BlcnRpZXMuYmFja2luZ1N0b3JlQXR0YWNo
ZWQgPSB2YWx1ZTsKKyAgICBtX3Byb3BlcnRpZXMubm90ZVByb3BlcnRpZXNDaGFuZ2VkKFJlbW90
ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpCYWNraW5nU3RvcmVBdHRhY2htZW50Q2hhbmdlZCk7Cit9
CisKK2Jvb2wgUGxhdGZvcm1DQUxheWVyUmVtb3RlOjpiYWNraW5nU3RvcmVBdHRhY2hlZCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1fcHJvcGVydGllcy5iYWNraW5nU3RvcmVBdHRhY2hlZDsKK30K
Kwogdm9pZCBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6OnNldEdlb21ldHJ5RmxpcHBlZChib29sIHZh
bHVlKQogewogICAgIG1fcHJvcGVydGllcy5nZW9tZXRyeUZsaXBwZWQgPSB2YWx1ZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUGxhdGZvcm1DQUxh
eWVyUmVtb3RlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1BsYXRm
b3JtQ0FMYXllclJlbW90ZS5oCmluZGV4IDJmZWJmMmUwZjM5OTUwZjNjNTU5MjA5N2ZlYzcyNTMz
MGFhOWU5NWQuLjI5NmI4MThkYmRiOTEwMTFhMzMzODcyMWQxY2MyYjY1YmQzNDg4NDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUGxhdGZvcm1DQUxh
eWVyUmVtb3RlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9Q
bGF0Zm9ybUNBTGF5ZXJSZW1vdGUuaApAQCAtOTQsNiArOTQsOSBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIHZvaWQgc2V0SGlkZGVuKGJvb2wpIG92ZXJyaWRlOwogCisgICAgdmlydHVhbCB2b2lk
IHNldEJhY2tpbmdTdG9yZUF0dGFjaGVkKGJvb2wpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgYm9v
bCBiYWNraW5nU3RvcmVBdHRhY2hlZCgpIGNvbnN0IG92ZXJyaWRlOworCiAgICAgdmlydHVhbCB2
b2lkIHNldEdlb21ldHJ5RmxpcHBlZChib29sKSBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgYm9v
bCBpc0RvdWJsZVNpZGVkKCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZUNvbnRleHQuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlQ29udGV4
dC5oCmluZGV4IDFkYjQ4ZDBiNzk3YzE0ZjIwMzQ0ZmI5ZTAzZjFlODk4NzA5M2FkZjQuLmY3ZDI1
MjdmZTZlMzYzMGEyMTFlOWQ3MTAxNWUyZWY0NWYzOTc5NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVl
Q29udGV4dC5oCkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYmFja2luZ1N0
b3JlV2FzQ3JlYXRlZChSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYpOwogICAgIHZvaWQgYmFja2lu
Z1N0b3JlV2lsbEJlRGVzdHJveWVkKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJik7Ci0gICAgdm9p
ZCBiYWNraW5nU3RvcmVXaWxsQmVEaXNwbGF5ZWQoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmKTsK
KyAgICBib29sIGJhY2tpbmdTdG9yZVdpbGxCZURpc3BsYXllZChSZW1vdGVMYXllckJhY2tpbmdT
dG9yZSYpOwogCiAgICAgV2ViQ29yZTo6TGF5ZXJQb29sJiBsYXllclBvb2woKSB7IHJldHVybiBt
X2xheWVyUG9vbDsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZUNvbnRleHQubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZUNvbnRleHQubW0KaW5kZXggNDk5MmIz
MWY0MWQ0MTY4M2VhOGQ2MDcxOTJjY2Q5NGI0MzY5YmMzMi4uY2VhNDUyYjE2ZTQwYTUzZmZjNjE3
ZThkMjc0MjY1ZjczYjM1NjZjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVDb250ZXh0Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5tbQpAQCAt
OTQsOSArOTQsOSBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZUNvbnRleHQ6OmJhY2tpbmdTdG9yZVdp
bGxCZURlc3Ryb3llZChSZW1vdGVMYXllckJhY2tpbmdTdG9yZQogICAgIG1fYmFja2luZ1N0b3Jl
Q29sbGVjdGlvbi5iYWNraW5nU3RvcmVXaWxsQmVEZXN0cm95ZWQoYmFja2luZ1N0b3JlKTsKIH0K
IAotdm9pZCBSZW1vdGVMYXllclRyZWVDb250ZXh0OjpiYWNraW5nU3RvcmVXaWxsQmVEaXNwbGF5
ZWQoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmIGJhY2tpbmdTdG9yZSkKK2Jvb2wgUmVtb3RlTGF5
ZXJUcmVlQ29udGV4dDo6YmFja2luZ1N0b3JlV2lsbEJlRGlzcGxheWVkKFJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlJiBiYWNraW5nU3RvcmUpCiB7Ci0gICAgbV9iYWNraW5nU3RvcmVDb2xsZWN0aW9u
LmJhY2tpbmdTdG9yZVdpbGxCZURpc3BsYXllZChiYWNraW5nU3RvcmUpOworICAgIHJldHVybiBt
X2JhY2tpbmdTdG9yZUNvbGxlY3Rpb24uYmFja2luZ1N0b3JlV2lsbEJlRGlzcGxheWVkKGJhY2tp
bmdTdG9yZSk7CiB9CiAKIHN0ZDo6dW5pcXVlX3B0cjxHcmFwaGljc0xheWVyPiBSZW1vdGVMYXll
clRyZWVDb250ZXh0OjpjcmVhdGVHcmFwaGljc0xheWVyKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6
OlR5cGUgbGF5ZXJUeXBlLCBHcmFwaGljc0xheWVyQ2xpZW50JiBjbGllbnQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251533</attachid>
            <date>2015-04-23 21:10:54 -0700</date>
            <delta_ts>2015-04-23 21:11:07 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-144140-20150423210949.patch</filename>
            <type>text/plain</type>
            <size>21179</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzMjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDNkZDVhOGQ4MDU0Njhl
MWVmNTM2NmJiYWRmODk0ZTkyYmFiNGNlOC4uMGExYjA0N2FlNmEzY2IwMGU4NDQyNDA3MzBiMmQ4
NzQ1MmRiMWQ4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI0IEBACiAyMDE1LTA0LTIzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIE1ha2UgaXQgcG9z
c2libGUgdG8gZGV0YWNoIEdyYXBoaWNzTGF5ZXJDQSBiYWNraW5nIHN0b3JlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQxNDAKKworICAgICAgICBS
ZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgIFRoaXMgY2hhbmdlcyBtYWtlcyBpdCBw
b3NzaWJsZSB0byBkZW5vdGUgYSBHcmFwaGljc0xheWVyQ0EncyBiYWNraW5nIHN0b3JlCisgICAg
ICAgIGFzICJhdHRhY2hlZCIgb3Igbm90LiBXaGVuIG5vdCBhdHRhY2hlZCwgdGhlIGJhY2tpbmcg
c3RvcmUgaXMgbWFkZSB2b2xhdGlsZQorICAgICAgICBhbmQgY2FuIGJlIHB1cmdlZC4gVGhpcyB3
aWxsIGJlIHVzZWQgaW4gYSBmdXR1cmUgcGF0Y2guCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaDogQWRkIHVwZGF0ZUJhY2tpbmdTdG9yZUF0dGFjaG1l
bnQoKS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLmg6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FMYXllck1hYy5t
bTogU3R1YnMuIEluIGZ1dHVyZSwgd2UgY291bGQKKyAgICAgICAgcmVtb3ZlIGJhY2tpbmcgc3Rv
cmUgb24gTWFjIGFuZCBpT1MgV0sxIHRvby4KKyAgICAgICAgKFBsYXRmb3JtQ0FMYXllck1hYzo6
c2V0QmFja2luZ1N0b3JlQXR0YWNoZWQpOgorICAgICAgICAoUGxhdGZvcm1DQUxheWVyTWFjOjpi
YWNraW5nU3RvcmVBdHRhY2hlZCk6CisKKzIwMTUtMDQtMjMgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CisKICAgICAgICAgUmVtb3ZlICJsYXllciIgZnJvbSBHcmFwaGlj
c0xheWVyQ0EgbWVtYmVyIGZ1bmN0aW9uIG5hbWVzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQxMzkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDBhZjQ0Y2Q1ZTJl
NGI4OGY5NDE2NjM0MjBkYjk1MDA1ZjBkYWRjNDkuLjYzNjVhYjgxOTg2MTJhNGFiNzEyOGYyMTk2
NDNkZTFmZGQ5M2I1ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBAQAorMjAxNS0wNC0yMyAg
U2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIGl0
IHBvc3NpYmxlIHRvIGRldGFjaCBHcmFwaGljc0xheWVyQ0EgYmFja2luZyBzdG9yZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0MTQwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKyAgICAgICAgCisgICAgICAgIFRoaXMgY2hhbmdl
cyBtYWtlcyBpdCBwb3NzaWJsZSB0byBkZW5vdGUgYSBHcmFwaGljc0xheWVyQ0EncyBiYWNraW5n
IHN0b3JlCisgICAgICAgIGFzICJhdHRhY2hlZCIgb3Igbm90LiBXaGVuIG5vdCBhdHRhY2hlZCwg
dGhlIGJhY2tpbmcgc3RvcmUgaXMgbWFkZSB2b2xhdGlsZQorICAgICAgICBhbmQgY2FuIGJlIHB1
cmdlZC4gVGhpcyB3aWxsIGJlIHVzZWQgaW4gYSBmdXR1cmUgcGF0Y2guCisKKyAgICAgICAgKiBT
aGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6flJlbW90ZUxheWVyQmFja2luZ1N0b3JlKTogV2hpdGVz
cGFjZS4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmRpc3BsYXkp
OiBJZiBiYWNraW5nU3RvcmVXaWxsQmVEaXNwbGF5ZWQoKQorICAgICAgICByZXR1cm5zIHRydWUs
IHRoaXMgaW5kaWNhdGVzIHRoYXQgdGhlIGJhY2tpbmcgc3RvcmUgd2FzIGJyb3VnaHQgb3V0IG9m
IHRoZQorICAgICAgICAidW5yZWFjaGFibGUiIGxpc3QsIHNvIHJldHVybiB0cnVlIGV2ZW4gaWYg
dGhlIGJhY2tpbmcgc3RvcmUgZG9lc24ndCByZXF1aXJlCisgICAgICAgIHBhaW50aW5nLgorICAg
ICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmg6IEMr
KzExIGluaXRpYWxpemVyLCBhbmQgY29tbWVudHMuCisgICAgICAgICogU2hhcmVkL21hYy9SZW1v
dGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xs
ZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0
aW9uOjpiYWNraW5nU3RvcmVXaWxsQmVEaXNwbGF5ZWQpOiBSZXR1cm4gdHJ1ZQorICAgICAgICBp
ZiB0aGUgY2FsbGVyIHdpbGwgbmVlZCB0byBzdWJtaXQgdGhlIGJhY2tpbmcgc3RvcmUgaW4gdGhl
IGN1cnJlbnQgdHJhbnNhY3Rpb24uCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2lu
Z1N0b3JlQ29sbGVjdGlvbjo6YmFja2luZ1N0b3JlQmVjYW1lVW5yZWFjaGFibGUpOiBUaGlzCisg
ICAgICAgIGV4cGxpY2l0IGRpcnR5aW5nIGlzIG5vIGxvbmdlciBuZWNlc3NhcnkgZ2l2ZW4gdGhl
IGJhY2tpbmdTdG9yZVdpbGxCZURpc3BsYXllZCgpIGNoYW5nZS4KKyAgICAgICAgKiBTaGFyZWQv
bWFjL1JlbW90ZUxheWVyVHJlZVByb3BlcnR5QXBwbGllci5tbToKKyAgICAgICAgKFdlYktpdDo6
YXBwbHlQcm9wZXJ0aWVzVG9MYXllcik6IE9ubHkgc2V0IHRoZSBsYXllcidzIGJhY2tpbmcgaWYg
d2UgYm90aCBoYXZlIGJhY2tpbmcKKyAgICAgICAgc3RvcmUsIGFuZCBpdCdzIGF0dGFjaGVkLgor
ICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaDogTmV3IGJp
dCwgYW5kIGRhdGEgbWVtYmVyLgorICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVl
VHJhbnNhY3Rpb24ubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0
aW9uOjpMYXllclByb3BlcnRpZXM6OkxheWVyUHJvcGVydGllcyk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpMYXllclByb3BlcnRpZXM6OmVuY29kZSk6Cisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpMYXllclByb3BlcnRp
ZXM6OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6OmR1bXBDaGFuZ2VkTGF5ZXJzKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1BsYXRmb3JtQ0FMYXllclJlbW90ZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OlBsYXRmb3JtQ0FMYXllclJlbW90ZTo6cmVjdXJzaXZlQnVpbGRUcmFu
c2FjdGlvbik6IE9ubHkgY2FsbCBkaXNwbGF5KCkKKyAgICAgICAgb24gdGhlIGJhY2tpbmcgc3Rv
cmUgaWYgaXQncyBhdHRhY2hlZC4KKyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm1DQUxheWVyUmVt
b3RlOjpzZXRCYWNraW5nU3RvcmVBdHRhY2hlZCk6CisgICAgICAgIChXZWJLaXQ6OlBsYXRmb3Jt
Q0FMYXllclJlbW90ZTo6YmFja2luZ1N0b3JlQXR0YWNoZWQpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvUGxhdGZvcm1DQUxheWVyUmVtb3RlLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVDb250ZXh0Lmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVDb250ZXh0Lm1tOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVMYXllclRyZWVDb250ZXh0OjpiYWNraW5nU3RvcmVXaWxsQmVEaXNwbGF5
ZWQpOgorCiAyMDE1LTA0LTIzICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29t
PgogCiAgICAgICAgIFF1aWNrIExvb2sgcHJldmlldyBwb3BvdmVyIGlzIG5vdCBkaXNtaXNzZWQg
b24gc2Nyb2xsIGluIE1haWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmgKaW5kZXggNDBmNmM5N2FhNjRmMTRlYWJiNjkwZjkx
ZDRhYWUzNTJlNmQ2MTllMy4uMDRiMmZmM2ZjYzQ4ZjdlNTQyYjg3NDFhOTYyZDkwZGFhMDQyZTM4
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhp
Y3NMYXllckNBLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3Jh
cGhpY3NMYXllckNBLmgKQEAgLTM2Myw2ICszNjMsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBk
YXRlQmFja2ZhY2VWaXNpYmlsaXR5KCk7CiAgICAgdm9pZCB1cGRhdGVTdHJ1Y3R1cmFsTGF5ZXIo
KTsKICAgICB2b2lkIHVwZGF0ZURyYXdzQ29udGVudCgpOworICAgIHZvaWQgdXBkYXRlQmFja2lu
Z1N0b3JlQXR0YWNobWVudCgpOwogICAgIHZvaWQgdXBkYXRlQmFja2dyb3VuZENvbG9yKCk7CiAK
ICAgICB2b2lkIHVwZGF0ZUNvbnRlbnRzSW1hZ2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKaW5kZXggMDA3NzA0ZDIw
YTc0NzIwZjg4NjM1OTExMWZjOWI4ZmY4YzFiMGQ1Yy4uNmQ5ZTQ3ZGVjYWI3YjM4N2VmM2RmOTRh
Zjk4ZTZjM2QxZmQxYTlhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKQEAgLTE3Niw2ICsxNzYsOSBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udGVudHNSZWN0KGNvbnN0IEZsb2F0UmVjdCYpID0g
MDsKIAorICAgIHZpcnR1YWwgdm9pZCBzZXRCYWNraW5nU3RvcmVBdHRhY2hlZChib29sKSA9IDA7
CisgICAgdmlydHVhbCBib29sIGJhY2tpbmdTdG9yZUF0dGFjaGVkKCkgY29uc3QgPSAwOworCiAg
ICAgdmlydHVhbCB2b2lkIHNldE1pbmlmaWNhdGlvbkZpbHRlcihGaWx0ZXJUeXBlKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIHNldE1hZ25pZmljYXRpb25GaWx0ZXIoRmlsdGVyVHlwZSkgPSAwOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxh
dGZvcm1DQUxheWVyTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9t
YWMvUGxhdGZvcm1DQUxheWVyTWFjLmgKaW5kZXggMGI1MzUxNGZmYzFmNzIzNmM3MDQyOTM2MzNm
ZDM5Mzg0Y2FhNmE1Ni4uMmUwZDU1NWEzNmIzNzFhNDY1YTNjYTQ4YzY5ZWY2YjJmYTczNDk0ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRm
b3JtQ0FMYXllck1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L21hYy9QbGF0Zm9ybUNBTGF5ZXJNYWMuaApAQCAtODksNiArODksOSBAQCBwdWJsaWM6CiAKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0SGlkZGVuKGJvb2wpIG92ZXJyaWRlOwogCisgICAgdmlydHVhbCB2
b2lkIHNldEJhY2tpbmdTdG9yZUF0dGFjaGVkKGJvb2wpIG92ZXJyaWRlOworICAgIHZpcnR1YWwg
Ym9vbCBiYWNraW5nU3RvcmVBdHRhY2hlZCgpIGNvbnN0IG92ZXJyaWRlOworCiAgICAgV0VCQ09S
RV9FWFBPUlQgdmlydHVhbCB2b2lkIHNldEdlb21ldHJ5RmxpcHBlZChib29sKSBvdmVycmlkZTsK
IAogICAgIHZpcnR1YWwgYm9vbCBpc0RvdWJsZVNpZGVkKCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1D
QUxheWVyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1Bs
YXRmb3JtQ0FMYXllck1hYy5tbQppbmRleCBlYjc5MjljYWM3NmRiYTQ5MzE3OGQwNTIxMzI0MWQy
NjZhNGMzNGUwLi43ZTBmMzU3MzllMDQwZGVkNDQ3MGNkYzg2NzkzNThiZmM5NmI3ZTU5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1D
QUxheWVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21h
Yy9QbGF0Zm9ybUNBTGF5ZXJNYWMubW0KQEAgLTU5NCw2ICs1OTQsMTYgQEAgdm9pZCBQbGF0Zm9y
bUNBTGF5ZXJNYWM6OnNldEhpZGRlbihib29sIHZhbHVlKQogICAgIEVORF9CTE9DS19PQkpDX0VY
Q0VQVElPTlMKIH0KIAordm9pZCBQbGF0Zm9ybUNBTGF5ZXJNYWM6OnNldEJhY2tpbmdTdG9yZUF0
dGFjaGVkKGJvb2wpCit7CisgICAgLy8gV2UgY291bGQgdGhyb3cgYXdheSBiYWNraW5nIHN0b3Jl
IGhlcmUgd2l0aCBzZXRDb250ZW50czpuaWwuCit9CisKK2Jvb2wgUGxhdGZvcm1DQUxheWVyTWFj
OjpiYWNraW5nU3RvcmVBdHRhY2hlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRydWU7Cit9CisK
IHZvaWQgUGxhdGZvcm1DQUxheWVyTWFjOjpzZXRHZW9tZXRyeUZsaXBwZWQoYm9vbCB2YWx1ZSkK
IHsKICAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tCmluZGV4IDFlZjhlNzYz
MmUwMDljZWJjYWVhODJhMjI4MTEzNjM4ZWU0NGUyYmQuLjJjY2JhYzdmYzdmMjcwOWMwZmFjMmUy
MGVlYzk5ZjQwY2JhZjlmYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMv
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21h
Yy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQpAQCAtNjYsNiArNjYsNyBAQCBSZW1vdGVMYXll
ckJhY2tpbmdTdG9yZTo6flJlbW90ZUxheWVyQmFja2luZ1N0b3JlKCkKIAogICAgIGlmICghbV9s
YXllcikKICAgICAgICAgcmV0dXJuOworCiAgICAgaWYgKFJlbW90ZUxheWVyVHJlZUNvbnRleHQq
IGNvbnRleHQgPSBtX2xheWVyLT5jb250ZXh0KCkpCiAgICAgICAgIGNvbnRleHQtPmJhY2tpbmdT
dG9yZVdpbGxCZURlc3Ryb3llZCgqdGhpcyk7CiB9CkBAIC0yMDYsOCArMjA3LDkgQEAgYm9vbCBS
ZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6ZGlzcGxheSgpCiAKICAgICBtX2xhc3REaXNwbGF5VGlt
ZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOwogCisgICAgYm9vbCBuZWVkVG9F
bmNvZGVCYWNraW5nU3RvcmUgPSBmYWxzZTsKICAgICBpZiAoUmVtb3RlTGF5ZXJUcmVlQ29udGV4
dCogY29udGV4dCA9IG1fbGF5ZXItPmNvbnRleHQoKSkKLSAgICAgICAgY29udGV4dC0+YmFja2lu
Z1N0b3JlV2lsbEJlRGlzcGxheWVkKCp0aGlzKTsKKyAgICAgICAgbmVlZFRvRW5jb2RlQmFja2lu
Z1N0b3JlID0gY29udGV4dC0+YmFja2luZ1N0b3JlV2lsbEJlRGlzcGxheWVkKCp0aGlzKTsKIAog
ICAgIC8vIE1ha2UgdGhlIHByZXZpb3VzIGZyb250IGJ1ZmZlciBub24tdm9sYXRpbGUgZWFybHks
IHNvIHRoYXQgd2UgY2FuIGRpcnR5IHRoZSB3aG9sZSBsYXllciBpZiBpdCBjb21lcyBiYWNrIGVt
cHR5LgogICAgIHNldEJ1ZmZlclZvbGF0aWxpdHkoQnVmZmVyVHlwZTo6RnJvbnQsIGZhbHNlKTsK
QEAgLTIxNSw3ICsyMTcsNyBAQCBib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpkaXNwbGF5
KCkKICAgICBJbnRTaXplIGV4cGFuZGVkU2NhbGVkU2l6ZSA9IGJhY2tpbmdTdG9yZVNpemUoKTsK
IAogICAgIGlmIChtX2RpcnR5UmVnaW9uLmlzRW1wdHkoKSB8fCBleHBhbmRlZFNjYWxlZFNpemUu
aXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBuZWVkVG9F
bmNvZGVCYWNraW5nU3RvcmU7CiAKICAgICBJbnRSZWN0IGxheWVyQm91bmRzKEludFBvaW50KCks
IGV4cGFuZGVkSW50U2l6ZShtX3NpemUpKTsKICAgICBpZiAoIWhhc0Zyb250QnVmZmVyKCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0
b3JlQ29sbGVjdGlvbi5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJh
Y2tpbmdTdG9yZUNvbGxlY3Rpb24uaAppbmRleCBhODI5NDJkM2QxMDYxOTU3MDVlM2JiYzYyMTk5
Y2M4YTFlZTYyZDRjLi5mZTQ5NzFlZTczOTI0MTRhYmMxMTk0MGFjNzlmOGY3OTE0Y2E0ODYyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0
b3JlQ29sbGVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmgKQEAgLTQ1LDcgKzQ1LDggQEAgcHVibGljOgogICAg
IHZvaWQgYmFja2luZ1N0b3JlV2FzQ3JlYXRlZChSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYpOwog
ICAgIHZvaWQgYmFja2luZ1N0b3JlV2lsbEJlRGVzdHJveWVkKFJlbW90ZUxheWVyQmFja2luZ1N0
b3JlJik7CiAKLSAgICB2b2lkIGJhY2tpbmdTdG9yZVdpbGxCZURpc3BsYXllZChSZW1vdGVMYXll
ckJhY2tpbmdTdG9yZSYpOworICAgIC8vIFJldHVybiB2YWx1ZSBpbmRpY2F0ZXMgd2hldGhlciB0
aGUgYmFja2luZyBzdG9yZSBuZWVkcyB0byBiZSBpbmNsdWRlZCBpbiB0aGUgdHJhbnNhY3Rpb24u
CisgICAgYm9vbCBiYWNraW5nU3RvcmVXaWxsQmVEaXNwbGF5ZWQoUmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmUmKTsKICAgICB2b2lkIGJhY2tpbmdTdG9yZUJlY2FtZVVucmVhY2hhYmxlKFJlbW90ZUxh
eWVyQmFja2luZ1N0b3JlJik7CiAKICAgICB2b2lkIHdpbGxGbHVzaExheWVycygpOwpAQCAtNjcs
MTEgKzY4LDEzIEBAIHByaXZhdGU6CiAKICAgICBIYXNoU2V0PFJlbW90ZUxheWVyQmFja2luZ1N0
b3JlKj4gbV9saXZlQmFja2luZ1N0b3JlOwogICAgIEhhc2hTZXQ8UmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmUqPiBtX3VucGFyZW50ZWRCYWNraW5nU3RvcmU7CisKKyAgICAvLyBPbmx5IHVzZWQgZHVy
aW5nIGEgc2luZ2xlIGZsdXNoLgogICAgIEhhc2hTZXQ8UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUq
PiBtX3JlYWNoYWJsZUJhY2tpbmdTdG9yZUluTGF0ZXN0Rmx1c2g7CiAKICAgICBXZWJDb3JlOjpU
aW1lciBtX3ZvbGF0aWxpdHlUaW1lcjsKIAotICAgIGJvb2wgbV9pbkxheWVyRmx1c2g7CisgICAg
Ym9vbCBtX2luTGF5ZXJGbHVzaCB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmVDb2xsZWN0aW9uLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVM
YXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KaW5kZXggZmRjYzMzMDI3NDNjZmFlNjUxMGZl
ODIzZmVkNTRhODRmZTI3MTIxZS4uNDk1OWE4YjNjMWY2ZDExYzc2MjMwYTZlOTdmNzU0ZTQyMmVj
ZWUzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJh
Y2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9S
ZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KQEAgLTM4LDcgKzM4LDYgQEAgbmFt
ZXNwYWNlIFdlYktpdCB7CiAKIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6UmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uKCkKICAgICA6IG1fdm9sYXRpbGl0eVRpbWVy
KCp0aGlzLCAmUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjp2b2xhdGlsaXR5VGlt
ZXJGaXJlZCkKLSAgICAsIG1faW5MYXllckZsdXNoKGZhbHNlKQogewogfQogCkBAIC04OCwxNiAr
ODcsMTggQEAgdm9pZCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246OmJhY2tpbmdT
dG9yZVdpbGxCZURlc3Ryb3llZChSZW1vdGVMYXllckIKICAgICBtX3VucGFyZW50ZWRCYWNraW5n
U3RvcmUucmVtb3ZlKCZiYWNraW5nU3RvcmUpOwogfQogCi12b2lkIFJlbW90ZUxheWVyQmFja2lu
Z1N0b3JlQ29sbGVjdGlvbjo6YmFja2luZ1N0b3JlV2lsbEJlRGlzcGxheWVkKFJlbW90ZUxheWVy
QmFja2luZ1N0b3JlJiBiYWNraW5nU3RvcmUpCitib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Q29sbGVjdGlvbjo6YmFja2luZ1N0b3JlV2lsbEJlRGlzcGxheWVkKFJlbW90ZUxheWVyQmFja2lu
Z1N0b3JlJiBiYWNraW5nU3RvcmUpCiB7CiAgICAgQVNTRVJUKG1faW5MYXllckZsdXNoKTsKICAg
ICBtX3JlYWNoYWJsZUJhY2tpbmdTdG9yZUluTGF0ZXN0Rmx1c2guYWRkKCZiYWNraW5nU3RvcmUp
OwogCiAgICAgYXV0byBiYWNraW5nU3RvcmVJdGVyID0gbV91bnBhcmVudGVkQmFja2luZ1N0b3Jl
LmZpbmQoJmJhY2tpbmdTdG9yZSk7CiAgICAgaWYgKGJhY2tpbmdTdG9yZUl0ZXIgPT0gbV91bnBh
cmVudGVkQmFja2luZ1N0b3JlLmVuZCgpKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVy
biBmYWxzZTsKKwogICAgIG1fbGl2ZUJhY2tpbmdTdG9yZS5hZGQoJmJhY2tpbmdTdG9yZSk7CiAg
ICAgbV91bnBhcmVudGVkQmFja2luZ1N0b3JlLnJlbW92ZShiYWNraW5nU3RvcmVJdGVyKTsKKyAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAogYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rp
b246Om1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZUltbWVkaWF0ZWx5KFJlbW90ZUxheWVyQmFja2lu
Z1N0b3JlJiBiYWNraW5nU3RvcmUsIFZvbGF0aWxpdHlNYXJraW5nRmxhZ3Mgdm9sYXRpbGl0eU1h
cmtpbmdGbGFncykKQEAgLTE0MSwxMCArMTQyLDYgQEAgdm9pZCBSZW1vdGVMYXllckJhY2tpbmdT
dG9yZUNvbGxlY3Rpb246OmJhY2tpbmdTdG9yZUJlY2FtZVVucmVhY2hhYmxlKFJlbW90ZUxheWUK
ICAgICBtX3VucGFyZW50ZWRCYWNraW5nU3RvcmUuYWRkKCZiYWNraW5nU3RvcmUpOwogICAgIG1f
bGl2ZUJhY2tpbmdTdG9yZS5yZW1vdmUoYmFja2luZ1N0b3JlSXRlcik7CiAKLSAgICAvLyBJZiBh
IGxheWVyIHdpdGggYmFja2luZyBzdG9yZSBpcyByZW1vdmVkIGZyb20gdGhlIHRyZWUsIG1hcmsg
aXQgYXMgaGF2aW5nIGNoYW5nZWQgYmFja2luZyBzdG9yZSwgc28gdGhhdAotICAgIC8vIG9uIHRo
ZSBjb21taXQgd2hpY2ggcmV0dXJucyBpdCB0byB0aGUgdHJlZSwgd2Ugc2VyaWFsaXplIHRoZSBi
YWNraW5nIHN0b3JlIChkZXNwaXRlIHBvc3NpYmx5IG5vdCBwYWludGluZykuCi0gICAgYmFja2lu
Z1N0b3JlLmxheWVyKCktPnByb3BlcnRpZXMoKS5ub3RlUHJvcGVydGllc0NoYW5nZWQoUmVtb3Rl
TGF5ZXJUcmVlVHJhbnNhY3Rpb246OkJhY2tpbmdTdG9yZUNoYW5nZWQpOwotCiAgICAgLy8gVGhp
cyB3aWxsIG5vdCBzdWNjZWVkIGluIG1hcmtpbmcgYWxsIGJ1ZmZlcnMgYXMgdm9sYXRpbGUsIGJl
Y2F1c2UgdGhlIGNvbW1pdCB1bnBhcmVudGluZyB0aGUgbGF5ZXIgaGFzbid0CiAgICAgLy8gbWFk
ZSBpdCB0byB0aGUgVUkgcHJvY2VzcyB5ZXQuIFRoZSB2b2xhdGlsaXR5IHRpbWVyIHdpbGwgZmlu
aXNoIG1hcmtpbmcgdGhlIHJlbWFpbmluZyBidWZmZXJzIGxhdGVyLgogICAgIG1hcmtCYWNraW5n
U3RvcmVWb2xhdGlsZUltbWVkaWF0ZWx5KGJhY2tpbmdTdG9yZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVByb3BlcnR5QXBwbGllci5tbSBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlUHJvcGVydHlBcHBsaWVy
Lm1tCmluZGV4IGQxOGJjYzA3MDQzYjhlMjU0NzczNzI0OGNmMzAyMTU0ZGY0YzJjZmMuLjJkZWY1
ZWE4MTA5NjgxZjZjZDU3ZjBjMDJiNzgyZjZkYzVkZTg2MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlUHJvcGVydHlBcHBsaWVyLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlUHJvcGVydHlBcHBsaWVy
Lm1tCkBAIC0yMzMsOCArMjMzLDExIEBAIHN0YXRpYyB2b2lkIGFwcGx5UHJvcGVydGllc1RvTGF5
ZXIoQ0FMYXllciAqbGF5ZXIsIFJlbW90ZUxheWVyVHJlZUhvc3QqIGxheWVyVHJlCiAgICAgaWYg
KHByb3BlcnRpZXMuY2hhbmdlZFByb3BlcnRpZXMgJiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlv
bjo6VGltZU9mZnNldENoYW5nZWQpCiAgICAgICAgIGxheWVyLnRpbWVPZmZzZXQgPSBwcm9wZXJ0
aWVzLnRpbWVPZmZzZXQ7CiAKLSAgICBpZiAocHJvcGVydGllcy5jaGFuZ2VkUHJvcGVydGllcyAm
IFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpCYWNraW5nU3RvcmVDaGFuZ2VkKSB7Ci0gICAg
ICAgIGlmIChSZW1vdGVMYXllckJhY2tpbmdTdG9yZSogYmFja2luZ1N0b3JlID0gcHJvcGVydGll
cy5iYWNraW5nU3RvcmUuZ2V0KCkpCisgICAgaWYgKHByb3BlcnRpZXMuY2hhbmdlZFByb3BlcnRp
ZXMgJiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6QmFja2luZ1N0b3JlQ2hhbmdlZAorICAg
ICAgICB8fCBwcm9wZXJ0aWVzLmNoYW5nZWRQcm9wZXJ0aWVzICYgUmVtb3RlTGF5ZXJUcmVlVHJh
bnNhY3Rpb246OkJhY2tpbmdTdG9yZUF0dGFjaG1lbnRDaGFuZ2VkKQorICAgIHsKKyAgICAgICAg
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUqIGJhY2tpbmdTdG9yZSA9IHByb3BlcnRpZXMuYmFja2lu
Z1N0b3JlLmdldCgpOworICAgICAgICBpZiAoYmFja2luZ1N0b3JlICYmIHByb3BlcnRpZXMuYmFj
a2luZ1N0b3JlQXR0YWNoZWQpCiAgICAgICAgICAgICBiYWNraW5nU3RvcmUtPmFwcGx5QmFja2lu
Z1N0b3JlVG9MYXllcihsYXllcik7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgbGF5ZXIu
Y29udGVudHMgPSBuaWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1Jl
bW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1Jl
bW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmgKaW5kZXggNGQwMmE1N2Q0NjVlZTkwZjMwMmIyOThk
NTgwMDczYjA0MDVjNTYzZC4uYWI4NjMxNTZkOWI1Y2YwZDNhMzY0N2Y4MzZlNTU2YzUxMDUxZmQx
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVU
cmFuc2FjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJU
cmVlVHJhbnNhY3Rpb24uaApAQCAtODEsMTAgKzgxLDExIEBAIHB1YmxpYzoKICAgICAgICAgU3Bl
ZWRDaGFuZ2VkICAgICAgICAgICAgICAgICAgICA9IDFMTFUgPDwgMjgsCiAgICAgICAgIFRpbWVP
ZmZzZXRDaGFuZ2VkICAgICAgICAgICAgICAgPSAxTExVIDw8IDI5LAogICAgICAgICBCYWNraW5n
U3RvcmVDaGFuZ2VkICAgICAgICAgICAgID0gMUxMVSA8PCAzMCwKLSAgICAgICAgRmlsdGVyc0No
YW5nZWQgICAgICAgICAgICAgICAgICA9IDFMTFUgPDwgMzEsCi0gICAgICAgIEFuaW1hdGlvbnND
aGFuZ2VkICAgICAgICAgICAgICAgPSAxTExVIDw8IDMyLAotICAgICAgICBFZGdlQW50aWFsaWFz
aW5nTWFza0NoYW5nZWQgICAgID0gMUxMVSA8PCAzMywKLSAgICAgICAgQ3VzdG9tQXBwZWFyYW5j
ZUNoYW5nZWQgICAgICAgICA9IDFMTFUgPDwgMzQKKyAgICAgICAgQmFja2luZ1N0b3JlQXR0YWNo
bWVudENoYW5nZWQgICA9IDFMTFUgPDwgMzEsCisgICAgICAgIEZpbHRlcnNDaGFuZ2VkICAgICAg
ICAgICAgICAgICAgPSAxTExVIDw8IDMyLAorICAgICAgICBBbmltYXRpb25zQ2hhbmdlZCAgICAg
ICAgICAgICAgID0gMUxMVSA8PCAzMywKKyAgICAgICAgRWRnZUFudGlhbGlhc2luZ01hc2tDaGFu
Z2VkICAgICA9IDFMTFUgPDwgMzQsCisgICAgICAgIEN1c3RvbUFwcGVhcmFuY2VDaGFuZ2VkICAg
ICAgICAgPSAxTExVIDw8IDM1LAogICAgIH07CiAgICAgdHlwZWRlZiB1aW50NjRfdCBMYXllckNo
YW5nZTsKIApAQCAtMTU2LDYgKzE1Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgV2ViQ29yZTo6Qmxl
bmRNb2RlIGJsZW5kTW9kZTsKICAgICAgICAgV2ViQ29yZTo6V2luZFJ1bGUgd2luZFJ1bGU7CiAg
ICAgICAgIGJvb2wgaGlkZGVuOworICAgICAgICBib29sIGJhY2tpbmdTdG9yZUF0dGFjaGVkOwog
ICAgICAgICBib29sIGdlb21ldHJ5RmxpcHBlZDsKICAgICAgICAgYm9vbCBkb3VibGVTaWRlZDsK
ICAgICAgICAgYm9vbCBtYXNrc1RvQm91bmRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0KaW5kZXggMWI3M2FhZTlj
NDgwODUwYzM1ZGI0NDZiYWZkNjQ5YzU1MDk4YWUzYS4uM2FhN2IyNmVlOWYwNmVjNDAwOTZkYmEw
OGZlMjg2MzVjZWM3ZmYyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9S
ZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
bWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tCkBAIC05OCw2ICs5OCw3IEBAIFJlbW90
ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpMYXllclByb3BlcnRpZXM6OkxheWVyUHJvcGVydGllcygp
CiAgICAgLCBibGVuZE1vZGUoQmxlbmRNb2RlTm9ybWFsKQogICAgICwgd2luZFJ1bGUoUlVMRV9O
T05aRVJPKQogICAgICwgaGlkZGVuKGZhbHNlKQorICAgICwgYmFja2luZ1N0b3JlQXR0YWNoZWQo
dHJ1ZSkKICAgICAsIGdlb21ldHJ5RmxpcHBlZChmYWxzZSkKICAgICAsIGRvdWJsZVNpZGVkKHRy
dWUpCiAgICAgLCBtYXNrc1RvQm91bmRzKGZhbHNlKQpAQCAtMTM0LDYgKzEzNSw3IEBAIFJlbW90
ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpMYXllclByb3BlcnRpZXM6OkxheWVyUHJvcGVydGllcyhj
b25zdCBMYXllclByb3BlcnRpCiAgICAgLCBibGVuZE1vZGUob3RoZXIuYmxlbmRNb2RlKQogICAg
ICwgd2luZFJ1bGUob3RoZXIud2luZFJ1bGUpCiAgICAgLCBoaWRkZW4ob3RoZXIuaGlkZGVuKQor
ICAgICwgYmFja2luZ1N0b3JlQXR0YWNoZWQob3RoZXIuYmFja2luZ1N0b3JlQXR0YWNoZWQpCiAg
ICAgLCBnZW9tZXRyeUZsaXBwZWQob3RoZXIuZ2VvbWV0cnlGbGlwcGVkKQogICAgICwgZG91Ymxl
U2lkZWQob3RoZXIuZG91YmxlU2lkZWQpCiAgICAgLCBtYXNrc1RvQm91bmRzKG90aGVyLm1hc2tz
VG9Cb3VuZHMpCkBAIC0yNTUsNiArMjU3LDkgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVUcmFuc2Fj
dGlvbjo6TGF5ZXJQcm9wZXJ0aWVzOjplbmNvZGUoSVBDOjpBcmd1bWVudEVuY29kZXImIGUKICAg
ICAgICAgICAgIGVuY29kZXIgPDwgKmJhY2tpbmdTdG9yZTsKICAgICB9CiAKKyAgICBpZiAoY2hh
bmdlZFByb3BlcnRpZXMgJiBCYWNraW5nU3RvcmVBdHRhY2htZW50Q2hhbmdlZCkKKyAgICAgICAg
ZW5jb2RlciA8PCBiYWNraW5nU3RvcmVBdHRhY2hlZDsKKwogICAgIGlmIChjaGFuZ2VkUHJvcGVy
dGllcyAmIEZpbHRlcnNDaGFuZ2VkKQogICAgICAgICBlbmNvZGVyIDw8ICpmaWx0ZXJzOwogCkBA
IC00NTQsNiArNDU5LDExIEBAIGJvb2wgUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkxheWVy
UHJvcGVydGllczo6ZGVjb2RlKElQQzo6QXJndW1lbnREZWNvZGVyJiBkCiAgICAgICAgICAgICBy
ZXN1bHQuYmFja2luZ1N0b3JlID0gbnVsbHB0cjsKICAgICB9CiAKKyAgICBpZiAocmVzdWx0LmNo
YW5nZWRQcm9wZXJ0aWVzICYgQmFja2luZ1N0b3JlQXR0YWNobWVudENoYW5nZWQpIHsKKyAgICAg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuYmFja2luZ1N0b3JlQXR0YWNoZWQpKQorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKwogICAgIGlmIChyZXN1bHQuY2hhbmdlZFBy
b3BlcnRpZXMgJiBGaWx0ZXJzQ2hhbmdlZCkgewogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8Rmls
dGVyT3BlcmF0aW9ucz4gZmlsdGVycyA9IHN0ZDo6bWFrZV91bmlxdWU8RmlsdGVyT3BlcmF0aW9u
cz4oKTsKICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZSgqZmlsdGVycykpCkBAIC0xMTgxLDYg
KzExOTEsOSBAQCBzdGF0aWMgdm9pZCBkdW1wQ2hhbmdlZExheWVycyhSZW1vdGVMYXllclRyZWVU
ZXh0U3RyZWFtJiB0cywgY29uc3QgUmVtb3RlTGF5ZXJUcgogICAgICAgICAgICAgICAgIGR1bXBQ
cm9wZXJ0eSh0cywgImJhY2tpbmdTdG9yZSIsICJyZW1vdmVkIik7CiAgICAgICAgIH0KIAorICAg
ICAgICBpZiAobGF5ZXJQcm9wZXJ0aWVzLmNoYW5nZWRQcm9wZXJ0aWVzICYgUmVtb3RlTGF5ZXJU
cmVlVHJhbnNhY3Rpb246OkJhY2tpbmdTdG9yZUF0dGFjaG1lbnRDaGFuZ2VkKQorICAgICAgICAg
ICAgZHVtcFByb3BlcnR5KHRzLCAiYmFja2luZ1N0b3JlQXR0YWNoZWQiLCBsYXllclByb3BlcnRp
ZXMuYmFja2luZ1N0b3JlQXR0YWNoZWQpOworCiAgICAgICAgIGlmIChsYXllclByb3BlcnRpZXMu
Y2hhbmdlZFByb3BlcnRpZXMgJiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6RmlsdGVyc0No
YW5nZWQpCiAgICAgICAgICAgICBkdW1wUHJvcGVydHkodHMsICJmaWx0ZXJzIiwgbGF5ZXJQcm9w
ZXJ0aWVzLmZpbHRlcnMgPyAqbGF5ZXJQcm9wZXJ0aWVzLmZpbHRlcnMgOiBGaWx0ZXJPcGVyYXRp
b25zKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1BsYXRmb3JtQ0FMYXllclJlbW90ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvbWFjL1BsYXRmb3JtQ0FMYXllclJlbW90ZS5jcHAKaW5kZXggYzY4Y2JjM2EyNmFl
NWM5MWM5NTE4MGU3MTExZTdjMWM5OWExODA5Ny4uZDA4MzRiYzA3MDA5NmFkNzRhNWJiYWFjZGQz
OWQ1ZDgwMDBmZThmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvUGxhdGZvcm1DQUxheWVyUmVtb3RlLmNwcApAQCAtMTUzLDcg
KzE1Myw3IEBAIHZvaWQgUGxhdGZvcm1DQUxheWVyUmVtb3RlOjpyZWN1cnNpdmVCdWlsZFRyYW5z
YWN0aW9uKFJlbW90ZUxheWVyVHJlZUNvbnRleHQmIGNvCiAgICAgICAgIG1fcHJvcGVydGllcy5u
b3RlUHJvcGVydGllc0NoYW5nZWQoUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkJhY2tpbmdT
dG9yZUNoYW5nZWQpOwogICAgIH0KIAotICAgIGlmIChtX3Byb3BlcnRpZXMuYmFja2luZ1N0b3Jl
ICYmIG1fcHJvcGVydGllcy5iYWNraW5nU3RvcmUtPmRpc3BsYXkoKSkKKyAgICBpZiAobV9wcm9w
ZXJ0aWVzLmJhY2tpbmdTdG9yZSAmJiBtX3Byb3BlcnRpZXMuYmFja2luZ1N0b3JlQXR0YWNoZWQg
JiYgbV9wcm9wZXJ0aWVzLmJhY2tpbmdTdG9yZS0+ZGlzcGxheSgpKQogICAgICAgICBtX3Byb3Bl
cnRpZXMubm90ZVByb3BlcnRpZXNDaGFuZ2VkKFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpC
YWNraW5nU3RvcmVDaGFuZ2VkKTsKIAogICAgIGlmIChtX3Byb3BlcnRpZXMuY2hhbmdlZFByb3Bl
cnRpZXMgIT0gUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246Ok5vQ2hhbmdlKSB7CkBAIC01MDIs
NiArNTAyLDIwIEBAIHZvaWQgUGxhdGZvcm1DQUxheWVyUmVtb3RlOjpzZXRIaWRkZW4oYm9vbCB2
YWx1ZSkKICAgICBtX3Byb3BlcnRpZXMubm90ZVByb3BlcnRpZXNDaGFuZ2VkKFJlbW90ZUxheWVy
VHJlZVRyYW5zYWN0aW9uOjpIaWRkZW5DaGFuZ2VkKTsKIH0KIAordm9pZCBQbGF0Zm9ybUNBTGF5
ZXJSZW1vdGU6OnNldEJhY2tpbmdTdG9yZUF0dGFjaGVkKGJvb2wgdmFsdWUpCit7CisgICAgaWYg
KG1fcHJvcGVydGllcy5iYWNraW5nU3RvcmVBdHRhY2hlZCA9PSB2YWx1ZSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgbV9wcm9wZXJ0aWVzLmJhY2tpbmdTdG9yZUF0dGFjaGVkID0gdmFsdWU7Cisg
ICAgbV9wcm9wZXJ0aWVzLm5vdGVQcm9wZXJ0aWVzQ2hhbmdlZChSZW1vdGVMYXllclRyZWVUcmFu
c2FjdGlvbjo6QmFja2luZ1N0b3JlQXR0YWNobWVudENoYW5nZWQpOworfQorCitib29sIFBsYXRm
b3JtQ0FMYXllclJlbW90ZTo6YmFja2luZ1N0b3JlQXR0YWNoZWQoKSBjb25zdAoreworICAgIHJl
dHVybiBtX3Byb3BlcnRpZXMuYmFja2luZ1N0b3JlQXR0YWNoZWQ7Cit9CisKIHZvaWQgUGxhdGZv
cm1DQUxheWVyUmVtb3RlOjpzZXRHZW9tZXRyeUZsaXBwZWQoYm9vbCB2YWx1ZSkKIHsKICAgICBt
X3Byb3BlcnRpZXMuZ2VvbWV0cnlGbGlwcGVkID0gdmFsdWU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1BsYXRmb3JtQ0FMYXllclJlbW90ZS5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1v
dGUuaAppbmRleCAyZmViZjJlMGYzOTk1MGYzYzU1OTIwOTdmZWM3MjUzMzBhYTllOTVkLi4yOTZi
ODE4ZGJkYjkxMDExYTMzMzg3MjFkMWNjMmI2NWJkMzQ4ODQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1BsYXRmb3JtQ0FMYXllclJlbW90ZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUGxhdGZvcm1DQUxheWVy
UmVtb3RlLmgKQEAgLTk0LDYgKzk0LDkgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHNl
dEhpZGRlbihib29sKSBvdmVycmlkZTsKIAorICAgIHZpcnR1YWwgdm9pZCBzZXRCYWNraW5nU3Rv
cmVBdHRhY2hlZChib29sKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIGJvb2wgYmFja2luZ1N0b3Jl
QXR0YWNoZWQoKSBjb25zdCBvdmVycmlkZTsKKwogICAgIHZpcnR1YWwgdm9pZCBzZXRHZW9tZXRy
eUZsaXBwZWQoYm9vbCkgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNEb3VibGVTaWRl
ZCgpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVDb250ZXh0LmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZUNvbnRleHQuaAppbmRleCAxZGI0
OGQwYjc5N2MxNGYyMDM0NGZiOWUwM2YxZTg5ODcwOTNhZGY0Li5mN2QyNTI3ZmU2ZTM2MzBhMjEx
ZTlkNzEwMTVlMmVmNDVmMzk3OTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZUNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZUNvbnRleHQuaApAQCAt
NTEsNyArNTEsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGJhY2tpbmdTdG9yZVdhc0NyZWF0ZWQo
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmKTsKICAgICB2b2lkIGJhY2tpbmdTdG9yZVdpbGxCZURl
c3Ryb3llZChSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYpOwotICAgIHZvaWQgYmFja2luZ1N0b3Jl
V2lsbEJlRGlzcGxheWVkKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJik7CisgICAgYm9vbCBiYWNr
aW5nU3RvcmVXaWxsQmVEaXNwbGF5ZWQoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmKTsKIAogICAg
IFdlYkNvcmU6OkxheWVyUG9vbCYgbGF5ZXJQb29sKCkgeyByZXR1cm4gbV9sYXllclBvb2w7IH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1v
dGVMYXllclRyZWVDb250ZXh0Lm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9SZW1vdGVMYXllclRyZWVDb250ZXh0Lm1tCmluZGV4IDQ5OTJiMzFmNDFkNDE2ODNlYThk
NjA3MTkyY2NkOTRiNDM2OWJjMzIuLmNlYTQ1MmIxNmU0MGE1M2ZmYzYxN2U4ZDI3NDI2NWY3M2Iz
NTY2YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
UmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZUNvbnRleHQubW0KQEAgLTk0LDkgKzk0LDkgQEAg
dm9pZCBSZW1vdGVMYXllclRyZWVDb250ZXh0OjpiYWNraW5nU3RvcmVXaWxsQmVEZXN0cm95ZWQo
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUKICAgICBtX2JhY2tpbmdTdG9yZUNvbGxlY3Rpb24uYmFj
a2luZ1N0b3JlV2lsbEJlRGVzdHJveWVkKGJhY2tpbmdTdG9yZSk7CiB9CiAKLXZvaWQgUmVtb3Rl
TGF5ZXJUcmVlQ29udGV4dDo6YmFja2luZ1N0b3JlV2lsbEJlRGlzcGxheWVkKFJlbW90ZUxheWVy
QmFja2luZ1N0b3JlJiBiYWNraW5nU3RvcmUpCitib29sIFJlbW90ZUxheWVyVHJlZUNvbnRleHQ6
OmJhY2tpbmdTdG9yZVdpbGxCZURpc3BsYXllZChSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYgYmFj
a2luZ1N0b3JlKQogewotICAgIG1fYmFja2luZ1N0b3JlQ29sbGVjdGlvbi5iYWNraW5nU3RvcmVX
aWxsQmVEaXNwbGF5ZWQoYmFja2luZ1N0b3JlKTsKKyAgICByZXR1cm4gbV9iYWNraW5nU3RvcmVD
b2xsZWN0aW9uLmJhY2tpbmdTdG9yZVdpbGxCZURpc3BsYXllZChiYWNraW5nU3RvcmUpOwogfQog
CiBzdGQ6OnVuaXF1ZV9wdHI8R3JhcGhpY3NMYXllcj4gUmVtb3RlTGF5ZXJUcmVlQ29udGV4dDo6
Y3JlYXRlR3JhcGhpY3NMYXllcihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpUeXBlIGxheWVyVHlw
ZSwgR3JhcGhpY3NMYXllckNsaWVudCYgY2xpZW50KQo=
</data>
<flag name="review"
          id="276316"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>