<?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>101647</bug_id>
          
          <creation_ts>2012-11-08 14:34:37 -0800</creation_ts>
          <short_desc>PDFPlugin should support clicking on external links</short_desc>
          <delta_ts>2012-11-09 16:10:27 -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>PDF</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="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>adele</cc>
    
    <cc>ap</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>762187</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-11-08 14:34:37 -0800</bug_when>
    <thetext>Links within the PDF work, external links (to other URLs) don&apos;t. I have a patch.

&lt;rdar://problem/12555222&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762208</commentid>
    <comment_count>1</comment_count>
      <attachid>173126</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-11-08 14:52:11 -0800</bug_when>
    <thetext>Created attachment 173126
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762212</commentid>
    <comment_count>2</comment_count>
      <attachid>173126</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-11-08 14:53:31 -0800</bug_when>
    <thetext>Comment on attachment 173126
patch

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

&gt; Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm:603
&gt; +void PDFPlugin::loadURL(NSURL *url)

Maybe this isn&apos;t a good name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762256</commentid>
    <comment_count>3</comment_count>
      <attachid>173126</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-11-08 15:42:40 -0800</bug_when>
    <thetext>Comment on attachment 173126
patch

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

I&apos;d like to know what happens with a javascript: URL.

&gt;&gt; Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm:603
&gt;&gt; +void PDFPlugin::loadURL(NSURL *url)
&gt; 
&gt; Maybe this isn&apos;t a good name.

Perhaps something based on delegate name would work better.

&gt; Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm:611
&gt; +    frame-&gt;loader()-&gt;loadFrameRequest(FrameLoadRequest(frame-&gt;document()-&gt;securityOrigin(), ResourceRequest(url, frame-&gt;loader()-&gt;outgoingReferrer())), false, false, coreEvent.get(), 0, MaybeSendReferrer);

I&apos;m not sure if it&apos;s always correct behavior to navigate current frame. What did WebKit1 do?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762311</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-11-08 16:35:30 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 173126 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=173126&amp;action=review
&gt; 
&gt; I&apos;d like to know what happens with a javascript: URL.

It gets blocked, but I don&apos;t know how or why, so I&apos;m going to investigate further.

&gt; &gt;&gt; Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm:603
&gt; &gt;&gt; +void PDFPlugin::loadURL(NSURL *url)
&gt; &gt; 
&gt; &gt; Maybe this isn&apos;t a good name.
&gt; 
&gt; Perhaps something based on delegate name would work better.

Sure!

&gt; &gt; Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm:611
&gt; &gt; +    frame-&gt;loader()-&gt;loadFrameRequest(FrameLoadRequest(frame-&gt;document()-&gt;securityOrigin(), ResourceRequest(url, frame-&gt;loader()-&gt;outgoingReferrer())), false, false, coreEvent.get(), 0, MaybeSendReferrer);
&gt; 
&gt; I&apos;m not sure if it&apos;s always correct behavior to navigate current frame. What did WebKit1 do?

WebKit1&apos;s PDF view navigates the current frame (unless you command-click, etc.). So, same as this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762681</commentid>
    <comment_count>5</comment_count>
      <attachid>173231</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-11-09 01:03:41 -0800</bug_when>
    <thetext>Created attachment 173231
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763121</commentid>
    <comment_count>6</comment_count>
      <attachid>173231</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-11-09 10:04:09 -0800</bug_when>
    <thetext>Comment on attachment 173231
patch

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

Looks good to me, except for IPC that I don&apos;t understand the need for.

&gt; Source/WebKit2/ChangeLog:16
&gt; +        (WebKit::PDFPlugin::loadURL): Request a load given the new URL.

Please update the ChangeLog with new name.

&gt; Source/WebKit2/PluginProcess/PluginControllerProxy.cpp:534
&gt; +void PluginControllerProxy::shouldAllowScripting(bool&amp; allowed)

I don&apos;t understand why WebProcess can&apos;t make this decision. Can you please explain the rationale?

&gt; Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm:611
&gt; +    frame-&gt;loader()-&gt;urlSelected(url, &quot;&quot;, coreEvent.get(), false, false, MaybeSendReferrer);

You can use emptyString for target.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763254</commentid>
    <comment_count>7</comment_count>
      <attachid>173349</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-11-09 13:05:34 -0800</bug_when>
    <thetext>Created attachment 173349
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763259</commentid>
    <comment_count>8</comment_count>
      <attachid>173349</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-11-09 13:14:02 -0800</bug_when>
    <thetext>Comment on attachment 173349
patch

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

