<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-zl-agents-networking-architecture-00" category="info" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="Agents Networking Architecture">Agents Networking Architecture for Enterprise and Broadband</title>
    <seriesInfo name="Internet-Draft" value="draft-zl-agents-networking-architecture-00"/>
    <author initials="L." surname="Zhang" fullname="Li Zhang">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>No. 156 Beiqing Road</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhangli344@huawei.com</email>
      </address>
    </author>
    <author initials="B." surname="Liu" fullname="Bing Liu">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>No. 156 Beiqing Road</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>leo.liubing@huawei.com</email>
      </address>
    </author>
    <author initials="N." surname="Geng" fullname="Nan Geng">
      <organization>Huawei</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>gengnan@huawei.com</email>
      </address>
    </author>
    <author initials="Z." surname="Wang" fullname="ZiHang Wang">
      <organization>Independent</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>1639283202@qq.com</email>
      </address>
    </author>
    <date year="2025" month="October" day="20"/>
    <area>internet</area>
    <workgroup>network working group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 60?>

<t>This document introduces agents networking architecture and defines the core components of agent networking, as well as typical interactions among these key components.</t>
    </abstract>
  </front>
  <middle>
    <?line 64?>

<section anchor="intro">
      <name>Introduction</name>
      <t>With the rapid development of artificial intelligence, single-agent systems have gradually revealed their limitations in handling complex, multi-task, and cross-domain scenarios. Agent networking, as a core paradigm for breaking through individual capabilities and achieving collective intelligence, has become a key trend in the future development of agents.</t>
      <t>This document introduces agents networking architecture and defines the core components of agent networking, as well as typical interactions among these key components.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
    </section>
    <section anchor="ioa-architecture-and-components">
      <name>IoA architecture and Components</name>
      <section anchor="overview-of-agents-networking">
        <name>Overview of Agents Networking</name>
        <t>The overall architecture of agents networking is shown in <xref target="ref-to-fig1"/>.</t>
        <figure anchor="ref-to-fig1">
          <name>Agents Networking architecture</name>
          <artwork><![CDATA[
    +-----+         +-----+         |       +-----+          +-----+
    |ACA 1|         | ARS1|-----------------| ARS2|          |ACA 2|
    +--+--+         +--+--+         |       +--+--+          +--+--+
       |               |            |          |                |
       +---+-----------+----+       |       +--+------------+---+
           |                |       |       |               |   
       +---+---+        +---+---+   |   +---+---+       +---+---+
       |       |        |       |   |   |       |       |       |
       |Agent a|--------|Agent b|   |   |Agent x|-------|Agent y|
       |       |        |       |   |   |       |       |       |
       +---+---+        +---+---+   |   +---+---+       +---+---+
           |                |       |       |               |
           |            +---+---+   |   +---+---+           |
           +------------| AGw 1 |-------| AGw 2 |-----------+
                        +---+---+   |   +---+---+
            Domain1                 |               Domain2
]]></artwork>
        </figure>
        <t>The architecture of agents networking consists of four key components, the Agent Certificate Authority(ACA), the Agent Registration Server(ARS), the Agents, and the Agent Gateway(AGw).</t>
      </section>
      <section anchor="agent-certificate-authority">
        <name>Agent Certificate Authority</name>
        <t>An Agent Certificate Authority (ACA) is essentially a trusted third-party organization that issues and manages digital certificates for intelligent agents (Agents). Its core function is to ensure the authenticity of Agent identities and the security of their interactions. By issuing digital certificates that contain key data such as Agent identity information and public keys, it enables other Agents or systems to verify the identity of the Agent, preventing the access of counterfeit or malicious Agents.</t>
        <t>The major functions of ACA include Certificate Issuance and Certificate Management.</t>
        <ul spacing="normal">
          <li>
            <t>Certificate Issuance: It verifies the real identity of an Agent (including developer information, affiliated organization, functional permissions, etc.). After verification, a unique digital certificate is generated and issued.</t>
          </li>
          <li>
            <t>Certificate Management: It is responsible for the full-lifecycle management of certificates, including certificate renewal (renewal before the expiration of validity period) and revocation (when an Agent is deregistered or its key is leaked).</t>
          </li>
        </ul>
      </section>
      <section anchor="agent-registration-server">
        <name>Agent Registration Server</name>
        <t>An Agent Registration Server(ARS) is specifically responsible for Agent identity registration, capability profiling, and accurate discovery-matching. Acting as the "identity management center" and "resource directory library" in the Agent ecosystem. The major functions of ARS include agent registration, agent information management, and agent discovery. The ARS can be either centralized or distributed, but regardless of the form, information synchronization between different servers is essential. For easily deployment, the ARS also can be integrities in the AGw.</t>
        <ul spacing="normal">
          <li>
            <t>Agent registration: The agent sends a registration request with its information, upon the verification is passed, then the ARS generates a unique "resource ID" for the Agent, creates a profile in the "Agent Database" to record all the agent information.</t>
          </li>
          <li>
            <t>Information management: It is responsible for the full-lifecycle management of Agents profiles, including update (when a gent's information changes) and delete (when an Agent is discarded).</t>
          </li>
          <li>
            <t>Agent Discovery: The ARS maintains a dynamically updated "Agent Database" that records key information of all Agents registered at this ARS and synchronized from other ARSs. An agent needs collaboration just need to send a capability request to the ARS, then the ARS will quickly filter out matching target Agents and return them information to the requested agent.</t>
          </li>
        </ul>
      </section>
      <section anchor="ai-agents">
        <name>AI Agents</name>
        <t>The functions that should be supported for AI Agent interconnection include task orchestration, task management, and session management.</t>
        <ul spacing="normal">
          <li>
            <t>Task orchestration: It breaks down complex tasks into subtasks, assigns them to Agents with corresponding capabilities, and clarifies the collaboration process. Based on the capabilities of each Agent (e.g., a Flight Agent specializes in ticket booking, a Visa Agent specializes in visa processing), it plans the execution sequence and dependency relationships of tasks to ensure efficient resource utilization.</t>
          </li>
          <li>
            <t>Task Management: It tracks subtask progress, handles exceptions, and ensures the overall task progresses as planned. It monitors the execution status of each subtask (e.g., "pending," "in progress," "completed," "failed"), records task output results (such as flight confirmation numbers and visa documents), and addresses issues during execution.</t>
          </li>
          <li>
            <t>Session Management: It maintains the continuity and integrity of interactive sessions, ensuring historical information is traceable and context is not disconnected. It manages the lifecycle of conversations between Agents, records all interactive content (e.g., instructions, feedback, problem discussions), and provides contextual support for subsequent interactions to avoid repeated communication.</t>
          </li>
        </ul>
      </section>
      <section anchor="agent-gateway">
        <name>Agent Gateway</name>
        <t>An AGw essentially serves as a "Connection Hub" and "Security Steward" in the process of agent communication. Its core role is to resolve interconnection issues between different Agents of different domains while ensuring secure, efficient, and orderly communication. The AGw should support the following functions:</t>
        <ul spacing="normal">
          <li>
            <t>Route Management: When it comes to cross-domain agent communication, an agent or AGw may not be able to directly establish a connection with another agent in a different domain for some reasons. In such cases, the AGw needs to have routing management function. The routing management function generates dynamic routing entries based on Agent information advertised by other AGws, and guides message forwarding between cross-domain Agents—essentially acting as a "cross-domain traffic commander" for the Agent ecosystem.</t>
          </li>
          <li>
            <t>Security Protection: Agent communication may involve sensitive data (such as user privacy, core business data), and malicious external Agents may attempt to forge identities, steal data, or launch attacks. The AGw serves as a core barrier for security protection. The AGw should supports the identity verification of Agents, data encryption, and access control for agents.</t>
          </li>
          <li>
            <t>Traffic Control: If multiple Agents simultaneously send discovery requests to the AGw, or concentrate on initiating collaboration requests after finding target Agents, the AGw may become overloaded or the target Agents may crash. The AGw should impose traffic limits on discovery requests. For example, it sets a cap on the number of discovery queries per Agent per minute to prevent malicious Agents from occupying resources with frequent queries.</t>
          </li>
          <li>
            <t>Dual Translation (Protocol and Language): Agents may face two key obstacles to direct communication: inconsistent technical protocols and different natural language expressions. The AGw's translation function addresses both issues simultaneously to ensure seamless information transmission. On the one hand, it automatically identifies the communication protocol (e.g., HTTP, MQTT, gRPC, or custom protocols) and data format (e.g., JSON, Protobuf) used by the sending Agent, then converts them into the standard protocol/format supported by the receiving Agent. On the other hand, it handles natural language differences between Agents (e.g., Agent X uses English to send "Book a twin room" while Agent Y only understands Chinese). The AGw automatically translates the content into the target language, ensuring the receiving Agent accurately grasps the semantic intent without additional language adaptation.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="interactions-of-agents-networking-architecture">
      <name>Interactions of Agents Networking Architecture</name>
      <section anchor="interactions-between-agents-and-acas">
        <name>Interactions between Agents and ACAs</name>
        <section anchor="certificate-application">
          <name>Certificate Application</name>
          <t>This is the most fundamental first interaction between an agent and an ACA. Its purpose is to enable the Agent to pass the ACA's verification and obtain a digital certificate that proves its legitimacy. It includes three steps:</t>
          <ul spacing="normal">
            <li>
              <t>Application request: The Agent sends a certificate application to the CA, along with key supporting materials. These materials include identity-verifying information (such as the qualification documents of its affiliated organization, the identity of its developer), the Agent's own attributes (such as function type, permission scope, skills), and a public key for subsequent encrypted communication (the Agent retains the corresponding private key and does not disclose it to external parties).</t>
            </li>
            <li>
              <t>Application verification: After receiving the application, the ACA checks the authenticity and compliance of the materials. For example, it verifies whether the organization's qualifications are valid, whether the public key meets encryption standards, and whether the Agent's functions fall within permitted scopes. If no issues are identified, the application is approved.</t>
            </li>
            <li>
              <t>Certificate generation: Upon approval, the ACA generates a digital certificate containing specific information. This information includes the Agent's identity details, public key, certificate validity period, and the ACA's digital signature (used to prove the certificate is legally issued by the CA). The CA then sends this certificate to the applying Agent.</t>
            </li>
          </ul>
        </section>
        <section anchor="certificate-management">
          <name>Certificate Management</name>
          <t>A certificate is not permanently valid. The Agent must cooperate with the ACA to complete operations such as renewal and revocation, ensuring the "digital identity" remains valid and secure.</t>
          <ul spacing="normal">
            <li>
              <t>Certificate status query: The Agent can send a query request to the ACA at any time to confirm the current status of its certificate—such as whether it is still within the validity period or has been revoked due to abnormal circumstances. This allows the Agent to identify and resolve certificate-related issues promptly (e.g., applying to the CA for recovery if the certificate was incorrectly revoked).</t>
            </li>
            <li>
              <t>Certificate renewal: When the certificate is about to expire, the Agent proactively sends a renewal request to the ACA, along with the soon-to-expire old certificate. If its identity information (such as affiliated organization, permissions) has not changed, the application materials can be simplified. After the ACA approves the request, it generates a new certificate with an updated validity period and sends it to the Agent. The Agent replaces the old certificate with the new one to ensure the identity credential remains valid.</t>
            </li>
            <li>
              <t>Certificate revocation application: If the Agent experiences issues such as private key leakage, permanent deactivation of functions, or deregistration of its affiliated organization, the Agent (or its administrator) sends a certificate revocation request to the ACA to invalidate the currently held certificate. After confirming the request's legitimacy, the ACA adds the certificate to the "Certificate Revocation List (CRL)" to prevent the invalid certificate from being misused by others.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="interactions-between-agents-and-arss">
        <name>Interactions between Agents and ARSs</name>
        <section anchor="registration">
          <name>Registration</name>
          <t>An Agent must first complete registration with the ARS before it can be discovered by other Agents and participate in collaboration. This is the foundational interaction between the two parties. It includes three steps:</t>
          <ul spacing="normal">
            <li>
              <t>Registration request: The Agent sends a registration request to the ARS, accompanied by its information. This includes its identifier (e.g., Agent name), description of core capabilities (e.g., "hotel booking," "data format conversion"), supported communication protocols/languages (e.g., HTTP, Chinese), and credentials for identity verification (e.g., a digital certificate issued by an ACA).</t>
            </li>
            <li>
              <t>Registration verification: The ARS verifies the legitimacy of the Agent's identity (e.g., checking if the CA certificate is valid) and confirms the completeness of the registration information. Upon successful verification, the ARS creates a profile for the Agent in its "Agent Database," recording key data such as the Agent's capabilities, online status, and communication address to complete the registration.</t>
            </li>
            <li>
              <t>Registration response: The ARS feeds back results ("registration successful" or "registration failed," e.g., due to failed identity verification or missing information) to the Agent.</t>
            </li>
          </ul>
        </section>
        <section anchor="information-management">
          <name>Information management</name>
          <t>After registration, the Agent needs to continuously interact with the ARS to update its status and information, preventing the ARS's profile from becoming "outdated" and causing other Agents to match invalid resources.</t>
          <ul spacing="normal">
            <li>
              <t>Information update: If an Agent upgrades its capabilities or changes its communication address (e.g., IP change due to server migration), it needs to proactively send an "information update request" to the ARS with the updated content. After review, the ARS updates the corresponding profile information to ensure the accuracy of subsequent query results.</t>
            </li>
            <li>
              <t>Agent deregistration: When the Agent needs to go offline permanently (e.g., function deactivation, dissolution of the affiliated entity), it sends a "deregistration request" to the ARS with the resource ID. Upon receipt, the ARS marks the Agent's profile as "deregistered" or deletes it from the "discoverable resource pool" to avoid invalid queries.</t>
            </li>
          </ul>
        </section>
        <section anchor="agents-discovery">
          <name>Agents Discovery</name>
          <t>This is the core service provided by ARS for agents, which helps them quickly identify target agents that can solve problems through multi-dimensional filtering, avoiding random searches, it includes two steps.</t>
          <ul spacing="normal">
            <li>
              <t>Discovery request: If an Agent needs a collaborator with agents supporting specific capabilities, it sends a discovery request to the ARS, specifying the capabilities and associated other requirements.</t>
            </li>
            <li>
              <t>Discover response: Based on the request criteria, the ARS filters matching target Agents from the "Agent Database" and feeds back the agent information to Agent A, if the target Agents are in other domains, the returned communication address should be the AGw addresses of those domains.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="interactions-between-agents-and-agws">
        <name>Interactions between Agents and AGws</name>
        <t>When an agent needs to communicate with an agent in another domain, the Communication sessions need to go through the AGw (When the two agents are within a single domain, whether a communication session needs to go through a AGw can be determined as requirements).</t>
        <t>Interactions between an Agent and an AGw revolve around two core scenarios: status maintenance and collaboration support.</t>
        <section anchor="status-maintenance">
          <name>Status Maintenance</name>
          <t>During the Agent's operation, ongoing interactions between the two parties are required to ensure stable and secure collaboration, primarily involving status synchronization and exception handling.</t>
          <ul spacing="normal">
            <li>
              <t>Agent access: An agent should send an access request to the AGw to make it reachable by agents in other domains. The AGw reviews its information and verifies its signature. If the verification passed, then the AGw will create a record for it and advertise the agent information to other AGws.</t>
            </li>
            <li>
              <t>Status synchronization: After accessed, the Agent regularly sends "heartbeats" (e.g., every 30 seconds) to the AGw to synchronize its online status (e.g., "running normally," "temporarily offline"). If the AGw does not receive a "heartbeat" for an extended period, it marks the Agent's status as "offline" and temporarily removes it from the collaborative list, and synchronizes this information to other potentially associated AGw to prevent other Agents from initiating invalid requests.</t>
            </li>
            <li>
              <t>Deregistration request: If an Agent needs to stop services, it proactively sends a deregistration request to the AGw. After receiving the request, the AGw deletes the Agent's record, and synchronizes this information to other potentially associated AGws to complete the exit process.</t>
            </li>
          </ul>
        </section>
        <section anchor="collaboration-support">
          <name>Collaboration Support</name>
          <t>When an Agent needs to collaborate with other Agents, the AGw provides support for "removing communication barriers". It is composed by two phases.</t>
          <ul spacing="normal">
            <li>
              <t>Transformation: When the AGw receives the message send by the request agent with a translation request, the AGw first decapsulates the received packet, extracting the original content from the message. Then, it performs necessary adaptations, such as translating the content into the target language or converting the data structure to match the target protocol. Finally, the AGw re-encapsulates the adapted content into the target Agent's protocol format and forwards it.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="interactions-between-agws-and-agws">
        <name>Interactions between AGws and AGws</name>
        <t>Interactions between an AGw and an AGw revolve around four core phases: AGw interconnection, resources synchronization, status synchronization, and relay forwarding.</t>
        <section anchor="agw-interconnection">
          <name>AGw Interconnection</name>
          <t>This phase completes mutual identity verification and initial status synchronization between AGws.</t>
          <ul spacing="normal">
            <li>
              <t>Interconnection request: The initiating AGw sends an interconnection request(the request and ) to the receiving AGw, enclosing core information: its unique AGw ID, supported protocols, identity certificate, and current basic operational status.</t>
            </li>
            <li>
              <t>Interconnection response: The receiving AGw verifies the initiating AGw's identity and protocol compatibility. If valid, it feeds back its own basic information and records AGw A's initial information in its "AGw Neighbor List". If the verification failed, then it rejects the request.</t>
            </li>
          </ul>
        </section>
        <section anchor="resources-synchronization">
          <name>Resources Synchronization</name>
          <t>Resource synchronization and status maintenance focuses on sharing static/dynamic information of registered Agents, ensuring AGws can accurately locate potential collaboration partners across domains.</t>
          <ul spacing="normal">
            <li>
              <t>Resource synchronization: AGws exchange the summary of registered agents' information, including Agent ID, core capabilities (e.g., "flight booking", "real-time translation"), and supported communication protocols/languages (e.g., gRPC, Chinese). The Synchronization take place whenever a new AGw peer is established or the registered agents' key information changes.</t>
            </li>
          </ul>
        </section>
        <section anchor="status-maintenance-1">
          <name>Status Maintenance</name>
          <t>The Status Maintenance of AGws is used to ensure the peer AGws are online and reachable.</t>
          <ul spacing="normal">
            <li>
              <t>Status synchronization: When the interconnection is established, the AGws regularly sends "heartbeats" (e.g., every 30 seconds) to the peer AGws to synchronize its online status (e.g., "running normally," "temporarily offline"). If the AGw does not receive a "heartbeat" for an extended period, it marks the AGw's status as "offline" and temporarily removes it from the peer list, and set the "applicability" attribut of agents registered at that peer AGw as inapplicable.</t>
            </li>
            <li>
              <t>Disconnection request: If an AGw needs to stop services, it proactively sends a disconnection request to its peer AGw. After receiving the request, the peer AGw deletes the AGw from its peer list, and remove the Agents registered at that peer AGw from the "Agent Database".</t>
            </li>
          </ul>
        </section>
        <section anchor="relay-forwarding">
          <name>Relay Forwarding</name>
          <t>Relay Forwarding leverages pre-synchronized resource and status data to enable seamless data transmission between cross-AGw Agents.</t>
          <ul spacing="normal">
            <li>
              <t>When an AGw receives a packet from its agents to an agent in another domain, it will decapsulates the packet and get the "agent ID" of the target agent. Then it looks up the routing table to get the target AGw and forward the packet to it (during the forwarding, the packet will be encapsulated to adapt to the target agent).</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="interactions-between-arss">
        <name>Interactions between ARSs</name>
        <t>Interactions between ARS focus on "breaking resource silos". Through cross-ARS information synchronization, they enable Agent resources managed by different ARSs to be globally discoverable and collaborable in a trusted manner. The detailed interactions between ARS can be quit different among different ARS forms, it depends on the implement manner of ARS.</t>
        <t>Editors' note: typical interactions between ARS will be provide in future.</t>
      </section>
    </section>
    <section anchor="operational-and-manageability-considerations">
      <name>Operational and Manageability Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>TBD</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
    </references>
    <?line 293?>



  </back>
  <!-- ##markdown-source:
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
uQVuc5s2XRt/MRPRLsf8/wUc52ik0FcAAA==

-->

</rfc>
