<?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.1 (Ruby 2.7.0) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-zheng-ccamp-client-pm-yang-09" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.1 -->
  <front>
    <title abbrev="PM YANG for Client Signal">A YANG Data Model for Client Signal Performance Monitoring</title>
    <seriesInfo name="Internet-Draft" value="draft-zheng-ccamp-client-pm-yang-09"/>
    <author initials="C." surname="Yu" fullname="Chaode Yu">
      <organization>Huawei Technologies</organization>
      <address>
        <email>yuchaode@huawei.com</email>
      </address>
    </author>
    <author initials="H." surname="Zheng" fullname="Haomian Zheng">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>H1, Huawei Xiliu Beipo Village, Songshan Lake</street>
          <city>Dongguan</city>
          <region>Guangdong</region>
          <code>523808</code>
          <country>China</country>
        </postal>
        <email>zhenghaomian@huawei.com</email>
      </address>
    </author>
    <author initials="I." surname="Busi" fullname="Italo Busi">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <country>Italy</country>
        </postal>
        <email>italo.busi@huawei.com</email>
      </address>
    </author>
  <author initials="Y." surname="Zheng" fullname="Yanlei Zheng">
   <organization>China Unicom</organization>
   <address>
    <postal>
     <street></street>
     <city></city>
     <region></region>
     <code></code>
     <country>China</country>
    </postal>
    <email>zhengyanlei@chinaunicom.cn</email>
   </address>
  </author>
    <author initials="V." surname="Lopez" fullname="Victor Lopez">
      <organization>Nokia</organization>
      <address>
        <postal>
          <country>Spain</country>
        </postal>
        <email>victor.lopez@nokia.com</email>
      </address>
    </author>
    <author initials="O." surname="Gonzalez de Dios" fullname="Oscar Gonzalez de Dios">
      <organization>Telefonica</organization>
      <address>
        <postal>
          <country>Spain</country>
        </postal>
        <email>oscar.gonzalezdedios@telefonica.com</email>
      </address>
    </author>
    <date year="2024" month="January" day="10"/>
    <area>Routing</area>
    <workgroup>CCAMP Working Group</workgroup>
    <abstract>
      <?line 62?>

<t>A transport network is a server-layer network to provide connectivity
services to its client.  Given the client signal is configured, the
followup function for performance monitoring, such as latency and bit
error rate, would be needed for network operation.</t>
      <t>This document describes the data model to support the performance
monitoring functionalities.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://haomianzheng.github.io/ccamp-client-pm-yang/draft-zheng-ccamp-client-pm-yang.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-zheng-ccamp-client-pm-yang/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Common Control and Measurement Plane Working Group mailing list (<eref target="mailto:ccamp@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ccamp/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/ccamp/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/haomianzheng/ccamp-client-pm-yang"/>.</t>
    </note>
  </front>
  <middle>
    <?line 72?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Client-layer network and server-layer network have been respectively
modeled to allow the tunnels carrying the client traffic.  Server-
layers are modeled as tunnels with various switching technologies,
such as OTN in <xref target="I-D.ietf-ccamp-otn-tunnel-model"/> and WSON in
<xref target="I-D.ietf-ccamp-wson-tunnel-model"/>.  Client-layers are modeled as
client signals according to the client-signal identities specified in
<xref target="I-D.ietf-ccamp-layer1-types"/>.  These client signals can be
configured to existing tunnels via the client signal configuration
model specified in <xref target="I-D.ietf-ccamp-client-signal-yang"/>.</t>
      <t>In the network operation, the operator is interested in monitoring
their instantiated client signal over tunnels.  The objective of such
monitoring is to complete timely adjustment once there is abnormal
statistic which may result in failure of the client signal.  The
parameters specified in the performance monitoring model can be
collected for the operation need.  The OAM mechanism, can be
configured together with the performance monitoring model.</t>
    </section>
    <section anchor="terminology-and-notations">
      <name>Terminology and Notations</name>
      <t>A simplified graphical representation of the data model is used in
this document.  The meaning of the symbols in the YANG data tree
presented later in this document is defined in <xref target="RFC8340"/>.  They are
provided below for reference.</t>
      <ul spacing="normal">
        <li>
          <t>Brackets "[" and "]" enclose list keys.</t>
        </li>
        <li>
          <t>Abbreviations before data node names: "rw" means configuration
(read-write) and "ro" state data (read-only).</t>
        </li>
        <li>
          <t>Symbols after data node names: "?" means an optional node, "!"
means a presence container, and "*" denotes a list and leaf-list.</t>
        </li>
        <li>
          <t>Parentheses enclose choice and case nodes, and case nodes are also
marked with a colon (":").</t>
        </li>
        <li>
          <t>Ellipsis ("...") stands for contents of subtrees that are not
shown.</t>
        </li>
      </ul>
    </section>
    <section anchor="model-relationship">
      <name>Model Relationship</name>
      <t><xref target="I-D.ietf-ccamp-client-signal-yang"/> has specified the two models for
the client signal configuration, module ietf-trans-client-service for
transparent client service and module ietf-eth-tran-service for
Ethernet service.  Basically the client signal types in this document
is consistent with ietf-eth-tran-types, and focus on different
functionality.  On the perspective of operator, the modules in
<xref target="I-D.ietf-ccamp-client-signal-yang"/> can be used to configure the
service given any underlay tunnels, while the operation about
monitoring the performance on given service can be achieved by using
the model in this document.</t>
      <t>Consideration on Key Performance Information (KPI) monitoring for
Virtual Network (VN) and tunnels has been specified in
<xref target="I-D.ietf-teas-actn-pm-telemetry-autonomics"/>.  Usually the monitoring
on the tunnels are the VNs should be separately deployed for the
network operation, but it is possible to have common parameters that
are both needed for the VN/TE and the configured services.  Common
types are imported in both modules.</t>
      <t>VPN-level parameters and their monitoring have been defined in
<xref target="I-D.www-bess-yang-vpn-service-pm"/>.  This module focus on the
performance on the topology at different layer or the overlay
topology between VPN sites.  On the other hand, this document is
focusing on the performance of the service configured between
Customer Ends (CE).</t>
    </section>
    <section anchor="consideration-on-monitoring-parameters">
      <name>Consideration on Monitoring Parameters</name>
      <t>There can be multiple groups of parameters for monitoring, such as
latency, bit error rate (BER).  Some of these parameters are layer-
dependent, for example, packet loss is only applicable in packet
networks are won't be neede for layer 1 OTN and layer 0 WSON.</t>
      <t>This document starts with the specification of the latency
measurement for both Ethernet service and client signal service.  In
the future version additional parameters would be added into the data
model in the same approach as the latency in the current version.  A
candidate list of parameters to be monitored include: Latency, Packet
Loss, Bit Error Rate (BER), Jitter, Bandwidth, Byte/Packet number and
so on.</t>
    </section>
    <section anchor="oam-configuration">
      <name>OAM Configuration</name>
      <t>The operation, administration and maintenance protocols and data
models have been specified in <xref target="RFC8531"/> for the connection-oriented
network.  The model is referenced in this work to develop an
Ethernet-specific OAM models, which is augmenting the service
performance monitoring data model.</t>
      <t>The definitions of OAM terminologies, such as maintainence
