<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/source/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in lldb-dap.cpp</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>873426bea3dd67d80dd10650e64e91c69796614f - [lldb-dap] Ensure the IO forwarding threads are managed by the DAP object lifecycle. (#122783)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp#873426bea3dd67d80dd10650e64e91c69796614f</link>
        <description>[lldb-dap] Ensure the IO forwarding threads are managed by the DAP object lifecycle. (#122783)This moves the ownership of the threads that forward stdout/stderr tothe DAP object itself to ensure that the threads are joined and that theforwarding is cleaned up when the DAP connection is disconnected.This is part of a larger refactor to allow lldb-dap to run in alistening mode and accept multiple connections.This reverts the previous revert and now that the underlying Windowsissue was fixed by 3ea2b546a8d17014d3ecf05356ecfaadf26ed846.

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp</description>
        <pubDate>Mon, 27 Jan 2025 16:58:50 +0000</pubDate>
        <dc:creator>John Harrison &lt;harjohn@google.com&gt;</dc:creator>
    </item>
<item>
        <title>b9813ceb95a81506b0bdedfae5e7b4b9f4d9c6bc - [LLDB][LLDB-DAP] Wire up DAP to listen to external progress events (#123826)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp#b9813ceb95a81506b0bdedfae5e7b4b9f4d9c6bc</link>
        <description>[LLDB][LLDB-DAP] Wire up DAP to listen to external progress events (#123826)Recently I added SBProgress (#119052), and during that original commit Itested if the progress event was sent over LLDB-DAP, and it was. Howeverupon the suggestion of @JDevlieghere and @labath we added an externalcategory (#120171), which I did not test.This small patch wires up DAP to listen for external events by default,and adds the external category to the SBDebugger enumeration.

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp</description>
        <pubDate>Wed, 22 Jan 2025 00:54:53 +0000</pubDate>
        <dc:creator>Jacob Lalonde &lt;jalalonde@fb.com&gt;</dc:creator>
    </item>
<item>
        <title>81898ac00e04ed3f352534a810829bdf4e6e14b7 - Revert &quot;[lldb-dap] Ensure the IO forwarding threads are managed by the DAP object lifecycle. (#120457)&quot;</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp#81898ac00e04ed3f352534a810829bdf4e6e14b7</link>
        <description>Revert &quot;[lldb-dap] Ensure the IO forwarding threads are managed by the DAP object lifecycle. (#120457)&quot;This reverts commit 0d9cf2671e06c9124a0b5fc753330c39c8b4a791. Breaks thelldb-aarch64-windows buildbot.

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp</description>
        <pubDate>Wed, 08 Jan 2025 14:49:46 +0000</pubDate>
        <dc:creator>Benjamin Kramer &lt;benny.kra@googlemail.com&gt;</dc:creator>
    </item>
<item>
        <title>0d9cf2671e06c9124a0b5fc753330c39c8b4a791 - [lldb-dap] Ensure the IO forwarding threads are managed by the DAP object lifecycle. (#120457)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp#0d9cf2671e06c9124a0b5fc753330c39c8b4a791</link>
        <description>[lldb-dap] Ensure the IO forwarding threads are managed by the DAP object lifecycle. (#120457)This moves the ownership of the threads that forward stdout/stderr tothe DAP object itself to ensure that the threads are joined and that theforwarding is cleaned up when the DAP connection is disconnected.This is part of a larger refactor to allow lldb-dap to run in alistening mode and accept multiple connections.---------Co-authored-by: Pavel Labath &lt;pavel@labath.sk&gt;

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp</description>
        <pubDate>Tue, 07 Jan 2025 17:01:34 +0000</pubDate>
        <dc:creator>John Harrison &lt;harjohn@google.com&gt;</dc:creator>
    </item>
<item>
        <title>dd647e3e608ed0b2bac7c588d5859b80ef4a5976 - Rework the `Option` library to reduce dynamic relocations (#119198)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp#dd647e3e608ed0b2bac7c588d5859b80ef4a5976</link>
        <description>Rework the `Option` library to reduce dynamic relocations (#119198)Apologies for the large change, I looked for ways to break this up andall of the ones I saw added real complexity. This change focuses on theoption&apos;s prefixed names and the array of prefixes. These are present inevery option and the dominant source of dynamic relocations for PIE orPIC users of LLVM and Clang tooling. In some cases, 100s or 1000s ofthem for the Clang driver which has a huge number of options.This PR addresses this by building a string table and a prefixes tablethat can be referenced with indices rather than pointers that requiredynamic relocations. This removes almost 7k dynmaic relocations from the`clang` binary, roughly 8% of the remaining dynmaic relocations outsideof vtables. For busy-boxing use cases where many different option tablesare linked into the same binary, the savings add up a bit more.The string table is a straightforward mechanism, but the prefixesrequired some subtlety. They are encoded in a Pascal-string fashion witha size followed by a sequence of offsets. This works relatively well forthe small realistic prefixes arrays in use.Lots of code has to change in order to land this though: both all theoption library code has to be updated to use the string table andprefixes table, and all the users of the options library have to beupdated to correctly instantiate the objects.Some follow-up patches in the works to provide an abstraction for thisstyle of code, and to start using the same technique for some of theother strings here now that the infrastructure is in place.

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp</description>
        <pubDate>Wed, 11 Dec 2024 23:44:44 +0000</pubDate>
        <dc:creator>Chandler Carruth &lt;chandlerc@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>ceeb08b9e0a51a4d2e0804baeb579fe8a6485885 - Revert &quot;[lldb-dap] Support column breakpoints (#113787)&quot;</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp#ceeb08b9e0a51a4d2e0804baeb579fe8a6485885</link>
        <description>Revert &quot;[lldb-dap] Support column breakpoints (#113787)&quot;This reverts commit 4f48a81a620bc9280be4780f3554cdc9bda55bd3.The newly added test was failing on the public macOS Arm64 bots:```======================================================================FAIL: test_column_breakpoints (TestDAP_breakpointLocations.TestDAP_setBreakpoints)   Test retrieving the available breakpoint locations.----------------------------------------------------------------------Traceback (most recent call last):  File &quot;/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_breakpointLocations.py&quot;, line 77, in test_column_breakpoints    self.assertEqual(AssertionError: Lists differ: [{&apos;co[70 chars]e&apos;: 41}, {&apos;column&apos;: 3, &apos;line&apos;: 42}, {&apos;column&apos;: 18, &apos;line&apos;: 42}] != [{&apos;co[70 chars]e&apos;: 42}, {&apos;column&apos;: 18, &apos;line&apos;: 42}]First differing element 2:{&apos;column&apos;: 3, &apos;line&apos;: 41}{&apos;column&apos;: 3, &apos;line&apos;: 42}First list contains 1 additional elements.First extra element 4:{&apos;column&apos;: 18, &apos;line&apos;: 42}  [{&apos;column&apos;: 39, &apos;line&apos;: 40},   {&apos;column&apos;: 51, &apos;line&apos;: 40},-  {&apos;column&apos;: 3, &apos;line&apos;: 41},   {&apos;column&apos;: 3, &apos;line&apos;: 42},   {&apos;column&apos;: 18, &apos;line&apos;: 42}]Config=arm64-/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/bin/clang----------------------------------------------------------------------Ran 1 test in 1.554sFAILED (failures=1)```

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp</description>
        <pubDate>Mon, 18 Nov 2024 16:14:38 +0000</pubDate>
        <dc:creator>Michael Buch &lt;michaelbuch12@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>4f48a81a620bc9280be4780f3554cdc9bda55bd3 - [lldb-dap] Support column breakpoints (#113787)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp#4f48a81a620bc9280be4780f3554cdc9bda55bd3</link>
        <description>[lldb-dap] Support column breakpoints (#113787)This commit adds support for column breakpoints to lldb-dap.To do so, support for the `breakpointLocations` request wasadded. To find all available breakpoint positions, we iterate overthe line table.The `setBreakpoints` request already forwarded the column correctly to`SBTarget::BreakpointCreateByLocation`. However, `SourceBreakpointMap`did not keep track of multiple breakpoints in the same line. To do so,the `SourceBreakpointMap` is now indexed by line+column instead of byline only.See http://jonasdevlieghere.com/post/lldb-column-breakpoints/ for ahigh-level introduction to column breakpoints.

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp</description>
        <pubDate>Sat, 16 Nov 2024 18:01:12 +0000</pubDate>
        <dc:creator>Adrian Vogelsgesang &lt;avogelsgesang@salesforce.com&gt;</dc:creator>
    </item>
<item>
        <title>3121f7522a0dc1463362cb6c11243d4352d4c857 - [lldb-dap] Refactor lldb-dap.cpp to not use global DAP variable. (#116272)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp#3121f7522a0dc1463362cb6c11243d4352d4c857</link>
        <description>[lldb-dap] Refactor lldb-dap.cpp to not use global DAP variable. (#116272)This removes the global DAP variable and instead allocates a DAPinstance in main. This should allow us to refactor lldb-dap to enable aserver mode that accepts multiple connections.

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp</description>
        <pubDate>Fri, 15 Nov 2024 00:10:04 +0000</pubDate>
        <dc:creator>John Harrison &lt;harjohn@google.com&gt;</dc:creator>
    </item>
<item>
        <title>a6d299ddb9398e4641b23ce5c549ca5285dd2ef2 - [lldb-dap] Refactor lldb-dap/DAP.{h,cpp} to use its own instance instead of the global instance. (#115948)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp#a6d299ddb9398e4641b23ce5c549ca5285dd2ef2</link>
        <description>[lldb-dap] Refactor lldb-dap/DAP.{h,cpp} to use its own instance instead of the global instance. (#115948)The refactor will unblock us for creating multiple DAP instances.

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp</description>
        <pubDate>Wed, 13 Nov 2024 19:17:50 +0000</pubDate>
        <dc:creator>John Harrison &lt;harjohn@google.com&gt;</dc:creator>
    </item>
<item>
        <title>e5ba11727437456fbab7ce733c07843bf682fa0c - [lldb-dap] Remove `g_dap` references from lldb-dap/LLDBUtils. (#115933)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp#e5ba11727437456fbab7ce733c07843bf682fa0c</link>
        <description>[lldb-dap] Remove `g_dap` references from lldb-dap/LLDBUtils. (#115933)This refactor removes g_dap references from lldb-dap/LLDBUtils.{h,cpp}to allow us to create more than one g_dap instance in the future.

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp</description>
        <pubDate>Tue, 12 Nov 2024 21:19:17 +0000</pubDate>
        <dc:creator>John Harrison &lt;harjohn@google.com&gt;</dc:creator>
    </item>
<item>
        <title>faaf2dbf6d2c080d817c4dfe9f888e456418bc2e - [lldb-dap] Refactoring JSONUtils to not use `g_dap` and instead passing in required arguments. (#115561)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp#faaf2dbf6d2c080d817c4dfe9f888e456418bc2e</link>
        <description>[lldb-dap] Refactoring JSONUtils to not use `g_dap` and instead passing in required arguments. (#115561)This is part of a larger refactor to remove the global `g_dap` variable.

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp</description>
        <pubDate>Tue, 12 Nov 2024 17:15:58 +0000</pubDate>
        <dc:creator>John Harrison &lt;harjohn@google.com&gt;</dc:creator>
    </item>
<item>
        <title>b99d4112585302cbd01f9b851a04adc6e4fb5218 - [lldb-dap] Refactoring breakpoints to not use the `g_dap` reference. (#115208)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp#b99d4112585302cbd01f9b851a04adc6e4fb5218</link>
        <description>[lldb-dap] Refactoring breakpoints to not use the `g_dap` reference. (#115208)Refactoring breakpoints to not use the `g_dap` reference.Instead, when a breakpoint is constructed it will be passed a DAPreference that it should use for its lifetime.This is part of a larger refactor to remove the global `g_dap` variableto allow us to create multiple DAP instances.---------Co-authored-by: Pavel Labath &lt;pavel@labath.sk&gt;

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp</description>
        <pubDate>Fri, 08 Nov 2024 21:36:25 +0000</pubDate>
        <dc:creator>John Harrison &lt;harjohn@google.com&gt;</dc:creator>
    </item>
<item>
        <title>09c258ef6a2fcca2161488b214d53ef39891fa22 - [NFC][lldb-dap] Clean-up includes (#113839)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp#09c258ef6a2fcca2161488b214d53ef39891fa22</link>
        <description>[NFC][lldb-dap] Clean-up includes (#113839)This commit cleans up the includes in the `lldb-dap` subfolder. The mainmotivation was that I got annoyed by `clangd` always complaining aboutunused includes while working on lldb-dap.

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp</description>
        <pubDate>Mon, 28 Oct 2024 10:01:57 +0000</pubDate>
        <dc:creator>Adrian Vogelsgesang &lt;avogelsgesang@salesforce.com&gt;</dc:creator>
    </item>
<item>
        <title>c5c11f340436a88cfc2165f2dcd64e4d63285068 - [lldb-dap] Creating an API for sending dap events from a script in lldb-dap. (#112384)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp#c5c11f340436a88cfc2165f2dcd64e4d63285068</link>
        <description>[lldb-dap] Creating an API for sending dap events from a script in lldb-dap. (#112384)Custom DAP events can be detected usinghttps://code.visualstudio.com/api/references/vscode-api#debug.onDidReceiveDebugSessionCustomEvent.This API allows an lldb python script to send events to the DAPclient to allow extensions to handle these custom events.

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp</description>
        <pubDate>Thu, 17 Oct 2024 00:19:51 +0000</pubDate>
        <dc:creator>John Harrison &lt;harjohn@google.com&gt;</dc:creator>
    </item>
<item>
        <title>224f62de9e34d537b1fd282b47b773b04bea34f1 - [lldb-dap] Improving the naming consistency of startDebugging reverse request. (#112396)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp#224f62de9e34d537b1fd282b47b773b04bea34f1</link>
        <description>[lldb-dap] Improving the naming consistency of startDebugging reverse request. (#112396)Adjusting the name from `lldb-dap startDebugging` to `lldb-dapstart-debugging` to improve consistency with other names for commands inlldb/lldb-dap.

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp</description>
        <pubDate>Tue, 15 Oct 2024 19:19:21 +0000</pubDate>
        <dc:creator>John Harrison &lt;harjohn@google.com&gt;</dc:creator>
    </item>
<item>
        <title>9f8ae7844dee7bb5527a59249e74885fb3bfb4a9 - [lldb-dap] Implement value locations for function pointers (#104589)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp#9f8ae7844dee7bb5527a59249e74885fb3bfb4a9</link>
        <description>[lldb-dap] Implement value locations for function pointers (#104589)This commit adds `valueLocationReference` to function pointers andfunction references. Thereby, users can navigate directly to thepointed-to function from within the &quot;variables&quot; pane.In general, it would be useful to also a add similar location referencesalso to member function pointers, `std::source_location`,`std::function`, and many more. Doing so would require extending theformatters to provide such a source code location.There were two RFCs about this a while ago:https://discourse.llvm.org/t/rfc-extending-formatters-with-a-source-code-reference/68375https://discourse.llvm.org/t/rfc-sbvalue-metadata-provider/68377/26However, both RFCs ended without a conclusion. As such, this commit nowimplements the lowest-hanging fruit, i.e. function pointers. If peoplefind it useful, I will revive the RFC afterwards.

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp</description>
        <pubDate>Fri, 11 Oct 2024 01:31:26 +0000</pubDate>
        <dc:creator>Adrian Vogelsgesang &lt;avogelsgesang@salesforce.com&gt;</dc:creator>
    </item>
<item>
        <title>d4c17891126a79ae49237a7de0f9948aeedcd177 - Make env and source map dictionaries #95137 (#106919)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp#d4c17891126a79ae49237a7de0f9948aeedcd177</link>
        <description>Make env and source map dictionaries #95137 (#106919)Fixes #95137

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp</description>
        <pubDate>Mon, 07 Oct 2024 16:38:36 +0000</pubDate>
        <dc:creator>Da-Viper &lt;57949090+Da-Viper@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>e7a43ca84fabeab386ba4d402167244dac27b265 - [lldb-dap] Fix a warning</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp#e7a43ca84fabeab386ba4d402167244dac27b265</link>
        <description>[lldb-dap] Fix a warningThis patch fixes:  lldb/tools/lldb-dap/lldb-dap.cpp:1405:16: error: comparison of  integers of different signs: &apos;int64_t&apos; (aka &apos;long&apos;) and &apos;size_type&apos;  (aka &apos;unsigned long&apos;) [-Werror,-Wsign-compare]

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp</description>
        <pubDate>Thu, 03 Oct 2024 02:20:37 +0000</pubDate>
        <dc:creator>Kazu Hirata &lt;kazu@google.com&gt;</dc:creator>
    </item>
<item>
        <title>a5876bef61e44453b915e1f79366ca1bbfdba371 - [lldb-dap] Correct auto-completion based on ReplMode and escape char (#110784)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp#a5876bef61e44453b915e1f79366ca1bbfdba371</link>
        <description>[lldb-dap] Correct auto-completion based on ReplMode and escape char (#110784)This commit improves the auto-completion in the Debug Console providedby VS-Code.So far, we were always suggesting completions for both LLDB commands andfor variables / expressions, even if the heuristic already determinedhow the given string will be executed, e.g., because the user explicitlytyped the escape prefix. Furthermore, auto-completion after the escapecharacter was broken, since the offsets were not adjusted correctly.With this commit we now correctly take this into account.Even with this commit, auto-completion does not always work reliably:* VS Code only requests auto-completion after typing the firstalphabetic character, but not after punctuation characters. This meansthat no completions are provided after typing &quot;`&quot;* LLDB does not provide autocompletions if a string is an exact match.This means if a user types `l` (which is a valid command), LLDB will notprovide &quot;language&quot; and &quot;log&quot; as potential completions. Even worse, VSCode caches the completion and does client-side filtering. Hence, evenafter typing `la`, no auto-completion for &quot;language&quot; is shown in the UI.Those issues might be fixed in follow-up commits. Also with those knownissues, the experience is already much better with this commit.Furthermore, I updated the README since I noticed that it was slightlyinaccurate.

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp</description>
        <pubDate>Thu, 03 Oct 2024 00:50:46 +0000</pubDate>
        <dc:creator>Adrian Vogelsgesang &lt;avogelsgesang@salesforce.com&gt;</dc:creator>
    </item>
<item>
        <title>26e0b5077236064d9ab0548e049dffce4d476c06 - [lldb][lldb-dap] Fix compilation error on 32 bit platforms</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp#26e0b5077236064d9ab0548e049dffce4d476c06</link>
        <description>[lldb][lldb-dap] Fix compilation error on 32 bit platformshttps://github.com/llvm/llvm-project/pull/109485 tried to std::minbetween size_t and uint64_t. size_t on 32 bit is 32 bits.https://lab.llvm.org/buildbot/#/builders/18/builds/4430/steps/4/logs/stdioExplicitly select the size_t template to fix this.This will truncate one of the arguments but that&apos;s the count_requested.If you&apos;re debugging from a 32 bit host and you asked it to read&gt; 32 bit range of memory from a 64 bit target, you weren&apos;t goingto have any success anyway.The final result needs to be size_t to resize the vector with.

            List of files:
            /llvm-project/lldb/tools/lldb-vscode/lldb-dap.cpp</description>
        <pubDate>Wed, 25 Sep 2024 14:21:48 +0000</pubDate>
        <dc:creator>David Spickett &lt;david.spickett@linaro.org&gt;</dc:creator>
    </item>
</channel>
</rss>
