<?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>106972</bug_id>
          
          <creation_ts>2013-01-15 18:40:03 -0800</creation_ts>
          <short_desc>Add a Setting to disable QTKit media engine.</short_desc>
          <delta_ts>2013-01-16 11:21:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>mrowe</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>807915</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-01-15 18:40:03 -0800</bug_when>
    <thetext>Add a Setting to disable QTKit media engine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808076</commentid>
    <comment_count>1</comment_count>
      <attachid>182922</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-01-15 23:19:52 -0800</bug_when>
    <thetext>Created attachment 182922
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808078</commentid>
    <comment_count>2</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-01-15 23:21:12 -0800</bug_when>
    <thetext>&lt;rdar://problem/13019548&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808082</commentid>
    <comment_count>3</comment_count>
      <attachid>182922</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-15 23:27:04 -0800</bug_when>
    <thetext>Comment on attachment 182922
Patch

Attachment 182922 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15901333</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808089</commentid>
    <comment_count>4</comment_count>
      <attachid>182922</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-01-15 23:45:11 -0800</bug_when>
    <thetext>Comment on attachment 182922
Patch

Attachment 182922 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/15908264</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808091</commentid>
    <comment_count>5</comment_count>
      <attachid>182924</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-01-15 23:47:03 -0800</bug_when>
    <thetext>Created attachment 182924
Patch

Added #if guards to protect ports without QTKit support.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808447</commentid>
    <comment_count>6</comment_count>
      <attachid>182924</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-01-16 09:48:47 -0800</bug_when>
    <thetext>Comment on attachment 182924
Patch

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

&gt; Source/WebCore/platform/graphics/MediaPlayer.cpp:229
&gt; +#if PLATFORM(MAC) || (PLATFORM(QT) &amp;&amp; USE(QTKIT))
&gt; +        if (Settings::isQTKitEnabled())
&gt; +            MediaPlayerPrivateQTKit::registerMediaEngine(addMediaEngine);
&gt; +#endif
&gt; +

Having the check here means it won&apos;t really be possible to have a control in an application&apos;s UI, because the user can&apos;t know if the media engines have already been registered or not (eg. loading a document WebCore doesn&apos;t handle natively has the side effect of registering all media engines to see if it is possible to create a media document). I think it would be more useful to always register the QTKit media engine, but then not use it when the pref is set by checking engineDescription() in bestMediaEngineForTypeAndCodecs().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808489</commentid>
    <comment_count>7</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-01-16 10:11:47 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 182924 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=182924&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/MediaPlayer.cpp:229
&gt; &gt; +#if PLATFORM(MAC) || (PLATFORM(QT) &amp;&amp; USE(QTKIT))
&gt; &gt; +        if (Settings::isQTKitEnabled())
&gt; &gt; +            MediaPlayerPrivateQTKit::registerMediaEngine(addMediaEngine);
&gt; &gt; +#endif
&gt; &gt; +
&gt; 
&gt; Having the check here means it won&apos;t really be possible to have a control in an application&apos;s UI, because the user can&apos;t know if the media engines have already been registered or not (eg. loading a document WebCore doesn&apos;t handle natively has the side effect of registering all media engines to see if it is possible to create a media document). I think it would be more useful to always register the QTKit media engine, but then not use it when the pref is set by checking engineDescription() in bestMediaEngineForTypeAndCodecs().

We don&apos;t have access to engineDescription() at that point, as bestMediaEngineForTypeAndCodecs() just uses the MediaEngine factory methods, not an instance of MediaPlayerPrivate.  But even if it were available, that seems fragile (i.e., comparing strings returned from engineDescription()).

What if we recreate the list of media engine factories whenever one of those preferences change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808498</commentid>
    <comment_count>8</comment_count>
      <attachid>182924</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-01-16 10:25:27 -0800</bug_when>
    <thetext>Comment on attachment 182924
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/MediaPlayer.cpp:229
&gt;&gt;&gt; +
&gt;&gt; 
&gt;&gt; Having the check here means it won&apos;t really be possible to have a control in an application&apos;s UI, because the user can&apos;t know if the media engines have already been registered or not (eg. loading a document WebCore doesn&apos;t handle natively has the side effect of registering all media engines to see if it is possible to create a media document). I think it would be more useful to always register the QTKit media engine, but then not use it when the pref is set by checking engineDescription() in bestMediaEngineForTypeAndCodecs().
&gt; 
&gt; We don&apos;t have access to engineDescription() at that point, as bestMediaEngineForTypeAndCodecs() just uses the MediaEngine factory methods, not an instance of MediaPlayerPrivate.  But even if it were available, that seems fragile (i.e., comparing strings returned from engineDescription()).
&gt; 
&gt; What if we recreate the list of media engine factories whenever one of those preferences change?

Fair enough. Having to set the pref, quit, and relaunch is a pain but not the end of the world.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808545</commentid>
    <comment_count>9</comment_count>
      <attachid>183009</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-01-16 11:09:31 -0800</bug_when>
    <thetext>Created attachment 183009
Patch

Notwithstanding ericc&apos;s r+, I&apos;ve modified the patch to make the setting &apos;live&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808550</commentid>
    <comment_count>10</comment_count>
      <attachid>183009</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-01-16 11:13:51 -0800</bug_when>
    <thetext>Comment on attachment 183009
Patch

Nice solution, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808551</commentid>
    <comment_count>11</comment_count>
      <attachid>183009</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-16 11:15:59 -0800</bug_when>
    <thetext>Comment on attachment 183009
Patch

Attachment 183009 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/15903533</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808552</commentid>
    <comment_count>12</comment_count>
      <attachid>183009</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-16 11:17:41 -0800</bug_when>
    <thetext>Comment on attachment 183009
Patch

Attachment 183009 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15912425</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808556</commentid>
    <comment_count>13</comment_count>
      <attachid>183009</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-16 11:20:34 -0800</bug_when>
    <thetext>Comment on attachment 183009
Patch

Attachment 183009 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15925158</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808557</commentid>
    <comment_count>14</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-01-16 11:21:25 -0800</bug_when>
    <thetext>Committed r139899: &lt;http://trac.webkit.org/changeset/139899&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182922</attachid>
            <date>2013-01-15 23:19:52 -0800</date>
            <delta_ts>2013-01-15 23:47:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106972-20130115231654.patch</filename>
            <type>text/plain</type>
            <size>12836</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmI2MjA1OTI1ZWE4ZmFi