Maintenance Domain (MD), Maintenance Association (MA), and
Maintenance End Points (MEP), can be found in <xref target="RFC8531"/> as well.</t>
    </section>
    <section anchor="yang-model-for-performance-monitoring">
      <name>YANG Model for Performance Monitoring</name>
      <section anchor="yang-tree-for-performance-monitoring">
        <name>YANG Tree for Performance Monitoring</name>
        <figure anchor="fig-service-pm-tree">
          <name>YANG Tree for Performance Monitoring</name>
          <artwork type="ascii-art" name="ietf-service-pm.tree"><![CDATA[
module: ietf-service-pm
  +--rw performance-monitoring
     +--rw service-pm* [service-name]
        +--rw service-name               union
        +--rw task-pm-enable?            boolean
        +--rw granularity?               identityref
        +--rw performance-data-config* [parameter-name]
        |  +--rw parameter-name    identityref
        |  +--rw measure-method?   identityref
        +--ro service-pm-state
           +--ro oam-state
           |  +--ro cc-state    enumeration
           |  +--ro lm-state?   enumeration
           |  +--ro dm-state?   enumeration
           +--ro performance-data* [parameter-name]
           |  +--ro parameter-name     identityref
           |  +--ro parameter-value* [index]
           |     +--ro index                uint64
           |     +--ro value
           |     |       performance-parameter-value
           |     +--ro value-unit           string
           |     +--ro value-description?   string
           |     +--ro start-time?          yang:date-and-time
           |     +--ro end-time?            yang:date-and-time
           +--ro monitor-state       identityref
           +--ro error-info
           |  +--ro error-code?      uint32
           |  +--ro error-message?   string
           +--ro alarm
              +--ro status?   identityref
]]></artwork>
        </figure>
      </section>
      <section anchor="yang-tree-for-oam-configuration">
        <name>YANG Tree for OAM Configuration</name>
        <figure anchor="fig-eth-service-oam-tree">
          <name>YANG Tree for OAM Configuration</name>
          <artwork type="ascii-art" name="ietf-eth-service-oam.tree"><![CDATA[
module: ietf-eth-service-oam
  augment /svc-pm:performance-monitoring/svc-pm:service-pm:
    +--rw oam-config
       +--rw source
       |  +--rw md-name?         string
       |  +--rw ma-name?         string
       |  +--rw ma-level?        string
       |  +--rw meg-id?          string
       |  +--rw meg-level?       string
       |  +--rw mep-id?          uint8
       |  +--rw remote-mep-id?   uint8
       +--rw destination
       |  +--rw md-name?         string
       |  +--rw ma-name?         string
       |  +--rw ma-level?        string
       |  +--rw meg-id?          string
       |  +--rw meg-level?       string
       |  +--rw mep-id?          uint8
       |  +--rw remote-mep-id?   uint8
       +--rw cc-interval?   identityref
       +--rw lm-interval?   identityref
       +--rw dm-interval?   identityref

  rpcs:
    +---x configure-oam
    |  +---w input
    |  |  +---w oam-config-list* [service-name]
    |  |     +---w service-name    union
    |  |     +---w source
    |  |     |  +---w md-name?         string
    |  |     |  +---w ma-name?         string
    |  |     |  +---w ma-level?        string
    |  |     |  +---w meg-id?          string
    |  |     |  +---w meg-level?       string
    |  |     |  +---w mep-id?          uint8
    |  |     |  +---w remote-mep-id?   uint8
    |  |     +---w destination
    |  |     |  +---w md-name?         string
    |  |     |  +---w ma-name?         string
    |  |     |  +---w ma-level?        string
    |  |     |  +---w meg-id?          string
    |  |     |  +---w meg-level?       string
    |  |     |  +---w mep-id?          uint8
    |  |     |  +---w remote-mep-id?   uint8
    |  |     +---w cc-interval?    identityref
    |  |     +---w lm-interval?    identityref
    |  |     +---w dm-interval?    identityref
    |  +--ro output
    |     +--ro oam-config-list* [service-name]
    |        +--ro service-name     union
    |        +--ro result?          enumeration
    |        +--ro error-code?      uint32
    |        +--ro error-message?   string
    +---x delete-oam-configurations
    |  +---w input
    |  |  +---w service-list* [service-name]
    |  |     +---w service-name    union
    |  +--ro output
    |     +--ro oam-config-list* [service-name]
    |        +--ro service-name     union
    |        +--ro result?          enumeration
    |        +--ro error-code?      uint32
    |        +--ro error-message?   string
    +---x get-node-eth-oam-configurations
       +---w input
       |  +---w te-node-list*   -> /nw:networks/network/node/node-id
       +--ro output
          +--ro oam-list* []
             +--ro node-id?
             |       -> /nw:networks/network/node/node-id
             +--ro mep-config-list* [md-name ma-name meg-id mep-id]
                +--ro md-name          string
                +--ro ma-name          string
                +--ro ma-level?        string
                +--ro meg-id           string
                +--ro meg-level?       string
                +--ro mep-id           uint8
                +--ro remote-mep-id?   uint8
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="yang-code-for-performance-monitoring">
      <name>YANG Code for Performance Monitoring</name>
      <section anchor="the-performance-monitoring-yang-code">
        <name>The Performance Monitoring YANG Code</name>
        <figure anchor="fig-service-pm-yang">
          <name>Performance Monitoring YANG Code</name>
          <sourcecode type="yang" markers="true" name="ietf-service-pm@2021-07-07.yang"><![CDATA[
module ietf-service-pm {
  yang-version 1.1;

  namespace "urn:ietf:params:xml:ns:yang:ietf-service-pm";
  prefix "svc-pm";

  import ietf-eth-tran-service {
    prefix "ethtsvc";
  }

  import ietf-yang-types {
    prefix "yang";
  }

  import ietf-trans-client-service {
    prefix "clntsvc";
  }

  organization
    "Internet Engineering Task Force (IETF) CCAMP WG";
  contact
    "
      WG List: <mailto:ccamp@ietf.org>
      ID-draft editor:
        Haomian Zheng (zhenghaomian@huawei.com);
        Italo Busi (italo.busi@huawei.com);
        Yanlei Zheng (zhengyanlei@chinaunicom.cn);
        Victor Lopez (victor.lopez@nokia.com);
        Oscar Gonzalez de Dios(oscar.gonzalezdedios@telefonica.com);
    ";

  description
    "This module defines the performance monitoring for Ethernet
     services. The model fully conforms to the Network Management
     Datastore Architecture (NMDA).

     Copyright (c) 2021 IETF Trust and the persons
     identified as authors of the code.  All rights reserved.
     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject
     to the license terms contained in, the Simplified BSD License
     set forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).
     This version of this YANG module is part of RFC XXXX; see
     the RFC itself for full legal notices.";

  revision 2021-07-07 {
    description
      "Initial version";
    reference
      "ADD REFERENCE HERE";
  }

  typedef performance-parameter-value {
    type union {
      type uint32;
      type uint64;
      type decimal64 {
        fraction-digits 6;
      }
      type string;
    }
    description
      "A performance parameter value.";
  }

  grouping service-performance-monitor-set{
    description "the set of parameter name, value and description.";
    leaf parameter-name{
      type identityref {
        base performance-parameter-type;
      }
      description
        "The name of parameters to be monitored.
         For example, latency, Bit Error Rate, Bandwidth and so on.";
    }
    list parameter-value {
      key index;
      description
        "The table of values of the performance and
        their descriptions.";
      leaf index {
        type uint64;
        description
          "Used for list index";
      }
      leaf value {
        type performance-parameter-value;
        mandatory true;
        description
          "The value of the parameter. ";
      }
      leaf value-unit {
        type string;
        mandatory true;
        description
          "The value unit of the parameter.
           For example, second, minute and so on.";
      }
      leaf value-description{
        type string;
        description
          "The description of previous value. ";
      }
      leaf start-time {
        type yang:date-and-time;
        description
          "The time stamp when the parameter is started.";
      }
      leaf end-time {
        type yang:date-and-time;
        description
          "The time stamp when the parameter is ended.";
      }
    }
  }

  identity performance-parameter-type {
    description
      "Base type of the performance parameter being monitored.";
  }

  identity near-frame-loss {
    base performance-parameter-type;
    description
      "Near frame loss, using one-way eth loss measure,
       the sampling point is the MEP.";
  }

  identity far-frame-loss {
    base performance-parameter-type;
    description
      "Far frame loss, using one-way eth loss measure,
       the sampling point is the MEP.";
  }

  identity one-way-delay {
    base performance-parameter-type;
    description
      "One way delay.";
  }

  identity two-way-delay {
    base performance-parameter-type;
    description
      "Two way delay.";
  }

  identity receive-packets {
    base performance-parameter-type;
    description
      "Total number of received packets.";
  }

  identity transmit-packets {
    base performance-parameter-type;
    description
      "Total number of transmitted packets.";
  }

  identity ingress-bandwidth {
    base performance-parameter-type;
    description
      "Current bandwidth usage of the ingress traffic.";
  }

  identity egress-bandwidth {
    base performance-parameter-type;
    description
      "Current bandwidth usage of the egress traffic.";
  }

  identity alarm-status {
    description "indicates whether there is alarm or not";
  }
  identity alarm {
    base alarm-status;
    description "There is one or multiple alarms from the monitor. ";
  }

  identity no-alarm {
    base alarm-status;
    description "There is no alarms from the monitor. ";
  }

  identity monitoring-state {
    description
      "The state of performance monitoring. ";
  }

  identity monitoring {
    base monitoring-state;
    description "The Ethernet client signal is under monitoring. ";
  }

  identity monitor-finished {
    base monitoring-state;
    description
      "The monitoring of Ethernet client signal is finished. ";
  }

  identity monitor-failed {
    base monitoring-state;
    description
      "The monitoring of Ethernet client signal is failed. ";
  }

  identity granularity-type {
    description
      "Monitoring granularity";
  }

  identity granularity-1min {
    base granularity-type;
    description
      "1 minute";
  }

  identity granularity-15min {
    base granularity-type;
    description
      "15 minutes";
  }
  identity granularity-24h {
    base granularity-type;
    description
      "24 hours";
  }

  identity measure-method {
    description "Measure method.";
  }

  identity measure-by-loopback {
    base measure-method;
    description "Loopback measure method.";
  }

  identity measure-at-ingress {
    base measure-method;
    description "Ingress measure method.";
  }

  container performance-monitoring {
    description
      "This part is for performance monitoring. ";
    list service-pm {
      key "service-name";
      description
        "The list of service to be monitored.";
      leaf service-name {
        type union {
          type leafref {
            path "/ethtsvc:etht-svc/ethtsvc:etht-svc-instances"
               + "/ethtsvc:etht-svc-name";
          }
          type leafref {
            path "/clntsvc:client-svc/clntsvc:client-svc-instances"
               + "/clntsvc:client-svc-name";
          }
        }
        mandatory true;
        description "The name of service.";
      }

      leaf task-pm-enable {
        type boolean;
        description
          "Indicate whether the performance monitoring
          is enable or not.";
      }

      leaf granularity {
        type identityref {
          base granularity-type;
        }
        description
          "Monitoring granularity";
      }

      list performance-data-config {
        key parameter-name;
        description
          "Specify the performance parameters to be queried";

        leaf parameter-name {
          type identityref {
            base performance-parameter-type;
          }
          description
            "The name of parameters to be monitored.
             For example, latency, BER, Bandwidth and so on.";
        }
        leaf measure-method {
          type identityref {
            base measure-method;
          }
          description "Measure Methods.";
        }
      }

      container service-pm-state {
        config false;
        description
          "The state of service performance monitoring.";

        container oam-state {
          description "the state of OAM. ";
          leaf cc-state {
            type enumeration {
              enum up {
                description "up";
              }
              enum down {
                description "down";
              }
            }
            mandatory true;
            description
              "The state of continuity check.";
          }
          leaf lm-state {
            type enumeration {
              enum up {
                description "up";
              }
              enum down {
                description "down";
              }
            }
            description
              "The state of loss measurement.";
          }
          leaf dm-state {
            type enumeration {
              enum up {
                description "up";
              }
              enum down{
                description "down";
              }
            }
            description
              "The state of delay measurement.";
          }
        }

        list performance-data{
          key parameter-name;
          description "The list of performance under monitor.";
          uses service-performance-monitor-set;
        }

        leaf monitor-state {
          type identityref {
            base monitoring-state;
          }
          mandatory true;
          description "The status of performance monitoring. ";
        }

        container error-info {
          description
            "Describe the error message.";
          leaf error-code {
            type uint32;
            description
              "The code of error.";
          }
          leaf error-message {
            type string;
            description
              "The message of error.";
          }
        }

        container alarm {
          description
            "To retrieve the Alarm during performance Monitoring.";
          leaf status {
            type identityref {
              base alarm-status;
            }
            description "The status of the alarm. ";
          }
        }
      }
    }
  }

}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="the-oam-configuration-yang-code">
        <name>The OAM Configuration YANG Code</name>
        <figure anchor="fig-eth-service-oam-yang">
          <name>OAM Configuration YANG Code</name>
          <sourcecode type="yang" markers="true" name="ietf-eth-service-oam@2021-07-10.yang"><![CDATA[
module ietf-eth-service-oam {
  yang-version 1.1;

  namespace "urn:ietf:params:xml:ns:yang:ietf-eth-service-oam";
  prefix "eth-oam";

  import ietf-eth-tran-service {
    prefix "ethtsvc";
  }
  
  import ietf-service-pm {
    prefix "svc-pm";
  }
  
  import ietf-trans-client-service {
    prefix "clntsvc";
  }
  
  import ietf-network {
    prefix nw;
  }

  organization
    "Internet Engineering Task Force (IETF) CCAMP WG";
  contact
    "
      WG List: <mailto:ccamp@ietf.org>
      ID-draft editor:
        Haomian Zheng (zhenghaomian@huawei.com);
        Italo Busi (italo.busi@huawei.com);
        Yanlei Zheng (zhengyanlei@chinaunicom.cn);
        Victor Lopez (victor.lopez@nokia.com);
        Oscar Gonzalez de Dios(oscar.gonzalezdedios@telefonica.com);
    ";

  description
    "This module defines the performance monitoring for Ethernet
     services OAM. The model fully conforms to the Network Management
     Datastore Architecture (NMDA).

     Copyright (c) 2021 IETF Trust and the persons
     identified as authors of the code.  All rights reserved.
     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject
     to the license terms contained in, the Simplified BSD License
     set forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).
     This version of this YANG module is part of RFC XXXX; see
     the RFC itself for full legal notices.";

  revision 2021-07-10 {
    description
      "Initial version";
    reference
      "ADD REFERENCE HERE";
  }
  
  identity interval-type {
    description "Time interval";
  }
  
  identity interval-3p33ms {
    base interval-type;
    description "3.33 milliseconds";
  }
  
  identity interval-10ms {
    base interval-type;
    description "10 milliseconds";
  }
  
  identity interval-100ms {
    base interval-type;
    description "100 milliseconds";
  }
  
  identity interval-1s {
    base interval-type;
    description "1 second";
  }
  
  identity interval-10s {
    base interval-type;
    description "10 seconds";
  }
  
  identity interval-1m {
    base interval-type;
    description "1 minute";
  }
  
  identity interval-10m {
    base interval-type;
    description "10 minutes";
  }
  
  grouping eth-service-oam-config {
    container source {
      uses mep-config;
      description "OAM MEP configuration on source node.";
      }
    container destination {
      uses mep-config;
      description "OAM MEP configuration on destination node.";
      }
    uses interval-config;
    description "OAM configuration on Eth services.";
  }
  
  grouping interval-config {
    description "OAM Interval Configuration.";
    leaf cc-interval {
      type identityref {
        base interval-type;
      }
      description "Continuity check interval.";
    }

    leaf lm-interval {
      type identityref {
        base interval-type;
      }
      description "Loss measurement interval.";
    }

    leaf dm-interval {
      type identityref {
        base interval-type;
      }
      description "Delay measurement interval.";
    }
  }
  
  grouping mep-config {
    description "OAM MEP Configuration.";
    leaf md-name {
     type string;
     description
       "Name of Maintenance Domain.";
    } 
    leaf ma-name {
     type string;
     description
       "Name of Maintenance Domain.
        An maintenance association(MA) is a part of an MD. 
        An MD can be divided into one or more MAs. ";
    }

    leaf ma-level {
      type string;
      description
        "Maintenance Association Level.";
    }

    leaf meg-id {
      type string;
      description 
        "Comply with Y.1731 term, mapping with 802.lag MA name.";
    }
    leaf meg-level {
      type string;
      description "Mapping with 802.lag MA level.";
    }
    
    leaf mep-id {
      type uint8;
      description "0 if Abnormal";
    }

    leaf remote-mep-id {
      type uint8;
      description "The remote MEP ID must be specified.";
    }
  }

  augment "/svc-pm:performance-monitoring/svc-pm:service-pm" {
    description
      "Augment with additional parameters required for Ethernet OAM";
      
    container oam-config {
      description "OAM configuration container.";
      uses eth-service-oam-config;
    }
  }
  
  grouping errors {
    description "The grouping of error information.";
    leaf error-code {
      type uint32;
      description "The error code.";
    }
    
    leaf error-message {
      type string;
      description "The error message.";
    }
  }
  
  /*
    * Operations
    */
  rpc configure-oam {
    description "Deliver OAM configurations. ";
    
    input {
      list oam-config-list {
        key "service-name";
        description
          "The request list of service oam to be configured.";
        leaf service-name {
          type union {
            type leafref {
              path "/ethtsvc:etht-svc/ethtsvc:etht-svc-instances"
                 + "/ethtsvc:etht-svc-name";
            } 
            type leafref {
              path "/clntsvc:client-svc/clntsvc:client-svc-instances"
                 + "/clntsvc:client-svc-name";
            } 
          
          }
          mandatory true;
          description "The name of service.";
        }
        uses eth-service-oam-config;
      }
    }
    
    output {
      list oam-config-list {
        key "service-name";
        description "The OAM configuration list. ";        
        leaf service-name {
          type union {
            type leafref {
              path "/ethtsvc:etht-svc/ethtsvc:etht-svc-instances"
                 + "/ethtsvc:etht-svc-name";
            } 
            type leafref {
              path "/clntsvc:client-svc/clntsvc:client-svc-instances"
                       + "/clntsvc:client-svc-name";
            } 
          }
          mandatory true;
          description "The name of service.";
        }
      }  
        leaf result {
          type enumeration {
            enum success {
              description "success";
            }
            enum failure {
              description "failure";
            }
          }
          description "Result of OAM configuration.";
        }
        uses errors;
        
      }
    }
    
    rpc delete-oam-configurations {
      description "Delete OAM configurations. ";
        input {
          list service-list {
            key "service-name";            
            leaf service-name {
              type union {
                type leafref {
                  path "/ethtsvc:etht-svc/ethtsvc:etht-svc-instances"
                     + "/ethtsvc:etht-svc-name";
                } 
                type leafref {
                  path "/clntsvc:client-svc/clntsvc:client-svc-instances"
                     + "/clntsvc:client-svc-name";
                } 
              }
              mandatory true;
              description "The name of service.";
            }
            description "The list of service.";
          }
        }
    
        output {
          list oam-config-list {
            key "service-name";
            leaf service-name {
              type union {
                type leafref {
                  path "/ethtsvc:etht-svc/ethtsvc:etht-svc-instances"
                     + "/ethtsvc:etht-svc-name";
                } 
                type leafref {
                  path "/clntsvc:client-svc/clntsvc:client-svc-instances"
                     + "/clntsvc:client-svc-name";
                } 
              }
              mandatory true;
              description "The name of service.";
            }   
            
            leaf result {
              type enumeration {
                enum success {
                  description "success";
                }
                enum failure {
                  description "failure";
                }
              }
              description "The result of OAM deletion.";
            }
            
            uses errors;
            description "The list of service.";
          }
        }
    }
    
    rpc get-node-eth-oam-configurations {
      description "Get the Eth node OAM configuration info.";
      input {
        leaf-list te-node-list {
           type leafref {
             path "/nw:networks/nw:network/nw:node/nw:node-id";
           }
          description
            "Node identifier.  Must be same in the topology."; 
        }
      }
      
      output {
        list oam-list {
          leaf node-id {
            type leafref {
             path "/nw:networks/nw:network/nw:node/nw:node-id";
            }
            description "The node identifier.";
          }
          list mep-config-list {
            key "md-name ma-name meg-id mep-id";
            uses mep-config;
            description "The list of MEP configuration.";
          }
          description "The list of OAM.";
        }
      }
    }
}

]]></sourcecode>
        </figure>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests IANA to register the following URIs in the "ns" subregistry within the "IETF XML Registry" <xref target="RFC3688"/>. Following the format in <xref target="RFC3688"/>, the following registrations are requested.</t>
      <artwork><![CDATA[
      URI: urn:ietf:params:xml:ns:yang:ietf-service-pm
      Registrant Contact: The IESG
      XML: N/A; the requested URI is an XML namespace.

      URI: urn:ietf:params:xml:ns:yang:ietf-eth-service-oam
      Registrant Contact: The IESG
      XML: N/A; the requested URI is an XML namespace.
]]></artwork>
      <t>This document requests IANA to register the following YANG modules in the "IANA Module Names" <xref target="RFC6020"/>. Following the format in <xref target="RFC6020"/>, the following registrations are requested:</t>
      <artwork><![CDATA[
      name:         ietf-service-pm
      namespace:    urn:ietf:params:xml:ns:yang:ietf-service-pm
      prefix:       svc-pm
      reference:    RFC XXXX (This document)

      name:         ietf-eth-service-oam
      namespace:    urn:ietf:params:xml:ns:yang:ietf-eth-service-oam
      prefix:       eth-oam
      reference:    RFC XXXX (This document)
]]></artwork>
      <t>RFC Editor: Please replace XXXX with the RFC number assigned to this document.</t>
    </section>
    <section anchor="manageability-considerations">
      <name>Manageability Considerations</name>
      <t>TBD.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The data following the model defined in this document is exchanged
via, for example, the interface between an orchestrator and a
transport network controller.  The security concerns mentioned in
<xref target="I-D.ietf-ccamp-client-signal-yang"/> also applies to this document.</t>
      <t>The YANG module defined in this document can be accessed via the
RESTCONF protocol defined in <xref target="RFC8040"/>, or maybe via the NETCONF
protocol <xref target="RFC6241"/>.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-ccamp-layer1-types">
          <front>
            <title>A YANG Data Model for Layer 1 Types</title>
            <author fullname="Haomian Zheng" initials="H." surname="Zheng">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="10" month="July" year="2023"/>
            <abstract>
              <t>   This document defines a collection of common data types and groupings
   in the YANG data modeling language for use with layer 1 networks.
   These derived common types and groupings are intended to be imported
   by modules that specify OTN networks, such as topology, tunnel,
   client signal adaptation and service.


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-layer1-types-16"/>
        </reference>
        <reference anchor="I-D.ietf-ccamp-client-signal-yang">
          <front>
            <title>A YANG Data Model for Transport Network Client Signals</title>
            <author fullname="Haomian Zheng" initials="H." surname="Zheng">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Aihua Guo" initials="A." surname="Guo">
              <organization>Futurewei</organization>
            </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Anton Snitser" initials="A." surname="Snitser">
              <organization>Cisco</organization>
            </author>
            <author fullname="Francesco Lazzeri" initials="F." surname="Lazzeri">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Chaode Yu" initials="C." surname="Yu">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="14" month="December" year="2023"/>
            <abstract>
              <t>   A transport network is a server-layer network to provide connectivity
   services to its client.  The topology and tunnel information in the
   transport layer has already been defined by generic Traffic-
   engineered models and technology-specific models (e.g., OTN, WSON).
   However, how the client signals are accessing to the network has not
   been described.  These information is necessary to both client and
   provider.

   This draft describes how the client signals are carried over
   transport network and defines YANG data models which are required
   during configuration procedure.  More specifically, several client
   signal (of transport network) models including ETH, STM-n, FC and so
   on, are defined in this draft.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-client-signal-yang-11"/>
        </reference>
        <reference anchor="I-D.ietf-teas-actn-pm-telemetry-autonomics">
          <front>
            <title>YANG models for Virtual Network (VN)/TE Performance Monitoring Telemetry and Scaling Intent Autonomics</title>
            <author fullname="Young Lee" initials="Y." surname="Lee">
              <organization>Samsung Electronics</organization>
            </author>
            <author fullname="Dhruv Dhody" initials="D." surname="Dhody">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Ricard Vilalta" initials="R." surname="Vilalta">
              <organization>CTTC</organization>
            </author>
            <author fullname="Daniel King" initials="D." surname="King">
              <organization>Lancaster University</organization>
            </author>
            <author fullname="Daniele Ceccarelli" initials="D." surname="Ceccarelli">
              <organization>Cisco</organization>
            </author>
            <date day="10" month="September" year="2023"/>
            <abstract>
              <t>   This document provides YANG data models that describe performance
   monitoring parameters and scaling intent mechanisms for TE-tunnels
   and Virtual Networks (VNs).  There performance monitoring parameters
   are exposed as the key telemetry data for tunnels and VN.

   The models presented in this document allow customers to subscribe to
   and monitor the key performance data of the TE-tunnel or the VN.  The
   models also provide customers with the ability to program autonomic
   scaling intent mechanisms on the level of TE-tunnel as well as VN.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-actn-pm-telemetry-autonomics-11"/>
        </reference>
        <reference anchor="I-D.www-bess-yang-vpn-service-pm">
          <front>
            <title>A YANG Model for Network and VPN Service Performance Monitoring</title>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Bin Wen" initials="B." surname="Wen">
              <organization>Comcast</organization>
            </author>
            <author fullname="Chang Liu" initials="C." surname="Liu">
              <organization>China Unicom</organization>
            </author>
            <author fullname="Honglei Xu" initials="H." surname="Xu">
              <organization>China Telecom</organization>
            </author>
            <date day="22" month="April" year="2020"/>
            <abstract>
              <t>   The data model defined in RFC8345 introduces vertical layering
   relationships between networks that can be augmented to cover
   network/service topologies.  This document defines a YANG model for
   both Network Performance Monitoring and VPN Service Performance
   Monitoring that can be used to monitor and manage network performance
   on the topology at higher layer or the service topology between VPN
   sites.

   This model is designed as an augmentation to the network topology
   YANG data model defined in RFC8345.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-www-bess-yang-vpn-service-pm-06"/>
        </reference>
        <reference anchor="RFC8531">
          <front>
            <title>Generic YANG Data Model for Connection-Oriented Operations, Administration, and Maintenance (OAM) Protocols</title>
            <author fullname="D. Kumar" initials="D." surname="Kumar"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <author fullname="Z. Wang" initials="Z." surname="Wang"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>This document presents a base YANG data model for connection-oriented Operations, Administration, and Maintenance (OAM) protocols. It provides a technology-independent abstraction of key OAM constructs for such protocols. The model presented here can be extended to include technology-specific details. This guarantees uniformity in the management of OAM protocols and provides support for nested OAM workflows (i.e., performing OAM functions at different levels through a unified interface).</t>
              <t>The YANG data model in this document conforms to the Network Management Datastore Architecture.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8531"/>
          <seriesInfo name="DOI" value="10.17487/RFC8531"/>
        </reference>
        <reference anchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <date month="January" year="2004"/>
            <abstract>
              <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </reference>
        <reference anchor="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
        <reference anchor="RFC8040">
          <front>
            <title>RESTCONF Protocol</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8040"/>
          <seriesInfo name="DOI" value="10.17487/RFC8040"/>
        </reference>
        <reference anchor="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-ccamp-otn-tunnel-model">
          <front>
            <title>OTN Tunnel YANG Model</title>
            <author fullname="Haomian Zheng" initials="H." surname="Zheng">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Sergio Belotti" initials="S." surname="Belotti">
              <organization>Nokia</organization>
            </author>
            <author fullname="Victor Lopez" initials="V." surname="Lopez">
              <organization>Nokia</organization>
            </author>
            <author fullname="Yunbin Xu" initials="Y." surname="Xu">
              <organization>CAICT</organization>
            </author>
            <date day="24" month="November" year="2023"/>
            <abstract>
              <t>   This document describes the YANG data model for tunnels in OTN TE
   networks.  The model can be used to do the configuration in order to
   establish the tunnel in OTN network.  This work is independent with
   the control plane protocols.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-otn-tunnel-model-20"/>
        </reference>
        <reference anchor="I-D.ietf-ccamp-wson-tunnel-model">
          <front>
            <title>A Yang Data Model for WSON Tunnel</title>
            <author fullname="Young Lee" initials="Y." surname="Lee">
              <organization>Samsung</organization>
            </author>
            <author fullname="Haomian Zheng" initials="H." surname="Zheng">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Aihua Guo" initials="A." surname="Guo">
              <organization>Futurewei</organization>
            </author>
            <author fullname="Victor Lopez" initials="V." surname="Lopez">
              <organization>Nokia</organization>
            </author>
            <author fullname="Daniel King" initials="D." surname="King">
              <organization>Lancaster University</organization>
            </author>
            <author fullname="Bin Yeong Yoon" initials="B. Y." surname="Yoon">
              <organization>ETRI</organization>
            </author>
            <author fullname="Ricard Vilalta" initials="R." surname="Vilalta">
              <organization>CTTC</organization>
            </author>
            <date day="9" month="July" year="2023"/>
            <abstract>
              <t>   This document provides a YANG data model for WSON TE tunnel.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-wson-tunnel-model-09"/>
        </reference>
        <reference anchor="RFC8340">
          <front>
            <title>YANG Tree Diagrams</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document captures the current syntax used in YANG module tree diagrams. The purpose of this document is to provide a single location for this definition. This syntax may be updated from time to time based on the evolution of the YANG language.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="215"/>
          <seriesInfo name="RFC" value="8340"/>
          <seriesInfo name="DOI" value="10.17487/RFC8340"/>
        </reference>
      </references>
    </references>
    <?line 1099?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+09XXfbxrHvPsf/Ycs8VEoJSrKc1Je+qS1LsqPWknUkJWlu
bx9AYEmiBrEsFhDNJL6//c7M7gK7wAIkbSf3o9ZpIwuYnZmdnc/dARAEwcMH
RVKkfMwGJ+zHk6tX7CwsQnYpYp6yqcjZaZrwrGC3ySwLU3bNc7i4CLOIA0yW
FCJPstng4YNwMsn5PWC5vlRoWmMBKAoLPhP5esxkET988PBBLKIsXADxOA+n
RfDTnGezIIrCxTKIaGywXATrEC4e/tvDB7KcLBIpE5EV6yUMuji/e8nYFyxM
pQDKSRbzJYf/ZMVgyAY8Ju6AMPxxcfICfgFLg4ubu5fASlYuJjwfAwvAE/yK
RCZ5Jks5ZkVe8ocPYC7HMK2ch4D6RpSFmudK5G9nuSiXcPX09OTymv0AV+Ae
e4VXAeKeZyViZKyCE4uFyNgp8J2LlIVZzC55KMucL1A812mY8QEOUNMaNDEy
tgiTFG6QZJ4nvJiORD6jO2EezeHOvCiWcnxwgIB4KbnnIwN3gBcOJrlYSX5A
KA5o6Cwp5uUEB4dikYQZSf/AJ30CT0FQsrBo2cNGCtkoEV4EB5vWdzQvFqgh
IPGymIuc5BfgfxhTGnIK5GLOfizVRZjXmH1bhiuesDsezTORilnCpbrLlcDW
ZUSjns8JcBSJRQvvt2oW7D+Qt21wyyLnHOTw7dHQAP01SZOSveDJUrDvkzQN
Z3zIbkU2k3PA/Dp8y9XQKClA98/gxqwMM3Ut5zNQ6DF7BVdmsTA8RMD2mH31
6PjJ4RNzpQT9WaMkkix05kly1cvRN9eLIkwFe1HKZJuJVgRx2NohmCCi0QQQ
9ZG7e3HWuvZ9EoFVstdiyX+ymLgSb5OwQfZ2GSaZQ/aeBo9SHPw8wyFeum9k
FObslch+ClP+EwOtOUuEnlSSgYW/GXXcJV7ueMqn4NuizQwJpDSaaVwxuBwh
nxfVeMUdOZciTyZlQYoNzgddaAE2Sn8l2dT5++GDIAhYOAFFC6MC/z4BnxRm
cinygmW8QB/EEslCJnl+z/MgDdc8r+4Ugi1zcZ/AzIBwxiPADIoH/hOgk4hL
hEgKyZQJjhh7BaQzVsy5vsSk8vZAAzBMkxm4qniIAA8fTEWailW5ZNMyA8zg
19DTL624sKjiwpBJsEAWSnIeWbQm3zdJYFI8z2FYDpeHbCXKFC5zmAEHGRJC
MxlYagACMiMUxN0cWIKgUZLjjLmMQKw4IWA9xri1oLgF85PlksSFdyzmHj6o
uatmEKZJAVo/MqJfJHGccvzrC3aBPjsuCQ6vqJDWkDjOyrsU8/Cew8RAuDmX
S1oJjqZEbMJMgdEQxUlsFiUsVgoiD/N8jfxZCwLrP50mEazVraLz8AFRAiXI
OTPoQNAGyQr8MbsP80SUkkn4C2ICorSsfIgRVS3Pm7srsAz288/PLoIzChza
S4siCxTKgIi8f0+T/eH2DQ54+KA9YiVFcwhwbYutyTPYh611cDuKRB4Tu8IS
QmC0EiM8rRhDmSbTBNAoZn7XYIboHQUYVyXxcTfnsqHlKPAMFonMVOs6Eubv
ElkQE1qk90nosREzKFQaohTQ5ou12XLmQ/EPmEPtulBW2FJ+sj39JxgHGEGS
FRx0qlAkaqWGdG7Okxz9XBGCmEKEcDkWoD9mUkokTEz+oZSTiSnZrGMnCXkM
8GXLlBegp8kClJiF8T9KWZAhCjR7oAvLim5pQv4tBfUqgHsQYsRW8wQ0bRGu
0RDKtECmp+BCQdhIsiVWxdfDB8swB5deoNI4Mm2YtSUA7QLqNU1TmJr2KrUU
0XGhu9ECeHNyyRZgG2GWyMXQrxEzjlNUlrWJ/kh5jzueLxKyN+X6rkRBpKXy
6jIBkao5zfJwCTKC5cn5EmQEolBMaulY3g1EXEqt8oXtEPVcFhxmAYzokXK9
mIhUGqlRck7YMI8BCStigA99dK7AbC+L/+bTJDPK/Ozm5emT48eHxp7WaM6I
h0IO+nF0aCjtnE9BJUA8yrOyFxDP3nIIPIP//NuA5DH4+4ABQCrAKFPQFPaW
r7UfZidUUSRKXoAVMGoxZJgIYqiHUD7IVwOasWxaImN7kLzHwSpPCr6vyOVi
wFApNSIFILJ0va+J3mphQbYKsmhTe2aIgYKIpQoeBAE1xu9Uqq5uMyXXiGJw
AXkDz4eKhy8HIM9MQDINUDRpvJzycBrgX5qRaxBqVqC3kpWEormA8E3gUQh/
I105bPxNzhUrIlU35G9hSUhlQ+AkBYXaG4wHZrrnaZosJazw3mA0Gg32UThZ
LGn1kG9gQSqXMEFtwUAbFkQBJoAE5FysMq3sqma84alasnmyxOvbeT+IlLaF
UzhcCaXwxA75tT7XO0TgMgUPhJQoX6ooqbxHo6FMiqRbodP3UZA2ErB3QuQi
OEcvAB7aDAMreBFKNF1wim0mKfa0rAqyPlJYkD0KWa2QS5QGqtWdwihYh4zF
yZRMCsbbycsaeHhTOUWTaODCmZChAoianOwIlt51UZ5QORwKAtohqmTQCGZG
CWSYrVkJ9XcOYdcEmCG6/pQ3PG84gYLaiTFNhwpACqkhoRkJIY/h9+hmgJY0
Ac94xoaUSTFPUcqxoQz/+wu4LHsf48Lk32gcf7m+2Le9OS3590lelLCWVzou
731/pRyKSQ1QeynN605ICqj4A8jnMyx5sUSAsJavAyh3RQaFW6Tyk+9kWemR
HdRF5qSIoVoA9v2VRBPU6bPkGC4LDM4xX6ZiXUc9qDnaOQUUJFAHoINfCimT
CS6TUDlrpLYsrPCLlk/7IWwiQFetVF0xcnB3rkQy51bRYJYPEw21DQLrRRaB
mCD8QY6uAgth1QpK6/b99VWQwlKnNheaAiQ41hrVWXYdqCrhr1arAEoEqbaR
7peVNcM66BAGAtBmXxkaiayhj7QAYqmjeVEbI1NJv8kv7skAYJ4GdgKiR+5g
RuAVChKGNldBKQWkHVReuWEXa62IdNxQdxjS0d2YRy1yTQ40H/IzsQD85+jT
907P97WnbplEvZWHgUcLWxVcmNRp21tA4pZADqg2tigwWEuDquAp/bBQodpv
iIUfq+s+tvfi/GYfKxrgUU8Hgpi92ECaRAvVTrW1NyRC/F2I2egQwDGlYBAf
JSoyxnIWLiGrikLU5yTTEJUBKLQrkf2+qEpOQqkW8YhqIYrI9Pch1Tqe4hMi
ZV7IOhvUlh85WZueOng6a78PiZG2NyOJiuRO9KhjzEWmPN20LND9gpJJ8qRx
nOg0xJJcVVHDbTIHXUhhQmNqFJ0PShiDEstFqGpBi28DE5U56bkmCtyc4GZu
Fie4e6qSGFcZgN6k8mDEQZSWuKP12ijDtV6W17ByQ/YCVOOcVOOmUo0h+3NS
FJg3vQBSqyQu5vDPdcEP1Fim9nBRahCJBBMmEcFk/tRNBkmTbd8XxpCYJ7jF
ogIShv4Qi6qMrAvEUYiIMkG4Y4lNWt6mWeVhYvzV8RFETeMWzf4LlMRgFZRm
V4posnWT01fZclzFMbOdE6MbFEuGe4ZGaQKjcKp2Id6Gus7CIqycobKZ0Kr1
yPVplguty4uRERb50kRl37C4SKWoyhncPqg2d0hwmOLSBsulJcYzgffY3uUZ
rKZ940RKESU65l6e7A/VKtog4LTYtUgwA927PL/eN1UZCBeSjJbIgY8VT03h
RVVOfYjhP7YgUA17B+ntBtD/gh8gEyVJAKZP+lDiwQmF9zqoYFr8hyDIV7a7
DuxgjhuIGqQe9iX7m/kDi42/a7AWJN5k7k+Z6YLHhi9C+RZTDZAmOMJnNvxE
CCg3WiOgBM3KNIRyae2A466p2nJZg442R9mTRC0KVCSC6VTuoDmhX6qxDkQn
oQpee9EAxsxF/KyPMWGJNqCSr75fgYjQd+8XczuK1F3a8AVnw+vSsg2calTP
tgGOtwBWkE3x9snVptAWrV9W/jH3YVpyIIVHau9aFCrm6HZDVVgJJvv1484x
hNpz9xf9lz3hBkP9OAMwg8ICAN9eW1vXGLWFTIX8s81jKOYHuP9lGQjmlWOM
gwG4MLrZOZ5rAMe8NoxXI7X7qPWRda+npoXRNMCzBf9iq/t4zKS5wXU7ftQH
vIA0OpzxDkEpyBAcyMK5bkuvKGXLatGtQrY+Zl+A27D8aIA7DowOp78ZbOOj
B5DZUWQllf9m0PDLI8Q3eO91+t6ModffY5lucIMboaNYFXLZgbyPgN7Y7/7N
3ZqxsRKXcnHokpQHrYSo/b8o86hWjdonxjTdWqUaS1MDhtsDUt31bCMgnwVJ
bClzH6CDshtw6WJEpXzShoNMWhQYBwy4C6eAwLYh/3Ed62exbRQbRD06XAAH
2RVhFSBEvO0A4x5ABM2XkayNIHhXF7PGtMwcghXEnGVZVNeqy7Xd0C6qP5v6
xXLHQTulsvKoJqRlfL9YEUvd7dUlD3ifRnnBu/XKA96nXX7wTh3zgXdrWhu6
T98aEm4Z62cx/xpibhh322gb8A0b3wgfbwGvc++ysA2Z2Tn5NobMrDGt2si1
ZBtUHT9akm2l340BvXmSF7YjTVKuDQ+9C/JrgXN8Ibdzc2amn8jH/UsvxYwX
AR6ZUS7XtSDMsyD2OsFaEg4lIMaCP7GDbDU2m40H+h8HCET/ARN1wqMrfuc6
sKTl7pZgBkCje9a4aSSxEys2XnQk7rpr12t8qvZ+2k01mavxxI3dCk/VYIOH
u4L35lutSRHLW2PfkHt5ROZgdzOrBnSXw3ZLoUaJ0VMPtcoXbynUwGfXQ6oc
OhXxpj0wqJxwb9APUGOpyicsbk3l1NwoYz+jfNSxjN7NPhodPVU5IR24L0PA
PyjzbIxDx7QdIMfvFuk4k2OqmxsoB09x7BKiTfKODVSlNdAY1WFTx8nuz2qp
zEi4X8Bohe59ezwxrc6xGiOpXbZrmPdUuoEgSrMWaZHPwiz5yfKMgwuMsnh2
cJ7Nkoxzkv9dKN+ylwJSVbaHzdH7TLcov1LoqBUh0q5mYLTzh1fsdYKdvf+O
TY2FGLttxn8ycBdnAbXxMtVZPa612+mhZXsd7aj7T+sRdScq2/M2k9rAP4ZZ
yhMH+5ouPcemthAiDAwYRZk9xu4zZXv+xlEb3t8zurdFg6fBYvTM2lLSN+wT
RnVCKfsaiNACzS6/ZrA+Ra2PDKYlHhSjnwYc0rTKmSPqyzCDwKdaDQgFtvVL
PIxhJ9gfXvCIzpH2ri7PTtS5IIGdiuU6T2bzgu1F++zR4aMj1WZ/l5e6U8V0
GdQhUiV5dBAS4skDNnDLqq0LmMUDozRlhBcPOqhXMh7p4TcgVan6Y81RTCnp
6E6VXbppNAvzNaO5DtWpG57MEwL8C4IoyqU6gRvSsTaeVxR4wLwsc1mG2Egp
VEuFLKnlTWPQwktBxhmQxnMOWTXu4FmD6p+4rfu1XtyegdUQeLVGdLSHfRwZ
u1WnPuzxKDKCqMX4e8le8xk+TYE9U9JKNlTzjGp8JPgzfdxoAPZM832BiLjV
5K95px2/fSNa0jzjXIkP+Ju8tHHJEnd96fTu5uUp+yv8PIWZmDkh33g9KSRP
p6SZqHYsJfYzUZBSGs3Hdi2ihGoTHP4R/me8W8soyIUlRQJoNH8DbUfVOVgF
eHJ2xm7OX57fnF+dnrNv4bfjHdEPg1n17RwbNhBUZaTmirlGmeTT1rWvH7vX
Yh4lizD9+nE9nrEp9mnjGV+czLCv+utqzHtnsEoh9M333YI5cTxDNRW1ZT1y
5k4n8agwVQxsbzpCpCnay8AG6lzQPbmluDtUlNTRZz1iZFYIe9UaBwyuNK2q
z5bTBJvU/KuEw9pS8wiH3Knqx+s/ch7VIzAk1h0DVTuCe+ZsnTIrB0EHygN3
teiku0O3GDYvqiORp5snUFB7AsyAcFTe0l54OhE1g1TTi4VPVrzpBVGHMZa4
fUrcwRIw9Z3U7Tw0R0I2aK8IUWpMW1PqMT+LPNyPsSFtTY9ZbcEXCksRNCIy
uEesl0F1HtTk0rHBj2SICLS4cpJ+R/Mkh5ASD9kiycqCe7TMPw+LkY2z6WPa
Nn40HXTX+HSAciudwqwPvVrCbB9dbckKYQPEiyVbzfWjJ7UPgqBERMGIu5gy
J2m/IUvYfuRh6L2d62u/1+Pk+gLiC/SPBOTxBjUvE67azI2jc8sNw0LGwzyY
4piAmqM03e18sI+7K0DICCF1Ww2ZaU3jwSpcMyiZVBeWPqQfVhLWXUaQOQH4
Ejs66IkCuHp5ft3B/fQTM//yN+RdYwW7xT7Yj2b9TcYZMknoOkhCzv8pSd6t
xEaSOY94co9IVU//xxMVBeaUqqcLDEATiHUDn+yaOtbUkOX/eowYCsVGXkBJ
cmw1nVSZxEczc6pb72qUJe5oGg+hKVbPh/n54r81W3wbrqhVIFBdAR63SA90
YzUH2RF4ZGqUrZ8xwrHYcQs1SIW9iduZpk2tPTGKAQo1mC8irppdaaAE7yEW
dlu2CZgtvyuCjyCeiV3p1RsHujmkJ8BgnFNAYtqx+7CZjDOxJvWOydWtrq0H
TOmBge0ZCLApUc7BFHdjw5GBNRkQRDdvhtZGnsIk/Y04Ikpd/FgdfBuTDWvb
1hq2Ge/RIsmcmTaJ9sz0SKe+W1D56mPIfKXpSJ9rsBE9ejz/UCKPHrO5KHPZ
oRlOp6LXu+lXQDAF0uEjDZ7JGhIhsZxA+HHVzKHjs77XZthiF3phEZjQshu5
Cz2qj1r1RFxHh2y/CzNbVonsefK8LmeonG0eOuAPVusD+7iyTu27y3bT6m42
75ubDo2a3DkNbZXm7j5UdR1HNnZO8GcZQpQdHOijiTH+DuAfrQuBevQ3Au13
EcDPHzwIGnPHn/c78qTPLMbmZAO4al/axJdnRC9n1j+3qeHdfSPzXIVTzjlL
5/ZPtxZP91BvUVxe6CzGTmI6tNYeRxWn2iSiLKeHVctrtfjs2Irr93cN8XbN
rC+ENPmkjTN/q7jNFxqlu7O4hYRv6UmIdXfJbDYH/1nyPOGx2a+2RNhol24b
Zacct9/WbEi1cz4ftMWJPx3bnOc3/XubDb5IHv74tYM8vJGiXwZ1SLykQdLP
oaVVdSBpNvvbPGktm4ap3HYzqEqSjZ/viDKuJtXsVA8WuLJpb78bOm9OLu0d
uGodqkcQGjKmNbD6ZZr3VTMNK5ftGw02yqVLtrVCFbJYrDx0GugQaCPCxp+d
7ruBvYnVXSqUPmR96ASjOY/ejnpiGsk29a7R/zPZbi0+e/+Lnp3eJL74f5n4
/kelpzbethLfeyf4+OKiM5PeiOjJcKqHMS2P5dTYDc5KfMPEhtPDp13cU6hw
Hk35gEjhr5Q969HjJ1pi0NtKG/c5PLOq3Xj9DE2nH28E7jP9Siq1C0aHi7oH
ceTx7nVDo9eIGofSG2hrlSRsQuPeaMROm6SXidYR0zZMGISb+eiQvLOFtkno
d9hRB2zyeyX3Exocl5SZLr2tar7VcHciHSH06HD3Dp9X6r2qiswTomYu4Ct7
WudP73uepcJjMdM7uKl5b4BPU2PjDapSQK+QyeU3A7S5AbPueJ+yel73foyo
F848cGXesuT0KW7VMdjoW1QL8AnaBht4lcStDkBzES9/TPMgY00M7e2Idsti
x9APaSFsYzEvA3EHZit7l+Zz0+HnpkP1ukgqTj43Hn5uPPw/03h4dNi3h/wp
Gg+1T61PftVDT13HLmCP2F9iwDaiOV4eHy/cvXeHhG/r/Xh0fMwWSQoVADUa
yY1Ujg53pQGC3ZHCB5DYlcauBHQj1hbM7y6drZle7Mp04+isZ00/YEmbp2X4
/6q3tPkgirtta23CKa9ZJchUWtYPE/mOV9gAc8LL82v3ZX74TiqNDR9Uandd
1UStB0c/FWUbpZ884a8k6xBpkWihhzBbN/R3ybyB3OtSEPuFhnPzardV13ro
sxbRxkZdn+L4e3PxDffu3ls12G6gtTiyHiv9lTh63djO2sRR/KtzdNbcIvKy
5NOFWpE71QD1uEcDzJN4hn9PZe8rrwdX+gyi/U6nmmdm0wk/OZ1a4ieZ84qu
sH6FFL5BSr0Q3eQUUBdcno2YM/jyzLxBKk7Uq2rpvWim3wcz1MsTWZferoKY
xw0b2tHYHvGfHHe9+eo1IuxQSP284rbUrKni9yaWkKFTrvrj6OiPx0eUWA5h
DktSKLrz5PDRKA1nMGeqmlut7oaJ3WaNk/UTSZuTxV8OrWV7wvRgpJ/OIUum
7ES/a9ovQ+c5y+0xY6mjhpJdXZyxBdYgE16/8a1lsvjLvABmsOsbYAZ92eqJ
xqpe4ut93V/O/1kmue7fr5qHwC/UgasZNttxfGPoqgZb8ZACoT8/6PdptC3o
b/tD8VdwZgeRJfVbWl3f5ttE9W2ftmgovJEd4Nta2bFButEK7jr3f12BHHyp
rn7J3piXE+qS68sD/J0vI/d1KF6RQWxJ8K3urUWz3Jn6Lz3GXs9DnRa4z/k3
z+M7mmT6T1BRJSGNajXM4AzUMXb9xlJnM7a3b6a7c6a/T+XTdM9s3T9TR8Wd
mPvoNpodGmmaLNr//uBDl+7uGgfpZqfh7m4b7tSLEj698irm2w6PXscO9tOW
0Wcl/Rglrdn8IFX9ddXzfWud9Rcr2ivcc8hNp9KyjCKrg7KDMw3VmrMHofli
Rj9CDdWLsLsH50bNVr/xNfLWFA0Myp4poFsAfZaMUa3zTTgdCckZwfeGOPxp
BDj8cVpAm04CfzyOwr7tAm+wffzptv/qbqeZ4c+n8QP4s7UvoCViH8HsJ/IL
O3gFP8utBpHe7qIdvYSHQGcDhn98+yS3vtCMb/izKcbhT2+cIySfVdbH7L+O
yrKmE/Pohy/MVeLs7efaFO5aPHeEPK8sNoW+FvKO8OdF3rrg2QewwyHFrGYk
9CBy//LHRy+5XZ1HK6pueKlZR2x9xdWX8nBrmr531E6Gsf622GmF2eoDRs4r
0Rrr1Wua2iqdV5ZV/6Z/0ovL1O8giRtrsGVr9RVOrzo4zkeMXZrNnZBO6Jzv
fMCMWUvo1j/M77brrhx3WwxkbnoSOxUIHymhjaEra8imU/v09BovivPGpd5X
xzUZ7Dq36eDXWEvrFKeP804s2ObgLwkqW3tv2pS639Jmd1r19Dt9QJNVg9Lz
+rDb7rRiFydXJ+4XXmT76yV6e0Yq6ELQZ2hloZ9OUd/4xO23724uqi/HDTI5
wPYFBZqrDWZzj5oG/nr5mt3ouwP9eYbjr588we/svKxwKgq4l1d/xEFBDRvU
NSXtuvC7LZpv6uEwK6EWCTgdsx1eFWfGaX6xReNUdSqNqdfl4vz2lYGBeY3Z
1cHJU+Kv4gFp0rFDRjOves/qppYtufK8TPzXY00J7UMVwurhqBWDxlyqxg48
ypFm8b8+fHS4efEV1A6LP24uvvrur/npWOlKCAT5Aaqi2uQMHbWLb+5VzSN0
27S0sD1Hyvu1Yng47tCCHdnuwOLyrpODXZk3qoMQ56ofj11DsJK4NssU2y5p
YPVRJAQ0X+mR+BSz+opc+yNtX+i+sXCS4PfsfP7rxZmGvOVRmXcA6W8cWWpU
VH1r1lcsW1+45O/w258z/DzPfRI2vjGlXrQAtjDFGZqveeEXIPNozklHBX2G
iIXm+4L2l5oj9d33lJINavg1E4jww6l5hiEvwzl0fsfW+2k+/Mij+tYVl36p
IjG76apTAtXH9TAtBwD9qVtY6fPbu9M3Vy+rDyIx51ug9P2dw8dkvXjUEa4B
i/lO7tU5DaVPg6qx2twfPT7S37vFry3jw8lqYU+it5lYpTye6c6zn8dKeXj8
zYAe31Ix7u7N2Rvg1QCjU/tvAF69lcmAAAA=

-->

</rfc>