&gt; Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:1641
&gt; +    if (coreFrame-&gt;document() &amp;&amp; coreFrame-&gt;document()-&gt;isPluginDocument()) {

No need to check coreFrame-&gt;document(), every frame has a document.

&gt; Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:1643
&gt; +        PluginView* pluginView = static_cast&lt;PluginView*&gt;(pluginDocument-&gt;pluginWidget());

This cast seems suspicious. If every return value of pluginWidget() were a PluginView, why doesn&apos;t this function just return that? Or perhaps we know because we are in WebKit2?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763274</commentid>
    <comment_count>9</comment_count>
      <attachid>173354</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-11-09 13:31:54 -0800</bug_when>
    <thetext>Created attachment 173354
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763341</commentid>
    <comment_count>10</comment_count>
      <attachid>173372</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-11-09 14:39:09 -0800</bug_when>
    <thetext>Created attachment 173372
pdf with some links in it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763344</commentid>
    <comment_count>11</comment_count>
      <attachid>173354</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-11-09 14:41:06 -0800</bug_when>
    <thetext>Comment on attachment 173354
patch

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

&gt; Source/WebKit2/PluginProcess/PluginControllerProxy.h:142
&gt; +    void shouldAllowScripting(bool&amp;);

Is this still needed?

&gt; Source/WebKit2/WebProcess/Plugins/Plugin.h:197
&gt; +    // Ask the plug-in whether it should be allowed to execute JavaScript or navigate to JavaScript URLs.

This comment seems a bit misleading, we have no intention to ask plug-ins about such things.

&gt; Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:1647
&gt; +            if (pluginView &amp;&amp; !pluginView-&gt;shouldAllowScripting())

The first null check is redundant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763382</commentid>
    <comment_count>12</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-11-09 15:11:30 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 173354 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=173354&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/PluginProcess/PluginControllerProxy.h:142
&gt; &gt; +    void shouldAllowScripting(bool&amp;);
&gt; 
&gt; Is this still needed?

Negative.

&gt; &gt; Source/WebKit2/WebProcess/Plugins/Plugin.h:197
&gt; &gt; +    // Ask the plug-in whether it should be allowed to execute JavaScript or navigate to JavaScript URLs.
&gt; 
&gt; This comment seems a bit misleading, we have no intention to ask plug-ins about such things.

Hmm, technically we are asking the Plugin (NetscapePlugin and SimplePDFPlugin respond) these things.

&gt; &gt; Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:1647
&gt; &gt; +            if (pluginView &amp;&amp; !pluginView-&gt;shouldAllowScripting())
&gt; 
&gt; The first null check is redundant.

Sure.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763424</commentid>
    <comment_count>13</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-11-09 16:10:27 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/134131</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173126</attachid>
            <date>2012-11-08 14:52:11 -0800</date>
            <delta_ts>2012-11-09 01:03:41 -0800</delta_ts>
            <desc>patch</desc>
            <filename>external-links.diff</filename>
            <type>text/plain</type>
            <size>4956</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAwMDI3YzVkLi4wZjBmMzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTItMTEtMDggIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgUERGUGx1Z2luIHNob3VsZCBzdXBwb3J0IGNsaWNraW5nIG9uIGV4dGVybmFsIGxp
bmtzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE2
NDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNTU1MjIyPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9Q
REZMYXllckNvbnRyb2xsZXJEZXRhaWxzLmg6IEFkZCBkZXRhaWxzIGFib3V0IGNsaWNrZWRMaW5r
V2l0aFVSTDogY2FsbGJhY2suCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQ
bHVnaW4uaDoKKyAgICAgICAgKFBERlBsdWdpbik6IEFkZCBsb2FkVVJMKCkgYW5kIHN0b3JhZ2Ug
Zm9yIHRoZSBsYXN0IG1vdXNlIGV2ZW50IHRoYXQgd2FzIGRpc3BhdGNoZWQuCisgICAgICAgICog
V2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW06CisgICAgICAgICgtW1dLUERGTGF5
ZXJDb250cm9sbGVyRGVsZWdhdGUgcGRmTGF5ZXJDb250cm9sbGVyOmNsaWNrZWRMaW5rV2l0aFVS
TDpdKTogRm9yd2FyZCB0aGUgVVJMIHRvIFBERlBsdWdpbi4KKyAgICAgICAgKFdlYktpdDo6UERG
UGx1Z2luOjpoYW5kbGVNb3VzZUV2ZW50KTogU3RvcmUgdGhlIGxhc3QgbW91c2UgZXZlbnQgdGhh
dCB3YXMgZGlzcGF0Y2hlZC4KKyAgICAgICAgV2UgdXNlIHRoaXMgdG8gZ2V0IHRoZSBjb3JyZWN0
IG1vdXNlIGJ1dHRvbiBhbmQgbW9kaWZpZXIga2V5cywgc28gdGhhdCBjb21tYW5kLWNsaWNraW5n
LCBldGMuIGxpbmtzIHdvcmtzLgorICAgICAgICAoV2ViS2l0OjpQREZQbHVnaW46OmxvYWRVUkwp
OiBSZXF1ZXN0IGEgbG9hZCBnaXZlbiB0aGUgbmV3IFVSTC4KKwogMjAxMi0xMS0wNyAgQ2hyaXN0
b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxd
W1dLMl0gQWxsb3cgY2xpZW50IHRvIG92ZXJyaWRlIHNldFdpbmRvd0ZyYW1lKCkgLyBnZXRXaW5k
b3dGcmFtZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
UERGL1BERkxheWVyQ29udHJvbGxlckRldGFpbHMuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9QREYvUERGTGF5ZXJDb250cm9sbGVyRGV0YWlscy5oCmluZGV4IDZlN2I1MmEu
LmI4ZjZhOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9Q
REYvUERGTGF5ZXJDb250cm9sbGVyRGV0YWlscy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QREYvUERGTGF5ZXJDb250cm9sbGVyRGV0YWlscy5oCkBAIC0zNSw2ICsz
NSw3IEBACiAtICh2b2lkKXNhdmVUb1BERjsKIAogLSAodm9pZClwZGZMYXllckNvbnRyb2xsZXI6
KFBERkxheWVyQ29udHJvbGxlciAqKXBkZkxheWVyQ29udHJvbGxlciBkaWRDaGFuZ2VBY3RpdmVB
bm5vdGF0aW9uOihQREZBbm5vdGF0aW9uICopYW5ub3RhdGlvbjsKKy0gKHZvaWQpcGRmTGF5ZXJD
b250cm9sbGVyOihQREZMYXllckNvbnRyb2xsZXIgKilwZGZMYXllckNvbnRyb2xsZXIgY2xpY2tl
ZExpbmtXaXRoVVJMOihOU1VSTCAqKXVybDsKIAogQGVuZAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5oIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4uaAppbmRleCBkMzY0MWI2Li5kOWFm
MGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BE
RlBsdWdpbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERG
UGx1Z2luLmgKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIlBsdWdpbi5oIgogI2luY2x1
ZGUgIlNpbXBsZVBERlBsdWdpbi5oIgorI2luY2x1ZGUgIldlYkV2ZW50LmgiCiAjaW5jbHVkZSA8
V2ViQ29yZS9BZmZpbmVUcmFuc2Zvcm0uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Njcm9sbGFibGVB
cmVhLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgpAQCAtNjMsNiArNjQsOCBAQCBwdWJs
aWM6CiAgICAgCiAgICAgdXNpbmcgU2Nyb2xsYWJsZUFyZWE6Om5vdGlmeVNjcm9sbFBvc2l0aW9u
Q2hhbmdlZDsKIAorICAgIHZvaWQgbG9hZFVSTChOU1VSTCAqKTsKKwogcHJpdmF0ZToKICAgICBl
eHBsaWNpdCBQREZQbHVnaW4oV2ViRnJhbWUqKTsKIApAQCAtMTAyLDYgKzEwNSw3IEBAIHByaXZh
dGU6CiAKICAgICBXZWJDb3JlOjpBZmZpbmVUcmFuc2Zvcm0gbV9yb290Vmlld1RvUGx1Z2luVHJh
bnNmb3JtOwogICAgIFdlYkNvcmU6OkludFBvaW50IG1fbGFzdE1vdXNlUG9pbnQ7CisgICAgV2Vi
TW91c2VFdmVudCBtX2xhc3RNb3VzZUV2ZW50OwogICAgIAogICAgIFJldGFpblB0cjxXS1BERkxh
eWVyQ29udHJvbGxlckRlbGVnYXRlPiBtX3BkZkxheWVyQ29udHJvbGxlckRlbGVnYXRlOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1
Z2luLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4u
bW0KaW5kZXggYjA5YzgwYi4uYjU0MTIyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0KQEAgLTQzLDEyICs0MywxNiBAQAogI2lt
cG9ydCA8V2ViQ29yZS9DaHJvbWUuaD4KICNpbXBvcnQgPFdlYkNvcmUvRG9jdW1lbnRMb2FkZXIu
aD4KICNpbXBvcnQgPFdlYkNvcmUvRm9jdXNDb250cm9sbGVyLmg+CisjaW1wb3J0IDxXZWJDb3Jl
L0Zvcm1TdGF0ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZS5oPgorI2ltcG9ydCA8V2ViQ29y
ZS9GcmFtZUxvYWRSZXF1ZXN0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lVmlldy5oPgogI2lt
cG9ydCA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHQuaD4KICNpbXBvcnQgPFdlYkNvcmUvSFRNTEVs
ZW1lbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvSFRNTEZvcm1FbGVtZW50Lmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0hUVFBIZWFkZXJNYXAuaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5n
cy5oPgorI2ltcG9ydCA8V2ViQ29yZS9Nb3VzZUV2ZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Bh
Z2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGFzdGVib2FyZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9Q
bHVnaW5EYXRhLmg+CkBAIC0xNzUsNiArMTc5LDExIEBAIHN0YXRpYyBjb25zdCBjaGFyKiBhbm5v
dGF0aW9uU3R5bGUgPQogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCiB9CiAKKy0gKHZvaWQpcGRm
TGF5ZXJDb250cm9sbGVyOihQREZMYXllckNvbnRyb2xsZXIgKilwZGZMYXllckNvbnRyb2xsZXIg
Y2xpY2tlZExpbmtXaXRoVVJMOihOU1VSTCAqKXVybAoreworICAgIF9wZGZQbHVnaW4tPmxvYWRV
UkwodXJsKTsKK30KKwogLSAodm9pZClwZGZMYXllckNvbnRyb2xsZXI6KFBERkxheWVyQ29udHJv
bGxlciAqKXBkZkxheWVyQ29udHJvbGxlciBkaWRDaGFuZ2VBY3RpdmVBbm5vdGF0aW9uOihQREZB
bm5vdGF0aW9uICopYW5ub3RhdGlvbgogewogICAgIF9wZGZQbHVnaW4tPnNldEFjdGl2ZUFubm90
YXRpb24oYW5ub3RhdGlvbik7CkBAIC00NzEsNiArNDgwLDggQEAgYm9vbCBQREZQbHVnaW46Omhh
bmRsZU1vdXNlRXZlbnQoY29uc3QgV2ViTW91c2VFdmVudCYgZXZlbnQpCiB7CiAgICAgc3RhdGlj
IGJvb2wgbW91c2VCdXR0b25Jc0Rvd247CiAKKyAgICBtX2xhc3RNb3VzZUV2ZW50ID0gZXZlbnQ7
CisKICAgICBJbnRQb2ludCBtb3VzZVBvc2l0aW9uID0gZXZlbnQucG9zaXRpb24oKTsKIAogICAg
IC8vIEZJWE1FOiBGb3J3YXJkIG1vdXNlIGV2ZW50cyB0byB0aGUgYXBwcm9wcmlhdGUgc2Nyb2xs
YmFyLgpAQCAtNTg5LDYgKzYwMCwxOCBAQCBib29sIFBERlBsdWdpbjo6aGFuZGxlc1BhZ2VTY2Fs
ZUZhY3RvcigpCiAgICAgcmV0dXJuIHdlYkZyYW1lKCktPmlzTWFpbkZyYW1lKCk7CiB9CiAKK3Zv
aWQgUERGUGx1Z2luOjpsb2FkVVJMKE5TVVJMICp1cmwpCit7CisgICAgRnJhbWUqIGZyYW1lID0g
d2ViRnJhbWUoKS0+Y29yZUZyYW1lKCk7CisgICAgCisgICAgUmVmUHRyPEV2ZW50PiBjb3JlRXZl
bnQ7CisgICAgaWYgKG1fbGFzdE1vdXNlRXZlbnQudHlwZSgpICE9IFdlYkV2ZW50OjpOb1R5cGUp
CisgICAgICAgIGNvcmVFdmVudCA9IE1vdXNlRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuY2xp
Y2tFdmVudCwgZnJhbWUtPmRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCksIHBsYXRmb3JtKG1fbGFz
dE1vdXNlRXZlbnQpLCAwLCAwKTsKKyAgICAKKyAgICBmcmFtZS0+bG9hZGVyKCktPmxvYWRGcmFt
ZVJlcXVlc3QoRnJhbWVMb2FkUmVxdWVzdChmcmFtZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmln
aW4oKSwgUmVzb3VyY2VSZXF1ZXN0KHVybCwgZnJhbWUtPmxvYWRlcigpLT5vdXRnb2luZ1JlZmVy
cmVyKCkpKSwgZmFsc2UsIGZhbHNlLCBjb3JlRXZlbnQuZ2V0KCksIDAsIE1heWJlU2VuZFJlZmVy
cmVyKTsKK30KKyAgICAKKwogdm9pZCBQREZQbHVnaW46OnNldEFjdGl2ZUFubm90YXRpb24oUERG
QW5ub3RhdGlvbiAqYW5ub3RhdGlvbikKIHsKICAgICBpZiAoIXN1cHBvcnRzRm9ybXMoKSkK
</data>
<flag name="review"
          id="187711"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173231</attachid>
            <date>2012-11-09 01:03:41 -0800</date>
            <delta_ts>2012-11-09 13:05:34 -0800</delta_ts>
            <desc>patch</desc>
            <filename>external-links.diff</filename>
            <type>text/plain</type>
            <size>16125</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAwMDI3YzVkLi4zNTgwMmI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUg
QEAKKzIwMTItMTEtMDggIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgUERGUGx1Z2luIHNob3VsZCBzdXBwb3J0IGNsaWNraW5nIG9uIGV4dGVybmFsIGxp
bmtzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE2
NDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNTU1MjIyPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9Q
REZMYXllckNvbnRyb2xsZXJEZXRhaWxzLmg6IEFkZCBkZXRhaWxzIGFib3V0IGNsaWNrZWRMaW5r
V2l0aFVSTDogY2FsbGJhY2suCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQ
bHVnaW4uaDoKKyAgICAgICAgKFBERlBsdWdpbik6IEFkZCBsb2FkVVJMKCkgYW5kIHN0b3JhZ2Ug
Zm9yIHRoZSBsYXN0IG1vdXNlIGV2ZW50IHRoYXQgd2FzIGRpc3BhdGNoZWQuCisgICAgICAgICog
V2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW06CisgICAgICAgICgtW1dLUERGTGF5
ZXJDb250cm9sbGVyRGVsZWdhdGUgcGRmTGF5ZXJDb250cm9sbGVyOmNsaWNrZWRMaW5rV2l0aFVS
TDpdKTogRm9yd2FyZCB0aGUgVVJMIHRvIFBERlBsdWdpbi4KKyAgICAgICAgKFdlYktpdDo6UERG
UGx1Z2luOjpoYW5kbGVNb3VzZUV2ZW50KTogU3RvcmUgdGhlIGxhc3QgbW91c2UgZXZlbnQgdGhh
dCB3YXMgZGlzcGF0Y2hlZC4KKyAgICAgICAgV2UgdXNlIHRoaXMgdG8gZ2V0IHRoZSBjb3JyZWN0
IG1vdXNlIGJ1dHRvbiBhbmQgbW9kaWZpZXIga2V5cywgc28gdGhhdCBjb21tYW5kLWNsaWNraW5n
LCBldGMuIGxpbmtzIHdvcmtzLgorICAgICAgICAoV2ViS2l0OjpQREZQbHVnaW46OmxvYWRVUkwp
OiBSZXF1ZXN0IGEgbG9hZCBnaXZlbiB0aGUgbmV3IFVSTC4KKworICAgICAgICAqIFBsdWdpblBy
b2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2lu
Q29udHJvbGxlclByb3h5OjpzaG91bGRBbGxvd1NjcmlwdGluZyk6CisgICAgICAgICogUGx1Z2lu
UHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaDoKKyAgICAgICAgKFBsdWdpbkNvbnRyb2xs
ZXJQcm94eSk6CisgICAgICAgICogUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHku
bWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNj
YXBlUGx1Z2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46OnNob3VsZEFs
bG93U2NyaXB0aW5nKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0
c2NhcGVQbHVnaW4uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERkxheWVy
Q29udHJvbGxlckRldGFpbHMuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2lu
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6UGx1Z2luUHJveHk6OnNob3VsZEFsbG93U2NyaXB0aW5nKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6OnNo
b3VsZEFsbG93U2NyaXB0aW5nKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2lu
Vmlldy5oOgorICAgICAgICBBZGQgc2hvdWxkQWxsb3dTY3JpcHRpbmcoKSBmdW5jdGlvbiB0byBQ
bHVnaW4gKGFuZCBwbHVtYiB0aHJvdWdoIFBsdWdpblByb3h5IGFuZCBQbHVnaW5WaWV3LCBldGMu
KQorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNs
aWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50OjphbGxvd1Nj
cmlwdCk6IE92ZXJyaWRlIGFsbG93U2NyaXB0KCk7IGlmIHRoZSBmcmFtZSBpcyBob3N0aW5nIGEg
UGx1Z2luRG9jdW1lbnQsCisgICAgICAgIGFzayBpdHMgcGx1Z2luIHdoZXRoZXIgaXQgc2hvdWxk
IGFsbG93IGV4ZWN1dGlvbiBvZiBKYXZhU2NyaXB0IGFuZCBKYXZhU2NyaXB0IFVSTHMgb3Igbm90
LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQuaDoKKworICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QREYvU2ltcGxlUERGUGx1Z2lu
Lmg6IERpc2FibGUgc2NyaXB0aW5nIGZvciBTaW1wbGVQREZQbHVnaW4gKGFuZCwgYnkgaW5oZXJp
dGFuY2UsIFBERlBsdWdpbikuCisKIDIwMTItMTEtMDcgIENocmlzdG9waGUgRHVtZXogIDxjaHJp
c3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtXSzJdIEFsbG93IGNsaWVu
dCB0byBvdmVycmlkZSBzZXRXaW5kb3dGcmFtZSgpIC8gZ2V0V2luZG93RnJhbWUoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHku
Y3BwCmluZGV4IGNlZjNkNDAuLmU2NjlkZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1Bs
dWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAKQEAgLTUzMCw3ICs1MzAs
MTIgQEAgdm9pZCBQbHVnaW5Db250cm9sbGVyUHJveHk6OmlzRWRpdGluZ0NvbW1hbmRFbmFibGVk
KGNvbnN0IFN0cmluZyYgY29tbWFuZE5hbWUsIGIKIHsKICAgICBlbmFibGVkID0gbV9wbHVnaW4t
PmlzRWRpdGluZ0NvbW1hbmRFbmFibGVkKGNvbW1hbmROYW1lKTsKIH0KLSAgICAKKwordm9pZCBQ
bHVnaW5Db250cm9sbGVyUHJveHk6OnNob3VsZEFsbG93U2NyaXB0aW5nKGJvb2wmIGFsbG93ZWQp
Cit7CisgICAgYWxsb3dlZCA9IG1fcGx1Z2luLT5zaG91bGRBbGxvd1NjcmlwdGluZygpOworfQor
CiB2b2lkIFBsdWdpbkNvbnRyb2xsZXJQcm94eTo6aGFuZGxlc1BhZ2VTY2FsZUZhY3Rvcihib29s
JiBpc0hhbmRsZWQpCiB7CiAgICAgaXNIYW5kbGVkID0gbV9wbHVnaW4tPmhhbmRsZXNQYWdlU2Nh
bGVGYWN0b3IoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1
Z2luQ29udHJvbGxlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
bkNvbnRyb2xsZXJQcm94eS5oCmluZGV4IDNjNGY5MmEuLmMwNTllNzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaApAQCAt
MTM5LDYgKzEzOSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBoYW5kbGVLZXlib2FyZEV2ZW50KGNv
bnN0IFdlYktleWJvYXJkRXZlbnQmLCBib29sJiBoYW5kbGVkKTsKICAgICB2b2lkIGhhbmRsZUVk
aXRpbmdDb21tYW5kKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGJvb2wmKTsKICAgICB2
b2lkIGlzRWRpdGluZ0NvbW1hbmRFbmFibGVkKGNvbnN0IFN0cmluZyYsIGJvb2wmKTsKKyAgICB2
b2lkIHNob3VsZEFsbG93U2NyaXB0aW5nKGJvb2wmKTsKICAgICB2b2lkIGhhbmRsZXNQYWdlU2Nh
bGVGYWN0b3IoYm9vbCYpOwogICAgIHZvaWQgcGFpbnRFbnRpcmVQbHVnaW4oKTsKICAgICB2b2lk
IHNuYXBzaG90KFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBiYWNraW5nU3RvcmVIYW5kbGUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVy
UHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNv
bnRyb2xsZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCBhZDY2OTg4Li5lNjAyZGViIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRy
b2xsZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtNzUsMTMgKzc1LDE2IEBAIG1lc3NhZ2VzIC0+IFBs
dWdpbkNvbnRyb2xsZXJQcm94eSB7CiAgICAgSGFuZGxlS2V5Ym9hcmRFdmVudChXZWJLaXQ6Oldl
YktleWJvYXJkRXZlbnQga2V5Ym9hcmRFdmVudCkgLT4gKGJvb2wgaGFuZGxlZCkKICAgICAKICAg
ICAjIFNlbnQgd2hlbiBhbiBlZGl0aW5nIGNvbW1hbmQgc2hvdWxkIGJlIHByb2Nlc3NlZC4KLSAg
ICBIYW5kbGVFZGl0aW5nQ29tbWFuZChXVEY6OlN0cmluZyBjb21tYW5kTmFtZSwgV1RGOjpTdHJp
bmcgYXJndW1lbnQpIC0+IChib29sIGhhbmRsZWQpOworICAgIEhhbmRsZUVkaXRpbmdDb21tYW5k
KFdURjo6U3RyaW5nIGNvbW1hbmROYW1lLCBXVEY6OlN0cmluZyBhcmd1bWVudCkgLT4gKGJvb2wg
aGFuZGxlZCkKICAgICAKICAgICAjIFJldHVybiB3aGV0aGVyIG9yIG5vdCBhIHBsdWdpbiB3YW50
cyB0byBlbmFibGUgdGhlIGdpdmVuIGVkaXRpbmcgY29tbWFuZC4KLSAgICBJc0VkaXRpbmdDb21t
YW5kRW5hYmxlZChXVEY6OlN0cmluZyBjb21tYW5kTmFtZSkgLT4gKGJvb2wgZW5hYmxlZCk7Cisg
ICAgSXNFZGl0aW5nQ29tbWFuZEVuYWJsZWQoV1RGOjpTdHJpbmcgY29tbWFuZE5hbWUpIC0+IChi
b29sIGVuYWJsZWQpCisgICAgCisgICAgIyBSZXR1cm4gd2hldGhlciBvciBub3QgYSBwbHVnaW4g
c2hvdWxkIGFsbG93IGV4ZWN1dGlvbiBvZiBKYXZhU2NyaXB0IG9yIG5hdmlnYXRpb24gdG8gSmF2
YVNjcmlwdCBVUkxzLgorICAgIFNob3VsZEFsbG93U2NyaXB0aW5nKCkgLT4gKGJvb2wgYWxsb3dl
ZCkKICAgICAKICAgICAjIFJldHVybiB3aGV0aGVyIG9yIG5vdCBhIHBsdWdpbiB3YW50cyB0byBo
YW5kbGUgcGFnZSBzY2FsZSBmYWN0b3IgaXRzZWxmLgotICAgIEhhbmRsZXNQYWdlU2NhbGVGYWN0
b3IoKSAtPiAoYm9vbCBlbmFibGVkKTsKKyAgICBIYW5kbGVzUGFnZVNjYWxlRmFjdG9yKCkgLT4g
KGJvb2wgZW5hYmxlZCkKIAogICAgICMgU2VudCB3aGVuIHRoZSBwbHVnLWluIGZvY3VzIGNoYW5n
ZXMuCiAgICAgU2V0Rm9jdXMoYm9vbCBpc0ZvY3VzZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNw
cAppbmRleCAzYjljNjEyLi5mMWUwZTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKQEAg
LTkyMCw3ICs5MjAsMTIgQEAgYm9vbCBOZXRzY2FwZVBsdWdpbjo6aXNFZGl0aW5nQ29tbWFuZEVu
YWJsZWQoY29uc3QgU3RyaW5nJiAvKiBjb21tYW5kTmFtZSAqLykKIHsKICAgICByZXR1cm4gZmFs
c2U7CiB9Ci0gICAgCisKK2Jvb2wgTmV0c2NhcGVQbHVnaW46OnNob3VsZEFsbG93U2NyaXB0aW5n
KCkKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBOZXRzY2FwZVBsdWdpbjo6aGFuZGxl
c1BhZ2VTY2FsZUZhY3RvcigpCiB7CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVn
aW4uaAppbmRleCAxZjYxNjhhLi41NTlhYWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uaApAQCAt
MjA2LDYgKzIwNiw4IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRWRpdGlu
Z0NvbW1hbmQoY29uc3QgU3RyaW5nJiBjb21tYW5kTmFtZSwgY29uc3QgU3RyaW5nJiBhcmd1bWVu
dCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGlzRWRpdGluZ0NvbW1hbmRFbmFibGVkKGNv
bnN0IFN0cmluZyYpIE9WRVJSSURFOworCisgICAgdmlydHVhbCBib29sIHNob3VsZEFsbG93U2Ny
aXB0aW5nKCkgT1ZFUlJJREU7CiAgICAgCiAgICAgdmlydHVhbCBib29sIGhhbmRsZXNQYWdlU2Nh
bGVGYWN0b3IoKSBPVkVSUklERTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL1BERi9QREZMYXllckNvbnRyb2xsZXJEZXRhaWxzLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERkxheWVyQ29udHJvbGxlckRldGFpbHMuaApp
bmRleCA2ZTdiNTJhLi5iOGY2YTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvUERGL1BERkxheWVyQ29udHJvbGxlckRldGFpbHMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERkxheWVyQ29udHJvbGxlckRldGFpbHMu
aApAQCAtMzUsNiArMzUsNyBAQAogLSAodm9pZClzYXZlVG9QREY7CiAKIC0gKHZvaWQpcGRmTGF5
ZXJDb250cm9sbGVyOihQREZMYXllckNvbnRyb2xsZXIgKilwZGZMYXllckNvbnRyb2xsZXIgZGlk
Q2hhbmdlQWN0aXZlQW5ub3RhdGlvbjooUERGQW5ub3RhdGlvbiAqKWFubm90YXRpb247CistICh2
b2lkKXBkZkxheWVyQ29udHJvbGxlcjooUERGTGF5ZXJDb250cm9sbGVyICopcGRmTGF5ZXJDb250
cm9sbGVyIGNsaWNrZWRMaW5rV2l0aFVSTDooTlNVUkwgKil1cmw7CiAKIEBlbmQKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4uaCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLmgKaW5kZXgg
ZDM2NDFiNi4uNmVjYzY3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL1BERi9QREZQbHVnaW4uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvUERGL1BERlBsdWdpbi5oCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJQbHVn
aW4uaCIKICNpbmNsdWRlICJTaW1wbGVQREZQbHVnaW4uaCIKKyNpbmNsdWRlICJXZWJFdmVudC5o
IgogI2luY2x1ZGUgPFdlYkNvcmUvQWZmaW5lVHJhbnNmb3JtLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9TY3JvbGxhYmxlQXJlYS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTYzLDYg
KzY0LDggQEAgcHVibGljOgogICAgIAogICAgIHVzaW5nIFNjcm9sbGFibGVBcmVhOjpub3RpZnlT
Y3JvbGxQb3NpdGlvbkNoYW5nZWQ7CiAKKyAgICB2b2lkIGNsaWNrZWRMaW5rKE5TVVJMICopOwor
CiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFBERlBsdWdpbihXZWJGcmFtZSopOwogCkBAIC0xMDIs
NiArMTA1LDcgQEAgcHJpdmF0ZToKIAogICAgIFdlYkNvcmU6OkFmZmluZVRyYW5zZm9ybSBtX3Jv
b3RWaWV3VG9QbHVnaW5UcmFuc2Zvcm07CiAgICAgV2ViQ29yZTo6SW50UG9pbnQgbV9sYXN0TW91
c2VQb2ludDsKKyAgICBXZWJNb3VzZUV2ZW50IG1fbGFzdE1vdXNlRXZlbnQ7CiAgICAgCiAgICAg
UmV0YWluUHRyPFdLUERGTGF5ZXJDb250cm9sbGVyRGVsZWdhdGU+IG1fcGRmTGF5ZXJDb250cm9s
bGVyRGVsZWdhdGU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL1BERi9QREZQbHVnaW4ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvUERGL1BERlBsdWdpbi5tbQppbmRleCBiMDljODBiLi45ZWNkMzE4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbQpAQCAtNDMs
MTIgKzQzLDE2IEBACiAjaW1wb3J0IDxXZWJDb3JlL0Nocm9tZS5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9Eb2N1bWVudExvYWRlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9Gb2N1c0NvbnRyb2xsZXIuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvRm9ybVN0YXRlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lLmg+
CisjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lTG9hZFJlcXVlc3QuaD4KICNpbXBvcnQgPFdlYkNvcmUv
RnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5oPgogI2ltcG9y
dCA8V2ViQ29yZS9IVE1MRWxlbWVudC5oPgorI2ltcG9ydCA8V2ViQ29yZS9IVE1MRm9ybUVsZW1l
bnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvSFRUUEhlYWRlck1hcC5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CisjaW1wb3J0IDxXZWJDb3JlL01vdXNlRXZlbnQuaD4KICNp
bXBvcnQgPFdlYkNvcmUvUGFnZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9QYXN0ZWJvYXJkLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4KQEAgLTE3NSw2ICsxNzksMTEgQEAgc3RhdGlj
IGNvbnN0IGNoYXIqIGFubm90YXRpb25TdHlsZSA9CiAgICAgLy8gRklYTUU6IEltcGxlbWVudC4K
IH0KIAorLSAodm9pZClwZGZMYXllckNvbnRyb2xsZXI6KFBERkxheWVyQ29udHJvbGxlciAqKXBk
ZkxheWVyQ29udHJvbGxlciBjbGlja2VkTGlua1dpdGhVUkw6KE5TVVJMICopdXJsCit7CisgICAg
X3BkZlBsdWdpbi0+Y2xpY2tlZExpbmsodXJsKTsKK30KKwogLSAodm9pZClwZGZMYXllckNvbnRy
b2xsZXI6KFBERkxheWVyQ29udHJvbGxlciAqKXBkZkxheWVyQ29udHJvbGxlciBkaWRDaGFuZ2VB
Y3RpdmVBbm5vdGF0aW9uOihQREZBbm5vdGF0aW9uICopYW5ub3RhdGlvbgogewogICAgIF9wZGZQ
bHVnaW4tPnNldEFjdGl2ZUFubm90YXRpb24oYW5ub3RhdGlvbik7CkBAIC00NzEsNiArNDgwLDgg
QEAgYm9vbCBQREZQbHVnaW46OmhhbmRsZU1vdXNlRXZlbnQoY29uc3QgV2ViTW91c2VFdmVudCYg
ZXZlbnQpCiB7CiAgICAgc3RhdGljIGJvb2wgbW91c2VCdXR0b25Jc0Rvd247CiAKKyAgICBtX2xh
c3RNb3VzZUV2ZW50ID0gZXZlbnQ7CisKICAgICBJbnRQb2ludCBtb3VzZVBvc2l0aW9uID0gZXZl
bnQucG9zaXRpb24oKTsKIAogICAgIC8vIEZJWE1FOiBGb3J3YXJkIG1vdXNlIGV2ZW50cyB0byB0
aGUgYXBwcm9wcmlhdGUgc2Nyb2xsYmFyLgpAQCAtNTg5LDYgKzYwMCwxOCBAQCBib29sIFBERlBs
dWdpbjo6aGFuZGxlc1BhZ2VTY2FsZUZhY3RvcigpCiAgICAgcmV0dXJuIHdlYkZyYW1lKCktPmlz
TWFpbkZyYW1lKCk7CiB9CiAKK3ZvaWQgUERGUGx1Z2luOjpjbGlja2VkTGluayhOU1VSTCAqdXJs
KQoreworICAgIEZyYW1lKiBmcmFtZSA9IHdlYkZyYW1lKCktPmNvcmVGcmFtZSgpOworCisgICAg
UmVmUHRyPEV2ZW50PiBjb3JlRXZlbnQ7CisgICAgaWYgKG1fbGFzdE1vdXNlRXZlbnQudHlwZSgp
ICE9IFdlYkV2ZW50OjpOb1R5cGUpCisgICAgICAgIGNvcmVFdmVudCA9IE1vdXNlRXZlbnQ6OmNy
ZWF0ZShldmVudE5hbWVzKCkuY2xpY2tFdmVudCwgZnJhbWUtPmRvY3VtZW50KCktPmRlZmF1bHRW
aWV3KCksIHBsYXRmb3JtKG1fbGFzdE1vdXNlRXZlbnQpLCAwLCAwKTsKKworICAgIGZyYW1lLT5s
b2FkZXIoKS0+dXJsU2VsZWN0ZWQodXJsLCAiIiwgY29yZUV2ZW50LmdldCgpLCBmYWxzZSwgZmFs
c2UsIE1heWJlU2VuZFJlZmVycmVyKTsKK30KKyAgICAKKwogdm9pZCBQREZQbHVnaW46OnNldEFj
dGl2ZUFubm90YXRpb24oUERGQW5ub3RhdGlvbiAqYW5ub3RhdGlvbikKIHsKICAgICBpZiAoIXN1
cHBvcnRzRm9ybXMoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9QREYvU2ltcGxlUERGUGx1Z2luLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvUERGL1NpbXBsZVBERlBsdWdpbi5oCmluZGV4IDZiOGE5M2UuLjc5OGYwYjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvU2ltcGxlUERGUGx1
Z2luLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9TaW1wbGVQ
REZQbHVnaW4uaApAQCAtMTY4LDcgKzE2OCw5IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIGJv
b2wgaXNFZGl0aW5nQ29tbWFuZEVuYWJsZWQoY29uc3QgU3RyaW5nJikgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCBib29sIGhhbmRsZUVkaXRpbmdDb21tYW5kKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0
cmluZyYpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVzUGFnZVNjYWxlRmFjdG9y
KCkgT1ZFUlJJREU7Ci0gICAgCisKKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkQWxsb3dTY3JpcHRp
bmcoKSBPVkVSUklERSB7IHJldHVybiBmYWxzZTsgfQorCiBwcml2YXRlOgogCiAgICAgSlNPYmpl
Y3RSZWYgbWFrZUpTUERGRG9jKEpTQ29udGV4dFJlZik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luLmgKaW5kZXggZGVkNTNkMS4uNTRmOGIzYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uaApAQCAtMTkzLDYgKzE5Myw5IEBAIHB1
YmxpYzoKICAgICAKICAgICAvLyBBc2sgdGhlIHBsdWctaW4gd2hldGhlciBpdCB3aWxsIGJlIGFi
bGUgdG8gaGFuZGxlIHRoZSBnaXZlbiBlZGl0aW5nIGNvbW1hbmQuCiAgICAgdmlydHVhbCBib29s
IGlzRWRpdGluZ0NvbW1hbmRFbmFibGVkKGNvbnN0IFN0cmluZyYpID0gMDsKKworICAgIC8vIEFz
ayB0aGUgcGx1Zy1pbiB3aGV0aGVyIGl0IHNob3VsZCBiZSBhbGxvd2VkIHRvIGV4ZWN1dGUgSmF2
YVNjcmlwdCBvciBuYXZpZ2F0ZSB0byBKYXZhU2NyaXB0IFVSTHMuCisgICAgdmlydHVhbCBib29s
IHNob3VsZEFsbG93U2NyaXB0aW5nKCkgPSAwOwogICAgIAogICAgIC8vIEFzayB0aGUgcGx1Zy1p
biB3aGV0aGVyIGl0IHdhbnRzIHRvIG92ZXJyaWRlIGZ1bGwtcGFnZSB6b29tLgogICAgIHZpcnR1
YWwgYm9vbCBoYW5kbGVzUGFnZVNjYWxlRmFjdG9yKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5jcHAKaW5kZXggYTE4ODM0YS4uMGJi
ZTJjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2lu
UHJveHkuY3BwCkBAIC00MjMsNiArNDIzLDE1IEBAIGJvb2wgUGx1Z2luUHJveHk6OmlzRWRpdGlu
Z0NvbW1hbmRFbmFibGVkKGNvbnN0IFN0cmluZyYgY29tbWFuZE5hbWUpCiAgICAgCiAgICAgcmV0
dXJuIGVuYWJsZWQ7CiB9CisKK2Jvb2wgUGx1Z2luUHJveHk6OnNob3VsZEFsbG93U2NyaXB0aW5n
KCkKK3sKKyAgICBib29sIGFsbG93ZWQgPSBmYWxzZTsKKyAgICBpZiAoIW1fY29ubmVjdGlvbi0+
Y29ubmVjdGlvbigpLT5zZW5kU3luYyhNZXNzYWdlczo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpT
aG91bGRBbGxvd1NjcmlwdGluZygpLCBNZXNzYWdlczo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpT
aG91bGRBbGxvd1NjcmlwdGluZzo6UmVwbHkoYWxsb3dlZCksIG1fcGx1Z2luSW5zdGFuY2VJRCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBhbGxvd2VkOworfQogICAgIAog
Ym9vbCBQbHVnaW5Qcm94eTo6aGFuZGxlc1BhZ2VTY2FsZUZhY3RvcigpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5oCmluZGV4IDgxMDRhZjIu
Ljg5M2RiN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5Qcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5Qcm94eS5oCkBAIC0xMDMsNiArMTAzLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQg
c2V0Rm9jdXMoYm9vbCk7CiAgICAgdmlydHVhbCBib29sIGhhbmRsZUVkaXRpbmdDb21tYW5kKGNv
bnN0IFN0cmluZyYgY29tbWFuZE5hbWUsIGNvbnN0IFN0cmluZyYgYXJndW1lbnQpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgYm9vbCBpc0VkaXRpbmdDb21tYW5kRW5hYmxlZChjb25zdCBTdHJpbmcm
IGNvbW1hbmROYW1lKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkQWxsb3dTY3Jp
cHRpbmcoKSBPVkVSUklERTsKICAgICAKICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlc1BhZ2VTY2Fs
ZUZhY3RvcigpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblZpZXcuY3BwCmluZGV4IGU4MjcwNDEuLjhiMDM2MTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKQEAgLTc4NCw2ICs3ODQs
MTEgQEAgYm9vbCBQbHVnaW5WaWV3Ojppc0VkaXRpbmdDb21tYW5kRW5hYmxlZChjb25zdCBTdHJp
bmcmIGNvbW1hbmROYW1lKQogICAgIHJldHVybiBtX3BsdWdpbi0+aXNFZGl0aW5nQ29tbWFuZEVu
YWJsZWQoY29tbWFuZE5hbWUpOwogfQogCitib29sIFBsdWdpblZpZXc6OnNob3VsZEFsbG93U2Ny
aXB0aW5nKCkKK3sKKyAgICByZXR1cm4gbV9wbHVnaW4tPnNob3VsZEFsbG93U2NyaXB0aW5nKCk7
Cit9CisKIHZvaWQgUGx1Z2luVmlldzo6bm90aWZ5V2lkZ2V0KFdpZGdldE5vdGlmaWNhdGlvbiBu
b3RpZmljYXRpb24pCiB7CiAgICAgc3dpdGNoIChub3RpZmljYXRpb24pIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5oCmluZGV4IDBkMGRmYTMuLjU5
ZjBmODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5WaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZp
ZXcuaApAQCAtOTAsNiArOTAsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGhhbmRsZUVk
aXRpbmdDb21tYW5kKGNvbnN0IFN0cmluZyYgY29tbWFuZE5hbWUsIGNvbnN0IFN0cmluZyYgYXJn
dW1lbnQpOwogICAgIHZpcnR1YWwgYm9vbCBpc0VkaXRpbmdDb21tYW5kRW5hYmxlZChjb25zdCBT
dHJpbmcmIGNvbW1hbmROYW1lKTsKIAorICAgIGJvb2wgc2hvdWxkQWxsb3dTY3JpcHRpbmcoKTsK
KwogcHJpdmF0ZToKICAgICBQbHVnaW5WaWV3KFBhc3NSZWZQdHI8V2ViQ29yZTo6SFRNTFBsdWdJ
bkVsZW1lbnQ+LCBQYXNzUmVmUHRyPFBsdWdpbj4sIGNvbnN0IFBsdWdpbjo6UGFyYW1ldGVycyYg
cGFyYW1ldGVycyk7CiAgICAgdmlydHVhbCB+UGx1Z2luVmlldygpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVu
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1l
TG9hZGVyQ2xpZW50LmNwcAppbmRleCBkZDNlNTA5Li41YjdjNjE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZy
YW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtNjcsNiArNjcsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUv
Tm90SW1wbGVtZW50ZWQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2UuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1BsdWdpbkRhdGEuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRvY3VtZW50Lmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm9ncmVzc1RyYWNrZXIuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1Jlc291cmNlQnVmZmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CkBA
IC0xNjMwLDYgKzE2MzEsMjQgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlkQ2hhbmdl
U2Nyb2xsT2Zmc2V0KCkKICAgICB3ZWJQYWdlLT5kaWRDaGFuZ2VTY3JvbGxPZmZzZXRGb3JNYWlu
RnJhbWUoKTsKIH0KIAorYm9vbCBXZWJGcmFtZUxvYWRlckNsaWVudDo6YWxsb3dTY3JpcHQoYm9v
bCBlbmFibGVkUGVyU2V0dGluZ3MpCit7CisgICAgaWYgKCFlbmFibGVkUGVyU2V0dGluZ3MpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEZyYW1lKiBjb3JlRnJhbWUgPSBtX2ZyYW1lLT5j
b3JlRnJhbWUoKTsKKworICAgIGlmIChjb3JlRnJhbWUtPmRvY3VtZW50KCkgJiYgY29yZUZyYW1l
LT5kb2N1bWVudCgpLT5pc1BsdWdpbkRvY3VtZW50KCkpIHsKKyAgICAgICAgUGx1Z2luRG9jdW1l
bnQqIHBsdWdpbkRvY3VtZW50ID0gc3RhdGljX2Nhc3Q8UGx1Z2luRG9jdW1lbnQqPihjb3JlRnJh
bWUtPmRvY3VtZW50KCkpOworICAgICAgICBQbHVnaW5WaWV3KiBwbHVnaW5WaWV3ID0gc3RhdGlj
X2Nhc3Q8UGx1Z2luVmlldyo+KHBsdWdpbkRvY3VtZW50LT5wbHVnaW5XaWRnZXQoKSk7CisKKyAg
ICAgICAgaWYgKHBsdWdpblZpZXcgJiYgIXBsdWdpblZpZXctPnNob3VsZEFsbG93U2NyaXB0aW5n
KCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7
Cit9CisKIGJvb2wgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnNob3VsZEZvcmNlVW5pdmVyc2FsQWNj
ZXNzRnJvbUxvY2FsVVJMKGNvbnN0IFdlYkNvcmU6OktVUkwmIHVybCkKIHsKICAgICBXZWJQYWdl
KiB3ZWJQYWdlID0gbV9mcmFtZS0+cGFnZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5o
CmluZGV4IDU2ZTEyMWYuLjA3N2I3MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgK
QEAgLTIzNSw2ICsyMzUsOCBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5n
ZVNjcm9sbE9mZnNldCgpIE9WRVJSSURFOwogCisgICAgdmlydHVhbCBib29sIGFsbG93U2NyaXB0
KGJvb2wgZW5hYmxlZFBlclNldHRpbmdzKSBPVkVSUklERTsKKwogICAgIHZpcnR1YWwgYm9vbCBz
aG91bGRGb3JjZVVuaXZlcnNhbEFjY2Vzc0Zyb21Mb2NhbFVSTChjb25zdCBXZWJDb3JlOjpLVVJM
JikgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6RnJhbWVOZXR3
b3JraW5nQ29udGV4dD4gY3JlYXRlTmV0d29ya2luZ0NvbnRleHQoKSBPVkVSUklERTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173349</attachid>
            <date>2012-11-09 13:05:34 -0800</date>
            <delta_ts>2012-11-09 13:31:54 -0800</delta_ts>
            <desc>patch</desc>
            <filename>external-links.diff</filename>
            <type>text/plain</type>
            <size>15405</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAwMDI3YzVkLi42YTEzZWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUg
QEAKKzIwMTItMTEtMDggIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgUERGUGx1Z2luIHNob3VsZCBzdXBwb3J0IGNsaWNraW5nIG9uIGV4dGVybmFsIGxp
bmtzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE2
NDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNTU1MjIyPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9Q
REZMYXllckNvbnRyb2xsZXJEZXRhaWxzLmg6IEFkZCBkZXRhaWxzIGFib3V0IGNsaWNrZWRMaW5r
V2l0aFVSTDogY2FsbGJhY2suCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQ
bHVnaW4uaDoKKyAgICAgICAgKFBERlBsdWdpbik6IEFkZCBjbGlja2VkTGluaygpIGFuZCBzdG9y
YWdlIGZvciB0aGUgbGFzdCBtb3VzZSBldmVudCB0aGF0IHdhcyBkaXNwYXRjaGVkLgorICAgICAg
ICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tOgorICAgICAgICAoLVtXS1BE
RkxheWVyQ29udHJvbGxlckRlbGVnYXRlIHBkZkxheWVyQ29udHJvbGxlcjpjbGlja2VkTGlua1dp
dGhVUkw6XSk6IEZvcndhcmQgdGhlIFVSTCB0byBQREZQbHVnaW4uCisgICAgICAgIChXZWJLaXQ6
OlBERlBsdWdpbjo6aGFuZGxlTW91c2VFdmVudCk6IFN0b3JlIHRoZSBsYXN0IG1vdXNlIGV2ZW50
IHRoYXQgd2FzIGRpc3BhdGNoZWQuCisgICAgICAgIFdlIHVzZSB0aGlzIHRvIGdldCB0aGUgY29y
cmVjdCBtb3VzZSBidXR0b24gYW5kIG1vZGlmaWVyIGtleXMsIHNvIHRoYXQgY29tbWFuZC1jbGlj
a2luZywgZXRjLiBsaW5rcyB3b3Jrcy4KKyAgICAgICAgKFdlYktpdDo6UERGUGx1Z2luOjpjbGlj
a2VkTGluayk6IFJlcXVlc3QgYSBsb2FkIGdpdmVuIHRoZSBuZXcgVVJMLgorCisgICAgICAgICog
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpQbHVnaW5Db250cm9sbGVyUHJveHk6OnNob3VsZEFsbG93U2NyaXB0aW5nKToKKyAgICAgICAg
KiBQbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oOgorICAgICAgICAoUGx1Z2lu
Q29udHJvbGxlclByb3h5KToKKyAgICAgICAgKiBQbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xs
ZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUvTmV0c2NhcGVQbHVnaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbjo6
c2hvdWxkQWxsb3dTY3JpcHRpbmcpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9OZXRzY2FwZVBsdWdpbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QREYv
UERGTGF5ZXJDb250cm9sbGVyRGV0YWlscy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW4uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm94eTo6c2hvdWxkQWxsb3dTY3JpcHRpbmcpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2lu
Vmlldzo6c2hvdWxkQWxsb3dTY3JpcHRpbmcpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5WaWV3Lmg6CisgICAgICAgIEFkZCBzaG91bGRBbGxvd1NjcmlwdGluZygpIGZ1bmN0
aW9uIHRvIFBsdWdpbiAoYW5kIHBsdW1iIHRocm91Z2ggUGx1Z2luUHJveHkgYW5kIFBsdWdpblZp
ZXcsIGV0Yy4pCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1l
TG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6
OmFsbG93U2NyaXB0KTogT3ZlcnJpZGUgYWxsb3dTY3JpcHQoKTsgaWYgdGhlIGZyYW1lIGlzIGhv
c3RpbmcgYSBQbHVnaW5Eb2N1bWVudCwKKyAgICAgICAgYXNrIGl0cyBwbHVnaW4gd2hldGhlciBp
dCBzaG91bGQgYWxsb3cgZXhlY3V0aW9uIG9mIEphdmFTY3JpcHQgYW5kIEphdmFTY3JpcHQgVVJM
cyBvciBub3QuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxv
YWRlckNsaWVudC5oOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9TaW1wbGVQ
REZQbHVnaW4uaDogRGlzYWJsZSBzY3JpcHRpbmcgZm9yIFNpbXBsZVBERlBsdWdpbiAoYW5kLCBi
eSBpbmhlcml0YW5jZSwgUERGUGx1Z2luKS4KKwogMjAxMi0xMS0wNyAgQ2hyaXN0b3BoZSBEdW1l
eiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdW1dLMl0gQWxs
b3cgY2xpZW50IHRvIG92ZXJyaWRlIHNldFdpbmRvd0ZyYW1lKCkgLyBnZXRXaW5kb3dGcmFtZSgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xs
ZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xs
ZXJQcm94eS5jcHAKaW5kZXggY2VmM2Q0MC4uZTY2OWRkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcApAQCAtNTMw
LDcgKzUzMCwxMiBAQCB2b2lkIFBsdWdpbkNvbnRyb2xsZXJQcm94eTo6aXNFZGl0aW5nQ29tbWFu
ZEVuYWJsZWQoY29uc3QgU3RyaW5nJiBjb21tYW5kTmFtZSwgYgogewogICAgIGVuYWJsZWQgPSBt
X3BsdWdpbi0+aXNFZGl0aW5nQ29tbWFuZEVuYWJsZWQoY29tbWFuZE5hbWUpOwogfQotICAgIAor
Cit2b2lkIFBsdWdpbkNvbnRyb2xsZXJQcm94eTo6c2hvdWxkQWxsb3dTY3JpcHRpbmcoYm9vbCYg
YWxsb3dlZCkKK3sKKyAgICBhbGxvd2VkID0gbV9wbHVnaW4tPnNob3VsZEFsbG93U2NyaXB0aW5n
KCk7Cit9CisKIHZvaWQgUGx1Z2luQ29udHJvbGxlclByb3h5OjpoYW5kbGVzUGFnZVNjYWxlRmFj
dG9yKGJvb2wmIGlzSGFuZGxlZCkKIHsKICAgICBpc0hhbmRsZWQgPSBtX3BsdWdpbi0+aGFuZGxl
c1BhZ2VTY2FsZUZhY3RvcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJv
Y2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKaW5kZXggM2M0ZjkyYS4uYzA1OWU3OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94
eS5oCkBAIC0xMzksNiArMTM5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGhhbmRsZUtleWJvYXJk
RXZlbnQoY29uc3QgV2ViS2V5Ym9hcmRFdmVudCYsIGJvb2wmIGhhbmRsZWQpOwogICAgIHZvaWQg
aGFuZGxlRWRpdGluZ0NvbW1hbmQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgYm9vbCYp
OwogICAgIHZvaWQgaXNFZGl0aW5nQ29tbWFuZEVuYWJsZWQoY29uc3QgU3RyaW5nJiwgYm9vbCYp
OworICAgIHZvaWQgc2hvdWxkQWxsb3dTY3JpcHRpbmcoYm9vbCYpOwogICAgIHZvaWQgaGFuZGxl
c1BhZ2VTY2FsZUZhY3Rvcihib29sJik7CiAgICAgdm9pZCBwYWludEVudGlyZVBsdWdpbigpOwog
ICAgIHZvaWQgc25hcHNob3QoU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGJhY2tpbmdTdG9yZUhh
bmRsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNv
bnRyb2xsZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3Mv
UGx1Z2luQ29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGFkNjY5ODguLmU2MDJkZWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxl
clByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1
Z2luQ29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC03NSwxMyArNzUsMTYgQEAgbWVzc2Fn
ZXMgLT4gUGx1Z2luQ29udHJvbGxlclByb3h5IHsKICAgICBIYW5kbGVLZXlib2FyZEV2ZW50KFdl
YktpdDo6V2ViS2V5Ym9hcmRFdmVudCBrZXlib2FyZEV2ZW50KSAtPiAoYm9vbCBoYW5kbGVkKQog
ICAgIAogICAgICMgU2VudCB3aGVuIGFuIGVkaXRpbmcgY29tbWFuZCBzaG91bGQgYmUgcHJvY2Vz
c2VkLgotICAgIEhhbmRsZUVkaXRpbmdDb21tYW5kKFdURjo6U3RyaW5nIGNvbW1hbmROYW1lLCBX
VEY6OlN0cmluZyBhcmd1bWVudCkgLT4gKGJvb2wgaGFuZGxlZCk7CisgICAgSGFuZGxlRWRpdGlu
Z0NvbW1hbmQoV1RGOjpTdHJpbmcgY29tbWFuZE5hbWUsIFdURjo6U3RyaW5nIGFyZ3VtZW50KSAt
PiAoYm9vbCBoYW5kbGVkKQogICAgIAogICAgICMgUmV0dXJuIHdoZXRoZXIgb3Igbm90IGEgcGx1
Z2luIHdhbnRzIHRvIGVuYWJsZSB0aGUgZ2l2ZW4gZWRpdGluZyBjb21tYW5kLgotICAgIElzRWRp
dGluZ0NvbW1hbmRFbmFibGVkKFdURjo6U3RyaW5nIGNvbW1hbmROYW1lKSAtPiAoYm9vbCBlbmFi
bGVkKTsKKyAgICBJc0VkaXRpbmdDb21tYW5kRW5hYmxlZChXVEY6OlN0cmluZyBjb21tYW5kTmFt
ZSkgLT4gKGJvb2wgZW5hYmxlZCkKKyAgICAKKyAgICAjIFJldHVybiB3aGV0aGVyIG9yIG5vdCBh
IHBsdWdpbiBzaG91bGQgYWxsb3cgZXhlY3V0aW9uIG9mIEphdmFTY3JpcHQgb3IgbmF2aWdhdGlv
biB0byBKYXZhU2NyaXB0IFVSTHMuCisgICAgU2hvdWxkQWxsb3dTY3JpcHRpbmcoKSAtPiAoYm9v
bCBhbGxvd2VkKQogICAgIAogICAgICMgUmV0dXJuIHdoZXRoZXIgb3Igbm90IGEgcGx1Z2luIHdh
bnRzIHRvIGhhbmRsZSBwYWdlIHNjYWxlIGZhY3RvciBpdHNlbGYuCi0gICAgSGFuZGxlc1BhZ2VT
Y2FsZUZhY3RvcigpIC0+IChib29sIGVuYWJsZWQpOworICAgIEhhbmRsZXNQYWdlU2NhbGVGYWN0
b3IoKSAtPiAoYm9vbCBlbmFibGVkKQogCiAgICAgIyBTZW50IHdoZW4gdGhlIHBsdWctaW4gZm9j
dXMgY2hhbmdlcy4KICAgICBTZXRGb2N1cyhib29sIGlzRm9jdXNlZCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQ
bHVnaW4uY3BwCmluZGV4IDNiOWM2MTIuLmYxZTBlNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2lu
LmNwcApAQCAtOTIwLDcgKzkyMCwxMiBAQCBib29sIE5ldHNjYXBlUGx1Z2luOjppc0VkaXRpbmdD
b21tYW5kRW5hYmxlZChjb25zdCBTdHJpbmcmIC8qIGNvbW1hbmROYW1lICovKQogewogICAgIHJl
dHVybiBmYWxzZTsKIH0KLSAgICAKKworYm9vbCBOZXRzY2FwZVBsdWdpbjo6c2hvdWxkQWxsb3dT
Y3JpcHRpbmcoKQoreworICAgIHJldHVybiB0cnVlOworfQorCiBib29sIE5ldHNjYXBlUGx1Z2lu
OjpoYW5kbGVzUGFnZVNjYWxlRmFjdG9yKCkKIHsKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQ
bHVnaW4uaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRz
Y2FwZVBsdWdpbi5oCmluZGV4IDFmNjE2OGEuLjU1OWFhZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdp
bi5oCkBAIC0yMDYsNiArMjA2LDggQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgYm9vbCBoYW5k
bGVFZGl0aW5nQ29tbWFuZChjb25zdCBTdHJpbmcmIGNvbW1hbmROYW1lLCBjb25zdCBTdHJpbmcm
IGFyZ3VtZW50KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaXNFZGl0aW5nQ29tbWFuZEVu
YWJsZWQoY29uc3QgU3RyaW5nJikgT1ZFUlJJREU7CisKKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxk
QWxsb3dTY3JpcHRpbmcoKSBPVkVSUklERTsKICAgICAKICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxl
c1BhZ2VTY2FsZUZhY3RvcigpIE9WRVJSSURFOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERkxheWVyQ29udHJvbGxlckRldGFpbHMuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGTGF5ZXJDb250cm9sbGVyRGV0
YWlscy5oCmluZGV4IDZlN2I1MmEuLmI4ZjZhOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGTGF5ZXJDb250cm9sbGVyRGV0YWlscy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGTGF5ZXJDb250cm9sbGVy
RGV0YWlscy5oCkBAIC0zNSw2ICszNSw3IEBACiAtICh2b2lkKXNhdmVUb1BERjsKIAogLSAodm9p
ZClwZGZMYXllckNvbnRyb2xsZXI6KFBERkxheWVyQ29udHJvbGxlciAqKXBkZkxheWVyQ29udHJv
bGxlciBkaWRDaGFuZ2VBY3RpdmVBbm5vdGF0aW9uOihQREZBbm5vdGF0aW9uICopYW5ub3RhdGlv
bjsKKy0gKHZvaWQpcGRmTGF5ZXJDb250cm9sbGVyOihQREZMYXllckNvbnRyb2xsZXIgKilwZGZM
YXllckNvbnRyb2xsZXIgY2xpY2tlZExpbmtXaXRoVVJMOihOU1VSTCAqKXVybDsKIAogQGVuZAog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBs
dWdpbi5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4u
aAppbmRleCBkMzY0MWI2Li42ZWNjNjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLmgKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1
ZGUgIlBsdWdpbi5oIgogI2luY2x1ZGUgIlNpbXBsZVBERlBsdWdpbi5oIgorI2luY2x1ZGUgIldl
YkV2ZW50LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9BZmZpbmVUcmFuc2Zvcm0uaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1Njcm9sbGFibGVBcmVhLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgpA
QCAtNjMsNiArNjQsOCBAQCBwdWJsaWM6CiAgICAgCiAgICAgdXNpbmcgU2Nyb2xsYWJsZUFyZWE6
Om5vdGlmeVNjcm9sbFBvc2l0aW9uQ2hhbmdlZDsKIAorICAgIHZvaWQgY2xpY2tlZExpbmsoTlNV
UkwgKik7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgUERGUGx1Z2luKFdlYkZyYW1lKik7CiAK
QEAgLTEwMiw2ICsxMDUsNyBAQCBwcml2YXRlOgogCiAgICAgV2ViQ29yZTo6QWZmaW5lVHJhbnNm
b3JtIG1fcm9vdFZpZXdUb1BsdWdpblRyYW5zZm9ybTsKICAgICBXZWJDb3JlOjpJbnRQb2ludCBt
X2xhc3RNb3VzZVBvaW50OworICAgIFdlYk1vdXNlRXZlbnQgbV9sYXN0TW91c2VFdmVudDsKICAg
ICAKICAgICBSZXRhaW5QdHI8V0tQREZMYXllckNvbnRyb2xsZXJEZWxlZ2F0ZT4gbV9wZGZMYXll
ckNvbnRyb2xsZXJEZWxlZ2F0ZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tCmluZGV4IGIwOWM4MGIuLjljMmNiMDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1t
CkBAIC00MywxMiArNDMsMTYgQEAKICNpbXBvcnQgPFdlYkNvcmUvQ2hyb21lLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL0RvY3VtZW50TG9hZGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZvY3VzQ29udHJv
bGxlci5oPgorI2ltcG9ydCA8V2ViQ29yZS9Gb3JtU3RhdGUuaD4KICNpbXBvcnQgPFdlYkNvcmUv
RnJhbWUuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRnJhbWVMb2FkUmVxdWVzdC5oPgogI2ltcG9ydCA8
V2ViQ29yZS9GcmFtZVZpZXcuaD4KICNpbXBvcnQgPFdlYkNvcmUvR3JhcGhpY3NDb250ZXh0Lmg+
CiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxFbGVtZW50Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0hUTUxG
b3JtRWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9IVFRQSGVhZGVyTWFwLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KKyNpbXBvcnQgPFdlYkNvcmUvTW91c2VFdmVu
dC5oPgogI2ltcG9ydCA8V2ViQ29yZS9QYWdlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Bhc3RlYm9h
cmQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGx1Z2luRGF0YS5oPgpAQCAtMTc1LDYgKzE3OSwxMSBA
QCBzdGF0aWMgY29uc3QgY2hhciogYW5ub3RhdGlvblN0eWxlID0KICAgICAvLyBGSVhNRTogSW1w
bGVtZW50LgogfQogCistICh2b2lkKXBkZkxheWVyQ29udHJvbGxlcjooUERGTGF5ZXJDb250cm9s
bGVyICopcGRmTGF5ZXJDb250cm9sbGVyIGNsaWNrZWRMaW5rV2l0aFVSTDooTlNVUkwgKil1cmwK
K3sKKyAgICBfcGRmUGx1Z2luLT5jbGlja2VkTGluayh1cmwpOworfQorCiAtICh2b2lkKXBkZkxh
eWVyQ29udHJvbGxlcjooUERGTGF5ZXJDb250cm9sbGVyICopcGRmTGF5ZXJDb250cm9sbGVyIGRp
ZENoYW5nZUFjdGl2ZUFubm90YXRpb246KFBERkFubm90YXRpb24gKilhbm5vdGF0aW9uCiB7CiAg
ICAgX3BkZlBsdWdpbi0+c2V0QWN0aXZlQW5ub3RhdGlvbihhbm5vdGF0aW9uKTsKQEAgLTQ3MSw2
ICs0ODAsOCBAQCBib29sIFBERlBsdWdpbjo6aGFuZGxlTW91c2VFdmVudChjb25zdCBXZWJNb3Vz
ZUV2ZW50JiBldmVudCkKIHsKICAgICBzdGF0aWMgYm9vbCBtb3VzZUJ1dHRvbklzRG93bjsKIAor
ICAgIG1fbGFzdE1vdXNlRXZlbnQgPSBldmVudDsKKwogICAgIEludFBvaW50IG1vdXNlUG9zaXRp
b24gPSBldmVudC5wb3NpdGlvbigpOwogCiAgICAgLy8gRklYTUU6IEZvcndhcmQgbW91c2UgZXZl
bnRzIHRvIHRoZSBhcHByb3ByaWF0ZSBzY3JvbGxiYXIuCkBAIC01ODksNiArNjAwLDE3IEBAIGJv
b2wgUERGUGx1Z2luOjpoYW5kbGVzUGFnZVNjYWxlRmFjdG9yKCkKICAgICByZXR1cm4gd2ViRnJh
bWUoKS0+aXNNYWluRnJhbWUoKTsKIH0KIAordm9pZCBQREZQbHVnaW46OmNsaWNrZWRMaW5rKE5T
VVJMICp1cmwpCit7CisgICAgRnJhbWUqIGZyYW1lID0gd2ViRnJhbWUoKS0+Y29yZUZyYW1lKCk7
CisKKyAgICBSZWZQdHI8RXZlbnQ+IGNvcmVFdmVudDsKKyAgICBpZiAobV9sYXN0TW91c2VFdmVu
dC50eXBlKCkgIT0gV2ViRXZlbnQ6Ok5vVHlwZSkKKyAgICAgICAgY29yZUV2ZW50ID0gTW91c2VF
dmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50LCBmcmFtZS0+ZG9jdW1lbnQoKS0+
ZGVmYXVsdFZpZXcoKSwgcGxhdGZvcm0obV9sYXN0TW91c2VFdmVudCksIDAsIDApOworCisgICAg
ZnJhbWUtPmxvYWRlcigpLT51cmxTZWxlY3RlZCh1cmwsIGVtcHR5U3RyaW5nKCksIGNvcmVFdmVu
dC5nZXQoKSwgZmFsc2UsIGZhbHNlLCBNYXliZVNlbmRSZWZlcnJlcik7Cit9CisKIHZvaWQgUERG
UGx1Z2luOjpzZXRBY3RpdmVBbm5vdGF0aW9uKFBERkFubm90YXRpb24gKmFubm90YXRpb24pCiB7
CiAgICAgaWYgKCFzdXBwb3J0c0Zvcm1zKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUERGL1NpbXBsZVBERlBsdWdpbi5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9TaW1wbGVQREZQbHVnaW4uaAppbmRleCA2YjhhOTNlLi43
OThmMGI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERG
L1NpbXBsZVBERlBsdWdpbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9QREYvU2ltcGxlUERGUGx1Z2luLmgKQEAgLTE2OCw3ICsxNjgsOSBAQCBwcm90ZWN0ZWQ6CiAg
ICAgdmlydHVhbCBib29sIGlzRWRpdGluZ0NvbW1hbmRFbmFibGVkKGNvbnN0IFN0cmluZyYpIE9W
RVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFZGl0aW5nQ29tbWFuZChjb25zdCBTdHJp
bmcmLCBjb25zdCBTdHJpbmcmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlc1Bh
Z2VTY2FsZUZhY3RvcigpIE9WRVJSSURFOwotICAgIAorCisgICAgdmlydHVhbCBib29sIHNob3Vs
ZEFsbG93U2NyaXB0aW5nKCkgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KKwogcHJpdmF0ZToK
IAogICAgIEpTT2JqZWN0UmVmIG1ha2VKU1BERkRvYyhKU0NvbnRleHRSZWYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5oCmluZGV4IGRlZDUzZDEuLjU0ZjhiM2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luLmgKQEAgLTE5Myw2
ICsxOTMsOSBAQCBwdWJsaWM6CiAgICAgCiAgICAgLy8gQXNrIHRoZSBwbHVnLWluIHdoZXRoZXIg
aXQgd2lsbCBiZSBhYmxlIHRvIGhhbmRsZSB0aGUgZ2l2ZW4gZWRpdGluZyBjb21tYW5kLgogICAg
IHZpcnR1YWwgYm9vbCBpc0VkaXRpbmdDb21tYW5kRW5hYmxlZChjb25zdCBTdHJpbmcmKSA9IDA7
CisKKyAgICAvLyBBc2sgdGhlIHBsdWctaW4gd2hldGhlciBpdCBzaG91bGQgYmUgYWxsb3dlZCB0
byBleGVjdXRlIEphdmFTY3JpcHQgb3IgbmF2aWdhdGUgdG8gSmF2YVNjcmlwdCBVUkxzLgorICAg
IHZpcnR1YWwgYm9vbCBzaG91bGRBbGxvd1NjcmlwdGluZygpID0gMDsKICAgICAKICAgICAvLyBB
c2sgdGhlIHBsdWctaW4gd2hldGhlciBpdCB3YW50cyB0byBvdmVycmlkZSBmdWxsLXBhZ2Ugem9v
bS4KICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlc1BhZ2VTY2FsZUZhY3RvcigpID0gMDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmgKaW5kZXggODEw
NGFmMi4uYjFhODkzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblByb3h5LmgKQEAgLTEwMyw2ICsxMDMsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwg
dm9pZCBzZXRGb2N1cyhib29sKTsKICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRWRpdGluZ0NvbW1h
bmQoY29uc3QgU3RyaW5nJiBjb21tYW5kTmFtZSwgY29uc3QgU3RyaW5nJiBhcmd1bWVudCkgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCBib29sIGlzRWRpdGluZ0NvbW1hbmRFbmFibGVkKGNvbnN0IFN0
cmluZyYgY29tbWFuZE5hbWUpIE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9vbCBzaG91bGRBbGxv
d1NjcmlwdGluZygpIE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KICAgICAKICAgICB2aXJ0dWFs
IGJvb2wgaGFuZGxlc1BhZ2VTY2FsZUZhY3RvcigpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCmluZGV4IGU4MjcwNDEuLjhiMDM2
MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5W
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmll
dy5jcHAKQEAgLTc4NCw2ICs3ODQsMTEgQEAgYm9vbCBQbHVnaW5WaWV3Ojppc0VkaXRpbmdDb21t
YW5kRW5hYmxlZChjb25zdCBTdHJpbmcmIGNvbW1hbmROYW1lKQogICAgIHJldHVybiBtX3BsdWdp
bi0+aXNFZGl0aW5nQ29tbWFuZEVuYWJsZWQoY29tbWFuZE5hbWUpOwogfQogCitib29sIFBsdWdp
blZpZXc6OnNob3VsZEFsbG93U2NyaXB0aW5nKCkKK3sKKyAgICByZXR1cm4gbV9wbHVnaW4tPnNo
b3VsZEFsbG93U2NyaXB0aW5nKCk7Cit9CisKIHZvaWQgUGx1Z2luVmlldzo6bm90aWZ5V2lkZ2V0
KFdpZGdldE5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24pCiB7CiAgICAgc3dpdGNoIChub3RpZmlj
YXRpb24pIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5WaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmll
dy5oCmluZGV4IDBkMGRmYTMuLjU5ZjBmODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuaApAQCAtOTAsNiArOTAsOCBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBib29sIGhhbmRsZUVkaXRpbmdDb21tYW5kKGNvbnN0IFN0cmluZyYgY29tbWFuZE5h
bWUsIGNvbnN0IFN0cmluZyYgYXJndW1lbnQpOwogICAgIHZpcnR1YWwgYm9vbCBpc0VkaXRpbmdD
b21tYW5kRW5hYmxlZChjb25zdCBTdHJpbmcmIGNvbW1hbmROYW1lKTsKIAorICAgIGJvb2wgc2hv
dWxkQWxsb3dTY3JpcHRpbmcoKTsKKwogcHJpdmF0ZToKICAgICBQbHVnaW5WaWV3KFBhc3NSZWZQ
dHI8V2ViQ29yZTo6SFRNTFBsdWdJbkVsZW1lbnQ+LCBQYXNzUmVmUHRyPFBsdWdpbj4sIGNvbnN0
IFBsdWdpbjo6UGFyYW1ldGVycyYgcGFyYW1ldGVycyk7CiAgICAgdmlydHVhbCB+UGx1Z2luVmll
dygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRleCBkZDNlNTA5Li41Yjdj
NjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtNjcsNiArNjcsNyBA
QAogI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1BhZ2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL1BsdWdpbkRvY3VtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm9ncmVzc1RyYWNrZXIu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlQnVmZmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9SZXNvdXJjZUVycm9yLmg+CkBAIC0xNjMwLDYgKzE2MzEsMjQgQEAgdm9pZCBXZWJGcmFtZUxv
YWRlckNsaWVudDo6ZGlkQ2hhbmdlU2Nyb2xsT2Zmc2V0KCkKICAgICB3ZWJQYWdlLT5kaWRDaGFu
Z2VTY3JvbGxPZmZzZXRGb3JNYWluRnJhbWUoKTsKIH0KIAorYm9vbCBXZWJGcmFtZUxvYWRlckNs
aWVudDo6YWxsb3dTY3JpcHQoYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MpCit7CisgICAgaWYgKCFl
bmFibGVkUGVyU2V0dGluZ3MpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEZyYW1lKiBj
b3JlRnJhbWUgPSBtX2ZyYW1lLT5jb3JlRnJhbWUoKTsKKworICAgIGlmIChjb3JlRnJhbWUtPmRv
Y3VtZW50KCkgJiYgY29yZUZyYW1lLT5kb2N1bWVudCgpLT5pc1BsdWdpbkRvY3VtZW50KCkpIHsK
KyAgICAgICAgUGx1Z2luRG9jdW1lbnQqIHBsdWdpbkRvY3VtZW50ID0gc3RhdGljX2Nhc3Q8UGx1
Z2luRG9jdW1lbnQqPihjb3JlRnJhbWUtPmRvY3VtZW50KCkpOworICAgICAgICBQbHVnaW5WaWV3
KiBwbHVnaW5WaWV3ID0gc3RhdGljX2Nhc3Q8UGx1Z2luVmlldyo+KHBsdWdpbkRvY3VtZW50LT5w
bHVnaW5XaWRnZXQoKSk7CisKKyAgICAgICAgaWYgKHBsdWdpblZpZXcgJiYgIXBsdWdpblZpZXct
PnNob3VsZEFsbG93U2NyaXB0aW5nKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQorCisgICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnNo
b3VsZEZvcmNlVW5pdmVyc2FsQWNjZXNzRnJvbUxvY2FsVVJMKGNvbnN0IFdlYkNvcmU6OktVUkwm
IHVybCkKIHsKICAgICBXZWJQYWdlKiB3ZWJQYWdlID0gbV9mcmFtZS0+cGFnZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxv
YWRlckNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJGcmFtZUxvYWRlckNsaWVudC5oCmluZGV4IDU2ZTEyMWYuLjA3N2I3MDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkZyYW1lTG9hZGVyQ2xpZW50LmgKQEAgLTIzNSw2ICsyMzUsOCBAQCBwcml2YXRlOgogCiAgICAg
dmlydHVhbCB2b2lkIGRpZENoYW5nZVNjcm9sbE9mZnNldCgpIE9WRVJSSURFOwogCisgICAgdmly
dHVhbCBib29sIGFsbG93U2NyaXB0KGJvb2wgZW5hYmxlZFBlclNldHRpbmdzKSBPVkVSUklERTsK
KwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRGb3JjZVVuaXZlcnNhbEFjY2Vzc0Zyb21Mb2NhbFVS
TChjb25zdCBXZWJDb3JlOjpLVVJMJikgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIFBhc3NSZWZQ
dHI8V2ViQ29yZTo6RnJhbWVOZXR3b3JraW5nQ29udGV4dD4gY3JlYXRlTmV0d29ya2luZ0NvbnRl
eHQoKSBPVkVSUklERTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173354</attachid>
            <date>2012-11-09 13:31:54 -0800</date>
            <delta_ts>2012-11-09 14:41:06 -0800</delta_ts>
            <desc>patch</desc>
            <filename>external-links.diff</filename>
            <type>text/plain</type>
            <size>15165</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAwMDI3YzVkLi42M2FkOGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIg
QEAKKzIwMTItMTEtMDggIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgUERGUGx1Z2luIHNob3VsZCBzdXBwb3J0IGNsaWNraW5nIG9uIGV4dGVybmFsIGxp
bmtzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE2
NDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNTU1MjIyPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9Q
REZMYXllckNvbnRyb2xsZXJEZXRhaWxzLmg6IEFkZCBkZXRhaWxzIGFib3V0IGNsaWNrZWRMaW5r
V2l0aFVSTDogY2FsbGJhY2suCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQ
bHVnaW4uaDoKKyAgICAgICAgKFBERlBsdWdpbik6IEFkZCBjbGlja2VkTGluaygpIGFuZCBzdG9y
YWdlIGZvciB0aGUgbGFzdCBtb3VzZSBldmVudCB0aGF0IHdhcyBkaXNwYXRjaGVkLgorICAgICAg
ICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tOgorICAgICAgICAoLVtXS1BE
RkxheWVyQ29udHJvbGxlckRlbGVnYXRlIHBkZkxheWVyQ29udHJvbGxlcjpjbGlja2VkTGlua1dp
dGhVUkw6XSk6IEZvcndhcmQgdGhlIFVSTCB0byBQREZQbHVnaW4uCisgICAgICAgIChXZWJLaXQ6
OlBERlBsdWdpbjo6aGFuZGxlTW91c2VFdmVudCk6IFN0b3JlIHRoZSBsYXN0IG1vdXNlIGV2ZW50
IHRoYXQgd2FzIGRpc3BhdGNoZWQuCisgICAgICAgIFdlIHVzZSB0aGlzIHRvIGdldCB0aGUgY29y
cmVjdCBtb3VzZSBidXR0b24gYW5kIG1vZGlmaWVyIGtleXMsIHNvIHRoYXQgY29tbWFuZC1jbGlj
a2luZywgZXRjLiBsaW5rcyB3b3Jrcy4KKyAgICAgICAgKFdlYktpdDo6UERGUGx1Z2luOjpjbGlj
a2VkTGluayk6IFJlcXVlc3QgYSBsb2FkIGdpdmVuIHRoZSBuZXcgVVJMLgorCisgICAgICAgICog
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaDoKKyAgICAgICAgKFBsdWdpbkNv
bnRyb2xsZXJQcm94eSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05l
dHNjYXBlUGx1Z2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46OnNob3Vs
ZEFsbG93U2NyaXB0aW5nKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUv
TmV0c2NhcGVQbHVnaW4uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERkxh
eWVyQ29udHJvbGxlckRldGFpbHMuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UGx1Z2luUHJveHk6OnNob3VsZEFsbG93U2NyaXB0aW5nKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6
OnNob3VsZEFsbG93U2NyaXB0aW5nKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luVmlldy5oOgorICAgICAgICBBZGQgc2hvdWxkQWxsb3dTY3JpcHRpbmcoKSBmdW5jdGlvbiB0
byBQbHVnaW4gKGFuZCBwbHVtYiB0aHJvdWdoIFBsdWdpblByb3h5IGFuZCBQbHVnaW5WaWV3LCBl
dGMuKQorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50OjphbGxv
d1NjcmlwdCk6IE92ZXJyaWRlIGFsbG93U2NyaXB0KCk7IGlmIHRoZSBmcmFtZSBpcyBob3N0aW5n
IGEgUGx1Z2luRG9jdW1lbnQsCisgICAgICAgIGFzayBpdHMgcGx1Z2luIHdoZXRoZXIgaXQgc2hv
dWxkIGFsbG93IGV4ZWN1dGlvbiBvZiBKYXZhU2NyaXB0IGFuZCBKYXZhU2NyaXB0IFVSTHMgb3Ig
bm90LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJD
bGllbnQuaDoKKworICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QREYvU2ltcGxlUERGUGx1
Z2luLmg6IERpc2FibGUgc2NyaXB0aW5nIGZvciBTaW1wbGVQREZQbHVnaW4gKGFuZCwgYnkgaW5o
ZXJpdGFuY2UsIFBERlBsdWdpbikuCisKIDIwMTItMTEtMDcgIENocmlzdG9waGUgRHVtZXogIDxj
aHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtXSzJdIEFsbG93IGNs
aWVudCB0byBvdmVycmlkZSBzZXRXaW5kb3dGcmFtZSgpIC8gZ2V0V2luZG93RnJhbWUoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJv
eHkuY3BwCmluZGV4IGNlZjNkNDAuLmU2NjlkZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAKQEAgLTUzMCw3ICs1
MzAsMTIgQEAgdm9pZCBQbHVnaW5Db250cm9sbGVyUHJveHk6OmlzRWRpdGluZ0NvbW1hbmRFbmFi
bGVkKGNvbnN0IFN0cmluZyYgY29tbWFuZE5hbWUsIGIKIHsKICAgICBlbmFibGVkID0gbV9wbHVn
aW4tPmlzRWRpdGluZ0NvbW1hbmRFbmFibGVkKGNvbW1hbmROYW1lKTsKIH0KLSAgICAKKwordm9p
ZCBQbHVnaW5Db250cm9sbGVyUHJveHk6OnNob3VsZEFsbG93U2NyaXB0aW5nKGJvb2wmIGFsbG93
ZWQpCit7CisgICAgYWxsb3dlZCA9IG1fcGx1Z2luLT5zaG91bGRBbGxvd1NjcmlwdGluZygpOwor
fQorCiB2b2lkIFBsdWdpbkNvbnRyb2xsZXJQcm94eTo6aGFuZGxlc1BhZ2VTY2FsZUZhY3Rvcihi
b29sJiBpc0hhbmRsZWQpCiB7CiAgICAgaXNIYW5kbGVkID0gbV9wbHVnaW4tPmhhbmRsZXNQYWdl
U2NhbGVGYWN0b3IoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3Mv
UGx1Z2luQ29udHJvbGxlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1Bs
dWdpbkNvbnRyb2xsZXJQcm94eS5oCmluZGV4IDNjNGY5MmEuLmMwNTllNzggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaApA
QCAtMTM5LDYgKzEzOSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBoYW5kbGVLZXlib2FyZEV2ZW50
KGNvbnN0IFdlYktleWJvYXJkRXZlbnQmLCBib29sJiBoYW5kbGVkKTsKICAgICB2b2lkIGhhbmRs
ZUVkaXRpbmdDb21tYW5kKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGJvb2wmKTsKICAg
ICB2b2lkIGlzRWRpdGluZ0NvbW1hbmRFbmFibGVkKGNvbnN0IFN0cmluZyYsIGJvb2wmKTsKKyAg
ICB2b2lkIHNob3VsZEFsbG93U2NyaXB0aW5nKGJvb2wmKTsKICAgICB2b2lkIGhhbmRsZXNQYWdl
U2NhbGVGYWN0b3IoYm9vbCYpOwogICAgIHZvaWQgcGFpbnRFbnRpcmVQbHVnaW4oKTsKICAgICB2
b2lkIHNuYXBzaG90KFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBiYWNraW5nU3RvcmVIYW5kbGUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9s
bGVyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
bkNvbnRyb2xsZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCBhZDY2OTg4Li5jYTczM2E0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94
eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNv
bnRyb2xsZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtNzUsMTMgKzc1LDEzIEBAIG1lc3NhZ2VzIC0+
IFBsdWdpbkNvbnRyb2xsZXJQcm94eSB7CiAgICAgSGFuZGxlS2V5Ym9hcmRFdmVudChXZWJLaXQ6
OldlYktleWJvYXJkRXZlbnQga2V5Ym9hcmRFdmVudCkgLT4gKGJvb2wgaGFuZGxlZCkKICAgICAK
ICAgICAjIFNlbnQgd2hlbiBhbiBlZGl0aW5nIGNvbW1hbmQgc2hvdWxkIGJlIHByb2Nlc3NlZC4K
LSAgICBIYW5kbGVFZGl0aW5nQ29tbWFuZChXVEY6OlN0cmluZyBjb21tYW5kTmFtZSwgV1RGOjpT
dHJpbmcgYXJndW1lbnQpIC0+IChib29sIGhhbmRsZWQpOworICAgIEhhbmRsZUVkaXRpbmdDb21t
YW5kKFdURjo6U3RyaW5nIGNvbW1hbmROYW1lLCBXVEY6OlN0cmluZyBhcmd1bWVudCkgLT4gKGJv
b2wgaGFuZGxlZCkKICAgICAKICAgICAjIFJldHVybiB3aGV0aGVyIG9yIG5vdCBhIHBsdWdpbiB3
YW50cyB0byBlbmFibGUgdGhlIGdpdmVuIGVkaXRpbmcgY29tbWFuZC4KLSAgICBJc0VkaXRpbmdD
b21tYW5kRW5hYmxlZChXVEY6OlN0cmluZyBjb21tYW5kTmFtZSkgLT4gKGJvb2wgZW5hYmxlZCk7
CisgICAgSXNFZGl0aW5nQ29tbWFuZEVuYWJsZWQoV1RGOjpTdHJpbmcgY29tbWFuZE5hbWUpIC0+
IChib29sIGVuYWJsZWQpCiAgICAgCiAgICAgIyBSZXR1cm4gd2hldGhlciBvciBub3QgYSBwbHVn
aW4gd2FudHMgdG8gaGFuZGxlIHBhZ2Ugc2NhbGUgZmFjdG9yIGl0c2VsZi4KLSAgICBIYW5kbGVz
UGFnZVNjYWxlRmFjdG9yKCkgLT4gKGJvb2wgZW5hYmxlZCk7CisgICAgSGFuZGxlc1BhZ2VTY2Fs
ZUZhY3RvcigpIC0+IChib29sIGVuYWJsZWQpCiAKICAgICAjIFNlbnQgd2hlbiB0aGUgcGx1Zy1p
biBmb2N1cyBjaGFuZ2VzLgogICAgIFNldEZvY3VzKGJvb2wgaXNGb2N1c2VkKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1
Z2luLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRz
Y2FwZVBsdWdpbi5jcHAKaW5kZXggM2I5YzYxMi4uZjFlMGU1YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQ
bHVnaW4uY3BwCkBAIC05MjAsNyArOTIwLDEyIEBAIGJvb2wgTmV0c2NhcGVQbHVnaW46OmlzRWRp
dGluZ0NvbW1hbmRFbmFibGVkKGNvbnN0IFN0cmluZyYgLyogY29tbWFuZE5hbWUgKi8pCiB7CiAg
ICAgcmV0dXJuIGZhbHNlOwogfQotICAgIAorCitib29sIE5ldHNjYXBlUGx1Z2luOjpzaG91bGRB
bGxvd1NjcmlwdGluZygpCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wgTmV0c2NhcGVQ
bHVnaW46OmhhbmRsZXNQYWdlU2NhbGVGYWN0b3IoKQogewogICAgIHJldHVybiBmYWxzZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRz
Y2FwZVBsdWdpbi5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBl
L05ldHNjYXBlUGx1Z2luLmgKaW5kZXggMWY2MTY4YS4uNTU5YWFkYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmgK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBl
UGx1Z2luLmgKQEAgLTIwNiw2ICsyMDYsOCBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCBib29s
IGhhbmRsZUVkaXRpbmdDb21tYW5kKGNvbnN0IFN0cmluZyYgY29tbWFuZE5hbWUsIGNvbnN0IFN0
cmluZyYgYXJndW1lbnQpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBpc0VkaXRpbmdDb21t
YW5kRW5hYmxlZChjb25zdCBTdHJpbmcmKSBPVkVSUklERTsKKworICAgIHZpcnR1YWwgYm9vbCBz
aG91bGRBbGxvd1NjcmlwdGluZygpIE9WRVJSSURFOwogICAgIAogICAgIHZpcnR1YWwgYm9vbCBo
YW5kbGVzUGFnZVNjYWxlRmFjdG9yKCkgT1ZFUlJJREU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGTGF5ZXJDb250cm9sbGVyRGV0YWlscy5o
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZMYXllckNvbnRyb2xs
ZXJEZXRhaWxzLmgKaW5kZXggNmU3YjUyYS4uYjhmNmE5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZMYXllckNvbnRyb2xsZXJEZXRhaWxzLmgK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZMYXllckNvbnRy
b2xsZXJEZXRhaWxzLmgKQEAgLTM1LDYgKzM1LDcgQEAKIC0gKHZvaWQpc2F2ZVRvUERGOwogCiAt
ICh2b2lkKXBkZkxheWVyQ29udHJvbGxlcjooUERGTGF5ZXJDb250cm9sbGVyICopcGRmTGF5ZXJD
b250cm9sbGVyIGRpZENoYW5nZUFjdGl2ZUFubm90YXRpb246KFBERkFubm90YXRpb24gKilhbm5v
dGF0aW9uOworLSAodm9pZClwZGZMYXllckNvbnRyb2xsZXI6KFBERkxheWVyQ29udHJvbGxlciAq
KXBkZkxheWVyQ29udHJvbGxlciBjbGlja2VkTGlua1dpdGhVUkw6KE5TVVJMICopdXJsOwogCiBA
ZW5kCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYv
UERGUGx1Z2luLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBs
dWdpbi5oCmluZGV4IGQzNjQxYjYuLjZlY2M2NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLmgKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4uaApAQCAtMzAsNiArMzAsNyBAQAogCiAj
aW5jbHVkZSAiUGx1Z2luLmgiCiAjaW5jbHVkZSAiU2ltcGxlUERGUGx1Z2luLmgiCisjaW5jbHVk
ZSAiV2ViRXZlbnQuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0FmZmluZVRyYW5zZm9ybS5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvU2Nyb2xsYWJsZUFyZWEuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CkBAIC02Myw2ICs2NCw4IEBAIHB1YmxpYzoKICAgICAKICAgICB1c2luZyBTY3JvbGxhYmxl
QXJlYTo6bm90aWZ5U2Nyb2xsUG9zaXRpb25DaGFuZ2VkOwogCisgICAgdm9pZCBjbGlja2VkTGlu
ayhOU1VSTCAqKTsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBQREZQbHVnaW4oV2ViRnJhbWUq
KTsKIApAQCAtMTAyLDYgKzEwNSw3IEBAIHByaXZhdGU6CiAKICAgICBXZWJDb3JlOjpBZmZpbmVU
cmFuc2Zvcm0gbV9yb290Vmlld1RvUGx1Z2luVHJhbnNmb3JtOwogICAgIFdlYkNvcmU6OkludFBv
aW50IG1fbGFzdE1vdXNlUG9pbnQ7CisgICAgV2ViTW91c2VFdmVudCBtX2xhc3RNb3VzZUV2ZW50
OwogICAgIAogICAgIFJldGFpblB0cjxXS1BERkxheWVyQ29udHJvbGxlckRlbGVnYXRlPiBtX3Bk
ZkxheWVyQ29udHJvbGxlckRlbGVnYXRlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0KaW5kZXggYjA5YzgwYi4uOWMyY2IwNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVn
aW4ubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVn
aW4ubW0KQEAgLTQzLDEyICs0MywxNiBAQAogI2ltcG9ydCA8V2ViQ29yZS9DaHJvbWUuaD4KICNp
bXBvcnQgPFdlYkNvcmUvRG9jdW1lbnRMb2FkZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvRm9jdXND
b250cm9sbGVyLmg+CisjaW1wb3J0IDxXZWJDb3JlL0Zvcm1TdGF0ZS5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9GcmFtZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9GcmFtZUxvYWRSZXF1ZXN0Lmg+CiAjaW1w
b3J0IDxXZWJDb3JlL0ZyYW1lVmlldy5oPgogI2ltcG9ydCA8V2ViQ29yZS9HcmFwaGljc0NvbnRl
eHQuaD4KICNpbXBvcnQgPFdlYkNvcmUvSFRNTEVsZW1lbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUv
SFRNTEZvcm1FbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0hUVFBIZWFkZXJNYXAuaD4KICNp
bXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgorI2ltcG9ydCA8V2ViQ29yZS9Nb3Vz
ZUV2ZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGFz
dGVib2FyZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9QbHVnaW5EYXRhLmg+CkBAIC0xNzUsNiArMTc5
LDExIEBAIHN0YXRpYyBjb25zdCBjaGFyKiBhbm5vdGF0aW9uU3R5bGUgPQogICAgIC8vIEZJWE1F
OiBJbXBsZW1lbnQuCiB9CiAKKy0gKHZvaWQpcGRmTGF5ZXJDb250cm9sbGVyOihQREZMYXllckNv
bnRyb2xsZXIgKilwZGZMYXllckNvbnRyb2xsZXIgY2xpY2tlZExpbmtXaXRoVVJMOihOU1VSTCAq
KXVybAoreworICAgIF9wZGZQbHVnaW4tPmNsaWNrZWRMaW5rKHVybCk7Cit9CisKIC0gKHZvaWQp
cGRmTGF5ZXJDb250cm9sbGVyOihQREZMYXllckNvbnRyb2xsZXIgKilwZGZMYXllckNvbnRyb2xs
ZXIgZGlkQ2hhbmdlQWN0aXZlQW5ub3RhdGlvbjooUERGQW5ub3RhdGlvbiAqKWFubm90YXRpb24K
IHsKICAgICBfcGRmUGx1Z2luLT5zZXRBY3RpdmVBbm5vdGF0aW9uKGFubm90YXRpb24pOwpAQCAt
NDcxLDYgKzQ4MCw4IEBAIGJvb2wgUERGUGx1Z2luOjpoYW5kbGVNb3VzZUV2ZW50KGNvbnN0IFdl
Yk1vdXNlRXZlbnQmIGV2ZW50KQogewogICAgIHN0YXRpYyBib29sIG1vdXNlQnV0dG9uSXNEb3du
OwogCisgICAgbV9sYXN0TW91c2VFdmVudCA9IGV2ZW50OworCiAgICAgSW50UG9pbnQgbW91c2VQ
b3NpdGlvbiA9IGV2ZW50LnBvc2l0aW9uKCk7CiAKICAgICAvLyBGSVhNRTogRm9yd2FyZCBtb3Vz
ZSBldmVudHMgdG8gdGhlIGFwcHJvcHJpYXRlIHNjcm9sbGJhci4KQEAgLTU4OSw2ICs2MDAsMTcg
QEAgYm9vbCBQREZQbHVnaW46OmhhbmRsZXNQYWdlU2NhbGVGYWN0b3IoKQogICAgIHJldHVybiB3
ZWJGcmFtZSgpLT5pc01haW5GcmFtZSgpOwogfQogCit2b2lkIFBERlBsdWdpbjo6Y2xpY2tlZExp
bmsoTlNVUkwgKnVybCkKK3sKKyAgICBGcmFtZSogZnJhbWUgPSB3ZWJGcmFtZSgpLT5jb3JlRnJh
bWUoKTsKKworICAgIFJlZlB0cjxFdmVudD4gY29yZUV2ZW50OworICAgIGlmIChtX2xhc3RNb3Vz
ZUV2ZW50LnR5cGUoKSAhPSBXZWJFdmVudDo6Tm9UeXBlKQorICAgICAgICBjb3JlRXZlbnQgPSBN
b3VzZUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIGZyYW1lLT5kb2N1bWVu
dCgpLT5kZWZhdWx0VmlldygpLCBwbGF0Zm9ybShtX2xhc3RNb3VzZUV2ZW50KSwgMCwgMCk7CisK
KyAgICBmcmFtZS0+bG9hZGVyKCktPnVybFNlbGVjdGVkKHVybCwgZW1wdHlTdHJpbmcoKSwgY29y
ZUV2ZW50LmdldCgpLCBmYWxzZSwgZmFsc2UsIE1heWJlU2VuZFJlZmVycmVyKTsKK30KKwogdm9p
ZCBQREZQbHVnaW46OnNldEFjdGl2ZUFubm90YXRpb24oUERGQW5ub3RhdGlvbiAqYW5ub3RhdGlv
bikKIHsKICAgICBpZiAoIXN1cHBvcnRzRm9ybXMoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvU2ltcGxlUERGUGx1Z2luLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1NpbXBsZVBERlBsdWdpbi5oCmluZGV4IDZiOGE5
M2UuLjc5OGYwYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9QREYvU2ltcGxlUERGUGx1Z2luLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL1BERi9TaW1wbGVQREZQbHVnaW4uaApAQCAtMTY4LDcgKzE2OCw5IEBAIHByb3RlY3Rl
ZDoKICAgICB2aXJ0dWFsIGJvb2wgaXNFZGl0aW5nQ29tbWFuZEVuYWJsZWQoY29uc3QgU3RyaW5n
JikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGhhbmRsZUVkaXRpbmdDb21tYW5kKGNvbnN0
IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBoYW5k
bGVzUGFnZVNjYWxlRmFjdG9yKCkgT1ZFUlJJREU7Ci0gICAgCisKKyAgICB2aXJ0dWFsIGJvb2wg
c2hvdWxkQWxsb3dTY3JpcHRpbmcoKSBPVkVSUklERSB7IHJldHVybiBmYWxzZTsgfQorCiBwcml2
YXRlOgogCiAgICAgSlNPYmplY3RSZWYgbWFrZUpTUERGRG9jKEpTQ29udGV4dFJlZik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luLmgKaW5kZXggZGVkNTNkMS4uNTRm
OGIzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
bi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uaApAQCAt
MTkzLDYgKzE5Myw5IEBAIHB1YmxpYzoKICAgICAKICAgICAvLyBBc2sgdGhlIHBsdWctaW4gd2hl
dGhlciBpdCB3aWxsIGJlIGFibGUgdG8gaGFuZGxlIHRoZSBnaXZlbiBlZGl0aW5nIGNvbW1hbmQu
CiAgICAgdmlydHVhbCBib29sIGlzRWRpdGluZ0NvbW1hbmRFbmFibGVkKGNvbnN0IFN0cmluZyYp
ID0gMDsKKworICAgIC8vIEFzayB0aGUgcGx1Zy1pbiB3aGV0aGVyIGl0IHNob3VsZCBiZSBhbGxv
d2VkIHRvIGV4ZWN1dGUgSmF2YVNjcmlwdCBvciBuYXZpZ2F0ZSB0byBKYXZhU2NyaXB0IFVSTHMu
CisgICAgdmlydHVhbCBib29sIHNob3VsZEFsbG93U2NyaXB0aW5nKCkgPSAwOwogICAgIAogICAg
IC8vIEFzayB0aGUgcGx1Zy1pbiB3aGV0aGVyIGl0IHdhbnRzIHRvIG92ZXJyaWRlIGZ1bGwtcGFn
ZSB6b29tLgogICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVzUGFnZVNjYWxlRmFjdG9yKCkgPSAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5
LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuaAppbmRl
eCA4MTA0YWYyLi5iMWE4OTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luUHJveHkuaApAQCAtMTAzLDYgKzEwMyw3IEBAIHByaXZhdGU6CiAgICAgdmly
dHVhbCB2b2lkIHNldEZvY3VzKGJvb2wpOwogICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFZGl0aW5n
Q29tbWFuZChjb25zdCBTdHJpbmcmIGNvbW1hbmROYW1lLCBjb25zdCBTdHJpbmcmIGFyZ3VtZW50
KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaXNFZGl0aW5nQ29tbWFuZEVuYWJsZWQoY29u
c3QgU3RyaW5nJiBjb21tYW5kTmFtZSkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIHNob3Vs
ZEFsbG93U2NyaXB0aW5nKCkgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIAogICAgIHZp
cnR1YWwgYm9vbCBoYW5kbGVzUGFnZVNjYWxlRmFjdG9yKCk7CiAgICAgCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKaW5kZXggZTgyNzA0MS4u
OGIwMzYxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdpblZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5WaWV3LmNwcApAQCAtNzg0LDYgKzc4NCwxMSBAQCBib29sIFBsdWdpblZpZXc6OmlzRWRpdGlu
Z0NvbW1hbmRFbmFibGVkKGNvbnN0IFN0cmluZyYgY29tbWFuZE5hbWUpCiAgICAgcmV0dXJuIG1f
cGx1Z2luLT5pc0VkaXRpbmdDb21tYW5kRW5hYmxlZChjb21tYW5kTmFtZSk7CiB9CiAKK2Jvb2wg
UGx1Z2luVmlldzo6c2hvdWxkQWxsb3dTY3JpcHRpbmcoKQoreworICAgIHJldHVybiBtX3BsdWdp
bi0+c2hvdWxkQWxsb3dTY3JpcHRpbmcoKTsKK30KKwogdm9pZCBQbHVnaW5WaWV3Ojpub3RpZnlX
aWRnZXQoV2lkZ2V0Tm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbikKIHsKICAgICBzd2l0Y2ggKG5v
dGlmaWNhdGlvbikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5WaWV3LmgKaW5kZXggMGQwZGZhMy4uNTlmMGY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5oCkBAIC05MCw2ICs5MCw4IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRWRpdGluZ0NvbW1hbmQoY29uc3QgU3RyaW5nJiBjb21t
YW5kTmFtZSwgY29uc3QgU3RyaW5nJiBhcmd1bWVudCk7CiAgICAgdmlydHVhbCBib29sIGlzRWRp
dGluZ0NvbW1hbmRFbmFibGVkKGNvbnN0IFN0cmluZyYgY29tbWFuZE5hbWUpOwogCisgICAgYm9v
bCBzaG91bGRBbGxvd1NjcmlwdGluZygpOworCiBwcml2YXRlOgogICAgIFBsdWdpblZpZXcoUGFz
c1JlZlB0cjxXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudD4sIFBhc3NSZWZQdHI8UGx1Z2luPiwg
Y29uc3QgUGx1Z2luOjpQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKTsKICAgICB2aXJ0dWFsIH5QbHVn
aW5WaWV3KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCmluZGV4IGRkM2U1MDku
LmZiMjM5ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC02Nyw2ICs2
Nyw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUGFnZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z2luRGF0YS5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvUGx1Z2luRG9jdW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Byb2dyZXNzVHJh
Y2tlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VCdWZmZXIuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KQEAgLTE2MzAsNiArMTYzMSwyNyBAQCB2b2lkIFdlYkZy
YW1lTG9hZGVyQ2xpZW50OjpkaWRDaGFuZ2VTY3JvbGxPZmZzZXQoKQogICAgIHdlYlBhZ2UtPmRp
ZENoYW5nZVNjcm9sbE9mZnNldEZvck1haW5GcmFtZSgpOwogfQogCitib29sIFdlYkZyYW1lTG9h
ZGVyQ2xpZW50OjphbGxvd1NjcmlwdChib29sIGVuYWJsZWRQZXJTZXR0aW5ncykKK3sKKyAgICBp
ZiAoIWVuYWJsZWRQZXJTZXR0aW5ncykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgRnJh
bWUqIGNvcmVGcmFtZSA9IG1fZnJhbWUtPmNvcmVGcmFtZSgpOworCisgICAgaWYgKGNvcmVGcmFt
ZS0+ZG9jdW1lbnQoKS0+aXNQbHVnaW5Eb2N1bWVudCgpKSB7CisgICAgICAgIFBsdWdpbkRvY3Vt
ZW50KiBwbHVnaW5Eb2N1bWVudCA9IHN0YXRpY19jYXN0PFBsdWdpbkRvY3VtZW50Kj4oY29yZUZy
YW1lLT5kb2N1bWVudCgpKTsKKworICAgICAgICBpZiAocGx1Z2luRG9jdW1lbnQtPnBsdWdpbldp
ZGdldCgpICYmIHBsdWdpbkRvY3VtZW50LT5wbHVnaW5XaWRnZXQoKS0+aXNQbHVnaW5WaWV3KCkp
IHsKKyAgICAgICAgICAgIFBsdWdpblZpZXcqIHBsdWdpblZpZXcgPSBzdGF0aWNfY2FzdDxQbHVn
aW5WaWV3Kj4ocGx1Z2luRG9jdW1lbnQtPnBsdWdpbldpZGdldCgpKTsKKworICAgICAgICAgICAg
aWYgKHBsdWdpblZpZXcgJiYgIXBsdWdpblZpZXctPnNob3VsZEFsbG93U2NyaXB0aW5nKCkpCisg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0
dXJuIHRydWU7Cit9CisKIGJvb2wgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnNob3VsZEZvcmNlVW5p
dmVyc2FsQWNjZXNzRnJvbUxvY2FsVVJMKGNvbnN0IFdlYkNvcmU6OktVUkwmIHVybCkKIHsKICAg
ICBXZWJQYWdlKiB3ZWJQYWdlID0gbV9mcmFtZS0+cGFnZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5o
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5oCmluZGV4IDU2ZTEyMWYuLjA3N2I3MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVy
Q2xpZW50LmgKQEAgLTIzNSw2ICsyMzUsOCBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCB2b2lk
IGRpZENoYW5nZVNjcm9sbE9mZnNldCgpIE9WRVJSSURFOwogCisgICAgdmlydHVhbCBib29sIGFs
bG93U2NyaXB0KGJvb2wgZW5hYmxlZFBlclNldHRpbmdzKSBPVkVSUklERTsKKwogICAgIHZpcnR1
YWwgYm9vbCBzaG91bGRGb3JjZVVuaXZlcnNhbEFjY2Vzc0Zyb21Mb2NhbFVSTChjb25zdCBXZWJD
b3JlOjpLVVJMJikgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6
RnJhbWVOZXR3b3JraW5nQ29udGV4dD4gY3JlYXRlTmV0d29ya2luZ0NvbnRleHQoKSBPVkVSUklE
RTsK
</data>
<flag name="review"
          id="188021"
          type_id="1"
          status="+"
          setter="ap"
    />
    <flag name="commit-queue"
          id="188046"
          type_id="3"
          status="-"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>173372</attachid>
            <date>2012-11-09 14:39:09 -0800</date>
            <delta_ts>2012-11-09 14:39:09 -0800</delta_ts>
            <desc>pdf with some links in it</desc>
            <filename>links.pdf</filename>
            <type>application/pdf</type>
            <size>27852</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCBvYmoKPDwgL0xlbmd0aCA1IDAgUiAvRmlsdGVyIC9G
bGF0ZURlY29kZSA+PgpzdHJlYW0KeAGdVctu2zAQvPMr5igdTPEhilKOfQBFgAIxqqKHoofAsJu2
kpvYQr+/yyUpKbADpLUOXO5yydnZIf2ELZ6gW3in4HwDU+O0xxccUb09a+zOUPydd2Edm5s47Ea8
6aGkUsqi3wkfgx7OKml822Ljmxb9iKrvtVSU3R/wFYXWVVdpA21urMddSYHiY4lv6G/xvsdWJEj1
/yHazJCwQHJONqbrsKmtuER0d1+Cqiq+7xENHYc0+x1nhyWYsEakl6TM5xKxdOIVDg4lMWdR/KCt
laSjh1JEY589N2zUKKqXjc9hG8o+h9GgSMmiOHEOeXJk3uQhLKVdQ1EMYV46za5jWjNVjIpWv5th
5Q1/cb5DsaQ9XgCdVmmCEU4yL8pApjGdNqw0kGXZ1KzKpnUrWRpBstT8kSyDeOtONhjhujrZA9uU
PYQ4jw84cKeU7Cz/EDRNqNrYwGDMe0Vx6yb1tkELY1IfzUrLt1wN8Xxfxvr+kJS40E85skuOE/Wa
I49TMkAVsydHjkRqkJYI14CuIvXJW02NHaEV4bPaJgeVtThCP4e8PE7mYgVf3FcWqZWVznb6Sq0F
StH/5PtJmCOBliytdNcoolC62qmuZVJp9ipStfL5vHQr19x+yAz2iaY80pNB0iXSrxMo0jtCFNVS
LZwRia6TurYkGGaVSFwckbdVCjnEgJnIfyvMN7I2nX9GpOAHkIjETGSQ1zM5vpq5luDFA64wd8iC
ygKja8iE0ZvCI70GV0bxAqH5YYZujLQLfyOMbqS33s2EZofw9CfAt29JiY5A6PYvFmlOlwplbmRz
dHJlYW0KZW5kb2JqCjUgMCBvYmoKNjAxCmVuZG9iagoyIDAgb2JqCjw8IC9UeXBlIC9QYWdlIC9Q
YXJlbnQgMyAwIFIgL1Jlc291cmNlcyA2IDAgUiAvQ29udGVudHMgNCAwIFIgL01lZGlhQm94IFsw
IDAgNjEyIDc5Ml0KL0Fubm90cyAxMSAwIFIgPj4KZW5kb2JqCjYgMCBvYmoKPDwgL1Byb2NTZXQg
WyAvUERGIC9UZXh0IF0gL0NvbG9yU3BhY2UgPDwgL0NzMiA5IDAgUiAvQ3MxIDcgMCBSID4+IC9G
b250IDw8Ci9UVDIuMCAxMCAwIFIgL1RUMS4wIDggMCBSID4+ID4+CmVuZG9iagoxMSAwIG9iagpb
IDEyIDAgUiAxMyAwIFIgMTQgMCBSIF0KZW5kb2JqCjE1IDAgb2JqCjw8IC9MZW5ndGggMTYgMCBS
IC9OIDMgL0FsdGVybmF0ZSAvRGV2aWNlUkdCIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVh
bQp4AZ2Wd1RT2RaHz703vdASIiAl9Bp6CSDSO0gVBFGJSYBQAoaEJnZEBUYUESlWZFTAAUeHImNF
FAuDgmLXCfIQUMbBUURF5d2MawnvrTXz3pr9x1nf2ee319ln733XugBQ/IIEwnRYAYA0oVgU7uvB
XBITy8T3AhgQAQ5YAcDhZmYER/hEAtT8vT2ZmahIxrP27i6AZLvbLL9QJnPW/3+RIjdDJAYACkXV
Njx+JhflApRTs8UZMv8EyvSVKTKGMTIWoQmirCLjxK9s9qfmK7vJmJcm5KEaWc4ZvDSejLtQ3pol
4aOMBKFcmCXgZ6N8B2W9VEmaAOX3KNPT+JxMADAUmV/M5yahbIkyRRQZ7onyAgAIlMQ5vHIOi/k5
aJ4AeKZn5IoEiUliphHXmGnl6Mhm+vGzU/liMSuUw03hiHhMz/S0DI4wF4Cvb5ZFASVZbZloke2t
HO3tWdbmaPm/2d8eflP9Pch6+1XxJuzPnkGMnlnfbOysL70WAPYkWpsds76VVQC0bQZA5eGsT+8g
APIFALTenPMehmxeksTiDCcLi+zsbHMBn2suK+g3+5+Cb8q/hjn3mcvu+1Y7phc/gSNJFTNlReWm
p6ZLRMzMDA6Xz2T99xD/48A5ac3Jwyycn8AX8YXoVVHolAmEiWi7hTyBWJAuZAqEf9Xhfxg2JwcZ
fp1rFGh1XwB9hTlQuEkHyG89AEMjAyRuP3oCfetbEDEKyL68aK2Rr3OPMnr+5/ofC1yKbuFMQSJT
5vYMj2RyJaIsGaPfhGzBAhKQB3SgCjSBLjACLGANHIAzcAPeIACEgEgQA5YDLkgCaUAEskE+2AAK
QTHYAXaDanAA1IF60AROgjZwBlwEV8ANcAsMgEdACobBSzAB3oFpCILwEBWiQaqQFqQPmULWEBta
CHlDQVA4FAPFQ4mQEJJA+dAmqBgqg6qhQ1A99CN0GroIXYP6oAfQIDQG/QF9hBGYAtNhDdgAtoDZ
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
bedk6OTTd2nvpqeK3qu+P/aB/aH7Y/THkensT/hPlZ+NP3d8CfzyeCZtZubf94Tz+wplbmRzdHJl
YW0KZW5kb2JqCjE2IDAgb2JqCjI2MTIKZW5kb2JqCjkgMCBvYmoKWyAvSUNDQmFzZWQgMTUgMCBS
IF0KZW5kb2JqCjE3IDAgb2JqCjw8IC9MZW5ndGggMTggMCBSIC9OIDMgL0FsdGVybmF0ZSAvRGV2
aWNlUkdCIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4AZ2Wd1RT2RaHz703vdASIiAl
9Bp6CSDSO0gVBFGJSYBQAoaEJnZEBUYUESlWZFTAAUeHImNFFAuDgmLXCfIQUMbBUURF5d2Mawnv
rTXz3pr9x1nf2ee319ln733XugBQ/IIEwnRYAYA0oVgU7uvBXBITy8T3AhgQAQ5YAcDhZmYER/hE
AtT8vT2ZmahIxrP27i6AZLvbLL9QJnPW/3+RIjdDJAYACkXVNjx+JhflApRTs8UZMv8EyvSVKTKG
MTIWoQmirCLjxK9s9qfmK7vJmJcm5KEaWc4ZvDSejLtQ3pol4aOMBKFcmCXgZ6N8B2W9VEmaAOX3
KNPT+JxMADAUmV/M5yahbIkyRRQZ7onyAgAIlMQ5vHIOi/k5aJ4AeKZn5IoEiUliphHXmGnl6Mhm
+vGzU/liMSuUw03hiHhMz/S0DI4wF4Cvb5ZFASVZbZloke2tHO3tWdbmaPm/2d8eflP9Pch6+1Xx
JuzPnkGMnlnfbOysL70WAPYkWpsds76VVQC0bQZA5eGsT+8gAPIFALTenPMehmxeksTiDCcLi+zs
bHMBn2suK+g3+5+Cb8q/hjn3mcvu+1Y7phc/gSNJFTNlReWmp6ZLRMzMDA6Xz2T99xD/48A5ac3J
wyycn8AX8YXoVVHolAmEiWi7hTyBWJAuZAqEf9Xhfxg2JwcZfp1rFGh1XwB9hTlQuEkHyG89AEMj
AyRuP3oCfetbEDEKyL68aK2Rr3OPMnr+5/ofC1yKbuFMQSJT5vYMj2RyJaIsGaPfhGzBAhKQB3Sg
CjSBLjACLGANHIAzcAPeIACEgEgQA5YDLkgCaUAEskE+2AAKQTHYAXaDanAA1IF60AROgjZwBlwE
V8ANcAsMgEdACobBSzAB3oFpCILwEBWiQaqQFqQPmULWEBtaCHlDQVA4FAPFQ4mQEJJA+dAmqBgq
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
jJfT44W/Kf6295XRq59+d/u9Z2LJxPBr0euZP0reqL45+tb2bedk6OTTd2nvpqeK3qu+P/aB/aH7
Y/THkensT/hPlZ+NP3d8CfzyeCZtZubf94Tz+wplbmRzdHJlYW0KZW5kb2JqCjE4IDAgb2JqCjI2
MTIKZW5kb2JqCjcgMCBvYmoKWyAvSUNDQmFzZWQgMTcgMCBSIF0KZW5kb2JqCjMgMCBvYmoKPDwg
L1R5cGUgL1BhZ2VzIC9NZWRpYUJveCBbMCAwIDYxMiA3OTJdIC9Db3VudCAxIC9LaWRzIFsgMiAw
IFIgXSA+PgplbmRvYmoKMTkgMCBvYmoKPDwgL1R5cGUgL0NhdGFsb2cgL1BhZ2VzIDMgMCBSID4+
CmVuZG9iagoxNCAwIG9iago8PCAvQSAyMCAwIFIgL0JvcmRlciBbIDAgMCAwIF0gL1R5cGUgL0Fu
bm90IC9TdWJ0eXBlIC9MaW5rIC9SZWN0IFsxNjIgNzI4LjIgMjE3LjIgNzQyLjZdCj4+CmVuZG9i
agoyMCAwIG9iago8PCAvVHlwZSAvQWN0aW9uIC9TIC9VUkkgL1VSSSAyMSAwIFIgPj4KZW5kb2Jq
CjIxIDAgb2JqCihmaWxlOi8vL1N5c3RlbS9MaWJyYXJ5L0NvcmVTZXJ2aWNlcy9DZXJ0aWZpY2F0
ZSUyMEFzc2lzdGFudC5hcHAvQ29udGVudHMvUmVzb3VyY2VzLzNfQ3JlYXRlQW5kQ29uZmlndXJl
LmJ1bmRsZS9Db250ZW50cy9SZXNvdXJjZXMvaGUubHByb2ovQ0FXZWIuaHRtbCkKZW5kb2JqCjEz
IDAgb2JqCjw8IC9BIDIyIDAgUiAvQm9yZGVyIFsgMCAwIDAgXSAvVHlwZSAvQW5ub3QgL1N1YnR5
cGUgL0xpbmsgL1JlY3QgWzEwMy42IDcyOC4yIDE1OS42IDc0Mi42XQo+PgplbmRvYmoKMjIgMCBv
YmoKPDwgL1R5cGUgL0FjdGlvbiAvUyAvVVJJIC9VUkkgMjMgMCBSID4+CmVuZG9iagoyMyAwIG9i
agooaHR0cDovL3d3dy5nb29nbGUuY29tLykKZW5kb2JqCjEyIDAgb2JqCjw8IC9BIDI0IDAgUiAv
Qm9yZGVyIFsgMCAwIDAgXSAvVHlwZSAvQW5ub3QgL1N1YnR5cGUgL0xpbmsgL1JlY3QgWzI0LjQg
NzI4LjIgMTAxLjIgNzQyLjZdCj4+CmVuZG9iagoyNCAwIG9iago8PCAvVHlwZSAvQWN0aW9uIC9T
IC9VUkkgL1VSSSAyNSAwIFIgPj4KZW5kb2JqCjI1IDAgb2JqCihqYXZhc2NyaXB0OmFsZXJ0XCg1
XCkpCmVuZG9iagoxMCAwIG9iago8PCAvVHlwZSAvRm9udCAvU3VidHlwZSAvVHJ1ZVR5cGUgL0Jh
c2VGb250IC9OV0ZFQ1YrVGltZXMtUm9tYW4gL0ZvbnREZXNjcmlwdG9yCjI2IDAgUiAvRW5jb2Rp
bmcgL01hY1JvbWFuRW5jb2RpbmcgL0ZpcnN0Q2hhciAzMiAvTGFzdENoYXIgMTE4IC9XaWR0aHMg
WyAyNTAKMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDI3OCAwIDAgMCAwIDAgMCAwIDAgMCAw
IDI3OCAwIDAgMCAwIDAgMCAwIDAgMAowIDAgMCAwIDcyMiAwIDM4OSAwIDAgMCAwIDAgNTU2IDAg
MCA1NTYgNjExIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDQ0NCAwCjQ0NCAwIDQ0NCAzMzMgMCAw
IDI3OCAwIDUwMCAyNzggMCA1MDAgMCA1MDAgMCAzMzMgMCAyNzggMCA1MDAgXSA+PgplbmRvYmoK
MjYgMCBvYmoKPDwgL1R5cGUgL0ZvbnREZXNjcmlwdG9yIC9Gb250TmFtZSAvTldGRUNWK1RpbWVz
LVJvbWFuIC9GbGFncyAzMiAvRm9udEJCb3gKWy0yMDMgLTQyOCAxNzAwIDEyNzJdIC9JdGFsaWNB
bmdsZSAwIC9Bc2NlbnQgNzUwIC9EZXNjZW50IC0yNTAgL0NhcEhlaWdodAo2NjIgL1N0ZW1WIDAg
L1hIZWlnaHQgNjYyIC9NYXhXaWR0aCAxNzIxIC9Gb250RmlsZTIgMjcgMCBSID4+CmVuZG9iagoy
NyAwIG9iago8PCAvTGVuZ3RoIDI4IDAgUiAvTGVuZ3RoMSAxMDMxNiAvRmlsdGVyIC9GbGF0ZURl
Y29kZSA+PgpzdHJlYW0KeAG9egt4U1W69lpr72TvJE2apEmT5rp3dq5NmqRNmxLoZbdNCrTcaaEV
C61QbopQwCooCB5RqDpy5HjBwXGYUUfleEgrOEEdh6OojOJl5uiMx+tc8PKoPXr+Aec/QpP/2zsF
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
Ea3FV+7HjupwKP8Bq1apdWz+VV9lRZw66FaaPHqnY+IcfomfURYwqCi3m06tmoiX6SwG8m4vZ1S6
JR5PvscWBtGglP2bzwwlFLyXOlEYfu9LSC8P8Gt4++QvpHPgN2XpN9tuePfthZoYahbff5XSG+uc
xe2ZtkXhrjXrBjdVLVi/buDK/wP4oII/CmVuZHN0cmVhbQplbmRvYmoKMjggMCBvYmoKNzUzMwpl
bmRvYmoKOCAwIG9iago8PCAvVHlwZSAvRm9udCAvU3VidHlwZSAvVHJ1ZVR5cGUgL0Jhc2VGb250
IC9UVVRIQk8rTHVjaWRhR3JhbmRlIC9Gb250RGVzY3JpcHRvcgoyOSAwIFIgL0VuY29kaW5nIC9N
YWNSb21hbkVuY29kaW5nIC9GaXJzdENoYXIgMzIgL0xhc3RDaGFyIDExNiAvV2lkdGhzIFsgMzE2
CjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMzE2IDUyNCAwIDYzMiA2MzIgNjMyIDAgMCAwIDYz
MiAwIDYzMiAzMTYgMCAwIDAKMCAwIDAgMCAwIDAgNzQ5IDAgMCAwIDAgMCAwIDAgMCA4NjEgMCAw
IDU1MyAwIDAgMCAwIDY5MyAwIDAgMCAwIDAgMCAwIDAgMAowIDAgNTUyIDAgMCAwIDU1NyAzNjgg
NjI0IDYyMSAyODkgMCA1ODQgMjg5IDkzNCA2MjEgNjE0IDYyOSAwIDQwOSA1MTAgMzc0Cl0gPj4K
ZW5kb2JqCjI5IDAgb2JqCjw8IC9UeXBlIC9Gb250RGVzY3JpcHRvciAvRm9udE5hbWUgL1RVVEhC
TytMdWNpZGFHcmFuZGUgL0ZsYWdzIDMyIC9Gb250QkJveApbLTEwNjcgLTczNyAxNjQxIDExNjJd
IC9JdGFsaWNBbmdsZSAwIC9Bc2NlbnQgOTY3IC9EZXNjZW50IC0yMTEgL0NhcEhlaWdodAo3MjMg
L1N0ZW1WIDEwMyAvWEhlaWdodCA1MzAgL1N0ZW1IIDc3IC9BdmdXaWR0aCAtNDkwIC9NYXhXaWR0
aCAxNjQwIC9Gb250RmlsZTIKMzAgMCBSID4+CmVuZG9iagozMCAwIG9iago8PCAvTGVuZ3RoIDMx
IDAgUiAvTGVuZ3RoMSAxNTk2NCAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAG9ewl8
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
dHJlYW0KZW5kb2JqCjMxIDAgb2JqCjEwMDMzCmVuZG9iagozMiAwIG9iagooVW50aXRsZWQpCmVu
ZG9iagozMyAwIG9iagooTWFjIE9TIFggMTAuOC4yIFF1YXJ0eiBQREZDb250ZXh0KQplbmRvYmoK
MzQgMCBvYmoKKFRpbSBIb3J0b24pCmVuZG9iagozNSAwIG9iagooKQplbmRvYmoKMzYgMCBvYmoK
KFNhZmFyaSkKZW5kb2JqCjM3IDAgb2JqCihEOjIwMTIxMTA5MjAzNzI2WjAwJzAwJykKZW5kb2Jq
CjM4IDAgb2JqCigpCmVuZG9iagozOSAwIG9iagpbICgpIF0KZW5kb2JqCjEgMCBvYmoKPDwgL1Rp
dGxlIDMyIDAgUiAvQXV0aG9yIDM0IDAgUiAvU3ViamVjdCAzNSAwIFIgL1Byb2R1Y2VyIDMzIDAg
UiAvQ3JlYXRvcgozNiAwIFIgL0NyZWF0aW9uRGF0ZSAzNyAwIFIgL01vZERhdGUgMzcgMCBSIC9L
ZXl3b3JkcyAzOCAwIFIgL0FBUEw6S2V5d29yZHMKMzkgMCBSID4+CmVuZG9iagp4cmVmCjAgNDAK
MDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDI2NzE5IDAwMDAwIG4gCjAwMDAwMDA3MTYgMDAwMDAg
biAKMDAwMDAwNjU0NCAwMDAwMCBuIAowMDAwMDAwMDIyIDAwMDAwIG4gCjAwMDAwMDA2OTcgMDAw
MDAgbiAKMDAwMDAwMDgzNSAwMDAwMCBuIAowMDAwMDA2NTA4IDAwMDAwIG4gCjAwMDAwMTU2ODEg
MDAwMDAgbiAKMDAwMDAwMzczNiAwMDAwMCBuIAowMDAwMDA3NDIxIDAwMDAwIG4gCjAwMDAwMDA5
NTkgMDAwMDAgbiAKMDAwMDAwNzIxNiAwMDAwMCBuIAowMDAwMDA3MDA5IDAwMDAwIG4gCjAwMDAw
MDY2NzcgMDAwMDAgbiAKMDAwMDAwMTAwMCAwMDAwMCBuIAowMDAwMDAzNzE1IDAwMDAwIG4gCjAw
MDAwMDM3NzIgMDAwMDAgbiAKMDAwMDAwNjQ4NyAwMDAwMCBuIAowMDAwMDA2NjI3IDAwMDAwIG4g
CjAwMDAwMDY3ODUgMDAwMDAgbiAKMDAwMDAwNjg0MSAwMDAwMCBuIAowMDAwMDA3MTE5IDAwMDAw
IG4gCjAwMDAwMDcxNzUgMDAwMDAgbiAKMDAwMDAwNzMyNSAwMDAwMCBuIAowMDAwMDA3MzgxIDAw
MDAwIG4gCjAwMDAwMDc4MDkgMDAwMDAgbiAKMDAwMDAwODAzNiAwMDAwMCBuIAowMDAwMDE1NjYw
IDAwMDAwIG4gCjAwMDAwMTYwODEgMDAwMDAgbiAKMDAwMDAxNjMzNyAwMDAwMCBuIAowMDAwMDI2
NDYxIDAwMDAwIG4gCjAwMDAwMjY0ODMgMDAwMDAgbiAKMDAwMDAyNjUxMCAwMDAwMCBuIAowMDAw
MDI2NTYyIDAwMDAwIG4gCjAwMDAwMjY1OTEgMDAwMDAgbiAKMDAwMDAyNjYxMCAwMDAwMCBuIAow
MDAwMDI2NjM1IDAwMDAwIG4gCjAwMDAwMjY2NzcgMDAwMDAgbiAKMDAwMDAyNjY5NiAwMDAwMCBu
IAp0cmFpbGVyCjw8IC9TaXplIDQwIC9Sb290IDE5IDAgUiAvSW5mbyAxIDAgUiAvSUQgWyA8N2Zl
MDhlOWVkM2ZiM2M0ODA3YmUxZDVlMDU0N2VkOWY+Cjw3ZmUwOGU5ZWQzZmIzYzQ4MDdiZTFkNWUw
NTQ3ZWQ5Zj4gXSA+PgpzdGFydHhyZWYKMjY4OTQKJSVFT0YK
</data>

          </attachment>
      

    </bug>

</bugzilla>