ZDg4MjEwMWQyMTNkN2Q2ZDlhMjRjNjkyNy4uNTBiNTFhNTg5NmY1YjkxMzdmYjhkYzczMmZiZGNh
MjUzMTY4MDMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAxLTE1ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIFNldHRpbmcgdG8g
ZGlzYWJsZSBRVEtpdCBtZWRpYSBlbmdpbmUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY5NzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBbGxvdyB0aGUgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQgZW5n
aW5lIHRvIGJlIGRpc2FibGVkIGJ5IGFkZGluZyBhCisgICAgICAgIHJ1bnRpbWUgc2V0dGluZyB0
byBTZXR0aW5ncy4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOiBBZGQgbmV3IHN5bWJvbHMg
dG8gZXhwb3J0IGxpc3QuCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6IEFkZCBuZXcgZ1FU
S2l0RW5hYmxlZCBnbG9iYWwuCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAo
V2ViQ29yZTo6U2V0dGluZ3M6OnNldFFUS2l0RW5hYmxlZCk6IFNldHRlciBmb3IgZ2xvYmFsIHNl
dHRpbmcgdmFyaWFibGUuCisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6aXNRVEtpdEVuYWJs
ZWQpOiBHZXR0ZXIgZm9yIHNhbWUuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aW5zdGFsbGVkTWVkaWFFbmdpbmVzKTogQ2hl
Y2sgaXNRVEtpdEVuYWJsZWQoKSBiZWZvcmUgYWRkaW5nCisgICAgICAgICAgICBNZWRpYVBsYXll
clByaXZhdGVRVEtpdCBlbmdpbmUuCisKIDIwMTMtMDEtMTQgIFl1cnkgU2VtaWtoYXRza3kgIDx5
dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW1JFR1JFU1NJT05dIERldiBUb29scyBwb3B1
cCBmb3IgV29ya2VycyBmb3JnZXRzIHNpemVzL3Nob3dzIHRpbnkgaW4gdG9wIGxlZnQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZwppbmRleCA4OWY2NzAzNjYxZTcwOTBiNTE1NGEzZDkxYmE0N2I1MTEyZWUyZDA1Li4z
ODQxZmYwZmY1MGQ4MDhkNjYwM2U3MjUzYzQ0MjJkMDY3YWFlZTczIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjEgQEAKKzIwMTMtMDEtMTUgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIGEgU2V0dGluZyB0byBkaXNhYmxlIFFUS2l0IG1lZGlhIGVu
Z2luZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
Njk3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBXZWJLaXQgQVBJIHRvIHNldCBRVEtpdCBlbmFibGVkIHNldHRpbmcgZnJvbSB1c2VyIGRlZmF1
bHRzLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAg
ICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJl
bmNlcyBpbml0aWFsaXplXSk6IFNldCBXZWJDb3JlIHNldHRpbmdzIGJhc2VkIG9uIHVzZXIgZGVm
YXVsdHMuCisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldFFUS2l0RW5hYmxlZDpdKTogUGFz
cyB0aHJvdWdoIHRvIFdlYkNvcmUuCisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIGlzUVRLaXRF
bmFibGVkXSk6IERpdHRvLgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRl
Lmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9w
cmVmZXJlbmNlc0NoYW5nZWQ6XSk6IFN5bmNocm9uaXplIFdlYktpdC9XZWJDb3JlIHNldHRpbmdz
LgorCiAyMDEzLTAxLTEwICBaYW4gRG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIHRoZSBFTkFCTEVfQU5JTUFUSU9OX0FQSSBmZWF0dXJlIGRlZmluZSBv
Y2N1cmVuY2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODkwOWVjZDYyZDBlZWI1NGFhZWYwMzlhNjExMGRjMDhh
MTViM2MxYy4uNzk1YTYzNzgzN2I2MGI2ZjZlNGI2MzFiYTdhNDU4NTE5MmE2OGJlMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTAxLTE1ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVA
YXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIFNldHRpbmcgdG8gZGlzYWJsZSBRVEtpdCBtZWRp
YSBlbmdpbmUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDY5NzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgYSBXZWJLaXQyIEFQSSB0byBhY2Nlc3MgV2ViQ29yZSBRVEtpdEVuYWJsZWQgc2V0dGlu
Z3MuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5j
ZXNTZXRRVEtpdEVuYWJsZWQpOiBQYXNzIHRocm91Z2ggdG8gV2ViQ29yZS4KKyAgICAgICAgKFdL
UHJlZmVyZW5jZXNHZXRRVEtpdEVuYWJsZWQpOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0MvV0tQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMpOiBT
eW5jaHJvbml6ZSBXZWJLaXQyL1dlYkNvcmUgc2V0dGluZ3MuCisKIDIwMTMtMDEtMTEgIEJhbGF6
cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF1bV0syXSBwbHVn
aW4gdGVzdHMgYXNzZXJ0IGluIGRlYnVnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDc5N2E3ZjFh
YTgwNmM4ZWE4YWZkNTE3Nzk0MDBhOTcxY2Q5YzM0YjEuLjcyZjNmMWJjODBiZGJhZmM1MjA0MzU1
NTQwZTUwMGFhMzUwNzE5OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0yMjAyLDYgKzIyMDIs
MTAgQEAgX19aTjdXZWJDb3JlNkVkaXRvcjE0Y2FwaXRhbGl6ZVdvcmRFdgogX19aTjdXZWJDb3Jl
OFNldHRpbmdzMjBnQVZGb3VuZGF0aW9uRW5hYmxlZEUKICNlbmRpZgogCisjaWYgUExBVEZPUk0o
TUFDKSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCitfX1pON1dlYkNvcmU4U2V0dGlu
Z3MxM2dRVEtpdEVuYWJsZWRFCisjZW5kaWYKKwogI2lmIFVTRShDRk5FVFdPUkspCiBfX1pOSzdX
ZWJDb3JlMTNSZXNvdXJjZUVycm9yY3ZQOV9fQ0ZFcnJvckV2CiBfX1pON1dlYkNvcmUxMlNjaGVk
dWxlUGFpckMxRVAxMV9fQ0ZSdW5Mb29wUEsxMF9fQ0ZTdHJpbmcKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5jcHAKaW5kZXggMjY4YzU4MjUyY2U0NDFmNGFkZWZjMDJiNjk1NTZmZGMyNGUwOWUyOC4uMDEz
Y2MxZTcxNDczM2YwMjMxZWRmZjExMWQwOGY3Y2U0M2M4Y2ZhYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5jcHAKQEAgLTkzLDYgKzkzLDEwIEBAIGJvb2wgU2V0dGluZ3M6OmdTaG91bGRQYWludE5h
dGl2ZUNvbnRyb2xzID0gdHJ1ZTsKIGJvb2wgU2V0dGluZ3M6OmdBVkZvdW5kYXRpb25FbmFibGVk
ID0gZmFsc2U7CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKFFUKSAm
JiBVU0UoUVRLSVQpKQorYm9vbCBTZXR0aW5nczo6Z1FUS2l0RW5hYmxlZCA9IHRydWU7CisjZW5k
aWYKKwogYm9vbCBTZXR0aW5nczo6Z01vY2tTY3JvbGxiYXJzRW5hYmxlZCA9IGZhbHNlOwogYm9v
bCBTZXR0aW5nczo6Z1VzZXNPdmVybGF5U2Nyb2xsYmFycyA9IGZhbHNlOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmgKaW5kZXggNTBlNmZmOWRiMTg0OTVmYTExYjVlOTFiNzgzMDI2YjI1N2UyZjUwMC4u
MjM2MGY4Y2VjMWU5YjEyODQxM2E2ZTQwMmVjYTMyZWEzMjhiNWU0MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuaApAQCAtMjYwLDYgKzI2MCwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IHN0YXRpYyBib29sIGlzQVZGb3VuZGF0aW9uRW5hYmxlZCgpIHsgcmV0dXJuIGdBVkZvdW5kYXRp
b25FbmFibGVkOyB9CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKFFU
KSAmJiBVU0UoUVRLSVQpKQorICAgICAgICBzdGF0aWMgdm9pZCBzZXRRVEtpdEVuYWJsZWQoYm9v
bCBmbGFnKSB7IGdRVEtpdEVuYWJsZWQgPSBmbGFnOyB9CisgICAgICAgIHN0YXRpYyBib29sIGlz
UVRLaXRFbmFibGVkKCkgeyByZXR1cm4gZ1FUS2l0RW5hYmxlZDsgfQorI2VuZGlmCisKICAgICAg
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGRlZmF1bHRNYXhpbXVtSFRNTFBhcnNlckRPTVRyZWVE
ZXB0aCA9IDUxMjsKIAogI2lmIEVOQUJMRShTTU9PVEhfU0NST0xMSU5HKQpAQCAtMzc2LDYgKzM4
MSwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYgVVNFKEFWRk9VTkRBVElPTikKICAgICAg
ICAgc3RhdGljIGJvb2wgZ0FWRm91bmRhdGlvbkVuYWJsZWQ7CiAjZW5kaWYKKworI2lmIFBMQVRG
T1JNKE1BQykgfHwgKFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKQorICAgICAgICBzdGF0aWMg
Ym9vbCBnUVRLaXRFbmFibGVkOworI2VuZGlmCisgICAgICAgIAogICAgICAgICBzdGF0aWMgYm9v
bCBnTW9ja1Njcm9sbGJhcnNFbmFibGVkOwogICAgICAgICBzdGF0aWMgYm9vbCBnVXNlc092ZXJs
YXlTY3JvbGxiYXJzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5jcHAKaW5kZXggNjU5YTgxYTc0ZWZkMThlZjk2NDFjNDlhOTdiNmQzOGYwOWY3
M2Y2Yy4uMDM4MGYzMGYwYmRhMGQ1MTM2OTczZDhhNWQxMDBmN2ZjZGRiOGI4MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtNTgs
NyArNTgsNiBAQAogI2lmIFVTRShBVkZPVU5EQVRJT04pCiAjaW5jbHVkZSAiTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oIgogI2VuZGlmCi0jZGVmaW5lIFBsYXRmb3JtTWVkaWFF
bmdpbmVDbGFzc05hbWUgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQKICNlbGlmIE9TKFdJTkNFKSAm
JiAhUExBVEZPUk0oUVQpCiAjaW5jbHVkZSAiTWVkaWFQbGF5ZXJQcml2YXRlV2luQ0UuaCIKICNk
ZWZpbmUgUGxhdGZvcm1NZWRpYUVuZ2luZUNsYXNzTmFtZSBNZWRpYVBsYXllclByaXZhdGUKQEAg
LTIyMyw2ICsyMjIsMTEgQEAgc3RhdGljIFZlY3RvcjxNZWRpYVBsYXllckZhY3RvcnkqPiYgaW5z
dGFsbGVkTWVkaWFFbmdpbmVzKCkKICAgICAgICAgfQogI2VuZGlmCiAKKyNpZiBQTEFURk9STShN
QUMpIHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkKKyAgICAgICAgaWYgKFNldHRpbmdz
Ojppc1FUS2l0RW5hYmxlZCgpKQorICAgICAgICAgICAgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6
OnJlZ2lzdGVyTWVkaWFFbmdpbmUoYWRkTWVkaWFFbmdpbmUpOworI2VuZGlmCisKICNpZiBkZWZp
bmVkKFBsYXRmb3JtTWVkaWFFbmdpbmVDbGFzc05hbWUpCiAgICAgICAgIFBsYXRmb3JtTWVkaWFF
bmdpbmVDbGFzc05hbWU6OnJlZ2lzdGVyTWVkaWFFbmdpbmUoYWRkTWVkaWFFbmdpbmUpOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaAppbmRleCBlNGE2ZDNhYTQxYmEyZGEwMjQ1MGU2Y2Q5MzRmOTQzYWM4N2JkM2Q5
Li40ZTY1ODg0NDk4ZWIzMjYxMjhlZGFiZGMyMDY4NWE2ZmQxZTYxMDY5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKQEAg
LTEyOSw2ICsxMjksNyBAQAogI2RlZmluZSBXZWJLaXRTY3JlZW5Gb250U3Vic3RpdHV0aW9uRW5h
YmxlZEtleSBAIldlYktpdFNjcmVlbkZvbnRTdWJzdGl0dXRpb25FbmFibGVkIgogI2RlZmluZSBX
ZWJLaXRTdG9yYWdlQmxvY2tpbmdQb2xpY3lLZXkgQCJXZWJLaXRTdG9yYWdlQmxvY2tpbmdQb2xp
Y3kiCiAjZGVmaW5lIFdlYktpdFBsdWdJblNuYXBzaG90dGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5
IEAiV2ViS2l0UGx1Z0luU25hcHNob3R0aW5nRW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0UVRLaXRF
bmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFFUS2l0RW5hYmxlZCIKIAogLy8gVGhlc2UgYXJl
IHByaXZhdGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hvdWxkIGJlIHVzaW5nIHRoZSBjb3ZlciBt
ZXRob2RzIGFuZCBiZWNhdXNlIHRoZQogLy8gY292ZXIgbWV0aG9kcyB0aGVtc2VsdmVzIGFyZSBw
cml2YXRlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlcy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5k
ZXggNDUxYjBmYmYyNzdmYjZhODNmNDQ4YzI4YjE3ZDYzNDJiYTJjMDZhZS4uZTA3MDRkMzg1ZWU2
NTE3ZTlkZTI1MzdhMWY1MDU3ZDcxYjExYmNhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC00MTksNiArNDE5LDcgQEAgcHVibGljOgogCiAgICAg
ICAgIFtOU051bWJlciBudW1iZXJXaXRoTG9uZ0xvbmc6QXBwbGljYXRpb25DYWNoZVN0b3JhZ2U6
Om5vUXVvdGEoKV0sIFdlYktpdEFwcGxpY2F0aW9uQ2FjaGVUb3RhbFF1b3RhLAogICAgICAgICBb
TlNOdW1iZXIgbnVtYmVyV2l0aExvbmdMb25nOkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpub1F1
b3RhKCldLCBXZWJLaXRBcHBsaWNhdGlvbkNhY2hlRGVmYXVsdE9yaWdpblF1b3RhLAorICAgICAg
ICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdFFUS2l0RW5hYmxlZFByZWZl
cmVuY2VLZXksCiAgICAgICAgIG5pbF07CiAKIApAQCAtMTU3OCw2ICsxNTc5LDE2IEBAIHN0YXRp
YyBOU1N0cmluZyAqY2xhc3NJQkNyZWF0b3JJRCA9IG5pbDsKICAgICByZXR1cm4gW3NlbGYgX2Jv
b2xWYWx1ZUZvcktleTpXZWJLaXRBVkZvdW5kYXRpb25FbmFibGVkS2V5XTsKIH0KIAorLSAodm9p
ZClzZXRRVEtpdEVuYWJsZWQ6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6
ZmxhZyBmb3JLZXk6V2ViS2l0UVRLaXRFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKEJP
T0wpaXNRVEtpdEVuYWJsZWQKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpX
ZWJLaXRRVEtpdEVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogLSAodm9pZClzZXRIaXhpZTc2
V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkOihCT09MKWZsYWcKIHsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IDVhNjVlOTcx
OGU4ZmU1YmNjOGMxOTQwYzQxZjczMzBkNjNhMThjNTUuLmZhYmNhNGIwMjNhYWNmOTgzNTBiODg0
ZWU0MDFiNzk5NjIwNjdjNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtMjgwLDYgKzI4MCw5IEBAIGV4dGVybiBOU1N0cmlu
ZyAqV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uOwog
LSAodm9pZClzZXRBVkZvdW5kYXRpb25FbmFibGVkOihCT09MKWZsYWc7CiAtIChCT09MKWlzQVZG
b3VuZGF0aW9uRW5hYmxlZDsKIAorLSAodm9pZClzZXRRVEtpdEVuYWJsZWQ6KEJPT0wpZmxhZzsK
Ky0gKEJPT0wpaXNRVEtpdEVuYWJsZWQ7CisKIC8vIFdlYlNvY2tldCBzdXBwb3J0IGRlcGVuZHMg
b24gRU5BQkxFKFdFQl9TT0NLRVRTKS4KIC0gKHZvaWQpc2V0SGl4aWU3NldlYlNvY2tldFByb3Rv
Y29sRW5hYmxlZDooQk9PTClmbGFnOwogLSAoQk9PTClpc0hpeGllNzZXZWJTb2NrZXRQcm90b2Nv
bEVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggYjVhYTdiMTc1
ZGQ5MTZhNjM3MjdmZWE5N2JmMGRhNDhkYWQ3MjE3Ny4uNDlhYWRiYzNjZTNkZDgwNDYxZGRjM2Fj
N2ZlYjE2NjBkODAwYTU5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAt
MTUzOSw2ICsxNTM5LDcgQEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5n
UXVpcmsoKQogICAgIHNldHRpbmdzLT5zZXRBVkZvdW5kYXRpb25FbmFibGVkKGZhbHNlKTsKICNl
bmRpZgogI2VuZGlmCisgICAgc2V0dGluZ3MtPnNldFFUS2l0RW5hYmxlZChbcHJlZmVyZW5jZXMg
aXNRVEtpdEVuYWJsZWRdKTsKICAgICBzZXR0aW5ncy0+c2V0TWVkaWFQbGF5YmFja1JlcXVpcmVz
VXNlckdlc3R1cmUoW3ByZWZlcmVuY2VzIG1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJl
XSk7CiAgICAgc2V0dGluZ3MtPnNldE1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmUoW3ByZWZlcmVu
Y2VzIG1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmVdKTsKICAgICBzZXR0aW5ncy0+c2V0U3VwcHJl
c3Nlc0luY3JlbWVudGFsUmVuZGVyaW5nKFtwcmVmZXJlbmNlcyBzdXBwcmVzc2VzSW5jcmVtZW50
YWxSZW5kZXJpbmddKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVm
ZXJlbmNlc1N0b3JlLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9y
ZS5oCmluZGV4IGFhYjNjY2I5Njk5OGE3OGNlZGFkNDA2ODg0MDg3YmU4ZjIyMWQ3YjQuLjg0MzBk
NGRmZGIwYzcwNGNiNDg2ZmM1YzhjM2VjMDEzOWIzNzYyODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaApAQCAtMTM3LDYgKzEzNyw3IEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogICAgIG1hY3JvKFVzZXNFbmNvZGluZ0RldGVjdG9yLCB1c2VzRW5jb2RpbmdE
ZXRlY3RvciwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKICAgICBtYWNybyhUZXh0QXV0b3NpemluZ0Vu
YWJsZWQsIHRleHRBdXRvc2l6aW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKICAgICBt
YWNybyhBZ2dyZXNzaXZlVGlsZVJldGVudGlvbkVuYWJsZWQsIGFnZ3Jlc3NpdmVUaWxlUmV0ZW50
aW9uRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKKyAgICBtYWNybyhRVEtpdEVuYWJsZWQs
IGlzUVRLaXRFbmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBcCiAgICAgXAogCiAjZGVmaW5lIEZP
Ul9FQUNIX1dFQktJVF9ET1VCTEVfUFJFRkVSRU5DRShtYWNybykgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IDAzNGJjOWUwN2Vl
NGVkOTJlMjAwMWVlNGVmOTBlNzc2MjNmODA2YTcuLmMwYzQwZmQ2OTc3ZDMxNzEzZDI5ZjI2NmQz
YTAwYjJhYjZkNTZhOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tQcmVmZXJlbmNlcy5jcHAKQEAgLTEwMDMsMyArMTAwMywxMyBAQCBib29sIFdLUHJlZmVyZW5j
ZXNHZXRBZ2dyZXNzaXZlVGlsZVJldGVudGlvbkVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVm
ZXJlbmNlcwogewogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5hZ2dyZXNzaXZl
VGlsZVJldGVudGlvbkVuYWJsZWQoKTsKIH0KKwordm9pZCBXS1ByZWZlcmVuY2VzU2V0UVRLaXRF
bmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKK3sK
KyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRRVEtpdEVuYWJsZWQoZW5hYmxlZCk7Cit9
CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFFUS2l0RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHBy
ZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5pc1FU
S2l0RW5hYmxlZCgpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1By
ZWZlcmVuY2VzLmgKaW5kZXggNDAzM2Q4Y2YxYzM1YzE2OGZkMTA0N2QwNDU1OTJlNmNmOGUwZGEx
OS4uZDQ1ZWYwMjAzNTExODNmNzZkNDk3ODhkNjkyYjAzNzE4YjVmMDE4ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5oCkBAIC0yMjgsNiArMjI4
LDEwIEBAIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRFbmNvZGluZ0RldGVjdG9yRW5h
YmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVu
Y2VzU2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMs
IGJvb2wgdGV4dEF1dG9zaXppbmdFbmFibGVkKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5j
ZXNHZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcyk7
CiAKKy8vIERlZmF1bHRzIHRvIHRydWUuCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0
UVRLaXRFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxl
ZCk7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0UVRLaXRFbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4
IDI1OTAzYTg0NjFhMTU5MDk3OWVhODE1ZjE4YmIwYTBmODZiNTQ0MDEuLjAwOTNmMjZhNGY5ZWI0
NDU2NjJjODZmMWU3NTNkM2M0M2UwMzAyMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTIzNjksNiArMjM2OSw4IEBAIHZvaWQgV2ViUGFn
ZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAg
ICAgc2V0dGluZ3MtPnNldEFWRm91bmRhdGlvbkVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9y
S2V5KFdlYlByZWZlcmVuY2VzS2V5Ojppc0FWRm91bmRhdGlvbkVuYWJsZWRLZXkoKSkpOwogI2Vu
ZGlmCiAKKyAgICBzZXR0aW5ncy0+c2V0UVRLaXRFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZv
cktleShXZWJQcmVmZXJlbmNlc0tleTo6aXNRVEtpdEVuYWJsZWRLZXkoKSkpOworCiAjaWYgRU5B
QkxFKFdFQl9BVURJTykKICAgICBzZXR0aW5ncy0+c2V0V2ViQXVkaW9FbmFibGVkKHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6d2ViQXVkaW9FbmFibGVkS2V5KCkp
KTsKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182924</attachid>
            <date>2013-01-15 23:47:03 -0800</date>
            <delta_ts>2013-01-16 11:09:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106972-20130115234405.patch</filename>
            <type>text/plain</type>
            <size>12955</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmI2MjA1OTI1ZWE4ZmFi
ZDg4MjEwMWQyMTNkN2Q2ZDlhMjRjNjkyNy4uNTBiNTFhNTg5NmY1YjkxMzdmYjhkYzczMmZiZGNh
MjUzMTY4MDMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAxLTE1ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIFNldHRpbmcgdG8g
ZGlzYWJsZSBRVEtpdCBtZWRpYSBlbmdpbmUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY5NzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBbGxvdyB0aGUgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQgZW5n
aW5lIHRvIGJlIGRpc2FibGVkIGJ5IGFkZGluZyBhCisgICAgICAgIHJ1bnRpbWUgc2V0dGluZyB0
byBTZXR0aW5ncy4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOiBBZGQgbmV3IHN5bWJvbHMg
dG8gZXhwb3J0IGxpc3QuCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6IEFkZCBuZXcgZ1FU
S2l0RW5hYmxlZCBnbG9iYWwuCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAo
V2ViQ29yZTo6U2V0dGluZ3M6OnNldFFUS2l0RW5hYmxlZCk6IFNldHRlciBmb3IgZ2xvYmFsIHNl
dHRpbmcgdmFyaWFibGUuCisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6aXNRVEtpdEVuYWJs
ZWQpOiBHZXR0ZXIgZm9yIHNhbWUuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aW5zdGFsbGVkTWVkaWFFbmdpbmVzKTogQ2hl
Y2sgaXNRVEtpdEVuYWJsZWQoKSBiZWZvcmUgYWRkaW5nCisgICAgICAgICAgICBNZWRpYVBsYXll
clByaXZhdGVRVEtpdCBlbmdpbmUuCisKIDIwMTMtMDEtMTQgIFl1cnkgU2VtaWtoYXRza3kgIDx5
dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW1JFR1JFU1NJT05dIERldiBUb29scyBwb3B1
cCBmb3IgV29ya2VycyBmb3JnZXRzIHNpemVzL3Nob3dzIHRpbnkgaW4gdG9wIGxlZnQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZwppbmRleCA4OWY2NzAzNjYxZTcwOTBiNTE1NGEzZDkxYmE0N2I1MTEyZWUyZDA1Li4z
ODQxZmYwZmY1MGQ4MDhkNjYwM2U3MjUzYzQ0MjJkMDY3YWFlZTczIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjEgQEAKKzIwMTMtMDEtMTUgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIGEgU2V0dGluZyB0byBkaXNhYmxlIFFUS2l0IG1lZGlhIGVu
Z2luZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
Njk3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBXZWJLaXQgQVBJIHRvIHNldCBRVEtpdCBlbmFibGVkIHNldHRpbmcgZnJvbSB1c2VyIGRlZmF1
bHRzLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAg
ICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJl
bmNlcyBpbml0aWFsaXplXSk6IFNldCBXZWJDb3JlIHNldHRpbmdzIGJhc2VkIG9uIHVzZXIgZGVm
YXVsdHMuCisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldFFUS2l0RW5hYmxlZDpdKTogUGFz
cyB0aHJvdWdoIHRvIFdlYkNvcmUuCisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIGlzUVRLaXRF
bmFibGVkXSk6IERpdHRvLgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRl
Lmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9w
cmVmZXJlbmNlc0NoYW5nZWQ6XSk6IFN5bmNocm9uaXplIFdlYktpdC9XZWJDb3JlIHNldHRpbmdz
LgorCiAyMDEzLTAxLTEwICBaYW4gRG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIHRoZSBFTkFCTEVfQU5JTUFUSU9OX0FQSSBmZWF0dXJlIGRlZmluZSBv
Y2N1cmVuY2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODkwOWVjZDYyZDBlZWI1NGFhZWYwMzlhNjExMGRjMDhh
MTViM2MxYy4uNzk1YTYzNzgzN2I2MGI2ZjZlNGI2MzFiYTdhNDU4NTE5MmE2OGJlMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTAxLTE1ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVA
YXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIFNldHRpbmcgdG8gZGlzYWJsZSBRVEtpdCBtZWRp
YSBlbmdpbmUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDY5NzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgYSBXZWJLaXQyIEFQSSB0byBhY2Nlc3MgV2ViQ29yZSBRVEtpdEVuYWJsZWQgc2V0dGlu
Z3MuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5j
ZXNTZXRRVEtpdEVuYWJsZWQpOiBQYXNzIHRocm91Z2ggdG8gV2ViQ29yZS4KKyAgICAgICAgKFdL
UHJlZmVyZW5jZXNHZXRRVEtpdEVuYWJsZWQpOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0MvV0tQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMpOiBT
eW5jaHJvbml6ZSBXZWJLaXQyL1dlYkNvcmUgc2V0dGluZ3MuCisKIDIwMTMtMDEtMTEgIEJhbGF6
cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF1bV0syXSBwbHVn
aW4gdGVzdHMgYXNzZXJ0IGluIGRlYnVnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDc5N2E3ZjFh
YTgwNmM4ZWE4YWZkNTE3Nzk0MDBhOTcxY2Q5YzM0YjEuLjcyZjNmMWJjODBiZGJhZmM1MjA0MzU1
NTQwZTUwMGFhMzUwNzE5OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0yMjAyLDYgKzIyMDIs
MTAgQEAgX19aTjdXZWJDb3JlNkVkaXRvcjE0Y2FwaXRhbGl6ZVdvcmRFdgogX19aTjdXZWJDb3Jl
OFNldHRpbmdzMjBnQVZGb3VuZGF0aW9uRW5hYmxlZEUKICNlbmRpZgogCisjaWYgUExBVEZPUk0o
TUFDKSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCitfX1pON1dlYkNvcmU4U2V0dGlu
Z3MxM2dRVEtpdEVuYWJsZWRFCisjZW5kaWYKKwogI2lmIFVTRShDRk5FVFdPUkspCiBfX1pOSzdX
ZWJDb3JlMTNSZXNvdXJjZUVycm9yY3ZQOV9fQ0ZFcnJvckV2CiBfX1pON1dlYkNvcmUxMlNjaGVk
dWxlUGFpckMxRVAxMV9fQ0ZSdW5Mb29wUEsxMF9fQ0ZTdHJpbmcKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5jcHAKaW5kZXggMjY4YzU4MjUyY2U0NDFmNGFkZWZjMDJiNjk1NTZmZGMyNGUwOWUyOC4uMDEz
Y2MxZTcxNDczM2YwMjMxZWRmZjExMWQwOGY3Y2U0M2M4Y2ZhYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5jcHAKQEAgLTkzLDYgKzkzLDEwIEBAIGJvb2wgU2V0dGluZ3M6OmdTaG91bGRQYWludE5h
dGl2ZUNvbnRyb2xzID0gdHJ1ZTsKIGJvb2wgU2V0dGluZ3M6OmdBVkZvdW5kYXRpb25FbmFibGVk
ID0gZmFsc2U7CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKFFUKSAm
JiBVU0UoUVRLSVQpKQorYm9vbCBTZXR0aW5nczo6Z1FUS2l0RW5hYmxlZCA9IHRydWU7CisjZW5k
aWYKKwogYm9vbCBTZXR0aW5nczo6Z01vY2tTY3JvbGxiYXJzRW5hYmxlZCA9IGZhbHNlOwogYm9v
bCBTZXR0aW5nczo6Z1VzZXNPdmVybGF5U2Nyb2xsYmFycyA9IGZhbHNlOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmgKaW5kZXggNTBlNmZmOWRiMTg0OTVmYTExYjVlOTFiNzgzMDI2YjI1N2UyZjUwMC4u
MjM2MGY4Y2VjMWU5YjEyODQxM2E2ZTQwMmVjYTMyZWEzMjhiNWU0MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuaApAQCAtMjYwLDYgKzI2MCwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IHN0YXRpYyBib29sIGlzQVZGb3VuZGF0aW9uRW5hYmxlZCgpIHsgcmV0dXJuIGdBVkZvdW5kYXRp
b25FbmFibGVkOyB9CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKFFU
KSAmJiBVU0UoUVRLSVQpKQorICAgICAgICBzdGF0aWMgdm9pZCBzZXRRVEtpdEVuYWJsZWQoYm9v
bCBmbGFnKSB7IGdRVEtpdEVuYWJsZWQgPSBmbGFnOyB9CisgICAgICAgIHN0YXRpYyBib29sIGlz
UVRLaXRFbmFibGVkKCkgeyByZXR1cm4gZ1FUS2l0RW5hYmxlZDsgfQorI2VuZGlmCisKICAgICAg
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGRlZmF1bHRNYXhpbXVtSFRNTFBhcnNlckRPTVRyZWVE
ZXB0aCA9IDUxMjsKIAogI2lmIEVOQUJMRShTTU9PVEhfU0NST0xMSU5HKQpAQCAtMzc2LDYgKzM4
MSwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYgVVNFKEFWRk9VTkRBVElPTikKICAgICAg
ICAgc3RhdGljIGJvb2wgZ0FWRm91bmRhdGlvbkVuYWJsZWQ7CiAjZW5kaWYKKworI2lmIFBMQVRG
T1JNKE1BQykgfHwgKFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKQorICAgICAgICBzdGF0aWMg
Ym9vbCBnUVRLaXRFbmFibGVkOworI2VuZGlmCisgICAgICAgIAogICAgICAgICBzdGF0aWMgYm9v
bCBnTW9ja1Njcm9sbGJhcnNFbmFibGVkOwogICAgICAgICBzdGF0aWMgYm9vbCBnVXNlc092ZXJs
YXlTY3JvbGxiYXJzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5jcHAKaW5kZXggNjU5YTgxYTc0ZWZkMThlZjk2NDFjNDlhOTdiNmQzOGYwOWY3
M2Y2Yy4uMDM4MGYzMGYwYmRhMGQ1MTM2OTczZDhhNWQxMDBmN2ZjZGRiOGI4MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtNTgs
NyArNTgsNiBAQAogI2lmIFVTRShBVkZPVU5EQVRJT04pCiAjaW5jbHVkZSAiTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oIgogI2VuZGlmCi0jZGVmaW5lIFBsYXRmb3JtTWVkaWFF
bmdpbmVDbGFzc05hbWUgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQKICNlbGlmIE9TKFdJTkNFKSAm
JiAhUExBVEZPUk0oUVQpCiAjaW5jbHVkZSAiTWVkaWFQbGF5ZXJQcml2YXRlV2luQ0UuaCIKICNk
ZWZpbmUgUGxhdGZvcm1NZWRpYUVuZ2luZUNsYXNzTmFtZSBNZWRpYVBsYXllclByaXZhdGUKQEAg
LTIyMyw2ICsyMjIsMTEgQEAgc3RhdGljIFZlY3RvcjxNZWRpYVBsYXllckZhY3RvcnkqPiYgaW5z
dGFsbGVkTWVkaWFFbmdpbmVzKCkKICAgICAgICAgfQogI2VuZGlmCiAKKyNpZiBQTEFURk9STShN
QUMpIHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkKKyAgICAgICAgaWYgKFNldHRpbmdz
Ojppc1FUS2l0RW5hYmxlZCgpKQorICAgICAgICAgICAgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6
OnJlZ2lzdGVyTWVkaWFFbmdpbmUoYWRkTWVkaWFFbmdpbmUpOworI2VuZGlmCisKICNpZiBkZWZp
bmVkKFBsYXRmb3JtTWVkaWFFbmdpbmVDbGFzc05hbWUpCiAgICAgICAgIFBsYXRmb3JtTWVkaWFF
bmdpbmVDbGFzc05hbWU6OnJlZ2lzdGVyTWVkaWFFbmdpbmUoYWRkTWVkaWFFbmdpbmUpOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaAppbmRleCBlNGE2ZDNhYTQxYmEyZGEwMjQ1MGU2Y2Q5MzRmOTQzYWM4N2JkM2Q5
Li40ZTY1ODg0NDk4ZWIzMjYxMjhlZGFiZGMyMDY4NWE2ZmQxZTYxMDY5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKQEAg
LTEyOSw2ICsxMjksNyBAQAogI2RlZmluZSBXZWJLaXRTY3JlZW5Gb250U3Vic3RpdHV0aW9uRW5h
YmxlZEtleSBAIldlYktpdFNjcmVlbkZvbnRTdWJzdGl0dXRpb25FbmFibGVkIgogI2RlZmluZSBX
ZWJLaXRTdG9yYWdlQmxvY2tpbmdQb2xpY3lLZXkgQCJXZWJLaXRTdG9yYWdlQmxvY2tpbmdQb2xp
Y3kiCiAjZGVmaW5lIFdlYktpdFBsdWdJblNuYXBzaG90dGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5
IEAiV2ViS2l0UGx1Z0luU25hcHNob3R0aW5nRW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0UVRLaXRF
bmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFFUS2l0RW5hYmxlZCIKIAogLy8gVGhlc2UgYXJl
IHByaXZhdGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hvdWxkIGJlIHVzaW5nIHRoZSBjb3ZlciBt
ZXRob2RzIGFuZCBiZWNhdXNlIHRoZQogLy8gY292ZXIgbWV0aG9kcyB0aGVtc2VsdmVzIGFyZSBw
cml2YXRlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlcy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5k
ZXggNDUxYjBmYmYyNzdmYjZhODNmNDQ4YzI4YjE3ZDYzNDJiYTJjMDZhZS4uZTA3MDRkMzg1ZWU2
NTE3ZTlkZTI1MzdhMWY1MDU3ZDcxYjExYmNhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC00MTksNiArNDE5LDcgQEAgcHVibGljOgogCiAgICAg
ICAgIFtOU051bWJlciBudW1iZXJXaXRoTG9uZ0xvbmc6QXBwbGljYXRpb25DYWNoZVN0b3JhZ2U6
Om5vUXVvdGEoKV0sIFdlYktpdEFwcGxpY2F0aW9uQ2FjaGVUb3RhbFF1b3RhLAogICAgICAgICBb
TlNOdW1iZXIgbnVtYmVyV2l0aExvbmdMb25nOkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpub1F1
b3RhKCldLCBXZWJLaXRBcHBsaWNhdGlvbkNhY2hlRGVmYXVsdE9yaWdpblF1b3RhLAorICAgICAg
ICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdFFUS2l0RW5hYmxlZFByZWZl
cmVuY2VLZXksCiAgICAgICAgIG5pbF07CiAKIApAQCAtMTU3OCw2ICsxNTc5LDE2IEBAIHN0YXRp
YyBOU1N0cmluZyAqY2xhc3NJQkNyZWF0b3JJRCA9IG5pbDsKICAgICByZXR1cm4gW3NlbGYgX2Jv
b2xWYWx1ZUZvcktleTpXZWJLaXRBVkZvdW5kYXRpb25FbmFibGVkS2V5XTsKIH0KIAorLSAodm9p
ZClzZXRRVEtpdEVuYWJsZWQ6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6
ZmxhZyBmb3JLZXk6V2ViS2l0UVRLaXRFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKKy0gKEJP
T0wpaXNRVEtpdEVuYWJsZWQKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpX
ZWJLaXRRVEtpdEVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogLSAodm9pZClzZXRIaXhpZTc2
V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkOihCT09MKWZsYWcKIHsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IDVhNjVlOTcx
OGU4ZmU1YmNjOGMxOTQwYzQxZjczMzBkNjNhMThjNTUuLmZhYmNhNGIwMjNhYWNmOTgzNTBiODg0
ZWU0MDFiNzk5NjIwNjdjNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtMjgwLDYgKzI4MCw5IEBAIGV4dGVybiBOU1N0cmlu
ZyAqV2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uOwog
LSAodm9pZClzZXRBVkZvdW5kYXRpb25FbmFibGVkOihCT09MKWZsYWc7CiAtIChCT09MKWlzQVZG
b3VuZGF0aW9uRW5hYmxlZDsKIAorLSAodm9pZClzZXRRVEtpdEVuYWJsZWQ6KEJPT0wpZmxhZzsK
Ky0gKEJPT0wpaXNRVEtpdEVuYWJsZWQ7CisKIC8vIFdlYlNvY2tldCBzdXBwb3J0IGRlcGVuZHMg
b24gRU5BQkxFKFdFQl9TT0NLRVRTKS4KIC0gKHZvaWQpc2V0SGl4aWU3NldlYlNvY2tldFByb3Rv
Y29sRW5hYmxlZDooQk9PTClmbGFnOwogLSAoQk9PTClpc0hpeGllNzZXZWJTb2NrZXRQcm90b2Nv
bEVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggYjVhYTdiMTc1
ZGQ5MTZhNjM3MjdmZWE5N2JmMGRhNDhkYWQ3MjE3Ny4uYjVlYTQyMDE1NDExMjY1ODExZTExMzNk
ZGFlNmVjMDAxZjNmZjQ4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAt
MTUzOSw2ICsxNTM5LDkgQEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5n
UXVpcmsoKQogICAgIHNldHRpbmdzLT5zZXRBVkZvdW5kYXRpb25FbmFibGVkKGZhbHNlKTsKICNl
bmRpZgogI2VuZGlmCisjaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShR
VEtJVCkpCisgICAgc2V0dGluZ3MtPnNldFFUS2l0RW5hYmxlZChbcHJlZmVyZW5jZXMgaXNRVEtp
dEVuYWJsZWRdKTsKKyNlbmRpZgogICAgIHNldHRpbmdzLT5zZXRNZWRpYVBsYXliYWNrUmVxdWly
ZXNVc2VyR2VzdHVyZShbcHJlZmVyZW5jZXMgbWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1
cmVdKTsKICAgICBzZXR0aW5ncy0+c2V0TWVkaWFQbGF5YmFja0FsbG93c0lubGluZShbcHJlZmVy
ZW5jZXMgbWVkaWFQbGF5YmFja0FsbG93c0lubGluZV0pOwogICAgIHNldHRpbmdzLT5zZXRTdXBw
cmVzc2VzSW5jcmVtZW50YWxSZW5kZXJpbmcoW3ByZWZlcmVuY2VzIHN1cHByZXNzZXNJbmNyZW1l
bnRhbFJlbmRlcmluZ10pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0
b3JlLmgKaW5kZXggYWFiM2NjYjk2OTk4YTc4Y2VkYWQ0MDY4ODQwODdiZThmMjIxZDdiNC4uODQz
MGQ0ZGZkYjBjNzA0Y2I0ODZmYzVjOGMzZWMwMTM5YjM3NjI4OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCkBAIC0xMzcsNiArMTM3LDcgQEAgbmFtZXNw
YWNlIFdlYktpdCB7CiAgICAgbWFjcm8oVXNlc0VuY29kaW5nRGV0ZWN0b3IsIHVzZXNFbmNvZGlu
Z0RldGVjdG9yLCBCb29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3JvKFRleHRBdXRvc2l6aW5n
RW5hYmxlZCwgdGV4dEF1dG9zaXppbmdFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAogICAg
IG1hY3JvKEFnZ3Jlc3NpdmVUaWxlUmV0ZW50aW9uRW5hYmxlZCwgYWdncmVzc2l2ZVRpbGVSZXRl
bnRpb25FbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAorICAgIG1hY3JvKFFUS2l0RW5hYmxl
ZCwgaXNRVEtpdEVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKICAgICBcCiAKICNkZWZpbmUg
Rk9SX0VBQ0hfV0VCS0lUX0RPVUJMRV9QUkVGRVJFTkNFKG1hY3JvKSBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKaW5kZXggMDM0YmM5ZTA3
ZWU0ZWQ5MmUyMDAxZWU0ZWY5MGU3NzYyM2Y4MDZhNy4uYzBjNDBmZDY5NzdkMzE3MTNkMjlmMjY2
ZDNhMDBiMmFiNmQ1NmE5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcApAQCAtMTAwMywzICsxMDAzLDEzIEBAIGJvb2wgV0tQcmVmZXJl
bmNlc0dldEFnZ3Jlc3NpdmVUaWxlUmV0ZW50aW9uRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHBy
ZWZlcmVuY2VzCiB7CiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmFnZ3Jlc3Np
dmVUaWxlUmV0ZW50aW9uRW5hYmxlZCgpOwogfQorCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRRVEtp
dEVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQor
eworICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFFUS2l0RW5hYmxlZChlbmFibGVkKTsK
K30KKworYm9vbCBXS1ByZWZlcmVuY2VzR2V0UVRLaXRFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmlz
UVRLaXRFbmFibGVkKCk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQcmVmZXJlbmNlcy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXMuaAppbmRleCA0MDMzZDhjZjFjMzVjMTY4ZmQxMDQ3ZDA0NTU5MmU2Y2Y4ZTBk
YTE5Li5kNDVlZjAyMDM1MTE4M2Y3NmQ0OTc4OGQ2OTJiMDM3MThiNWYwMThlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmgKQEAgLTIyOCw2ICsy
MjgsMTAgQEAgV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldEVuY29kaW5nRGV0ZWN0b3JF
bmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW4KIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVy
ZW5jZXNTZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
cywgYm9vbCB0ZXh0QXV0b3NpemluZ0VuYWJsZWQpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJl
bmNlc0dldFRleHRBdXRvc2l6aW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2Vz
KTsKIAorLy8gRGVmYXVsdHMgdG8gdHJ1ZS4KK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRRVEtpdEVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFi
bGVkKTsKK1dLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRRVEtpdEVuYWJsZWQoV0tQcmVm
ZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5k
ZXggMjU5MDNhODQ2MWExNTkwOTc5ZWE4MTVmMThiYjBhMGY4NmI1NDQwMS4uMGI1MTc0YTBjOTk3
ZDQzMjRiNDQ0YTU2ZWE3ODA0YzYxNDg4MDEwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMjM2OSw2ICsyMzY5LDEwIEBAIHZvaWQgV2Vi
UGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUp
CiAgICAgc2V0dGluZ3MtPnNldEFWRm91bmRhdGlvbkVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVl
Rm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojppc0FWRm91bmRhdGlvbkVuYWJsZWRLZXkoKSkpOwog
I2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpIHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFUS0lU
KSkKKyAgICBzZXR0aW5ncy0+c2V0UVRLaXRFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktl
eShXZWJQcmVmZXJlbmNlc0tleTo6aXNRVEtpdEVuYWJsZWRLZXkoKSkpOworI2VuZGlmCisKICNp
ZiBFTkFCTEUoV0VCX0FVRElPKQogICAgIHNldHRpbmdzLT5zZXRXZWJBdWRpb0VuYWJsZWQoc3Rv
cmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp3ZWJBdWRpb0VuYWJsZWRL
ZXkoKSkpOwogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183009</attachid>
            <date>2013-01-16 11:09:31 -0800</date>
            <delta_ts>2013-01-16 11:20:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106972-20130116110632.patch</filename>
            <type>text/plain</type>
            <size>17331</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmI2MjA1OTI1ZWE4ZmFi
ZDg4MjEwMWQyMTNkN2Q2ZDlhMjRjNjkyNy4uNGMzYmU1MDYzMWE5ODMxOTI1ODVjMjI0MDIzNTIz
YThjMjUxZjgzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEzLTAxLTE1ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIFNldHRpbmcgdG8g
ZGlzYWJsZSBRVEtpdCBtZWRpYSBlbmdpbmUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY5NzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBbGxvdyB0aGUgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQgZW5n
aW5lIHRvIGJlIGRpc2FibGVkIGJ5IGFkZGluZyBhCisgICAgICAgIHJ1bnRpbWUgc2V0dGluZyB0
byBTZXR0aW5ncy4gTWFrZSB0aGUgc2V0dGluZyAnbGl2ZScgYnkgcmVxdWVyeWluZyB0aGUKKyAg
ICAgICAgaW5zdGFsbGVkIG1lZGlhIGVuZ2luZXMgd2hlbiB0aGUgc2V0dGluZyBjaGFuZ2VzLgor
CisgICAgICAgICogV2ViQ29yZS5leHAuaW46IEFkZCBuZXcgc3ltYm9scyB0byBleHBvcnQgbGlz
dC4KKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDogQWRkIG5ldyBnUVRLaXRFbmFibGVkIGds
b2JhbC4KKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRBVkZvdW5kYXRpb25FbmFibGVk
KTogUmVxdWVyeSBtZWRpYSBlbmdpbmVzLgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNl
dFFUS2l0RW5hYmxlZCk6IERpdHRvLiBTZXR0ZXIgZm9yIGdsb2JhbCBzZXR0aW5nIHZhcmlhYmxl
LgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdz
Ojppc1FUS2l0RW5hYmxlZCk6IEdldHRlciBmb3Igc2FtZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbnN0YWxsZWRNZWRp
YUVuZ2luZXMpOiBDaGVjayBpc1FUS2l0RW5hYmxlZCgpIGJlZm9yZSBhZGRpbmcKKyAgICAgICAg
ICAgIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0IGVuZ2luZS4KKyAgICAgICAgKiBodG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cmVx
dWVyeU1lZGlhRW5naW5lcyk6IFBhc3MgdGhyb3VnaCB0byBNZWRpYVBsYXllci4KKyAgICAgICAg
KiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbnN0YWxsZWRNZWRpYUVuZ2luZXMp
OiBUYWtlIGFuIG9wdGlvbmFsIHJlcXVlcnkgb3B0aW9ucyBwYXJhbWV0ZXIuCisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllcjo6cmVxdWVyeU1lZGlhRW5naW5lcyk6IFBhc3MgdGhyb3VnaCB0
byBpbnN0YWxsZWRNZWRpYUVuZ2luZXMoKS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5oOgorCiAyMDEzLTAxLTE0ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFtSRUdSRVNTSU9OXSBEZXYgVG9vbHMgcG9wdXAgZm9yIFdv
cmtlcnMgZm9yZ2V0cyBzaXplcy9zaG93cyB0aW55IGluIHRvcCBsZWZ0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
aW5kZXggODlmNjcwMzY2MWU3MDkwYjUxNTRhM2Q5MWJhNDdiNTExMmVlMmQwNS4uMzg0MWZmMGZm
NTBkODA4ZDY2MDNlNzI1M2M0NDIyZDA2N2FhZWU3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIxIEBACisyMDEzLTAxLTE1ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgor
CisgICAgICAgIEFkZCBhIFNldHRpbmcgdG8gZGlzYWJsZSBRVEtpdCBtZWRpYSBlbmdpbmUuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY5NzIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgV2ViS2l0
IEFQSSB0byBzZXQgUVRLaXQgZW5hYmxlZCBzZXR0aW5nIGZyb20gdXNlciBkZWZhdWx0cy4KKwor
ICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICog
V2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMgaW5p
dGlhbGl6ZV0pOiBTZXQgV2ViQ29yZSBzZXR0aW5ncyBiYXNlZCBvbiB1c2VyIGRlZmF1bHRzLgor
ICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRRVEtpdEVuYWJsZWQ6XSk6IFBhc3MgdGhyb3Vn
aCB0byBXZWJDb3JlLgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBpc1FUS2l0RW5hYmxlZF0p
OiBEaXR0by4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAg
ICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5j
ZXNDaGFuZ2VkOl0pOiBTeW5jaHJvbml6ZSBXZWJLaXQvV2ViQ29yZSBzZXR0aW5ncy4KKwogMjAx
My0wMS0xMCAgWmFuIERvYmVyc2VrICA8emFuZG9iZXJzZWtAZ21haWwuY29tPgogCiAgICAgICAg
IFJlbW92ZSB0aGUgRU5BQkxFX0FOSU1BVElPTl9BUEkgZmVhdHVyZSBkZWZpbmUgb2NjdXJlbmNl
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCmluZGV4IDg5MDllY2Q2MmQwZWViNTRhYWVmMDM5YTYxMTBkYzA4YTE1YjNjMWMu
Ljc5NWE2Mzc4MzdiNjBiNmY2ZTRiNjMxYmE3YTQ1ODUxOTJhNjhiZTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMCBAQAorMjAxMy0wMS0xNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgYSBTZXR0aW5nIHRvIGRpc2FibGUgUVRLaXQgbWVkaWEgZW5naW5l
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2OTcy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEg
V2ViS2l0MiBBUEkgdG8gYWNjZXNzIFdlYkNvcmUgUVRLaXRFbmFibGVkIHNldHRpbmdzLgorCisg
ICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0UVRL
aXRFbmFibGVkKTogUGFzcyB0aHJvdWdoIHRvIFdlYkNvcmUuCisgICAgICAgIChXS1ByZWZlcmVu
Y2VzR2V0UVRLaXRFbmFibGVkKTogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKTogU3luY2hyb25p
emUgV2ViS2l0Mi9XZWJDb3JlIHNldHRpbmdzLgorCiAyMDEzLTAxLTExICBCYWxhenMgS2VsZW1l
biAgPGtiYWxhenNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRdW1dLMl0gcGx1Z2luIHRlc3Rz
IGFzc2VydCBpbiBkZWJ1ZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA3OTdhN2YxYWE4MDZjOGVh
OGFmZDUxNzc5NDAwYTk3MWNkOWMzNGIxLi5kY2QxMzdjM2EwYmI4ZjdmZmFjMTMxN2UyMTExNTgz
NzI0MTA4OGQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMjIwMCw2ICsyMjAwLDEyIEBAIF9f
Wk43V2ViQ29yZTZFZGl0b3IxNGNhcGl0YWxpemVXb3JkRXYKIAogI2lmIFVTRShBVkZPVU5EQVRJ
T04pCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMGdBVkZvdW5kYXRpb25FbmFibGVkRQorX19aTjdX
ZWJDb3JlOFNldHRpbmdzMjJzZXRBVkZvdW5kYXRpb25FbmFibGVkRWIKKyNlbmRpZgorCisjaWYg
UExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCitfX1pON1dlYkNv
cmU4U2V0dGluZ3MxM2dRVEtpdEVuYWJsZWRFCitfX1pON1dlYkNvcmU4U2V0dGluZ3MxNXNldFFU
S2l0RW5hYmxlZEViCiAjZW5kaWYKIAogI2lmIFVTRShDRk5FVFdPUkspCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBkNmI2MTQ2ZmIwOTJjNmExZTkwZDFjYzYw
ZGM4NGQ1ZDI3NThkYjBlLi5iNzNiOWU4MThlOTc5MWNkNTljZjkxMzY5ZDcxZTc2MmZhNjVlZDI2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTQyMjEsNiAr
NDIyMSwxMSBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmNsZWFyTWVkaWFDYWNoZUZvclNpdGUo
Y29uc3QgU3RyaW5nJiBzaXRlKQogICAgIE1lZGlhUGxheWVyOjpjbGVhck1lZGlhQ2FjaGVGb3JT
aXRlKHNpdGUpOwogfQogCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnJlcXVlcnlNZWRpYUVuZ2lu
ZXMoKQoreworICAgIE1lZGlhUGxheWVyOjpyZXF1ZXJ5TWVkaWFFbmdpbmVzKCk7Cit9CisKIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6cHJpdmF0ZUJyb3dzaW5nU3RhdGVEaWRDaGFuZ2UoKQogewog
ICAgIGlmICghbV9wbGF5ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmlu
ZGV4IDdmM2IyNzJjNTQzNzYxNjI5ZWFkZWEzZWVlZWZjNmFkM2I0MGFhYzEuLjM3NzkxNTA2Nzcx
M2MwYmFlNDZlNDVhYjZlODc0NWM0NGY3ZjE2ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5oCkBAIC0zMTAsNiArMzEwLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lk
IGdldFNpdGVzSW5NZWRpYUNhY2hlKFZlY3RvcjxTdHJpbmc+Jik7CiAgICAgc3RhdGljIHZvaWQg
Y2xlYXJNZWRpYUNhY2hlKCk7CiAgICAgc3RhdGljIHZvaWQgY2xlYXJNZWRpYUNhY2hlRm9yU2l0
ZShjb25zdCBTdHJpbmcmKTsKKyAgICBzdGF0aWMgdm9pZCByZXF1ZXJ5TWVkaWFFbmdpbmVzKCk7
CiAKICAgICBib29sIGlzUGxheWluZygpIGNvbnN0IHsgcmV0dXJuIG1fcGxheWluZzsgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IDI2OGM1ODI1MmNlNDQxZjRhZGVmYzAyYjY5NTU2
ZmRjMjRlMDllMjguLmZmNTc3NTkxNThlMDcxZGI0MmNiMzViM2QyYjkyZTk5OTZmZmUzYTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiRnJh
bWUuaCIKICNpbmNsdWRlICJGcmFtZVRyZWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKKyNp
bmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSAiSGlzdG9yeUl0ZW0uaCIKICNp
bmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZUNhY2hlLmgiCkBAIC05Myw2ICs5NCwxMCBA
QCBib29sIFNldHRpbmdzOjpnU2hvdWxkUGFpbnROYXRpdmVDb250cm9scyA9IHRydWU7CiBib29s
IFNldHRpbmdzOjpnQVZGb3VuZGF0aW9uRW5hYmxlZCA9IGZhbHNlOwogI2VuZGlmCiAKKyNpZiBQ
TEFURk9STShNQUMpIHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkKK2Jvb2wgU2V0dGlu
Z3M6OmdRVEtpdEVuYWJsZWQgPSB0cnVlOworI2VuZGlmCisKIGJvb2wgU2V0dGluZ3M6OmdNb2Nr
U2Nyb2xsYmFyc0VuYWJsZWQgPSBmYWxzZTsKIGJvb2wgU2V0dGluZ3M6OmdVc2VzT3ZlcmxheVNj
cm9sbGJhcnMgPSBmYWxzZTsKIApAQCAtNjM1LDYgKzY0MCwxOCBAQCB2b2lkIFNldHRpbmdzOjpz
ZXRUaWxlZEJhY2tpbmdTdG9yZUVuYWJsZWQoYm9vbCBlbmFibGVkKQogI2VuZGlmCiB9CiAKK3Zv
aWQgU2V0dGluZ3M6OnNldEFWRm91bmRhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGVkKQoreworICAg
IGdBVkZvdW5kYXRpb25FbmFibGVkID0gZW5hYmxlZDsKKyAgICBIVE1MTWVkaWFFbGVtZW50Ojpy
ZXF1ZXJ5TWVkaWFFbmdpbmVzKCk7Cit9CisKK3ZvaWQgU2V0dGluZ3M6OnNldFFUS2l0RW5hYmxl
ZChib29sIGVuYWJsZWQpCit7CisgICAgZ1FUS2l0RW5hYmxlZCA9IGVuYWJsZWQ7CisgICAgSFRN
TE1lZGlhRWxlbWVudDo6cmVxdWVyeU1lZGlhRW5naW5lcygpOworfQorCiB2b2lkIFNldHRpbmdz
OjpzZXRTY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsK
ICAgICBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQgPSBlbmFibGVkOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5oCmluZGV4IDUwZTZmZjlkYjE4NDk1ZmExMWI1ZTkxYjc4MzAyNmIyNTdl
MmY1MDAuLjFhYWEyODZhOWUzMDI5MmMxOGZlMTE5ZTI4YjdmMDAzNzkyYjJhNzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmgKQEAgLTI1NiwxMCArMjU2LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgYm9vbCB0aWxlZEJhY2tpbmdTdG9yZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBt
X3RpbGVkQmFja2luZ1N0b3JlRW5hYmxlZDsgfQogCiAjaWYgVVNFKEFWRk9VTkRBVElPTikKLSAg
ICAgICAgc3RhdGljIHZvaWQgc2V0QVZGb3VuZGF0aW9uRW5hYmxlZChib29sIGZsYWcpIHsgZ0FW
Rm91bmRhdGlvbkVuYWJsZWQgPSBmbGFnOyB9CisgICAgICAgIHN0YXRpYyB2b2lkIHNldEFWRm91
bmRhdGlvbkVuYWJsZWQoYm9vbCBmbGFnKTsKICAgICAgICAgc3RhdGljIGJvb2wgaXNBVkZvdW5k
YXRpb25FbmFibGVkKCkgeyByZXR1cm4gZ0FWRm91bmRhdGlvbkVuYWJsZWQ7IH0KICNlbmRpZgog
CisjaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oUVQpICYmIFVTRShRVEtJVCkpCisgICAg
ICAgIHN0YXRpYyB2b2lkIHNldFFUS2l0RW5hYmxlZChib29sIGZsYWcpOworICAgICAgICBzdGF0
aWMgYm9vbCBpc1FUS2l0RW5hYmxlZCgpIHsgcmV0dXJuIGdRVEtpdEVuYWJsZWQ7IH0KKyNlbmRp
ZgorCiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBkZWZhdWx0TWF4aW11bUhUTUxQYXJz
ZXJET01UcmVlRGVwdGggPSA1MTI7CiAKICNpZiBFTkFCTEUoU01PT1RIX1NDUk9MTElORykKQEAg
LTM3Niw2ICszODEsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2lmIFVTRShBVkZPVU5EQVRJ
T04pCiAgICAgICAgIHN0YXRpYyBib29sIGdBVkZvdW5kYXRpb25FbmFibGVkOwogI2VuZGlmCisK
KyNpZiBQTEFURk9STShNQUMpIHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkKKyAgICAg
ICAgc3RhdGljIGJvb2wgZ1FUS2l0RW5hYmxlZDsKKyNlbmRpZgorICAgICAgICAKICAgICAgICAg
c3RhdGljIGJvb2wgZ01vY2tTY3JvbGxiYXJzRW5hYmxlZDsKICAgICAgICAgc3RhdGljIGJvb2wg
Z1VzZXNPdmVybGF5U2Nyb2xsYmFyczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCmluZGV4IDY1OWE4MWE3NGVmZDE4ZWY5NjQxYzQ5YTk3
YjZkMzhmMDlmNzNmNmMuLjRiNzA0YWIwNTkzOWU3ODVmMTI3M2Q1NWY3ZTBhNWYyMTMzNWEwNWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5j
cHAKQEAgLTU4LDcgKzU4LDYgQEAKICNpZiBVU0UoQVZGT1VOREFUSU9OKQogI2luY2x1ZGUgIk1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaCIKICNlbmRpZgotI2RlZmluZSBQbGF0
Zm9ybU1lZGlhRW5naW5lQ2xhc3NOYW1lIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0CiAjZWxpZiBP
UyhXSU5DRSkgJiYgIVBMQVRGT1JNKFFUKQogI2luY2x1ZGUgIk1lZGlhUGxheWVyUHJpdmF0ZVdp
bkNFLmgiCiAjZGVmaW5lIFBsYXRmb3JtTWVkaWFFbmdpbmVDbGFzc05hbWUgTWVkaWFQbGF5ZXJQ
cml2YXRlCkBAIC0yMDUsMTEgKzIwNCwxNyBAQCBzdGF0aWMgdm9pZCBhZGRNZWRpYUVuZ2luZShD
cmVhdGVNZWRpYUVuZ2luZVBsYXllciwgTWVkaWFFbmdpbmVTdXBwb3J0ZWRUeXBlcywgTQogc3Rh
dGljIE1lZGlhUGxheWVyRmFjdG9yeSogYmVzdE1lZGlhRW5naW5lRm9yVHlwZUFuZENvZGVjcyhj
b25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgY29kZWNzLCBjb25zdCBTdHJpbmcmIGtl
eVN5c3RlbSwgY29uc3QgS1VSTCYsIE1lZGlhUGxheWVyRmFjdG9yeSogY3VycmVudCA9IDApOwog
c3RhdGljIE1lZGlhUGxheWVyRmFjdG9yeSogbmV4dE1lZGlhRW5naW5lKE1lZGlhUGxheWVyRmFj
dG9yeSogY3VycmVudCk7CiAKLXN0YXRpYyBWZWN0b3I8TWVkaWFQbGF5ZXJGYWN0b3J5Kj4mIGlu
c3RhbGxlZE1lZGlhRW5naW5lcygpIAorZW51bSBSZXF1ZXJ5RW5naW5lT3B0aW9ucyB7IERvTm90
UmVxdWVyeUVuZ2luZXMsIFJlcXVlcnlFbmdpbmVzIH07CitzdGF0aWMgVmVjdG9yPE1lZGlhUGxh
eWVyRmFjdG9yeSo+JiBpbnN0YWxsZWRNZWRpYUVuZ2luZXMoUmVxdWVyeUVuZ2luZU9wdGlvbnMg
cmVxdWVyeUZsYWdzID0gRG9Ob3RSZXF1ZXJ5RW5naW5lcyApCiB7CiAgICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChWZWN0b3I8TWVkaWFQbGF5ZXJGYWN0b3J5Kj4sIGluc3RhbGxlZEVuZ2luZXMsICgp
KTsKICAgICBzdGF0aWMgYm9vbCBlbmdpbmVzUXVlcmllZCA9IGZhbHNlOwogCisgICAgaWYgKHJl
cXVlcnlGbGFncyA9PSBSZXF1ZXJ5RW5naW5lcykgeworICAgICAgICBpbnN0YWxsZWRFbmdpbmVz
LmNsZWFyKCk7CisgICAgICAgIGVuZ2luZXNRdWVyaWVkID0gZmFsc2U7CisgICAgfQorCiAgICAg
aWYgKCFlbmdpbmVzUXVlcmllZCkgewogICAgICAgICBlbmdpbmVzUXVlcmllZCA9IHRydWU7CiAK
QEAgLTIyMyw2ICsyMjgsMTEgQEAgc3RhdGljIFZlY3RvcjxNZWRpYVBsYXllckZhY3RvcnkqPiYg
aW5zdGFsbGVkTWVkaWFFbmdpbmVzKCkKICAgICAgICAgfQogI2VuZGlmCiAKKyNpZiBQTEFURk9S
TShNQUMpIHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkKKyAgICAgICAgaWYgKFNldHRp
bmdzOjppc1FUS2l0RW5hYmxlZCgpKQorICAgICAgICAgICAgTWVkaWFQbGF5ZXJQcml2YXRlUVRL
aXQ6OnJlZ2lzdGVyTWVkaWFFbmdpbmUoYWRkTWVkaWFFbmdpbmUpOworI2VuZGlmCisKICNpZiBk
ZWZpbmVkKFBsYXRmb3JtTWVkaWFFbmdpbmVDbGFzc05hbWUpCiAgICAgICAgIFBsYXRmb3JtTWVk
aWFFbmdpbmVDbGFzc05hbWU6OnJlZ2lzdGVyTWVkaWFFbmdpbmUoYWRkTWVkaWFFbmdpbmUpOwog
I2VuZGlmCkBAIC0xMTQxLDYgKzExNTEsMTEgQEAgdm9pZCBNZWRpYVBsYXllcjo6c2V0VGV4dFRy
YWNrUmVwcmVzZW50YXRpb24oVGV4dFRyYWNrUmVwcmVzZW50YXRpb24qIHJlcHJlc2VudGEKIH0K
ICNlbmRpZgogCit2b2lkIE1lZGlhUGxheWVyOjpyZXF1ZXJ5TWVkaWFFbmdpbmVzKCkKK3sKKyAg
ICBpbnN0YWxsZWRNZWRpYUVuZ2luZXMoUmVxdWVyeUVuZ2luZXMpOworfQorCiB9CiAKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKaW5k
ZXggZjhjNjE4MzhlMzUwNzA0ODBhYzZmNzg3OTFmODJkMDMwYjgzNDEyYy4uMmIwNTE3NmFmNjli
YTE2MjZmNjI0MWZhODgzZmZhNDI1Mzk5Zjg2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCkBAIC00NDUsNiArNDQ1LDggQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24oVGV4dFRyYWNrUmVwcmVzZW50YXRp
b24qKTsKICNlbmRpZgogCisgICAgc3RhdGljIHZvaWQgcmVxdWVyeU1lZGlhRW5naW5lcygpOwor
CiBwcml2YXRlOgogICAgIE1lZGlhUGxheWVyKE1lZGlhUGxheWVyQ2xpZW50Kik7CiAgICAgdm9p
ZCBsb2FkV2l0aE5leHRNZWRpYUVuZ2luZShNZWRpYVBsYXllckZhY3RvcnkqKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmlu
ZGV4IGU0YTZkM2FhNDFiYTJkYTAyNDUwZTZjZDkzNGY5NDNhYzg3YmQzZDkuLjRlNjU4ODQ0OThl
YjMyNjEyOGVkYWJkYzIwNjg1YTZmZDFlNjEwNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTI5LDYgKzEyOSw3
IEBACiAjZGVmaW5lIFdlYktpdFNjcmVlbkZvbnRTdWJzdGl0dXRpb25FbmFibGVkS2V5IEAiV2Vi
S2l0U2NyZWVuRm9udFN1YnN0aXR1dGlvbkVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFN0b3JhZ2VC
bG9ja2luZ1BvbGljeUtleSBAIldlYktpdFN0b3JhZ2VCbG9ja2luZ1BvbGljeSIKICNkZWZpbmUg
V2ViS2l0UGx1Z0luU25hcHNob3R0aW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRQbHVn
SW5TbmFwc2hvdHRpbmdFbmFibGVkIgorI2RlZmluZSBXZWJLaXRRVEtpdEVuYWJsZWRQcmVmZXJl
bmNlS2V5IEAiV2ViS2l0UVRLaXRFbmFibGVkIgogCiAvLyBUaGVzZSBhcmUgcHJpdmF0ZSBib3Ro
IGJlY2F1c2UgY2FsbGVycyBzaG91bGQgYmUgdXNpbmcgdGhlIGNvdmVyIG1ldGhvZHMgYW5kIGJl
Y2F1c2UgdGhlCiAvLyBjb3ZlciBtZXRob2RzIHRoZW1zZWx2ZXMgYXJlIHByaXZhdGUuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCA0NTFiMGZiZjI3
N2ZiNmE4M2Y0NDhjMjhiMTdkNjM0MmJhMmMwNmFlLi5lMDcwNGQzODVlZTY1MTdlOWRlMjUzN2Ex
ZjUwNTdkNzFiMTFiY2FhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXMubW0KQEAgLTQxOSw2ICs0MTksNyBAQCBwdWJsaWM6CiAKICAgICAgICAgW05TTnVtYmVy
IG51bWJlcldpdGhMb25nTG9uZzpBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTo6bm9RdW90YSgpXSwg
V2ViS2l0QXBwbGljYXRpb25DYWNoZVRvdGFsUXVvdGEsCiAgICAgICAgIFtOU051bWJlciBudW1i
ZXJXaXRoTG9uZ0xvbmc6QXBwbGljYXRpb25DYWNoZVN0b3JhZ2U6Om5vUXVvdGEoKV0sIFdlYktp
dEFwcGxpY2F0aW9uQ2FjaGVEZWZhdWx0T3JpZ2luUXVvdGEsCisgICAgICAgIFtOU051bWJlciBu
dW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0UVRLaXRFbmFibGVkUHJlZmVyZW5jZUtleSwKICAg
ICAgICAgbmlsXTsKIAogCkBAIC0xNTc4LDYgKzE1NzksMTYgQEAgc3RhdGljIE5TU3RyaW5nICpj
bGFzc0lCQ3JlYXRvcklEID0gbmlsOwogICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5
OldlYktpdEFWRm91bmRhdGlvbkVuYWJsZWRLZXldOwogfQogCistICh2b2lkKXNldFFUS2l0RW5h
YmxlZDooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpX
ZWJLaXRRVEtpdEVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKworLSAoQk9PTClpc1FUS2l0RW5h
YmxlZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFFUS2l0RW5h
YmxlZFByZWZlcmVuY2VLZXldOworfQorCiAtICh2b2lkKXNldEhpeGllNzZXZWJTb2NrZXRQcm90
b2NvbEVuYWJsZWQ6KEJPT0wpZmxhZwogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggNWE2NWU5NzE4ZThmZTViY2M4YzE5
NDBjNDFmNzMzMGQ2M2ExOGM1NS4uZmFiY2E0YjAyM2FhY2Y5ODM1MGI4ODRlZTQwMWI3OTk2MjA2
N2M2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5oCkBAIC0yODAsNiArMjgwLDkgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJl
bmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb247CiAtICh2b2lkKXNldEFW
Rm91bmRhdGlvbkVuYWJsZWQ6KEJPT0wpZmxhZzsKIC0gKEJPT0wpaXNBVkZvdW5kYXRpb25FbmFi
bGVkOwogCistICh2b2lkKXNldFFUS2l0RW5hYmxlZDooQk9PTClmbGFnOworLSAoQk9PTClpc1FU
S2l0RW5hYmxlZDsKKwogLy8gV2ViU29ja2V0IHN1cHBvcnQgZGVwZW5kcyBvbiBFTkFCTEUoV0VC
X1NPQ0tFVFMpLgogLSAodm9pZClzZXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkOihC
T09MKWZsYWc7CiAtIChCT09MKWlzSGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBiNWFhN2IxNzVkZDkxNmE2MzcyN2Zl
YTk3YmYwZGE0OGRhZDcyMTc3Li5iNWVhNDIwMTU0MTEyNjU4MTFlMTEzM2RkYWU2ZWMwMDFmM2Zm
NDhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysr
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0xNTM5LDYgKzE1Mzks
OSBAQCBzdGF0aWMgYm9vbCBuZWVkc1NlbGZSZXRhaW5XaGlsZUxvYWRpbmdRdWlyaygpCiAgICAg
c2V0dGluZ3MtPnNldEFWRm91bmRhdGlvbkVuYWJsZWQoZmFsc2UpOwogI2VuZGlmCiAjZW5kaWYK
KyNpZiBQTEFURk9STShNQUMpIHx8IChQTEFURk9STShRVCkgJiYgVVNFKFFUS0lUKSkKKyAgICBz
ZXR0aW5ncy0+c2V0UVRLaXRFbmFibGVkKFtwcmVmZXJlbmNlcyBpc1FUS2l0RW5hYmxlZF0pOwor
I2VuZGlmCiAgICAgc2V0dGluZ3MtPnNldE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJl
KFtwcmVmZXJlbmNlcyBtZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZV0pOwogICAgIHNl
dHRpbmdzLT5zZXRNZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lKFtwcmVmZXJlbmNlcyBtZWRpYVBs
YXliYWNrQWxsb3dzSW5saW5lXSk7CiAgICAgc2V0dGluZ3MtPnNldFN1cHByZXNzZXNJbmNyZW1l
bnRhbFJlbmRlcmluZyhbcHJlZmVyZW5jZXMgc3VwcHJlc3Nlc0luY3JlbWVudGFsUmVuZGVyaW5n
XSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9y
ZS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaAppbmRleCBh
YWIzY2NiOTY5OThhNzhjZWRhZDQwNjg4NDA4N2JlOGYyMjFkN2I0Li44NDMwZDRkZmRiMGM3MDRj
YjQ4NmZjNWM4YzNlYzAxMzliMzc2Mjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQ
cmVmZXJlbmNlc1N0b3JlLmgKQEAgLTEzNyw2ICsxMzcsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsK
ICAgICBtYWNybyhVc2VzRW5jb2RpbmdEZXRlY3RvciwgdXNlc0VuY29kaW5nRGV0ZWN0b3IsIEJv
b2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgbWFjcm8oVGV4dEF1dG9zaXppbmdFbmFibGVkLCB0ZXh0
QXV0b3NpemluZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgbWFjcm8oQWdncmVz
c2l2ZVRpbGVSZXRlbnRpb25FbmFibGVkLCBhZ2dyZXNzaXZlVGlsZVJldGVudGlvbkVuYWJsZWQs
IEJvb2wsIGJvb2wsIGZhbHNlKSBcCisgICAgbWFjcm8oUVRLaXRFbmFibGVkLCBpc1FUS2l0RW5h
YmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIFwKIAogI2RlZmluZSBGT1JfRUFDSF9XRUJL
SVRfRE9VQkxFX1BSRUZFUkVOQ0UobWFjcm8pIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAppbmRleCAwMzRiYzllMDdlZTRlZDkyZTIwMDFl
ZTRlZjkwZTc3NjIzZjgwNmE3Li5jMGM0MGZkNjk3N2QzMTcxM2QyOWYyNjZkM2EwMGIyYWI2ZDU2
YTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJl
bmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXMuY3BwCkBAIC0xMDAzLDMgKzEwMDMsMTMgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0QWdncmVz
c2l2ZVRpbGVSZXRlbnRpb25FbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMKIHsK
ICAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+YWdncmVzc2l2ZVRpbGVSZXRlbnRp
b25FbmFibGVkKCk7CiB9CisKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldFFUS2l0RW5hYmxlZChXS1By
ZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpCit7CisgICAgdG9JbXBs
KHByZWZlcmVuY2VzUmVmKS0+c2V0UVRLaXRFbmFibGVkKGVuYWJsZWQpOworfQorCitib29sIFdL
UHJlZmVyZW5jZXNHZXRRVEtpdEVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1Jl
ZikKK3sKKyAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+aXNRVEtpdEVuYWJsZWQo
KTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZl
cmVuY2VzLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5o
CmluZGV4IDQwMzNkOGNmMWMzNWMxNjhmZDEwNDdkMDQ1NTkyZTZjZjhlMGRhMTkuLmQ0NWVmMDIw
MzUxMTgzZjc2ZDQ5Nzg4ZDY5MmIwMzcxOGI1ZjAxOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaApAQCAtMjI4LDYgKzIyOCwxMCBAQCBXS19F
WFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0RW5jb2RpbmdEZXRlY3RvckVuYWJsZWQoV0tQcmVm
ZXJlbmNlc1JlZiBwcmVmZXJlbgogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFRleHRB
dXRvc2l6aW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzLCBib29sIHRleHRB
dXRvc2l6aW5nRW5hYmxlZCk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0VGV4dEF1
dG9zaXppbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMpOwogCisvLyBEZWZh
dWx0cyB0byB0cnVlLgorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFFUS2l0RW5hYmxl
ZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpOworV0tfRVhQ
T1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFFUS2l0RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHBy
ZWZlcmVuY2VzUmVmKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAyNTkwM2E4NDYx
YTE1OTA5NzllYTgxNWYxOGJiMGEwZjg2YjU0NDAxLi4wYjUxNzRhMGM5OTdkNDMyNGI0NDRhNTZl
YTc4MDRjNjE0ODgwMTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCkBAIC0yMzY5LDYgKzIzNjksMTAgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQ
cmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKICAgICBzZXR0aW5n
cy0+c2V0QVZGb3VuZGF0aW9uRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OmlzQVZGb3VuZGF0aW9uRW5hYmxlZEtleSgpKSk7CiAjZW5kaWYKIAorI2lm
IFBMQVRGT1JNKE1BQykgfHwgKFBMQVRGT1JNKFFUKSAmJiBVU0UoUVRLSVQpKQorICAgIHNldHRp
bmdzLT5zZXRRVEtpdEVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVu
Y2VzS2V5Ojppc1FUS2l0RW5hYmxlZEtleSgpKSk7CisjZW5kaWYKKwogI2lmIEVOQUJMRShXRUJf
QVVESU8pCiAgICAgc2V0dGluZ3MtPnNldFdlYkF1ZGlvRW5hYmxlZChzdG9yZS5nZXRCb29sVmFs
dWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OndlYkF1ZGlvRW5hYmxlZEtleSgpKSk7CiAjZW5k
aWYK
</data>
<flag name="review"
          id="201232"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
    <flag name="commit-queue"
          id="201235"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
      

    </bug>

</bugzilla>