diff --git a/generated/tapi/yang.go b/generated/tapi/yang.go index 2e66eb8d47ad64520a4ccbf7c81807e4e6759808..76fc05c07ff3f51bc7582abdc63b3570681b9f5e 100644 --- a/generated/tapi/yang.go +++ b/generated/tapi/yang.go @@ -7,6 +7,7 @@ in this case). This package was generated by /Users/mk/go/pkg/mod/github.com/openconfig/ygot@v0.8.7/genutil/names.go using the following YANG input files: - ../../models/tapi-topology@2019-03-31.yang + - ../../models/tapi-connectivity@2019-03-31.yang Imported modules were sourced from: - ../../yang/... */ @@ -113,7 +114,9 @@ func (t *Device) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes // TapiCommon_Context represents the /tapi-common/context YANG schema element. type TapiCommon_Context struct { + ConnectivityContext *TapiCommon_Context_ConnectivityContext `path:"connectivity-context" module:"tapi-connectivity"` Name map[string]*TapiCommon_Context_Name `path:"name" module:"tapi-common"` + PathComputationContext *TapiCommon_Context_PathComputationContext `path:"path-computation-context" module:"tapi-path-computation"` ServiceInterfacePoint map[string]*TapiCommon_Context_ServiceInterfacePoint `path:"service-interface-point" module:"tapi-common"` TopologyContext *TapiCommon_Context_TopologyContext `path:"topology-context" module:"tapi-topology"` Uuid *string `path:"uuid" module:"tapi-common"` @@ -191,31 +194,74 @@ func (t *TapiCommon_Context) Validate(opts ...ygot.ValidationOption) error { func (t *TapiCommon_Context) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_Name represents the /tapi-common/context/name YANG schema element. -type TapiCommon_Context_Name struct { - Value *string `path:"value" module:"tapi-common"` - ValueName *string `path:"value-name" module:"tapi-common"` +// TapiCommon_Context_ConnectivityContext represents the /tapi-common/context/connectivity-context YANG schema element. +type TapiCommon_Context_ConnectivityContext struct { + Connection map[string]*TapiCommon_Context_ConnectivityContext_Connection `path:"connection" module:"tapi-connectivity"` + ConnectivityService map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService `path:"connectivity-service" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_Name implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_Name) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_Name struct, which is a YANG list entry. -func (t *TapiCommon_Context_Name) ΛListKeyMap() (map[string]interface{}, error) { - if t.ValueName == nil { - return nil, fmt.Errorf("nil value for key ValueName") +// NewConnection creates a new entry in the Connection list of the +// TapiCommon_Context_ConnectivityContext struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_ConnectivityContext) NewConnection(Uuid string) (*TapiCommon_Context_ConnectivityContext_Connection, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Connection == nil { + t.Connection = make(map[string]*TapiCommon_Context_ConnectivityContext_Connection) } - return map[string]interface{}{ - "value-name": *t.ValueName, - }, nil + key := Uuid + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Connection[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Connection", key) + } + + t.Connection[key] = &TapiCommon_Context_ConnectivityContext_Connection{ + Uuid: &Uuid, + } + + return t.Connection[key], nil +} + +// NewConnectivityService creates a new entry in the ConnectivityService list of the +// TapiCommon_Context_ConnectivityContext struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_ConnectivityContext) NewConnectivityService(Uuid string) (*TapiCommon_Context_ConnectivityContext_ConnectivityService, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.ConnectivityService == nil { + t.ConnectivityService = make(map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService) + } + + key := Uuid + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.ConnectivityService[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list ConnectivityService", key) + } + + t.ConnectivityService[key] = &TapiCommon_Context_ConnectivityContext_ConnectivityService{ + Uuid: &Uuid, + } + + return t.ConnectivityService[key], nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_Name) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_Name"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext"], t, opts...); err != nil { return err } return nil @@ -223,37 +269,115 @@ func (t *TapiCommon_Context_Name) Validate(opts ...ygot.ValidationOption) error // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_Connection represents the /tapi-common/context/connectivity-context/connection YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection struct { + BoundingNode *TapiCommon_Context_ConnectivityContext_Connection_BoundingNode `path:"bounding-node" module:"tapi-connectivity"` + ConnectionEndPoint map[TapiCommon_Context_ConnectivityContext_Connection_ConnectionEndPoint_Key]*TapiCommon_Context_ConnectivityContext_Connection_ConnectionEndPoint `path:"connection-end-point" module:"tapi-connectivity"` + Direction E_TapiConnectivity_ForwardingDirection `path:"direction" module:"tapi-connectivity"` + LayerProtocolName E_TapiConnectivity_LayerProtocolName `path:"layer-protocol-name" module:"tapi-connectivity"` + LifecycleState E_TapiCommon_LifecycleState `path:"lifecycle-state" module:"tapi-connectivity"` + LowerConnection map[string]*TapiCommon_Context_ConnectivityContext_Connection_LowerConnection `path:"lower-connection" module:"tapi-connectivity"` + Name map[string]*TapiCommon_Context_ConnectivityContext_Connection_Name `path:"name" module:"tapi-connectivity"` + OperationalState E_TapiCommon_OperationalState `path:"operational-state" module:"tapi-connectivity"` + Route map[string]*TapiCommon_Context_ConnectivityContext_Connection_Route `path:"route" module:"tapi-connectivity"` + SupportedClientLink map[TapiCommon_Context_ConnectivityContext_Connection_SupportedClientLink_Key]*TapiCommon_Context_ConnectivityContext_Connection_SupportedClientLink `path:"supported-client-link" module:"tapi-connectivity"` + SwitchControl map[string]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl `path:"switch-control" module:"tapi-connectivity"` + Uuid *string `path:"uuid" module:"tapi-connectivity"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_Connection) IsYANGGoStruct() {} +// TapiCommon_Context_ConnectivityContext_Connection_ConnectionEndPoint_Key represents the key for list ConnectionEndPoint of element /tapi-common/context/connectivity-context/connection. +type TapiCommon_Context_ConnectivityContext_Connection_ConnectionEndPoint_Key struct { + TopologyUuid string `path:"topology-uuid"` + NodeUuid string `path:"node-uuid"` + NodeEdgePointUuid string `path:"node-edge-point-uuid"` + ConnectionEndPointUuid string `path:"connection-end-point-uuid"` +} -// TapiCommon_Context_ServiceInterfacePoint represents the /tapi-common/context/service-interface-point YANG schema element. -type TapiCommon_Context_ServiceInterfacePoint struct { - AdministrativeState E_TapiCommon_AdministrativeState `path:"administrative-state" module:"tapi-common"` - AvailableCapacity *TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity `path:"available-capacity" module:"tapi-common"` - Direction E_TapiCommon_PortDirection `path:"direction" module:"tapi-common"` - LayerProtocolName E_TapiCommon_LayerProtocolName `path:"layer-protocol-name" module:"tapi-common"` - LifecycleState E_TapiCommon_LifecycleState `path:"lifecycle-state" module:"tapi-common"` - Name map[string]*TapiCommon_Context_ServiceInterfacePoint_Name `path:"name" module:"tapi-common"` - OperationalState E_TapiCommon_OperationalState `path:"operational-state" module:"tapi-common"` - SupportedLayerProtocolQualifier []E_TapiCommon_LayerProtocolQualifier `path:"supported-layer-protocol-qualifier" module:"tapi-common"` - TotalPotentialCapacity *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-common"` - Uuid *string `path:"uuid" module:"tapi-common"` +// TapiCommon_Context_ConnectivityContext_Connection_SupportedClientLink_Key represents the key for list SupportedClientLink of element /tapi-common/context/connectivity-context/connection. +type TapiCommon_Context_ConnectivityContext_Connection_SupportedClientLink_Key struct { + TopologyUuid string `path:"topology-uuid"` + LinkUuid string `path:"link-uuid"` } -// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_ServiceInterfacePoint) IsYANGGoStruct() {} +// NewConnectionEndPoint creates a new entry in the ConnectionEndPoint list of the +// TapiCommon_Context_ConnectivityContext_Connection struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_ConnectivityContext_Connection) NewConnectionEndPoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string, ConnectionEndPointUuid string) (*TapiCommon_Context_ConnectivityContext_Connection_ConnectionEndPoint, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.ConnectionEndPoint == nil { + t.ConnectionEndPoint = make(map[TapiCommon_Context_ConnectivityContext_Connection_ConnectionEndPoint_Key]*TapiCommon_Context_ConnectivityContext_Connection_ConnectionEndPoint) + } + + key := TapiCommon_Context_ConnectivityContext_Connection_ConnectionEndPoint_Key{ + TopologyUuid: TopologyUuid, + NodeUuid: NodeUuid, + NodeEdgePointUuid: NodeEdgePointUuid, + ConnectionEndPointUuid: ConnectionEndPointUuid, + } + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.ConnectionEndPoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list ConnectionEndPoint", key) + } + + t.ConnectionEndPoint[key] = &TapiCommon_Context_ConnectivityContext_Connection_ConnectionEndPoint{ + TopologyUuid: &TopologyUuid, + NodeUuid: &NodeUuid, + NodeEdgePointUuid: &NodeEdgePointUuid, + ConnectionEndPointUuid: &ConnectionEndPointUuid, + } + + return t.ConnectionEndPoint[key], nil +} + +// NewLowerConnection creates a new entry in the LowerConnection list of the +// TapiCommon_Context_ConnectivityContext_Connection struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_ConnectivityContext_Connection) NewLowerConnection(ConnectionUuid string) (*TapiCommon_Context_ConnectivityContext_Connection_LowerConnection, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.LowerConnection == nil { + t.LowerConnection = make(map[string]*TapiCommon_Context_ConnectivityContext_Connection_LowerConnection) + } + + key := ConnectionUuid + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.LowerConnection[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list LowerConnection", key) + } + + t.LowerConnection[key] = &TapiCommon_Context_ConnectivityContext_Connection_LowerConnection{ + ConnectionUuid: &ConnectionUuid, + } + + return t.LowerConnection[key], nil +} // NewName creates a new entry in the Name list of the -// TapiCommon_Context_ServiceInterfacePoint struct. The keys of the list are populated from the input +// TapiCommon_Context_ConnectivityContext_Connection struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_ServiceInterfacePoint) NewName(ValueName string) (*TapiCommon_Context_ServiceInterfacePoint_Name, error){ +func (t *TapiCommon_Context_ConnectivityContext_Connection) NewName(ValueName string) (*TapiCommon_Context_ConnectivityContext_Connection_Name, error){ // Initialise the list within the receiver struct if it has not already been // created. if t.Name == nil { - t.Name = make(map[string]*TapiCommon_Context_ServiceInterfacePoint_Name) + t.Name = make(map[string]*TapiCommon_Context_ConnectivityContext_Connection_Name) } key := ValueName @@ -265,15 +389,100 @@ func (t *TapiCommon_Context_ServiceInterfacePoint) NewName(ValueName string) (*T return nil, fmt.Errorf("duplicate key %v for list Name", key) } - t.Name[key] = &TapiCommon_Context_ServiceInterfacePoint_Name{ + t.Name[key] = &TapiCommon_Context_ConnectivityContext_Connection_Name{ ValueName: &ValueName, } return t.Name[key], nil } -// ΛListKeyMap returns the keys of the TapiCommon_Context_ServiceInterfacePoint struct, which is a YANG list entry. -func (t *TapiCommon_Context_ServiceInterfacePoint) ΛListKeyMap() (map[string]interface{}, error) { +// NewRoute creates a new entry in the Route list of the +// TapiCommon_Context_ConnectivityContext_Connection struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_ConnectivityContext_Connection) NewRoute(LocalId string) (*TapiCommon_Context_ConnectivityContext_Connection_Route, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Route == nil { + t.Route = make(map[string]*TapiCommon_Context_ConnectivityContext_Connection_Route) + } + + key := LocalId + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Route[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Route", key) + } + + t.Route[key] = &TapiCommon_Context_ConnectivityContext_Connection_Route{ + LocalId: &LocalId, + } + + return t.Route[key], nil +} + +// NewSupportedClientLink creates a new entry in the SupportedClientLink list of the +// TapiCommon_Context_ConnectivityContext_Connection struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_ConnectivityContext_Connection) NewSupportedClientLink(TopologyUuid string, LinkUuid string) (*TapiCommon_Context_ConnectivityContext_Connection_SupportedClientLink, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.SupportedClientLink == nil { + t.SupportedClientLink = make(map[TapiCommon_Context_ConnectivityContext_Connection_SupportedClientLink_Key]*TapiCommon_Context_ConnectivityContext_Connection_SupportedClientLink) + } + + key := TapiCommon_Context_ConnectivityContext_Connection_SupportedClientLink_Key{ + TopologyUuid: TopologyUuid, + LinkUuid: LinkUuid, + } + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.SupportedClientLink[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list SupportedClientLink", key) + } + + t.SupportedClientLink[key] = &TapiCommon_Context_ConnectivityContext_Connection_SupportedClientLink{ + TopologyUuid: &TopologyUuid, + LinkUuid: &LinkUuid, + } + + return t.SupportedClientLink[key], nil +} + +// NewSwitchControl creates a new entry in the SwitchControl list of the +// TapiCommon_Context_ConnectivityContext_Connection struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_ConnectivityContext_Connection) NewSwitchControl(Uuid string) (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.SwitchControl == nil { + t.SwitchControl = make(map[string]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl) + } + + key := Uuid + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.SwitchControl[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list SwitchControl", key) + } + + t.SwitchControl[key] = &TapiCommon_Context_ConnectivityContext_Connection_SwitchControl{ + Uuid: &Uuid, + } + + return t.SwitchControl[key], nil +} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_Connection struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_Connection) ΛListKeyMap() (map[string]interface{}, error) { if t.Uuid == nil { return nil, fmt.Errorf("nil value for key Uuid") } @@ -284,8 +493,8 @@ func (t *TapiCommon_Context_ServiceInterfacePoint) ΛListKeyMap() (map[string]in } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_ServiceInterfacePoint) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_Connection) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection"], t, opts...); err != nil { return err } return nil @@ -293,22 +502,23 @@ func (t *TapiCommon_Context_ServiceInterfacePoint) Validate(opts ...ygot.Validat // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_ServiceInterfacePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_Connection) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity represents the /tapi-common/context/service-interface-point/available-capacity YANG schema element. -type TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity struct { - TotalSize *TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity_TotalSize `path:"total-size" module:"tapi-common"` +// TapiCommon_Context_ConnectivityContext_Connection_BoundingNode represents the /tapi-common/context/connectivity-context/connection/bounding-node YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_BoundingNode struct { + NodeUuid *string `path:"node-uuid" module:"tapi-connectivity"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_BoundingNode implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_Connection_BoundingNode) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_Connection_BoundingNode) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_BoundingNode"], t, opts...); err != nil { return err } return nil @@ -316,23 +526,51 @@ func (t *TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity) Validate(op // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_Connection_BoundingNode) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity_TotalSize represents the /tapi-common/context/service-interface-point/available-capacity/total-size YANG schema element. -type TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity_TotalSize struct { - Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-common"` - Value *uint64 `path:"value" module:"tapi-common"` +// TapiCommon_Context_ConnectivityContext_Connection_ConnectionEndPoint represents the /tapi-common/context/connectivity-context/connection/connection-end-point YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_ConnectionEndPoint struct { + ConnectionEndPointUuid *string `path:"connection-end-point-uuid" module:"tapi-connectivity"` + NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-connectivity"` + NodeUuid *string `path:"node-uuid" module:"tapi-connectivity"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity_TotalSize implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_ConnectionEndPoint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity_TotalSize) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_Connection_ConnectionEndPoint) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_Connection_ConnectionEndPoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_Connection_ConnectionEndPoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.ConnectionEndPointUuid == nil { + return nil, fmt.Errorf("nil value for key ConnectionEndPointUuid") + } + + if t.NodeEdgePointUuid == nil { + return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") + } + + if t.NodeUuid == nil { + return nil, fmt.Errorf("nil value for key NodeUuid") + } + + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") + } + + return map[string]interface{}{ + "connection-end-point-uuid": *t.ConnectionEndPointUuid, + "node-edge-point-uuid": *t.NodeEdgePointUuid, + "node-uuid": *t.NodeUuid, + "topology-uuid": *t.TopologyUuid, + }, nil +} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity_TotalSize"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_Connection_ConnectionEndPoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_ConnectionEndPoint"], t, opts...); err != nil { return err } return nil @@ -340,34 +578,33 @@ func (t *TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity_TotalSize) V // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_Connection_ConnectionEndPoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_ServiceInterfacePoint_Name represents the /tapi-common/context/service-interface-point/name YANG schema element. -type TapiCommon_Context_ServiceInterfacePoint_Name struct { - Value *string `path:"value" module:"tapi-common"` - ValueName *string `path:"value-name" module:"tapi-common"` +// TapiCommon_Context_ConnectivityContext_Connection_LowerConnection represents the /tapi-common/context/connectivity-context/connection/lower-connection YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_LowerConnection struct { + ConnectionUuid *string `path:"connection-uuid" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_Name implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_LowerConnection implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_ServiceInterfacePoint_Name) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_Connection_LowerConnection) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_ServiceInterfacePoint_Name struct, which is a YANG list entry. -func (t *TapiCommon_Context_ServiceInterfacePoint_Name) ΛListKeyMap() (map[string]interface{}, error) { - if t.ValueName == nil { - return nil, fmt.Errorf("nil value for key ValueName") +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_Connection_LowerConnection struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_Connection_LowerConnection) ΛListKeyMap() (map[string]interface{}, error) { + if t.ConnectionUuid == nil { + return nil, fmt.Errorf("nil value for key ConnectionUuid") } return map[string]interface{}{ - "value-name": *t.ValueName, + "connection-uuid": *t.ConnectionUuid, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_ServiceInterfacePoint_Name) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_Name"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_Connection_LowerConnection) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_LowerConnection"], t, opts...); err != nil { return err } return nil @@ -375,22 +612,34 @@ func (t *TapiCommon_Context_ServiceInterfacePoint_Name) Validate(opts ...ygot.Va // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_ServiceInterfacePoint_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_Connection_LowerConnection) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity represents the /tapi-common/context/service-interface-point/total-potential-capacity YANG schema element. -type TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity struct { - TotalSize *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize `path:"total-size" module:"tapi-common"` +// TapiCommon_Context_ConnectivityContext_Connection_Name represents the /tapi-common/context/connectivity-context/connection/name YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_Name struct { + Value *string `path:"value" module:"tapi-connectivity"` + ValueName *string `path:"value-name" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_Name implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_Connection_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_Connection_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_Connection_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_Connection_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_Name"], t, opts...); err != nil { return err } return nil @@ -398,105 +647,74 @@ func (t *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity) Valida // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_Connection_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize represents the /tapi-common/context/service-interface-point/total-potential-capacity/total-size YANG schema element. -type TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize struct { - Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-common"` - Value *uint64 `path:"value" module:"tapi-common"` +// TapiCommon_Context_ConnectivityContext_Connection_Route represents the /tapi-common/context/connectivity-context/connection/route YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_Route struct { + ConnectionEndPoint map[TapiCommon_Context_ConnectivityContext_Connection_Route_ConnectionEndPoint_Key]*TapiCommon_Context_ConnectivityContext_Connection_Route_ConnectionEndPoint `path:"connection-end-point" module:"tapi-connectivity"` + LocalId *string `path:"local-id" module:"tapi-connectivity"` + Name map[string]*TapiCommon_Context_ConnectivityContext_Connection_Route_Name `path:"name" module:"tapi-connectivity"` + ResilienceRoute *TapiCommon_Context_ConnectivityContext_Connection_Route_ResilienceRoute `path:"resilience-route" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_Route implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize) IsYANGGoStruct() {} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize"], t, opts...); err != nil { - return err - } - return nil -} +func (*TapiCommon_Context_ConnectivityContext_Connection_Route) IsYANGGoStruct() {} -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - - -// TapiCommon_Context_TopologyContext represents the /tapi-common/context/topology-context YANG schema element. -type TapiCommon_Context_TopologyContext struct { - NwTopologyService *TapiCommon_Context_TopologyContext_NwTopologyService `path:"nw-topology-service" module:"tapi-topology"` - Topology map[string]*TapiCommon_Context_TopologyContext_Topology `path:"topology" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_Connection_Route_ConnectionEndPoint_Key represents the key for list ConnectionEndPoint of element /tapi-common/context/connectivity-context/connection/route. +type TapiCommon_Context_ConnectivityContext_Connection_Route_ConnectionEndPoint_Key struct { + TopologyUuid string `path:"topology-uuid"` + NodeUuid string `path:"node-uuid"` + NodeEdgePointUuid string `path:"node-edge-point-uuid"` + ConnectionEndPointUuid string `path:"connection-end-point-uuid"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext) IsYANGGoStruct() {} - -// NewTopology creates a new entry in the Topology list of the -// TapiCommon_Context_TopologyContext struct. The keys of the list are populated from the input +// NewConnectionEndPoint creates a new entry in the ConnectionEndPoint list of the +// TapiCommon_Context_ConnectivityContext_Connection_Route struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext) NewTopology(Uuid string) (*TapiCommon_Context_TopologyContext_Topology, error){ +func (t *TapiCommon_Context_ConnectivityContext_Connection_Route) NewConnectionEndPoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string, ConnectionEndPointUuid string) (*TapiCommon_Context_ConnectivityContext_Connection_Route_ConnectionEndPoint, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.Topology == nil { - t.Topology = make(map[string]*TapiCommon_Context_TopologyContext_Topology) + if t.ConnectionEndPoint == nil { + t.ConnectionEndPoint = make(map[TapiCommon_Context_ConnectivityContext_Connection_Route_ConnectionEndPoint_Key]*TapiCommon_Context_ConnectivityContext_Connection_Route_ConnectionEndPoint) } - key := Uuid + key := TapiCommon_Context_ConnectivityContext_Connection_Route_ConnectionEndPoint_Key{ + TopologyUuid: TopologyUuid, + NodeUuid: NodeUuid, + NodeEdgePointUuid: NodeEdgePointUuid, + ConnectionEndPointUuid: ConnectionEndPointUuid, + } // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.Topology[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Topology", key) - } - - t.Topology[key] = &TapiCommon_Context_TopologyContext_Topology{ - Uuid: &Uuid, + if _, ok := t.ConnectionEndPoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list ConnectionEndPoint", key) } - return t.Topology[key], nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext"], t, opts...); err != nil { - return err + t.ConnectionEndPoint[key] = &TapiCommon_Context_ConnectivityContext_Connection_Route_ConnectionEndPoint{ + TopologyUuid: &TopologyUuid, + NodeUuid: &NodeUuid, + NodeEdgePointUuid: &NodeEdgePointUuid, + ConnectionEndPointUuid: &ConnectionEndPointUuid, } - return nil -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - -// TapiCommon_Context_TopologyContext_NwTopologyService represents the /tapi-common/context/topology-context/nw-topology-service YANG schema element. -type TapiCommon_Context_TopologyContext_NwTopologyService struct { - Name map[string]*TapiCommon_Context_TopologyContext_NwTopologyService_Name `path:"name" module:"tapi-topology"` - Topology map[string]*TapiCommon_Context_TopologyContext_NwTopologyService_Topology `path:"topology" module:"tapi-topology"` - Uuid *string `path:"uuid" module:"tapi-topology"` + return t.ConnectionEndPoint[key], nil } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_NwTopologyService implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_NwTopologyService) IsYANGGoStruct() {} - // NewName creates a new entry in the Name list of the -// TapiCommon_Context_TopologyContext_NwTopologyService struct. The keys of the list are populated from the input +// TapiCommon_Context_ConnectivityContext_Connection_Route struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_NwTopologyService) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_NwTopologyService_Name, error){ +func (t *TapiCommon_Context_ConnectivityContext_Connection_Route) NewName(ValueName string) (*TapiCommon_Context_ConnectivityContext_Connection_Route_Name, error){ // Initialise the list within the receiver struct if it has not already been // created. if t.Name == nil { - t.Name = make(map[string]*TapiCommon_Context_TopologyContext_NwTopologyService_Name) + t.Name = make(map[string]*TapiCommon_Context_ConnectivityContext_Connection_Route_Name) } key := ValueName @@ -508,43 +726,79 @@ func (t *TapiCommon_Context_TopologyContext_NwTopologyService) NewName(ValueName return nil, fmt.Errorf("duplicate key %v for list Name", key) } - t.Name[key] = &TapiCommon_Context_TopologyContext_NwTopologyService_Name{ + t.Name[key] = &TapiCommon_Context_ConnectivityContext_Connection_Route_Name{ ValueName: &ValueName, } return t.Name[key], nil } -// NewTopology creates a new entry in the Topology list of the -// TapiCommon_Context_TopologyContext_NwTopologyService struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_NwTopologyService) NewTopology(TopologyUuid string) (*TapiCommon_Context_TopologyContext_NwTopologyService_Topology, error){ +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_Connection_Route struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_Connection_Route) ΛListKeyMap() (map[string]interface{}, error) { + if t.LocalId == nil { + return nil, fmt.Errorf("nil value for key LocalId") + } - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Topology == nil { - t.Topology = make(map[string]*TapiCommon_Context_TopologyContext_NwTopologyService_Topology) + return map[string]interface{}{ + "local-id": *t.LocalId, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_Connection_Route) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_Route"], t, opts...); err != nil { + return err } + return nil +} - key := TopologyUuid +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_Connection_Route) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Topology[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Topology", key) + +// TapiCommon_Context_ConnectivityContext_Connection_Route_ConnectionEndPoint represents the /tapi-common/context/connectivity-context/connection/route/connection-end-point YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_Route_ConnectionEndPoint struct { + ConnectionEndPointUuid *string `path:"connection-end-point-uuid" module:"tapi-connectivity"` + NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-connectivity"` + NodeUuid *string `path:"node-uuid" module:"tapi-connectivity"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-connectivity"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_Route_ConnectionEndPoint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_Connection_Route_ConnectionEndPoint) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_Connection_Route_ConnectionEndPoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_Connection_Route_ConnectionEndPoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.ConnectionEndPointUuid == nil { + return nil, fmt.Errorf("nil value for key ConnectionEndPointUuid") } - t.Topology[key] = &TapiCommon_Context_TopologyContext_NwTopologyService_Topology{ - TopologyUuid: &TopologyUuid, + if t.NodeEdgePointUuid == nil { + return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") } - return t.Topology[key], nil + if t.NodeUuid == nil { + return nil, fmt.Errorf("nil value for key NodeUuid") + } + + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") + } + + return map[string]interface{}{ + "connection-end-point-uuid": *t.ConnectionEndPointUuid, + "node-edge-point-uuid": *t.NodeEdgePointUuid, + "node-uuid": *t.NodeUuid, + "topology-uuid": *t.TopologyUuid, + }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_NwTopologyService) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_NwTopologyService"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_Connection_Route_ConnectionEndPoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_Route_ConnectionEndPoint"], t, opts...); err != nil { return err } return nil @@ -552,22 +806,22 @@ func (t *TapiCommon_Context_TopologyContext_NwTopologyService) Validate(opts ... // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_NwTopologyService) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_Connection_Route_ConnectionEndPoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_NwTopologyService_Name represents the /tapi-common/context/topology-context/nw-topology-service/name YANG schema element. -type TapiCommon_Context_TopologyContext_NwTopologyService_Name struct { - Value *string `path:"value" module:"tapi-topology"` - ValueName *string `path:"value-name" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_Connection_Route_Name represents the /tapi-common/context/connectivity-context/connection/route/name YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_Route_Name struct { + Value *string `path:"value" module:"tapi-connectivity"` + ValueName *string `path:"value-name" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_NwTopologyService_Name implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_Route_Name implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_NwTopologyService_Name) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_Connection_Route_Name) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_NwTopologyService_Name struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Name) ΛListKeyMap() (map[string]interface{}, error) { +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_Connection_Route_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_Connection_Route_Name) ΛListKeyMap() (map[string]interface{}, error) { if t.ValueName == nil { return nil, fmt.Errorf("nil value for key ValueName") } @@ -578,8 +832,8 @@ func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Name) ΛListKeyMap } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Name) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_NwTopologyService_Name"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_Connection_Route_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_Route_Name"], t, opts...); err != nil { return err } return nil @@ -587,33 +841,63 @@ func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Name) Validate(opt // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_Connection_Route_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_NwTopologyService_Topology represents the /tapi-common/context/topology-context/nw-topology-service/topology YANG schema element. -type TapiCommon_Context_TopologyContext_NwTopologyService_Topology struct { - TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_Connection_Route_ResilienceRoute represents the /tapi-common/context/connectivity-context/connection/route/resilience-route YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_Route_ResilienceRoute struct { + Priority *uint64 `path:"priority" module:"tapi-connectivity"` + RouteState E_TapiConnectivity_RouteState `path:"route-state" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_NwTopologyService_Topology implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_Route_ResilienceRoute implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_NwTopologyService_Topology) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_Connection_Route_ResilienceRoute) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_Connection_Route_ResilienceRoute) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_Route_ResilienceRoute"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_Connection_Route_ResilienceRoute) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_Connection_SupportedClientLink represents the /tapi-common/context/connectivity-context/connection/supported-client-link YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_SupportedClientLink struct { + LinkUuid *string `path:"link-uuid" module:"tapi-connectivity"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-connectivity"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_SupportedClientLink implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_Connection_SupportedClientLink) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_Connection_SupportedClientLink struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SupportedClientLink) ΛListKeyMap() (map[string]interface{}, error) { + if t.LinkUuid == nil { + return nil, fmt.Errorf("nil value for key LinkUuid") + } -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_NwTopologyService_Topology struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Topology) ΛListKeyMap() (map[string]interface{}, error) { if t.TopologyUuid == nil { return nil, fmt.Errorf("nil value for key TopologyUuid") } return map[string]interface{}{ + "link-uuid": *t.LinkUuid, "topology-uuid": *t.TopologyUuid, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Topology) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_NwTopologyService_Topology"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_Connection_SupportedClientLink) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_SupportedClientLink"], t, opts...); err != nil { return err } return nil @@ -621,147 +905,156 @@ func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Topology) Validate // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Topology) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - - -// TapiCommon_Context_TopologyContext_Topology represents the /tapi-common/context/topology-context/topology YANG schema element. -type TapiCommon_Context_TopologyContext_Topology struct { - BoundaryNodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint `path:"boundary-node-edge-point" module:"tapi-topology"` - LayerProtocolName []E_TapiTopology_LayerProtocolName `path:"layer-protocol-name" module:"tapi-topology"` - Link map[string]*TapiCommon_Context_TopologyContext_Topology_Link `path:"link" module:"tapi-topology"` - Name map[string]*TapiCommon_Context_TopologyContext_Topology_Name `path:"name" module:"tapi-topology"` - Node map[string]*TapiCommon_Context_TopologyContext_Topology_Node `path:"node" module:"tapi-topology"` - Uuid *string `path:"uuid" module:"tapi-topology"` -} - -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology implements the yang.GoStruct +func (t *TapiCommon_Context_ConnectivityContext_Connection_SupportedClientLink) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl represents the /tapi-common/context/connectivity-context/connection/switch-control YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_SwitchControl struct { + FaultConditionDetermination E_TapiConnectivity_FaultConditionDetermination `path:"fault-condition-determination" module:"tapi-connectivity"` + HoldOffTime *uint64 `path:"hold-off-time" module:"tapi-connectivity"` + IsCoordinatedSwitchingBothEnds *bool `path:"is-coordinated-switching-both-ends" module:"tapi-connectivity"` + IsFrozen *bool `path:"is-frozen" module:"tapi-connectivity"` + IsLockOut *bool `path:"is-lock-out" module:"tapi-connectivity"` + MaxSwitchTimes *uint64 `path:"max-switch-times" module:"tapi-connectivity"` + Name map[string]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Name `path:"name" module:"tapi-connectivity"` + PreferredRestorationLayer []E_TapiConnectivity_LayerProtocolName `path:"preferred-restoration-layer" module:"tapi-connectivity"` + ResilienceType *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResilienceType `path:"resilience-type" module:"tapi-connectivity"` + ResiliencyRouteConstraint map[string]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint `path:"resiliency-route-constraint" module:"tapi-connectivity"` + RestorationCoordinateType E_TapiConnectivity_CoordinateType `path:"restoration-coordinate-type" module:"tapi-connectivity"` + RestorePriority *uint64 `path:"restore-priority" module:"tapi-connectivity"` + ReversionMode E_TapiConnectivity_ReversionMode `path:"reversion-mode" module:"tapi-connectivity"` + SelectionControl E_TapiConnectivity_SelectionControl `path:"selection-control" module:"tapi-connectivity"` + SubSwitchControl map[TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_SubSwitchControl_Key]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_SubSwitchControl `path:"sub-switch-control" module:"tapi-connectivity"` + Switch map[string]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch `path:"switch" module:"tapi-connectivity"` + Uuid *string `path:"uuid" module:"tapi-connectivity"` + WaitToRevertTime *uint64 `path:"wait-to-revert-time" module:"tapi-connectivity"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_SwitchControl implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl) IsYANGGoStruct() {} -// TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint_Key represents the key for list BoundaryNodeEdgePoint of element /tapi-common/context/topology-context/topology. -type TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint_Key struct { - TopologyUuid string `path:"topology-uuid"` - NodeUuid string `path:"node-uuid"` - NodeEdgePointUuid string `path:"node-edge-point-uuid"` +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_SubSwitchControl_Key represents the key for list SubSwitchControl of element /tapi-common/context/connectivity-context/connection/switch-control. +type TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_SubSwitchControl_Key struct { + ConnectionUuid string `path:"connection-uuid"` + SwitchControlUuid string `path:"switch-control-uuid"` } -// NewBoundaryNodeEdgePoint creates a new entry in the BoundaryNodeEdgePoint list of the -// TapiCommon_Context_TopologyContext_Topology struct. The keys of the list are populated from the input +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology) NewBoundaryNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint, error){ +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl) NewName(ValueName string) (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Name, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.BoundaryNodeEdgePoint == nil { - t.BoundaryNodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint) + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Name) } - key := TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint_Key{ - TopologyUuid: TopologyUuid, - NodeUuid: NodeUuid, - NodeEdgePointUuid: NodeEdgePointUuid, - } + key := ValueName // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.BoundaryNodeEdgePoint[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list BoundaryNodeEdgePoint", key) + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) } - t.BoundaryNodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint{ - TopologyUuid: &TopologyUuid, - NodeUuid: &NodeUuid, - NodeEdgePointUuid: &NodeEdgePointUuid, + t.Name[key] = &TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Name{ + ValueName: &ValueName, } - return t.BoundaryNodeEdgePoint[key], nil + return t.Name[key], nil } -// NewLink creates a new entry in the Link list of the -// TapiCommon_Context_TopologyContext_Topology struct. The keys of the list are populated from the input +// NewResiliencyRouteConstraint creates a new entry in the ResiliencyRouteConstraint list of the +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology) NewLink(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Link, error){ +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl) NewResiliencyRouteConstraint(LocalId string) (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.Link == nil { - t.Link = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link) + if t.ResiliencyRouteConstraint == nil { + t.ResiliencyRouteConstraint = make(map[string]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint) } - key := Uuid + key := LocalId // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.Link[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Link", key) + if _, ok := t.ResiliencyRouteConstraint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list ResiliencyRouteConstraint", key) } - t.Link[key] = &TapiCommon_Context_TopologyContext_Topology_Link{ - Uuid: &Uuid, + t.ResiliencyRouteConstraint[key] = &TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint{ + LocalId: &LocalId, } - return t.Link[key], nil + return t.ResiliencyRouteConstraint[key], nil } -// NewName creates a new entry in the Name list of the -// TapiCommon_Context_TopologyContext_Topology struct. The keys of the list are populated from the input +// NewSubSwitchControl creates a new entry in the SubSwitchControl list of the +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Name, error){ +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl) NewSubSwitchControl(ConnectionUuid string, SwitchControlUuid string) (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_SubSwitchControl, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.Name == nil { - t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Name) + if t.SubSwitchControl == nil { + t.SubSwitchControl = make(map[TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_SubSwitchControl_Key]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_SubSwitchControl) } - key := ValueName + key := TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_SubSwitchControl_Key{ + ConnectionUuid: ConnectionUuid, + SwitchControlUuid: SwitchControlUuid, + } // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.Name[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Name", key) + if _, ok := t.SubSwitchControl[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list SubSwitchControl", key) } - t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Name{ - ValueName: &ValueName, + t.SubSwitchControl[key] = &TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_SubSwitchControl{ + ConnectionUuid: &ConnectionUuid, + SwitchControlUuid: &SwitchControlUuid, } - return t.Name[key], nil + return t.SubSwitchControl[key], nil } -// NewNode creates a new entry in the Node list of the -// TapiCommon_Context_TopologyContext_Topology struct. The keys of the list are populated from the input +// NewSwitch creates a new entry in the Switch list of the +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology) NewNode(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Node, error){ +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl) NewSwitch(LocalId string) (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.Node == nil { - t.Node = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node) + if t.Switch == nil { + t.Switch = make(map[string]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch) } - key := Uuid + key := LocalId // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.Node[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Node", key) + if _, ok := t.Switch[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Switch", key) } - t.Node[key] = &TapiCommon_Context_TopologyContext_Topology_Node{ - Uuid: &Uuid, + t.Switch[key] = &TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch{ + LocalId: &LocalId, } - return t.Node[key], nil + return t.Switch[key], nil } -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology) ΛListKeyMap() (map[string]interface{}, error) { +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_Connection_SwitchControl struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl) ΛListKeyMap() (map[string]interface{}, error) { if t.Uuid == nil { return nil, fmt.Errorf("nil value for key Uuid") } @@ -772,8 +1065,8 @@ func (t *TapiCommon_Context_TopologyContext_Topology) ΛListKeyMap() (map[string } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_SwitchControl"], t, opts...); err != nil { return err } return nil @@ -781,45 +1074,34 @@ func (t *TapiCommon_Context_TopologyContext_Topology) Validate(opts ...ygot.Vali // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint represents the /tapi-common/context/topology-context/topology/boundary-node-edge-point YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint struct { - NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-topology"` - NodeUuid *string `path:"node-uuid" module:"tapi-topology"` - TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Name represents the /tapi-common/context/connectivity-context/connection/switch-control/name YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Name struct { + Value *string `path:"value" module:"tapi-connectivity"` + ValueName *string `path:"value-name" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Name implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Name) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { - if t.NodeEdgePointUuid == nil { - return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") - } - - if t.NodeUuid == nil { - return nil, fmt.Errorf("nil value for key NodeUuid") - } - - if t.TopologyUuid == nil { - return nil, fmt.Errorf("nil value for key TopologyUuid") +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") } return map[string]interface{}{ - "node-edge-point-uuid": *t.NodeEdgePointUuid, - "node-uuid": *t.NodeUuid, - "topology-uuid": *t.TopologyUuid, + "value-name": *t.ValueName, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Name"], t, opts...); err != nil { return err } return nil @@ -827,170 +1109,215 @@ func (t *TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint) Vali // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Link represents the /tapi-common/context/topology-context/topology/link YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link struct { - AdministrativeState E_TapiCommon_AdministrativeState `path:"administrative-state" module:"tapi-topology"` - AvailableCapacity *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity `path:"available-capacity" module:"tapi-topology"` - CostCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic `path:"cost-characteristic" module:"tapi-topology"` - DeliveryOrderCharacteristic *string `path:"delivery-order-characteristic" module:"tapi-topology"` - Direction E_TapiTopology_ForwardingDirection `path:"direction" module:"tapi-topology"` - ErrorCharacteristic *string `path:"error-characteristic" module:"tapi-topology"` - LatencyCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic `path:"latency-characteristic" module:"tapi-topology"` - LayerProtocolName []E_TapiTopology_LayerProtocolName `path:"layer-protocol-name" module:"tapi-topology"` - LifecycleState E_TapiCommon_LifecycleState `path:"lifecycle-state" module:"tapi-topology"` - LossCharacteristic *string `path:"loss-characteristic" module:"tapi-topology"` - Name map[string]*TapiCommon_Context_TopologyContext_Topology_Link_Name `path:"name" module:"tapi-topology"` - NodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint `path:"node-edge-point" module:"tapi-topology"` - OperationalState E_TapiCommon_OperationalState `path:"operational-state" module:"tapi-topology"` - RepeatDeliveryCharacteristic *string `path:"repeat-delivery-characteristic" module:"tapi-topology"` - ResilienceType *TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType `path:"resilience-type" module:"tapi-topology"` - RiskCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic `path:"risk-characteristic" module:"tapi-topology"` - ServerIntegrityProcessCharacteristic *string `path:"server-integrity-process-characteristic" module:"tapi-topology"` - TotalPotentialCapacity *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-topology"` - TransitionedLayerProtocolName []string `path:"transitioned-layer-protocol-name" module:"tapi-topology"` - UnavailableTimeCharacteristic *string `path:"unavailable-time-characteristic" module:"tapi-topology"` - Uuid *string `path:"uuid" module:"tapi-topology"` - ValidationMechanism map[string]*TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism `path:"validation-mechanism" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResilienceType represents the /tapi-common/context/connectivity-context/connection/switch-control/resilience-type YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResilienceType struct { + ProtectionType E_TapiTopology_ProtectionType `path:"protection-type" module:"tapi-connectivity"` + RestorationPolicy E_TapiTopology_RestorationPolicy `path:"restoration-policy" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResilienceType implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResilienceType) IsYANGGoStruct() {} -// TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint_Key represents the key for list NodeEdgePoint of element /tapi-common/context/topology-context/topology/link. -type TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint_Key struct { - TopologyUuid string `path:"topology-uuid"` - NodeUuid string `path:"node-uuid"` - NodeEdgePointUuid string `path:"node-edge-point-uuid"` +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResilienceType) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResilienceType"], t, opts...); err != nil { + return err + } + return nil } -// NewCostCharacteristic creates a new entry in the CostCharacteristic list of the -// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResilienceType) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint represents the /tapi-common/context/connectivity-context/connection/switch-control/resiliency-route-constraint YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint struct { + LocalId *string `path:"local-id" module:"tapi-connectivity"` + Name map[string]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_Name `path:"name" module:"tapi-connectivity"` + Priority *uint64 `path:"priority" module:"tapi-connectivity"` + RoutingConstraint *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint `path:"routing-constraint" module:"tapi-connectivity"` + TopologyConstraint *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint `path:"topology-constraint" module:"tapi-connectivity"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint) IsYANGGoStruct() {} + +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewCostCharacteristic(CostName string) (*TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic, error){ +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint) NewName(ValueName string) (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_Name, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.CostCharacteristic == nil { - t.CostCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic) + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_Name) } - key := CostName + key := ValueName // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.CostCharacteristic[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list CostCharacteristic", key) + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) } - t.CostCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic{ - CostName: &CostName, + t.Name[key] = &TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_Name{ + ValueName: &ValueName, } - return t.CostCharacteristic[key], nil + return t.Name[key], nil } -// NewLatencyCharacteristic creates a new entry in the LatencyCharacteristic list of the -// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewLatencyCharacteristic(TrafficPropertyName string) (*TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic, error){ +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint) ΛListKeyMap() (map[string]interface{}, error) { + if t.LocalId == nil { + return nil, fmt.Errorf("nil value for key LocalId") + } - // Initialise the list within the receiver struct if it has not already been - // created. - if t.LatencyCharacteristic == nil { - t.LatencyCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic) + return map[string]interface{}{ + "local-id": *t.LocalId, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint"], t, opts...); err != nil { + return err } + return nil +} - key := TrafficPropertyName +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.LatencyCharacteristic[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list LatencyCharacteristic", key) + +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_Name represents the /tapi-common/context/connectivity-context/connection/switch-control/resiliency-route-constraint/name YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_Name struct { + Value *string `path:"value" module:"tapi-connectivity"` + ValueName *string `path:"value-name" module:"tapi-connectivity"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") } - t.LatencyCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic{ - TrafficPropertyName: &TrafficPropertyName, + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_Name"], t, opts...); err != nil { + return err } + return nil +} - return t.LatencyCharacteristic[key], nil +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint represents the /tapi-common/context/connectivity-context/connection/switch-control/resiliency-route-constraint/routing-constraint YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint struct { + CostCharacteristic map[string]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic `path:"cost-characteristic" module:"tapi-connectivity"` + DiversityPolicy E_TapiPathComputation_DiversityPolicy `path:"diversity-policy" module:"tapi-connectivity"` + IsExclusive *bool `path:"is-exclusive" module:"tapi-connectivity"` + LatencyCharacteristic map[string]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic `path:"latency-characteristic" module:"tapi-connectivity"` + MaxAllowedCost *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedCost `path:"max-allowed-cost" module:"tapi-connectivity"` + MaxAllowedDelay *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedDelay `path:"max-allowed-delay" module:"tapi-connectivity"` + MaxAllowedHops *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedHops `path:"max-allowed-hops" module:"tapi-connectivity"` + RiskDiversityCharacteristic map[string]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic `path:"risk-diversity-characteristic" module:"tapi-connectivity"` + RouteObjectiveFunction E_TapiPathComputation_RouteObjectiveFunction `path:"route-objective-function" module:"tapi-connectivity"` + TolerableImpact E_TapiPathComputation_GradesOfImpact `path:"tolerable-impact" module:"tapi-connectivity"` } -// NewName creates a new entry in the Name list of the -// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint) IsYANGGoStruct() {} + +// NewCostCharacteristic creates a new entry in the CostCharacteristic list of the +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Link_Name, error){ +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint) NewCostCharacteristic(CostName string) (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.Name == nil { - t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link_Name) + if t.CostCharacteristic == nil { + t.CostCharacteristic = make(map[string]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic) } - key := ValueName + key := CostName // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.Name[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Name", key) + if _, ok := t.CostCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list CostCharacteristic", key) } - t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Link_Name{ - ValueName: &ValueName, + t.CostCharacteristic[key] = &TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic{ + CostName: &CostName, } - return t.Name[key], nil + return t.CostCharacteristic[key], nil } -// NewNodeEdgePoint creates a new entry in the NodeEdgePoint list of the -// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input +// NewLatencyCharacteristic creates a new entry in the LatencyCharacteristic list of the +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint, error){ +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint) NewLatencyCharacteristic(TrafficPropertyName string) (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.NodeEdgePoint == nil { - t.NodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint) + if t.LatencyCharacteristic == nil { + t.LatencyCharacteristic = make(map[string]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic) } - key := TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint_Key{ - TopologyUuid: TopologyUuid, - NodeUuid: NodeUuid, - NodeEdgePointUuid: NodeEdgePointUuid, - } + key := TrafficPropertyName // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.NodeEdgePoint[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list NodeEdgePoint", key) + if _, ok := t.LatencyCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list LatencyCharacteristic", key) } - t.NodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint{ - TopologyUuid: &TopologyUuid, - NodeUuid: &NodeUuid, - NodeEdgePointUuid: &NodeEdgePointUuid, + t.LatencyCharacteristic[key] = &TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic{ + TrafficPropertyName: &TrafficPropertyName, } - return t.NodeEdgePoint[key], nil + return t.LatencyCharacteristic[key], nil } -// NewRiskCharacteristic creates a new entry in the RiskCharacteristic list of the -// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input +// NewRiskDiversityCharacteristic creates a new entry in the RiskDiversityCharacteristic list of the +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewRiskCharacteristic(RiskCharacteristicName string) (*TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic, error){ +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint) NewRiskDiversityCharacteristic(RiskCharacteristicName string) (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.RiskCharacteristic == nil { - t.RiskCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic) + if t.RiskDiversityCharacteristic == nil { + t.RiskDiversityCharacteristic = make(map[string]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic) } key := RiskCharacteristicName @@ -998,58 +1325,56 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewRiskCharacteristic // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.RiskCharacteristic[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list RiskCharacteristic", key) + if _, ok := t.RiskDiversityCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list RiskDiversityCharacteristic", key) } - t.RiskCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic{ + t.RiskDiversityCharacteristic[key] = &TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic{ RiskCharacteristicName: &RiskCharacteristicName, } - return t.RiskCharacteristic[key], nil + return t.RiskDiversityCharacteristic[key], nil } -// NewValidationMechanism creates a new entry in the ValidationMechanism list of the -// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewValidationMechanism(ValidationMechanism string) (*TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism, error){ - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.ValidationMechanism == nil { - t.ValidationMechanism = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism) +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint"], t, opts...); err != nil { + return err } + return nil +} - key := ValidationMechanism - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.ValidationMechanism[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list ValidationMechanism", key) - } +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - t.ValidationMechanism[key] = &TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism{ - ValidationMechanism: &ValidationMechanism, - } - return t.ValidationMechanism[key], nil +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic represents the /tapi-common/context/connectivity-context/connection/switch-control/resiliency-route-constraint/routing-constraint/cost-characteristic YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic struct { + CostAlgorithm *string `path:"cost-algorithm" module:"tapi-connectivity"` + CostName *string `path:"cost-name" module:"tapi-connectivity"` + CostValue *string `path:"cost-value" module:"tapi-connectivity"` } -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Link) ΛListKeyMap() (map[string]interface{}, error) { - if t.Uuid == nil { - return nil, fmt.Errorf("nil value for key Uuid") +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.CostName == nil { + return nil, fmt.Errorf("nil value for key CostName") } return map[string]interface{}{ - "uuid": *t.Uuid, + "cost-name": *t.CostName, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic"], t, opts...); err != nil { return err } return nil @@ -1057,22 +1382,37 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link) Validate(opts ...ygot // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity represents the /tapi-common/context/topology-context/topology/link/available-capacity YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity struct { - TotalSize *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic represents the /tapi-common/context/connectivity-context/connection/switch-control/resiliency-route-constraint/routing-constraint/latency-characteristic YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic struct { + FixedLatencyCharacteristic *string `path:"fixed-latency-characteristic" module:"tapi-connectivity"` + JitterCharacteristic *string `path:"jitter-characteristic" module:"tapi-connectivity"` + QueingLatencyCharacteristic *string `path:"queing-latency-characteristic" module:"tapi-connectivity"` + TrafficPropertyName *string `path:"traffic-property-name" module:"tapi-connectivity"` + WanderCharacteristic *string `path:"wander-characteristic" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.TrafficPropertyName == nil { + return nil, fmt.Errorf("nil value for key TrafficPropertyName") + } + + return map[string]interface{}{ + "traffic-property-name": *t.TrafficPropertyName, + }, nil +} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic"], t, opts...); err != nil { return err } return nil @@ -1080,23 +1420,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity) Val // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/link/available-capacity/total-size YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize struct { - Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` - Value *uint64 `path:"value" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedCost represents the /tapi-common/context/connectivity-context/connection/switch-control/resiliency-route-constraint/routing-constraint/max-allowed-cost YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedCost struct { + Priority *uint64 `path:"priority" module:"tapi-connectivity"` + Value *uint64 `path:"value" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedCost implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedCost) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedCost) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedCost"], t, opts...); err != nil { return err } return nil @@ -1104,35 +1444,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_Tota // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedCost) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic represents the /tapi-common/context/topology-context/topology/link/cost-characteristic YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic struct { - CostAlgorithm *string `path:"cost-algorithm" module:"tapi-topology"` - CostName *string `path:"cost-name" module:"tapi-topology"` - CostValue *string `path:"cost-value" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedDelay represents the /tapi-common/context/connectivity-context/connection/switch-control/resiliency-route-constraint/routing-constraint/max-allowed-delay YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedDelay struct { + Priority *uint64 `path:"priority" module:"tapi-connectivity"` + Value *uint64 `path:"value" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedDelay implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic) IsYANGGoStruct() {} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { - if t.CostName == nil { - return nil, fmt.Errorf("nil value for key CostName") - } - - return map[string]interface{}{ - "cost-name": *t.CostName, - }, nil -} +func (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedDelay) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedDelay) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedDelay"], t, opts...); err != nil { return err } return nil @@ -1140,37 +1468,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic) Va // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedDelay) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic represents the /tapi-common/context/topology-context/topology/link/latency-characteristic YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic struct { - FixedLatencyCharacteristic *string `path:"fixed-latency-characteristic" module:"tapi-topology"` - JitterCharacteristic *string `path:"jitter-characteristic" module:"tapi-topology"` - QueingLatencyCharacteristic *string `path:"queing-latency-characteristic" module:"tapi-topology"` - TrafficPropertyName *string `path:"traffic-property-name" module:"tapi-topology"` - WanderCharacteristic *string `path:"wander-characteristic" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedHops represents the /tapi-common/context/connectivity-context/connection/switch-control/resiliency-route-constraint/routing-constraint/max-allowed-hops YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedHops struct { + Priority *uint64 `path:"priority" module:"tapi-connectivity"` + Value *uint64 `path:"value" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedHops implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic) IsYANGGoStruct() {} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { - if t.TrafficPropertyName == nil { - return nil, fmt.Errorf("nil value for key TrafficPropertyName") - } - - return map[string]interface{}{ - "traffic-property-name": *t.TrafficPropertyName, - }, nil -} +func (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedHops) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedHops) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedHops"], t, opts...); err != nil { return err } return nil @@ -1178,34 +1492,34 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic) // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedHops) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Link_Name represents the /tapi-common/context/topology-context/topology/link/name YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link_Name struct { - Value *string `path:"value" module:"tapi-topology"` - ValueName *string `path:"value-name" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic represents the /tapi-common/context/connectivity-context/connection/switch-control/resiliency-route-constraint/routing-constraint/risk-diversity-characteristic YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic struct { + RiskCharacteristicName *string `path:"risk-characteristic-name" module:"tapi-connectivity"` + RiskIdentifierList []string `path:"risk-identifier-list" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_Name implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link_Name) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_Name struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_Name) ΛListKeyMap() (map[string]interface{}, error) { - if t.ValueName == nil { - return nil, fmt.Errorf("nil value for key ValueName") +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.RiskCharacteristicName == nil { + return nil, fmt.Errorf("nil value for key RiskCharacteristicName") } return map[string]interface{}{ - "value-name": *t.ValueName, + "risk-characteristic-name": *t.RiskCharacteristicName, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_Name) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_Name"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic"], t, opts...); err != nil { return err } return nil @@ -1213,45 +1527,62 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link_Name) Validate(opts .. // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - - -// TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint represents the /tapi-common/context/topology-context/topology/link/node-edge-point YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint struct { - NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-topology"` - NodeUuid *string `path:"node-uuid" module:"tapi-topology"` - TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` -} - -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint implements the yang.GoStruct +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint represents the /tapi-common/context/connectivity-context/connection/switch-control/resiliency-route-constraint/topology-constraint YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint struct { + AvoidTopology *string `path:"avoid-topology" module:"tapi-connectivity"` + ConstraintWeight *uint64 `path:"constraint-weight" module:"tapi-connectivity"` + ExcludeLink *string `path:"exclude-link" module:"tapi-connectivity"` + ExcludeNode *string `path:"exclude-node" module:"tapi-connectivity"` + ExcludeNodeEdgePoint *string `path:"exclude-node-edge-point" module:"tapi-connectivity"` + ExcludePath *string `path:"exclude-path" module:"tapi-connectivity"` + IncludeLink *string `path:"include-link" module:"tapi-connectivity"` + IncludeNode *string `path:"include-node" module:"tapi-connectivity"` + IncludeNodeEdgePoint *string `path:"include-node-edge-point" module:"tapi-connectivity"` + IncludePath *string `path:"include-path" module:"tapi-connectivity"` + IncludeTopology *string `path:"include-topology" module:"tapi-connectivity"` + LocalId *string `path:"local-id" module:"tapi-connectivity"` + Name map[string]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint_Name `path:"name" module:"tapi-connectivity"` + PreferredTransportLayer E_TapiPathComputation_LayerProtocolName `path:"preferred-transport-layer" module:"tapi-connectivity"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { - if t.NodeEdgePointUuid == nil { - return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint) NewName(ValueName string) (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint_Name, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint_Name) } - if t.NodeUuid == nil { - return nil, fmt.Errorf("nil value for key NodeUuid") + key := ValueName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) } - if t.TopologyUuid == nil { - return nil, fmt.Errorf("nil value for key TopologyUuid") + t.Name[key] = &TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint_Name{ + ValueName: &ValueName, } - return map[string]interface{}{ - "node-edge-point-uuid": *t.NodeEdgePointUuid, - "node-uuid": *t.NodeUuid, - "topology-uuid": *t.TopologyUuid, - }, nil + return t.Name[key], nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint"], t, opts...); err != nil { return err } return nil @@ -1259,23 +1590,34 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint) Validat // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType represents the /tapi-common/context/topology-context/topology/link/resilience-type YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType struct { - ProtectionType E_TapiTopology_ProtectionType `path:"protection-type" module:"tapi-topology"` - RestorationPolicy E_TapiTopology_RestorationPolicy `path:"restoration-policy" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint_Name represents the /tapi-common/context/connectivity-context/connection/switch-control/resiliency-route-constraint/topology-constraint/name YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint_Name struct { + Value *string `path:"value" module:"tapi-connectivity"` + ValueName *string `path:"value-name" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint_Name implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint_Name"], t, opts...); err != nil { return err } return nil @@ -1283,34 +1625,39 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType) Valida // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_ResiliencyRouteConstraint_TopologyConstraint_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic represents the /tapi-common/context/topology-context/topology/link/risk-characteristic YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic struct { - RiskCharacteristicName *string `path:"risk-characteristic-name" module:"tapi-topology"` - RiskIdentifierList []string `path:"risk-identifier-list" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_SubSwitchControl represents the /tapi-common/context/connectivity-context/connection/switch-control/sub-switch-control YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_SubSwitchControl struct { + ConnectionUuid *string `path:"connection-uuid" module:"tapi-connectivity"` + SwitchControlUuid *string `path:"switch-control-uuid" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_SubSwitchControl implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_SubSwitchControl) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { - if t.RiskCharacteristicName == nil { - return nil, fmt.Errorf("nil value for key RiskCharacteristicName") +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_SubSwitchControl struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_SubSwitchControl) ΛListKeyMap() (map[string]interface{}, error) { + if t.ConnectionUuid == nil { + return nil, fmt.Errorf("nil value for key ConnectionUuid") + } + + if t.SwitchControlUuid == nil { + return nil, fmt.Errorf("nil value for key SwitchControlUuid") } return map[string]interface{}{ - "risk-characteristic-name": *t.RiskCharacteristicName, + "connection-uuid": *t.ConnectionUuid, + "switch-control-uuid": *t.SwitchControlUuid, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_SubSwitchControl) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_SubSwitchControl"], t, opts...); err != nil { return err } return nil @@ -1318,82 +1665,145 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic) Va // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_SubSwitchControl) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity represents the /tapi-common/context/topology-context/topology/link/total-potential-capacity YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity struct { - TotalSize *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch represents the /tapi-common/context/connectivity-context/connection/switch-control/switch YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch struct { + LocalId *string `path:"local-id" module:"tapi-connectivity"` + Name map[string]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_Name `path:"name" module:"tapi-connectivity"` + SelectedConnectionEndPoint map[TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedConnectionEndPoint_Key]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedConnectionEndPoint `path:"selected-connection-end-point" module:"tapi-connectivity"` + SelectedRoute map[TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedRoute_Key]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedRoute `path:"selected-route" module:"tapi-connectivity"` + SelectionReason E_TapiConnectivity_SelectionReason `path:"selection-reason" module:"tapi-connectivity"` + SwitchDirection E_TapiConnectivity_PortDirection `path:"switch-direction" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch) IsYANGGoStruct() {} -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity"], t, opts...); err != nil { - return err - } - return nil +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedConnectionEndPoint_Key represents the key for list SelectedConnectionEndPoint of element /tapi-common/context/connectivity-context/connection/switch-control/switch. +type TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedConnectionEndPoint_Key struct { + TopologyUuid string `path:"topology-uuid"` + NodeUuid string `path:"node-uuid"` + NodeEdgePointUuid string `path:"node-edge-point-uuid"` + ConnectionEndPointUuid string `path:"connection-end-point-uuid"` } -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedRoute_Key represents the key for list SelectedRoute of element /tapi-common/context/connectivity-context/connection/switch-control/switch. +type TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedRoute_Key struct { + ConnectionUuid string `path:"connection-uuid"` + RouteLocalId string `path:"route-local-id"` +} +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch) NewName(ValueName string) (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_Name, error){ -// TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/link/total-potential-capacity/total-size YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize struct { - Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` - Value *uint64 `path:"value" module:"tapi-topology"` -} + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_Name) + } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize) IsYANGGoStruct() {} + key := ValueName -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize"], t, opts...); err != nil { - return err + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) } - return nil + + t.Name[key] = &TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil } -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +// NewSelectedConnectionEndPoint creates a new entry in the SelectedConnectionEndPoint list of the +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch) NewSelectedConnectionEndPoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string, ConnectionEndPointUuid string) (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedConnectionEndPoint, error){ + // Initialise the list within the receiver struct if it has not already been + // created. + if t.SelectedConnectionEndPoint == nil { + t.SelectedConnectionEndPoint = make(map[TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedConnectionEndPoint_Key]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedConnectionEndPoint) + } -// TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism represents the /tapi-common/context/topology-context/topology/link/validation-mechanism YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism struct { - LayerProtocolAdjacencyValidated *string `path:"layer-protocol-adjacency-validated" module:"tapi-topology"` - ValidationMechanism *string `path:"validation-mechanism" module:"tapi-topology"` - ValidationRobustness *string `path:"validation-robustness" module:"tapi-topology"` + key := TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedConnectionEndPoint_Key{ + TopologyUuid: TopologyUuid, + NodeUuid: NodeUuid, + NodeEdgePointUuid: NodeEdgePointUuid, + ConnectionEndPointUuid: ConnectionEndPointUuid, + } + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.SelectedConnectionEndPoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list SelectedConnectionEndPoint", key) + } + + t.SelectedConnectionEndPoint[key] = &TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedConnectionEndPoint{ + TopologyUuid: &TopologyUuid, + NodeUuid: &NodeUuid, + NodeEdgePointUuid: &NodeEdgePointUuid, + ConnectionEndPointUuid: &ConnectionEndPointUuid, + } + + return t.SelectedConnectionEndPoint[key], nil } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism) IsYANGGoStruct() {} +// NewSelectedRoute creates a new entry in the SelectedRoute list of the +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch) NewSelectedRoute(ConnectionUuid string, RouteLocalId string) (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedRoute, error){ -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism) ΛListKeyMap() (map[string]interface{}, error) { - if t.ValidationMechanism == nil { - return nil, fmt.Errorf("nil value for key ValidationMechanism") + // Initialise the list within the receiver struct if it has not already been + // created. + if t.SelectedRoute == nil { + t.SelectedRoute = make(map[TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedRoute_Key]*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedRoute) + } + + key := TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedRoute_Key{ + ConnectionUuid: ConnectionUuid, + RouteLocalId: RouteLocalId, + } + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.SelectedRoute[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list SelectedRoute", key) + } + + t.SelectedRoute[key] = &TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedRoute{ + ConnectionUuid: &ConnectionUuid, + RouteLocalId: &RouteLocalId, + } + + return t.SelectedRoute[key], nil +} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch) ΛListKeyMap() (map[string]interface{}, error) { + if t.LocalId == nil { + return nil, fmt.Errorf("nil value for key LocalId") } return map[string]interface{}{ - "validation-mechanism": *t.ValidationMechanism, + "local-id": *t.LocalId, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch"], t, opts...); err != nil { return err } return nil @@ -1401,22 +1811,22 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism) V // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Name represents the /tapi-common/context/topology-context/topology/name YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Name struct { - Value *string `path:"value" module:"tapi-topology"` - ValueName *string `path:"value-name" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_Name represents the /tapi-common/context/connectivity-context/connection/switch-control/switch/name YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_Name struct { + Value *string `path:"value" module:"tapi-connectivity"` + ValueName *string `path:"value-name" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Name implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_Name implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Name) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_Name) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Name struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Name) ΛListKeyMap() (map[string]interface{}, error) { +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_Name) ΛListKeyMap() (map[string]interface{}, error) { if t.ValueName == nil { return nil, fmt.Errorf("nil value for key ValueName") } @@ -1427,8 +1837,8 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Name) ΛListKeyMap() (map[s } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Name) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Name"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_Name"], t, opts...); err != nil { return err } return nil @@ -1436,215 +1846,260 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Name) Validate(opts ...ygot // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node represents the /tapi-common/context/topology-context/topology/node YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node struct { - AdministrativeState E_TapiCommon_AdministrativeState `path:"administrative-state" module:"tapi-topology"` - AggregatedNodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint `path:"aggregated-node-edge-point" module:"tapi-topology"` - AvailableCapacity *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity `path:"available-capacity" module:"tapi-topology"` - CostCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic `path:"cost-characteristic" module:"tapi-topology"` - DeliveryOrderCharacteristic *string `path:"delivery-order-characteristic" module:"tapi-topology"` - EncapTopology *TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology `path:"encap-topology" module:"tapi-topology"` - ErrorCharacteristic *string `path:"error-characteristic" module:"tapi-topology"` - LatencyCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic `path:"latency-characteristic" module:"tapi-topology"` - LayerProtocolName []E_TapiTopology_LayerProtocolName `path:"layer-protocol-name" module:"tapi-topology"` - LifecycleState E_TapiCommon_LifecycleState `path:"lifecycle-state" module:"tapi-topology"` - LossCharacteristic *string `path:"loss-characteristic" module:"tapi-topology"` - Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_Name `path:"name" module:"tapi-topology"` - NodeRuleGroup map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup `path:"node-rule-group" module:"tapi-topology"` - OperationalState E_TapiCommon_OperationalState `path:"operational-state" module:"tapi-topology"` - OwnedNodeEdgePoint map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint `path:"owned-node-edge-point" module:"tapi-topology"` - RepeatDeliveryCharacteristic *string `path:"repeat-delivery-characteristic" module:"tapi-topology"` - ServerIntegrityProcessCharacteristic *string `path:"server-integrity-process-characteristic" module:"tapi-topology"` - TotalPotentialCapacity *TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-topology"` - UnavailableTimeCharacteristic *string `path:"unavailable-time-characteristic" module:"tapi-topology"` - Uuid *string `path:"uuid" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedConnectionEndPoint represents the /tapi-common/context/connectivity-context/connection/switch-control/switch/selected-connection-end-point YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedConnectionEndPoint struct { + ConnectionEndPointUuid *string `path:"connection-end-point-uuid" module:"tapi-connectivity"` + NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-connectivity"` + NodeUuid *string `path:"node-uuid" module:"tapi-connectivity"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedConnectionEndPoint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedConnectionEndPoint) IsYANGGoStruct() {} -// TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint_Key represents the key for list AggregatedNodeEdgePoint of element /tapi-common/context/topology-context/topology/node. -type TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint_Key struct { - TopologyUuid string `path:"topology-uuid"` - NodeUuid string `path:"node-uuid"` - NodeEdgePointUuid string `path:"node-edge-point-uuid"` -} +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedConnectionEndPoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedConnectionEndPoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.ConnectionEndPointUuid == nil { + return nil, fmt.Errorf("nil value for key ConnectionEndPointUuid") + } -// NewAggregatedNodeEdgePoint creates a new entry in the AggregatedNodeEdgePoint list of the -// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewAggregatedNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint, error){ + if t.NodeEdgePointUuid == nil { + return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") + } - // Initialise the list within the receiver struct if it has not already been - // created. - if t.AggregatedNodeEdgePoint == nil { - t.AggregatedNodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint) + if t.NodeUuid == nil { + return nil, fmt.Errorf("nil value for key NodeUuid") } - key := TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint_Key{ - TopologyUuid: TopologyUuid, - NodeUuid: NodeUuid, - NodeEdgePointUuid: NodeEdgePointUuid, + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") } - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.AggregatedNodeEdgePoint[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list AggregatedNodeEdgePoint", key) + return map[string]interface{}{ + "connection-end-point-uuid": *t.ConnectionEndPointUuid, + "node-edge-point-uuid": *t.NodeEdgePointUuid, + "node-uuid": *t.NodeUuid, + "topology-uuid": *t.TopologyUuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedConnectionEndPoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedConnectionEndPoint"], t, opts...); err != nil { + return err } + return nil +} - t.AggregatedNodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint{ - TopologyUuid: &TopologyUuid, - NodeUuid: &NodeUuid, - NodeEdgePointUuid: &NodeEdgePointUuid, +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedConnectionEndPoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedRoute represents the /tapi-common/context/connectivity-context/connection/switch-control/switch/selected-route YANG schema element. +type TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedRoute struct { + ConnectionUuid *string `path:"connection-uuid" module:"tapi-connectivity"` + RouteLocalId *string `path:"route-local-id" module:"tapi-connectivity"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedRoute implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedRoute) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedRoute struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedRoute) ΛListKeyMap() (map[string]interface{}, error) { + if t.ConnectionUuid == nil { + return nil, fmt.Errorf("nil value for key ConnectionUuid") } - return t.AggregatedNodeEdgePoint[key], nil + if t.RouteLocalId == nil { + return nil, fmt.Errorf("nil value for key RouteLocalId") + } + + return map[string]interface{}{ + "connection-uuid": *t.ConnectionUuid, + "route-local-id": *t.RouteLocalId, + }, nil } -// NewCostCharacteristic creates a new entry in the CostCharacteristic list of the -// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedRoute) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedRoute"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_Connection_SwitchControl_Switch_SelectedRoute) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService represents the /tapi-common/context/connectivity-context/connectivity-service YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService struct { + AdministrativeState E_TapiCommon_AdministrativeState `path:"administrative-state" module:"tapi-connectivity"` + Connection map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_Connection `path:"connection" module:"tapi-connectivity"` + ConnectivityConstraint *TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint `path:"connectivity-constraint" module:"tapi-connectivity"` + ConnectivityService map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityService `path:"connectivity-service" module:"tapi-connectivity"` + Direction E_TapiConnectivity_ForwardingDirection `path:"direction" module:"tapi-connectivity"` + EndPoint map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint `path:"end-point" module:"tapi-connectivity"` + LifecycleState E_TapiCommon_LifecycleState `path:"lifecycle-state" module:"tapi-connectivity"` + Name map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_Name `path:"name" module:"tapi-connectivity"` + OperationalState E_TapiCommon_OperationalState `path:"operational-state" module:"tapi-connectivity"` + ResilienceConstraint *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint `path:"resilience-constraint" module:"tapi-connectivity"` + RoutingConstraint *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint `path:"routing-constraint" module:"tapi-connectivity"` + TopologyConstraint map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint `path:"topology-constraint" module:"tapi-connectivity"` + Uuid *string `path:"uuid" module:"tapi-connectivity"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService) IsYANGGoStruct() {} + +// NewConnection creates a new entry in the Connection list of the +// TapiCommon_Context_ConnectivityContext_ConnectivityService struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewCostCharacteristic(CostName string) (*TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic, error){ +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService) NewConnection(ConnectionUuid string) (*TapiCommon_Context_ConnectivityContext_ConnectivityService_Connection, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.CostCharacteristic == nil { - t.CostCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic) + if t.Connection == nil { + t.Connection = make(map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_Connection) } - key := CostName + key := ConnectionUuid // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.CostCharacteristic[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list CostCharacteristic", key) + if _, ok := t.Connection[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Connection", key) } - t.CostCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic{ - CostName: &CostName, + t.Connection[key] = &TapiCommon_Context_ConnectivityContext_ConnectivityService_Connection{ + ConnectionUuid: &ConnectionUuid, } - return t.CostCharacteristic[key], nil + return t.Connection[key], nil } -// NewLatencyCharacteristic creates a new entry in the LatencyCharacteristic list of the -// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input +// NewConnectivityService creates a new entry in the ConnectivityService list of the +// TapiCommon_Context_ConnectivityContext_ConnectivityService struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewLatencyCharacteristic(TrafficPropertyName string) (*TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic, error){ +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService) NewConnectivityService(ConnectivityServiceUuid string) (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityService, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.LatencyCharacteristic == nil { - t.LatencyCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic) + if t.ConnectivityService == nil { + t.ConnectivityService = make(map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityService) } - key := TrafficPropertyName + key := ConnectivityServiceUuid // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.LatencyCharacteristic[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list LatencyCharacteristic", key) + if _, ok := t.ConnectivityService[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list ConnectivityService", key) } - t.LatencyCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic{ - TrafficPropertyName: &TrafficPropertyName, + t.ConnectivityService[key] = &TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityService{ + ConnectivityServiceUuid: &ConnectivityServiceUuid, } - return t.LatencyCharacteristic[key], nil + return t.ConnectivityService[key], nil } -// NewName creates a new entry in the Name list of the -// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input +// NewEndPoint creates a new entry in the EndPoint list of the +// TapiCommon_Context_ConnectivityContext_ConnectivityService struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_Name, error){ +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService) NewEndPoint(LocalId string) (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.Name == nil { - t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_Name) + if t.EndPoint == nil { + t.EndPoint = make(map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint) } - key := ValueName + key := LocalId // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.Name[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Name", key) + if _, ok := t.EndPoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list EndPoint", key) } - t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_Name{ - ValueName: &ValueName, + t.EndPoint[key] = &TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint{ + LocalId: &LocalId, } - return t.Name[key], nil + return t.EndPoint[key], nil } -// NewNodeRuleGroup creates a new entry in the NodeRuleGroup list of the -// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_ConnectivityContext_ConnectivityService struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewNodeRuleGroup(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup, error){ +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService) NewName(ValueName string) (*TapiCommon_Context_ConnectivityContext_ConnectivityService_Name, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.NodeRuleGroup == nil { - t.NodeRuleGroup = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_Name) } - key := Uuid + key := ValueName // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.NodeRuleGroup[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list NodeRuleGroup", key) + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) } - t.NodeRuleGroup[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup{ - Uuid: &Uuid, + t.Name[key] = &TapiCommon_Context_ConnectivityContext_ConnectivityService_Name{ + ValueName: &ValueName, } - return t.NodeRuleGroup[key], nil + return t.Name[key], nil } -// NewOwnedNodeEdgePoint creates a new entry in the OwnedNodeEdgePoint list of the -// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input +// NewTopologyConstraint creates a new entry in the TopologyConstraint list of the +// TapiCommon_Context_ConnectivityContext_ConnectivityService struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewOwnedNodeEdgePoint(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint, error){ +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService) NewTopologyConstraint(LocalId string) (*TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.OwnedNodeEdgePoint == nil { - t.OwnedNodeEdgePoint = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) + if t.TopologyConstraint == nil { + t.TopologyConstraint = make(map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint) } - key := Uuid + key := LocalId // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.OwnedNodeEdgePoint[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list OwnedNodeEdgePoint", key) + if _, ok := t.TopologyConstraint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list TopologyConstraint", key) } - t.OwnedNodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint{ - Uuid: &Uuid, + t.TopologyConstraint[key] = &TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint{ + LocalId: &LocalId, } - return t.OwnedNodeEdgePoint[key], nil + return t.TopologyConstraint[key], nil } -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node) ΛListKeyMap() (map[string]interface{}, error) { +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_ConnectivityService struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService) ΛListKeyMap() (map[string]interface{}, error) { if t.Uuid == nil { return nil, fmt.Errorf("nil value for key Uuid") } @@ -1655,8 +2110,8 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node) ΛListKeyMap() (map[s } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService"], t, opts...); err != nil { return err } return nil @@ -1664,45 +2119,33 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node) Validate(opts ...ygot // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint represents the /tapi-common/context/topology-context/topology/node/aggregated-node-edge-point YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint struct { - NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-topology"` - NodeUuid *string `path:"node-uuid" module:"tapi-topology"` - TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_Connection represents the /tapi-common/context/connectivity-context/connectivity-service/connection YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_Connection struct { + ConnectionUuid *string `path:"connection-uuid" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_Connection implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint) IsYANGGoStruct() {} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { - if t.NodeEdgePointUuid == nil { - return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") - } - - if t.NodeUuid == nil { - return nil, fmt.Errorf("nil value for key NodeUuid") - } +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_Connection) IsYANGGoStruct() {} - if t.TopologyUuid == nil { - return nil, fmt.Errorf("nil value for key TopologyUuid") +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_ConnectivityService_Connection struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_Connection) ΛListKeyMap() (map[string]interface{}, error) { + if t.ConnectionUuid == nil { + return nil, fmt.Errorf("nil value for key ConnectionUuid") } return map[string]interface{}{ - "node-edge-point-uuid": *t.NodeEdgePointUuid, - "node-uuid": *t.NodeUuid, - "topology-uuid": *t.TopologyUuid, + "connection-uuid": *t.ConnectionUuid, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_Connection) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_Connection"], t, opts...); err != nil { return err } return nil @@ -1710,22 +2153,56 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoin // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_Connection) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity represents the /tapi-common/context/topology-context/topology/node/available-capacity YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity struct { - TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint represents the /tapi-common/context/connectivity-context/connectivity-service/connectivity-constraint YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint struct { + ConnectionExclusion []string `path:"connection-exclusion" module:"tapi-connectivity"` + ConnectionInclusion []string `path:"connection-inclusion" module:"tapi-connectivity"` + CorouteInclusion *TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_CorouteInclusion `path:"coroute-inclusion" module:"tapi-connectivity"` + DiversityExclusion map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_DiversityExclusion `path:"diversity-exclusion" module:"tapi-connectivity"` + RequestedCapacity *TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_RequestedCapacity `path:"requested-capacity" module:"tapi-connectivity"` + Schedule *TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_Schedule `path:"schedule" module:"tapi-connectivity"` + ServiceLevel *string `path:"service-level" module:"tapi-connectivity"` + ServiceType E_TapiConnectivity_ServiceType `path:"service-type" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint) IsYANGGoStruct() {} + +// NewDiversityExclusion creates a new entry in the DiversityExclusion list of the +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint) NewDiversityExclusion(ConnectivityServiceUuid string) (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_DiversityExclusion, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.DiversityExclusion == nil { + t.DiversityExclusion = make(map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_DiversityExclusion) + } + + key := ConnectivityServiceUuid + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.DiversityExclusion[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list DiversityExclusion", key) + } + + t.DiversityExclusion[key] = &TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_DiversityExclusion{ + ConnectivityServiceUuid: &ConnectivityServiceUuid, + } + + return t.DiversityExclusion[key], nil +} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint"], t, opts...); err != nil { return err } return nil @@ -1733,23 +2210,22 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity) Val // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/available-capacity/total-size YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize struct { - Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` - Value *uint64 `path:"value" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_CorouteInclusion represents the /tapi-common/context/connectivity-context/connectivity-service/connectivity-constraint/coroute-inclusion YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_CorouteInclusion struct { + ConnectivityServiceUuid *string `path:"connectivity-service-uuid" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_CorouteInclusion implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_CorouteInclusion) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_CorouteInclusion) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_CorouteInclusion"], t, opts...); err != nil { return err } return nil @@ -1757,35 +2233,33 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_Tota // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_CorouteInclusion) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic represents the /tapi-common/context/topology-context/topology/node/cost-characteristic YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic struct { - CostAlgorithm *string `path:"cost-algorithm" module:"tapi-topology"` - CostName *string `path:"cost-name" module:"tapi-topology"` - CostValue *string `path:"cost-value" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_DiversityExclusion represents the /tapi-common/context/connectivity-context/connectivity-service/connectivity-constraint/diversity-exclusion YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_DiversityExclusion struct { + ConnectivityServiceUuid *string `path:"connectivity-service-uuid" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_DiversityExclusion implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_DiversityExclusion) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { - if t.CostName == nil { - return nil, fmt.Errorf("nil value for key CostName") +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_DiversityExclusion struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_DiversityExclusion) ΛListKeyMap() (map[string]interface{}, error) { + if t.ConnectivityServiceUuid == nil { + return nil, fmt.Errorf("nil value for key ConnectivityServiceUuid") } return map[string]interface{}{ - "cost-name": *t.CostName, + "connectivity-service-uuid": *t.ConnectivityServiceUuid, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_DiversityExclusion) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_DiversityExclusion"], t, opts...); err != nil { return err } return nil @@ -1793,22 +2267,22 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic) Va // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_DiversityExclusion) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology represents the /tapi-common/context/topology-context/topology/node/encap-topology YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology struct { - TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_RequestedCapacity represents the /tapi-common/context/connectivity-context/connectivity-service/connectivity-constraint/requested-capacity YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_RequestedCapacity struct { + TotalSize *TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_RequestedCapacity_TotalSize `path:"total-size" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_RequestedCapacity implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_RequestedCapacity) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_RequestedCapacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_RequestedCapacity"], t, opts...); err != nil { return err } return nil @@ -1816,37 +2290,47 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology) Validat // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_RequestedCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic represents the /tapi-common/context/topology-context/topology/node/latency-characteristic YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic struct { - FixedLatencyCharacteristic *string `path:"fixed-latency-characteristic" module:"tapi-topology"` - JitterCharacteristic *string `path:"jitter-characteristic" module:"tapi-topology"` - QueingLatencyCharacteristic *string `path:"queing-latency-characteristic" module:"tapi-topology"` - TrafficPropertyName *string `path:"traffic-property-name" module:"tapi-topology"` - WanderCharacteristic *string `path:"wander-characteristic" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_RequestedCapacity_TotalSize represents the /tapi-common/context/connectivity-context/connectivity-service/connectivity-constraint/requested-capacity/total-size YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_RequestedCapacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-connectivity"` + Value *uint64 `path:"value" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_RequestedCapacity_TotalSize implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_RequestedCapacity_TotalSize) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { - if t.TrafficPropertyName == nil { - return nil, fmt.Errorf("nil value for key TrafficPropertyName") +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_RequestedCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_RequestedCapacity_TotalSize"], t, opts...); err != nil { + return err } - - return map[string]interface{}{ - "traffic-property-name": *t.TrafficPropertyName, - }, nil + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_RequestedCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_Schedule represents the /tapi-common/context/connectivity-context/connectivity-service/connectivity-constraint/schedule YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_Schedule struct { + EndTime *string `path:"end-time" module:"tapi-connectivity"` + StartTime *string `path:"start-time" module:"tapi-connectivity"` } +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_Schedule implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_Schedule) IsYANGGoStruct() {} + // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_Schedule) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_Schedule"], t, opts...); err != nil { return err } return nil @@ -1854,34 +2338,33 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic) // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityConstraint_Schedule) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_Name represents the /tapi-common/context/topology-context/topology/node/name YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_Name struct { - Value *string `path:"value" module:"tapi-topology"` - ValueName *string `path:"value-name" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityService represents the /tapi-common/context/connectivity-context/connectivity-service/connectivity-service YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityService struct { + ConnectivityServiceUuid *string `path:"connectivity-service-uuid" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_Name implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityService implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_Name) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityService) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_Name struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_Name) ΛListKeyMap() (map[string]interface{}, error) { - if t.ValueName == nil { - return nil, fmt.Errorf("nil value for key ValueName") +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityService struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityService) ΛListKeyMap() (map[string]interface{}, error) { + if t.ConnectivityServiceUuid == nil { + return nil, fmt.Errorf("nil value for key ConnectivityServiceUuid") } return map[string]interface{}{ - "value-name": *t.ValueName, + "connectivity-service-uuid": *t.ConnectivityServiceUuid, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_Name) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_Name"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityService) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityService"], t, opts...); err != nil { return err } return nil @@ -1889,285 +2372,276 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_Name) Validate(opts .. // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - - -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup represents the /tapi-common/context/topology-context/topology/node/node-rule-group YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct { - AvailableCapacity *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity `path:"available-capacity" module:"tapi-topology"` - ComposedRuleGroup map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup `path:"composed-rule-group" module:"tapi-topology"` - CostCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic `path:"cost-characteristic" module:"tapi-topology"` - InterRuleGroup map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup `path:"inter-rule-group" module:"tapi-topology"` - LatencyCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic `path:"latency-characteristic" module:"tapi-topology"` - Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name `path:"name" module:"tapi-topology"` - NodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint `path:"node-edge-point" module:"tapi-topology"` - RiskCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic `path:"risk-characteristic" module:"tapi-topology"` - Rule map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule `path:"rule" module:"tapi-topology"` - TotalPotentialCapacity *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-topology"` - Uuid *string `path:"uuid" module:"tapi-topology"` -} - -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup implements the yang.GoStruct +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ConnectivityService) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint represents the /tapi-common/context/connectivity-context/connectivity-service/end-point YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint struct { + AdministrativeState E_TapiCommon_AdministrativeState `path:"administrative-state" module:"tapi-connectivity"` + Capacity *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Capacity `path:"capacity" module:"tapi-connectivity"` + ConnectionEndPoint map[TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ConnectionEndPoint_Key]*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ConnectionEndPoint `path:"connection-end-point" module:"tapi-connectivity"` + Direction E_TapiConnectivity_PortDirection `path:"direction" module:"tapi-connectivity"` + LayerProtocolName E_TapiConnectivity_LayerProtocolName `path:"layer-protocol-name" module:"tapi-connectivity"` + LayerProtocolQualifier E_TapiConnectivity_LayerProtocolQualifier `path:"layer-protocol-qualifier" module:"tapi-connectivity"` + LifecycleState E_TapiCommon_LifecycleState `path:"lifecycle-state" module:"tapi-connectivity"` + LocalId *string `path:"local-id" module:"tapi-connectivity"` + Name map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Name `path:"name" module:"tapi-connectivity"` + OperationalState E_TapiCommon_OperationalState `path:"operational-state" module:"tapi-connectivity"` + PeerFwdConnectivityServiceEndPoint *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_PeerFwdConnectivityServiceEndPoint `path:"peer-fwd-connectivity-service-end-point" module:"tapi-connectivity"` + ProtectingConnectivityServiceEndPoint *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ProtectingConnectivityServiceEndPoint `path:"protecting-connectivity-service-end-point" module:"tapi-connectivity"` + ProtectionRole E_TapiConnectivity_ProtectionRole `path:"protection-role" module:"tapi-connectivity"` + Role E_TapiConnectivity_PortRole `path:"role" module:"tapi-connectivity"` + ServerConnectivityServiceEndPoint *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ServerConnectivityServiceEndPoint `path:"server-connectivity-service-end-point" module:"tapi-connectivity"` + ServiceInterfacePoint *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ServiceInterfacePoint `path:"service-interface-point" module:"tapi-connectivity"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) IsYANGGoStruct() {} - -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup_Key represents the key for list ComposedRuleGroup of element /tapi-common/context/topology-context/topology/node/node-rule-group. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup_Key struct { - TopologyUuid string `path:"topology-uuid"` - NodeUuid string `path:"node-uuid"` - NodeRuleGroupUuid string `path:"node-rule-group-uuid"` -} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint) IsYANGGoStruct() {} -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint_Key represents the key for list NodeEdgePoint of element /tapi-common/context/topology-context/topology/node/node-rule-group. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint_Key struct { +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ConnectionEndPoint_Key represents the key for list ConnectionEndPoint of element /tapi-common/context/connectivity-context/connectivity-service/end-point. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ConnectionEndPoint_Key struct { TopologyUuid string `path:"topology-uuid"` NodeUuid string `path:"node-uuid"` NodeEdgePointUuid string `path:"node-edge-point-uuid"` + ConnectionEndPointUuid string `path:"connection-end-point-uuid"` } -// NewComposedRuleGroup creates a new entry in the ComposedRuleGroup list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input +// NewConnectionEndPoint creates a new entry in the ConnectionEndPoint list of the +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewComposedRuleGroup(TopologyUuid string, NodeUuid string, NodeRuleGroupUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup, error){ +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint) NewConnectionEndPoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string, ConnectionEndPointUuid string) (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ConnectionEndPoint, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.ComposedRuleGroup == nil { - t.ComposedRuleGroup = make(map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup) + if t.ConnectionEndPoint == nil { + t.ConnectionEndPoint = make(map[TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ConnectionEndPoint_Key]*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ConnectionEndPoint) } - key := TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup_Key{ + key := TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ConnectionEndPoint_Key{ TopologyUuid: TopologyUuid, NodeUuid: NodeUuid, - NodeRuleGroupUuid: NodeRuleGroupUuid, + NodeEdgePointUuid: NodeEdgePointUuid, + ConnectionEndPointUuid: ConnectionEndPointUuid, } // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.ComposedRuleGroup[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list ComposedRuleGroup", key) + if _, ok := t.ConnectionEndPoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list ConnectionEndPoint", key) } - t.ComposedRuleGroup[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup{ + t.ConnectionEndPoint[key] = &TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ConnectionEndPoint{ TopologyUuid: &TopologyUuid, NodeUuid: &NodeUuid, - NodeRuleGroupUuid: &NodeRuleGroupUuid, + NodeEdgePointUuid: &NodeEdgePointUuid, + ConnectionEndPointUuid: &ConnectionEndPointUuid, } - return t.ComposedRuleGroup[key], nil + return t.ConnectionEndPoint[key], nil } -// NewCostCharacteristic creates a new entry in the CostCharacteristic list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewCostCharacteristic(CostName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic, error){ +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint) NewName(ValueName string) (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Name, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.CostCharacteristic == nil { - t.CostCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic) + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Name) } - key := CostName + key := ValueName // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.CostCharacteristic[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list CostCharacteristic", key) + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) } - t.CostCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic{ - CostName: &CostName, + t.Name[key] = &TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Name{ + ValueName: &ValueName, } - return t.CostCharacteristic[key], nil + return t.Name[key], nil } -// NewInterRuleGroup creates a new entry in the InterRuleGroup list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewInterRuleGroup(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup, error){ - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.InterRuleGroup == nil { - t.InterRuleGroup = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.LocalId == nil { + return nil, fmt.Errorf("nil value for key LocalId") } - key := Uuid + return map[string]interface{}{ + "local-id": *t.LocalId, + }, nil +} - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.InterRuleGroup[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list InterRuleGroup", key) +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint"], t, opts...); err != nil { + return err } + return nil +} - t.InterRuleGroup[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup{ - Uuid: &Uuid, - } +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - return t.InterRuleGroup[key], nil + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Capacity represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/capacity YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Capacity struct { + TotalSize *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Capacity_TotalSize `path:"total-size" module:"tapi-connectivity"` } -// NewLatencyCharacteristic creates a new entry in the LatencyCharacteristic list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewLatencyCharacteristic(TrafficPropertyName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic, error){ +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Capacity implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Capacity) IsYANGGoStruct() {} - // Initialise the list within the receiver struct if it has not already been - // created. - if t.LatencyCharacteristic == nil { - t.LatencyCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic) +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Capacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Capacity"], t, opts...); err != nil { + return err } + return nil +} - key := TrafficPropertyName - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.LatencyCharacteristic[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list LatencyCharacteristic", key) - } +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Capacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - t.LatencyCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic{ - TrafficPropertyName: &TrafficPropertyName, - } - return t.LatencyCharacteristic[key], nil +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Capacity_TotalSize represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/capacity/total-size YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Capacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-connectivity"` + Value *uint64 `path:"value" module:"tapi-connectivity"` } -// NewName creates a new entry in the Name list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name, error){ +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Capacity_TotalSize implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Capacity_TotalSize) IsYANGGoStruct() {} - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Name == nil { - t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name) +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Capacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Capacity_TotalSize"], t, opts...); err != nil { + return err } + return nil +} - key := ValueName - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Name[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Name", key) - } +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Capacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name{ - ValueName: &ValueName, - } - return t.Name[key], nil +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ConnectionEndPoint represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/connection-end-point YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ConnectionEndPoint struct { + ConnectionEndPointUuid *string `path:"connection-end-point-uuid" module:"tapi-connectivity"` + NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-connectivity"` + NodeUuid *string `path:"node-uuid" module:"tapi-connectivity"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-connectivity"` } -// NewNodeEdgePoint creates a new entry in the NodeEdgePoint list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint, error){ +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ConnectionEndPoint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ConnectionEndPoint) IsYANGGoStruct() {} - // Initialise the list within the receiver struct if it has not already been - // created. - if t.NodeEdgePoint == nil { - t.NodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint) +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ConnectionEndPoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ConnectionEndPoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.ConnectionEndPointUuid == nil { + return nil, fmt.Errorf("nil value for key ConnectionEndPointUuid") } - key := TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint_Key{ - TopologyUuid: TopologyUuid, - NodeUuid: NodeUuid, - NodeEdgePointUuid: NodeEdgePointUuid, + if t.NodeEdgePointUuid == nil { + return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") } - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.NodeEdgePoint[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list NodeEdgePoint", key) + if t.NodeUuid == nil { + return nil, fmt.Errorf("nil value for key NodeUuid") } - t.NodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint{ - TopologyUuid: &TopologyUuid, - NodeUuid: &NodeUuid, - NodeEdgePointUuid: &NodeEdgePointUuid, + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") } - return t.NodeEdgePoint[key], nil + return map[string]interface{}{ + "connection-end-point-uuid": *t.ConnectionEndPointUuid, + "node-edge-point-uuid": *t.NodeEdgePointUuid, + "node-uuid": *t.NodeUuid, + "topology-uuid": *t.TopologyUuid, + }, nil } -// NewRiskCharacteristic creates a new entry in the RiskCharacteristic list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewRiskCharacteristic(RiskCharacteristicName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic, error){ - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.RiskCharacteristic == nil { - t.RiskCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic) +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ConnectionEndPoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ConnectionEndPoint"], t, opts...); err != nil { + return err } + return nil +} - key := RiskCharacteristicName - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.RiskCharacteristic[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list RiskCharacteristic", key) - } +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ConnectionEndPoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - t.RiskCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic{ - RiskCharacteristicName: &RiskCharacteristicName, - } - return t.RiskCharacteristic[key], nil +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Name represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/name YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Name struct { + Value *string `path:"value" module:"tapi-connectivity"` + ValueName *string `path:"value-name" module:"tapi-connectivity"` } -// NewRule creates a new entry in the Rule list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewRule(LocalId string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule, error){ +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Name) IsYANGGoStruct() {} - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Rule == nil { - t.Rule = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") } - key := LocalId - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Rule[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Rule", key) - } + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} - t.Rule[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule{ - LocalId: &LocalId, +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Name"], t, opts...); err != nil { + return err } - - return t.Rule[key], nil + return nil } -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) ΛListKeyMap() (map[string]interface{}, error) { - if t.Uuid == nil { - return nil, fmt.Errorf("nil value for key Uuid") - } +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - return map[string]interface{}{ - "uuid": *t.Uuid, - }, nil + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_PeerFwdConnectivityServiceEndPoint represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/peer-fwd-connectivity-service-end-point YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_PeerFwdConnectivityServiceEndPoint struct { + ConnectivityServiceEndPointLocalId *string `path:"connectivity-service-end-point-local-id" module:"tapi-connectivity"` + ConnectivityServiceUuid *string `path:"connectivity-service-uuid" module:"tapi-connectivity"` } +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_PeerFwdConnectivityServiceEndPoint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_PeerFwdConnectivityServiceEndPoint) IsYANGGoStruct() {} + // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_PeerFwdConnectivityServiceEndPoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_PeerFwdConnectivityServiceEndPoint"], t, opts...); err != nil { return err } return nil @@ -2175,22 +2649,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) Validat // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_PeerFwdConnectivityServiceEndPoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity represents the /tapi-common/context/topology-context/topology/node/node-rule-group/available-capacity YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity struct { - TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ProtectingConnectivityServiceEndPoint represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/protecting-connectivity-service-end-point YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ProtectingConnectivityServiceEndPoint struct { + ConnectivityServiceEndPointLocalId *string `path:"connectivity-service-end-point-local-id" module:"tapi-connectivity"` + ConnectivityServiceUuid *string `path:"connectivity-service-uuid" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ProtectingConnectivityServiceEndPoint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ProtectingConnectivityServiceEndPoint) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ProtectingConnectivityServiceEndPoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ProtectingConnectivityServiceEndPoint"], t, opts...); err != nil { return err } return nil @@ -2198,23 +2673,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Availabl // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ProtectingConnectivityServiceEndPoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/node-rule-group/available-capacity/total-size YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize struct { - Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` - Value *uint64 `path:"value" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ServerConnectivityServiceEndPoint represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/server-connectivity-service-end-point YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ServerConnectivityServiceEndPoint struct { + ConnectivityServiceEndPointLocalId *string `path:"connectivity-service-end-point-local-id" module:"tapi-connectivity"` + ConnectivityServiceUuid *string `path:"connectivity-service-uuid" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ServerConnectivityServiceEndPoint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ServerConnectivityServiceEndPoint) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ServerConnectivityServiceEndPoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ServerConnectivityServiceEndPoint"], t, opts...); err != nil { return err } return nil @@ -2222,45 +2697,57 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Availabl // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ServerConnectivityServiceEndPoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup represents the /tapi-common/context/topology-context/topology/node/node-rule-group/composed-rule-group YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup struct { - NodeRuleGroupUuid *string `path:"node-rule-group-uuid" module:"tapi-topology"` - NodeUuid *string `path:"node-uuid" module:"tapi-topology"` - TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ServiceInterfacePoint represents the /tapi-common/context/connectivity-context/connectivity-service/end-point/service-interface-point YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ServiceInterfacePoint struct { + ServiceInterfacePointUuid *string `path:"service-interface-point-uuid" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ServiceInterfacePoint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ServiceInterfacePoint) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup) ΛListKeyMap() (map[string]interface{}, error) { - if t.NodeRuleGroupUuid == nil { - return nil, fmt.Errorf("nil value for key NodeRuleGroupUuid") +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ServiceInterfacePoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ServiceInterfacePoint"], t, opts...); err != nil { + return err } + return nil +} - if t.NodeUuid == nil { - return nil, fmt.Errorf("nil value for key NodeUuid") - } +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_EndPoint_ServiceInterfacePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - if t.TopologyUuid == nil { - return nil, fmt.Errorf("nil value for key TopologyUuid") + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_Name represents the /tapi-common/context/connectivity-context/connectivity-service/name YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_Name struct { + Value *string `path:"value" module:"tapi-connectivity"` + ValueName *string `path:"value-name" module:"tapi-connectivity"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_ConnectivityService_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") } return map[string]interface{}{ - "node-rule-group-uuid": *t.NodeRuleGroupUuid, - "node-uuid": *t.NodeUuid, - "topology-uuid": *t.TopologyUuid, + "value-name": *t.ValueName, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_Name"], t, opts...); err != nil { return err } return nil @@ -2268,35 +2755,62 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Composed // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint represents the /tapi-common/context/connectivity-context/connectivity-service/resilience-constraint YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint struct { + FaultConditionDetermination E_TapiConnectivity_FaultConditionDetermination `path:"fault-condition-determination" module:"tapi-connectivity"` + HoldOffTime *uint64 `path:"hold-off-time" module:"tapi-connectivity"` + IsCoordinatedSwitchingBothEnds *bool `path:"is-coordinated-switching-both-ends" module:"tapi-connectivity"` + IsFrozen *bool `path:"is-frozen" module:"tapi-connectivity"` + IsLockOut *bool `path:"is-lock-out" module:"tapi-connectivity"` + MaxSwitchTimes *uint64 `path:"max-switch-times" module:"tapi-connectivity"` + PreferredRestorationLayer []E_TapiConnectivity_LayerProtocolName `path:"preferred-restoration-layer" module:"tapi-connectivity"` + ResilienceType *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResilienceType `path:"resilience-type" module:"tapi-connectivity"` + ResiliencyRouteConstraint map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint `path:"resiliency-route-constraint" module:"tapi-connectivity"` + RestorationCoordinateType E_TapiConnectivity_CoordinateType `path:"restoration-coordinate-type" module:"tapi-connectivity"` + RestorePriority *uint64 `path:"restore-priority" module:"tapi-connectivity"` + ReversionMode E_TapiConnectivity_ReversionMode `path:"reversion-mode" module:"tapi-connectivity"` + SelectionControl E_TapiConnectivity_SelectionControl `path:"selection-control" module:"tapi-connectivity"` + WaitToRevertTime *uint64 `path:"wait-to-revert-time" module:"tapi-connectivity"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint) IsYANGGoStruct() {} +// NewResiliencyRouteConstraint creates a new entry in the ResiliencyRouteConstraint list of the +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint) NewResiliencyRouteConstraint(LocalId string) (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint, error){ -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/cost-characteristic YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic struct { - CostAlgorithm *string `path:"cost-algorithm" module:"tapi-topology"` - CostName *string `path:"cost-name" module:"tapi-topology"` - CostValue *string `path:"cost-value" module:"tapi-topology"` -} + // Initialise the list within the receiver struct if it has not already been + // created. + if t.ResiliencyRouteConstraint == nil { + t.ResiliencyRouteConstraint = make(map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint) + } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic) IsYANGGoStruct() {} + key := LocalId -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { - if t.CostName == nil { - return nil, fmt.Errorf("nil value for key CostName") + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.ResiliencyRouteConstraint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list ResiliencyRouteConstraint", key) } - return map[string]interface{}{ - "cost-name": *t.CostName, - }, nil + t.ResiliencyRouteConstraint[key] = &TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint{ + LocalId: &LocalId, + } + + return t.ResiliencyRouteConstraint[key], nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint"], t, opts...); err != nil { return err } return nil @@ -2304,76 +2818,161 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostChar // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct { - AssociatedNodeRuleGroup map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup `path:"associated-node-rule-group" module:"tapi-topology"` - AvailableCapacity *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity `path:"available-capacity" module:"tapi-topology"` - CostCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic `path:"cost-characteristic" module:"tapi-topology"` - LatencyCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic `path:"latency-characteristic" module:"tapi-topology"` - Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name `path:"name" module:"tapi-topology"` - RiskCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic `path:"risk-characteristic" module:"tapi-topology"` - Rule map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule `path:"rule" module:"tapi-topology"` - TotalPotentialCapacity *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-topology"` - Uuid *string `path:"uuid" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResilienceType represents the /tapi-common/context/connectivity-context/connectivity-service/resilience-constraint/resilience-type YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResilienceType struct { + ProtectionType E_TapiTopology_ProtectionType `path:"protection-type" module:"tapi-connectivity"` + RestorationPolicy E_TapiTopology_RestorationPolicy `path:"restoration-policy" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResilienceType implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResilienceType) IsYANGGoStruct() {} -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup_Key represents the key for list AssociatedNodeRuleGroup of element /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup_Key struct { - TopologyUuid string `path:"topology-uuid"` - NodeUuid string `path:"node-uuid"` - NodeRuleGroupUuid string `path:"node-rule-group-uuid"` +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResilienceType) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResilienceType"], t, opts...); err != nil { + return err + } + return nil } -// NewAssociatedNodeRuleGroup creates a new entry in the AssociatedNodeRuleGroup list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResilienceType) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint represents the /tapi-common/context/connectivity-context/connectivity-service/resilience-constraint/resiliency-route-constraint YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint struct { + LocalId *string `path:"local-id" module:"tapi-connectivity"` + Name map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_Name `path:"name" module:"tapi-connectivity"` + Priority *uint64 `path:"priority" module:"tapi-connectivity"` + RoutingConstraint *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint `path:"routing-constraint" module:"tapi-connectivity"` + TopologyConstraint *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint `path:"topology-constraint" module:"tapi-connectivity"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint) IsYANGGoStruct() {} + +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewAssociatedNodeRuleGroup(TopologyUuid string, NodeUuid string, NodeRuleGroupUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup, error){ +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint) NewName(ValueName string) (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_Name, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.AssociatedNodeRuleGroup == nil { - t.AssociatedNodeRuleGroup = make(map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup) + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_Name) } - key := TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup_Key{ - TopologyUuid: TopologyUuid, - NodeUuid: NodeUuid, - NodeRuleGroupUuid: NodeRuleGroupUuid, - } + key := ValueName // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.AssociatedNodeRuleGroup[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list AssociatedNodeRuleGroup", key) + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) } - t.AssociatedNodeRuleGroup[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup{ - TopologyUuid: &TopologyUuid, - NodeUuid: &NodeUuid, - NodeRuleGroupUuid: &NodeRuleGroupUuid, + t.Name[key] = &TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_Name{ + ValueName: &ValueName, } - return t.AssociatedNodeRuleGroup[key], nil + return t.Name[key], nil +} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint) ΛListKeyMap() (map[string]interface{}, error) { + if t.LocalId == nil { + return nil, fmt.Errorf("nil value for key LocalId") + } + + return map[string]interface{}{ + "local-id": *t.LocalId, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_Name represents the /tapi-common/context/connectivity-context/connectivity-service/resilience-constraint/resiliency-route-constraint/name YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_Name struct { + Value *string `path:"value" module:"tapi-connectivity"` + ValueName *string `path:"value-name" module:"tapi-connectivity"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_Name"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint represents the /tapi-common/context/connectivity-context/connectivity-service/resilience-constraint/resiliency-route-constraint/routing-constraint YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint struct { + CostCharacteristic map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic `path:"cost-characteristic" module:"tapi-connectivity"` + DiversityPolicy E_TapiPathComputation_DiversityPolicy `path:"diversity-policy" module:"tapi-connectivity"` + IsExclusive *bool `path:"is-exclusive" module:"tapi-connectivity"` + LatencyCharacteristic map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic `path:"latency-characteristic" module:"tapi-connectivity"` + MaxAllowedCost *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedCost `path:"max-allowed-cost" module:"tapi-connectivity"` + MaxAllowedDelay *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedDelay `path:"max-allowed-delay" module:"tapi-connectivity"` + MaxAllowedHops *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedHops `path:"max-allowed-hops" module:"tapi-connectivity"` + RiskDiversityCharacteristic map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic `path:"risk-diversity-characteristic" module:"tapi-connectivity"` + RouteObjectiveFunction E_TapiPathComputation_RouteObjectiveFunction `path:"route-objective-function" module:"tapi-connectivity"` + TolerableImpact E_TapiPathComputation_GradesOfImpact `path:"tolerable-impact" module:"tapi-connectivity"` } +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint) IsYANGGoStruct() {} + // NewCostCharacteristic creates a new entry in the CostCharacteristic list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewCostCharacteristic(CostName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic, error){ +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint) NewCostCharacteristic(CostName string) (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic, error){ // Initialise the list within the receiver struct if it has not already been // created. if t.CostCharacteristic == nil { - t.CostCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic) + t.CostCharacteristic = make(map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic) } key := CostName @@ -2385,7 +2984,7 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul return nil, fmt.Errorf("duplicate key %v for list CostCharacteristic", key) } - t.CostCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic{ + t.CostCharacteristic[key] = &TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic{ CostName: &CostName, } @@ -2393,14 +2992,14 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul } // NewLatencyCharacteristic creates a new entry in the LatencyCharacteristic list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewLatencyCharacteristic(TrafficPropertyName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic, error){ +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint) NewLatencyCharacteristic(TrafficPropertyName string) (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic, error){ // Initialise the list within the receiver struct if it has not already been // created. if t.LatencyCharacteristic == nil { - t.LatencyCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic) + t.LatencyCharacteristic = make(map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic) } key := TrafficPropertyName @@ -2412,108 +3011,79 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul return nil, fmt.Errorf("duplicate key %v for list LatencyCharacteristic", key) } - t.LatencyCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic{ + t.LatencyCharacteristic[key] = &TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic{ TrafficPropertyName: &TrafficPropertyName, } return t.LatencyCharacteristic[key], nil } -// NewName creates a new entry in the Name list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input +// NewRiskDiversityCharacteristic creates a new entry in the RiskDiversityCharacteristic list of the +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name, error){ +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint) NewRiskDiversityCharacteristic(RiskCharacteristicName string) (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.Name == nil { - t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name) + if t.RiskDiversityCharacteristic == nil { + t.RiskDiversityCharacteristic = make(map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic) } - key := ValueName + key := RiskCharacteristicName // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.Name[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Name", key) + if _, ok := t.RiskDiversityCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list RiskDiversityCharacteristic", key) } - t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name{ - ValueName: &ValueName, + t.RiskDiversityCharacteristic[key] = &TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic{ + RiskCharacteristicName: &RiskCharacteristicName, } - return t.Name[key], nil + return t.RiskDiversityCharacteristic[key], nil } -// NewRiskCharacteristic creates a new entry in the RiskCharacteristic list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewRiskCharacteristic(RiskCharacteristicName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic, error){ - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.RiskCharacteristic == nil { - t.RiskCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic) +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint"], t, opts...); err != nil { + return err } + return nil +} - key := RiskCharacteristicName - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.RiskCharacteristic[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list RiskCharacteristic", key) - } +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - t.RiskCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic{ - RiskCharacteristicName: &RiskCharacteristicName, - } - return t.RiskCharacteristic[key], nil +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic represents the /tapi-common/context/connectivity-context/connectivity-service/resilience-constraint/resiliency-route-constraint/routing-constraint/cost-characteristic YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic struct { + CostAlgorithm *string `path:"cost-algorithm" module:"tapi-connectivity"` + CostName *string `path:"cost-name" module:"tapi-connectivity"` + CostValue *string `path:"cost-value" module:"tapi-connectivity"` } -// NewRule creates a new entry in the Rule list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input -// arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewRule(LocalId string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule, error){ - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Rule == nil { - t.Rule = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) - } - - key := LocalId - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Rule[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Rule", key) - } - - t.Rule[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule{ - LocalId: &LocalId, - } - - return t.Rule[key], nil -} +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) ΛListKeyMap() (map[string]interface{}, error) { - if t.Uuid == nil { - return nil, fmt.Errorf("nil value for key Uuid") +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.CostName == nil { + return nil, fmt.Errorf("nil value for key CostName") } return map[string]interface{}{ - "uuid": *t.Uuid, + "cost-name": *t.CostName, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic"], t, opts...); err != nil { return err } return nil @@ -2521,45 +3091,37 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_CostCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/associated-node-rule-group YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup struct { - NodeRuleGroupUuid *string `path:"node-rule-group-uuid" module:"tapi-topology"` - NodeUuid *string `path:"node-uuid" module:"tapi-topology"` - TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic represents the /tapi-common/context/connectivity-context/connectivity-service/resilience-constraint/resiliency-route-constraint/routing-constraint/latency-characteristic YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic struct { + FixedLatencyCharacteristic *string `path:"fixed-latency-characteristic" module:"tapi-connectivity"` + JitterCharacteristic *string `path:"jitter-characteristic" module:"tapi-connectivity"` + QueingLatencyCharacteristic *string `path:"queing-latency-characteristic" module:"tapi-connectivity"` + TrafficPropertyName *string `path:"traffic-property-name" module:"tapi-connectivity"` + WanderCharacteristic *string `path:"wander-characteristic" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup) IsYANGGoStruct() {} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup) ΛListKeyMap() (map[string]interface{}, error) { - if t.NodeRuleGroupUuid == nil { - return nil, fmt.Errorf("nil value for key NodeRuleGroupUuid") - } - - if t.NodeUuid == nil { - return nil, fmt.Errorf("nil value for key NodeUuid") - } +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic) IsYANGGoStruct() {} - if t.TopologyUuid == nil { - return nil, fmt.Errorf("nil value for key TopologyUuid") +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.TrafficPropertyName == nil { + return nil, fmt.Errorf("nil value for key TrafficPropertyName") } return map[string]interface{}{ - "node-rule-group-uuid": *t.NodeRuleGroupUuid, - "node-uuid": *t.NodeUuid, - "topology-uuid": *t.TopologyUuid, + "traffic-property-name": *t.TrafficPropertyName, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic"], t, opts...); err != nil { return err } return nil @@ -2567,22 +3129,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_LatencyCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/available-capacity YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity struct { - TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedCost represents the /tapi-common/context/connectivity-context/connectivity-service/resilience-constraint/resiliency-route-constraint/routing-constraint/max-allowed-cost YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedCost struct { + Priority *uint64 `path:"priority" module:"tapi-connectivity"` + Value *uint64 `path:"value" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedCost implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedCost) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedCost) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedCost"], t, opts...); err != nil { return err } return nil @@ -2590,23 +3153,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedCost) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/available-capacity/total-size YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize struct { - Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` - Value *uint64 `path:"value" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedDelay represents the /tapi-common/context/connectivity-context/connectivity-service/resilience-constraint/resiliency-route-constraint/routing-constraint/max-allowed-delay YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedDelay struct { + Priority *uint64 `path:"priority" module:"tapi-connectivity"` + Value *uint64 `path:"value" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedDelay implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedDelay) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedDelay) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedDelay"], t, opts...); err != nil { return err } return nil @@ -2614,35 +3177,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedDelay) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/cost-characteristic YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic struct { - CostAlgorithm *string `path:"cost-algorithm" module:"tapi-topology"` - CostName *string `path:"cost-name" module:"tapi-topology"` - CostValue *string `path:"cost-value" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedHops represents the /tapi-common/context/connectivity-context/connectivity-service/resilience-constraint/resiliency-route-constraint/routing-constraint/max-allowed-hops YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedHops struct { + Priority *uint64 `path:"priority" module:"tapi-connectivity"` + Value *uint64 `path:"value" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedHops implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic) IsYANGGoStruct() {} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { - if t.CostName == nil { - return nil, fmt.Errorf("nil value for key CostName") - } - - return map[string]interface{}{ - "cost-name": *t.CostName, - }, nil -} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedHops) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedHops) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedHops"], t, opts...); err != nil { return err } return nil @@ -2650,37 +3201,34 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_MaxAllowedHops) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/latency-characteristic YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic struct { - FixedLatencyCharacteristic *string `path:"fixed-latency-characteristic" module:"tapi-topology"` - JitterCharacteristic *string `path:"jitter-characteristic" module:"tapi-topology"` - QueingLatencyCharacteristic *string `path:"queing-latency-characteristic" module:"tapi-topology"` - TrafficPropertyName *string `path:"traffic-property-name" module:"tapi-topology"` - WanderCharacteristic *string `path:"wander-characteristic" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic represents the /tapi-common/context/connectivity-context/connectivity-service/resilience-constraint/resiliency-route-constraint/routing-constraint/risk-diversity-characteristic YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic struct { + RiskCharacteristicName *string `path:"risk-characteristic-name" module:"tapi-connectivity"` + RiskIdentifierList []string `path:"risk-identifier-list" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { - if t.TrafficPropertyName == nil { - return nil, fmt.Errorf("nil value for key TrafficPropertyName") +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.RiskCharacteristicName == nil { + return nil, fmt.Errorf("nil value for key RiskCharacteristicName") } return map[string]interface{}{ - "traffic-property-name": *t.TrafficPropertyName, + "risk-characteristic-name": *t.RiskCharacteristicName, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic"], t, opts...); err != nil { return err } return nil @@ -2688,34 +3236,62 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_RoutingConstraint_RiskDiversityCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint represents the /tapi-common/context/connectivity-context/connectivity-service/resilience-constraint/resiliency-route-constraint/topology-constraint YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint struct { + AvoidTopology *string `path:"avoid-topology" module:"tapi-connectivity"` + ConstraintWeight *uint64 `path:"constraint-weight" module:"tapi-connectivity"` + ExcludeLink *string `path:"exclude-link" module:"tapi-connectivity"` + ExcludeNode *string `path:"exclude-node" module:"tapi-connectivity"` + ExcludeNodeEdgePoint *string `path:"exclude-node-edge-point" module:"tapi-connectivity"` + ExcludePath *string `path:"exclude-path" module:"tapi-connectivity"` + IncludeLink *string `path:"include-link" module:"tapi-connectivity"` + IncludeNode *string `path:"include-node" module:"tapi-connectivity"` + IncludeNodeEdgePoint *string `path:"include-node-edge-point" module:"tapi-connectivity"` + IncludePath *string `path:"include-path" module:"tapi-connectivity"` + IncludeTopology *string `path:"include-topology" module:"tapi-connectivity"` + LocalId *string `path:"local-id" module:"tapi-connectivity"` + Name map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint_Name `path:"name" module:"tapi-connectivity"` + PreferredTransportLayer E_TapiPathComputation_LayerProtocolName `path:"preferred-transport-layer" module:"tapi-connectivity"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint) IsYANGGoStruct() {} +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint) NewName(ValueName string) (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint_Name, error){ -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/name YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name struct { - Value *string `path:"value" module:"tapi-topology"` - ValueName *string `path:"value-name" module:"tapi-topology"` -} + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint_Name) + } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name) IsYANGGoStruct() {} + key := ValueName -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name) ΛListKeyMap() (map[string]interface{}, error) { - if t.ValueName == nil { - return nil, fmt.Errorf("nil value for key ValueName") + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) } - return map[string]interface{}{ - "value-name": *t.ValueName, - }, nil + t.Name[key] = &TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint"], t, opts...); err != nil { return err } return nil @@ -2723,34 +3299,34 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/risk-characteristic YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic struct { - RiskCharacteristicName *string `path:"risk-characteristic-name" module:"tapi-topology"` - RiskIdentifierList []string `path:"risk-identifier-list" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint_Name represents the /tapi-common/context/connectivity-context/connectivity-service/resilience-constraint/resiliency-route-constraint/topology-constraint/name YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint_Name struct { + Value *string `path:"value" module:"tapi-connectivity"` + ValueName *string `path:"value-name" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint_Name implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint_Name) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { - if t.RiskCharacteristicName == nil { - return nil, fmt.Errorf("nil value for key RiskCharacteristicName") +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") } return map[string]interface{}{ - "risk-characteristic-name": *t.RiskCharacteristicName, + "value-name": *t.ValueName, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint_Name"], t, opts...); err != nil { return err } return nil @@ -2758,94 +3334,112 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_ResilienceConstraint_ResiliencyRouteConstraint_TopologyConstraint_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/rule YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule struct { - CepDirection []E_TapiTopology_PortDirection `path:"cep-direction" module:"tapi-topology"` - CepPortRole []*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole `path:"cep-port-role" module:"tapi-topology"` - ComplexRule []string `path:"complex-rule" module:"tapi-topology"` - ConnectionSpecReference []*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference `path:"connection-spec-reference" module:"tapi-topology"` - ForwardingRule E_TapiTopology_ForwardingRule `path:"forwarding-rule" module:"tapi-topology"` - LayerProtocolQualifier []E_TapiTopology_LayerProtocolQualifier `path:"layer-protocol-qualifier" module:"tapi-topology"` - LocalId *string `path:"local-id" module:"tapi-topology"` - Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name `path:"name" module:"tapi-topology"` - OverridePriority *uint64 `path:"override-priority" module:"tapi-topology"` - RuleType E_TapiTopology_RuleType `path:"rule-type" module:"tapi-topology"` - SignalProperty *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty `path:"signal-property" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint represents the /tapi-common/context/connectivity-context/connectivity-service/routing-constraint YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint struct { + CostCharacteristic map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_CostCharacteristic `path:"cost-characteristic" module:"tapi-connectivity"` + DiversityPolicy E_TapiPathComputation_DiversityPolicy `path:"diversity-policy" module:"tapi-connectivity"` + IsExclusive *bool `path:"is-exclusive" module:"tapi-connectivity"` + LatencyCharacteristic map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_LatencyCharacteristic `path:"latency-characteristic" module:"tapi-connectivity"` + MaxAllowedCost *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedCost `path:"max-allowed-cost" module:"tapi-connectivity"` + MaxAllowedDelay *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedDelay `path:"max-allowed-delay" module:"tapi-connectivity"` + MaxAllowedHops *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedHops `path:"max-allowed-hops" module:"tapi-connectivity"` + RiskDiversityCharacteristic map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_RiskDiversityCharacteristic `path:"risk-diversity-characteristic" module:"tapi-connectivity"` + RouteObjectiveFunction E_TapiPathComputation_RouteObjectiveFunction `path:"route-objective-function" module:"tapi-connectivity"` + TolerableImpact E_TapiPathComputation_GradesOfImpact `path:"tolerable-impact" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint) IsYANGGoStruct() {} -// NewName creates a new entry in the Name list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule struct. The keys of the list are populated from the input +// NewCostCharacteristic creates a new entry in the CostCharacteristic list of the +// TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name, error){ +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint) NewCostCharacteristic(CostName string) (*TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_CostCharacteristic, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.Name == nil { - t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name) + if t.CostCharacteristic == nil { + t.CostCharacteristic = make(map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_CostCharacteristic) } - key := ValueName + key := CostName // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.Name[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Name", key) + if _, ok := t.CostCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list CostCharacteristic", key) } - t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name{ - ValueName: &ValueName, + t.CostCharacteristic[key] = &TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_CostCharacteristic{ + CostName: &CostName, } - return t.Name[key], nil + return t.CostCharacteristic[key], nil } -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) ΛListKeyMap() (map[string]interface{}, error) { - if t.LocalId == nil { - return nil, fmt.Errorf("nil value for key LocalId") +// NewLatencyCharacteristic creates a new entry in the LatencyCharacteristic list of the +// TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint) NewLatencyCharacteristic(TrafficPropertyName string) (*TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_LatencyCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.LatencyCharacteristic == nil { + t.LatencyCharacteristic = make(map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_LatencyCharacteristic) } - return map[string]interface{}{ - "local-id": *t.LocalId, - }, nil -} + key := TrafficPropertyName -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule"], t, opts...); err != nil { - return err + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.LatencyCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list LatencyCharacteristic", key) } - return nil + + t.LatencyCharacteristic[key] = &TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_LatencyCharacteristic{ + TrafficPropertyName: &TrafficPropertyName, + } + + return t.LatencyCharacteristic[key], nil } -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +// NewRiskDiversityCharacteristic creates a new entry in the RiskDiversityCharacteristic list of the +// TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint) NewRiskDiversityCharacteristic(RiskCharacteristicName string) (*TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_RiskDiversityCharacteristic, error){ + // Initialise the list within the receiver struct if it has not already been + // created. + if t.RiskDiversityCharacteristic == nil { + t.RiskDiversityCharacteristic = make(map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_RiskDiversityCharacteristic) + } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/rule/cep-port-role YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole struct { - PortRole []string `path:"port-role" module:"tapi-topology"` - PortRoleRule []E_TapiTopology_PortRoleRuleOption `path:"port-role-rule" module:"tapi-topology"` -} + key := RiskCharacteristicName -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole) IsYANGGoStruct() {} + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.RiskDiversityCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list RiskDiversityCharacteristic", key) + } + + t.RiskDiversityCharacteristic[key] = &TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_RiskDiversityCharacteristic{ + RiskCharacteristicName: &RiskCharacteristicName, + } + + return t.RiskDiversityCharacteristic[key], nil +} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint"], t, opts...); err != nil { return err } return nil @@ -2853,23 +3447,35 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/rule/connection-spec-reference YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference struct { - ConnectionSpec *string `path:"connection-spec" module:"tapi-topology"` - ConnectionSpecName *string `path:"connection-spec-name" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_CostCharacteristic represents the /tapi-common/context/connectivity-context/connectivity-service/routing-constraint/cost-characteristic YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_CostCharacteristic struct { + CostAlgorithm *string `path:"cost-algorithm" module:"tapi-connectivity"` + CostName *string `path:"cost-name" module:"tapi-connectivity"` + CostValue *string `path:"cost-value" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_CostCharacteristic implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_CostCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_CostCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_CostCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.CostName == nil { + return nil, fmt.Errorf("nil value for key CostName") + } + + return map[string]interface{}{ + "cost-name": *t.CostName, + }, nil +} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_CostCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_CostCharacteristic"], t, opts...); err != nil { return err } return nil @@ -2877,34 +3483,37 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_CostCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/rule/name YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name struct { - Value *string `path:"value" module:"tapi-topology"` - ValueName *string `path:"value-name" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_LatencyCharacteristic represents the /tapi-common/context/connectivity-context/connectivity-service/routing-constraint/latency-characteristic YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_LatencyCharacteristic struct { + FixedLatencyCharacteristic *string `path:"fixed-latency-characteristic" module:"tapi-connectivity"` + JitterCharacteristic *string `path:"jitter-characteristic" module:"tapi-connectivity"` + QueingLatencyCharacteristic *string `path:"queing-latency-characteristic" module:"tapi-connectivity"` + TrafficPropertyName *string `path:"traffic-property-name" module:"tapi-connectivity"` + WanderCharacteristic *string `path:"wander-characteristic" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_LatencyCharacteristic implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_LatencyCharacteristic) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name) ΛListKeyMap() (map[string]interface{}, error) { - if t.ValueName == nil { - return nil, fmt.Errorf("nil value for key ValueName") +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_LatencyCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_LatencyCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.TrafficPropertyName == nil { + return nil, fmt.Errorf("nil value for key TrafficPropertyName") } return map[string]interface{}{ - "value-name": *t.ValueName, + "traffic-property-name": *t.TrafficPropertyName, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_LatencyCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_LatencyCharacteristic"], t, opts...); err != nil { return err } return nil @@ -2912,25 +3521,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_LatencyCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/rule/signal-property YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty struct { - ApplicableSignalValue []string `path:"applicable-signal-value" module:"tapi-topology"` - NumberOfSignalValues *uint64 `path:"number-of-signal-values" module:"tapi-topology"` - SignalPropertyName *string `path:"signal-property-name" module:"tapi-topology"` - SignalPropertyValueRule E_TapiTopology_SignalPropertyValueRule `path:"signal-property-value-rule" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedCost represents the /tapi-common/context/connectivity-context/connectivity-service/routing-constraint/max-allowed-cost YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedCost struct { + Priority *uint64 `path:"priority" module:"tapi-connectivity"` + Value *uint64 `path:"value" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedCost implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedCost) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedCost) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedCost"], t, opts...); err != nil { return err } return nil @@ -2938,22 +3545,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedCost) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/total-potential-capacity YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity struct { - TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedDelay represents the /tapi-common/context/connectivity-context/connectivity-service/routing-constraint/max-allowed-delay YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedDelay struct { + Priority *uint64 `path:"priority" module:"tapi-connectivity"` + Value *uint64 `path:"value" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedDelay implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedDelay) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedDelay) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedDelay"], t, opts...); err != nil { return err } return nil @@ -2961,23 +3569,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedDelay) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/total-potential-capacity/total-size YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize struct { - Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` - Value *uint64 `path:"value" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedHops represents the /tapi-common/context/connectivity-context/connectivity-service/routing-constraint/max-allowed-hops YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedHops struct { + Priority *uint64 `path:"priority" module:"tapi-connectivity"` + Value *uint64 `path:"value" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedHops implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedHops) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedHops) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedHops"], t, opts...); err != nil { return err } return nil @@ -2985,37 +3593,34 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRul // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_MaxAllowedHops) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/latency-characteristic YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic struct { - FixedLatencyCharacteristic *string `path:"fixed-latency-characteristic" module:"tapi-topology"` - JitterCharacteristic *string `path:"jitter-characteristic" module:"tapi-topology"` - QueingLatencyCharacteristic *string `path:"queing-latency-characteristic" module:"tapi-topology"` - TrafficPropertyName *string `path:"traffic-property-name" module:"tapi-topology"` - WanderCharacteristic *string `path:"wander-characteristic" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_RiskDiversityCharacteristic represents the /tapi-common/context/connectivity-context/connectivity-service/routing-constraint/risk-diversity-characteristic YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_RiskDiversityCharacteristic struct { + RiskCharacteristicName *string `path:"risk-characteristic-name" module:"tapi-connectivity"` + RiskIdentifierList []string `path:"risk-identifier-list" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_RiskDiversityCharacteristic implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic) IsYANGGoStruct() {} +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_RiskDiversityCharacteristic) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { - if t.TrafficPropertyName == nil { - return nil, fmt.Errorf("nil value for key TrafficPropertyName") +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_RiskDiversityCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_RiskDiversityCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.RiskCharacteristicName == nil { + return nil, fmt.Errorf("nil value for key RiskCharacteristicName") } return map[string]interface{}{ - "traffic-property-name": *t.TrafficPropertyName, + "risk-characteristic-name": *t.RiskCharacteristicName, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_RiskDiversityCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_RiskDiversityCharacteristic"], t, opts...); err != nil { return err } return nil @@ -3023,34 +3628,73 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyC // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_RoutingConstraint_RiskDiversityCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint represents the /tapi-common/context/connectivity-context/connectivity-service/topology-constraint YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint struct { + AvoidTopology *string `path:"avoid-topology" module:"tapi-connectivity"` + ConstraintWeight *uint64 `path:"constraint-weight" module:"tapi-connectivity"` + ExcludeLink *string `path:"exclude-link" module:"tapi-connectivity"` + ExcludeNode *string `path:"exclude-node" module:"tapi-connectivity"` + ExcludeNodeEdgePoint *string `path:"exclude-node-edge-point" module:"tapi-connectivity"` + ExcludePath *string `path:"exclude-path" module:"tapi-connectivity"` + IncludeLink *string `path:"include-link" module:"tapi-connectivity"` + IncludeNode *string `path:"include-node" module:"tapi-connectivity"` + IncludeNodeEdgePoint *string `path:"include-node-edge-point" module:"tapi-connectivity"` + IncludePath *string `path:"include-path" module:"tapi-connectivity"` + IncludeTopology *string `path:"include-topology" module:"tapi-connectivity"` + LocalId *string `path:"local-id" module:"tapi-connectivity"` + Name map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint_Name `path:"name" module:"tapi-connectivity"` + PreferredTransportLayer E_TapiPathComputation_LayerProtocolName `path:"preferred-transport-layer" module:"tapi-connectivity"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint) IsYANGGoStruct() {} +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint) NewName(ValueName string) (*TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint_Name, error){ -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name represents the /tapi-common/context/topology-context/topology/node/node-rule-group/name YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name struct { - Value *string `path:"value" module:"tapi-topology"` - ValueName *string `path:"value-name" module:"tapi-topology"` -} + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint_Name) + } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name) IsYANGGoStruct() {} + key := ValueName -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name) ΛListKeyMap() (map[string]interface{}, error) { - if t.ValueName == nil { - return nil, fmt.Errorf("nil value for key ValueName") + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) + } + + t.Name[key] = &TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil +} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint) ΛListKeyMap() (map[string]interface{}, error) { + if t.LocalId == nil { + return nil, fmt.Errorf("nil value for key LocalId") } return map[string]interface{}{ - "value-name": *t.ValueName, + "local-id": *t.LocalId, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint"], t, opts...); err != nil { return err } return nil @@ -3058,45 +3702,34 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name) Va // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint represents the /tapi-common/context/topology-context/topology/node/node-rule-group/node-edge-point YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint struct { - NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-topology"` - NodeUuid *string `path:"node-uuid" module:"tapi-topology"` - TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +// TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint_Name represents the /tapi-common/context/connectivity-context/connectivity-service/topology-constraint/name YANG schema element. +type TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint_Name struct { + Value *string `path:"value" module:"tapi-connectivity"` + ValueName *string `path:"value-name" module:"tapi-connectivity"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint_Name implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint) IsYANGGoStruct() {} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { - if t.NodeEdgePointUuid == nil { - return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") - } - - if t.NodeUuid == nil { - return nil, fmt.Errorf("nil value for key NodeUuid") - } +func (*TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint_Name) IsYANGGoStruct() {} - if t.TopologyUuid == nil { - return nil, fmt.Errorf("nil value for key TopologyUuid") +// ΛListKeyMap returns the keys of the TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") } return map[string]interface{}{ - "node-edge-point-uuid": *t.NodeEdgePointUuid, - "node-uuid": *t.NodeUuid, - "topology-uuid": *t.TopologyUuid, + "value-name": *t.ValueName, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint"], t, opts...); err != nil { +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint_Name"], t, opts...); err != nil { return err } return nil @@ -3104,34 +3737,34 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdge // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_ConnectivityContext_ConnectivityService_TopologyConstraint_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/risk-characteristic YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic struct { - RiskCharacteristicName *string `path:"risk-characteristic-name" module:"tapi-topology"` - RiskIdentifierList []string `path:"risk-identifier-list" module:"tapi-topology"` +// TapiCommon_Context_Name represents the /tapi-common/context/name YANG schema element. +type TapiCommon_Context_Name struct { + Value *string `path:"value" module:"tapi-common"` + ValueName *string `path:"value-name" module:"tapi-common"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_Name implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic) IsYANGGoStruct() {} +func (*TapiCommon_Context_Name) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { - if t.RiskCharacteristicName == nil { - return nil, fmt.Errorf("nil value for key RiskCharacteristicName") +// ΛListKeyMap returns the keys of the TapiCommon_Context_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") } return map[string]interface{}{ - "risk-characteristic-name": *t.RiskCharacteristicName, + "value-name": *t.ValueName, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic"], t, opts...); err != nil { +func (t *TapiCommon_Context_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_Name"], t, opts...); err != nil { return err } return nil @@ -3139,94 +3772,77 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskChar // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule represents the /tapi-common/context/topology-context/topology/node/node-rule-group/rule YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule struct { - CepDirection []E_TapiTopology_PortDirection `path:"cep-direction" module:"tapi-topology"` - CepPortRole []*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole `path:"cep-port-role" module:"tapi-topology"` - ComplexRule []string `path:"complex-rule" module:"tapi-topology"` - ConnectionSpecReference []*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference `path:"connection-spec-reference" module:"tapi-topology"` - ForwardingRule E_TapiTopology_ForwardingRule `path:"forwarding-rule" module:"tapi-topology"` - LayerProtocolQualifier []E_TapiTopology_LayerProtocolQualifier `path:"layer-protocol-qualifier" module:"tapi-topology"` - LocalId *string `path:"local-id" module:"tapi-topology"` - Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name `path:"name" module:"tapi-topology"` - OverridePriority *uint64 `path:"override-priority" module:"tapi-topology"` - RuleType E_TapiTopology_RuleType `path:"rule-type" module:"tapi-topology"` - SignalProperty *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty `path:"signal-property" module:"tapi-topology"` +// TapiCommon_Context_PathComputationContext represents the /tapi-common/context/path-computation-context YANG schema element. +type TapiCommon_Context_PathComputationContext struct { + Path map[string]*TapiCommon_Context_PathComputationContext_Path `path:"path" module:"tapi-path-computation"` + PathCompService map[string]*TapiCommon_Context_PathComputationContext_PathCompService `path:"path-comp-service" module:"tapi-path-computation"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) IsYANGGoStruct() {} +func (*TapiCommon_Context_PathComputationContext) IsYANGGoStruct() {} -// NewName creates a new entry in the Name list of the -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule struct. The keys of the list are populated from the input +// NewPath creates a new entry in the Path list of the +// TapiCommon_Context_PathComputationContext struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name, error){ +func (t *TapiCommon_Context_PathComputationContext) NewPath(Uuid string) (*TapiCommon_Context_PathComputationContext_Path, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.Name == nil { - t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name) + if t.Path == nil { + t.Path = make(map[string]*TapiCommon_Context_PathComputationContext_Path) } - key := ValueName + key := Uuid // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.Name[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Name", key) + if _, ok := t.Path[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Path", key) } - t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name{ - ValueName: &ValueName, + t.Path[key] = &TapiCommon_Context_PathComputationContext_Path{ + Uuid: &Uuid, } - return t.Name[key], nil + return t.Path[key], nil } -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) ΛListKeyMap() (map[string]interface{}, error) { - if t.LocalId == nil { - return nil, fmt.Errorf("nil value for key LocalId") +// NewPathCompService creates a new entry in the PathCompService list of the +// TapiCommon_Context_PathComputationContext struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_PathComputationContext) NewPathCompService(Uuid string) (*TapiCommon_Context_PathComputationContext_PathCompService, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.PathCompService == nil { + t.PathCompService = make(map[string]*TapiCommon_Context_PathComputationContext_PathCompService) } - return map[string]interface{}{ - "local-id": *t.LocalId, - }, nil -} + key := Uuid -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule"], t, opts...); err != nil { - return err - } - return nil -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.PathCompService[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list PathCompService", key) + } + t.PathCompService[key] = &TapiCommon_Context_PathComputationContext_PathCompService{ + Uuid: &Uuid, + } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole represents the /tapi-common/context/topology-context/topology/node/node-rule-group/rule/cep-port-role YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole struct { - PortRole []string `path:"port-role" module:"tapi-topology"` - PortRoleRule []E_TapiTopology_PortRoleRuleOption `path:"port-role-rule" module:"tapi-topology"` + return t.PathCompService[key], nil } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole) IsYANGGoStruct() {} - // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole"], t, opts...); err != nil { +func (t *TapiCommon_Context_PathComputationContext) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext"], t, opts...); err != nil { return err } return nil @@ -3234,131 +3850,102 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Cep // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_PathComputationContext) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference represents the /tapi-common/context/topology-context/topology/node/node-rule-group/rule/connection-spec-reference YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference struct { - ConnectionSpec *string `path:"connection-spec" module:"tapi-topology"` - ConnectionSpecName *string `path:"connection-spec-name" module:"tapi-topology"` +// TapiCommon_Context_PathComputationContext_Path represents the /tapi-common/context/path-computation-context/path YANG schema element. +type TapiCommon_Context_PathComputationContext_Path struct { + Direction E_TapiPathComputation_ForwardingDirection `path:"direction" module:"tapi-path-computation"` + LayerProtocolName E_TapiPathComputation_LayerProtocolName `path:"layer-protocol-name" module:"tapi-path-computation"` + Link map[TapiCommon_Context_PathComputationContext_Path_Link_Key]*TapiCommon_Context_PathComputationContext_Path_Link `path:"link" module:"tapi-path-computation"` + Name map[string]*TapiCommon_Context_PathComputationContext_Path_Name `path:"name" module:"tapi-path-computation"` + RoutingConstraint *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint `path:"routing-constraint" module:"tapi-path-computation"` + Uuid *string `path:"uuid" module:"tapi-path-computation"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_Path implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference) IsYANGGoStruct() {} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference"], t, opts...); err != nil { - return err - } - return nil -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (*TapiCommon_Context_PathComputationContext_Path) IsYANGGoStruct() {} - -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name represents the /tapi-common/context/topology-context/topology/node/node-rule-group/rule/name YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name struct { - Value *string `path:"value" module:"tapi-topology"` - ValueName *string `path:"value-name" module:"tapi-topology"` +// TapiCommon_Context_PathComputationContext_Path_Link_Key represents the key for list Link of element /tapi-common/context/path-computation-context/path. +type TapiCommon_Context_PathComputationContext_Path_Link_Key struct { + TopologyUuid string `path:"topology-uuid"` + LinkUuid string `path:"link-uuid"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name) IsYANGGoStruct() {} +// NewLink creates a new entry in the Link list of the +// TapiCommon_Context_PathComputationContext_Path struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_PathComputationContext_Path) NewLink(TopologyUuid string, LinkUuid string) (*TapiCommon_Context_PathComputationContext_Path_Link, error){ -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name) ΛListKeyMap() (map[string]interface{}, error) { - if t.ValueName == nil { - return nil, fmt.Errorf("nil value for key ValueName") + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Link == nil { + t.Link = make(map[TapiCommon_Context_PathComputationContext_Path_Link_Key]*TapiCommon_Context_PathComputationContext_Path_Link) } - return map[string]interface{}{ - "value-name": *t.ValueName, - }, nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name"], t, opts...); err != nil { - return err + key := TapiCommon_Context_PathComputationContext_Path_Link_Key{ + TopologyUuid: TopologyUuid, + LinkUuid: LinkUuid, } - return nil -} -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Link[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Link", key) + } + t.Link[key] = &TapiCommon_Context_PathComputationContext_Path_Link{ + TopologyUuid: &TopologyUuid, + LinkUuid: &LinkUuid, + } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty represents the /tapi-common/context/topology-context/topology/node/node-rule-group/rule/signal-property YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty struct { - ApplicableSignalValue []string `path:"applicable-signal-value" module:"tapi-topology"` - NumberOfSignalValues *uint64 `path:"number-of-signal-values" module:"tapi-topology"` - SignalPropertyName *string `path:"signal-property-name" module:"tapi-topology"` - SignalPropertyValueRule E_TapiTopology_SignalPropertyValueRule `path:"signal-property-value-rule" module:"tapi-topology"` + return t.Link[key], nil } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty) IsYANGGoStruct() {} +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_PathComputationContext_Path struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_PathComputationContext_Path) NewName(ValueName string) (*TapiCommon_Context_PathComputationContext_Path_Name, error){ -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty"], t, opts...); err != nil { - return err + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_PathComputationContext_Path_Name) } - return nil -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + key := ValueName -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity represents the /tapi-common/context/topology-context/topology/node/node-rule-group/total-potential-capacity YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity struct { - TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize `path:"total-size" module:"tapi-topology"` -} - -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity) IsYANGGoStruct() {} + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) + } -// Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity"], t, opts...); err != nil { - return err + t.Name[key] = &TapiCommon_Context_PathComputationContext_Path_Name{ + ValueName: &ValueName, } - return nil -} -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + return t.Name[key], nil +} +// ΛListKeyMap returns the keys of the TapiCommon_Context_PathComputationContext_Path struct, which is a YANG list entry. +func (t *TapiCommon_Context_PathComputationContext_Path) ΛListKeyMap() (map[string]interface{}, error) { + if t.Uuid == nil { + return nil, fmt.Errorf("nil value for key Uuid") + } -// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/node-rule-group/total-potential-capacity/total-size YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize struct { - Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` - Value *uint64 `path:"value" module:"tapi-topology"` + return map[string]interface{}{ + "uuid": *t.Uuid, + }, nil } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize) IsYANGGoStruct() {} - // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize"], t, opts...); err != nil { +func (t *TapiCommon_Context_PathComputationContext_Path) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_Path"], t, opts...); err != nil { return err } return nil @@ -3366,156 +3953,138 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPot // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_PathComputationContext_Path) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct { - AdministrativeState E_TapiCommon_AdministrativeState `path:"administrative-state" module:"tapi-topology"` - AggregatedNodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint `path:"aggregated-node-edge-point" module:"tapi-topology"` - AvailableCapacity *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity `path:"available-capacity" module:"tapi-topology"` - AvailableCepLayerProtocol map[E_TapiTopology_LayerProtocolQualifier]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol `path:"available-cep-layer-protocol" module:"tapi-topology"` - LayerProtocolName E_TapiTopology_LayerProtocolName `path:"layer-protocol-name" module:"tapi-topology"` - LifecycleState E_TapiCommon_LifecycleState `path:"lifecycle-state" module:"tapi-topology"` - LinkPortDirection E_TapiTopology_PortDirection `path:"link-port-direction" module:"tapi-topology"` - LinkPortRole E_TapiTopology_PortRole `path:"link-port-role" module:"tapi-topology"` - MappedServiceInterfacePoint map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint `path:"mapped-service-interface-point" module:"tapi-topology"` - Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name `path:"name" module:"tapi-topology"` - OperationalState E_TapiCommon_OperationalState `path:"operational-state" module:"tapi-topology"` - TerminationDirection E_TapiCommon_TerminationDirection `path:"termination-direction" module:"tapi-topology"` - TerminationState E_TapiCommon_TerminationState `path:"termination-state" module:"tapi-topology"` - TotalPotentialCapacity *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-topology"` - Uuid *string `path:"uuid" module:"tapi-topology"` +// TapiCommon_Context_PathComputationContext_PathCompService represents the /tapi-common/context/path-computation-context/path-comp-service YANG schema element. +type TapiCommon_Context_PathComputationContext_PathCompService struct { + Direction E_TapiPathComputation_ForwardingDirection `path:"direction" module:"tapi-path-computation"` + EndPoint map[string]*TapiCommon_Context_PathComputationContext_PathCompService_EndPoint `path:"end-point" module:"tapi-path-computation"` + LayerProtocolName E_TapiPathComputation_LayerProtocolName `path:"layer-protocol-name" module:"tapi-path-computation"` + Name map[string]*TapiCommon_Context_PathComputationContext_PathCompService_Name `path:"name" module:"tapi-path-computation"` + ObjectiveFunction *TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction `path:"objective-function" module:"tapi-path-computation"` + OptimizationConstraint *TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint `path:"optimization-constraint" module:"tapi-path-computation"` + Path map[string]*TapiCommon_Context_PathComputationContext_PathCompService_Path `path:"path" module:"tapi-path-computation"` + RoutingConstraint *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint `path:"routing-constraint" module:"tapi-path-computation"` + TopologyConstraint map[string]*TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint `path:"topology-constraint" module:"tapi-path-computation"` + Uuid *string `path:"uuid" module:"tapi-path-computation"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_PathCompService implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) IsYANGGoStruct() {} - -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint_Key represents the key for list AggregatedNodeEdgePoint of element /tapi-common/context/topology-context/topology/node/owned-node-edge-point. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint_Key struct { - TopologyUuid string `path:"topology-uuid"` - NodeUuid string `path:"node-uuid"` - NodeEdgePointUuid string `path:"node-edge-point-uuid"` -} +func (*TapiCommon_Context_PathComputationContext_PathCompService) IsYANGGoStruct() {} -// NewAggregatedNodeEdgePoint creates a new entry in the AggregatedNodeEdgePoint list of the -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct. The keys of the list are populated from the input +// NewEndPoint creates a new entry in the EndPoint list of the +// TapiCommon_Context_PathComputationContext_PathCompService struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) NewAggregatedNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint, error){ +func (t *TapiCommon_Context_PathComputationContext_PathCompService) NewEndPoint(LocalId string) (*TapiCommon_Context_PathComputationContext_PathCompService_EndPoint, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.AggregatedNodeEdgePoint == nil { - t.AggregatedNodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint) + if t.EndPoint == nil { + t.EndPoint = make(map[string]*TapiCommon_Context_PathComputationContext_PathCompService_EndPoint) } - key := TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint_Key{ - TopologyUuid: TopologyUuid, - NodeUuid: NodeUuid, - NodeEdgePointUuid: NodeEdgePointUuid, - } + key := LocalId // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.AggregatedNodeEdgePoint[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list AggregatedNodeEdgePoint", key) + if _, ok := t.EndPoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list EndPoint", key) } - t.AggregatedNodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint{ - TopologyUuid: &TopologyUuid, - NodeUuid: &NodeUuid, - NodeEdgePointUuid: &NodeEdgePointUuid, + t.EndPoint[key] = &TapiCommon_Context_PathComputationContext_PathCompService_EndPoint{ + LocalId: &LocalId, } - return t.AggregatedNodeEdgePoint[key], nil + return t.EndPoint[key], nil } -// NewAvailableCepLayerProtocol creates a new entry in the AvailableCepLayerProtocol list of the -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct. The keys of the list are populated from the input +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_PathComputationContext_PathCompService struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) NewAvailableCepLayerProtocol(LayerProtocolQualifier E_TapiTopology_LayerProtocolQualifier) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol, error){ +func (t *TapiCommon_Context_PathComputationContext_PathCompService) NewName(ValueName string) (*TapiCommon_Context_PathComputationContext_PathCompService_Name, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.AvailableCepLayerProtocol == nil { - t.AvailableCepLayerProtocol = make(map[E_TapiTopology_LayerProtocolQualifier]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol) + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_PathComputationContext_PathCompService_Name) } - key := LayerProtocolQualifier + key := ValueName // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.AvailableCepLayerProtocol[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list AvailableCepLayerProtocol", key) + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) } - t.AvailableCepLayerProtocol[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol{ - LayerProtocolQualifier: LayerProtocolQualifier, + t.Name[key] = &TapiCommon_Context_PathComputationContext_PathCompService_Name{ + ValueName: &ValueName, } - return t.AvailableCepLayerProtocol[key], nil + return t.Name[key], nil } -// NewMappedServiceInterfacePoint creates a new entry in the MappedServiceInterfacePoint list of the -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct. The keys of the list are populated from the input +// NewPath creates a new entry in the Path list of the +// TapiCommon_Context_PathComputationContext_PathCompService struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) NewMappedServiceInterfacePoint(ServiceInterfacePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint, error){ +func (t *TapiCommon_Context_PathComputationContext_PathCompService) NewPath(PathUuid string) (*TapiCommon_Context_PathComputationContext_PathCompService_Path, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.MappedServiceInterfacePoint == nil { - t.MappedServiceInterfacePoint = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint) + if t.Path == nil { + t.Path = make(map[string]*TapiCommon_Context_PathComputationContext_PathCompService_Path) } - key := ServiceInterfacePointUuid + key := PathUuid // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.MappedServiceInterfacePoint[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list MappedServiceInterfacePoint", key) + if _, ok := t.Path[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Path", key) } - t.MappedServiceInterfacePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint{ - ServiceInterfacePointUuid: &ServiceInterfacePointUuid, + t.Path[key] = &TapiCommon_Context_PathComputationContext_PathCompService_Path{ + PathUuid: &PathUuid, } - return t.MappedServiceInterfacePoint[key], nil + return t.Path[key], nil } -// NewName creates a new entry in the Name list of the -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct. The keys of the list are populated from the input +// NewTopologyConstraint creates a new entry in the TopologyConstraint list of the +// TapiCommon_Context_PathComputationContext_PathCompService struct. The keys of the list are populated from the input // arguments. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name, error){ +func (t *TapiCommon_Context_PathComputationContext_PathCompService) NewTopologyConstraint(LocalId string) (*TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint, error){ // Initialise the list within the receiver struct if it has not already been // created. - if t.Name == nil { - t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name) + if t.TopologyConstraint == nil { + t.TopologyConstraint = make(map[string]*TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint) } - key := ValueName + key := LocalId // Ensure that this key has not already been used in the // list. Keyed YANG lists do not allow duplicate keys to // be created. - if _, ok := t.Name[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Name", key) + if _, ok := t.TopologyConstraint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list TopologyConstraint", key) } - t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name{ - ValueName: &ValueName, + t.TopologyConstraint[key] = &TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint{ + LocalId: &LocalId, } - return t.Name[key], nil + return t.TopologyConstraint[key], nil } -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { +// ΛListKeyMap returns the keys of the TapiCommon_Context_PathComputationContext_PathCompService struct, which is a YANG list entry. +func (t *TapiCommon_Context_PathComputationContext_PathCompService) ΛListKeyMap() (map[string]interface{}, error) { if t.Uuid == nil { return nil, fmt.Errorf("nil value for key Uuid") } @@ -3526,8 +4095,8 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) Λ } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint"], t, opts...); err != nil { +func (t *TapiCommon_Context_PathComputationContext_PathCompService) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_PathCompService"], t, opts...); err != nil { return err } return nil @@ -3535,45 +4104,67 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) Va // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_PathComputationContext_PathCompService) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/aggregated-node-edge-point YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint struct { - NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-topology"` - NodeUuid *string `path:"node-uuid" module:"tapi-topology"` - TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +// TapiCommon_Context_PathComputationContext_PathCompService_EndPoint represents the /tapi-common/context/path-computation-context/path-comp-service/end-point YANG schema element. +type TapiCommon_Context_PathComputationContext_PathCompService_EndPoint struct { + Capacity *TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Capacity `path:"capacity" module:"tapi-path-computation"` + Direction E_TapiPathComputation_PortDirection `path:"direction" module:"tapi-path-computation"` + LayerProtocolName E_TapiPathComputation_LayerProtocolName `path:"layer-protocol-name" module:"tapi-path-computation"` + LayerProtocolQualifier E_TapiPathComputation_LayerProtocolQualifier `path:"layer-protocol-qualifier" module:"tapi-path-computation"` + LocalId *string `path:"local-id" module:"tapi-path-computation"` + Name map[string]*TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Name `path:"name" module:"tapi-path-computation"` + Role E_TapiPathComputation_PortRole `path:"role" module:"tapi-path-computation"` + ServiceInterfacePoint *TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_ServiceInterfacePoint `path:"service-interface-point" module:"tapi-path-computation"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_PathCompService_EndPoint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint) IsYANGGoStruct() {} +func (*TapiCommon_Context_PathComputationContext_PathCompService_EndPoint) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { - if t.NodeEdgePointUuid == nil { - return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_PathComputationContext_PathCompService_EndPoint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_EndPoint) NewName(ValueName string) (*TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Name, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Name) } - if t.NodeUuid == nil { - return nil, fmt.Errorf("nil value for key NodeUuid") + key := ValueName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) } - if t.TopologyUuid == nil { - return nil, fmt.Errorf("nil value for key TopologyUuid") + t.Name[key] = &TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil +} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_PathComputationContext_PathCompService_EndPoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_EndPoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.LocalId == nil { + return nil, fmt.Errorf("nil value for key LocalId") } return map[string]interface{}{ - "node-edge-point-uuid": *t.NodeEdgePointUuid, - "node-uuid": *t.NodeUuid, - "topology-uuid": *t.TopologyUuid, + "local-id": *t.LocalId, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint"], t, opts...); err != nil { +func (t *TapiCommon_Context_PathComputationContext_PathCompService_EndPoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_PathCompService_EndPoint"], t, opts...); err != nil { return err } return nil @@ -3581,22 +4172,22 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Agg // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_PathComputationContext_PathCompService_EndPoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/available-capacity YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity struct { - TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +// TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Capacity represents the /tapi-common/context/path-computation-context/path-comp-service/end-point/capacity YANG schema element. +type TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Capacity struct { + TotalSize *TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Capacity_TotalSize `path:"total-size" module:"tapi-path-computation"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Capacity implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity) IsYANGGoStruct() {} +func (*TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Capacity) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity"], t, opts...); err != nil { +func (t *TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Capacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Capacity"], t, opts...); err != nil { return err } return nil @@ -3604,23 +4195,23 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Ava // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Capacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/available-capacity/total-size YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize struct { - Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` - Value *uint64 `path:"value" module:"tapi-topology"` +// TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Capacity_TotalSize represents the /tapi-common/context/path-computation-context/path-comp-service/end-point/capacity/total-size YANG schema element. +type TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Capacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-path-computation"` + Value *uint64 `path:"value" module:"tapi-path-computation"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Capacity_TotalSize implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize) IsYANGGoStruct() {} +func (*TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Capacity_TotalSize) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize"], t, opts...); err != nil { +func (t *TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Capacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Capacity_TotalSize"], t, opts...); err != nil { return err } return nil @@ -3628,31 +4219,34 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Ava // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Capacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/available-cep-layer-protocol YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol struct { - LayerProtocolQualifier E_TapiTopology_LayerProtocolQualifier `path:"layer-protocol-qualifier" module:"tapi-topology"` - NumberOfCepInstances *uint64 `path:"number-of-cep-instances" module:"tapi-topology"` +// TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Name represents the /tapi-common/context/path-computation-context/path-comp-service/end-point/name YANG schema element. +type TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Name struct { + Value *string `path:"value" module:"tapi-path-computation"` + ValueName *string `path:"value-name" module:"tapi-path-computation"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Name implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol) IsYANGGoStruct() {} +func (*TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Name) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol) ΛListKeyMap() (map[string]interface{}, error) { +// ΛListKeyMap returns the keys of the TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } return map[string]interface{}{ - "layer-protocol-qualifier": t.LayerProtocolQualifier, + "value-name": *t.ValueName, }, nil } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol"], t, opts...); err != nil { +func (t *TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Name"], t, opts...); err != nil { return err } return nil @@ -3660,33 +4254,22 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Ava // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/mapped-service-interface-point YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint struct { - ServiceInterfacePointUuid *string `path:"service-interface-point-uuid" module:"tapi-topology"` +// TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_ServiceInterfacePoint represents the /tapi-common/context/path-computation-context/path-comp-service/end-point/service-interface-point YANG schema element. +type TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_ServiceInterfacePoint struct { + ServiceInterfacePointUuid *string `path:"service-interface-point-uuid" module:"tapi-path-computation"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_ServiceInterfacePoint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint) IsYANGGoStruct() {} - -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint) ΛListKeyMap() (map[string]interface{}, error) { - if t.ServiceInterfacePointUuid == nil { - return nil, fmt.Errorf("nil value for key ServiceInterfacePointUuid") - } - - return map[string]interface{}{ - "service-interface-point-uuid": *t.ServiceInterfacePointUuid, - }, nil -} +func (*TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_ServiceInterfacePoint) IsYANGGoStruct() {} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint"], t, opts...); err != nil { +func (t *TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_ServiceInterfacePoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_ServiceInterfacePoint"], t, opts...); err != nil { return err } return nil @@ -3694,22 +4277,22 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Map // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_PathComputationContext_PathCompService_EndPoint_ServiceInterfacePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/name YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name struct { - Value *string `path:"value" module:"tapi-topology"` - ValueName *string `path:"value-name" module:"tapi-topology"` +// TapiCommon_Context_PathComputationContext_PathCompService_Name represents the /tapi-common/context/path-computation-context/path-comp-service/name YANG schema element. +type TapiCommon_Context_PathComputationContext_PathCompService_Name struct { + Value *string `path:"value" module:"tapi-path-computation"` + ValueName *string `path:"value-name" module:"tapi-path-computation"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_PathCompService_Name implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name) IsYANGGoStruct() {} +func (*TapiCommon_Context_PathComputationContext_PathCompService_Name) IsYANGGoStruct() {} -// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name struct, which is a YANG list entry. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name) ΛListKeyMap() (map[string]interface{}, error) { +// ΛListKeyMap returns the keys of the TapiCommon_Context_PathComputationContext_PathCompService_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_Name) ΛListKeyMap() (map[string]interface{}, error) { if t.ValueName == nil { return nil, fmt.Errorf("nil value for key ValueName") } @@ -3720,8 +4303,8 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Nam } // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name"], t, opts...); err != nil { +func (t *TapiCommon_Context_PathComputationContext_PathCompService_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_PathCompService_Name"], t, opts...); err != nil { return err } return nil @@ -3729,22 +4312,55 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Nam // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_PathComputationContext_PathCompService_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/total-potential-capacity YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity struct { - TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +// TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction represents the /tapi-common/context/path-computation-context/path-comp-service/objective-function YANG schema element. +type TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction struct { + BandwidthOptimization E_TapiPathComputation_DirectiveValue `path:"bandwidth-optimization" module:"tapi-path-computation"` + ConcurrentPaths E_TapiPathComputation_DirectiveValue `path:"concurrent-paths" module:"tapi-path-computation"` + CostOptimization E_TapiPathComputation_DirectiveValue `path:"cost-optimization" module:"tapi-path-computation"` + LinkUtilization E_TapiPathComputation_DirectiveValue `path:"link-utilization" module:"tapi-path-computation"` + LocalId *string `path:"local-id" module:"tapi-path-computation"` + Name map[string]*TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction_Name `path:"name" module:"tapi-path-computation"` + ResourceSharing E_TapiPathComputation_DirectiveValue `path:"resource-sharing" module:"tapi-path-computation"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity) IsYANGGoStruct() {} +func (*TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction) IsYANGGoStruct() {} + +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction) NewName(ValueName string) (*TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction_Name, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction_Name) + } + + key := ValueName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) + } + + t.Name[key] = &TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil +} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity"], t, opts...); err != nil { +func (t *TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction"], t, opts...); err != nil { return err } return nil @@ -3752,23 +4368,34 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Tot // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/total-potential-capacity/total-size YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity_TotalSize struct { - Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` - Value *uint64 `path:"value" module:"tapi-topology"` +// TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction_Name represents the /tapi-common/context/path-computation-context/path-comp-service/objective-function/name YANG schema element. +type TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction_Name struct { + Value *string `path:"value" module:"tapi-path-computation"` + ValueName *string `path:"value-name" module:"tapi-path-computation"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity_TotalSize implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction_Name implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity_TotalSize) IsYANGGoStruct() {} +func (*TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity_TotalSize"], t, opts...); err != nil { +func (t *TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction_Name"], t, opts...); err != nil { return err } return nil @@ -3776,22 +4403,51 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Tot // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_PathComputationContext_PathCompService_ObjectiveFunction_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity represents the /tapi-common/context/topology-context/topology/node/total-potential-capacity YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity struct { - TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +// TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint represents the /tapi-common/context/path-computation-context/path-comp-service/optimization-constraint YANG schema element. +type TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint struct { + LocalId *string `path:"local-id" module:"tapi-path-computation"` + Name map[string]*TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint_Name `path:"name" module:"tapi-path-computation"` + TrafficInterruption E_TapiPathComputation_DirectiveValue `path:"traffic-interruption" module:"tapi-path-computation"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity) IsYANGGoStruct() {} +func (*TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint) IsYANGGoStruct() {} + +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint) NewName(ValueName string) (*TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint_Name, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint_Name) + } + + key := ValueName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) + } + + t.Name[key] = &TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil +} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity"], t, opts...); err != nil { +func (t *TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint"], t, opts...); err != nil { return err } return nil @@ -3799,23 +4455,34 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/total-potential-capacity/total-size YANG schema element. -type TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity_TotalSize struct { - Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` - Value *uint64 `path:"value" module:"tapi-topology"` +// TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint_Name represents the /tapi-common/context/path-computation-context/path-comp-service/optimization-constraint/name YANG schema element. +type TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint_Name struct { + Value *string `path:"value" module:"tapi-path-computation"` + ValueName *string `path:"value-name" module:"tapi-path-computation"` } -// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity_TotalSize implements the yang.GoStruct +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint_Name implements the yang.GoStruct // interface. This allows functions that need to handle this struct to // identify it as being generated by ygen. -func (*TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity_TotalSize) IsYANGGoStruct() {} +func (*TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} // Validate validates s against the YANG schema corresponding to its type. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity_TotalSize"], t, opts...); err != nil { +func (t *TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint_Name"], t, opts...); err != nil { return err } return nil @@ -3823,62 +4490,4834 @@ func (t *TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity // ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types // that are included in the generated code. -func (t *TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } +func (t *TapiCommon_Context_PathComputationContext_PathCompService_OptimizationConstraint_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// E_TapiCommon_AdministrativeState is a derived int64 type which is used to represent -// the enumerated node TapiCommon_AdministrativeState. An additional value named -// TapiCommon_AdministrativeState_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_TapiCommon_AdministrativeState int64 +// TapiCommon_Context_PathComputationContext_PathCompService_Path represents the /tapi-common/context/path-computation-context/path-comp-service/path YANG schema element. +type TapiCommon_Context_PathComputationContext_PathCompService_Path struct { + PathUuid *string `path:"path-uuid" module:"tapi-path-computation"` +} -// IsYANGGoEnum ensures that TapiCommon_AdministrativeState implements the yang.GoEnum -// interface. This ensures that TapiCommon_AdministrativeState can be identified as a -// mapped type for a YANG enumeration. -func (E_TapiCommon_AdministrativeState) IsYANGGoEnum() {} +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_PathCompService_Path implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_PathComputationContext_PathCompService_Path) IsYANGGoStruct() {} -// ΛMap returns the value lookup map associated with TapiCommon_AdministrativeState. -func (E_TapiCommon_AdministrativeState) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } +// ΛListKeyMap returns the keys of the TapiCommon_Context_PathComputationContext_PathCompService_Path struct, which is a YANG list entry. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_Path) ΛListKeyMap() (map[string]interface{}, error) { + if t.PathUuid == nil { + return nil, fmt.Errorf("nil value for key PathUuid") + } -// String returns a logging-friendly string for E_TapiCommon_AdministrativeState. -func (e E_TapiCommon_AdministrativeState) String() string { - return ygot.EnumLogString(e, int64(e), "E_TapiCommon_AdministrativeState") + return map[string]interface{}{ + "path-uuid": *t.PathUuid, + }, nil } -const ( - // TapiCommon_AdministrativeState_UNSET corresponds to the value UNSET of TapiCommon_AdministrativeState - TapiCommon_AdministrativeState_UNSET E_TapiCommon_AdministrativeState = 0 - // TapiCommon_AdministrativeState_LOCKED corresponds to the value LOCKED of TapiCommon_AdministrativeState - TapiCommon_AdministrativeState_LOCKED E_TapiCommon_AdministrativeState = 1 - // TapiCommon_AdministrativeState_UNLOCKED corresponds to the value UNLOCKED of TapiCommon_AdministrativeState - TapiCommon_AdministrativeState_UNLOCKED E_TapiCommon_AdministrativeState = 2 -) +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_Path) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_PathCompService_Path"], t, opts...); err != nil { + return err + } + return nil +} +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_Path) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } -// E_TapiCommon_CapacityUnit is a derived int64 type which is used to represent -// the enumerated node TapiCommon_CapacityUnit. An additional value named -// TapiCommon_CapacityUnit_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_TapiCommon_CapacityUnit int64 -// IsYANGGoEnum ensures that TapiCommon_CapacityUnit implements the yang.GoEnum -// interface. This ensures that TapiCommon_CapacityUnit can be identified as a -// mapped type for a YANG enumeration. -func (E_TapiCommon_CapacityUnit) IsYANGGoEnum() {} +// TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint represents the /tapi-common/context/path-computation-context/path-comp-service/routing-constraint YANG schema element. +type TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint struct { + CostCharacteristic map[string]*TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_CostCharacteristic `path:"cost-characteristic" module:"tapi-path-computation"` + DiversityPolicy E_TapiPathComputation_DiversityPolicy `path:"diversity-policy" module:"tapi-path-computation"` + IsExclusive *bool `path:"is-exclusive" module:"tapi-path-computation"` + LatencyCharacteristic map[string]*TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_LatencyCharacteristic `path:"latency-characteristic" module:"tapi-path-computation"` + MaxAllowedCost *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedCost `path:"max-allowed-cost" module:"tapi-path-computation"` + MaxAllowedDelay *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedDelay `path:"max-allowed-delay" module:"tapi-path-computation"` + MaxAllowedHops *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedHops `path:"max-allowed-hops" module:"tapi-path-computation"` + RiskDiversityCharacteristic map[string]*TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_RiskDiversityCharacteristic `path:"risk-diversity-characteristic" module:"tapi-path-computation"` + RouteObjectiveFunction E_TapiPathComputation_RouteObjectiveFunction `path:"route-objective-function" module:"tapi-path-computation"` + TolerableImpact E_TapiPathComputation_GradesOfImpact `path:"tolerable-impact" module:"tapi-path-computation"` +} -// ΛMap returns the value lookup map associated with TapiCommon_CapacityUnit. -func (E_TapiCommon_CapacityUnit) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint) IsYANGGoStruct() {} -// String returns a logging-friendly string for E_TapiCommon_CapacityUnit. -func (e E_TapiCommon_CapacityUnit) String() string { - return ygot.EnumLogString(e, int64(e), "E_TapiCommon_CapacityUnit") -} +// NewCostCharacteristic creates a new entry in the CostCharacteristic list of the +// TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint) NewCostCharacteristic(CostName string) (*TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_CostCharacteristic, error){ -const ( - // TapiCommon_CapacityUnit_UNSET corresponds to the value UNSET of TapiCommon_CapacityUnit - TapiCommon_CapacityUnit_UNSET E_TapiCommon_CapacityUnit = 0 + // Initialise the list within the receiver struct if it has not already been + // created. + if t.CostCharacteristic == nil { + t.CostCharacteristic = make(map[string]*TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_CostCharacteristic) + } + + key := CostName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.CostCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list CostCharacteristic", key) + } + + t.CostCharacteristic[key] = &TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_CostCharacteristic{ + CostName: &CostName, + } + + return t.CostCharacteristic[key], nil +} + +// NewLatencyCharacteristic creates a new entry in the LatencyCharacteristic list of the +// TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint) NewLatencyCharacteristic(TrafficPropertyName string) (*TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_LatencyCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.LatencyCharacteristic == nil { + t.LatencyCharacteristic = make(map[string]*TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_LatencyCharacteristic) + } + + key := TrafficPropertyName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.LatencyCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list LatencyCharacteristic", key) + } + + t.LatencyCharacteristic[key] = &TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_LatencyCharacteristic{ + TrafficPropertyName: &TrafficPropertyName, + } + + return t.LatencyCharacteristic[key], nil +} + +// NewRiskDiversityCharacteristic creates a new entry in the RiskDiversityCharacteristic list of the +// TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint) NewRiskDiversityCharacteristic(RiskCharacteristicName string) (*TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_RiskDiversityCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.RiskDiversityCharacteristic == nil { + t.RiskDiversityCharacteristic = make(map[string]*TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_RiskDiversityCharacteristic) + } + + key := RiskCharacteristicName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.RiskDiversityCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list RiskDiversityCharacteristic", key) + } + + t.RiskDiversityCharacteristic[key] = &TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_RiskDiversityCharacteristic{ + RiskCharacteristicName: &RiskCharacteristicName, + } + + return t.RiskDiversityCharacteristic[key], nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_CostCharacteristic represents the /tapi-common/context/path-computation-context/path-comp-service/routing-constraint/cost-characteristic YANG schema element. +type TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_CostCharacteristic struct { + CostAlgorithm *string `path:"cost-algorithm" module:"tapi-path-computation"` + CostName *string `path:"cost-name" module:"tapi-path-computation"` + CostValue *string `path:"cost-value" module:"tapi-path-computation"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_CostCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_CostCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_CostCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_CostCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.CostName == nil { + return nil, fmt.Errorf("nil value for key CostName") + } + + return map[string]interface{}{ + "cost-name": *t.CostName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_CostCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_CostCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_CostCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_LatencyCharacteristic represents the /tapi-common/context/path-computation-context/path-comp-service/routing-constraint/latency-characteristic YANG schema element. +type TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_LatencyCharacteristic struct { + FixedLatencyCharacteristic *string `path:"fixed-latency-characteristic" module:"tapi-path-computation"` + JitterCharacteristic *string `path:"jitter-characteristic" module:"tapi-path-computation"` + QueingLatencyCharacteristic *string `path:"queing-latency-characteristic" module:"tapi-path-computation"` + TrafficPropertyName *string `path:"traffic-property-name" module:"tapi-path-computation"` + WanderCharacteristic *string `path:"wander-characteristic" module:"tapi-path-computation"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_LatencyCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_LatencyCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_LatencyCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_LatencyCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.TrafficPropertyName == nil { + return nil, fmt.Errorf("nil value for key TrafficPropertyName") + } + + return map[string]interface{}{ + "traffic-property-name": *t.TrafficPropertyName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_LatencyCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_LatencyCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_LatencyCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedCost represents the /tapi-common/context/path-computation-context/path-comp-service/routing-constraint/max-allowed-cost YANG schema element. +type TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedCost struct { + Priority *uint64 `path:"priority" module:"tapi-path-computation"` + Value *uint64 `path:"value" module:"tapi-path-computation"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedCost implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedCost) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedCost) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedCost"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedCost) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedDelay represents the /tapi-common/context/path-computation-context/path-comp-service/routing-constraint/max-allowed-delay YANG schema element. +type TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedDelay struct { + Priority *uint64 `path:"priority" module:"tapi-path-computation"` + Value *uint64 `path:"value" module:"tapi-path-computation"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedDelay implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedDelay) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedDelay) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedDelay"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedDelay) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedHops represents the /tapi-common/context/path-computation-context/path-comp-service/routing-constraint/max-allowed-hops YANG schema element. +type TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedHops struct { + Priority *uint64 `path:"priority" module:"tapi-path-computation"` + Value *uint64 `path:"value" module:"tapi-path-computation"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedHops implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedHops) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedHops) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedHops"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_MaxAllowedHops) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_RiskDiversityCharacteristic represents the /tapi-common/context/path-computation-context/path-comp-service/routing-constraint/risk-diversity-characteristic YANG schema element. +type TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_RiskDiversityCharacteristic struct { + RiskCharacteristicName *string `path:"risk-characteristic-name" module:"tapi-path-computation"` + RiskIdentifierList []string `path:"risk-identifier-list" module:"tapi-path-computation"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_RiskDiversityCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_RiskDiversityCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_RiskDiversityCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_RiskDiversityCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.RiskCharacteristicName == nil { + return nil, fmt.Errorf("nil value for key RiskCharacteristicName") + } + + return map[string]interface{}{ + "risk-characteristic-name": *t.RiskCharacteristicName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_RiskDiversityCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_RiskDiversityCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_RoutingConstraint_RiskDiversityCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint represents the /tapi-common/context/path-computation-context/path-comp-service/topology-constraint YANG schema element. +type TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint struct { + AvoidTopology *string `path:"avoid-topology" module:"tapi-path-computation"` + ConstraintWeight *uint64 `path:"constraint-weight" module:"tapi-path-computation"` + ExcludeLink *string `path:"exclude-link" module:"tapi-path-computation"` + ExcludeNode *string `path:"exclude-node" module:"tapi-path-computation"` + ExcludeNodeEdgePoint *string `path:"exclude-node-edge-point" module:"tapi-path-computation"` + ExcludePath *string `path:"exclude-path" module:"tapi-path-computation"` + IncludeLink *string `path:"include-link" module:"tapi-path-computation"` + IncludeNode *string `path:"include-node" module:"tapi-path-computation"` + IncludeNodeEdgePoint *string `path:"include-node-edge-point" module:"tapi-path-computation"` + IncludePath *string `path:"include-path" module:"tapi-path-computation"` + IncludeTopology *string `path:"include-topology" module:"tapi-path-computation"` + LocalId *string `path:"local-id" module:"tapi-path-computation"` + Name map[string]*TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint_Name `path:"name" module:"tapi-path-computation"` + PreferredTransportLayer E_TapiPathComputation_LayerProtocolName `path:"preferred-transport-layer" module:"tapi-path-computation"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint) IsYANGGoStruct() {} + +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint) NewName(ValueName string) (*TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint_Name, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint_Name) + } + + key := ValueName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) + } + + t.Name[key] = &TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil +} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint struct, which is a YANG list entry. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint) ΛListKeyMap() (map[string]interface{}, error) { + if t.LocalId == nil { + return nil, fmt.Errorf("nil value for key LocalId") + } + + return map[string]interface{}{ + "local-id": *t.LocalId, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint_Name represents the /tapi-common/context/path-computation-context/path-comp-service/topology-constraint/name YANG schema element. +type TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint_Name struct { + Value *string `path:"value" module:"tapi-path-computation"` + ValueName *string `path:"value-name" module:"tapi-path-computation"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint_Name"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_PathComputationContext_PathCompService_TopologyConstraint_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_PathComputationContext_Path_Link represents the /tapi-common/context/path-computation-context/path/link YANG schema element. +type TapiCommon_Context_PathComputationContext_Path_Link struct { + LinkUuid *string `path:"link-uuid" module:"tapi-path-computation"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-path-computation"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_Path_Link implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_PathComputationContext_Path_Link) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_PathComputationContext_Path_Link struct, which is a YANG list entry. +func (t *TapiCommon_Context_PathComputationContext_Path_Link) ΛListKeyMap() (map[string]interface{}, error) { + if t.LinkUuid == nil { + return nil, fmt.Errorf("nil value for key LinkUuid") + } + + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") + } + + return map[string]interface{}{ + "link-uuid": *t.LinkUuid, + "topology-uuid": *t.TopologyUuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_PathComputationContext_Path_Link) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_Path_Link"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_PathComputationContext_Path_Link) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_PathComputationContext_Path_Name represents the /tapi-common/context/path-computation-context/path/name YANG schema element. +type TapiCommon_Context_PathComputationContext_Path_Name struct { + Value *string `path:"value" module:"tapi-path-computation"` + ValueName *string `path:"value-name" module:"tapi-path-computation"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_Path_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_PathComputationContext_Path_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_PathComputationContext_Path_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_PathComputationContext_Path_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_PathComputationContext_Path_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_Path_Name"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_PathComputationContext_Path_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_PathComputationContext_Path_RoutingConstraint represents the /tapi-common/context/path-computation-context/path/routing-constraint YANG schema element. +type TapiCommon_Context_PathComputationContext_Path_RoutingConstraint struct { + CostCharacteristic map[string]*TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_CostCharacteristic `path:"cost-characteristic" module:"tapi-path-computation"` + DiversityPolicy E_TapiPathComputation_DiversityPolicy `path:"diversity-policy" module:"tapi-path-computation"` + IsExclusive *bool `path:"is-exclusive" module:"tapi-path-computation"` + LatencyCharacteristic map[string]*TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_LatencyCharacteristic `path:"latency-characteristic" module:"tapi-path-computation"` + MaxAllowedCost *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedCost `path:"max-allowed-cost" module:"tapi-path-computation"` + MaxAllowedDelay *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedDelay `path:"max-allowed-delay" module:"tapi-path-computation"` + MaxAllowedHops *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedHops `path:"max-allowed-hops" module:"tapi-path-computation"` + RiskDiversityCharacteristic map[string]*TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_RiskDiversityCharacteristic `path:"risk-diversity-characteristic" module:"tapi-path-computation"` + RouteObjectiveFunction E_TapiPathComputation_RouteObjectiveFunction `path:"route-objective-function" module:"tapi-path-computation"` + TolerableImpact E_TapiPathComputation_GradesOfImpact `path:"tolerable-impact" module:"tapi-path-computation"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_Path_RoutingConstraint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_PathComputationContext_Path_RoutingConstraint) IsYANGGoStruct() {} + +// NewCostCharacteristic creates a new entry in the CostCharacteristic list of the +// TapiCommon_Context_PathComputationContext_Path_RoutingConstraint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint) NewCostCharacteristic(CostName string) (*TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_CostCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.CostCharacteristic == nil { + t.CostCharacteristic = make(map[string]*TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_CostCharacteristic) + } + + key := CostName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.CostCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list CostCharacteristic", key) + } + + t.CostCharacteristic[key] = &TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_CostCharacteristic{ + CostName: &CostName, + } + + return t.CostCharacteristic[key], nil +} + +// NewLatencyCharacteristic creates a new entry in the LatencyCharacteristic list of the +// TapiCommon_Context_PathComputationContext_Path_RoutingConstraint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint) NewLatencyCharacteristic(TrafficPropertyName string) (*TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_LatencyCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.LatencyCharacteristic == nil { + t.LatencyCharacteristic = make(map[string]*TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_LatencyCharacteristic) + } + + key := TrafficPropertyName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.LatencyCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list LatencyCharacteristic", key) + } + + t.LatencyCharacteristic[key] = &TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_LatencyCharacteristic{ + TrafficPropertyName: &TrafficPropertyName, + } + + return t.LatencyCharacteristic[key], nil +} + +// NewRiskDiversityCharacteristic creates a new entry in the RiskDiversityCharacteristic list of the +// TapiCommon_Context_PathComputationContext_Path_RoutingConstraint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint) NewRiskDiversityCharacteristic(RiskCharacteristicName string) (*TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_RiskDiversityCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.RiskDiversityCharacteristic == nil { + t.RiskDiversityCharacteristic = make(map[string]*TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_RiskDiversityCharacteristic) + } + + key := RiskCharacteristicName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.RiskDiversityCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list RiskDiversityCharacteristic", key) + } + + t.RiskDiversityCharacteristic[key] = &TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_RiskDiversityCharacteristic{ + RiskCharacteristicName: &RiskCharacteristicName, + } + + return t.RiskDiversityCharacteristic[key], nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_Path_RoutingConstraint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_CostCharacteristic represents the /tapi-common/context/path-computation-context/path/routing-constraint/cost-characteristic YANG schema element. +type TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_CostCharacteristic struct { + CostAlgorithm *string `path:"cost-algorithm" module:"tapi-path-computation"` + CostName *string `path:"cost-name" module:"tapi-path-computation"` + CostValue *string `path:"cost-value" module:"tapi-path-computation"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_CostCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_CostCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_CostCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_CostCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.CostName == nil { + return nil, fmt.Errorf("nil value for key CostName") + } + + return map[string]interface{}{ + "cost-name": *t.CostName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_CostCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_CostCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_CostCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_LatencyCharacteristic represents the /tapi-common/context/path-computation-context/path/routing-constraint/latency-characteristic YANG schema element. +type TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_LatencyCharacteristic struct { + FixedLatencyCharacteristic *string `path:"fixed-latency-characteristic" module:"tapi-path-computation"` + JitterCharacteristic *string `path:"jitter-characteristic" module:"tapi-path-computation"` + QueingLatencyCharacteristic *string `path:"queing-latency-characteristic" module:"tapi-path-computation"` + TrafficPropertyName *string `path:"traffic-property-name" module:"tapi-path-computation"` + WanderCharacteristic *string `path:"wander-characteristic" module:"tapi-path-computation"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_LatencyCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_LatencyCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_LatencyCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_LatencyCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.TrafficPropertyName == nil { + return nil, fmt.Errorf("nil value for key TrafficPropertyName") + } + + return map[string]interface{}{ + "traffic-property-name": *t.TrafficPropertyName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_LatencyCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_LatencyCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_LatencyCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedCost represents the /tapi-common/context/path-computation-context/path/routing-constraint/max-allowed-cost YANG schema element. +type TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedCost struct { + Priority *uint64 `path:"priority" module:"tapi-path-computation"` + Value *uint64 `path:"value" module:"tapi-path-computation"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedCost implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedCost) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedCost) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedCost"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedCost) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedDelay represents the /tapi-common/context/path-computation-context/path/routing-constraint/max-allowed-delay YANG schema element. +type TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedDelay struct { + Priority *uint64 `path:"priority" module:"tapi-path-computation"` + Value *uint64 `path:"value" module:"tapi-path-computation"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedDelay implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedDelay) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedDelay) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedDelay"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedDelay) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedHops represents the /tapi-common/context/path-computation-context/path/routing-constraint/max-allowed-hops YANG schema element. +type TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedHops struct { + Priority *uint64 `path:"priority" module:"tapi-path-computation"` + Value *uint64 `path:"value" module:"tapi-path-computation"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedHops implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedHops) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedHops) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedHops"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_MaxAllowedHops) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_RiskDiversityCharacteristic represents the /tapi-common/context/path-computation-context/path/routing-constraint/risk-diversity-characteristic YANG schema element. +type TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_RiskDiversityCharacteristic struct { + RiskCharacteristicName *string `path:"risk-characteristic-name" module:"tapi-path-computation"` + RiskIdentifierList []string `path:"risk-identifier-list" module:"tapi-path-computation"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_RiskDiversityCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_RiskDiversityCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_RiskDiversityCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_RiskDiversityCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.RiskCharacteristicName == nil { + return nil, fmt.Errorf("nil value for key RiskCharacteristicName") + } + + return map[string]interface{}{ + "risk-characteristic-name": *t.RiskCharacteristicName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_RiskDiversityCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_RiskDiversityCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_PathComputationContext_Path_RoutingConstraint_RiskDiversityCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ServiceInterfacePoint represents the /tapi-common/context/service-interface-point YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint struct { + AdministrativeState E_TapiCommon_AdministrativeState `path:"administrative-state" module:"tapi-common"` + AvailableCapacity *TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity `path:"available-capacity" module:"tapi-common"` + Direction E_TapiCommon_PortDirection `path:"direction" module:"tapi-common"` + LayerProtocolName E_TapiCommon_LayerProtocolName `path:"layer-protocol-name" module:"tapi-common"` + LifecycleState E_TapiCommon_LifecycleState `path:"lifecycle-state" module:"tapi-common"` + Name map[string]*TapiCommon_Context_ServiceInterfacePoint_Name `path:"name" module:"tapi-common"` + OperationalState E_TapiCommon_OperationalState `path:"operational-state" module:"tapi-common"` + SupportedLayerProtocolQualifier []E_TapiCommon_LayerProtocolQualifier `path:"supported-layer-protocol-qualifier" module:"tapi-common"` + TotalPotentialCapacity *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-common"` + Uuid *string `path:"uuid" module:"tapi-common"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ServiceInterfacePoint) IsYANGGoStruct() {} + +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_ServiceInterfacePoint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_ServiceInterfacePoint) NewName(ValueName string) (*TapiCommon_Context_ServiceInterfacePoint_Name, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_ServiceInterfacePoint_Name) + } + + key := ValueName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) + } + + t.Name[key] = &TapiCommon_Context_ServiceInterfacePoint_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil +} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_ServiceInterfacePoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_ServiceInterfacePoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.Uuid == nil { + return nil, fmt.Errorf("nil value for key Uuid") + } + + return map[string]interface{}{ + "uuid": *t.Uuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ServiceInterfacePoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ServiceInterfacePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity represents the /tapi-common/context/service-interface-point/available-capacity YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity struct { + TotalSize *TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity_TotalSize `path:"total-size" module:"tapi-common"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity_TotalSize represents the /tapi-common/context/service-interface-point/available-capacity/total-size YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-common"` + Value *uint64 `path:"value" module:"tapi-common"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity_TotalSize implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity_TotalSize) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity_TotalSize"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ServiceInterfacePoint_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ServiceInterfacePoint_Name represents the /tapi-common/context/service-interface-point/name YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_Name struct { + Value *string `path:"value" module:"tapi-common"` + ValueName *string `path:"value-name" module:"tapi-common"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ServiceInterfacePoint_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_ServiceInterfacePoint_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_ServiceInterfacePoint_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ServiceInterfacePoint_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_Name"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ServiceInterfacePoint_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity represents the /tapi-common/context/service-interface-point/total-potential-capacity YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity struct { + TotalSize *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize `path:"total-size" module:"tapi-common"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize represents the /tapi-common/context/service-interface-point/total-potential-capacity/total-size YANG schema element. +type TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-common"` + Value *uint64 `path:"value" module:"tapi-common"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_ServiceInterfacePoint_TotalPotentialCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext represents the /tapi-common/context/topology-context YANG schema element. +type TapiCommon_Context_TopologyContext struct { + NwTopologyService *TapiCommon_Context_TopologyContext_NwTopologyService `path:"nw-topology-service" module:"tapi-topology"` + Topology map[string]*TapiCommon_Context_TopologyContext_Topology `path:"topology" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext) IsYANGGoStruct() {} + +// NewTopology creates a new entry in the Topology list of the +// TapiCommon_Context_TopologyContext struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext) NewTopology(Uuid string) (*TapiCommon_Context_TopologyContext_Topology, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Topology == nil { + t.Topology = make(map[string]*TapiCommon_Context_TopologyContext_Topology) + } + + key := Uuid + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Topology[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Topology", key) + } + + t.Topology[key] = &TapiCommon_Context_TopologyContext_Topology{ + Uuid: &Uuid, + } + + return t.Topology[key], nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_NwTopologyService represents the /tapi-common/context/topology-context/nw-topology-service YANG schema element. +type TapiCommon_Context_TopologyContext_NwTopologyService struct { + Name map[string]*TapiCommon_Context_TopologyContext_NwTopologyService_Name `path:"name" module:"tapi-topology"` + Topology map[string]*TapiCommon_Context_TopologyContext_NwTopologyService_Topology `path:"topology" module:"tapi-topology"` + Uuid *string `path:"uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_NwTopologyService implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_NwTopologyService) IsYANGGoStruct() {} + +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_TopologyContext_NwTopologyService struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_NwTopologyService) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_NwTopologyService_Name, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_TopologyContext_NwTopologyService_Name) + } + + key := ValueName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) + } + + t.Name[key] = &TapiCommon_Context_TopologyContext_NwTopologyService_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil +} + +// NewTopology creates a new entry in the Topology list of the +// TapiCommon_Context_TopologyContext_NwTopologyService struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_NwTopologyService) NewTopology(TopologyUuid string) (*TapiCommon_Context_TopologyContext_NwTopologyService_Topology, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Topology == nil { + t.Topology = make(map[string]*TapiCommon_Context_TopologyContext_NwTopologyService_Topology) + } + + key := TopologyUuid + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Topology[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Topology", key) + } + + t.Topology[key] = &TapiCommon_Context_TopologyContext_NwTopologyService_Topology{ + TopologyUuid: &TopologyUuid, + } + + return t.Topology[key], nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_NwTopologyService) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_NwTopologyService"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_NwTopologyService) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_NwTopologyService_Name represents the /tapi-common/context/topology-context/nw-topology-service/name YANG schema element. +type TapiCommon_Context_TopologyContext_NwTopologyService_Name struct { + Value *string `path:"value" module:"tapi-topology"` + ValueName *string `path:"value-name" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_NwTopologyService_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_NwTopologyService_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_NwTopologyService_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_NwTopologyService_Name"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_NwTopologyService_Topology represents the /tapi-common/context/topology-context/nw-topology-service/topology YANG schema element. +type TapiCommon_Context_TopologyContext_NwTopologyService_Topology struct { + TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_NwTopologyService_Topology implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_NwTopologyService_Topology) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_NwTopologyService_Topology struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Topology) ΛListKeyMap() (map[string]interface{}, error) { + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") + } + + return map[string]interface{}{ + "topology-uuid": *t.TopologyUuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Topology) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_NwTopologyService_Topology"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_NwTopologyService_Topology) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology represents the /tapi-common/context/topology-context/topology YANG schema element. +type TapiCommon_Context_TopologyContext_Topology struct { + BoundaryNodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint `path:"boundary-node-edge-point" module:"tapi-topology"` + LayerProtocolName []E_TapiTopology_LayerProtocolName `path:"layer-protocol-name" module:"tapi-topology"` + Link map[string]*TapiCommon_Context_TopologyContext_Topology_Link `path:"link" module:"tapi-topology"` + Name map[string]*TapiCommon_Context_TopologyContext_Topology_Name `path:"name" module:"tapi-topology"` + Node map[string]*TapiCommon_Context_TopologyContext_Topology_Node `path:"node" module:"tapi-topology"` + Uuid *string `path:"uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology) IsYANGGoStruct() {} + +// TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint_Key represents the key for list BoundaryNodeEdgePoint of element /tapi-common/context/topology-context/topology. +type TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint_Key struct { + TopologyUuid string `path:"topology-uuid"` + NodeUuid string `path:"node-uuid"` + NodeEdgePointUuid string `path:"node-edge-point-uuid"` +} + +// NewBoundaryNodeEdgePoint creates a new entry in the BoundaryNodeEdgePoint list of the +// TapiCommon_Context_TopologyContext_Topology struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology) NewBoundaryNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.BoundaryNodeEdgePoint == nil { + t.BoundaryNodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint) + } + + key := TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint_Key{ + TopologyUuid: TopologyUuid, + NodeUuid: NodeUuid, + NodeEdgePointUuid: NodeEdgePointUuid, + } + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.BoundaryNodeEdgePoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list BoundaryNodeEdgePoint", key) + } + + t.BoundaryNodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint{ + TopologyUuid: &TopologyUuid, + NodeUuid: &NodeUuid, + NodeEdgePointUuid: &NodeEdgePointUuid, + } + + return t.BoundaryNodeEdgePoint[key], nil +} + +// NewLink creates a new entry in the Link list of the +// TapiCommon_Context_TopologyContext_Topology struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology) NewLink(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Link, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Link == nil { + t.Link = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link) + } + + key := Uuid + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Link[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Link", key) + } + + t.Link[key] = &TapiCommon_Context_TopologyContext_Topology_Link{ + Uuid: &Uuid, + } + + return t.Link[key], nil +} + +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_TopologyContext_Topology struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Name, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Name) + } + + key := ValueName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) + } + + t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil +} + +// NewNode creates a new entry in the Node list of the +// TapiCommon_Context_TopologyContext_Topology struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology) NewNode(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Node, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Node == nil { + t.Node = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node) + } + + key := Uuid + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Node[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Node", key) + } + + t.Node[key] = &TapiCommon_Context_TopologyContext_Topology_Node{ + Uuid: &Uuid, + } + + return t.Node[key], nil +} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology) ΛListKeyMap() (map[string]interface{}, error) { + if t.Uuid == nil { + return nil, fmt.Errorf("nil value for key Uuid") + } + + return map[string]interface{}{ + "uuid": *t.Uuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint represents the /tapi-common/context/topology-context/topology/boundary-node-edge-point YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint struct { + NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-topology"` + NodeUuid *string `path:"node-uuid" module:"tapi-topology"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.NodeEdgePointUuid == nil { + return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") + } + + if t.NodeUuid == nil { + return nil, fmt.Errorf("nil value for key NodeUuid") + } + + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") + } + + return map[string]interface{}{ + "node-edge-point-uuid": *t.NodeEdgePointUuid, + "node-uuid": *t.NodeUuid, + "topology-uuid": *t.TopologyUuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_BoundaryNodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Link represents the /tapi-common/context/topology-context/topology/link YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link struct { + AdministrativeState E_TapiCommon_AdministrativeState `path:"administrative-state" module:"tapi-topology"` + AvailableCapacity *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity `path:"available-capacity" module:"tapi-topology"` + CostCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic `path:"cost-characteristic" module:"tapi-topology"` + DeliveryOrderCharacteristic *string `path:"delivery-order-characteristic" module:"tapi-topology"` + Direction E_TapiTopology_ForwardingDirection `path:"direction" module:"tapi-topology"` + ErrorCharacteristic *string `path:"error-characteristic" module:"tapi-topology"` + LatencyCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic `path:"latency-characteristic" module:"tapi-topology"` + LayerProtocolName []E_TapiTopology_LayerProtocolName `path:"layer-protocol-name" module:"tapi-topology"` + LifecycleState E_TapiCommon_LifecycleState `path:"lifecycle-state" module:"tapi-topology"` + LossCharacteristic *string `path:"loss-characteristic" module:"tapi-topology"` + Name map[string]*TapiCommon_Context_TopologyContext_Topology_Link_Name `path:"name" module:"tapi-topology"` + NodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint `path:"node-edge-point" module:"tapi-topology"` + OperationalState E_TapiCommon_OperationalState `path:"operational-state" module:"tapi-topology"` + RepeatDeliveryCharacteristic *string `path:"repeat-delivery-characteristic" module:"tapi-topology"` + ResilienceType *TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType `path:"resilience-type" module:"tapi-topology"` + RiskCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic `path:"risk-characteristic" module:"tapi-topology"` + ServerIntegrityProcessCharacteristic *string `path:"server-integrity-process-characteristic" module:"tapi-topology"` + TotalPotentialCapacity *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-topology"` + TransitionedLayerProtocolName []string `path:"transitioned-layer-protocol-name" module:"tapi-topology"` + UnavailableTimeCharacteristic *string `path:"unavailable-time-characteristic" module:"tapi-topology"` + Uuid *string `path:"uuid" module:"tapi-topology"` + ValidationMechanism map[string]*TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism `path:"validation-mechanism" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link) IsYANGGoStruct() {} + +// TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint_Key represents the key for list NodeEdgePoint of element /tapi-common/context/topology-context/topology/link. +type TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint_Key struct { + TopologyUuid string `path:"topology-uuid"` + NodeUuid string `path:"node-uuid"` + NodeEdgePointUuid string `path:"node-edge-point-uuid"` +} + +// NewCostCharacteristic creates a new entry in the CostCharacteristic list of the +// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewCostCharacteristic(CostName string) (*TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.CostCharacteristic == nil { + t.CostCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic) + } + + key := CostName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.CostCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list CostCharacteristic", key) + } + + t.CostCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic{ + CostName: &CostName, + } + + return t.CostCharacteristic[key], nil +} + +// NewLatencyCharacteristic creates a new entry in the LatencyCharacteristic list of the +// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewLatencyCharacteristic(TrafficPropertyName string) (*TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.LatencyCharacteristic == nil { + t.LatencyCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic) + } + + key := TrafficPropertyName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.LatencyCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list LatencyCharacteristic", key) + } + + t.LatencyCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic{ + TrafficPropertyName: &TrafficPropertyName, + } + + return t.LatencyCharacteristic[key], nil +} + +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Link_Name, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link_Name) + } + + key := ValueName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) + } + + t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Link_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil +} + +// NewNodeEdgePoint creates a new entry in the NodeEdgePoint list of the +// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.NodeEdgePoint == nil { + t.NodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint) + } + + key := TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint_Key{ + TopologyUuid: TopologyUuid, + NodeUuid: NodeUuid, + NodeEdgePointUuid: NodeEdgePointUuid, + } + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.NodeEdgePoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list NodeEdgePoint", key) + } + + t.NodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint{ + TopologyUuid: &TopologyUuid, + NodeUuid: &NodeUuid, + NodeEdgePointUuid: &NodeEdgePointUuid, + } + + return t.NodeEdgePoint[key], nil +} + +// NewRiskCharacteristic creates a new entry in the RiskCharacteristic list of the +// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewRiskCharacteristic(RiskCharacteristicName string) (*TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.RiskCharacteristic == nil { + t.RiskCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic) + } + + key := RiskCharacteristicName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.RiskCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list RiskCharacteristic", key) + } + + t.RiskCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic{ + RiskCharacteristicName: &RiskCharacteristicName, + } + + return t.RiskCharacteristic[key], nil +} + +// NewValidationMechanism creates a new entry in the ValidationMechanism list of the +// TapiCommon_Context_TopologyContext_Topology_Link struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Link) NewValidationMechanism(ValidationMechanism string) (*TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.ValidationMechanism == nil { + t.ValidationMechanism = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism) + } + + key := ValidationMechanism + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.ValidationMechanism[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list ValidationMechanism", key) + } + + t.ValidationMechanism[key] = &TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism{ + ValidationMechanism: &ValidationMechanism, + } + + return t.ValidationMechanism[key], nil +} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Link) ΛListKeyMap() (map[string]interface{}, error) { + if t.Uuid == nil { + return nil, fmt.Errorf("nil value for key Uuid") + } + + return map[string]interface{}{ + "uuid": *t.Uuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity represents the /tapi-common/context/topology-context/topology/link/available-capacity YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity struct { + TotalSize *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/link/available-capacity/total-size YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` + Value *uint64 `path:"value" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic represents the /tapi-common/context/topology-context/topology/link/cost-characteristic YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic struct { + CostAlgorithm *string `path:"cost-algorithm" module:"tapi-topology"` + CostName *string `path:"cost-name" module:"tapi-topology"` + CostValue *string `path:"cost-value" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.CostName == nil { + return nil, fmt.Errorf("nil value for key CostName") + } + + return map[string]interface{}{ + "cost-name": *t.CostName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_CostCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic represents the /tapi-common/context/topology-context/topology/link/latency-characteristic YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic struct { + FixedLatencyCharacteristic *string `path:"fixed-latency-characteristic" module:"tapi-topology"` + JitterCharacteristic *string `path:"jitter-characteristic" module:"tapi-topology"` + QueingLatencyCharacteristic *string `path:"queing-latency-characteristic" module:"tapi-topology"` + TrafficPropertyName *string `path:"traffic-property-name" module:"tapi-topology"` + WanderCharacteristic *string `path:"wander-characteristic" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.TrafficPropertyName == nil { + return nil, fmt.Errorf("nil value for key TrafficPropertyName") + } + + return map[string]interface{}{ + "traffic-property-name": *t.TrafficPropertyName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_LatencyCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Link_Name represents the /tapi-common/context/topology-context/topology/link/name YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link_Name struct { + Value *string `path:"value" module:"tapi-topology"` + ValueName *string `path:"value-name" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_Name"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint represents the /tapi-common/context/topology-context/topology/link/node-edge-point YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint struct { + NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-topology"` + NodeUuid *string `path:"node-uuid" module:"tapi-topology"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.NodeEdgePointUuid == nil { + return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") + } + + if t.NodeUuid == nil { + return nil, fmt.Errorf("nil value for key NodeUuid") + } + + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") + } + + return map[string]interface{}{ + "node-edge-point-uuid": *t.NodeEdgePointUuid, + "node-uuid": *t.NodeUuid, + "topology-uuid": *t.TopologyUuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType represents the /tapi-common/context/topology-context/topology/link/resilience-type YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType struct { + ProtectionType E_TapiTopology_ProtectionType `path:"protection-type" module:"tapi-topology"` + RestorationPolicy E_TapiTopology_RestorationPolicy `path:"restoration-policy" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_ResilienceType) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic represents the /tapi-common/context/topology-context/topology/link/risk-characteristic YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic struct { + RiskCharacteristicName *string `path:"risk-characteristic-name" module:"tapi-topology"` + RiskIdentifierList []string `path:"risk-identifier-list" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.RiskCharacteristicName == nil { + return nil, fmt.Errorf("nil value for key RiskCharacteristicName") + } + + return map[string]interface{}{ + "risk-characteristic-name": *t.RiskCharacteristicName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_RiskCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity represents the /tapi-common/context/topology-context/topology/link/total-potential-capacity YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity struct { + TotalSize *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/link/total-potential-capacity/total-size YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` + Value *uint64 `path:"value" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_TotalPotentialCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism represents the /tapi-common/context/topology-context/topology/link/validation-mechanism YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism struct { + LayerProtocolAdjacencyValidated *string `path:"layer-protocol-adjacency-validated" module:"tapi-topology"` + ValidationMechanism *string `path:"validation-mechanism" module:"tapi-topology"` + ValidationRobustness *string `path:"validation-robustness" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValidationMechanism == nil { + return nil, fmt.Errorf("nil value for key ValidationMechanism") + } + + return map[string]interface{}{ + "validation-mechanism": *t.ValidationMechanism, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Link_ValidationMechanism) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Name represents the /tapi-common/context/topology-context/topology/name YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Name struct { + Value *string `path:"value" module:"tapi-topology"` + ValueName *string `path:"value-name" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Name"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node represents the /tapi-common/context/topology-context/topology/node YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node struct { + AdministrativeState E_TapiCommon_AdministrativeState `path:"administrative-state" module:"tapi-topology"` + AggregatedNodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint `path:"aggregated-node-edge-point" module:"tapi-topology"` + AvailableCapacity *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity `path:"available-capacity" module:"tapi-topology"` + CostCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic `path:"cost-characteristic" module:"tapi-topology"` + DeliveryOrderCharacteristic *string `path:"delivery-order-characteristic" module:"tapi-topology"` + EncapTopology *TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology `path:"encap-topology" module:"tapi-topology"` + ErrorCharacteristic *string `path:"error-characteristic" module:"tapi-topology"` + LatencyCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic `path:"latency-characteristic" module:"tapi-topology"` + LayerProtocolName []E_TapiTopology_LayerProtocolName `path:"layer-protocol-name" module:"tapi-topology"` + LifecycleState E_TapiCommon_LifecycleState `path:"lifecycle-state" module:"tapi-topology"` + LossCharacteristic *string `path:"loss-characteristic" module:"tapi-topology"` + Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_Name `path:"name" module:"tapi-topology"` + NodeRuleGroup map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup `path:"node-rule-group" module:"tapi-topology"` + OperationalState E_TapiCommon_OperationalState `path:"operational-state" module:"tapi-topology"` + OwnedNodeEdgePoint map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint `path:"owned-node-edge-point" module:"tapi-topology"` + RepeatDeliveryCharacteristic *string `path:"repeat-delivery-characteristic" module:"tapi-topology"` + ServerIntegrityProcessCharacteristic *string `path:"server-integrity-process-characteristic" module:"tapi-topology"` + TotalPotentialCapacity *TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-topology"` + UnavailableTimeCharacteristic *string `path:"unavailable-time-characteristic" module:"tapi-topology"` + Uuid *string `path:"uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node) IsYANGGoStruct() {} + +// TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint_Key represents the key for list AggregatedNodeEdgePoint of element /tapi-common/context/topology-context/topology/node. +type TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint_Key struct { + TopologyUuid string `path:"topology-uuid"` + NodeUuid string `path:"node-uuid"` + NodeEdgePointUuid string `path:"node-edge-point-uuid"` +} + +// NewAggregatedNodeEdgePoint creates a new entry in the AggregatedNodeEdgePoint list of the +// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewAggregatedNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.AggregatedNodeEdgePoint == nil { + t.AggregatedNodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint) + } + + key := TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint_Key{ + TopologyUuid: TopologyUuid, + NodeUuid: NodeUuid, + NodeEdgePointUuid: NodeEdgePointUuid, + } + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.AggregatedNodeEdgePoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list AggregatedNodeEdgePoint", key) + } + + t.AggregatedNodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint{ + TopologyUuid: &TopologyUuid, + NodeUuid: &NodeUuid, + NodeEdgePointUuid: &NodeEdgePointUuid, + } + + return t.AggregatedNodeEdgePoint[key], nil +} + +// NewCostCharacteristic creates a new entry in the CostCharacteristic list of the +// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewCostCharacteristic(CostName string) (*TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.CostCharacteristic == nil { + t.CostCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic) + } + + key := CostName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.CostCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list CostCharacteristic", key) + } + + t.CostCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic{ + CostName: &CostName, + } + + return t.CostCharacteristic[key], nil +} + +// NewLatencyCharacteristic creates a new entry in the LatencyCharacteristic list of the +// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewLatencyCharacteristic(TrafficPropertyName string) (*TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.LatencyCharacteristic == nil { + t.LatencyCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic) + } + + key := TrafficPropertyName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.LatencyCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list LatencyCharacteristic", key) + } + + t.LatencyCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic{ + TrafficPropertyName: &TrafficPropertyName, + } + + return t.LatencyCharacteristic[key], nil +} + +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_Name, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_Name) + } + + key := ValueName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) + } + + t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil +} + +// NewNodeRuleGroup creates a new entry in the NodeRuleGroup list of the +// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewNodeRuleGroup(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.NodeRuleGroup == nil { + t.NodeRuleGroup = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) + } + + key := Uuid + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.NodeRuleGroup[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list NodeRuleGroup", key) + } + + t.NodeRuleGroup[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup{ + Uuid: &Uuid, + } + + return t.NodeRuleGroup[key], nil +} + +// NewOwnedNodeEdgePoint creates a new entry in the OwnedNodeEdgePoint list of the +// TapiCommon_Context_TopologyContext_Topology_Node struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node) NewOwnedNodeEdgePoint(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.OwnedNodeEdgePoint == nil { + t.OwnedNodeEdgePoint = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) + } + + key := Uuid + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.OwnedNodeEdgePoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list OwnedNodeEdgePoint", key) + } + + t.OwnedNodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint{ + Uuid: &Uuid, + } + + return t.OwnedNodeEdgePoint[key], nil +} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node) ΛListKeyMap() (map[string]interface{}, error) { + if t.Uuid == nil { + return nil, fmt.Errorf("nil value for key Uuid") + } + + return map[string]interface{}{ + "uuid": *t.Uuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint represents the /tapi-common/context/topology-context/topology/node/aggregated-node-edge-point YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint struct { + NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-topology"` + NodeUuid *string `path:"node-uuid" module:"tapi-topology"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.NodeEdgePointUuid == nil { + return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") + } + + if t.NodeUuid == nil { + return nil, fmt.Errorf("nil value for key NodeUuid") + } + + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") + } + + return map[string]interface{}{ + "node-edge-point-uuid": *t.NodeEdgePointUuid, + "node-uuid": *t.NodeUuid, + "topology-uuid": *t.TopologyUuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_AggregatedNodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity represents the /tapi-common/context/topology-context/topology/node/available-capacity YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity struct { + TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/available-capacity/total-size YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` + Value *uint64 `path:"value" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic represents the /tapi-common/context/topology-context/topology/node/cost-characteristic YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic struct { + CostAlgorithm *string `path:"cost-algorithm" module:"tapi-topology"` + CostName *string `path:"cost-name" module:"tapi-topology"` + CostValue *string `path:"cost-value" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.CostName == nil { + return nil, fmt.Errorf("nil value for key CostName") + } + + return map[string]interface{}{ + "cost-name": *t.CostName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_CostCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology represents the /tapi-common/context/topology-context/topology/node/encap-topology YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology struct { + TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_EncapTopology) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic represents the /tapi-common/context/topology-context/topology/node/latency-characteristic YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic struct { + FixedLatencyCharacteristic *string `path:"fixed-latency-characteristic" module:"tapi-topology"` + JitterCharacteristic *string `path:"jitter-characteristic" module:"tapi-topology"` + QueingLatencyCharacteristic *string `path:"queing-latency-characteristic" module:"tapi-topology"` + TrafficPropertyName *string `path:"traffic-property-name" module:"tapi-topology"` + WanderCharacteristic *string `path:"wander-characteristic" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.TrafficPropertyName == nil { + return nil, fmt.Errorf("nil value for key TrafficPropertyName") + } + + return map[string]interface{}{ + "traffic-property-name": *t.TrafficPropertyName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_LatencyCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_Name represents the /tapi-common/context/topology-context/topology/node/name YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_Name struct { + Value *string `path:"value" module:"tapi-topology"` + ValueName *string `path:"value-name" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_Name"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup represents the /tapi-common/context/topology-context/topology/node/node-rule-group YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct { + AvailableCapacity *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity `path:"available-capacity" module:"tapi-topology"` + ComposedRuleGroup map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup `path:"composed-rule-group" module:"tapi-topology"` + CostCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic `path:"cost-characteristic" module:"tapi-topology"` + InterRuleGroup map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup `path:"inter-rule-group" module:"tapi-topology"` + LatencyCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic `path:"latency-characteristic" module:"tapi-topology"` + Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name `path:"name" module:"tapi-topology"` + NodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint `path:"node-edge-point" module:"tapi-topology"` + RiskCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic `path:"risk-characteristic" module:"tapi-topology"` + Rule map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule `path:"rule" module:"tapi-topology"` + TotalPotentialCapacity *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-topology"` + Uuid *string `path:"uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) IsYANGGoStruct() {} + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup_Key represents the key for list ComposedRuleGroup of element /tapi-common/context/topology-context/topology/node/node-rule-group. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup_Key struct { + TopologyUuid string `path:"topology-uuid"` + NodeUuid string `path:"node-uuid"` + NodeRuleGroupUuid string `path:"node-rule-group-uuid"` +} + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint_Key represents the key for list NodeEdgePoint of element /tapi-common/context/topology-context/topology/node/node-rule-group. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint_Key struct { + TopologyUuid string `path:"topology-uuid"` + NodeUuid string `path:"node-uuid"` + NodeEdgePointUuid string `path:"node-edge-point-uuid"` +} + +// NewComposedRuleGroup creates a new entry in the ComposedRuleGroup list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewComposedRuleGroup(TopologyUuid string, NodeUuid string, NodeRuleGroupUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.ComposedRuleGroup == nil { + t.ComposedRuleGroup = make(map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup) + } + + key := TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup_Key{ + TopologyUuid: TopologyUuid, + NodeUuid: NodeUuid, + NodeRuleGroupUuid: NodeRuleGroupUuid, + } + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.ComposedRuleGroup[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list ComposedRuleGroup", key) + } + + t.ComposedRuleGroup[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup{ + TopologyUuid: &TopologyUuid, + NodeUuid: &NodeUuid, + NodeRuleGroupUuid: &NodeRuleGroupUuid, + } + + return t.ComposedRuleGroup[key], nil +} + +// NewCostCharacteristic creates a new entry in the CostCharacteristic list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewCostCharacteristic(CostName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.CostCharacteristic == nil { + t.CostCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic) + } + + key := CostName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.CostCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list CostCharacteristic", key) + } + + t.CostCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic{ + CostName: &CostName, + } + + return t.CostCharacteristic[key], nil +} + +// NewInterRuleGroup creates a new entry in the InterRuleGroup list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewInterRuleGroup(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.InterRuleGroup == nil { + t.InterRuleGroup = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) + } + + key := Uuid + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.InterRuleGroup[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list InterRuleGroup", key) + } + + t.InterRuleGroup[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup{ + Uuid: &Uuid, + } + + return t.InterRuleGroup[key], nil +} + +// NewLatencyCharacteristic creates a new entry in the LatencyCharacteristic list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewLatencyCharacteristic(TrafficPropertyName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.LatencyCharacteristic == nil { + t.LatencyCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic) + } + + key := TrafficPropertyName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.LatencyCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list LatencyCharacteristic", key) + } + + t.LatencyCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic{ + TrafficPropertyName: &TrafficPropertyName, + } + + return t.LatencyCharacteristic[key], nil +} + +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name) + } + + key := ValueName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) + } + + t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil +} + +// NewNodeEdgePoint creates a new entry in the NodeEdgePoint list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.NodeEdgePoint == nil { + t.NodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint) + } + + key := TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint_Key{ + TopologyUuid: TopologyUuid, + NodeUuid: NodeUuid, + NodeEdgePointUuid: NodeEdgePointUuid, + } + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.NodeEdgePoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list NodeEdgePoint", key) + } + + t.NodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint{ + TopologyUuid: &TopologyUuid, + NodeUuid: &NodeUuid, + NodeEdgePointUuid: &NodeEdgePointUuid, + } + + return t.NodeEdgePoint[key], nil +} + +// NewRiskCharacteristic creates a new entry in the RiskCharacteristic list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewRiskCharacteristic(RiskCharacteristicName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.RiskCharacteristic == nil { + t.RiskCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic) + } + + key := RiskCharacteristicName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.RiskCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list RiskCharacteristic", key) + } + + t.RiskCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic{ + RiskCharacteristicName: &RiskCharacteristicName, + } + + return t.RiskCharacteristic[key], nil +} + +// NewRule creates a new entry in the Rule list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) NewRule(LocalId string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Rule == nil { + t.Rule = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) + } + + key := LocalId + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Rule[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Rule", key) + } + + t.Rule[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule{ + LocalId: &LocalId, + } + + return t.Rule[key], nil +} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) ΛListKeyMap() (map[string]interface{}, error) { + if t.Uuid == nil { + return nil, fmt.Errorf("nil value for key Uuid") + } + + return map[string]interface{}{ + "uuid": *t.Uuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity represents the /tapi-common/context/topology-context/topology/node/node-rule-group/available-capacity YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity struct { + TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/node-rule-group/available-capacity/total-size YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` + Value *uint64 `path:"value" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup represents the /tapi-common/context/topology-context/topology/node/node-rule-group/composed-rule-group YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup struct { + NodeRuleGroupUuid *string `path:"node-rule-group-uuid" module:"tapi-topology"` + NodeUuid *string `path:"node-uuid" module:"tapi-topology"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup) ΛListKeyMap() (map[string]interface{}, error) { + if t.NodeRuleGroupUuid == nil { + return nil, fmt.Errorf("nil value for key NodeRuleGroupUuid") + } + + if t.NodeUuid == nil { + return nil, fmt.Errorf("nil value for key NodeUuid") + } + + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") + } + + return map[string]interface{}{ + "node-rule-group-uuid": *t.NodeRuleGroupUuid, + "node-uuid": *t.NodeUuid, + "topology-uuid": *t.TopologyUuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_ComposedRuleGroup) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/cost-characteristic YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic struct { + CostAlgorithm *string `path:"cost-algorithm" module:"tapi-topology"` + CostName *string `path:"cost-name" module:"tapi-topology"` + CostValue *string `path:"cost-value" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.CostName == nil { + return nil, fmt.Errorf("nil value for key CostName") + } + + return map[string]interface{}{ + "cost-name": *t.CostName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_CostCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct { + AssociatedNodeRuleGroup map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup `path:"associated-node-rule-group" module:"tapi-topology"` + AvailableCapacity *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity `path:"available-capacity" module:"tapi-topology"` + CostCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic `path:"cost-characteristic" module:"tapi-topology"` + LatencyCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic `path:"latency-characteristic" module:"tapi-topology"` + Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name `path:"name" module:"tapi-topology"` + RiskCharacteristic map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic `path:"risk-characteristic" module:"tapi-topology"` + Rule map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule `path:"rule" module:"tapi-topology"` + TotalPotentialCapacity *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-topology"` + Uuid *string `path:"uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) IsYANGGoStruct() {} + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup_Key represents the key for list AssociatedNodeRuleGroup of element /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup_Key struct { + TopologyUuid string `path:"topology-uuid"` + NodeUuid string `path:"node-uuid"` + NodeRuleGroupUuid string `path:"node-rule-group-uuid"` +} + +// NewAssociatedNodeRuleGroup creates a new entry in the AssociatedNodeRuleGroup list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewAssociatedNodeRuleGroup(TopologyUuid string, NodeUuid string, NodeRuleGroupUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.AssociatedNodeRuleGroup == nil { + t.AssociatedNodeRuleGroup = make(map[TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup_Key]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup) + } + + key := TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup_Key{ + TopologyUuid: TopologyUuid, + NodeUuid: NodeUuid, + NodeRuleGroupUuid: NodeRuleGroupUuid, + } + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.AssociatedNodeRuleGroup[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list AssociatedNodeRuleGroup", key) + } + + t.AssociatedNodeRuleGroup[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup{ + TopologyUuid: &TopologyUuid, + NodeUuid: &NodeUuid, + NodeRuleGroupUuid: &NodeRuleGroupUuid, + } + + return t.AssociatedNodeRuleGroup[key], nil +} + +// NewCostCharacteristic creates a new entry in the CostCharacteristic list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewCostCharacteristic(CostName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.CostCharacteristic == nil { + t.CostCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic) + } + + key := CostName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.CostCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list CostCharacteristic", key) + } + + t.CostCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic{ + CostName: &CostName, + } + + return t.CostCharacteristic[key], nil +} + +// NewLatencyCharacteristic creates a new entry in the LatencyCharacteristic list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewLatencyCharacteristic(TrafficPropertyName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.LatencyCharacteristic == nil { + t.LatencyCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic) + } + + key := TrafficPropertyName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.LatencyCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list LatencyCharacteristic", key) + } + + t.LatencyCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic{ + TrafficPropertyName: &TrafficPropertyName, + } + + return t.LatencyCharacteristic[key], nil +} + +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name) + } + + key := ValueName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) + } + + t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil +} + +// NewRiskCharacteristic creates a new entry in the RiskCharacteristic list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewRiskCharacteristic(RiskCharacteristicName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.RiskCharacteristic == nil { + t.RiskCharacteristic = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic) + } + + key := RiskCharacteristicName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.RiskCharacteristic[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list RiskCharacteristic", key) + } + + t.RiskCharacteristic[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic{ + RiskCharacteristicName: &RiskCharacteristicName, + } + + return t.RiskCharacteristic[key], nil +} + +// NewRule creates a new entry in the Rule list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) NewRule(LocalId string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Rule == nil { + t.Rule = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) + } + + key := LocalId + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Rule[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Rule", key) + } + + t.Rule[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule{ + LocalId: &LocalId, + } + + return t.Rule[key], nil +} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) ΛListKeyMap() (map[string]interface{}, error) { + if t.Uuid == nil { + return nil, fmt.Errorf("nil value for key Uuid") + } + + return map[string]interface{}{ + "uuid": *t.Uuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/associated-node-rule-group YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup struct { + NodeRuleGroupUuid *string `path:"node-rule-group-uuid" module:"tapi-topology"` + NodeUuid *string `path:"node-uuid" module:"tapi-topology"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup) ΛListKeyMap() (map[string]interface{}, error) { + if t.NodeRuleGroupUuid == nil { + return nil, fmt.Errorf("nil value for key NodeRuleGroupUuid") + } + + if t.NodeUuid == nil { + return nil, fmt.Errorf("nil value for key NodeUuid") + } + + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") + } + + return map[string]interface{}{ + "node-rule-group-uuid": *t.NodeRuleGroupUuid, + "node-uuid": *t.NodeUuid, + "topology-uuid": *t.TopologyUuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AssociatedNodeRuleGroup) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/available-capacity YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity struct { + TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/available-capacity/total-size YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` + Value *uint64 `path:"value" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/cost-characteristic YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic struct { + CostAlgorithm *string `path:"cost-algorithm" module:"tapi-topology"` + CostName *string `path:"cost-name" module:"tapi-topology"` + CostValue *string `path:"cost-value" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.CostName == nil { + return nil, fmt.Errorf("nil value for key CostName") + } + + return map[string]interface{}{ + "cost-name": *t.CostName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_CostCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/latency-characteristic YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic struct { + FixedLatencyCharacteristic *string `path:"fixed-latency-characteristic" module:"tapi-topology"` + JitterCharacteristic *string `path:"jitter-characteristic" module:"tapi-topology"` + QueingLatencyCharacteristic *string `path:"queing-latency-characteristic" module:"tapi-topology"` + TrafficPropertyName *string `path:"traffic-property-name" module:"tapi-topology"` + WanderCharacteristic *string `path:"wander-characteristic" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.TrafficPropertyName == nil { + return nil, fmt.Errorf("nil value for key TrafficPropertyName") + } + + return map[string]interface{}{ + "traffic-property-name": *t.TrafficPropertyName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_LatencyCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/name YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name struct { + Value *string `path:"value" module:"tapi-topology"` + ValueName *string `path:"value-name" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/risk-characteristic YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic struct { + RiskCharacteristicName *string `path:"risk-characteristic-name" module:"tapi-topology"` + RiskIdentifierList []string `path:"risk-identifier-list" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.RiskCharacteristicName == nil { + return nil, fmt.Errorf("nil value for key RiskCharacteristicName") + } + + return map[string]interface{}{ + "risk-characteristic-name": *t.RiskCharacteristicName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_RiskCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/rule YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule struct { + CepDirection []E_TapiTopology_PortDirection `path:"cep-direction" module:"tapi-topology"` + CepPortRole []*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole `path:"cep-port-role" module:"tapi-topology"` + ComplexRule []string `path:"complex-rule" module:"tapi-topology"` + ConnectionSpecReference []*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference `path:"connection-spec-reference" module:"tapi-topology"` + ForwardingRule E_TapiTopology_ForwardingRule `path:"forwarding-rule" module:"tapi-topology"` + LayerProtocolQualifier []E_TapiTopology_LayerProtocolQualifier `path:"layer-protocol-qualifier" module:"tapi-topology"` + LocalId *string `path:"local-id" module:"tapi-topology"` + Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name `path:"name" module:"tapi-topology"` + OverridePriority *uint64 `path:"override-priority" module:"tapi-topology"` + RuleType E_TapiTopology_RuleType `path:"rule-type" module:"tapi-topology"` + SignalProperty *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty `path:"signal-property" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) IsYANGGoStruct() {} + +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name) + } + + key := ValueName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) + } + + t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil +} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) ΛListKeyMap() (map[string]interface{}, error) { + if t.LocalId == nil { + return nil, fmt.Errorf("nil value for key LocalId") + } + + return map[string]interface{}{ + "local-id": *t.LocalId, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/rule/cep-port-role YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole struct { + PortRole []string `path:"port-role" module:"tapi-topology"` + PortRoleRule []E_TapiTopology_PortRoleRuleOption `path:"port-role-rule" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_CepPortRole) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/rule/connection-spec-reference YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference struct { + ConnectionSpec *string `path:"connection-spec" module:"tapi-topology"` + ConnectionSpecName *string `path:"connection-spec-name" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_ConnectionSpecReference) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/rule/name YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name struct { + Value *string `path:"value" module:"tapi-topology"` + ValueName *string `path:"value-name" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/rule/signal-property YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty struct { + ApplicableSignalValue []string `path:"applicable-signal-value" module:"tapi-topology"` + NumberOfSignalValues *uint64 `path:"number-of-signal-values" module:"tapi-topology"` + SignalPropertyName *string `path:"signal-property-name" module:"tapi-topology"` + SignalPropertyValueRule E_TapiTopology_SignalPropertyValueRule `path:"signal-property-value-rule" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_Rule_SignalProperty) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/total-potential-capacity YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity struct { + TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/node-rule-group/inter-rule-group/total-potential-capacity/total-size YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` + Value *uint64 `path:"value" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_InterRuleGroup_TotalPotentialCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/latency-characteristic YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic struct { + FixedLatencyCharacteristic *string `path:"fixed-latency-characteristic" module:"tapi-topology"` + JitterCharacteristic *string `path:"jitter-characteristic" module:"tapi-topology"` + QueingLatencyCharacteristic *string `path:"queing-latency-characteristic" module:"tapi-topology"` + TrafficPropertyName *string `path:"traffic-property-name" module:"tapi-topology"` + WanderCharacteristic *string `path:"wander-characteristic" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.TrafficPropertyName == nil { + return nil, fmt.Errorf("nil value for key TrafficPropertyName") + } + + return map[string]interface{}{ + "traffic-property-name": *t.TrafficPropertyName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_LatencyCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name represents the /tapi-common/context/topology-context/topology/node/node-rule-group/name YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name struct { + Value *string `path:"value" module:"tapi-topology"` + ValueName *string `path:"value-name" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint represents the /tapi-common/context/topology-context/topology/node/node-rule-group/node-edge-point YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint struct { + NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-topology"` + NodeUuid *string `path:"node-uuid" module:"tapi-topology"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.NodeEdgePointUuid == nil { + return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") + } + + if t.NodeUuid == nil { + return nil, fmt.Errorf("nil value for key NodeUuid") + } + + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") + } + + return map[string]interface{}{ + "node-edge-point-uuid": *t.NodeEdgePointUuid, + "node-uuid": *t.NodeUuid, + "topology-uuid": *t.TopologyUuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_NodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic represents the /tapi-common/context/topology-context/topology/node/node-rule-group/risk-characteristic YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic struct { + RiskCharacteristicName *string `path:"risk-characteristic-name" module:"tapi-topology"` + RiskIdentifierList []string `path:"risk-identifier-list" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic) ΛListKeyMap() (map[string]interface{}, error) { + if t.RiskCharacteristicName == nil { + return nil, fmt.Errorf("nil value for key RiskCharacteristicName") + } + + return map[string]interface{}{ + "risk-characteristic-name": *t.RiskCharacteristicName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_RiskCharacteristic) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule represents the /tapi-common/context/topology-context/topology/node/node-rule-group/rule YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule struct { + CepDirection []E_TapiTopology_PortDirection `path:"cep-direction" module:"tapi-topology"` + CepPortRole []*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole `path:"cep-port-role" module:"tapi-topology"` + ComplexRule []string `path:"complex-rule" module:"tapi-topology"` + ConnectionSpecReference []*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference `path:"connection-spec-reference" module:"tapi-topology"` + ForwardingRule E_TapiTopology_ForwardingRule `path:"forwarding-rule" module:"tapi-topology"` + LayerProtocolQualifier []E_TapiTopology_LayerProtocolQualifier `path:"layer-protocol-qualifier" module:"tapi-topology"` + LocalId *string `path:"local-id" module:"tapi-topology"` + Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name `path:"name" module:"tapi-topology"` + OverridePriority *uint64 `path:"override-priority" module:"tapi-topology"` + RuleType E_TapiTopology_RuleType `path:"rule-type" module:"tapi-topology"` + SignalProperty *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty `path:"signal-property" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) IsYANGGoStruct() {} + +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name) + } + + key := ValueName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) + } + + t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil +} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) ΛListKeyMap() (map[string]interface{}, error) { + if t.LocalId == nil { + return nil, fmt.Errorf("nil value for key LocalId") + } + + return map[string]interface{}{ + "local-id": *t.LocalId, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole represents the /tapi-common/context/topology-context/topology/node/node-rule-group/rule/cep-port-role YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole struct { + PortRole []string `path:"port-role" module:"tapi-topology"` + PortRoleRule []E_TapiTopology_PortRoleRuleOption `path:"port-role-rule" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_CepPortRole) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference represents the /tapi-common/context/topology-context/topology/node/node-rule-group/rule/connection-spec-reference YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference struct { + ConnectionSpec *string `path:"connection-spec" module:"tapi-topology"` + ConnectionSpecName *string `path:"connection-spec-name" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_ConnectionSpecReference) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name represents the /tapi-common/context/topology-context/topology/node/node-rule-group/rule/name YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name struct { + Value *string `path:"value" module:"tapi-topology"` + ValueName *string `path:"value-name" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty represents the /tapi-common/context/topology-context/topology/node/node-rule-group/rule/signal-property YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty struct { + ApplicableSignalValue []string `path:"applicable-signal-value" module:"tapi-topology"` + NumberOfSignalValues *uint64 `path:"number-of-signal-values" module:"tapi-topology"` + SignalPropertyName *string `path:"signal-property-name" module:"tapi-topology"` + SignalPropertyValueRule E_TapiTopology_SignalPropertyValueRule `path:"signal-property-value-rule" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_Rule_SignalProperty) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity represents the /tapi-common/context/topology-context/topology/node/node-rule-group/total-potential-capacity YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity struct { + TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/node-rule-group/total-potential-capacity/total-size YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` + Value *uint64 `path:"value" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_NodeRuleGroup_TotalPotentialCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct { + AdministrativeState E_TapiCommon_AdministrativeState `path:"administrative-state" module:"tapi-topology"` + AggregatedNodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint `path:"aggregated-node-edge-point" module:"tapi-topology"` + AvailableCapacity *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity `path:"available-capacity" module:"tapi-topology"` + AvailableCepLayerProtocol map[E_TapiTopology_LayerProtocolQualifier]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol `path:"available-cep-layer-protocol" module:"tapi-topology"` + CepList *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList `path:"cep-list" module:"tapi-connectivity"` + LayerProtocolName E_TapiTopology_LayerProtocolName `path:"layer-protocol-name" module:"tapi-topology"` + LifecycleState E_TapiCommon_LifecycleState `path:"lifecycle-state" module:"tapi-topology"` + LinkPortDirection E_TapiTopology_PortDirection `path:"link-port-direction" module:"tapi-topology"` + LinkPortRole E_TapiTopology_PortRole `path:"link-port-role" module:"tapi-topology"` + MappedServiceInterfacePoint map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint `path:"mapped-service-interface-point" module:"tapi-topology"` + Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name `path:"name" module:"tapi-topology"` + OperationalState E_TapiCommon_OperationalState `path:"operational-state" module:"tapi-topology"` + TerminationDirection E_TapiCommon_TerminationDirection `path:"termination-direction" module:"tapi-topology"` + TerminationState E_TapiCommon_TerminationState `path:"termination-state" module:"tapi-topology"` + TotalPotentialCapacity *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity `path:"total-potential-capacity" module:"tapi-topology"` + Uuid *string `path:"uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) IsYANGGoStruct() {} + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint_Key represents the key for list AggregatedNodeEdgePoint of element /tapi-common/context/topology-context/topology/node/owned-node-edge-point. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint_Key struct { + TopologyUuid string `path:"topology-uuid"` + NodeUuid string `path:"node-uuid"` + NodeEdgePointUuid string `path:"node-edge-point-uuid"` +} + +// NewAggregatedNodeEdgePoint creates a new entry in the AggregatedNodeEdgePoint list of the +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) NewAggregatedNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.AggregatedNodeEdgePoint == nil { + t.AggregatedNodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint) + } + + key := TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint_Key{ + TopologyUuid: TopologyUuid, + NodeUuid: NodeUuid, + NodeEdgePointUuid: NodeEdgePointUuid, + } + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.AggregatedNodeEdgePoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list AggregatedNodeEdgePoint", key) + } + + t.AggregatedNodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint{ + TopologyUuid: &TopologyUuid, + NodeUuid: &NodeUuid, + NodeEdgePointUuid: &NodeEdgePointUuid, + } + + return t.AggregatedNodeEdgePoint[key], nil +} + +// NewAvailableCepLayerProtocol creates a new entry in the AvailableCepLayerProtocol list of the +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) NewAvailableCepLayerProtocol(LayerProtocolQualifier E_TapiTopology_LayerProtocolQualifier) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.AvailableCepLayerProtocol == nil { + t.AvailableCepLayerProtocol = make(map[E_TapiTopology_LayerProtocolQualifier]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol) + } + + key := LayerProtocolQualifier + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.AvailableCepLayerProtocol[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list AvailableCepLayerProtocol", key) + } + + t.AvailableCepLayerProtocol[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol{ + LayerProtocolQualifier: LayerProtocolQualifier, + } + + return t.AvailableCepLayerProtocol[key], nil +} + +// NewMappedServiceInterfacePoint creates a new entry in the MappedServiceInterfacePoint list of the +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) NewMappedServiceInterfacePoint(ServiceInterfacePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.MappedServiceInterfacePoint == nil { + t.MappedServiceInterfacePoint = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint) + } + + key := ServiceInterfacePointUuid + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.MappedServiceInterfacePoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list MappedServiceInterfacePoint", key) + } + + t.MappedServiceInterfacePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint{ + ServiceInterfacePointUuid: &ServiceInterfacePointUuid, + } + + return t.MappedServiceInterfacePoint[key], nil +} + +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name) + } + + key := ValueName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) + } + + t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil +} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.Uuid == nil { + return nil, fmt.Errorf("nil value for key Uuid") + } + + return map[string]interface{}{ + "uuid": *t.Uuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/aggregated-node-edge-point YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint struct { + NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-topology"` + NodeUuid *string `path:"node-uuid" module:"tapi-topology"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.NodeEdgePointUuid == nil { + return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") + } + + if t.NodeUuid == nil { + return nil, fmt.Errorf("nil value for key NodeUuid") + } + + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") + } + + return map[string]interface{}{ + "node-edge-point-uuid": *t.NodeEdgePointUuid, + "node-uuid": *t.NodeUuid, + "topology-uuid": *t.TopologyUuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AggregatedNodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/available-capacity YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity struct { + TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/available-capacity/total-size YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` + Value *uint64 `path:"value" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/available-cep-layer-protocol YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol struct { + LayerProtocolQualifier E_TapiTopology_LayerProtocolQualifier `path:"layer-protocol-qualifier" module:"tapi-topology"` + NumberOfCepInstances *uint64 `path:"number-of-cep-instances" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol) ΛListKeyMap() (map[string]interface{}, error) { + + return map[string]interface{}{ + "layer-protocol-qualifier": t.LayerProtocolQualifier, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_AvailableCepLayerProtocol) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList struct { + ConnectionEndPoint map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint `path:"connection-end-point" module:"tapi-connectivity"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList) IsYANGGoStruct() {} + +// NewConnectionEndPoint creates a new entry in the ConnectionEndPoint list of the +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList) NewConnectionEndPoint(Uuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.ConnectionEndPoint == nil { + t.ConnectionEndPoint = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) + } + + key := Uuid + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.ConnectionEndPoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list ConnectionEndPoint", key) + } + + t.ConnectionEndPoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint{ + Uuid: &Uuid, + } + + return t.ConnectionEndPoint[key], nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint struct { + AggregatedConnectionEndPoint map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint `path:"aggregated-connection-end-point" module:"tapi-connectivity"` + ClientNodeEdgePoint map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint `path:"client-node-edge-point" module:"tapi-connectivity"` + ConnectionPortDirection E_TapiConnectivity_PortDirection `path:"connection-port-direction" module:"tapi-connectivity"` + ConnectionPortRole E_TapiConnectivity_PortRole `path:"connection-port-role" module:"tapi-connectivity"` + LayerProtocolName E_TapiConnectivity_LayerProtocolName `path:"layer-protocol-name" module:"tapi-connectivity"` + LayerProtocolQualifier E_TapiConnectivity_LayerProtocolQualifier `path:"layer-protocol-qualifier" module:"tapi-connectivity"` + LifecycleState E_TapiCommon_LifecycleState `path:"lifecycle-state" module:"tapi-connectivity"` + Name map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name `path:"name" module:"tapi-connectivity"` + OperationalState E_TapiCommon_OperationalState `path:"operational-state" module:"tapi-connectivity"` + ParentNodeEdgePoint *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint `path:"parent-node-edge-point" module:"tapi-connectivity"` + ProtectionRole E_TapiConnectivity_ProtectionRole `path:"protection-role" module:"tapi-connectivity"` + TerminationDirection E_TapiCommon_TerminationDirection `path:"termination-direction" module:"tapi-connectivity"` + TerminationState E_TapiCommon_TerminationState `path:"termination-state" module:"tapi-connectivity"` + Uuid *string `path:"uuid" module:"tapi-connectivity"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) IsYANGGoStruct() {} + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint_Key represents the key for list AggregatedConnectionEndPoint of element /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint_Key struct { + TopologyUuid string `path:"topology-uuid"` + NodeUuid string `path:"node-uuid"` + NodeEdgePointUuid string `path:"node-edge-point-uuid"` + ConnectionEndPointUuid string `path:"connection-end-point-uuid"` +} + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint_Key represents the key for list ClientNodeEdgePoint of element /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint_Key struct { + TopologyUuid string `path:"topology-uuid"` + NodeUuid string `path:"node-uuid"` + NodeEdgePointUuid string `path:"node-edge-point-uuid"` +} + +// NewAggregatedConnectionEndPoint creates a new entry in the AggregatedConnectionEndPoint list of the +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) NewAggregatedConnectionEndPoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string, ConnectionEndPointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.AggregatedConnectionEndPoint == nil { + t.AggregatedConnectionEndPoint = make(map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint) + } + + key := TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint_Key{ + TopologyUuid: TopologyUuid, + NodeUuid: NodeUuid, + NodeEdgePointUuid: NodeEdgePointUuid, + ConnectionEndPointUuid: ConnectionEndPointUuid, + } + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.AggregatedConnectionEndPoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list AggregatedConnectionEndPoint", key) + } + + t.AggregatedConnectionEndPoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint{ + TopologyUuid: &TopologyUuid, + NodeUuid: &NodeUuid, + NodeEdgePointUuid: &NodeEdgePointUuid, + ConnectionEndPointUuid: &ConnectionEndPointUuid, + } + + return t.AggregatedConnectionEndPoint[key], nil +} + +// NewClientNodeEdgePoint creates a new entry in the ClientNodeEdgePoint list of the +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) NewClientNodeEdgePoint(TopologyUuid string, NodeUuid string, NodeEdgePointUuid string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.ClientNodeEdgePoint == nil { + t.ClientNodeEdgePoint = make(map[TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint_Key]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint) + } + + key := TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint_Key{ + TopologyUuid: TopologyUuid, + NodeUuid: NodeUuid, + NodeEdgePointUuid: NodeEdgePointUuid, + } + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.ClientNodeEdgePoint[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list ClientNodeEdgePoint", key) + } + + t.ClientNodeEdgePoint[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint{ + TopologyUuid: &TopologyUuid, + NodeUuid: &NodeUuid, + NodeEdgePointUuid: &NodeEdgePointUuid, + } + + return t.ClientNodeEdgePoint[key], nil +} + +// NewName creates a new entry in the Name list of the +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint struct. The keys of the list are populated from the input +// arguments. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) NewName(ValueName string) (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name, error){ + + // Initialise the list within the receiver struct if it has not already been + // created. + if t.Name == nil { + t.Name = make(map[string]*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name) + } + + key := ValueName + + // Ensure that this key has not already been used in the + // list. Keyed YANG lists do not allow duplicate keys to + // be created. + if _, ok := t.Name[key]; ok { + return nil, fmt.Errorf("duplicate key %v for list Name", key) + } + + t.Name[key] = &TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name{ + ValueName: &ValueName, + } + + return t.Name[key], nil +} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.Uuid == nil { + return nil, fmt.Errorf("nil value for key Uuid") + } + + return map[string]interface{}{ + "uuid": *t.Uuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/aggregated-connection-end-point YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint struct { + ConnectionEndPointUuid *string `path:"connection-end-point-uuid" module:"tapi-connectivity"` + NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-connectivity"` + NodeUuid *string `path:"node-uuid" module:"tapi-connectivity"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-connectivity"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.ConnectionEndPointUuid == nil { + return nil, fmt.Errorf("nil value for key ConnectionEndPointUuid") + } + + if t.NodeEdgePointUuid == nil { + return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") + } + + if t.NodeUuid == nil { + return nil, fmt.Errorf("nil value for key NodeUuid") + } + + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") + } + + return map[string]interface{}{ + "connection-end-point-uuid": *t.ConnectionEndPointUuid, + "node-edge-point-uuid": *t.NodeEdgePointUuid, + "node-uuid": *t.NodeUuid, + "topology-uuid": *t.TopologyUuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_AggregatedConnectionEndPoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/client-node-edge-point YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint struct { + NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-connectivity"` + NodeUuid *string `path:"node-uuid" module:"tapi-connectivity"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-connectivity"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.NodeEdgePointUuid == nil { + return nil, fmt.Errorf("nil value for key NodeEdgePointUuid") + } + + if t.NodeUuid == nil { + return nil, fmt.Errorf("nil value for key NodeUuid") + } + + if t.TopologyUuid == nil { + return nil, fmt.Errorf("nil value for key TopologyUuid") + } + + return map[string]interface{}{ + "node-edge-point-uuid": *t.NodeEdgePointUuid, + "node-uuid": *t.NodeUuid, + "topology-uuid": *t.TopologyUuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ClientNodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/name YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name struct { + Value *string `path:"value" module:"tapi-connectivity"` + ValueName *string `path:"value-name" module:"tapi-connectivity"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/parent-node-edge-point YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint struct { + NodeEdgePointUuid *string `path:"node-edge-point-uuid" module:"tapi-connectivity"` + NodeUuid *string `path:"node-uuid" module:"tapi-connectivity"` + TopologyUuid *string `path:"topology-uuid" module:"tapi-connectivity"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_CepList_ConnectionEndPoint_ParentNodeEdgePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/mapped-service-interface-point YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint struct { + ServiceInterfacePointUuid *string `path:"service-interface-point-uuid" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint) ΛListKeyMap() (map[string]interface{}, error) { + if t.ServiceInterfacePointUuid == nil { + return nil, fmt.Errorf("nil value for key ServiceInterfacePointUuid") + } + + return map[string]interface{}{ + "service-interface-point-uuid": *t.ServiceInterfacePointUuid, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_MappedServiceInterfacePoint) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/name YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name struct { + Value *string `path:"value" module:"tapi-topology"` + ValueName *string `path:"value-name" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name) IsYANGGoStruct() {} + +// ΛListKeyMap returns the keys of the TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name struct, which is a YANG list entry. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name) ΛListKeyMap() (map[string]interface{}, error) { + if t.ValueName == nil { + return nil, fmt.Errorf("nil value for key ValueName") + } + + return map[string]interface{}{ + "value-name": *t.ValueName, + }, nil +} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_Name) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/total-potential-capacity YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity struct { + TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/owned-node-edge-point/total-potential-capacity/total-size YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` + Value *uint64 `path:"value" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity_TotalSize implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity_TotalSize) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity_TotalSize"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_OwnedNodeEdgePoint_TotalPotentialCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity represents the /tapi-common/context/topology-context/topology/node/total-potential-capacity YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity struct { + TotalSize *TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity_TotalSize `path:"total-size" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity_TotalSize represents the /tapi-common/context/topology-context/topology/node/total-potential-capacity/total-size YANG schema element. +type TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity_TotalSize struct { + Unit E_TapiCommon_CapacityUnit `path:"unit" module:"tapi-topology"` + Value *uint64 `path:"value" module:"tapi-topology"` +} + +// IsYANGGoStruct ensures that TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity_TotalSize implements the yang.GoStruct +// interface. This allows functions that need to handle this struct to +// identify it as being generated by ygen. +func (*TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity_TotalSize) IsYANGGoStruct() {} + +// Validate validates s against the YANG schema corresponding to its type. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity_TotalSize) Validate(opts ...ygot.ValidationOption) error { + if err := ytypes.Validate(SchemaTree["TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity_TotalSize"], t, opts...); err != nil { + return err + } + return nil +} + +// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types +// that are included in the generated code. +func (t *TapiCommon_Context_TopologyContext_Topology_Node_TotalPotentialCapacity_TotalSize) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } + + +// E_TapiCommon_AdministrativeState is a derived int64 type which is used to represent +// the enumerated node TapiCommon_AdministrativeState. An additional value named +// TapiCommon_AdministrativeState_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiCommon_AdministrativeState int64 + +// IsYANGGoEnum ensures that TapiCommon_AdministrativeState implements the yang.GoEnum +// interface. This ensures that TapiCommon_AdministrativeState can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiCommon_AdministrativeState) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiCommon_AdministrativeState. +func (E_TapiCommon_AdministrativeState) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiCommon_AdministrativeState. +func (e E_TapiCommon_AdministrativeState) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiCommon_AdministrativeState") +} + +const ( + // TapiCommon_AdministrativeState_UNSET corresponds to the value UNSET of TapiCommon_AdministrativeState + TapiCommon_AdministrativeState_UNSET E_TapiCommon_AdministrativeState = 0 + // TapiCommon_AdministrativeState_LOCKED corresponds to the value LOCKED of TapiCommon_AdministrativeState + TapiCommon_AdministrativeState_LOCKED E_TapiCommon_AdministrativeState = 1 + // TapiCommon_AdministrativeState_UNLOCKED corresponds to the value UNLOCKED of TapiCommon_AdministrativeState + TapiCommon_AdministrativeState_UNLOCKED E_TapiCommon_AdministrativeState = 2 +) + + +// E_TapiCommon_CapacityUnit is a derived int64 type which is used to represent +// the enumerated node TapiCommon_CapacityUnit. An additional value named +// TapiCommon_CapacityUnit_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiCommon_CapacityUnit int64 + +// IsYANGGoEnum ensures that TapiCommon_CapacityUnit implements the yang.GoEnum +// interface. This ensures that TapiCommon_CapacityUnit can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiCommon_CapacityUnit) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiCommon_CapacityUnit. +func (E_TapiCommon_CapacityUnit) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiCommon_CapacityUnit. +func (e E_TapiCommon_CapacityUnit) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiCommon_CapacityUnit") +} + +const ( + // TapiCommon_CapacityUnit_UNSET corresponds to the value UNSET of TapiCommon_CapacityUnit + TapiCommon_CapacityUnit_UNSET E_TapiCommon_CapacityUnit = 0 // TapiCommon_CapacityUnit_TB corresponds to the value TB of TapiCommon_CapacityUnit TapiCommon_CapacityUnit_TB E_TapiCommon_CapacityUnit = 1 // TapiCommon_CapacityUnit_TBPS corresponds to the value TBPS of TapiCommon_CapacityUnit @@ -3902,239 +9341,987 @@ const ( ) -// E_TapiCommon_LayerProtocolName is a derived int64 type which is used to represent -// the enumerated node TapiCommon_LayerProtocolName. An additional value named -// TapiCommon_LayerProtocolName_UNSET is added to the enumeration which is used as +// E_TapiCommon_LayerProtocolName is a derived int64 type which is used to represent +// the enumerated node TapiCommon_LayerProtocolName. An additional value named +// TapiCommon_LayerProtocolName_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiCommon_LayerProtocolName int64 + +// IsYANGGoEnum ensures that TapiCommon_LayerProtocolName implements the yang.GoEnum +// interface. This ensures that TapiCommon_LayerProtocolName can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiCommon_LayerProtocolName) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiCommon_LayerProtocolName. +func (E_TapiCommon_LayerProtocolName) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiCommon_LayerProtocolName. +func (e E_TapiCommon_LayerProtocolName) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiCommon_LayerProtocolName") +} + +const ( + // TapiCommon_LayerProtocolName_UNSET corresponds to the value UNSET of TapiCommon_LayerProtocolName + TapiCommon_LayerProtocolName_UNSET E_TapiCommon_LayerProtocolName = 0 + // TapiCommon_LayerProtocolName_ODU corresponds to the value ODU of TapiCommon_LayerProtocolName + TapiCommon_LayerProtocolName_ODU E_TapiCommon_LayerProtocolName = 1 + // TapiCommon_LayerProtocolName_ETH corresponds to the value ETH of TapiCommon_LayerProtocolName + TapiCommon_LayerProtocolName_ETH E_TapiCommon_LayerProtocolName = 2 + // TapiCommon_LayerProtocolName_DSR corresponds to the value DSR of TapiCommon_LayerProtocolName + TapiCommon_LayerProtocolName_DSR E_TapiCommon_LayerProtocolName = 3 + // TapiCommon_LayerProtocolName_PHOTONIC_MEDIA corresponds to the value PHOTONIC_MEDIA of TapiCommon_LayerProtocolName + TapiCommon_LayerProtocolName_PHOTONIC_MEDIA E_TapiCommon_LayerProtocolName = 4 +) + + +// E_TapiCommon_LayerProtocolQualifier is a derived int64 type which is used to represent +// the enumerated node TapiCommon_LayerProtocolQualifier. An additional value named +// TapiCommon_LayerProtocolQualifier_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiCommon_LayerProtocolQualifier int64 + +// IsYANGGoEnum ensures that TapiCommon_LayerProtocolQualifier implements the yang.GoEnum +// interface. This ensures that TapiCommon_LayerProtocolQualifier can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiCommon_LayerProtocolQualifier) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiCommon_LayerProtocolQualifier. +func (E_TapiCommon_LayerProtocolQualifier) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiCommon_LayerProtocolQualifier. +func (e E_TapiCommon_LayerProtocolQualifier) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiCommon_LayerProtocolQualifier") +} + +const ( + // TapiCommon_LayerProtocolQualifier_UNSET corresponds to the value UNSET of TapiCommon_LayerProtocolQualifier + TapiCommon_LayerProtocolQualifier_UNSET E_TapiCommon_LayerProtocolQualifier = 0 + // TapiCommon_LayerProtocolQualifier_LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED corresponds to the value LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED of TapiCommon_LayerProtocolQualifier + TapiCommon_LayerProtocolQualifier_LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED E_TapiCommon_LayerProtocolQualifier = 1 +) + + +// E_TapiCommon_LifecycleState is a derived int64 type which is used to represent +// the enumerated node TapiCommon_LifecycleState. An additional value named +// TapiCommon_LifecycleState_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiCommon_LifecycleState int64 + +// IsYANGGoEnum ensures that TapiCommon_LifecycleState implements the yang.GoEnum +// interface. This ensures that TapiCommon_LifecycleState can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiCommon_LifecycleState) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiCommon_LifecycleState. +func (E_TapiCommon_LifecycleState) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiCommon_LifecycleState. +func (e E_TapiCommon_LifecycleState) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiCommon_LifecycleState") +} + +const ( + // TapiCommon_LifecycleState_UNSET corresponds to the value UNSET of TapiCommon_LifecycleState + TapiCommon_LifecycleState_UNSET E_TapiCommon_LifecycleState = 0 + // TapiCommon_LifecycleState_PLANNED corresponds to the value PLANNED of TapiCommon_LifecycleState + TapiCommon_LifecycleState_PLANNED E_TapiCommon_LifecycleState = 1 + // TapiCommon_LifecycleState_POTENTIAL_AVAILABLE corresponds to the value POTENTIAL_AVAILABLE of TapiCommon_LifecycleState + TapiCommon_LifecycleState_POTENTIAL_AVAILABLE E_TapiCommon_LifecycleState = 2 + // TapiCommon_LifecycleState_POTENTIAL_BUSY corresponds to the value POTENTIAL_BUSY of TapiCommon_LifecycleState + TapiCommon_LifecycleState_POTENTIAL_BUSY E_TapiCommon_LifecycleState = 3 + // TapiCommon_LifecycleState_INSTALLED corresponds to the value INSTALLED of TapiCommon_LifecycleState + TapiCommon_LifecycleState_INSTALLED E_TapiCommon_LifecycleState = 4 + // TapiCommon_LifecycleState_PENDING_REMOVAL corresponds to the value PENDING_REMOVAL of TapiCommon_LifecycleState + TapiCommon_LifecycleState_PENDING_REMOVAL E_TapiCommon_LifecycleState = 5 +) + + +// E_TapiCommon_OperationalState is a derived int64 type which is used to represent +// the enumerated node TapiCommon_OperationalState. An additional value named +// TapiCommon_OperationalState_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiCommon_OperationalState int64 + +// IsYANGGoEnum ensures that TapiCommon_OperationalState implements the yang.GoEnum +// interface. This ensures that TapiCommon_OperationalState can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiCommon_OperationalState) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiCommon_OperationalState. +func (E_TapiCommon_OperationalState) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiCommon_OperationalState. +func (e E_TapiCommon_OperationalState) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiCommon_OperationalState") +} + +const ( + // TapiCommon_OperationalState_UNSET corresponds to the value UNSET of TapiCommon_OperationalState + TapiCommon_OperationalState_UNSET E_TapiCommon_OperationalState = 0 + // TapiCommon_OperationalState_DISABLED corresponds to the value DISABLED of TapiCommon_OperationalState + TapiCommon_OperationalState_DISABLED E_TapiCommon_OperationalState = 1 + // TapiCommon_OperationalState_ENABLED corresponds to the value ENABLED of TapiCommon_OperationalState + TapiCommon_OperationalState_ENABLED E_TapiCommon_OperationalState = 2 +) + + +// E_TapiCommon_PortDirection is a derived int64 type which is used to represent +// the enumerated node TapiCommon_PortDirection. An additional value named +// TapiCommon_PortDirection_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiCommon_PortDirection int64 + +// IsYANGGoEnum ensures that TapiCommon_PortDirection implements the yang.GoEnum +// interface. This ensures that TapiCommon_PortDirection can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiCommon_PortDirection) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiCommon_PortDirection. +func (E_TapiCommon_PortDirection) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiCommon_PortDirection. +func (e E_TapiCommon_PortDirection) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiCommon_PortDirection") +} + +const ( + // TapiCommon_PortDirection_UNSET corresponds to the value UNSET of TapiCommon_PortDirection + TapiCommon_PortDirection_UNSET E_TapiCommon_PortDirection = 0 + // TapiCommon_PortDirection_BIDIRECTIONAL corresponds to the value BIDIRECTIONAL of TapiCommon_PortDirection + TapiCommon_PortDirection_BIDIRECTIONAL E_TapiCommon_PortDirection = 1 + // TapiCommon_PortDirection_INPUT corresponds to the value INPUT of TapiCommon_PortDirection + TapiCommon_PortDirection_INPUT E_TapiCommon_PortDirection = 2 + // TapiCommon_PortDirection_OUTPUT corresponds to the value OUTPUT of TapiCommon_PortDirection + TapiCommon_PortDirection_OUTPUT E_TapiCommon_PortDirection = 3 + // TapiCommon_PortDirection_UNIDENTIFIED_OR_UNKNOWN corresponds to the value UNIDENTIFIED_OR_UNKNOWN of TapiCommon_PortDirection + TapiCommon_PortDirection_UNIDENTIFIED_OR_UNKNOWN E_TapiCommon_PortDirection = 4 +) + + +// E_TapiCommon_TerminationDirection is a derived int64 type which is used to represent +// the enumerated node TapiCommon_TerminationDirection. An additional value named +// TapiCommon_TerminationDirection_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiCommon_TerminationDirection int64 + +// IsYANGGoEnum ensures that TapiCommon_TerminationDirection implements the yang.GoEnum +// interface. This ensures that TapiCommon_TerminationDirection can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiCommon_TerminationDirection) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiCommon_TerminationDirection. +func (E_TapiCommon_TerminationDirection) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiCommon_TerminationDirection. +func (e E_TapiCommon_TerminationDirection) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiCommon_TerminationDirection") +} + +const ( + // TapiCommon_TerminationDirection_UNSET corresponds to the value UNSET of TapiCommon_TerminationDirection + TapiCommon_TerminationDirection_UNSET E_TapiCommon_TerminationDirection = 0 + // TapiCommon_TerminationDirection_BIDIRECTIONAL corresponds to the value BIDIRECTIONAL of TapiCommon_TerminationDirection + TapiCommon_TerminationDirection_BIDIRECTIONAL E_TapiCommon_TerminationDirection = 1 + // TapiCommon_TerminationDirection_SINK corresponds to the value SINK of TapiCommon_TerminationDirection + TapiCommon_TerminationDirection_SINK E_TapiCommon_TerminationDirection = 2 + // TapiCommon_TerminationDirection_SOURCE corresponds to the value SOURCE of TapiCommon_TerminationDirection + TapiCommon_TerminationDirection_SOURCE E_TapiCommon_TerminationDirection = 3 + // TapiCommon_TerminationDirection_UNDEFINED_OR_UNKNOWN corresponds to the value UNDEFINED_OR_UNKNOWN of TapiCommon_TerminationDirection + TapiCommon_TerminationDirection_UNDEFINED_OR_UNKNOWN E_TapiCommon_TerminationDirection = 4 +) + + +// E_TapiCommon_TerminationState is a derived int64 type which is used to represent +// the enumerated node TapiCommon_TerminationState. An additional value named +// TapiCommon_TerminationState_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiCommon_TerminationState int64 + +// IsYANGGoEnum ensures that TapiCommon_TerminationState implements the yang.GoEnum +// interface. This ensures that TapiCommon_TerminationState can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiCommon_TerminationState) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiCommon_TerminationState. +func (E_TapiCommon_TerminationState) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiCommon_TerminationState. +func (e E_TapiCommon_TerminationState) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiCommon_TerminationState") +} + +const ( + // TapiCommon_TerminationState_UNSET corresponds to the value UNSET of TapiCommon_TerminationState + TapiCommon_TerminationState_UNSET E_TapiCommon_TerminationState = 0 + // TapiCommon_TerminationState_LP_CAN_NEVER_TERMINATE corresponds to the value LP_CAN_NEVER_TERMINATE of TapiCommon_TerminationState + TapiCommon_TerminationState_LP_CAN_NEVER_TERMINATE E_TapiCommon_TerminationState = 1 + // TapiCommon_TerminationState_LT_NOT_TERMINATED corresponds to the value LT_NOT_TERMINATED of TapiCommon_TerminationState + TapiCommon_TerminationState_LT_NOT_TERMINATED E_TapiCommon_TerminationState = 2 + // TapiCommon_TerminationState_TERMINATED_SERVER_TO_CLIENT_FLOW corresponds to the value TERMINATED_SERVER_TO_CLIENT_FLOW of TapiCommon_TerminationState + TapiCommon_TerminationState_TERMINATED_SERVER_TO_CLIENT_FLOW E_TapiCommon_TerminationState = 3 + // TapiCommon_TerminationState_TERMINATED_CLIENT_TO_SERVER_FLOW corresponds to the value TERMINATED_CLIENT_TO_SERVER_FLOW of TapiCommon_TerminationState + TapiCommon_TerminationState_TERMINATED_CLIENT_TO_SERVER_FLOW E_TapiCommon_TerminationState = 4 + // TapiCommon_TerminationState_TERMINATED_BIDIRECTIONAL corresponds to the value TERMINATED_BIDIRECTIONAL of TapiCommon_TerminationState + TapiCommon_TerminationState_TERMINATED_BIDIRECTIONAL E_TapiCommon_TerminationState = 5 + // TapiCommon_TerminationState_LT_PERMENANTLY_TERMINATED corresponds to the value LT_PERMENANTLY_TERMINATED of TapiCommon_TerminationState + TapiCommon_TerminationState_LT_PERMENANTLY_TERMINATED E_TapiCommon_TerminationState = 6 + // TapiCommon_TerminationState_TERMINATION_STATE_UNKNOWN corresponds to the value TERMINATION_STATE_UNKNOWN of TapiCommon_TerminationState + TapiCommon_TerminationState_TERMINATION_STATE_UNKNOWN E_TapiCommon_TerminationState = 7 +) + + +// E_TapiConnectivity_CoordinateType is a derived int64 type which is used to represent +// the enumerated node TapiConnectivity_CoordinateType. An additional value named +// TapiConnectivity_CoordinateType_UNSET is added to the enumeration which is used as // the nil value, indicating that the enumeration was not explicitly set by // the program importing the generated structures. -type E_TapiCommon_LayerProtocolName int64 +type E_TapiConnectivity_CoordinateType int64 -// IsYANGGoEnum ensures that TapiCommon_LayerProtocolName implements the yang.GoEnum -// interface. This ensures that TapiCommon_LayerProtocolName can be identified as a +// IsYANGGoEnum ensures that TapiConnectivity_CoordinateType implements the yang.GoEnum +// interface. This ensures that TapiConnectivity_CoordinateType can be identified as a // mapped type for a YANG enumeration. -func (E_TapiCommon_LayerProtocolName) IsYANGGoEnum() {} +func (E_TapiConnectivity_CoordinateType) IsYANGGoEnum() {} -// ΛMap returns the value lookup map associated with TapiCommon_LayerProtocolName. -func (E_TapiCommon_LayerProtocolName) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } +// ΛMap returns the value lookup map associated with TapiConnectivity_CoordinateType. +func (E_TapiConnectivity_CoordinateType) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } -// String returns a logging-friendly string for E_TapiCommon_LayerProtocolName. -func (e E_TapiCommon_LayerProtocolName) String() string { - return ygot.EnumLogString(e, int64(e), "E_TapiCommon_LayerProtocolName") +// String returns a logging-friendly string for E_TapiConnectivity_CoordinateType. +func (e E_TapiConnectivity_CoordinateType) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiConnectivity_CoordinateType") } const ( - // TapiCommon_LayerProtocolName_UNSET corresponds to the value UNSET of TapiCommon_LayerProtocolName - TapiCommon_LayerProtocolName_UNSET E_TapiCommon_LayerProtocolName = 0 - // TapiCommon_LayerProtocolName_ODU corresponds to the value ODU of TapiCommon_LayerProtocolName - TapiCommon_LayerProtocolName_ODU E_TapiCommon_LayerProtocolName = 1 - // TapiCommon_LayerProtocolName_ETH corresponds to the value ETH of TapiCommon_LayerProtocolName - TapiCommon_LayerProtocolName_ETH E_TapiCommon_LayerProtocolName = 2 - // TapiCommon_LayerProtocolName_DSR corresponds to the value DSR of TapiCommon_LayerProtocolName - TapiCommon_LayerProtocolName_DSR E_TapiCommon_LayerProtocolName = 3 - // TapiCommon_LayerProtocolName_PHOTONIC_MEDIA corresponds to the value PHOTONIC_MEDIA of TapiCommon_LayerProtocolName - TapiCommon_LayerProtocolName_PHOTONIC_MEDIA E_TapiCommon_LayerProtocolName = 4 + // TapiConnectivity_CoordinateType_UNSET corresponds to the value UNSET of TapiConnectivity_CoordinateType + TapiConnectivity_CoordinateType_UNSET E_TapiConnectivity_CoordinateType = 0 + // TapiConnectivity_CoordinateType_NO_COORDINATE corresponds to the value NO_COORDINATE of TapiConnectivity_CoordinateType + TapiConnectivity_CoordinateType_NO_COORDINATE E_TapiConnectivity_CoordinateType = 1 + // TapiConnectivity_CoordinateType_HOLD_OFF_TIME corresponds to the value HOLD_OFF_TIME of TapiConnectivity_CoordinateType + TapiConnectivity_CoordinateType_HOLD_OFF_TIME E_TapiConnectivity_CoordinateType = 2 + // TapiConnectivity_CoordinateType_WAIT_FOR_NOTIFICATION corresponds to the value WAIT_FOR_NOTIFICATION of TapiConnectivity_CoordinateType + TapiConnectivity_CoordinateType_WAIT_FOR_NOTIFICATION E_TapiConnectivity_CoordinateType = 3 ) -// E_TapiCommon_LayerProtocolQualifier is a derived int64 type which is used to represent -// the enumerated node TapiCommon_LayerProtocolQualifier. An additional value named -// TapiCommon_LayerProtocolQualifier_UNSET is added to the enumeration which is used as +// E_TapiConnectivity_FaultConditionDetermination is a derived int64 type which is used to represent +// the enumerated node TapiConnectivity_FaultConditionDetermination. An additional value named +// TapiConnectivity_FaultConditionDetermination_UNSET is added to the enumeration which is used as // the nil value, indicating that the enumeration was not explicitly set by // the program importing the generated structures. -type E_TapiCommon_LayerProtocolQualifier int64 +type E_TapiConnectivity_FaultConditionDetermination int64 -// IsYANGGoEnum ensures that TapiCommon_LayerProtocolQualifier implements the yang.GoEnum -// interface. This ensures that TapiCommon_LayerProtocolQualifier can be identified as a +// IsYANGGoEnum ensures that TapiConnectivity_FaultConditionDetermination implements the yang.GoEnum +// interface. This ensures that TapiConnectivity_FaultConditionDetermination can be identified as a // mapped type for a YANG enumeration. -func (E_TapiCommon_LayerProtocolQualifier) IsYANGGoEnum() {} +func (E_TapiConnectivity_FaultConditionDetermination) IsYANGGoEnum() {} -// ΛMap returns the value lookup map associated with TapiCommon_LayerProtocolQualifier. -func (E_TapiCommon_LayerProtocolQualifier) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } +// ΛMap returns the value lookup map associated with TapiConnectivity_FaultConditionDetermination. +func (E_TapiConnectivity_FaultConditionDetermination) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } -// String returns a logging-friendly string for E_TapiCommon_LayerProtocolQualifier. -func (e E_TapiCommon_LayerProtocolQualifier) String() string { - return ygot.EnumLogString(e, int64(e), "E_TapiCommon_LayerProtocolQualifier") +// String returns a logging-friendly string for E_TapiConnectivity_FaultConditionDetermination. +func (e E_TapiConnectivity_FaultConditionDetermination) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiConnectivity_FaultConditionDetermination") } const ( - // TapiCommon_LayerProtocolQualifier_UNSET corresponds to the value UNSET of TapiCommon_LayerProtocolQualifier - TapiCommon_LayerProtocolQualifier_UNSET E_TapiCommon_LayerProtocolQualifier = 0 - // TapiCommon_LayerProtocolQualifier_LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED corresponds to the value LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED of TapiCommon_LayerProtocolQualifier - TapiCommon_LayerProtocolQualifier_LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED E_TapiCommon_LayerProtocolQualifier = 1 + // TapiConnectivity_FaultConditionDetermination_UNSET corresponds to the value UNSET of TapiConnectivity_FaultConditionDetermination + TapiConnectivity_FaultConditionDetermination_UNSET E_TapiConnectivity_FaultConditionDetermination = 0 + // TapiConnectivity_FaultConditionDetermination_FAULT_CONDITION_DETERMINATION_INHERENT corresponds to the value FAULT_CONDITION_DETERMINATION_INHERENT of TapiConnectivity_FaultConditionDetermination + TapiConnectivity_FaultConditionDetermination_FAULT_CONDITION_DETERMINATION_INHERENT E_TapiConnectivity_FaultConditionDetermination = 1 + // TapiConnectivity_FaultConditionDetermination_FAULT_CONDITION_DETERMINATION_NON_INTRUSIVE corresponds to the value FAULT_CONDITION_DETERMINATION_NON_INTRUSIVE of TapiConnectivity_FaultConditionDetermination + TapiConnectivity_FaultConditionDetermination_FAULT_CONDITION_DETERMINATION_NON_INTRUSIVE E_TapiConnectivity_FaultConditionDetermination = 2 + // TapiConnectivity_FaultConditionDetermination_FAULT_CONDITION_DETERMINATION_SUBLAYER corresponds to the value FAULT_CONDITION_DETERMINATION_SUBLAYER of TapiConnectivity_FaultConditionDetermination + TapiConnectivity_FaultConditionDetermination_FAULT_CONDITION_DETERMINATION_SUBLAYER E_TapiConnectivity_FaultConditionDetermination = 3 + // TapiConnectivity_FaultConditionDetermination_FAULT_CONDITION_DETERMINATION_TEST corresponds to the value FAULT_CONDITION_DETERMINATION_TEST of TapiConnectivity_FaultConditionDetermination + TapiConnectivity_FaultConditionDetermination_FAULT_CONDITION_DETERMINATION_TEST E_TapiConnectivity_FaultConditionDetermination = 4 ) -// E_TapiCommon_LifecycleState is a derived int64 type which is used to represent -// the enumerated node TapiCommon_LifecycleState. An additional value named -// TapiCommon_LifecycleState_UNSET is added to the enumeration which is used as +// E_TapiConnectivity_ForwardingDirection is a derived int64 type which is used to represent +// the enumerated node TapiConnectivity_ForwardingDirection. An additional value named +// TapiConnectivity_ForwardingDirection_UNSET is added to the enumeration which is used as // the nil value, indicating that the enumeration was not explicitly set by // the program importing the generated structures. -type E_TapiCommon_LifecycleState int64 +type E_TapiConnectivity_ForwardingDirection int64 -// IsYANGGoEnum ensures that TapiCommon_LifecycleState implements the yang.GoEnum -// interface. This ensures that TapiCommon_LifecycleState can be identified as a +// IsYANGGoEnum ensures that TapiConnectivity_ForwardingDirection implements the yang.GoEnum +// interface. This ensures that TapiConnectivity_ForwardingDirection can be identified as a // mapped type for a YANG enumeration. -func (E_TapiCommon_LifecycleState) IsYANGGoEnum() {} +func (E_TapiConnectivity_ForwardingDirection) IsYANGGoEnum() {} -// ΛMap returns the value lookup map associated with TapiCommon_LifecycleState. -func (E_TapiCommon_LifecycleState) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } +// ΛMap returns the value lookup map associated with TapiConnectivity_ForwardingDirection. +func (E_TapiConnectivity_ForwardingDirection) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } -// String returns a logging-friendly string for E_TapiCommon_LifecycleState. -func (e E_TapiCommon_LifecycleState) String() string { - return ygot.EnumLogString(e, int64(e), "E_TapiCommon_LifecycleState") +// String returns a logging-friendly string for E_TapiConnectivity_ForwardingDirection. +func (e E_TapiConnectivity_ForwardingDirection) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiConnectivity_ForwardingDirection") +} + +const ( + // TapiConnectivity_ForwardingDirection_UNSET corresponds to the value UNSET of TapiConnectivity_ForwardingDirection + TapiConnectivity_ForwardingDirection_UNSET E_TapiConnectivity_ForwardingDirection = 0 + // TapiConnectivity_ForwardingDirection_BIDIRECTIONAL corresponds to the value BIDIRECTIONAL of TapiConnectivity_ForwardingDirection + TapiConnectivity_ForwardingDirection_BIDIRECTIONAL E_TapiConnectivity_ForwardingDirection = 1 + // TapiConnectivity_ForwardingDirection_UNIDIRECTIONAL corresponds to the value UNIDIRECTIONAL of TapiConnectivity_ForwardingDirection + TapiConnectivity_ForwardingDirection_UNIDIRECTIONAL E_TapiConnectivity_ForwardingDirection = 2 + // TapiConnectivity_ForwardingDirection_UNDEFINED_OR_UNKNOWN corresponds to the value UNDEFINED_OR_UNKNOWN of TapiConnectivity_ForwardingDirection + TapiConnectivity_ForwardingDirection_UNDEFINED_OR_UNKNOWN E_TapiConnectivity_ForwardingDirection = 3 +) + + +// E_TapiConnectivity_LayerProtocolName is a derived int64 type which is used to represent +// the enumerated node TapiConnectivity_LayerProtocolName. An additional value named +// TapiConnectivity_LayerProtocolName_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiConnectivity_LayerProtocolName int64 + +// IsYANGGoEnum ensures that TapiConnectivity_LayerProtocolName implements the yang.GoEnum +// interface. This ensures that TapiConnectivity_LayerProtocolName can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiConnectivity_LayerProtocolName) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiConnectivity_LayerProtocolName. +func (E_TapiConnectivity_LayerProtocolName) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiConnectivity_LayerProtocolName. +func (e E_TapiConnectivity_LayerProtocolName) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiConnectivity_LayerProtocolName") +} + +const ( + // TapiConnectivity_LayerProtocolName_UNSET corresponds to the value UNSET of TapiConnectivity_LayerProtocolName + TapiConnectivity_LayerProtocolName_UNSET E_TapiConnectivity_LayerProtocolName = 0 + // TapiConnectivity_LayerProtocolName_ODU corresponds to the value ODU of TapiConnectivity_LayerProtocolName + TapiConnectivity_LayerProtocolName_ODU E_TapiConnectivity_LayerProtocolName = 1 + // TapiConnectivity_LayerProtocolName_ETH corresponds to the value ETH of TapiConnectivity_LayerProtocolName + TapiConnectivity_LayerProtocolName_ETH E_TapiConnectivity_LayerProtocolName = 2 + // TapiConnectivity_LayerProtocolName_DSR corresponds to the value DSR of TapiConnectivity_LayerProtocolName + TapiConnectivity_LayerProtocolName_DSR E_TapiConnectivity_LayerProtocolName = 3 + // TapiConnectivity_LayerProtocolName_PHOTONIC_MEDIA corresponds to the value PHOTONIC_MEDIA of TapiConnectivity_LayerProtocolName + TapiConnectivity_LayerProtocolName_PHOTONIC_MEDIA E_TapiConnectivity_LayerProtocolName = 4 +) + + +// E_TapiConnectivity_LayerProtocolQualifier is a derived int64 type which is used to represent +// the enumerated node TapiConnectivity_LayerProtocolQualifier. An additional value named +// TapiConnectivity_LayerProtocolQualifier_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiConnectivity_LayerProtocolQualifier int64 + +// IsYANGGoEnum ensures that TapiConnectivity_LayerProtocolQualifier implements the yang.GoEnum +// interface. This ensures that TapiConnectivity_LayerProtocolQualifier can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiConnectivity_LayerProtocolQualifier) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiConnectivity_LayerProtocolQualifier. +func (E_TapiConnectivity_LayerProtocolQualifier) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiConnectivity_LayerProtocolQualifier. +func (e E_TapiConnectivity_LayerProtocolQualifier) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiConnectivity_LayerProtocolQualifier") +} + +const ( + // TapiConnectivity_LayerProtocolQualifier_UNSET corresponds to the value UNSET of TapiConnectivity_LayerProtocolQualifier + TapiConnectivity_LayerProtocolQualifier_UNSET E_TapiConnectivity_LayerProtocolQualifier = 0 + // TapiConnectivity_LayerProtocolQualifier_LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED corresponds to the value LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED of TapiConnectivity_LayerProtocolQualifier + TapiConnectivity_LayerProtocolQualifier_LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED E_TapiConnectivity_LayerProtocolQualifier = 1 +) + + +// E_TapiConnectivity_PortDirection is a derived int64 type which is used to represent +// the enumerated node TapiConnectivity_PortDirection. An additional value named +// TapiConnectivity_PortDirection_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiConnectivity_PortDirection int64 + +// IsYANGGoEnum ensures that TapiConnectivity_PortDirection implements the yang.GoEnum +// interface. This ensures that TapiConnectivity_PortDirection can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiConnectivity_PortDirection) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiConnectivity_PortDirection. +func (E_TapiConnectivity_PortDirection) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiConnectivity_PortDirection. +func (e E_TapiConnectivity_PortDirection) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiConnectivity_PortDirection") +} + +const ( + // TapiConnectivity_PortDirection_UNSET corresponds to the value UNSET of TapiConnectivity_PortDirection + TapiConnectivity_PortDirection_UNSET E_TapiConnectivity_PortDirection = 0 + // TapiConnectivity_PortDirection_BIDIRECTIONAL corresponds to the value BIDIRECTIONAL of TapiConnectivity_PortDirection + TapiConnectivity_PortDirection_BIDIRECTIONAL E_TapiConnectivity_PortDirection = 1 + // TapiConnectivity_PortDirection_INPUT corresponds to the value INPUT of TapiConnectivity_PortDirection + TapiConnectivity_PortDirection_INPUT E_TapiConnectivity_PortDirection = 2 + // TapiConnectivity_PortDirection_OUTPUT corresponds to the value OUTPUT of TapiConnectivity_PortDirection + TapiConnectivity_PortDirection_OUTPUT E_TapiConnectivity_PortDirection = 3 + // TapiConnectivity_PortDirection_UNIDENTIFIED_OR_UNKNOWN corresponds to the value UNIDENTIFIED_OR_UNKNOWN of TapiConnectivity_PortDirection + TapiConnectivity_PortDirection_UNIDENTIFIED_OR_UNKNOWN E_TapiConnectivity_PortDirection = 4 +) + + +// E_TapiConnectivity_PortRole is a derived int64 type which is used to represent +// the enumerated node TapiConnectivity_PortRole. An additional value named +// TapiConnectivity_PortRole_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiConnectivity_PortRole int64 + +// IsYANGGoEnum ensures that TapiConnectivity_PortRole implements the yang.GoEnum +// interface. This ensures that TapiConnectivity_PortRole can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiConnectivity_PortRole) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiConnectivity_PortRole. +func (E_TapiConnectivity_PortRole) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiConnectivity_PortRole. +func (e E_TapiConnectivity_PortRole) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiConnectivity_PortRole") +} + +const ( + // TapiConnectivity_PortRole_UNSET corresponds to the value UNSET of TapiConnectivity_PortRole + TapiConnectivity_PortRole_UNSET E_TapiConnectivity_PortRole = 0 + // TapiConnectivity_PortRole_SYMMETRIC corresponds to the value SYMMETRIC of TapiConnectivity_PortRole + TapiConnectivity_PortRole_SYMMETRIC E_TapiConnectivity_PortRole = 1 + // TapiConnectivity_PortRole_ROOT corresponds to the value ROOT of TapiConnectivity_PortRole + TapiConnectivity_PortRole_ROOT E_TapiConnectivity_PortRole = 2 + // TapiConnectivity_PortRole_LEAF corresponds to the value LEAF of TapiConnectivity_PortRole + TapiConnectivity_PortRole_LEAF E_TapiConnectivity_PortRole = 3 + // TapiConnectivity_PortRole_TRUNK corresponds to the value TRUNK of TapiConnectivity_PortRole + TapiConnectivity_PortRole_TRUNK E_TapiConnectivity_PortRole = 4 + // TapiConnectivity_PortRole_UNKNOWN corresponds to the value UNKNOWN of TapiConnectivity_PortRole + TapiConnectivity_PortRole_UNKNOWN E_TapiConnectivity_PortRole = 5 +) + + +// E_TapiConnectivity_ProtectionRole is a derived int64 type which is used to represent +// the enumerated node TapiConnectivity_ProtectionRole. An additional value named +// TapiConnectivity_ProtectionRole_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiConnectivity_ProtectionRole int64 + +// IsYANGGoEnum ensures that TapiConnectivity_ProtectionRole implements the yang.GoEnum +// interface. This ensures that TapiConnectivity_ProtectionRole can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiConnectivity_ProtectionRole) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiConnectivity_ProtectionRole. +func (E_TapiConnectivity_ProtectionRole) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiConnectivity_ProtectionRole. +func (e E_TapiConnectivity_ProtectionRole) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiConnectivity_ProtectionRole") +} + +const ( + // TapiConnectivity_ProtectionRole_UNSET corresponds to the value UNSET of TapiConnectivity_ProtectionRole + TapiConnectivity_ProtectionRole_UNSET E_TapiConnectivity_ProtectionRole = 0 + // TapiConnectivity_ProtectionRole_WORK corresponds to the value WORK of TapiConnectivity_ProtectionRole + TapiConnectivity_ProtectionRole_WORK E_TapiConnectivity_ProtectionRole = 1 + // TapiConnectivity_ProtectionRole_PROTECT corresponds to the value PROTECT of TapiConnectivity_ProtectionRole + TapiConnectivity_ProtectionRole_PROTECT E_TapiConnectivity_ProtectionRole = 2 + // TapiConnectivity_ProtectionRole_PROTECTED corresponds to the value PROTECTED of TapiConnectivity_ProtectionRole + TapiConnectivity_ProtectionRole_PROTECTED E_TapiConnectivity_ProtectionRole = 3 + // TapiConnectivity_ProtectionRole_NA corresponds to the value NA of TapiConnectivity_ProtectionRole + TapiConnectivity_ProtectionRole_NA E_TapiConnectivity_ProtectionRole = 4 + // TapiConnectivity_ProtectionRole_WORK_RESTORE corresponds to the value WORK_RESTORE of TapiConnectivity_ProtectionRole + TapiConnectivity_ProtectionRole_WORK_RESTORE E_TapiConnectivity_ProtectionRole = 5 + // TapiConnectivity_ProtectionRole_PROTECT_RESTORE corresponds to the value PROTECT_RESTORE of TapiConnectivity_ProtectionRole + TapiConnectivity_ProtectionRole_PROTECT_RESTORE E_TapiConnectivity_ProtectionRole = 6 +) + + +// E_TapiConnectivity_ReversionMode is a derived int64 type which is used to represent +// the enumerated node TapiConnectivity_ReversionMode. An additional value named +// TapiConnectivity_ReversionMode_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiConnectivity_ReversionMode int64 + +// IsYANGGoEnum ensures that TapiConnectivity_ReversionMode implements the yang.GoEnum +// interface. This ensures that TapiConnectivity_ReversionMode can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiConnectivity_ReversionMode) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiConnectivity_ReversionMode. +func (E_TapiConnectivity_ReversionMode) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiConnectivity_ReversionMode. +func (e E_TapiConnectivity_ReversionMode) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiConnectivity_ReversionMode") +} + +const ( + // TapiConnectivity_ReversionMode_UNSET corresponds to the value UNSET of TapiConnectivity_ReversionMode + TapiConnectivity_ReversionMode_UNSET E_TapiConnectivity_ReversionMode = 0 + // TapiConnectivity_ReversionMode_REVERTIVE corresponds to the value REVERTIVE of TapiConnectivity_ReversionMode + TapiConnectivity_ReversionMode_REVERTIVE E_TapiConnectivity_ReversionMode = 1 + // TapiConnectivity_ReversionMode_NON_REVERTIVE corresponds to the value NON_REVERTIVE of TapiConnectivity_ReversionMode + TapiConnectivity_ReversionMode_NON_REVERTIVE E_TapiConnectivity_ReversionMode = 2 +) + + +// E_TapiConnectivity_RouteState is a derived int64 type which is used to represent +// the enumerated node TapiConnectivity_RouteState. An additional value named +// TapiConnectivity_RouteState_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiConnectivity_RouteState int64 + +// IsYANGGoEnum ensures that TapiConnectivity_RouteState implements the yang.GoEnum +// interface. This ensures that TapiConnectivity_RouteState can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiConnectivity_RouteState) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiConnectivity_RouteState. +func (E_TapiConnectivity_RouteState) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiConnectivity_RouteState. +func (e E_TapiConnectivity_RouteState) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiConnectivity_RouteState") +} + +const ( + // TapiConnectivity_RouteState_UNSET corresponds to the value UNSET of TapiConnectivity_RouteState + TapiConnectivity_RouteState_UNSET E_TapiConnectivity_RouteState = 0 + // TapiConnectivity_RouteState_ROUTE_STATE_CURRENT corresponds to the value ROUTE_STATE_CURRENT of TapiConnectivity_RouteState + TapiConnectivity_RouteState_ROUTE_STATE_CURRENT E_TapiConnectivity_RouteState = 1 + // TapiConnectivity_RouteState_ROUTE_STATE_NOT_CURRENT corresponds to the value ROUTE_STATE_NOT_CURRENT of TapiConnectivity_RouteState + TapiConnectivity_RouteState_ROUTE_STATE_NOT_CURRENT E_TapiConnectivity_RouteState = 2 + // TapiConnectivity_RouteState_ROUTE_STATE_UNKNOWN corresponds to the value ROUTE_STATE_UNKNOWN of TapiConnectivity_RouteState + TapiConnectivity_RouteState_ROUTE_STATE_UNKNOWN E_TapiConnectivity_RouteState = 3 +) + + +// E_TapiConnectivity_SelectionControl is a derived int64 type which is used to represent +// the enumerated node TapiConnectivity_SelectionControl. An additional value named +// TapiConnectivity_SelectionControl_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiConnectivity_SelectionControl int64 + +// IsYANGGoEnum ensures that TapiConnectivity_SelectionControl implements the yang.GoEnum +// interface. This ensures that TapiConnectivity_SelectionControl can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiConnectivity_SelectionControl) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiConnectivity_SelectionControl. +func (E_TapiConnectivity_SelectionControl) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiConnectivity_SelectionControl. +func (e E_TapiConnectivity_SelectionControl) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiConnectivity_SelectionControl") +} + +const ( + // TapiConnectivity_SelectionControl_UNSET corresponds to the value UNSET of TapiConnectivity_SelectionControl + TapiConnectivity_SelectionControl_UNSET E_TapiConnectivity_SelectionControl = 0 + // TapiConnectivity_SelectionControl_LOCK_OUT corresponds to the value LOCK_OUT of TapiConnectivity_SelectionControl + TapiConnectivity_SelectionControl_LOCK_OUT E_TapiConnectivity_SelectionControl = 1 + // TapiConnectivity_SelectionControl_NORMAL corresponds to the value NORMAL of TapiConnectivity_SelectionControl + TapiConnectivity_SelectionControl_NORMAL E_TapiConnectivity_SelectionControl = 2 + // TapiConnectivity_SelectionControl_MANUAL corresponds to the value MANUAL of TapiConnectivity_SelectionControl + TapiConnectivity_SelectionControl_MANUAL E_TapiConnectivity_SelectionControl = 3 + // TapiConnectivity_SelectionControl_FORCED corresponds to the value FORCED of TapiConnectivity_SelectionControl + TapiConnectivity_SelectionControl_FORCED E_TapiConnectivity_SelectionControl = 4 +) + + +// E_TapiConnectivity_SelectionReason is a derived int64 type which is used to represent +// the enumerated node TapiConnectivity_SelectionReason. An additional value named +// TapiConnectivity_SelectionReason_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiConnectivity_SelectionReason int64 + +// IsYANGGoEnum ensures that TapiConnectivity_SelectionReason implements the yang.GoEnum +// interface. This ensures that TapiConnectivity_SelectionReason can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiConnectivity_SelectionReason) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiConnectivity_SelectionReason. +func (E_TapiConnectivity_SelectionReason) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiConnectivity_SelectionReason. +func (e E_TapiConnectivity_SelectionReason) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiConnectivity_SelectionReason") +} + +const ( + // TapiConnectivity_SelectionReason_UNSET corresponds to the value UNSET of TapiConnectivity_SelectionReason + TapiConnectivity_SelectionReason_UNSET E_TapiConnectivity_SelectionReason = 0 + // TapiConnectivity_SelectionReason_LOCKOUT corresponds to the value LOCKOUT of TapiConnectivity_SelectionReason + TapiConnectivity_SelectionReason_LOCKOUT E_TapiConnectivity_SelectionReason = 1 + // TapiConnectivity_SelectionReason_NORMAL corresponds to the value NORMAL of TapiConnectivity_SelectionReason + TapiConnectivity_SelectionReason_NORMAL E_TapiConnectivity_SelectionReason = 2 + // TapiConnectivity_SelectionReason_MANUAL corresponds to the value MANUAL of TapiConnectivity_SelectionReason + TapiConnectivity_SelectionReason_MANUAL E_TapiConnectivity_SelectionReason = 3 + // TapiConnectivity_SelectionReason_FORCED corresponds to the value FORCED of TapiConnectivity_SelectionReason + TapiConnectivity_SelectionReason_FORCED E_TapiConnectivity_SelectionReason = 4 + // TapiConnectivity_SelectionReason_WAIT_TO_REVERT corresponds to the value WAIT_TO_REVERT of TapiConnectivity_SelectionReason + TapiConnectivity_SelectionReason_WAIT_TO_REVERT E_TapiConnectivity_SelectionReason = 5 + // TapiConnectivity_SelectionReason_SIGNAL_DEGRADE corresponds to the value SIGNAL_DEGRADE of TapiConnectivity_SelectionReason + TapiConnectivity_SelectionReason_SIGNAL_DEGRADE E_TapiConnectivity_SelectionReason = 6 + // TapiConnectivity_SelectionReason_SIGNAL_FAIL corresponds to the value SIGNAL_FAIL of TapiConnectivity_SelectionReason + TapiConnectivity_SelectionReason_SIGNAL_FAIL E_TapiConnectivity_SelectionReason = 7 +) + + +// E_TapiConnectivity_ServiceType is a derived int64 type which is used to represent +// the enumerated node TapiConnectivity_ServiceType. An additional value named +// TapiConnectivity_ServiceType_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiConnectivity_ServiceType int64 + +// IsYANGGoEnum ensures that TapiConnectivity_ServiceType implements the yang.GoEnum +// interface. This ensures that TapiConnectivity_ServiceType can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiConnectivity_ServiceType) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiConnectivity_ServiceType. +func (E_TapiConnectivity_ServiceType) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiConnectivity_ServiceType. +func (e E_TapiConnectivity_ServiceType) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiConnectivity_ServiceType") +} + +const ( + // TapiConnectivity_ServiceType_UNSET corresponds to the value UNSET of TapiConnectivity_ServiceType + TapiConnectivity_ServiceType_UNSET E_TapiConnectivity_ServiceType = 0 + // TapiConnectivity_ServiceType_POINT_TO_POINT_CONNECTIVITY corresponds to the value POINT_TO_POINT_CONNECTIVITY of TapiConnectivity_ServiceType + TapiConnectivity_ServiceType_POINT_TO_POINT_CONNECTIVITY E_TapiConnectivity_ServiceType = 1 + // TapiConnectivity_ServiceType_POINT_TO_MULTIPOINT_CONNECTIVITY corresponds to the value POINT_TO_MULTIPOINT_CONNECTIVITY of TapiConnectivity_ServiceType + TapiConnectivity_ServiceType_POINT_TO_MULTIPOINT_CONNECTIVITY E_TapiConnectivity_ServiceType = 2 + // TapiConnectivity_ServiceType_MULTIPOINT_CONNECTIVITY corresponds to the value MULTIPOINT_CONNECTIVITY of TapiConnectivity_ServiceType + TapiConnectivity_ServiceType_MULTIPOINT_CONNECTIVITY E_TapiConnectivity_ServiceType = 3 + // TapiConnectivity_ServiceType_ROOTED_MULTIPOINT_CONNECTIVITY corresponds to the value ROOTED_MULTIPOINT_CONNECTIVITY of TapiConnectivity_ServiceType + TapiConnectivity_ServiceType_ROOTED_MULTIPOINT_CONNECTIVITY E_TapiConnectivity_ServiceType = 4 +) + + +// E_TapiPathComputation_DirectiveValue is a derived int64 type which is used to represent +// the enumerated node TapiPathComputation_DirectiveValue. An additional value named +// TapiPathComputation_DirectiveValue_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiPathComputation_DirectiveValue int64 + +// IsYANGGoEnum ensures that TapiPathComputation_DirectiveValue implements the yang.GoEnum +// interface. This ensures that TapiPathComputation_DirectiveValue can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiPathComputation_DirectiveValue) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiPathComputation_DirectiveValue. +func (E_TapiPathComputation_DirectiveValue) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiPathComputation_DirectiveValue. +func (e E_TapiPathComputation_DirectiveValue) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiPathComputation_DirectiveValue") +} + +const ( + // TapiPathComputation_DirectiveValue_UNSET corresponds to the value UNSET of TapiPathComputation_DirectiveValue + TapiPathComputation_DirectiveValue_UNSET E_TapiPathComputation_DirectiveValue = 0 + // TapiPathComputation_DirectiveValue_MINIMIZE corresponds to the value MINIMIZE of TapiPathComputation_DirectiveValue + TapiPathComputation_DirectiveValue_MINIMIZE E_TapiPathComputation_DirectiveValue = 1 + // TapiPathComputation_DirectiveValue_MAXIMIZE corresponds to the value MAXIMIZE of TapiPathComputation_DirectiveValue + TapiPathComputation_DirectiveValue_MAXIMIZE E_TapiPathComputation_DirectiveValue = 2 + // TapiPathComputation_DirectiveValue_ALLOW corresponds to the value ALLOW of TapiPathComputation_DirectiveValue + TapiPathComputation_DirectiveValue_ALLOW E_TapiPathComputation_DirectiveValue = 3 + // TapiPathComputation_DirectiveValue_DISALLOW corresponds to the value DISALLOW of TapiPathComputation_DirectiveValue + TapiPathComputation_DirectiveValue_DISALLOW E_TapiPathComputation_DirectiveValue = 4 + // TapiPathComputation_DirectiveValue_DONT_CARE corresponds to the value DONT_CARE of TapiPathComputation_DirectiveValue + TapiPathComputation_DirectiveValue_DONT_CARE E_TapiPathComputation_DirectiveValue = 5 +) + + +// E_TapiPathComputation_DiversityPolicy is a derived int64 type which is used to represent +// the enumerated node TapiPathComputation_DiversityPolicy. An additional value named +// TapiPathComputation_DiversityPolicy_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiPathComputation_DiversityPolicy int64 + +// IsYANGGoEnum ensures that TapiPathComputation_DiversityPolicy implements the yang.GoEnum +// interface. This ensures that TapiPathComputation_DiversityPolicy can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiPathComputation_DiversityPolicy) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiPathComputation_DiversityPolicy. +func (E_TapiPathComputation_DiversityPolicy) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiPathComputation_DiversityPolicy. +func (e E_TapiPathComputation_DiversityPolicy) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiPathComputation_DiversityPolicy") +} + +const ( + // TapiPathComputation_DiversityPolicy_UNSET corresponds to the value UNSET of TapiPathComputation_DiversityPolicy + TapiPathComputation_DiversityPolicy_UNSET E_TapiPathComputation_DiversityPolicy = 0 + // TapiPathComputation_DiversityPolicy_SRLG corresponds to the value SRLG of TapiPathComputation_DiversityPolicy + TapiPathComputation_DiversityPolicy_SRLG E_TapiPathComputation_DiversityPolicy = 1 + // TapiPathComputation_DiversityPolicy_SRNG corresponds to the value SRNG of TapiPathComputation_DiversityPolicy + TapiPathComputation_DiversityPolicy_SRNG E_TapiPathComputation_DiversityPolicy = 2 + // TapiPathComputation_DiversityPolicy_SNG corresponds to the value SNG of TapiPathComputation_DiversityPolicy + TapiPathComputation_DiversityPolicy_SNG E_TapiPathComputation_DiversityPolicy = 3 + // TapiPathComputation_DiversityPolicy_NODE corresponds to the value NODE of TapiPathComputation_DiversityPolicy + TapiPathComputation_DiversityPolicy_NODE E_TapiPathComputation_DiversityPolicy = 4 + // TapiPathComputation_DiversityPolicy_LINK corresponds to the value LINK of TapiPathComputation_DiversityPolicy + TapiPathComputation_DiversityPolicy_LINK E_TapiPathComputation_DiversityPolicy = 5 +) + + +// E_TapiPathComputation_ForwardingDirection is a derived int64 type which is used to represent +// the enumerated node TapiPathComputation_ForwardingDirection. An additional value named +// TapiPathComputation_ForwardingDirection_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiPathComputation_ForwardingDirection int64 + +// IsYANGGoEnum ensures that TapiPathComputation_ForwardingDirection implements the yang.GoEnum +// interface. This ensures that TapiPathComputation_ForwardingDirection can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiPathComputation_ForwardingDirection) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiPathComputation_ForwardingDirection. +func (E_TapiPathComputation_ForwardingDirection) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiPathComputation_ForwardingDirection. +func (e E_TapiPathComputation_ForwardingDirection) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiPathComputation_ForwardingDirection") +} + +const ( + // TapiPathComputation_ForwardingDirection_UNSET corresponds to the value UNSET of TapiPathComputation_ForwardingDirection + TapiPathComputation_ForwardingDirection_UNSET E_TapiPathComputation_ForwardingDirection = 0 + // TapiPathComputation_ForwardingDirection_BIDIRECTIONAL corresponds to the value BIDIRECTIONAL of TapiPathComputation_ForwardingDirection + TapiPathComputation_ForwardingDirection_BIDIRECTIONAL E_TapiPathComputation_ForwardingDirection = 1 + // TapiPathComputation_ForwardingDirection_UNIDIRECTIONAL corresponds to the value UNIDIRECTIONAL of TapiPathComputation_ForwardingDirection + TapiPathComputation_ForwardingDirection_UNIDIRECTIONAL E_TapiPathComputation_ForwardingDirection = 2 + // TapiPathComputation_ForwardingDirection_UNDEFINED_OR_UNKNOWN corresponds to the value UNDEFINED_OR_UNKNOWN of TapiPathComputation_ForwardingDirection + TapiPathComputation_ForwardingDirection_UNDEFINED_OR_UNKNOWN E_TapiPathComputation_ForwardingDirection = 3 +) + + +// E_TapiPathComputation_GradesOfImpact is a derived int64 type which is used to represent +// the enumerated node TapiPathComputation_GradesOfImpact. An additional value named +// TapiPathComputation_GradesOfImpact_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiPathComputation_GradesOfImpact int64 + +// IsYANGGoEnum ensures that TapiPathComputation_GradesOfImpact implements the yang.GoEnum +// interface. This ensures that TapiPathComputation_GradesOfImpact can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiPathComputation_GradesOfImpact) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiPathComputation_GradesOfImpact. +func (E_TapiPathComputation_GradesOfImpact) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiPathComputation_GradesOfImpact. +func (e E_TapiPathComputation_GradesOfImpact) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiPathComputation_GradesOfImpact") +} + +const ( + // TapiPathComputation_GradesOfImpact_UNSET corresponds to the value UNSET of TapiPathComputation_GradesOfImpact + TapiPathComputation_GradesOfImpact_UNSET E_TapiPathComputation_GradesOfImpact = 0 + // TapiPathComputation_GradesOfImpact_GRADES_OF_IMPACT_HITLESS corresponds to the value GRADES_OF_IMPACT_HITLESS of TapiPathComputation_GradesOfImpact + TapiPathComputation_GradesOfImpact_GRADES_OF_IMPACT_HITLESS E_TapiPathComputation_GradesOfImpact = 1 + // TapiPathComputation_GradesOfImpact_GRADES_OF_IMPACT_LONG_IMPACT corresponds to the value GRADES_OF_IMPACT_LONG_IMPACT of TapiPathComputation_GradesOfImpact + TapiPathComputation_GradesOfImpact_GRADES_OF_IMPACT_LONG_IMPACT E_TapiPathComputation_GradesOfImpact = 2 + // TapiPathComputation_GradesOfImpact_GRADES_OF_IMPACT_MAJOR_IMPACT corresponds to the value GRADES_OF_IMPACT_MAJOR_IMPACT of TapiPathComputation_GradesOfImpact + TapiPathComputation_GradesOfImpact_GRADES_OF_IMPACT_MAJOR_IMPACT E_TapiPathComputation_GradesOfImpact = 3 + // TapiPathComputation_GradesOfImpact_GRADES_OF_IMPACT_MINOR_IMPACT corresponds to the value GRADES_OF_IMPACT_MINOR_IMPACT of TapiPathComputation_GradesOfImpact + TapiPathComputation_GradesOfImpact_GRADES_OF_IMPACT_MINOR_IMPACT E_TapiPathComputation_GradesOfImpact = 4 +) + + +// E_TapiPathComputation_LayerProtocolName is a derived int64 type which is used to represent +// the enumerated node TapiPathComputation_LayerProtocolName. An additional value named +// TapiPathComputation_LayerProtocolName_UNSET is added to the enumeration which is used as +// the nil value, indicating that the enumeration was not explicitly set by +// the program importing the generated structures. +type E_TapiPathComputation_LayerProtocolName int64 + +// IsYANGGoEnum ensures that TapiPathComputation_LayerProtocolName implements the yang.GoEnum +// interface. This ensures that TapiPathComputation_LayerProtocolName can be identified as a +// mapped type for a YANG enumeration. +func (E_TapiPathComputation_LayerProtocolName) IsYANGGoEnum() {} + +// ΛMap returns the value lookup map associated with TapiPathComputation_LayerProtocolName. +func (E_TapiPathComputation_LayerProtocolName) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } + +// String returns a logging-friendly string for E_TapiPathComputation_LayerProtocolName. +func (e E_TapiPathComputation_LayerProtocolName) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiPathComputation_LayerProtocolName") } const ( - // TapiCommon_LifecycleState_UNSET corresponds to the value UNSET of TapiCommon_LifecycleState - TapiCommon_LifecycleState_UNSET E_TapiCommon_LifecycleState = 0 - // TapiCommon_LifecycleState_PLANNED corresponds to the value PLANNED of TapiCommon_LifecycleState - TapiCommon_LifecycleState_PLANNED E_TapiCommon_LifecycleState = 1 - // TapiCommon_LifecycleState_POTENTIAL_AVAILABLE corresponds to the value POTENTIAL_AVAILABLE of TapiCommon_LifecycleState - TapiCommon_LifecycleState_POTENTIAL_AVAILABLE E_TapiCommon_LifecycleState = 2 - // TapiCommon_LifecycleState_POTENTIAL_BUSY corresponds to the value POTENTIAL_BUSY of TapiCommon_LifecycleState - TapiCommon_LifecycleState_POTENTIAL_BUSY E_TapiCommon_LifecycleState = 3 - // TapiCommon_LifecycleState_INSTALLED corresponds to the value INSTALLED of TapiCommon_LifecycleState - TapiCommon_LifecycleState_INSTALLED E_TapiCommon_LifecycleState = 4 - // TapiCommon_LifecycleState_PENDING_REMOVAL corresponds to the value PENDING_REMOVAL of TapiCommon_LifecycleState - TapiCommon_LifecycleState_PENDING_REMOVAL E_TapiCommon_LifecycleState = 5 + // TapiPathComputation_LayerProtocolName_UNSET corresponds to the value UNSET of TapiPathComputation_LayerProtocolName + TapiPathComputation_LayerProtocolName_UNSET E_TapiPathComputation_LayerProtocolName = 0 + // TapiPathComputation_LayerProtocolName_ODU corresponds to the value ODU of TapiPathComputation_LayerProtocolName + TapiPathComputation_LayerProtocolName_ODU E_TapiPathComputation_LayerProtocolName = 1 + // TapiPathComputation_LayerProtocolName_ETH corresponds to the value ETH of TapiPathComputation_LayerProtocolName + TapiPathComputation_LayerProtocolName_ETH E_TapiPathComputation_LayerProtocolName = 2 + // TapiPathComputation_LayerProtocolName_DSR corresponds to the value DSR of TapiPathComputation_LayerProtocolName + TapiPathComputation_LayerProtocolName_DSR E_TapiPathComputation_LayerProtocolName = 3 + // TapiPathComputation_LayerProtocolName_PHOTONIC_MEDIA corresponds to the value PHOTONIC_MEDIA of TapiPathComputation_LayerProtocolName + TapiPathComputation_LayerProtocolName_PHOTONIC_MEDIA E_TapiPathComputation_LayerProtocolName = 4 ) -// E_TapiCommon_OperationalState is a derived int64 type which is used to represent -// the enumerated node TapiCommon_OperationalState. An additional value named -// TapiCommon_OperationalState_UNSET is added to the enumeration which is used as +// E_TapiPathComputation_LayerProtocolQualifier is a derived int64 type which is used to represent +// the enumerated node TapiPathComputation_LayerProtocolQualifier. An additional value named +// TapiPathComputation_LayerProtocolQualifier_UNSET is added to the enumeration which is used as // the nil value, indicating that the enumeration was not explicitly set by // the program importing the generated structures. -type E_TapiCommon_OperationalState int64 +type E_TapiPathComputation_LayerProtocolQualifier int64 -// IsYANGGoEnum ensures that TapiCommon_OperationalState implements the yang.GoEnum -// interface. This ensures that TapiCommon_OperationalState can be identified as a +// IsYANGGoEnum ensures that TapiPathComputation_LayerProtocolQualifier implements the yang.GoEnum +// interface. This ensures that TapiPathComputation_LayerProtocolQualifier can be identified as a // mapped type for a YANG enumeration. -func (E_TapiCommon_OperationalState) IsYANGGoEnum() {} +func (E_TapiPathComputation_LayerProtocolQualifier) IsYANGGoEnum() {} -// ΛMap returns the value lookup map associated with TapiCommon_OperationalState. -func (E_TapiCommon_OperationalState) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } +// ΛMap returns the value lookup map associated with TapiPathComputation_LayerProtocolQualifier. +func (E_TapiPathComputation_LayerProtocolQualifier) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } -// String returns a logging-friendly string for E_TapiCommon_OperationalState. -func (e E_TapiCommon_OperationalState) String() string { - return ygot.EnumLogString(e, int64(e), "E_TapiCommon_OperationalState") +// String returns a logging-friendly string for E_TapiPathComputation_LayerProtocolQualifier. +func (e E_TapiPathComputation_LayerProtocolQualifier) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiPathComputation_LayerProtocolQualifier") } const ( - // TapiCommon_OperationalState_UNSET corresponds to the value UNSET of TapiCommon_OperationalState - TapiCommon_OperationalState_UNSET E_TapiCommon_OperationalState = 0 - // TapiCommon_OperationalState_DISABLED corresponds to the value DISABLED of TapiCommon_OperationalState - TapiCommon_OperationalState_DISABLED E_TapiCommon_OperationalState = 1 - // TapiCommon_OperationalState_ENABLED corresponds to the value ENABLED of TapiCommon_OperationalState - TapiCommon_OperationalState_ENABLED E_TapiCommon_OperationalState = 2 + // TapiPathComputation_LayerProtocolQualifier_UNSET corresponds to the value UNSET of TapiPathComputation_LayerProtocolQualifier + TapiPathComputation_LayerProtocolQualifier_UNSET E_TapiPathComputation_LayerProtocolQualifier = 0 + // TapiPathComputation_LayerProtocolQualifier_LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED corresponds to the value LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED of TapiPathComputation_LayerProtocolQualifier + TapiPathComputation_LayerProtocolQualifier_LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED E_TapiPathComputation_LayerProtocolQualifier = 1 ) -// E_TapiCommon_PortDirection is a derived int64 type which is used to represent -// the enumerated node TapiCommon_PortDirection. An additional value named -// TapiCommon_PortDirection_UNSET is added to the enumeration which is used as +// E_TapiPathComputation_PortDirection is a derived int64 type which is used to represent +// the enumerated node TapiPathComputation_PortDirection. An additional value named +// TapiPathComputation_PortDirection_UNSET is added to the enumeration which is used as // the nil value, indicating that the enumeration was not explicitly set by // the program importing the generated structures. -type E_TapiCommon_PortDirection int64 +type E_TapiPathComputation_PortDirection int64 -// IsYANGGoEnum ensures that TapiCommon_PortDirection implements the yang.GoEnum -// interface. This ensures that TapiCommon_PortDirection can be identified as a +// IsYANGGoEnum ensures that TapiPathComputation_PortDirection implements the yang.GoEnum +// interface. This ensures that TapiPathComputation_PortDirection can be identified as a // mapped type for a YANG enumeration. -func (E_TapiCommon_PortDirection) IsYANGGoEnum() {} +func (E_TapiPathComputation_PortDirection) IsYANGGoEnum() {} -// ΛMap returns the value lookup map associated with TapiCommon_PortDirection. -func (E_TapiCommon_PortDirection) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } +// ΛMap returns the value lookup map associated with TapiPathComputation_PortDirection. +func (E_TapiPathComputation_PortDirection) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } -// String returns a logging-friendly string for E_TapiCommon_PortDirection. -func (e E_TapiCommon_PortDirection) String() string { - return ygot.EnumLogString(e, int64(e), "E_TapiCommon_PortDirection") +// String returns a logging-friendly string for E_TapiPathComputation_PortDirection. +func (e E_TapiPathComputation_PortDirection) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiPathComputation_PortDirection") } const ( - // TapiCommon_PortDirection_UNSET corresponds to the value UNSET of TapiCommon_PortDirection - TapiCommon_PortDirection_UNSET E_TapiCommon_PortDirection = 0 - // TapiCommon_PortDirection_BIDIRECTIONAL corresponds to the value BIDIRECTIONAL of TapiCommon_PortDirection - TapiCommon_PortDirection_BIDIRECTIONAL E_TapiCommon_PortDirection = 1 - // TapiCommon_PortDirection_INPUT corresponds to the value INPUT of TapiCommon_PortDirection - TapiCommon_PortDirection_INPUT E_TapiCommon_PortDirection = 2 - // TapiCommon_PortDirection_OUTPUT corresponds to the value OUTPUT of TapiCommon_PortDirection - TapiCommon_PortDirection_OUTPUT E_TapiCommon_PortDirection = 3 - // TapiCommon_PortDirection_UNIDENTIFIED_OR_UNKNOWN corresponds to the value UNIDENTIFIED_OR_UNKNOWN of TapiCommon_PortDirection - TapiCommon_PortDirection_UNIDENTIFIED_OR_UNKNOWN E_TapiCommon_PortDirection = 4 + // TapiPathComputation_PortDirection_UNSET corresponds to the value UNSET of TapiPathComputation_PortDirection + TapiPathComputation_PortDirection_UNSET E_TapiPathComputation_PortDirection = 0 + // TapiPathComputation_PortDirection_BIDIRECTIONAL corresponds to the value BIDIRECTIONAL of TapiPathComputation_PortDirection + TapiPathComputation_PortDirection_BIDIRECTIONAL E_TapiPathComputation_PortDirection = 1 + // TapiPathComputation_PortDirection_INPUT corresponds to the value INPUT of TapiPathComputation_PortDirection + TapiPathComputation_PortDirection_INPUT E_TapiPathComputation_PortDirection = 2 + // TapiPathComputation_PortDirection_OUTPUT corresponds to the value OUTPUT of TapiPathComputation_PortDirection + TapiPathComputation_PortDirection_OUTPUT E_TapiPathComputation_PortDirection = 3 + // TapiPathComputation_PortDirection_UNIDENTIFIED_OR_UNKNOWN corresponds to the value UNIDENTIFIED_OR_UNKNOWN of TapiPathComputation_PortDirection + TapiPathComputation_PortDirection_UNIDENTIFIED_OR_UNKNOWN E_TapiPathComputation_PortDirection = 4 ) -// E_TapiCommon_TerminationDirection is a derived int64 type which is used to represent -// the enumerated node TapiCommon_TerminationDirection. An additional value named -// TapiCommon_TerminationDirection_UNSET is added to the enumeration which is used as +// E_TapiPathComputation_PortRole is a derived int64 type which is used to represent +// the enumerated node TapiPathComputation_PortRole. An additional value named +// TapiPathComputation_PortRole_UNSET is added to the enumeration which is used as // the nil value, indicating that the enumeration was not explicitly set by // the program importing the generated structures. -type E_TapiCommon_TerminationDirection int64 +type E_TapiPathComputation_PortRole int64 -// IsYANGGoEnum ensures that TapiCommon_TerminationDirection implements the yang.GoEnum -// interface. This ensures that TapiCommon_TerminationDirection can be identified as a +// IsYANGGoEnum ensures that TapiPathComputation_PortRole implements the yang.GoEnum +// interface. This ensures that TapiPathComputation_PortRole can be identified as a // mapped type for a YANG enumeration. -func (E_TapiCommon_TerminationDirection) IsYANGGoEnum() {} +func (E_TapiPathComputation_PortRole) IsYANGGoEnum() {} -// ΛMap returns the value lookup map associated with TapiCommon_TerminationDirection. -func (E_TapiCommon_TerminationDirection) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } +// ΛMap returns the value lookup map associated with TapiPathComputation_PortRole. +func (E_TapiPathComputation_PortRole) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } -// String returns a logging-friendly string for E_TapiCommon_TerminationDirection. -func (e E_TapiCommon_TerminationDirection) String() string { - return ygot.EnumLogString(e, int64(e), "E_TapiCommon_TerminationDirection") +// String returns a logging-friendly string for E_TapiPathComputation_PortRole. +func (e E_TapiPathComputation_PortRole) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiPathComputation_PortRole") } const ( - // TapiCommon_TerminationDirection_UNSET corresponds to the value UNSET of TapiCommon_TerminationDirection - TapiCommon_TerminationDirection_UNSET E_TapiCommon_TerminationDirection = 0 - // TapiCommon_TerminationDirection_BIDIRECTIONAL corresponds to the value BIDIRECTIONAL of TapiCommon_TerminationDirection - TapiCommon_TerminationDirection_BIDIRECTIONAL E_TapiCommon_TerminationDirection = 1 - // TapiCommon_TerminationDirection_SINK corresponds to the value SINK of TapiCommon_TerminationDirection - TapiCommon_TerminationDirection_SINK E_TapiCommon_TerminationDirection = 2 - // TapiCommon_TerminationDirection_SOURCE corresponds to the value SOURCE of TapiCommon_TerminationDirection - TapiCommon_TerminationDirection_SOURCE E_TapiCommon_TerminationDirection = 3 - // TapiCommon_TerminationDirection_UNDEFINED_OR_UNKNOWN corresponds to the value UNDEFINED_OR_UNKNOWN of TapiCommon_TerminationDirection - TapiCommon_TerminationDirection_UNDEFINED_OR_UNKNOWN E_TapiCommon_TerminationDirection = 4 + // TapiPathComputation_PortRole_UNSET corresponds to the value UNSET of TapiPathComputation_PortRole + TapiPathComputation_PortRole_UNSET E_TapiPathComputation_PortRole = 0 + // TapiPathComputation_PortRole_SYMMETRIC corresponds to the value SYMMETRIC of TapiPathComputation_PortRole + TapiPathComputation_PortRole_SYMMETRIC E_TapiPathComputation_PortRole = 1 + // TapiPathComputation_PortRole_ROOT corresponds to the value ROOT of TapiPathComputation_PortRole + TapiPathComputation_PortRole_ROOT E_TapiPathComputation_PortRole = 2 + // TapiPathComputation_PortRole_LEAF corresponds to the value LEAF of TapiPathComputation_PortRole + TapiPathComputation_PortRole_LEAF E_TapiPathComputation_PortRole = 3 + // TapiPathComputation_PortRole_TRUNK corresponds to the value TRUNK of TapiPathComputation_PortRole + TapiPathComputation_PortRole_TRUNK E_TapiPathComputation_PortRole = 4 + // TapiPathComputation_PortRole_UNKNOWN corresponds to the value UNKNOWN of TapiPathComputation_PortRole + TapiPathComputation_PortRole_UNKNOWN E_TapiPathComputation_PortRole = 5 ) -// E_TapiCommon_TerminationState is a derived int64 type which is used to represent -// the enumerated node TapiCommon_TerminationState. An additional value named -// TapiCommon_TerminationState_UNSET is added to the enumeration which is used as +// E_TapiPathComputation_RouteObjectiveFunction is a derived int64 type which is used to represent +// the enumerated node TapiPathComputation_RouteObjectiveFunction. An additional value named +// TapiPathComputation_RouteObjectiveFunction_UNSET is added to the enumeration which is used as // the nil value, indicating that the enumeration was not explicitly set by // the program importing the generated structures. -type E_TapiCommon_TerminationState int64 +type E_TapiPathComputation_RouteObjectiveFunction int64 -// IsYANGGoEnum ensures that TapiCommon_TerminationState implements the yang.GoEnum -// interface. This ensures that TapiCommon_TerminationState can be identified as a +// IsYANGGoEnum ensures that TapiPathComputation_RouteObjectiveFunction implements the yang.GoEnum +// interface. This ensures that TapiPathComputation_RouteObjectiveFunction can be identified as a // mapped type for a YANG enumeration. -func (E_TapiCommon_TerminationState) IsYANGGoEnum() {} +func (E_TapiPathComputation_RouteObjectiveFunction) IsYANGGoEnum() {} -// ΛMap returns the value lookup map associated with TapiCommon_TerminationState. -func (E_TapiCommon_TerminationState) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } +// ΛMap returns the value lookup map associated with TapiPathComputation_RouteObjectiveFunction. +func (E_TapiPathComputation_RouteObjectiveFunction) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum; } -// String returns a logging-friendly string for E_TapiCommon_TerminationState. -func (e E_TapiCommon_TerminationState) String() string { - return ygot.EnumLogString(e, int64(e), "E_TapiCommon_TerminationState") +// String returns a logging-friendly string for E_TapiPathComputation_RouteObjectiveFunction. +func (e E_TapiPathComputation_RouteObjectiveFunction) String() string { + return ygot.EnumLogString(e, int64(e), "E_TapiPathComputation_RouteObjectiveFunction") } const ( - // TapiCommon_TerminationState_UNSET corresponds to the value UNSET of TapiCommon_TerminationState - TapiCommon_TerminationState_UNSET E_TapiCommon_TerminationState = 0 - // TapiCommon_TerminationState_LP_CAN_NEVER_TERMINATE corresponds to the value LP_CAN_NEVER_TERMINATE of TapiCommon_TerminationState - TapiCommon_TerminationState_LP_CAN_NEVER_TERMINATE E_TapiCommon_TerminationState = 1 - // TapiCommon_TerminationState_LT_NOT_TERMINATED corresponds to the value LT_NOT_TERMINATED of TapiCommon_TerminationState - TapiCommon_TerminationState_LT_NOT_TERMINATED E_TapiCommon_TerminationState = 2 - // TapiCommon_TerminationState_TERMINATED_SERVER_TO_CLIENT_FLOW corresponds to the value TERMINATED_SERVER_TO_CLIENT_FLOW of TapiCommon_TerminationState - TapiCommon_TerminationState_TERMINATED_SERVER_TO_CLIENT_FLOW E_TapiCommon_TerminationState = 3 - // TapiCommon_TerminationState_TERMINATED_CLIENT_TO_SERVER_FLOW corresponds to the value TERMINATED_CLIENT_TO_SERVER_FLOW of TapiCommon_TerminationState - TapiCommon_TerminationState_TERMINATED_CLIENT_TO_SERVER_FLOW E_TapiCommon_TerminationState = 4 - // TapiCommon_TerminationState_TERMINATED_BIDIRECTIONAL corresponds to the value TERMINATED_BIDIRECTIONAL of TapiCommon_TerminationState - TapiCommon_TerminationState_TERMINATED_BIDIRECTIONAL E_TapiCommon_TerminationState = 5 - // TapiCommon_TerminationState_LT_PERMENANTLY_TERMINATED corresponds to the value LT_PERMENANTLY_TERMINATED of TapiCommon_TerminationState - TapiCommon_TerminationState_LT_PERMENANTLY_TERMINATED E_TapiCommon_TerminationState = 6 - // TapiCommon_TerminationState_TERMINATION_STATE_UNKNOWN corresponds to the value TERMINATION_STATE_UNKNOWN of TapiCommon_TerminationState - TapiCommon_TerminationState_TERMINATION_STATE_UNKNOWN E_TapiCommon_TerminationState = 7 + // TapiPathComputation_RouteObjectiveFunction_UNSET corresponds to the value UNSET of TapiPathComputation_RouteObjectiveFunction + TapiPathComputation_RouteObjectiveFunction_UNSET E_TapiPathComputation_RouteObjectiveFunction = 0 + // TapiPathComputation_RouteObjectiveFunction_MIN_WORK_ROUTE_HOP corresponds to the value MIN_WORK_ROUTE_HOP of TapiPathComputation_RouteObjectiveFunction + TapiPathComputation_RouteObjectiveFunction_MIN_WORK_ROUTE_HOP E_TapiPathComputation_RouteObjectiveFunction = 1 + // TapiPathComputation_RouteObjectiveFunction_MIN_WORK_ROUTE_COST corresponds to the value MIN_WORK_ROUTE_COST of TapiPathComputation_RouteObjectiveFunction + TapiPathComputation_RouteObjectiveFunction_MIN_WORK_ROUTE_COST E_TapiPathComputation_RouteObjectiveFunction = 2 + // TapiPathComputation_RouteObjectiveFunction_MIN_WORK_ROUTE_LATENCY corresponds to the value MIN_WORK_ROUTE_LATENCY of TapiPathComputation_RouteObjectiveFunction + TapiPathComputation_RouteObjectiveFunction_MIN_WORK_ROUTE_LATENCY E_TapiPathComputation_RouteObjectiveFunction = 3 + // TapiPathComputation_RouteObjectiveFunction_MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_HOP corresponds to the value MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_HOP of TapiPathComputation_RouteObjectiveFunction + TapiPathComputation_RouteObjectiveFunction_MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_HOP E_TapiPathComputation_RouteObjectiveFunction = 4 + // TapiPathComputation_RouteObjectiveFunction_MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_COST corresponds to the value MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_COST of TapiPathComputation_RouteObjectiveFunction + TapiPathComputation_RouteObjectiveFunction_MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_COST E_TapiPathComputation_RouteObjectiveFunction = 5 + // TapiPathComputation_RouteObjectiveFunction_MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_LATENCY corresponds to the value MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_LATENCY of TapiPathComputation_RouteObjectiveFunction + TapiPathComputation_RouteObjectiveFunction_MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_LATENCY E_TapiPathComputation_RouteObjectiveFunction = 6 + // TapiPathComputation_RouteObjectiveFunction_LOAD_BALANCE_MAX_UNUSED_CAPACITY corresponds to the value LOAD_BALANCE_MAX_UNUSED_CAPACITY of TapiPathComputation_RouteObjectiveFunction + TapiPathComputation_RouteObjectiveFunction_LOAD_BALANCE_MAX_UNUSED_CAPACITY E_TapiPathComputation_RouteObjectiveFunction = 7 ) @@ -4587,6 +10774,138 @@ var ΛEnum = map[string]map[int64]ygot.EnumDefinition{ 6: {Name: "LT_PERMENANTLY_TERMINATED"}, 7: {Name: "TERMINATION_STATE_UNKNOWN"}, }, + "E_TapiConnectivity_CoordinateType": { + 1: {Name: "NO_COORDINATE"}, + 2: {Name: "HOLD_OFF_TIME"}, + 3: {Name: "WAIT_FOR_NOTIFICATION"}, + }, + "E_TapiConnectivity_FaultConditionDetermination": { + 1: {Name: "FAULT_CONDITION_DETERMINATION_INHERENT", DefiningModule: "tapi-connectivity"}, + 2: {Name: "FAULT_CONDITION_DETERMINATION_NON_INTRUSIVE", DefiningModule: "tapi-connectivity"}, + 3: {Name: "FAULT_CONDITION_DETERMINATION_SUBLAYER", DefiningModule: "tapi-connectivity"}, + 4: {Name: "FAULT_CONDITION_DETERMINATION_TEST", DefiningModule: "tapi-connectivity"}, + }, + "E_TapiConnectivity_ForwardingDirection": { + 1: {Name: "BIDIRECTIONAL"}, + 2: {Name: "UNIDIRECTIONAL"}, + 3: {Name: "UNDEFINED_OR_UNKNOWN"}, + }, + "E_TapiConnectivity_LayerProtocolName": { + 1: {Name: "ODU"}, + 2: {Name: "ETH"}, + 3: {Name: "DSR"}, + 4: {Name: "PHOTONIC_MEDIA"}, + }, + "E_TapiConnectivity_LayerProtocolQualifier": { + 1: {Name: "LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED", DefiningModule: "tapi-common"}, + }, + "E_TapiConnectivity_PortDirection": { + 1: {Name: "BIDIRECTIONAL"}, + 2: {Name: "INPUT"}, + 3: {Name: "OUTPUT"}, + 4: {Name: "UNIDENTIFIED_OR_UNKNOWN"}, + }, + "E_TapiConnectivity_PortRole": { + 1: {Name: "SYMMETRIC"}, + 2: {Name: "ROOT"}, + 3: {Name: "LEAF"}, + 4: {Name: "TRUNK"}, + 5: {Name: "UNKNOWN"}, + }, + "E_TapiConnectivity_ProtectionRole": { + 1: {Name: "WORK"}, + 2: {Name: "PROTECT"}, + 3: {Name: "PROTECTED"}, + 4: {Name: "NA"}, + 5: {Name: "WORK_RESTORE"}, + 6: {Name: "PROTECT_RESTORE"}, + }, + "E_TapiConnectivity_ReversionMode": { + 1: {Name: "REVERTIVE"}, + 2: {Name: "NON-REVERTIVE"}, + }, + "E_TapiConnectivity_RouteState": { + 1: {Name: "ROUTE_STATE_CURRENT", DefiningModule: "tapi-connectivity"}, + 2: {Name: "ROUTE_STATE_NOT_CURRENT", DefiningModule: "tapi-connectivity"}, + 3: {Name: "ROUTE_STATE_UNKNOWN", DefiningModule: "tapi-connectivity"}, + }, + "E_TapiConnectivity_SelectionControl": { + 1: {Name: "LOCK_OUT"}, + 2: {Name: "NORMAL"}, + 3: {Name: "MANUAL"}, + 4: {Name: "FORCED"}, + }, + "E_TapiConnectivity_SelectionReason": { + 1: {Name: "LOCKOUT"}, + 2: {Name: "NORMAL"}, + 3: {Name: "MANUAL"}, + 4: {Name: "FORCED"}, + 5: {Name: "WAIT_TO_REVERT"}, + 6: {Name: "SIGNAL_DEGRADE"}, + 7: {Name: "SIGNAL_FAIL"}, + }, + "E_TapiConnectivity_ServiceType": { + 1: {Name: "POINT_TO_POINT_CONNECTIVITY"}, + 2: {Name: "POINT_TO_MULTIPOINT_CONNECTIVITY"}, + 3: {Name: "MULTIPOINT_CONNECTIVITY"}, + 4: {Name: "ROOTED_MULTIPOINT_CONNECTIVITY"}, + }, + "E_TapiPathComputation_DirectiveValue": { + 1: {Name: "MINIMIZE"}, + 2: {Name: "MAXIMIZE"}, + 3: {Name: "ALLOW"}, + 4: {Name: "DISALLOW"}, + 5: {Name: "DONT_CARE"}, + }, + "E_TapiPathComputation_DiversityPolicy": { + 1: {Name: "SRLG"}, + 2: {Name: "SRNG"}, + 3: {Name: "SNG"}, + 4: {Name: "NODE"}, + 5: {Name: "LINK"}, + }, + "E_TapiPathComputation_ForwardingDirection": { + 1: {Name: "BIDIRECTIONAL"}, + 2: {Name: "UNIDIRECTIONAL"}, + 3: {Name: "UNDEFINED_OR_UNKNOWN"}, + }, + "E_TapiPathComputation_GradesOfImpact": { + 1: {Name: "GRADES_OF_IMPACT_HITLESS", DefiningModule: "tapi-path-computation"}, + 2: {Name: "GRADES_OF_IMPACT_LONG_IMPACT", DefiningModule: "tapi-path-computation"}, + 3: {Name: "GRADES_OF_IMPACT_MAJOR_IMPACT", DefiningModule: "tapi-path-computation"}, + 4: {Name: "GRADES_OF_IMPACT_MINOR_IMPACT", DefiningModule: "tapi-path-computation"}, + }, + "E_TapiPathComputation_LayerProtocolName": { + 1: {Name: "ODU"}, + 2: {Name: "ETH"}, + 3: {Name: "DSR"}, + 4: {Name: "PHOTONIC_MEDIA"}, + }, + "E_TapiPathComputation_LayerProtocolQualifier": { + 1: {Name: "LAYER_PROTOCOL_QUALIFIER_UNSPECIFIED", DefiningModule: "tapi-common"}, + }, + "E_TapiPathComputation_PortDirection": { + 1: {Name: "BIDIRECTIONAL"}, + 2: {Name: "INPUT"}, + 3: {Name: "OUTPUT"}, + 4: {Name: "UNIDENTIFIED_OR_UNKNOWN"}, + }, + "E_TapiPathComputation_PortRole": { + 1: {Name: "SYMMETRIC"}, + 2: {Name: "ROOT"}, + 3: {Name: "LEAF"}, + 4: {Name: "TRUNK"}, + 5: {Name: "UNKNOWN"}, + }, + "E_TapiPathComputation_RouteObjectiveFunction": { + 1: {Name: "MIN_WORK_ROUTE_HOP"}, + 2: {Name: "MIN_WORK_ROUTE_COST"}, + 3: {Name: "MIN_WORK_ROUTE_LATENCY"}, + 4: {Name: "MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_HOP"}, + 5: {Name: "MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_COST"}, + 6: {Name: "MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_LATENCY"}, + 7: {Name: "LOAD_BALANCE_MAX_UNUSED_CAPACITY"}, + }, "E_TapiTopology_ForwardingDirection": { 1: {Name: "BIDIRECTIONAL"}, 2: {Name: "UNIDIRECTIONAL"}, @@ -4670,784 +10989,1914 @@ var ( // contents of a goyang yang.Entry struct, which defines the schema for the // fields within the struct. ySchema = []byte{ - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x5f, 0x73, 0xda, 0xc8, - 0xf2, 0xf6, 0xbd, 0x3f, 0x85, 0xca, 0xd7, 0x51, 0xc5, 0x64, 0x9d, 0xd8, 0x9b, 0x3b, 0xaf, 0x43, - 0xce, 0xeb, 0xfa, 0x79, 0x6d, 0x0e, 0x76, 0x52, 0x95, 0xda, 0x72, 0x51, 0x8a, 0x18, 0xc8, 0x6c, - 0x64, 0x49, 0x2b, 0x84, 0x13, 0xef, 0xa9, 0x7c, 0xf7, 0xb7, 0x10, 0x20, 0x83, 0x24, 0x40, 0x9a, - 0xe9, 0x96, 0x46, 0xf0, 0xe4, 0x2a, 0x21, 0xd0, 0x1a, 0xcd, 0x74, 0x3f, 0xfd, 0x77, 0xba, 0xff, - 0x77, 0x64, 0x59, 0x96, 0x75, 0x7c, 0xe3, 0x3c, 0x8a, 0xe3, 0xf7, 0xd6, 0xf1, 0x50, 0x3c, 0x49, - 0x57, 0x1c, 0xbf, 0x9a, 0x7f, 0xfa, 0x7f, 0xd2, 0x1f, 0x1e, 0xbf, 0xb7, 0x3a, 0x8b, 0x7f, 0x5e, - 0x06, 0xfe, 0x48, 0x8e, 0x8f, 0xdf, 0x5b, 0x27, 0x8b, 0x0f, 0x3e, 0xc8, 0xe8, 0xf8, 0xbd, 0x35, - 0x27, 0x91, 0x7c, 0xe0, 0x06, 0x7e, 0x2c, 0x7e, 0xc6, 0x6b, 0x1f, 0xae, 0xd1, 0x5f, 0x7e, 0xe1, - 0xd5, 0xfa, 0x7f, 0xaf, 0x3f, 0x28, 0xfd, 0x38, 0xfb, 0xc0, 0xf4, 0x3f, 0x7a, 0x91, 0x18, 0xc9, - 0x9f, 0xb9, 0xc7, 0xac, 0x3d, 0x2a, 0x76, 0x42, 0x69, 0xbb, 0xc1, 0xe3, 0x63, 0xe0, 0x67, 0x1e, - 0x97, 0x7c, 0xed, 0x2e, 0x98, 0x46, 0xae, 0x28, 0x24, 0x31, 0x5f, 0x92, 0x78, 0xfe, 0x11, 0x44, - 0xb3, 0x55, 0x1d, 0x87, 0xf3, 0xa7, 0xbd, 0x2a, 0xfe, 0xe2, 0xff, 0x73, 0x26, 0x17, 0xd1, 0x78, - 0xfa, 0x28, 0xfc, 0xd9, 0x7b, 0xc7, 0xd1, 0x54, 0x6c, 0xf8, 0xe2, 0xca, 0xb7, 0xd6, 0x16, 0x97, - 0xfb, 0xf6, 0xaf, 0xb5, 0x4f, 0x7e, 0x65, 0xde, 0x3d, 0xbb, 0xe9, 0xe9, 0x7f, 0xf8, 0xf3, 0x17, - 0xdf, 0xf0, 0x3e, 0xcb, 0x6d, 0x49, 0xbe, 0xb5, 0x61, 0x85, 0xc5, 0xc7, 0xb0, 0xf3, 0x38, 0xca, - 0x1c, 0x4b, 0xc5, 0xe3, 0x29, 0x7b, 0x4c, 0x95, 0x8f, 0xab, 0xf2, 0xb1, 0x55, 0x3f, 0xbe, 0xe2, - 0x63, 0xdc, 0x70, 0x9c, 0x3b, 0x8f, 0x35, 0xfd, 0xc2, 0x93, 0xe3, 0x4d, 0x4b, 0x6c, 0xc4, 0x72, - 0x7f, 0xe7, 0x5f, 0xdf, 0xf1, 0x4e, 0x8b, 0x03, 0x3f, 0xd9, 0xf1, 0xb5, 0x5d, 0x07, 0x5f, 0x85, - 0x01, 0x14, 0x19, 0xa1, 0x2a, 0x43, 0x28, 0x33, 0x86, 0x32, 0x83, 0xa8, 0x33, 0xca, 0x76, 0x86, - 0xd9, 0xc1, 0x38, 0xe9, 0x63, 0xef, 0x9f, 0x43, 0x51, 0x6d, 0xe7, 0x27, 0x71, 0x24, 0xfd, 0x71, - 0x99, 0x4d, 0x5f, 0x02, 0xc3, 0xf9, 0x91, 0xda, 0xfa, 0xb7, 0xac, 0x7d, 0xce, 0xa8, 0xf6, 0x56, - 0xf0, 0x2a, 0x66, 0x6e, 0x7b, 0x0b, 0x94, 0x81, 0xc3, 0xc1, 0xe1, 0xf5, 0x72, 0x78, 0x25, 0xb0, - 0xff, 0x3f, 0xf1, 0x5c, 0x8a, 0x8d, 0x8f, 0xaf, 0xe5, 0x24, 0xbe, 0x88, 0xe3, 0x1d, 0xaa, 0xe1, - 0x4f, 0xe9, 0x77, 0x3d, 0x31, 0x3b, 0x91, 0xc9, 0xf1, 0x7b, 0xcb, 0x9f, 0x7a, 0xde, 0x16, 0x79, - 0xfb, 0xd3, 0xf9, 0x59, 0xfe, 0xcb, 0xb7, 0xd1, 0x50, 0x44, 0x62, 0xf8, 0xc7, 0xf3, 0xe2, 0xab, - 0x95, 0xde, 0xf2, 0xc2, 0xf7, 0x83, 0xd8, 0x89, 0x65, 0xe0, 0x6f, 0x5f, 0xfe, 0xc4, 0xfd, 0x26, - 0x1e, 0x9d, 0xd0, 0x89, 0xbf, 0xcd, 0x36, 0xe5, 0xf5, 0x0a, 0x47, 0xbd, 0x5e, 0xd8, 0x8b, 0xaf, - 0x77, 0x88, 0xfa, 0xec, 0xa0, 0xa7, 0x6e, 0xbc, 0x00, 0x91, 0xe3, 0x7b, 0x27, 0x94, 0x97, 0x09, - 0x81, 0xc1, 0xe5, 0x9c, 0xc0, 0x20, 0xe1, 0x88, 0xa3, 0x72, 0x27, 0x57, 0xf0, 0x3e, 0xc7, 0x13, - 0x11, 0xcd, 0x2c, 0x63, 0x5b, 0xfa, 0xb1, 0x88, 0x46, 0x8e, 0x2b, 0xec, 0x30, 0x90, 0x7e, 0xbc, - 0xdb, 0xde, 0xda, 0xf4, 0x43, 0x98, 0x60, 0xed, 0x33, 0xc1, 0x9c, 0xe1, 0xa3, 0xf4, 0xe5, 0x24, - 0x8e, 0x9c, 0x58, 0x3e, 0x09, 0x7b, 0x12, 0x3b, 0x71, 0x05, 0xa5, 0x55, 0xf8, 0x6b, 0xa8, 0x2f, - 0xa8, 0x2f, 0x4a, 0x8e, 0x59, 0x03, 0x91, 0xd3, 0x12, 0xdf, 0xed, 0xfa, 0xd3, 0xc7, 0xd9, 0xaa, - 0x7e, 0x31, 0x98, 0x76, 0xce, 0x93, 0x23, 0x3d, 0xe7, 0xab, 0x27, 0x6c, 0xd7, 0x09, 0x1d, 0x57, - 0xc6, 0xcf, 0x15, 0xa4, 0x25, 0xff, 0xdb, 0x72, 0xb2, 0xd2, 0x29, 0x2b, 0x2b, 0x6f, 0x20, 0x2b, - 0xc6, 0xca, 0xca, 0x2e, 0x28, 0x4e, 0xbf, 0x18, 0x07, 0xb1, 0xe3, 0xd9, 0x13, 0xf9, 0x6f, 0x85, - 0x5d, 0x4c, 0x0f, 0xeb, 0xe5, 0xb7, 0x25, 0x77, 0xa3, 0x1c, 0x8b, 0x55, 0x86, 0x65, 0x15, 0x96, - 0xd3, 0x64, 0x3d, 0x55, 0x16, 0xd4, 0x66, 0x45, 0x6d, 0x96, 0xd4, 0x67, 0xcd, 0x72, 0x2c, 0x5a, - 0x92, 0x55, 0x2b, 0xb3, 0x6c, 0xfa, 0x83, 0xa9, 0x2f, 0xe3, 0xea, 0xfb, 0xbe, 0x3c, 0xee, 0xe4, - 0xd7, 0x15, 0x77, 0xac, 0x9c, 0x35, 0xa1, 0xcd, 0xc6, 0x3a, 0xec, 0x4c, 0xc4, 0xd6, 0xba, 0xec, - 0x4d, 0xc6, 0xe6, 0x64, 0xec, 0x4e, 0xc7, 0xf6, 0xd5, 0xd8, 0xbf, 0xa2, 0x18, 0x54, 0xb7, 0x76, - 0x36, 0x9e, 0xfc, 0x52, 0xef, 0xdb, 0x0a, 0xac, 0x5e, 0xd5, 0x0c, 0x52, 0x34, 0x8b, 0xd4, 0xb7, - 0xb4, 0xc2, 0x76, 0x96, 0x8c, 0xfc, 0x6a, 0x45, 0x82, 0x01, 0x15, 0x80, 0x8a, 0x16, 0x43, 0xc5, - 0x54, 0xfa, 0xf1, 0xbb, 0x53, 0x0d, 0x8c, 0x38, 0x57, 0xf8, 0x69, 0xdf, 0xf1, 0xc7, 0xb3, 0xa7, - 0xff, 0xa5, 0x74, 0x38, 0x6a, 0x4c, 0xb6, 0x0c, 0xf7, 0x29, 0x73, 0xa9, 0xa6, 0x80, 0xe7, 0xc8, - 0x7c, 0x5e, 0x60, 0x93, 0x2e, 0x9d, 0x8f, 0x91, 0xe3, 0xc6, 0x32, 0xf0, 0x3f, 0xc8, 0xb1, 0x4c, - 0x02, 0x93, 0x27, 0xca, 0xf4, 0x7e, 0xbd, 0xd2, 0xd8, 0x5a, 0xe7, 0xa7, 0x71, 0x5b, 0xdb, 0x39, - 0x3f, 0x3d, 0x7d, 0x77, 0x76, 0x7a, 0x7a, 0x72, 0xf6, 0xdb, 0xd9, 0xc9, 0xef, 0x6f, 0xdf, 0x76, - 0xde, 0x75, 0xde, 0x1a, 0xb4, 0xdb, 0x47, 0xf5, 0xfc, 0xea, 0x81, 0x4b, 0x11, 0x93, 0x3a, 0x01, - 0x25, 0x43, 0xde, 0x2a, 0x21, 0xf0, 0x0d, 0x81, 0xe4, 0xd7, 0xf9, 0x40, 0xc9, 0xeb, 0xca, 0x8e, - 0x6d, 0xb9, 0x18, 0xfa, 0xdd, 0x7c, 0x05, 0x57, 0xcb, 0x05, 0xf4, 0x66, 0xcf, 0x1f, 0x5c, 0x2c, - 0x9f, 0x7f, 0xb9, 0x78, 0xfc, 0xe0, 0x7e, 0xf6, 0xf8, 0xbb, 0xd9, 0xd3, 0x8f, 0x68, 0x4e, 0x40, - 0x2f, 0x96, 0x50, 0xf1, 0x4c, 0x68, 0xcf, 0xa2, 0x4c, 0x14, 0x88, 0x6a, 0xe3, 0x8f, 0x19, 0x42, - 0x78, 0x43, 0x19, 0x09, 0xb7, 0xd4, 0xde, 0xbd, 0xd4, 0x10, 0xa5, 0x3f, 0x41, 0x70, 0x1b, 0xc1, - 0xed, 0x8d, 0x3b, 0x1f, 0x06, 0x51, 0x6c, 0x97, 0xe5, 0x15, 0xa3, 0xc2, 0xda, 0x9e, 0xf3, 0x2c, - 0x22, 0x3b, 0x8c, 0x82, 0x38, 0x70, 0x03, 0xaf, 0x62, 0xe9, 0x42, 0xd1, 0x8f, 0x89, 0xe5, 0x04, - 0x81, 0xed, 0x7d, 0x92, 0x93, 0xea, 0x0c, 0x63, 0x96, 0xb0, 0xc8, 0x91, 0x70, 0x9f, 0x5d, 0xaf, - 0x72, 0xba, 0x34, 0xfb, 0x43, 0x08, 0x09, 0x84, 0x84, 0x88, 0x59, 0x8c, 0x12, 0x90, 0x6a, 0xea, - 0xa3, 0x82, 0xbe, 0xe8, 0xc0, 0xae, 0x6a, 0xbf, 0x28, 0x94, 0x4e, 0x84, 0x56, 0x0b, 0x12, 0x2b, - 0x05, 0x87, 0x2b, 0x06, 0x36, 0x90, 0xfe, 0xe4, 0x0c, 0xf2, 0x9a, 0x96, 0xfe, 0xac, 0x1c, 0xc4, - 0xad, 0x5e, 0xa4, 0x99, 0x03, 0xb8, 0x73, 0xaa, 0xf8, 0xc2, 0xab, 0x92, 0xf2, 0x55, 0xce, 0xd6, - 0x2f, 0x16, 0xb2, 0xb2, 0x96, 0x1b, 0x24, 0x0d, 0x92, 0xb6, 0xbf, 0x92, 0xa6, 0xa5, 0x0c, 0xcb, - 0x96, 0x4d, 0xa7, 0x3f, 0x28, 0x55, 0x3e, 0xfd, 0x12, 0xfc, 0xaf, 0x50, 0x46, 0xbd, 0x9a, 0x31, - 0xa8, 0xfe, 0xa3, 0x52, 0x65, 0xd5, 0x06, 0xc6, 0x37, 0xcb, 0x3a, 0x9f, 0x8a, 0x11, 0xcd, 0xcd, - 0x45, 0xda, 0x7a, 0x26, 0x76, 0x10, 0x8a, 0x28, 0xd9, 0x20, 0xc7, 0xab, 0xea, 0x85, 0xe6, 0x7f, - 0x0a, 0x3f, 0x14, 0x7e, 0x28, 0x19, 0xbb, 0x18, 0xe5, 0x89, 0x4e, 0xa6, 0x61, 0x18, 0x44, 0xb1, - 0x18, 0xda, 0x99, 0x98, 0xd3, 0x3f, 0x53, 0xc7, 0x93, 0x23, 0x29, 0xa2, 0xf2, 0x72, 0x53, 0x82, - 0x16, 0x04, 0x09, 0x82, 0x54, 0x36, 0xea, 0x59, 0x96, 0x6b, 0xd6, 0xe4, 0xa9, 0x44, 0x96, 0xfc, - 0xf8, 0x6a, 0x28, 0xfc, 0x58, 0xc6, 0xcf, 0x7f, 0x38, 0x13, 0x05, 0xc3, 0xfe, 0xfa, 0xe2, 0x4b, - 0xb7, 0x3f, 0xe8, 0xf5, 0x6f, 0xef, 0x6f, 0x2f, 0x6f, 0xaf, 0x07, 0xff, 0xfd, 0x74, 0x71, 0x7d, - 0xf5, 0xf1, 0xaa, 0xdb, 0x2f, 0x7b, 0x8e, 0x49, 0x8a, 0x7f, 0x52, 0xa9, 0x86, 0x44, 0xb1, 0x08, - 0x6c, 0xd3, 0x4a, 0x07, 0x9f, 0x6e, 0xee, 0x7a, 0xdd, 0xcb, 0xd9, 0xdf, 0x3f, 0x50, 0x1b, 0xb4, - 0x0f, 0xcc, 0x5c, 0xa5, 0x63, 0xdd, 0x55, 0x3c, 0xe8, 0x4e, 0xd9, 0x13, 0x55, 0xf0, 0x72, 0x56, - 0x61, 0xe0, 0x51, 0xfa, 0xb6, 0x58, 0xae, 0xb2, 0x82, 0x9d, 0xae, 0xe3, 0xe3, 0xac, 0x81, 0x42, - 0xe7, 0xb8, 0x46, 0x9f, 0xba, 0x06, 0xdb, 0x59, 0x49, 0x11, 0xce, 0xeb, 0x27, 0xc2, 0x20, 0x9e, - 0x61, 0x83, 0xe3, 0x29, 0xdc, 0x5e, 0xd9, 0x48, 0x01, 0x77, 0x58, 0x10, 0xba, 0x2d, 0x66, 0x37, - 0xdc, 0x61, 0x41, 0x68, 0x09, 0x77, 0x58, 0x88, 0x23, 0xa3, 0xca, 0x6c, 0xac, 0xc3, 0xce, 0x44, - 0x6c, 0xad, 0xcb, 0xde, 0x64, 0x6c, 0x4e, 0xc6, 0xee, 0x74, 0x6c, 0x5f, 0x8d, 0xfd, 0x2b, 0x8a, - 0x81, 0x7a, 0xa4, 0x35, 0x77, 0xf2, 0xb8, 0xc3, 0xb2, 0x58, 0x0b, 0xee, 0xb0, 0x00, 0x2a, 0x00, - 0x15, 0x5b, 0x95, 0x21, 0xee, 0xb0, 0x28, 0xbe, 0x38, 0xee, 0xb0, 0x64, 0xbd, 0x6a, 0xdc, 0x61, - 0x61, 0x84, 0x06, 0xf5, 0x5f, 0xe1, 0x0e, 0xcb, 0x86, 0xbc, 0xe2, 0xa6, 0x70, 0x49, 0xbd, 0x37, - 0x59, 0x92, 0x7b, 0x2b, 0xbd, 0xe5, 0x22, 0x70, 0x9d, 0xe5, 0xb5, 0x62, 0x14, 0x8b, 0xfe, 0x0c, - 0x38, 0x92, 0xc2, 0xd3, 0xa9, 0x1c, 0x96, 0x0f, 0xe8, 0x25, 0xdf, 0xc6, 0x7d, 0x16, 0x64, 0xac, - 0x74, 0x38, 0xc4, 0x6a, 0xac, 0xd3, 0xe0, 0x96, 0xc5, 0xa1, 0xc7, 0xe0, 0x76, 0x14, 0xd4, 0x6a, - 0x3b, 0x58, 0x08, 0x72, 0x3a, 0x7d, 0x08, 0xe3, 0x20, 0x0c, 0xbc, 0x60, 0xfc, 0x6c, 0x6f, 0x6a, - 0xb5, 0x5d, 0x10, 0x21, 0xce, 0xfc, 0xc2, 0x94, 0xce, 0x83, 0xcb, 0x85, 0xb5, 0xb4, 0xf7, 0x60, - 0xba, 0xfc, 0xba, 0xba, 0x0f, 0xfa, 0x3f, 0xd2, 0x67, 0xda, 0x0b, 0x5e, 0xad, 0x70, 0x6f, 0xa0, - 0xe0, 0xc7, 0x6d, 0xc9, 0x45, 0x95, 0x60, 0x94, 0x36, 0x2b, 0xb4, 0xdd, 0x8c, 0x44, 0xa3, 0xd2, - 0x4a, 0xe7, 0xa3, 0xd4, 0x8a, 0x9c, 0x15, 0xca, 0x9b, 0x91, 0x83, 0x42, 0x0e, 0x4a, 0x99, 0x4d, - 0x11, 0x5a, 0x46, 0x68, 0x19, 0xa1, 0xe5, 0x52, 0x27, 0x5f, 0xb9, 0xee, 0xbf, 0xa2, 0xb3, 0xa2, - 0x11, 0xb9, 0xaa, 0x9a, 0x42, 0xaa, 0x76, 0x03, 0xa7, 0x58, 0xd8, 0xab, 0xdc, 0xc4, 0x81, 0xc4, - 0x43, 0xe2, 0x21, 0xf1, 0xc6, 0xc6, 0xaa, 0xab, 0xde, 0x08, 0xaa, 0x16, 0xf4, 0xd0, 0x0a, 0x82, - 0x68, 0x05, 0x45, 0xd4, 0x82, 0x24, 0x06, 0x46, 0xfc, 0xb3, 0xd1, 0x87, 0xd7, 0x05, 0x8e, 0xe8, - 0xeb, 0x8a, 0x78, 0xbc, 0x3b, 0xec, 0x72, 0xbf, 0x78, 0x42, 0x3a, 0xfd, 0xe1, 0xc7, 0xf2, 0x93, - 0x45, 0x40, 0xa6, 0xc4, 0x55, 0xa3, 0x0a, 0xf1, 0xfc, 0x57, 0x65, 0x6a, 0xfc, 0x16, 0x4e, 0x9e, - 0x42, 0x85, 0x5f, 0x69, 0xef, 0x57, 0xcb, 0xb7, 0x7a, 0x53, 0x97, 0x6f, 0x55, 0xf1, 0x85, 0xf6, - 0xcd, 0xbb, 0x2a, 0xef, 0xee, 0x1b, 0xe2, 0x5f, 0xa5, 0xe2, 0x5a, 0x2a, 0x63, 0xb2, 0x3b, 0x0e, - 0x59, 0x32, 0x50, 0xbe, 0x1f, 0xd6, 0x97, 0x02, 0xb3, 0x1f, 0x92, 0xfd, 0x55, 0x5d, 0x18, 0xda, - 0x62, 0x81, 0x79, 0xc2, 0x19, 0x45, 0x62, 0xa4, 0x63, 0x82, 0x9d, 0x29, 0xfc, 0xb6, 0x57, 0xa0, - 0x8c, 0xdf, 0xa7, 0xca, 0x78, 0x75, 0xcb, 0xdf, 0xe7, 0x54, 0x73, 0xf1, 0x7f, 0x67, 0x3e, 0x4e, - 0xa4, 0xb7, 0x4d, 0xb6, 0xa1, 0x0a, 0xee, 0xc0, 0x3c, 0x34, 0xc9, 0x3c, 0x54, 0x31, 0x18, 0x08, - 0x4c, 0xc4, 0xfb, 0x4a, 0xd8, 0x44, 0x63, 0x26, 0x56, 0x52, 0xb1, 0x55, 0x53, 0xcf, 0x16, 0x3a, - 0x8b, 0x20, 0xf4, 0x4e, 0xaa, 0xf5, 0x54, 0x38, 0xd0, 0x32, 0xaf, 0xaf, 0x08, 0x43, 0x49, 0x55, - 0x19, 0x60, 0x23, 0x29, 0xa3, 0xda, 0x89, 0x63, 0xc7, 0x2c, 0x17, 0x24, 0x4b, 0x7a, 0xb3, 0x55, - 0xbd, 0x58, 0x24, 0x9d, 0x59, 0x00, 0xa7, 0x05, 0x49, 0xe7, 0xaf, 0xc1, 0xd4, 0x1f, 0x3a, 0xd1, - 0xb3, 0xed, 0x07, 0x43, 0x61, 0x8b, 0xe1, 0x78, 0xd7, 0x84, 0xcd, 0x8d, 0xc7, 0xb7, 0x91, 0x12, - 0x02, 0x28, 0x08, 0xa0, 0x34, 0x11, 0x40, 0xc9, 0xf0, 0xa1, 0x66, 0x1c, 0xa5, 0x90, 0x1a, 0xc2, - 0x29, 0x08, 0xa7, 0x20, 0x9c, 0xd2, 0xc2, 0x70, 0xca, 0x4c, 0x9a, 0x33, 0x1f, 0x05, 0x3f, 0x7c, - 0x31, 0xcc, 0x2a, 0xaf, 0x3a, 0xa3, 0x30, 0xaf, 0x2a, 0x42, 0x1b, 0x01, 0x9e, 0x01, 0xc4, 0x00, - 0x62, 0x00, 0xb1, 0x3d, 0x02, 0x31, 0x53, 0x00, 0x0a, 0xc9, 0x2b, 0x00, 0x15, 0x80, 0x0a, 0x40, - 0xb5, 0x0f, 0xc9, 0x2b, 0x2b, 0x35, 0x95, 0x2c, 0x0d, 0x27, 0x10, 0xb9, 0x2d, 0x8d, 0xd0, 0xaf, - 0x56, 0x08, 0x38, 0x65, 0x4a, 0xcd, 0x08, 0x95, 0x5a, 0x60, 0x78, 0xf9, 0xef, 0xc1, 0x1f, 0x8b, - 0xa7, 0xdf, 0x04, 0x43, 0xd1, 0x1d, 0x8e, 0xb7, 0xdd, 0x49, 0x53, 0x08, 0xc4, 0x97, 0x08, 0x97, - 0xaa, 0xcc, 0xcf, 0xca, 0x43, 0x94, 0xd2, 0x58, 0x24, 0x4b, 0x27, 0x05, 0x86, 0x00, 0xdf, 0x61, - 0x04, 0xf8, 0xd4, 0xd3, 0x60, 0xea, 0x4c, 0x69, 0x29, 0x36, 0x7b, 0xaa, 0xd8, 0xe4, 0xe9, 0x57, - 0x8d, 0x3a, 0x42, 0xd1, 0xd4, 0xee, 0x54, 0x65, 0x40, 0x0d, 0x4b, 0x93, 0xa0, 0xf5, 0x2a, 0xa9, - 0x9d, 0xa9, 0xd2, 0x8a, 0x95, 0xd7, 0x7f, 0x6a, 0x40, 0x73, 0xd3, 0xe8, 0x18, 0xe9, 0x7f, 0x57, - 0x50, 0x2a, 0xb3, 0x5f, 0x21, 0x4d, 0x04, 0x2d, 0x42, 0x00, 0xa1, 0x95, 0xd3, 0x44, 0xce, 0xf0, - 0x51, 0xfa, 0x72, 0x12, 0x47, 0x4e, 0x2c, 0x9f, 0xca, 0x8e, 0x4b, 0xdc, 0xc8, 0x02, 0x85, 0xd4, - 0x70, 0xe7, 0x09, 0x61, 0x8b, 0xbd, 0xbd, 0xf3, 0x44, 0xc0, 0xf1, 0xd6, 0x3e, 0xb5, 0xdc, 0x2c, - 0x18, 0x46, 0xae, 0x8e, 0x26, 0x2a, 0x83, 0xcd, 0x35, 0xd4, 0xa5, 0xb2, 0xda, 0x04, 0x96, 0x00, - 0x4b, 0x2a, 0xab, 0xde, 0xf4, 0x87, 0x0a, 0x9d, 0xd8, 0x37, 0x33, 0x8f, 0x4a, 0xeb, 0x3a, 0x02, - 0x91, 0xd1, 0x56, 0xc3, 0x14, 0x22, 0x44, 0x2c, 0x4a, 0x54, 0x22, 0x45, 0x2e, 0x5a, 0xe4, 0x22, - 0x46, 0x2f, 0x6a, 0x6a, 0x22, 0xa7, 0x28, 0x7a, 0xda, 0x22, 0x98, 0x12, 0x50, 0xea, 0x2c, 0xbf, - 0x91, 0xfd, 0x14, 0xdb, 0x6f, 0x13, 0x58, 0xc3, 0xe4, 0x62, 0x49, 0x29, 0x9e, 0x4c, 0x62, 0x4a, - 0x2d, 0xae, 0x6c, 0x62, 0xcb, 0x26, 0xbe, 0x7c, 0x62, 0xac, 0x27, 0xce, 0x9a, 0x62, 0xad, 0x6f, - 0xad, 0x6f, 0xe4, 0x3c, 0xdd, 0x4e, 0xf9, 0x94, 0x66, 0x3c, 0x91, 0x59, 0x4f, 0x77, 0x64, 0x3a, - 0xed, 0xa0, 0xd5, 0xda, 0x23, 0x6d, 0x3c, 0x27, 0x95, 0x76, 0x49, 0x80, 0x52, 0x40, 0x29, 0xa0, - 0xb4, 0x36, 0x28, 0x55, 0x9e, 0x24, 0xb0, 0x49, 0x4e, 0xcf, 0x09, 0x48, 0xe9, 0x4d, 0x1a, 0xc8, - 0xfe, 0xa1, 0x11, 0x02, 0x8b, 0x6a, 0x12, 0x01, 0x13, 0xc0, 0xe5, 0xc8, 0x12, 0x4d, 0x2a, 0xc8, - 0xd1, 0x25, 0xec, 0xa5, 0x4f, 0x2c, 0x1e, 0xeb, 0x47, 0xe5, 0xfc, 0x6c, 0xdd, 0x51, 0xd1, 0x4f, - 0x3e, 0xa8, 0xf5, 0xf4, 0x8e, 0xcc, 0xa0, 0xf2, 0xd0, 0x94, 0xe1, 0x55, 0xab, 0xd3, 0xac, 0x58, - 0x8c, 0x94, 0xa3, 0xa3, 0x55, 0x9c, 0xe4, 0x49, 0xff, 0xfb, 0xeb, 0x7c, 0xbc, 0xf7, 0xb5, 0x76, - 0x3c, 0xcb, 0xd2, 0x2b, 0x5b, 0xba, 0x96, 0xfe, 0xf7, 0xc1, 0xc5, 0x72, 0x5d, 0xaa, 0xd3, 0x19, - 0xf4, 0x0f, 0x98, 0x37, 0x74, 0xa9, 0xc9, 0x02, 0x2c, 0x47, 0xaf, 0x12, 0xfb, 0xa6, 0x3e, 0x67, - 0x13, 0x6a, 0x21, 0xdc, 0x60, 0x12, 0xdb, 0xee, 0x37, 0x67, 0x06, 0xb7, 0x22, 0x92, 0x93, 0x58, - 0xba, 0xea, 0x19, 0x95, 0x22, 0x62, 0x87, 0x92, 0x52, 0x41, 0x5d, 0xf9, 0x56, 0xbf, 0xc6, 0xd4, - 0xba, 0x72, 0xe5, 0xb4, 0x4a, 0xc2, 0xeb, 0x8e, 0x37, 0x0e, 0x22, 0x19, 0x7f, 0x7b, 0xd4, 0x4f, - 0xad, 0x64, 0xe8, 0xe9, 0xa5, 0x57, 0x4e, 0xf6, 0x26, 0xbd, 0xa2, 0x21, 0x56, 0xd4, 0x61, 0x86, - 0x36, 0x26, 0x58, 0xd4, 0xc5, 0xae, 0x19, 0x6b, 0x51, 0x3b, 0x70, 0xa0, 0xdf, 0x2d, 0x36, 0xa7, - 0x8a, 0xce, 0xeb, 0x32, 0xc2, 0x5e, 0x29, 0xa2, 0x90, 0x52, 0xfb, 0xe8, 0x62, 0x00, 0x52, 0xe8, - 0x22, 0x0d, 0xec, 0x01, 0xf6, 0x00, 0x7b, 0x0e, 0x15, 0x7b, 0xf4, 0x32, 0x31, 0xeb, 0xe0, 0xa3, - 0x93, 0x86, 0x01, 0xfa, 0x00, 0x7d, 0x80, 0x3e, 0x6d, 0x45, 0x1f, 0x56, 0x17, 0x6f, 0x71, 0xed, - 0x54, 0xd5, 0xbe, 0x51, 0xbb, 0x37, 0x94, 0xfe, 0x5a, 0xe7, 0xfe, 0x50, 0xee, 0x68, 0x3b, 0xaa, - 0xe8, 0x48, 0x00, 0x04, 0x84, 0xf7, 0x8a, 0x58, 0x60, 0x40, 0xe7, 0x9e, 0x51, 0xbd, 0x8a, 0x53, - 0xe7, 0xfe, 0x51, 0x4a, 0x44, 0xe9, 0x1e, 0x52, 0x7b, 0x23, 0xb8, 0xfa, 0xa1, 0x45, 0x8a, 0x10, - 0xee, 0x65, 0x30, 0x89, 0x2f, 0xd7, 0x17, 0x61, 0x40, 0x0c, 0x77, 0x28, 0x3c, 0xf9, 0x24, 0xa2, - 0x67, 0x3b, 0x98, 0xf1, 0x04, 0x59, 0x34, 0x77, 0x3b, 0xd9, 0x9a, 0xaf, 0xdd, 0x20, 0xae, 0x8b, - 0xb8, 0x6e, 0x2d, 0xe6, 0xd4, 0x9e, 0x0d, 0x18, 0x1b, 0xca, 0x48, 0xb8, 0x4a, 0xc0, 0xfd, 0x82, - 0x03, 0x29, 0x09, 0xc8, 0x3c, 0x64, 0x7e, 0xaf, 0x65, 0x7e, 0x14, 0x44, 0x3f, 0x9c, 0x68, 0x28, - 0xfd, 0xb1, 0xad, 0xca, 0xf5, 0xd6, 0x3e, 0x5d, 0xb7, 0x13, 0x51, 0x14, 0xd0, 0x19, 0x14, 0x85, - 0xd4, 0x80, 0x29, 0xc0, 0x14, 0xd8, 0x11, 0xc6, 0xdb, 0x11, 0x9e, 0x13, 0x0b, 0xdf, 0x7d, 0x26, - 0xc3, 0x82, 0x0d, 0xf4, 0x50, 0x2d, 0x02, 0x34, 0xd8, 0xc7, 0x6a, 0x91, 0x91, 0xfc, 0x29, 0x86, - 0x36, 0x91, 0x10, 0xe5, 0xcd, 0x96, 0x6d, 0xd4, 0x1b, 0xce, 0xa7, 0xbc, 0x41, 0x3e, 0x85, 0x4f, - 0x04, 0x59, 0x02, 0xa9, 0x16, 0xf2, 0x29, 0xd6, 0xe1, 0x65, 0x73, 0xff, 0x96, 0x71, 0xac, 0x1f, - 0x3c, 0xcc, 0x6d, 0x5e, 0x31, 0x59, 0x60, 0x12, 0x30, 0x09, 0x98, 0x04, 0x4c, 0xda, 0xb1, 0xc6, - 0x7f, 0xa6, 0x42, 0xfa, 0x63, 0x36, 0xb3, 0x69, 0x3b, 0x79, 0xd4, 0xa1, 0x00, 0xa3, 0x80, 0x51, - 0xc0, 0xa8, 0x1d, 0x6b, 0x8c, 0x23, 0x67, 0x34, 0x92, 0xae, 0x1d, 0x46, 0x41, 0x28, 0xa2, 0xf8, - 0x99, 0xa8, 0x1a, 0xb7, 0x98, 0x2c, 0x30, 0x09, 0x98, 0x04, 0x4c, 0x02, 0x26, 0xed, 0x58, 0xe3, - 0x0f, 0xc7, 0x1f, 0x32, 0xf8, 0x72, 0xc5, 0x64, 0xe1, 0xcb, 0x01, 0x93, 0x80, 0x49, 0x87, 0x85, - 0x49, 0x75, 0xd4, 0xeb, 0x52, 0x58, 0x40, 0xa8, 0xdd, 0xcd, 0x03, 0x02, 0x6a, 0x77, 0x75, 0x54, - 0x2b, 0x6a, 0x77, 0xab, 0xd7, 0xee, 0x92, 0x05, 0x58, 0x74, 0xcb, 0x77, 0xaf, 0xe7, 0x0b, 0x31, - 0xaf, 0x82, 0x57, 0x67, 0x7a, 0x50, 0x0e, 0x68, 0xf4, 0x06, 0xb6, 0x58, 0xa8, 0xb2, 0x41, 0x5e, - 0xbd, 0x6e, 0x95, 0x4f, 0x30, 0xdd, 0x4f, 0x9b, 0xe9, 0xad, 0x86, 0x0a, 0xf7, 0x60, 0xd1, 0xc0, - 0xa2, 0x39, 0x70, 0x8b, 0x86, 0x47, 0xa7, 0xca, 0x91, 0x70, 0x9f, 0x5d, 0x4f, 0x7b, 0xea, 0x4c, - 0x96, 0xd0, 0xa1, 0xe8, 0x52, 0x0c, 0x89, 0xd8, 0xa2, 0x49, 0xf7, 0x75, 0xe0, 0x8c, 0x1e, 0xb3, - 0x5b, 0xfb, 0x54, 0xfc, 0xee, 0x05, 0x93, 0x09, 0x5d, 0xbd, 0x6b, 0x01, 0x31, 0x18, 0xe5, 0x80, - 0x12, 0x94, 0xbe, 0x13, 0x46, 0x34, 0x79, 0x70, 0x40, 0xcf, 0x1b, 0xd7, 0x70, 0xbf, 0x3b, 0x98, - 0x51, 0x07, 0x93, 0xc1, 0xd8, 0x92, 0x76, 0xa2, 0xce, 0x3f, 0x68, 0xfa, 0x83, 0x69, 0x52, 0x56, - 0xb3, 0x02, 0xa6, 0xee, 0x6f, 0x5b, 0x48, 0x20, 0xd6, 0x16, 0xa7, 0x48, 0x80, 0x82, 0xa8, 0xba, - 0x6a, 0x85, 0x16, 0x90, 0x07, 0xc8, 0x03, 0xe4, 0x39, 0x1c, 0xe4, 0xa9, 0xa3, 0x74, 0x41, 0x19, - 0x5e, 0x48, 0xa3, 0xfb, 0x8a, 0xa1, 0x5c, 0x64, 0xb8, 0xab, 0x67, 0xb8, 0x55, 0xd3, 0x4d, 0x9a, - 0xf9, 0xec, 0x44, 0x0c, 0x4d, 0xf0, 0x90, 0x83, 0xa1, 0xb0, 0xc5, 0x70, 0x2c, 0xec, 0x30, 0x90, - 0x7e, 0xac, 0xe1, 0x2c, 0x67, 0x08, 0xe1, 0x3a, 0x38, 0x3c, 0xe7, 0x7d, 0xbc, 0x0e, 0x9e, 0xe1, - 0x73, 0x7b, 0x3a, 0x95, 0x43, 0x7d, 0xab, 0xb6, 0x90, 0x2a, 0xec, 0x5b, 0x94, 0xe7, 0x36, 0x2a, - 0x82, 0x6d, 0xb7, 0x71, 0x3d, 0xe1, 0x8c, 0x22, 0x31, 0xa2, 0x30, 0x72, 0xcf, 0x34, 0x68, 0xf4, - 0x0a, 0xcc, 0x93, 0xf7, 0xa9, 0x35, 0xb2, 0x7a, 0x44, 0xef, 0xf3, 0xc6, 0x4a, 0xe1, 0x7f, 0x67, - 0x3e, 0x9e, 0xa1, 0x47, 0xe6, 0xa3, 0xe0, 0x87, 0x2f, 0x86, 0x76, 0x06, 0x56, 0x32, 0xdf, 0x49, - 0x40, 0xc6, 0xe0, 0xb0, 0x41, 0xb2, 0x7a, 0x42, 0x7c, 0x05, 0xa8, 0x02, 0x54, 0x01, 0xaa, 0x00, - 0x55, 0x65, 0x50, 0x35, 0x1d, 0x30, 0xd3, 0x17, 0xa5, 0x01, 0xcd, 0x75, 0x72, 0x00, 0x4e, 0x00, - 0x27, 0x80, 0x13, 0xc0, 0xb9, 0x13, 0x38, 0x6b, 0x45, 0xc9, 0x5a, 0xae, 0xb3, 0xad, 0xe2, 0xa0, - 0x95, 0x9a, 0x92, 0x16, 0x81, 0xd3, 0x6e, 0x52, 0x4d, 0xf8, 0x1b, 0xd4, 0x84, 0x97, 0xc3, 0xb1, - 0x37, 0xa8, 0x09, 0xa7, 0x94, 0x32, 0x03, 0x72, 0x00, 0x5a, 0xb1, 0x6b, 0x8b, 0x22, 0x1d, 0x10, - 0x0c, 0x45, 0x77, 0x38, 0x16, 0xbd, 0xe4, 0xf9, 0x06, 0xe4, 0x05, 0x82, 0x50, 0x44, 0xc9, 0x99, - 0x38, 0x9e, 0x6e, 0x11, 0x7e, 0x9e, 0x14, 0xca, 0xf0, 0x99, 0x21, 0x15, 0x35, 0x75, 0xaa, 0x60, - 0xa4, 0x5f, 0x39, 0xab, 0xcb, 0xee, 0xd6, 0x3e, 0x15, 0xe2, 0x47, 0x22, 0x14, 0x4e, 0x6c, 0xa7, - 0xf3, 0x68, 0xa8, 0x6a, 0xf2, 0x77, 0xd0, 0x45, 0x79, 0x3e, 0x20, 0x06, 0xe5, 0xf9, 0x5b, 0x91, - 0xe5, 0xdc, 0x08, 0x74, 0x98, 0x48, 0x4f, 0x0a, 0xdf, 0x15, 0x76, 0xac, 0xb2, 0x25, 0x2b, 0x70, - 0xb0, 0x4e, 0xe8, 0x50, 0x8a, 0xf6, 0x21, 0xff, 0xad, 0x94, 0x7f, 0xe5, 0xe2, 0x83, 0x30, 0x0a, - 0xe2, 0xf9, 0x68, 0x1b, 0x35, 0x81, 0xc9, 0x71, 0x51, 0x96, 0x20, 0x82, 0xbc, 0x08, 0xf2, 0x22, - 0xc8, 0xdb, 0xb8, 0x40, 0xe9, 0xfa, 0x00, 0x9a, 0xbe, 0x40, 0xbd, 0x11, 0xab, 0x48, 0x4c, 0xe2, - 0x60, 0xee, 0x32, 0xd9, 0x61, 0xe0, 0x49, 0xf7, 0x59, 0x1f, 0xd7, 0x0a, 0x68, 0x02, 0xda, 0x00, - 0x6d, 0x80, 0x36, 0x13, 0x64, 0xaa, 0xbd, 0xe8, 0xb6, 0xe7, 0x71, 0x70, 0x3d, 0x37, 0xca, 0x22, - 0x88, 0x83, 0xf7, 0xd3, 0x15, 0x24, 0x7c, 0x6b, 0x82, 0x8f, 0x2a, 0x27, 0xdf, 0xe9, 0xc2, 0x56, - 0x05, 0xc4, 0x50, 0x28, 0x0f, 0x5f, 0x75, 0x1f, 0x7d, 0xd5, 0x02, 0x5e, 0x27, 0xba, 0x02, 0xba, - 0x91, 0x32, 0x4c, 0x3c, 0x98, 0x78, 0x30, 0xf1, 0x34, 0xb8, 0xe7, 0x30, 0xae, 0xa3, 0x27, 0xf8, - 0x21, 0x87, 0xc2, 0x8f, 0xe5, 0x48, 0x8a, 0xc8, 0xf6, 0xe4, 0x24, 0x26, 0x42, 0xa5, 0x2c, 0x55, - 0x20, 0x12, 0x10, 0x09, 0x88, 0xd4, 0x66, 0x44, 0x52, 0xdc, 0x01, 0xad, 0xba, 0xbe, 0x94, 0x0a, - 0x45, 0x7d, 0x5f, 0x6e, 0x4b, 0x3b, 0xba, 0xfc, 0x4e, 0x24, 0x88, 0x16, 0x4f, 0xdd, 0x1f, 0x9b, - 0x58, 0x5a, 0x44, 0xbd, 0x61, 0xf5, 0x44, 0x52, 0x83, 0x29, 0x2d, 0xaa, 0xfa, 0xc0, 0x94, 0x98, - 0x56, 0x9d, 0xa0, 0xa9, 0x71, 0x98, 0x45, 0xd5, 0x2f, 0x91, 0x97, 0x81, 0xae, 0xcf, 0x6c, 0x92, - 0x8e, 0xae, 0xcf, 0xa8, 0xf0, 0x2d, 0x1b, 0xd9, 0xd4, 0x0e, 0xbc, 0x91, 0x44, 0x37, 0xe5, 0xe4, - 0xbb, 0x79, 0x13, 0x2c, 0x26, 0x22, 0x7a, 0x12, 0x91, 0x2d, 0xfd, 0x58, 0x8c, 0x23, 0x19, 0x3f, - 0xdb, 0x61, 0x14, 0xb8, 0x82, 0xb0, 0x81, 0x6e, 0xd9, 0x07, 0xa0, 0x6a, 0x0f, 0x91, 0x50, 0x54, - 0xed, 0x11, 0x3a, 0x31, 0x3c, 0x78, 0x11, 0x07, 0xb1, 0xe3, 0xd9, 0x61, 0x10, 0x0b, 0x3f, 0x96, - 0x8e, 0x67, 0xbb, 0x4e, 0xe8, 0xb8, 0x32, 0x7e, 0x56, 0x07, 0x88, 0x8d, 0x14, 0x0f, 0x25, 0x37, - 0x82, 0x8b, 0x02, 0x5b, 0xf0, 0x60, 0xcf, 0x9a, 0xef, 0xce, 0x99, 0x7d, 0x22, 0xff, 0xa5, 0x18, - 0x35, 0xfc, 0x42, 0x4b, 0x2f, 0xd2, 0xd8, 0x41, 0x33, 0x4c, 0xc4, 0x19, 0xdb, 0xd6, 0x0c, 0x53, - 0x55, 0x04, 0x53, 0x02, 0x53, 0x5f, 0xc6, 0x74, 0x71, 0xb5, 0x84, 0x9a, 0xe6, 0x89, 0xe8, 0x05, - 0xfe, 0xc9, 0xc4, 0x92, 0x52, 0x3c, 0x99, 0xc4, 0x94, 0x23, 0x1a, 0xc9, 0x22, 0xb6, 0xac, 0xf1, - 0x48, 0x1e, 0x31, 0xd6, 0x8f, 0x50, 0x6a, 0x46, 0x29, 0x2d, 0x92, 0x24, 0x42, 0x8e, 0xf3, 0x96, - 0x76, 0xa5, 0x4d, 0x20, 0xaa, 0x16, 0x51, 0x11, 0x5b, 0x4a, 0x4b, 0xaf, 0x98, 0xad, 0xd9, 0xa0, - 0xb2, 0xde, 0x40, 0x81, 0xdc, 0x39, 0xe9, 0x0c, 0x16, 0x00, 0x94, 0x02, 0x4a, 0x01, 0xa5, 0xec, - 0x50, 0x3a, 0x95, 0x7e, 0xfc, 0xee, 0x94, 0x10, 0x43, 0xcf, 0x09, 0x48, 0xf5, 0x1d, 0x7f, 0x3c, - 0x5b, 0xdd, 0x5f, 0x24, 0xcc, 0x40, 0x23, 0x04, 0xd6, 0x22, 0x8b, 0x43, 0x26, 0x55, 0xc4, 0x00, - 0x97, 0x23, 0xfb, 0x79, 0x81, 0xe5, 0xd4, 0x74, 0x3f, 0x46, 0x4e, 0x72, 0x2f, 0xe6, 0x83, 0x1c, - 0xcb, 0x24, 0x73, 0x71, 0x42, 0x46, 0xff, 0xd7, 0x2b, 0xc2, 0xa3, 0x72, 0x7e, 0xb6, 0xee, 0xa8, - 0x3a, 0xe7, 0xa7, 0xa7, 0xef, 0xce, 0x4e, 0x4f, 0x4f, 0xce, 0x7e, 0x3b, 0x3b, 0xf9, 0xfd, 0xed, - 0xdb, 0xce, 0xbb, 0xce, 0xdb, 0x16, 0x9d, 0xde, 0x91, 0x19, 0x54, 0x1e, 0x9a, 0x32, 0xbc, 0x6a, - 0x75, 0x9a, 0x35, 0x73, 0x71, 0x29, 0x1d, 0xfd, 0x9c, 0xdc, 0xa6, 0xa8, 0xef, 0x6b, 0xed, 0xa8, - 0x96, 0x45, 0x90, 0xab, 0xbb, 0x9f, 0x2d, 0xa2, 0xb7, 0x5c, 0xdc, 0xe5, 0x62, 0x6d, 0xf3, 0x8f, - 0xef, 0x66, 0x4b, 0xc3, 0x9d, 0x13, 0x56, 0x2e, 0x68, 0x20, 0x3d, 0x5b, 0x7c, 0xe4, 0x26, 0xa4, - 0x68, 0xe3, 0xc8, 0xf1, 0x27, 0x72, 0x76, 0x4c, 0x62, 0x68, 0x17, 0xcd, 0x4b, 0x57, 0x4f, 0xbd, - 0xec, 0xa2, 0x5c, 0x73, 0x52, 0x16, 0xad, 0x14, 0x90, 0x94, 0xad, 0xc5, 0xb3, 0x69, 0x2e, 0x29, - 0x8b, 0x0e, 0x91, 0xba, 0x42, 0x82, 0x0e, 0x91, 0x1a, 0x56, 0xa0, 0x09, 0xf5, 0x63, 0x2c, 0x4a, - 0x72, 0xea, 0x3b, 0x4f, 0x8e, 0xf4, 0x9c, 0xaf, 0x9e, 0xb0, 0x63, 0xf9, 0x28, 0xc8, 0xea, 0x97, - 0x76, 0x11, 0x46, 0xdd, 0x12, 0x54, 0x24, 0x54, 0x24, 0xa5, 0x8a, 0xe4, 0xc1, 0x07, 0x95, 0xa6, - 0xf8, 0x2f, 0x20, 0xa0, 0xd0, 0xdc, 0xb9, 0xb5, 0xc6, 0x30, 0xea, 0x91, 0xb6, 0xc8, 0xf9, 0xbe, - 0x36, 0x2e, 0x55, 0x9c, 0xf2, 0x60, 0x94, 0x8c, 0x3f, 0x39, 0x9e, 0x1c, 0xce, 0x5b, 0x94, 0x3c, - 0x0a, 0xf7, 0x9b, 0xe3, 0xcb, 0xc9, 0xa3, 0xba, 0xcc, 0x17, 0x52, 0x43, 0xbf, 0x06, 0xa0, 0xc0, - 0x3e, 0xf6, 0x6b, 0xc8, 0x04, 0x7f, 0x9c, 0xe1, 0xdf, 0x8e, 0x2b, 0x7c, 0xf7, 0xd9, 0x5e, 0x48, - 0x81, 0x20, 0x98, 0x28, 0x53, 0xe2, 0x19, 0xb8, 0x31, 0x8d, 0x1b, 0xd3, 0x8d, 0x8a, 0xa7, 0xba, - 0x33, 0x6e, 0xe1, 0xc6, 0x74, 0x6d, 0x41, 0x0c, 0x12, 0x45, 0xcf, 0xa1, 0xf0, 0x81, 0x48, 0x40, - 0x24, 0x20, 0xd2, 0x61, 0x23, 0x52, 0x14, 0x7c, 0x9d, 0x4e, 0x62, 0x5f, 0x4c, 0x26, 0xa4, 0x90, - 0xb4, 0x42, 0x16, 0x98, 0x04, 0x4c, 0x02, 0x26, 0x1d, 0x16, 0x26, 0xd5, 0xd1, 0xf4, 0x82, 0x22, - 0xe2, 0x81, 0x86, 0x17, 0x39, 0x3c, 0x40, 0xc3, 0x0b, 0x1d, 0xcd, 0x8a, 0x86, 0x17, 0xd5, 0xcb, - 0xaa, 0x88, 0x3c, 0x19, 0xdd, 0x92, 0xaa, 0xcf, 0xe9, 0x32, 0xfe, 0x4c, 0x57, 0xc1, 0x15, 0x26, - 0x3e, 0x22, 0x3c, 0xc9, 0x25, 0x1e, 0x56, 0x88, 0x89, 0xab, 0xe1, 0x5e, 0x06, 0xef, 0xaa, 0x31, - 0xb7, 0x96, 0x64, 0xa8, 0x49, 0x44, 0xd9, 0xfd, 0x53, 0x94, 0x00, 0x7d, 0xce, 0x3f, 0xae, 0xd2, - 0xf9, 0x44, 0x8b, 0xb9, 0xcb, 0x31, 0xf2, 0x6e, 0xb6, 0x2c, 0xb1, 0xa5, 0xc7, 0x95, 0x8a, 0xfc, - 0x52, 0xf5, 0x57, 0xa1, 0x80, 0xaf, 0x62, 0x9e, 0xa2, 0xb2, 0x2b, 0xa0, 0x62, 0xfa, 0x6b, 0xe6, - 0x24, 0x55, 0x95, 0xb8, 0xb6, 0x21, 0xaf, 0xad, 0xa6, 0xf5, 0x73, 0x8e, 0xb4, 0x60, 0x58, 0x35, - 0xa7, 0xa0, 0x78, 0x1f, 0x50, 0xeb, 0xfe, 0x1f, 0x92, 0xed, 0xcd, 0x79, 0xac, 0x48, 0xb6, 0xd7, - 0xe7, 0x7f, 0x9a, 0x96, 0x6e, 0x9f, 0x0a, 0xcd, 0x0a, 0xf4, 0x15, 0x1a, 0x90, 0x78, 0x48, 0x3c, - 0x24, 0xbe, 0x7e, 0x89, 0xe7, 0xf0, 0x9c, 0x2a, 0x8b, 0x35, 0xfc, 0xa7, 0xc6, 0xfd, 0xa7, 0x8a, - 0x20, 0xac, 0xe1, 0x3f, 0x25, 0x42, 0x51, 0xa7, 0xff, 0x14, 0x0c, 0x55, 0xfc, 0xa7, 0xd9, 0xaf, - 0x98, 0xfd, 0xa7, 0x37, 0x75, 0xf9, 0x4f, 0x0a, 0xa9, 0x92, 0x7d, 0xf2, 0xa0, 0xaa, 0xa7, 0x3a, - 0x1a, 0xf6, 0xa1, 0x9c, 0xe1, 0xa3, 0xf4, 0xe5, 0x24, 0x8e, 0x9c, 0x58, 0x3e, 0x89, 0xc5, 0x28, - 0x79, 0x65, 0x2b, 0xab, 0x90, 0x1a, 0xec, 0x2d, 0xd8, 0x5b, 0x7b, 0x6b, 0x6f, 0x11, 0x70, 0xbc, - 0xa5, 0xd9, 0xe3, 0x49, 0xb1, 0xa7, 0x13, 0x8f, 0xaf, 0xe6, 0x8c, 0xc7, 0x91, 0x18, 0x3b, 0xb1, - 0x18, 0xda, 0x33, 0xbd, 0x66, 0x8b, 0xe1, 0x58, 0xd8, 0x61, 0x20, 0xfd, 0x58, 0x03, 0x55, 0x36, - 0xd3, 0x44, 0x99, 0x34, 0xd0, 0x65, 0x1f, 0xcb, 0xa4, 0x33, 0x7c, 0x6e, 0x2b, 0xdd, 0x2a, 0x2a, - 0xb4, 0x34, 0x73, 0x54, 0x51, 0xe4, 0x83, 0x22, 0x9f, 0x46, 0x45, 0x50, 0x4d, 0x14, 0x15, 0x45, - 0x52, 0x5f, 0xf5, 0xe7, 0xb8, 0xc7, 0x13, 0xce, 0x28, 0x12, 0x23, 0x8a, 0x2a, 0x9f, 0x33, 0x0d, - 0x1a, 0xbd, 0x02, 0x6f, 0xfc, 0x7d, 0xea, 0x7c, 0xaf, 0x1e, 0xd1, 0xfb, 0xbc, 0x6f, 0x5e, 0xf8, - 0xdf, 0x99, 0x8f, 0x67, 0xe8, 0x91, 0xf9, 0x28, 0xf8, 0xe1, 0xe7, 0x95, 0x72, 0xe6, 0x3b, 0x09, - 0xc8, 0x18, 0x5c, 0xf7, 0x91, 0xac, 0x9e, 0x10, 0x5f, 0x01, 0xaa, 0x00, 0x55, 0x80, 0x2a, 0x40, - 0x55, 0x19, 0x54, 0x4d, 0x07, 0xcc, 0xf4, 0x45, 0x69, 0x40, 0x73, 0x9d, 0x1c, 0x80, 0x13, 0xc0, - 0x09, 0xe0, 0x04, 0x70, 0xee, 0x04, 0xce, 0x5a, 0x51, 0xb2, 0x8e, 0xa2, 0xf8, 0x35, 0x1c, 0xb4, - 0x52, 0x53, 0xd2, 0x22, 0x70, 0xda, 0x49, 0x8b, 0xe5, 0x15, 0x2b, 0xa3, 0x51, 0x5e, 0x5d, 0x2d, - 0x49, 0x3a, 0xb3, 0x0b, 0xc8, 0x02, 0x9f, 0x96, 0x66, 0x1e, 0x35, 0x18, 0x8a, 0xc1, 0x45, 0xba, - 0x98, 0xd9, 0x3f, 0xbb, 0xc3, 0xb1, 0xe8, 0x25, 0x2b, 0x31, 0x21, 0xe8, 0x9c, 0x36, 0xce, 0xd2, - 0x9f, 0x12, 0x56, 0x40, 0x0b, 0xf3, 0xc1, 0x10, 0x62, 0xc6, 0x7c, 0xb0, 0x6d, 0x16, 0x3c, 0xe6, - 0x83, 0x61, 0x3e, 0x18, 0x9d, 0xf1, 0x8e, 0xf9, 0x60, 0x1a, 0xec, 0x87, 0xf9, 0x60, 0x75, 0x8a, - 0x29, 0xb5, 0xb8, 0xb2, 0x89, 0x2d, 0x9b, 0xf8, 0xf2, 0x89, 0xb1, 0x9e, 0x38, 0x6b, 0x8a, 0x35, - 0x9d, 0x67, 0x9e, 0xe3, 0x3c, 0xcc, 0x07, 0xe3, 0x39, 0x2e, 0xcc, 0x07, 0x03, 0x94, 0x02, 0x4a, - 0x0f, 0x0a, 0x4a, 0x31, 0x1f, 0xac, 0x62, 0x1c, 0x0f, 0xf3, 0xc1, 0x30, 0x1f, 0x0c, 0xf3, 0xc1, - 0xe8, 0xa1, 0x91, 0x8e, 0x0a, 0xe6, 0x83, 0x55, 0xa1, 0x43, 0x10, 0x63, 0xcf, 0xc5, 0x7b, 0x1b, - 0x9f, 0x0c, 0x36, 0x0f, 0xb7, 0x2f, 0xd7, 0x85, 0xa1, 0x60, 0xf5, 0x1d, 0x7d, 0x13, 0x69, 0x95, - 0xec, 0x39, 0x9b, 0x90, 0x50, 0x71, 0x83, 0x49, 0x4c, 0x36, 0xd8, 0xa4, 0x88, 0x18, 0xea, 0xf6, - 0xd9, 0xfd, 0x20, 0xd4, 0xed, 0xab, 0x63, 0x93, 0x72, 0x5a, 0x25, 0xe1, 0x75, 0xc7, 0x1b, 0x07, - 0x91, 0x8c, 0xbf, 0x11, 0xb4, 0x0a, 0xce, 0xd0, 0x43, 0x75, 0x14, 0xaa, 0xa3, 0x1a, 0x15, 0xbb, - 0x66, 0xac, 0x45, 0x34, 0x09, 0x56, 0x40, 0x21, 0xa5, 0x7e, 0x29, 0xc5, 0x00, 0xa4, 0xd0, 0x36, - 0x05, 0xd8, 0x03, 0xec, 0x01, 0xf6, 0x1c, 0x2a, 0xf6, 0xe8, 0x65, 0x62, 0xd6, 0xc1, 0x47, 0x27, - 0x0d, 0x03, 0xf4, 0x01, 0xfa, 0x00, 0x7d, 0xd0, 0x8a, 0xbc, 0x98, 0x79, 0x75, 0xec, 0x1b, 0xf4, - 0x1f, 0xcf, 0x83, 0x00, 0xfa, 0x8f, 0xeb, 0x28, 0x4e, 0x14, 0xc8, 0x57, 0x8f, 0xe0, 0xea, 0x87, - 0x16, 0x29, 0x42, 0xb8, 0x97, 0xc1, 0x24, 0xbe, 0x5c, 0x5f, 0x84, 0x01, 0x31, 0xdc, 0xa1, 0xf0, - 0xe4, 0x93, 0x88, 0x9e, 0xed, 0x60, 0xc6, 0x13, 0x64, 0xd1, 0xdc, 0xed, 0x64, 0x31, 0xa4, 0x1a, - 0x71, 0x5d, 0x0c, 0xa9, 0x26, 0x34, 0x9f, 0x78, 0xb0, 0x41, 0xf8, 0xae, 0x13, 0xbe, 0x9c, 0x92, - 0x32, 0x18, 0x64, 0xe8, 0x20, 0xab, 0x03, 0xe9, 0xdf, 0xc7, 0xac, 0x0e, 0x6e, 0xbc, 0x23, 0xb2, - 0x81, 0xc8, 0x86, 0xa9, 0x91, 0x0d, 0xdc, 0x78, 0x6f, 0x5b, 0xec, 0xa5, 0x79, 0xc7, 0x51, 0xcb, - 0x70, 0xa1, 0xf0, 0x19, 0xbb, 0xb3, 0x05, 0xdc, 0x2b, 0xc9, 0x2c, 0x93, 0x49, 0x18, 0x45, 0x01, - 0x9d, 0x97, 0x58, 0x48, 0x0d, 0xce, 0x21, 0xcc, 0x43, 0x38, 0x87, 0xc6, 0x3b, 0x87, 0x9e, 0x13, - 0x0b, 0xdf, 0x7d, 0x26, 0xc3, 0x82, 0x0d, 0xf4, 0xe0, 0x2c, 0x02, 0x0d, 0xf6, 0xd1, 0x59, 0x1c, - 0xc9, 0x9f, 0x62, 0x68, 0x13, 0x09, 0x51, 0x8e, 0xa5, 0xb6, 0x52, 0x6f, 0xd8, 0x95, 0x7c, 0x03, - 0x57, 0x12, 0xae, 0x64, 0xab, 0x5d, 0xc9, 0xc3, 0x28, 0xd1, 0xf9, 0x5b, 0xc6, 0xb1, 0x7e, 0x46, - 0x28, 0xb7, 0x79, 0xc5, 0x64, 0x81, 0x49, 0xc0, 0x24, 0x60, 0x12, 0x30, 0x69, 0xc7, 0x1a, 0xff, - 0x99, 0x0a, 0xe9, 0x8f, 0xd9, 0xcc, 0xa6, 0xed, 0xe4, 0x11, 0x82, 0x07, 0x46, 0x01, 0xa3, 0x80, - 0x51, 0x3b, 0xd6, 0x18, 0x47, 0xce, 0x68, 0x24, 0x5d, 0x3b, 0x8c, 0x82, 0x50, 0x44, 0xf1, 0x33, - 0xd1, 0x15, 0x8b, 0x62, 0xb2, 0xc0, 0x24, 0x60, 0x12, 0x30, 0x09, 0x98, 0xb4, 0x63, 0x8d, 0x3f, - 0x1c, 0x7f, 0xc8, 0xe0, 0xcb, 0x15, 0x93, 0x85, 0x2f, 0x07, 0x4c, 0x02, 0x26, 0x1d, 0x16, 0x26, - 0xd5, 0xd2, 0xfa, 0x9e, 0xc0, 0x02, 0xc2, 0x85, 0x8c, 0x3c, 0x20, 0xe0, 0x42, 0x86, 0x8e, 0x6a, - 0xc5, 0x85, 0x8c, 0xea, 0x75, 0x35, 0x64, 0x01, 0x16, 0xdd, 0xfa, 0x9a, 0xeb, 0xf9, 0x42, 0xcc, - 0xbb, 0x96, 0xe1, 0x39, 0xcf, 0x22, 0x9a, 0x21, 0x5d, 0x1c, 0xb8, 0x81, 0xa7, 0xe6, 0x42, 0xae, - 0xa4, 0xd6, 0xf3, 0xc4, 0x50, 0x65, 0xc3, 0x8e, 0xb3, 0xc8, 0xab, 0xab, 0x63, 0x94, 0x7e, 0x95, - 0x8d, 0x3e, 0xd3, 0x5b, 0x0d, 0x4d, 0xdc, 0x86, 0x45, 0x03, 0x8b, 0xe6, 0xc0, 0x2d, 0x1a, 0x1e, - 0x9d, 0x2a, 0x47, 0xc2, 0x7d, 0x76, 0xbd, 0xe5, 0xfc, 0x7d, 0x75, 0x7d, 0x9a, 0x21, 0x74, 0x28, - 0xba, 0x14, 0x93, 0x7f, 0xb6, 0x68, 0x52, 0x33, 0x27, 0xff, 0x10, 0xe8, 0x51, 0x2d, 0x66, 0x6f, - 0x4a, 0x87, 0xf2, 0x00, 0x48, 0x30, 0x99, 0xd0, 0xd5, 0xbb, 0x16, 0x10, 0x83, 0x51, 0x0e, 0x28, - 0x41, 0xe9, 0x3b, 0x61, 0x44, 0x93, 0x07, 0x07, 0xf4, 0xbc, 0x71, 0x0d, 0xf7, 0x5b, 0xb9, 0xac, - 0xfd, 0x04, 0x26, 0x03, 0x4c, 0x86, 0x92, 0xcb, 0x54, 0x2e, 0x69, 0x27, 0x6a, 0xe7, 0x86, 0x4e, - 0x6e, 0x18, 0x11, 0x68, 0x35, 0x2b, 0x60, 0xea, 0xfe, 0xb6, 0x85, 0x04, 0x62, 0x6d, 0x71, 0x8a, - 0x04, 0x28, 0x88, 0xaa, 0xab, 0x56, 0x68, 0x01, 0x79, 0x80, 0x3c, 0x40, 0x9e, 0xc3, 0x41, 0x9e, - 0x3a, 0x4a, 0x17, 0x94, 0xe1, 0x05, 0x33, 0xf9, 0xad, 0x56, 0x66, 0xb8, 0x55, 0xd3, 0x4d, 0x9a, - 0xf9, 0xec, 0x44, 0x0c, 0x4d, 0xf0, 0x90, 0x83, 0xa1, 0xb0, 0xa3, 0xa9, 0x27, 0xec, 0x71, 0x14, - 0x4c, 0x43, 0x0d, 0x67, 0x39, 0x43, 0xe8, 0x50, 0xfc, 0x66, 0x44, 0xc8, 0x5a, 0x19, 0x21, 0x53, - 0xf6, 0x9d, 0x0b, 0x86, 0x4c, 0x69, 0xdb, 0xb4, 0x24, 0x83, 0xab, 0x2c, 0xca, 0xc1, 0xfb, 0x6f, - 0x60, 0xdb, 0xc2, 0xb6, 0x6d, 0xdb, 0xe0, 0xfd, 0x95, 0x39, 0x7f, 0x64, 0x43, 0xa3, 0x49, 0x66, - 0x07, 0x12, 0x88, 0x26, 0x99, 0xfb, 0x49, 0x29, 0xaa, 0x4c, 0x22, 0x4b, 0x2d, 0xba, 0x6c, 0x22, - 0xcc, 0x26, 0xca, 0x7c, 0x22, 0xad, 0x27, 0xda, 0x9a, 0x22, 0x4e, 0x26, 0xea, 0x29, 0xa1, 0x64, - 0xe4, 0x3e, 0x19, 0x7f, 0xa4, 0x63, 0xa8, 0x69, 0x06, 0xf9, 0x5b, 0xf4, 0x43, 0x7a, 0xc9, 0xc4, - 0x9f, 0x03, 0x06, 0x98, 0xe1, 0x80, 0x0b, 0x16, 0xd8, 0xe1, 0x81, 0x1d, 0x26, 0xf8, 0xe1, 0x82, - 0x06, 0x36, 0x88, 0xe0, 0x83, 0x2e, 0x1a, 0xb6, 0x91, 0x73, 0x97, 0x76, 0xb8, 0x4d, 0x08, 0x05, - 0x96, 0x66, 0x85, 0xcd, 0x46, 0x9a, 0x6a, 0x95, 0x37, 0x7c, 0x47, 0x4c, 0x70, 0xbc, 0x9a, 0x29, - 0xca, 0x8d, 0xe7, 0xaa, 0x93, 0xb2, 0x04, 0xb4, 0x03, 0xda, 0x01, 0xed, 0xad, 0x87, 0xf6, 0xa9, - 0xf4, 0xe3, 0x77, 0xa7, 0x0c, 0x98, 0x7e, 0x4e, 0x48, 0xb2, 0xef, 0xf8, 0xe3, 0xd9, 0x6a, 0xff, - 0x22, 0x65, 0x22, 0x5a, 0xa1, 0xb2, 0x16, 0x79, 0x0b, 0x72, 0x69, 0x65, 0x02, 0xd8, 0x1c, 0xf9, - 0xcf, 0x0b, 0x1d, 0xc3, 0x45, 0xff, 0x63, 0xe4, 0xb8, 0xb1, 0x0c, 0xfc, 0x0f, 0x72, 0x2c, 0x93, - 0x8c, 0xcc, 0x09, 0xf9, 0x73, 0x7e, 0xbd, 0x62, 0x38, 0x52, 0xe7, 0x67, 0xeb, 0x8f, 0xb4, 0x73, - 0x7e, 0x7a, 0xfa, 0xee, 0xec, 0xf4, 0xf4, 0xe4, 0xec, 0xb7, 0xb3, 0x93, 0xdf, 0xdf, 0xbe, 0xed, - 0xbc, 0xeb, 0xbc, 0x6d, 0xf1, 0x29, 0x1f, 0x99, 0x49, 0xed, 0xc1, 0x14, 0x83, 0xb3, 0xd1, 0x60, - 0x86, 0x66, 0x0e, 0x33, 0x47, 0x8f, 0x20, 0xa7, 0xb9, 0x9e, 0x8b, 0x7b, 0x9d, 0xcf, 0x2f, 0xbc, - 0x26, 0x8b, 0x6b, 0x5a, 0x14, 0xc9, 0xd0, 0x60, 0x28, 0xfa, 0x53, 0x4f, 0xfc, 0x67, 0xb6, 0xda, - 0xc1, 0xc5, 0x72, 0xb5, 0x97, 0x8b, 0xc5, 0x0e, 0xee, 0x67, 0x8b, 0xbd, 0x9b, 0xad, 0xf5, 0xa8, - 0x19, 0x36, 0xa9, 0x37, 0x10, 0x4e, 0xc4, 0x50, 0xb5, 0x30, 0x92, 0x4e, 0x66, 0x86, 0x97, 0x6b, - 0x8e, 0x8d, 0x1e, 0xaa, 0xfc, 0x18, 0x06, 0x13, 0x31, 0xd4, 0xc9, 0xbc, 0xe7, 0x63, 0x16, 0x05, - 0x44, 0x91, 0x46, 0x44, 0x87, 0x1f, 0x02, 0x5f, 0xb3, 0x6d, 0x1d, 0x7e, 0xb4, 0x53, 0x89, 0x19, - 0xe0, 0xd3, 0x1b, 0x14, 0x96, 0x63, 0xc9, 0x42, 0xea, 0x34, 0xe9, 0xc5, 0x93, 0xbd, 0x4f, 0x2f, - 0x12, 0x88, 0x32, 0x57, 0xb8, 0x69, 0x1f, 0x12, 0x8c, 0xfa, 0xa2, 0x6e, 0x86, 0x55, 0x4e, 0x16, - 0x40, 0x22, 0x9c, 0x4b, 0x96, 0xd3, 0xaf, 0x67, 0x04, 0xb4, 0xd8, 0xe7, 0x94, 0x25, 0x96, 0x60, - 0xfe, 0xa3, 0x55, 0xbb, 0x90, 0x6a, 0xb0, 0x19, 0x81, 0xa5, 0xfe, 0x4a, 0x13, 0xf4, 0x19, 0x90, - 0x1e, 0xf0, 0x0e, 0x78, 0x07, 0xbc, 0x03, 0xde, 0x5b, 0x03, 0xef, 0x6d, 0x05, 0x70, 0x9a, 0xb9, - 0xbe, 0x79, 0x5c, 0x22, 0x98, 0xef, 0x0b, 0x20, 0x07, 0x90, 0x03, 0xc8, 0x01, 0xe4, 0x46, 0xce, - 0x13, 0x26, 0x40, 0xed, 0x5a, 0xc3, 0x3b, 0xcb, 0x36, 0xc3, 0xab, 0xb8, 0x6c, 0xa5, 0xa6, 0xb6, - 0x45, 0x18, 0x5e, 0xd1, 0xbb, 0xd5, 0x97, 0x52, 0xa1, 0xb8, 0xdd, 0xf7, 0x42, 0x8c, 0xe0, 0x96, - 0x5f, 0x4a, 0x4c, 0xeb, 0xb6, 0x9f, 0xee, 0x39, 0x9a, 0x9b, 0xe8, 0xa0, 0x8b, 0xa5, 0x5b, 0xe4, - 0x99, 0x8e, 0xcb, 0xc5, 0xda, 0xd2, 0x4f, 0xcc, 0xce, 0x74, 0x4c, 0x62, 0xf2, 0x69, 0x06, 0x45, - 0x44, 0x91, 0xe9, 0x40, 0xa6, 0xc3, 0x08, 0xb3, 0xaa, 0x65, 0x99, 0x8e, 0x44, 0x96, 0x1c, 0x6f, - 0x1c, 0x44, 0x32, 0xfe, 0xf6, 0x48, 0xe7, 0x34, 0x65, 0xe8, 0xc2, 0x6b, 0x82, 0xd7, 0x04, 0xaf, - 0xc9, 0x60, 0xaf, 0x49, 0xbb, 0x1f, 0x48, 0x4e, 0xa5, 0x9e, 0xb7, 0x30, 0x82, 0x94, 0xa0, 0x96, - 0x56, 0xa3, 0xa2, 0x62, 0x20, 0xd4, 0xe8, 0x57, 0x04, 0x0c, 0x04, 0x06, 0x02, 0x03, 0x81, 0x81, - 0xf5, 0x62, 0x20, 0xcd, 0xfd, 0xab, 0x75, 0x10, 0xa4, 0xb8, 0x7c, 0x05, 0x14, 0x04, 0x0a, 0x02, - 0x05, 0x81, 0x82, 0x06, 0xba, 0xe2, 0x8b, 0xa8, 0xb4, 0xae, 0xbd, 0xc7, 0x12, 0x72, 0x26, 0x82, - 0xf1, 0x8e, 0x2e, 0x7a, 0x13, 0x02, 0x11, 0xc3, 0x18, 0x19, 0x56, 0x18, 0xa2, 0x18, 0x2b, 0xd3, - 0xac, 0x61, 0x80, 0xc4, 0x43, 0x96, 0x0e, 0x47, 0xe2, 0x81, 0x2a, 0xb4, 0x6d, 0x31, 0x24, 0x1e, - 0x26, 0xb1, 0xce, 0x00, 0x3e, 0x75, 0xee, 0x55, 0xc9, 0x3c, 0x48, 0x3f, 0x16, 0x11, 0xe9, 0x05, - 0x8b, 0x1c, 0x45, 0xe4, 0x1c, 0x90, 0x73, 0x30, 0xc2, 0x14, 0x6d, 0x59, 0xce, 0xc1, 0x99, 0x4c, - 0x02, 0x57, 0x3a, 0xb1, 0x18, 0xda, 0xba, 0xfd, 0x47, 0x37, 0x32, 0xe6, 0x96, 0x67, 0x18, 0xd6, - 0xc8, 0xed, 0x0d, 0x3c, 0x50, 0x78, 0xa0, 0x2d, 0xf6, 0x40, 0xc9, 0x9a, 0xb9, 0xb1, 0x5c, 0xba, - 0xca, 0xb1, 0x36, 0xc3, 0xe5, 0x2b, 0xe2, 0xe0, 0x14, 0x79, 0x90, 0x8a, 0x03, 0x2a, 0xd8, 0x21, - 0x83, 0x0b, 0x3a, 0xd8, 0x21, 0x84, 0x1d, 0x4a, 0xea, 0x80, 0x14, 0x1a, 0x68, 0x21, 0x82, 0x18, - 0xfa, 0x60, 0x57, 0x8e, 0x7b, 0xe9, 0x8a, 0x46, 0x73, 0x76, 0xc2, 0x19, 0x21, 0xcd, 0x7d, 0xbc, - 0xec, 0x45, 0xc7, 0x6a, 0x14, 0x8d, 0xe7, 0xe8, 0x2e, 0x81, 0x15, 0x6b, 0x1e, 0xa8, 0x1b, 0xa8, - 0x1b, 0xa8, 0x1b, 0xa8, 0x1b, 0xa8, 0x1b, 0xb6, 0xcb, 0x67, 0x66, 0x29, 0x14, 0xda, 0x4b, 0x69, - 0x79, 0x1c, 0x24, 0xbc, 0x9c, 0x06, 0xc5, 0x02, 0xc5, 0x02, 0xc5, 0x02, 0xc5, 0xb2, 0x07, 0x8a, - 0xc5, 0x28, 0x2d, 0xd2, 0x68, 0x78, 0xae, 0xbe, 0xcb, 0x72, 0xe9, 0x23, 0x49, 0x2a, 0x18, 0x52, - 0x6a, 0x94, 0x95, 0x0c, 0x39, 0x79, 0x79, 0x43, 0xa5, 0x32, 0x19, 0xd0, 0x9d, 0xb1, 0xc2, 0xa1, - 0x16, 0x6c, 0x5f, 0xc3, 0xf5, 0x37, 0xfb, 0x64, 0xd3, 0x51, 0x56, 0x42, 0xa4, 0x44, 0x49, 0x2a, - 0x22, 0xa8, 0x50, 0xc3, 0xfc, 0xa6, 0xa6, 0xd9, 0x6c, 0xfc, 0x6b, 0xb6, 0x8c, 0x9f, 0x45, 0x5e, - 0x49, 0x71, 0x35, 0x5b, 0xfb, 0x4a, 0xef, 0xca, 0x74, 0xe5, 0x6b, 0x5f, 0x6b, 0x63, 0x8d, 0x10, - 0xe1, 0x78, 0xbc, 0x1c, 0x56, 0x93, 0x76, 0x1f, 0xb5, 0x0e, 0x2a, 0x95, 0x8b, 0x99, 0x5c, 0x98, - 0xc9, 0xb5, 0xe3, 0xb5, 0xc8, 0xd2, 0xb8, 0x84, 0x63, 0xf8, 0x0a, 0xa2, 0x1d, 0x84, 0x6d, 0xab, - 0x09, 0x21, 0xa0, 0xc5, 0xa1, 0x0e, 0x0c, 0x71, 0x69, 0x30, 0xd0, 0xb1, 0xdf, 0x43, 0x5c, 0xa8, - 0x20, 0x25, 0x25, 0x48, 0x3a, 0xee, 0x2f, 0x27, 0x0e, 0xc4, 0xb3, 0xbe, 0x2c, 0xbe, 0x79, 0x17, - 0xe4, 0x30, 0xc3, 0x09, 0x37, 0x35, 0xc1, 0x0e, 0x37, 0xfc, 0xd4, 0x06, 0x43, 0xb5, 0xc1, 0x51, - 0x7d, 0xb0, 0x44, 0x0b, 0x4f, 0xc4, 0x30, 0x95, 0x6e, 0x03, 0x79, 0x54, 0x36, 0xc7, 0xf9, 0x5c, - 0x63, 0x05, 0x73, 0xd6, 0xcc, 0x29, 0x03, 0x6d, 0xda, 0x31, 0x83, 0xf4, 0x2c, 0x41, 0xc8, 0x0e, - 0xc4, 0xe3, 0x07, 0x73, 0x7c, 0x40, 0x39, 0x86, 0x10, 0xaa, 0x06, 0xaa, 0x06, 0xaa, 0x06, 0xaa, - 0x26, 0x6b, 0xcc, 0x52, 0x8f, 0x39, 0xcc, 0xe2, 0xcc, 0x39, 0x03, 0x69, 0x9e, 0xb1, 0x87, 0xcb, - 0x3f, 0x3c, 0x42, 0x6a, 0x71, 0x8f, 0x41, 0x64, 0x06, 0xf8, 0xdc, 0x63, 0x98, 0xc7, 0x22, 0xa6, - 0xcf, 0xa9, 0x61, 0x70, 0x1e, 0x93, 0xf8, 0xae, 0x1f, 0x3d, 0xe3, 0xb8, 0xc4, 0xa6, 0x8e, 0xbe, - 0xbe, 0xf1, 0x89, 0x8d, 0x70, 0xc3, 0x51, 0x3b, 0xa8, 0x3e, 0x98, 0x6a, 0x68, 0x1b, 0x15, 0x64, - 0x22, 0xce, 0x54, 0xa6, 0x74, 0xeb, 0xc8, 0x58, 0x32, 0xcf, 0x65, 0x7c, 0x79, 0x17, 0xce, 0xe4, - 0x25, 0xd7, 0xb8, 0x46, 0x3a, 0x76, 0xc3, 0x7c, 0x50, 0x6d, 0xc6, 0x34, 0x3e, 0x85, 0x4e, 0x33, - 0xfe, 0x51, 0x9f, 0x63, 0xb4, 0x3b, 0x6f, 0x11, 0x35, 0x4b, 0xce, 0xc7, 0x9e, 0x48, 0x3b, 0x4b, - 0x58, 0xb8, 0x09, 0x6d, 0x46, 0xcc, 0x00, 0x37, 0xa1, 0xcd, 0x41, 0x7a, 0xb2, 0x14, 0x3a, 0x71, - 0x53, 0xe6, 0x62, 0x2c, 0xa0, 0x6a, 0xce, 0xcc, 0xe4, 0xa4, 0xe0, 0xd6, 0x80, 0x85, 0x64, 0x7a, - 0x43, 0x30, 0x62, 0xa6, 0xa7, 0xc3, 0x77, 0x6b, 0x80, 0xac, 0xe5, 0x5f, 0xce, 0x34, 0x38, 0xdf, - 0xa3, 0xaa, 0x5f, 0xba, 0xe6, 0xd0, 0xc5, 0x80, 0x4c, 0xd0, 0x24, 0x1a, 0x58, 0x0c, 0x2c, 0x06, - 0x16, 0x03, 0x8b, 0x0f, 0x03, 0x8b, 0x69, 0xb3, 0xf4, 0xf4, 0xcd, 0xaa, 0x81, 0xc6, 0x40, 0x63, - 0xa0, 0x31, 0xd0, 0xd8, 0x6c, 0x34, 0x36, 0xe1, 0x76, 0x2a, 0xd9, 0x90, 0x94, 0x16, 0x5d, 0x3d, - 0xed, 0xe0, 0xea, 0x69, 0x3d, 0x57, 0x4f, 0x3b, 0xb8, 0x7a, 0xba, 0x83, 0x28, 0xae, 0x9e, 0xea, - 0xe5, 0xcb, 0xe8, 0x73, 0x2b, 0x16, 0x77, 0xc2, 0x8c, 0xaa, 0x99, 0xb7, 0xbe, 0x74, 0xe8, 0x64, - 0xcc, 0x3c, 0x27, 0x16, 0xbe, 0xfb, 0xcc, 0x96, 0x34, 0xdb, 0x40, 0x1f, 0x79, 0xb3, 0xda, 0xcd, - 0x7e, 0xe4, 0xcd, 0x90, 0x37, 0xdb, 0x49, 0x68, 0x24, 0x7f, 0x8a, 0xa1, 0xcd, 0x04, 0x0a, 0x39, - 0x16, 0xdf, 0xfa, 0x34, 0xc3, 0x23, 0x07, 0x6f, 0x10, 0x39, 0x40, 0xe4, 0x00, 0x91, 0x03, 0x44, - 0x0e, 0x1a, 0x76, 0x67, 0xfe, 0x96, 0xf1, 0xcc, 0x96, 0xe6, 0x86, 0xea, 0xe2, 0xc7, 0x00, 0xa3, - 0x81, 0xd1, 0xc0, 0x68, 0x60, 0x34, 0x30, 0x7a, 0xeb, 0x3b, 0xfd, 0x33, 0x15, 0xd2, 0x1f, 0xd7, - 0x66, 0x56, 0x6f, 0x7f, 0x1c, 0x32, 0x72, 0xc0, 0x6c, 0x60, 0x36, 0x30, 0x1b, 0x98, 0xbd, 0xf5, - 0x9d, 0xe2, 0xc8, 0x19, 0x8d, 0xa4, 0x6b, 0x87, 0x51, 0x10, 0x8a, 0x28, 0x7e, 0x66, 0xaa, 0x5b, - 0x2b, 0x7e, 0x0c, 0x30, 0x1a, 0x18, 0x0d, 0x8c, 0x06, 0x46, 0x03, 0xa3, 0xb7, 0xbe, 0xd3, 0x0f, - 0xc7, 0x1f, 0xd6, 0x10, 0xfb, 0x28, 0x7e, 0x0c, 0x62, 0x1f, 0xc0, 0x68, 0x60, 0x34, 0x30, 0x1a, - 0x95, 0x6d, 0x3c, 0x27, 0x98, 0xce, 0x5d, 0x60, 0xb0, 0x90, 0x51, 0xe5, 0x46, 0x0f, 0x88, 0xa8, - 0x72, 0x33, 0xc9, 0x34, 0x42, 0x95, 0x5b, 0x55, 0x7a, 0x35, 0x54, 0xb9, 0xb1, 0x45, 0x64, 0x59, - 0x0b, 0xdd, 0xae, 0xe7, 0xab, 0x6e, 0x7f, 0xad, 0x1b, 0x49, 0x04, 0xe7, 0x65, 0x18, 0x29, 0x81, - 0x1a, 0xa2, 0xae, 0x63, 0x3b, 0xc1, 0xf8, 0x04, 0x53, 0x4c, 0x7a, 0x8c, 0x4f, 0xa8, 0xf8, 0x5a, - 0x64, 0x35, 0x6c, 0x4c, 0x97, 0xda, 0x70, 0x9f, 0xcd, 0x48, 0x40, 0x80, 0xcf, 0xdf, 0x1c, 0x60, - 0xc0, 0xe3, 0xdf, 0x3b, 0x8f, 0xff, 0x15, 0x11, 0xfe, 0x32, 0xa5, 0xcb, 0x56, 0x68, 0x03, 0x89, - 0x81, 0xc4, 0x40, 0x62, 0x20, 0xf1, 0xbe, 0x22, 0xb1, 0x09, 0xb1, 0x57, 0x32, 0xb8, 0x65, 0x0d, - 0xb8, 0x12, 0x45, 0xb7, 0x10, 0x32, 0x33, 0x30, 0x64, 0x46, 0xa4, 0xea, 0x59, 0x03, 0x64, 0x09, - 0x28, 0xb5, 0x30, 0x1e, 0x16, 0xc9, 0xc9, 0x77, 0xb6, 0x8b, 0x9f, 0x45, 0xc4, 0x71, 0xeb, 0xb3, - 0x9c, 0x49, 0x86, 0x5b, 0x9f, 0xb8, 0xf5, 0x59, 0x67, 0xc4, 0xac, 0x40, 0x56, 0x99, 0xfc, 0xb7, - 0x8d, 0x4f, 0x82, 0x37, 0x67, 0x1c, 0x74, 0xc0, 0x9f, 0x6b, 0x12, 0x5a, 0xe0, 0xd1, 0x21, 0xb6, - 0xb6, 0x01, 0xa9, 0xe5, 0x50, 0xf8, 0xb1, 0x1c, 0x49, 0x11, 0xd9, 0x9e, 0x9c, 0xc4, 0x4c, 0x28, - 0x9d, 0x7d, 0x0a, 0x10, 0x1a, 0x08, 0x0d, 0x84, 0x06, 0x42, 0x9b, 0x8b, 0xd0, 0x44, 0x3b, 0x48, - 0x1a, 0xaa, 0xda, 0x10, 0xb2, 0x62, 0x1a, 0x8b, 0xda, 0xa1, 0x96, 0x4f, 0xc6, 0xf9, 0x9c, 0x35, - 0xd4, 0x0e, 0xd6, 0x06, 0x33, 0x16, 0x53, 0x2d, 0x21, 0x2d, 0xc4, 0x58, 0xc4, 0x33, 0x7e, 0x39, - 0x02, 0xa6, 0x29, 0x71, 0xd2, 0xc0, 0x29, 0xa1, 0x11, 0x67, 0x42, 0x58, 0x9e, 0xc9, 0x8b, 0x46, - 0x55, 0x74, 0x6b, 0x90, 0x0d, 0x55, 0xd1, 0xc6, 0x20, 0x16, 0x52, 0x3c, 0x9a, 0x29, 0x1e, 0xfa, - 0x4c, 0x81, 0xc5, 0x9d, 0xf1, 0xe9, 0xcb, 0xc9, 0xf7, 0xf6, 0xd7, 0x43, 0xcf, 0xce, 0x80, 0x30, - 0xe1, 0x33, 0xa3, 0x86, 0x0c, 0x4f, 0xed, 0x41, 0x00, 0x64, 0x78, 0x90, 0xe1, 0xd9, 0x49, 0xc8, - 0x15, 0xa1, 0x3d, 0x94, 0x91, 0x70, 0x49, 0xc7, 0xfc, 0xbe, 0x0c, 0xfc, 0x58, 0x23, 0x8f, 0x9b, - 0xd1, 0x88, 0x14, 0x22, 0x52, 0x78, 0xc0, 0x91, 0xc2, 0x30, 0x88, 0x62, 0x72, 0x3c, 0x58, 0x33, - 0x10, 0x4e, 0x09, 0x69, 0x76, 0xfd, 0x69, 0x32, 0x21, 0xf4, 0xd7, 0xc1, 0x45, 0x21, 0x89, 0x43, - 0x36, 0x07, 0x19, 0x0f, 0x7a, 0x45, 0xa3, 0x9c, 0x13, 0x91, 0x89, 0x02, 0x4f, 0xf0, 0x28, 0xe7, - 0x17, 0xf2, 0xb4, 0xca, 0xb9, 0x03, 0xe5, 0x0c, 0xe5, 0x0c, 0xe5, 0x4c, 0x0f, 0xff, 0x54, 0x96, - 0x7f, 0x4a, 0x90, 0x1e, 0x60, 0x8a, 0xd5, 0x3e, 0x21, 0xc8, 0x30, 0x79, 0x02, 0x6c, 0xa0, 0xc3, - 0x09, 0x3e, 0xb5, 0x81, 0x10, 0x37, 0x18, 0xd5, 0x06, 0x4a, 0xb5, 0x81, 0x53, 0x9d, 0x20, 0x45, - 0x0b, 0x56, 0xc4, 0xa0, 0xc5, 0xe7, 0x59, 0xd4, 0x06, 0x35, 0x16, 0x7d, 0x59, 0x02, 0xd7, 0x26, - 0xb3, 0x38, 0x08, 0xb5, 0x38, 0x0a, 0xb5, 0x38, 0x0c, 0xbc, 0x8e, 0x03, 0xbd, 0x1c, 0x52, 0x26, - 0xe6, 0x53, 0xe9, 0xb0, 0x49, 0x42, 0xfc, 0xbb, 0xa5, 0xd0, 0x26, 0x08, 0xfe, 0x43, 0xeb, 0x43, - 0xeb, 0x43, 0xeb, 0x43, 0xeb, 0x97, 0xc6, 0x1b, 0x3b, 0x08, 0x89, 0xc3, 0x8b, 0x39, 0x0b, 0xe0, - 0x2d, 0x03, 0xed, 0xab, 0xa4, 0xae, 0x3a, 0x7e, 0xfe, 0xc3, 0x99, 0x30, 0xca, 0xd9, 0x72, 0xcb, - 0x7a, 0xb7, 0xfd, 0xfb, 0x41, 0xff, 0xf6, 0xba, 0x3b, 0xe8, 0x7f, 0xba, 0xee, 0x0e, 0x6e, 0x7b, - 0xf7, 0x57, 0xb7, 0x37, 0x5c, 0x32, 0xf7, 0xd9, 0xf1, 0xa6, 0x62, 0xa6, 0xca, 0xff, 0x62, 0xa1, - 0x3f, 0xfb, 0xf3, 0x3f, 0x36, 0xca, 0xbb, 0xb7, 0x6d, 0x70, 0x71, 0xf3, 0x25, 0xf9, 0xf0, 0x98, - 0x6d, 0x11, 0xbf, 0x5e, 0xed, 0xe7, 0xce, 0xdd, 0xdc, 0xde, 0x63, 0xe7, 0x94, 0x76, 0xee, 0xee, - 0xe2, 0xcf, 0x2e, 0xb6, 0x4e, 0x69, 0xeb, 0x3e, 0x5c, 0x7d, 0xfc, 0xd8, 0xed, 0x77, 0x6f, 0xd8, - 0x59, 0x8f, 0x85, 0xf2, 0xc3, 0x81, 0x99, 0x0f, 0xf0, 0x67, 0xf7, 0xcb, 0x9f, 0x45, 0x36, 0xd5, - 0x5c, 0x66, 0x62, 0xca, 0xa6, 0x52, 0x95, 0x73, 0xd1, 0xd6, 0xb0, 0xa6, 0x74, 0xeb, 0xa8, 0x65, - 0x9d, 0x7a, 0xe2, 0x35, 0x47, 0xc2, 0xd5, 0x62, 0x2f, 0x69, 0x9d, 0x7a, 0x62, 0x70, 0x29, 0xc2, - 0x5e, 0x10, 0xc5, 0xfd, 0xd9, 0xba, 0xf7, 0x29, 0xc1, 0x1e, 0x3c, 0x86, 0x9e, 0xf8, 0x49, 0x1b, - 0x0d, 0x7b, 0xc9, 0xaf, 0xaf, 0x52, 0x47, 0xed, 0x9b, 0xb1, 0x31, 0x2e, 0xa4, 0xd7, 0x9b, 0x8c, - 0x61, 0xe1, 0x96, 0xac, 0x6e, 0x30, 0xea, 0x1c, 0x16, 0xd5, 0xc1, 0x59, 0x54, 0x86, 0xa8, 0x4f, - 0xdf, 0x9f, 0x97, 0x72, 0xda, 0x93, 0x50, 0xb8, 0x76, 0x24, 0x46, 0x22, 0x12, 0xbe, 0xcb, 0xa2, - 0x4b, 0x37, 0x3d, 0x0a, 0x75, 0x6b, 0x50, 0xac, 0x50, 0xac, 0xc6, 0x2b, 0x56, 0xf2, 0xba, 0xb5, - 0x0c, 0x22, 0xf0, 0x25, 0xb3, 0xb3, 0x0f, 0x6a, 0x59, 0x36, 0xfb, 0x04, 0xd9, 0xec, 0xda, 0x80, - 0xa9, 0x36, 0x80, 0xaa, 0x0d, 0xa8, 0xea, 0x04, 0x2c, 0xfa, 0x58, 0xa3, 0xd5, 0xca, 0x6c, 0xf6, - 0x74, 0x2a, 0x87, 0x2d, 0x2a, 0x5f, 0x33, 0xb2, 0xd2, 0x29, 0x6b, 0x2f, 0x92, 0x76, 0xad, 0xdc, - 0x69, 0x9d, 0x12, 0x76, 0xae, 0xac, 0x4d, 0x4f, 0xa0, 0xea, 0x09, 0x7a, 0x02, 0x7a, 0xa2, 0x4d, - 0x7a, 0x82, 0x3c, 0xa2, 0xd4, 0x1e, 0x4d, 0x81, 0x88, 0xd7, 0xc1, 0x45, 0xbc, 0x90, 0x43, 0x9c, - 0xe7, 0x10, 0x99, 0x03, 0x61, 0x56, 0x3d, 0xf9, 0xc4, 0xf4, 0x2d, 0xee, 0x42, 0xe1, 0xf6, 0xd3, - 0x77, 0xd8, 0xa3, 0xe0, 0xe8, 0x28, 0x88, 0x7e, 0x38, 0xd1, 0x50, 0xfa, 0x63, 0xa6, 0xf4, 0x62, - 0xf6, 0x01, 0xc8, 0x30, 0x1a, 0x6b, 0x4f, 0x22, 0x10, 0xda, 0xa4, 0xbd, 0x78, 0x28, 0x19, 0x46, - 0x1e, 0x40, 0xb0, 0x5a, 0xd2, 0x5e, 0xc3, 0x08, 0xd0, 0xf7, 0x9c, 0x67, 0x11, 0xd9, 0x61, 0x14, - 0xc4, 0x81, 0x1b, 0x78, 0xf6, 0x3f, 0x53, 0xc7, 0x4b, 0x3a, 0xa5, 0xd3, 0xa3, 0xff, 0xc6, 0x27, - 0x41, 0x0d, 0x40, 0x0d, 0x40, 0x0d, 0x1c, 0xb0, 0x1a, 0x60, 0x46, 0x06, 0x8b, 0xe9, 0x1e, 0x14, - 0xef, 0xfd, 0xa7, 0x74, 0x77, 0xae, 0x2f, 0xbe, 0x74, 0xfb, 0x83, 0x5e, 0xff, 0xf6, 0xfe, 0xf6, - 0xf2, 0xf6, 0x7a, 0xf0, 0xdf, 0x4f, 0x17, 0xd7, 0x57, 0x1f, 0xaf, 0xba, 0x7d, 0x6a, 0x89, 0x61, - 0xbc, 0xf2, 0xc4, 0x7c, 0x33, 0x6c, 0xd3, 0x0e, 0x0d, 0x3e, 0xdd, 0xdc, 0xf5, 0xba, 0x97, 0xb3, - 0xbf, 0x7f, 0x30, 0x3d, 0x98, 0xf7, 0x80, 0x50, 0x13, 0x42, 0x4d, 0x2d, 0x37, 0x25, 0x03, 0xd7, - 0xf1, 0x6c, 0x39, 0x64, 0x30, 0x1d, 0x97, 0x94, 0x31, 0xb9, 0x87, 0xc6, 0x54, 0xc4, 0xa4, 0xec, - 0x06, 0x0d, 0x45, 0x4c, 0xca, 0x56, 0xe3, 0x5c, 0xcc, 0x55, 0x2b, 0xf3, 0x4e, 0x3c, 0xd3, 0x2e, - 0x19, 0x26, 0x5b, 0x76, 0x80, 0xbe, 0x40, 0x5f, 0xa0, 0x2f, 0x2d, 0xfa, 0x92, 0x17, 0xad, 0x26, - 0x73, 0xf3, 0xf9, 0x9c, 0xdb, 0x39, 0x79, 0x14, 0xa8, 0xd6, 0x53, 0x78, 0x44, 0x0e, 0x3c, 0xdc, - 0x00, 0x54, 0x1b, 0x10, 0xd5, 0x06, 0x48, 0xf5, 0x01, 0x13, 0x4f, 0x9c, 0x02, 0x45, 0x47, 0x5c, - 0xe6, 0x23, 0xfd, 0x79, 0x51, 0x96, 0xa7, 0x26, 0x40, 0xcd, 0x5c, 0x94, 0xba, 0xf2, 0x0c, 0x68, - 0x04, 0x68, 0x04, 0x68, 0x04, 0x68, 0x04, 0x68, 0x84, 0x3d, 0x2e, 0x43, 0x5d, 0xcc, 0x00, 0x25, - 0x87, 0x7d, 0x24, 0x1d, 0x32, 0xc4, 0x51, 0xdf, 0xca, 0x58, 0xdf, 0x4a, 0x6c, 0xaf, 0xf0, 0x97, - 0xb2, 0x26, 0x30, 0xb8, 0x47, 0x11, 0xcf, 0xe0, 0x49, 0x44, 0x91, 0x1c, 0x0a, 0x3b, 0x8c, 0x64, - 0x10, 0xc9, 0xf8, 0x99, 0x3e, 0xfc, 0x99, 0x7f, 0x04, 0x8a, 0x96, 0x68, 0x0c, 0x50, 0x14, 0x2d, - 0xd5, 0x68, 0x6a, 0xa2, 0x68, 0x89, 0x8e, 0x7b, 0xa7, 0xd2, 0x8f, 0xdf, 0x9d, 0x32, 0x64, 0xa3, - 0xce, 0x09, 0x49, 0xf6, 0x1d, 0x7f, 0x2c, 0xc8, 0x4b, 0x7a, 0x78, 0x9a, 0x5a, 0x32, 0xba, 0x8a, - 0x2c, 0xde, 0x7f, 0x4a, 0xfe, 0xf3, 0x22, 0x44, 0xce, 0x45, 0xff, 0x63, 0xe4, 0x24, 0x17, 0x4f, - 0x3e, 0xc8, 0xb1, 0x4c, 0xac, 0xc3, 0x13, 0x7a, 0x8f, 0x90, 0xa7, 0x85, 0x68, 0xeb, 0x8f, 0xb4, - 0x73, 0x7e, 0x7a, 0xfa, 0xee, 0xec, 0xf4, 0xf4, 0xe4, 0xec, 0xb7, 0xb3, 0x93, 0xdf, 0xdf, 0xbe, - 0xed, 0xbc, 0xe3, 0x68, 0xa4, 0x5e, 0xdb, 0x29, 0x1b, 0xea, 0x95, 0x3e, 0xec, 0x91, 0x31, 0x9a, - 0x78, 0x07, 0x31, 0xa5, 0xd6, 0x59, 0x1b, 0x4b, 0x3e, 0x27, 0x0d, 0xe3, 0x13, 0xc6, 0x27, 0x8c, - 0xcf, 0x03, 0x36, 0x3e, 0xa9, 0xa1, 0xc0, 0xc2, 0x95, 0xa9, 0x0a, 0x01, 0x1a, 0x39, 0xf6, 0x1d, - 0xcf, 0x0e, 0xa3, 0x20, 0x14, 0x11, 0x47, 0xb4, 0x21, 0xfb, 0x00, 0x34, 0x0c, 0x04, 0xdc, 0x03, - 0xee, 0x8d, 0x87, 0x7b, 0xf2, 0xda, 0x2b, 0x27, 0x0c, 0x3d, 0xe9, 0x3a, 0x5f, 0x3d, 0x61, 0x2f, - 0x20, 0x81, 0xb9, 0x1a, 0x6b, 0xd3, 0x03, 0xd1, 0x18, 0x0a, 0x8d, 0xa1, 0x9a, 0x06, 0xac, 0xda, - 0x80, 0xab, 0x4e, 0x00, 0x63, 0xf2, 0xcc, 0x91, 0x91, 0xcf, 0x19, 0x3d, 0x98, 0x80, 0x8b, 0x89, - 0x41, 0xb5, 0x09, 0x21, 0x65, 0xe1, 0x9d, 0x3f, 0x7d, 0xfc, 0x2a, 0x22, 0x3b, 0x18, 0xad, 0xa9, - 0xe4, 0x09, 0x9f, 0x11, 0xb0, 0xe9, 0x81, 0x30, 0x02, 0x60, 0x04, 0xc0, 0x08, 0x80, 0x11, 0xc0, - 0xc6, 0xfd, 0xe4, 0x19, 0xd5, 0x2c, 0xd6, 0x9c, 0x33, 0x90, 0xe6, 0xc9, 0xb0, 0x2e, 0xff, 0xf0, - 0x0d, 0x9d, 0x64, 0xcd, 0xb8, 0x32, 0x83, 0x7c, 0xee, 0x31, 0xcc, 0x19, 0xd8, 0xf4, 0x39, 0x35, - 0xe4, 0xe8, 0x98, 0xc4, 0x37, 0x6b, 0xaa, 0xed, 0xdd, 0xd1, 0xd7, 0x97, 0xa9, 0x6d, 0x84, 0x1b, - 0x8e, 0xda, 0x41, 0xf5, 0xe1, 0x00, 0x0c, 0xf2, 0x4c, 0x74, 0x9e, 0xf9, 0x4e, 0x4c, 0xe1, 0xd3, - 0x60, 0x8a, 0xc3, 0x14, 0x87, 0x29, 0x0e, 0x53, 0x9c, 0x8d, 0xfb, 0x71, 0x67, 0x92, 0x43, 0x53, - 0xcc, 0x2f, 0xba, 0x90, 0xf6, 0x56, 0xde, 0xa9, 0x2f, 0x56, 0x9e, 0x09, 0xad, 0x01, 0xad, 0x01, - 0xad, 0x01, 0xad, 0xc1, 0xa7, 0x35, 0xea, 0xc2, 0x1e, 0x8b, 0xa9, 0xa3, 0x67, 0x4a, 0x9b, 0xb5, - 0xb3, 0x67, 0x6e, 0xdf, 0xee, 0xae, 0xfe, 0x73, 0x73, 0x71, 0x3d, 0xe8, 0xf5, 0x6f, 0x7b, 0xdd, - 0xfe, 0xfd, 0x97, 0xc1, 0xe7, 0x8b, 0xeb, 0x4f, 0xdd, 0x41, 0xff, 0xd3, 0x75, 0xf7, 0x98, 0xb3, - 0xbe, 0x79, 0xc2, 0x16, 0xb6, 0xe2, 0x0d, 0x5d, 0x95, 0xdc, 0xbb, 0xc1, 0xdd, 0xc5, 0x9f, 0xdd, - 0xf9, 0xbf, 0x8f, 0xdb, 0x18, 0xa6, 0x69, 0x7e, 0x03, 0x3f, 0x5c, 0x7d, 0xfc, 0xd8, 0xed, 0x77, - 0x6f, 0xee, 0xb1, 0x8b, 0x1a, 0xbb, 0x78, 0x71, 0xf3, 0x05, 0xfb, 0xa7, 0xb1, 0x7f, 0x37, 0xb7, - 0xfc, 0xfc, 0xc7, 0x42, 0xf9, 0xe1, 0x60, 0x2e, 0x70, 0xfc, 0xc2, 0x85, 0x72, 0xc2, 0x0b, 0xe5, - 0x3c, 0xe5, 0xbf, 0x56, 0x2d, 0x77, 0xcb, 0xef, 0x92, 0xb5, 0xf7, 0x96, 0x4b, 0x37, 0xa5, 0xea, - 0xfb, 0xa8, 0x41, 0xbe, 0x5c, 0xb6, 0xb9, 0x20, 0x6a, 0x62, 0x4c, 0x5b, 0x2b, 0x94, 0xa9, 0x0d, - 0x22, 0x2e, 0x64, 0xef, 0x50, 0x95, 0xae, 0x33, 0xb8, 0xbd, 0xab, 0xae, 0xee, 0xa3, 0xf4, 0x6d, - 0xb1, 0xdc, 0x05, 0x42, 0x71, 0xe3, 0x74, 0x72, 0xd7, 0x1c, 0xdb, 0xce, 0x3e, 0xf5, 0x73, 0xe0, - 0xa8, 0x24, 0xa3, 0xad, 0x1c, 0xd3, 0x45, 0x04, 0x62, 0x0d, 0x55, 0x97, 0x66, 0x3a, 0xa6, 0xb8, - 0x3c, 0xc3, 0xac, 0x81, 0xf4, 0x04, 0x41, 0x5d, 0x00, 0x34, 0x58, 0xe2, 0x38, 0x0e, 0xe2, 0x99, - 0xbe, 0x0f, 0x62, 0xe1, 0xc7, 0xd2, 0xf1, 0x6c, 0xd7, 0x09, 0x1d, 0x97, 0xa2, 0x8f, 0xc9, 0x4b, - 0x5c, 0x72, 0xd3, 0x13, 0x74, 0x55, 0x1b, 0xc9, 0x95, 0x22, 0xb2, 0x98, 0x2f, 0x65, 0x8c, 0x97, - 0xa9, 0x4f, 0x1e, 0xb5, 0x2a, 0x63, 0x8b, 0xd8, 0xb2, 0x29, 0x2f, 0xbe, 0x3e, 0x77, 0xcd, 0x9a, - 0x79, 0x54, 0xd7, 0x7f, 0x16, 0xc2, 0x3a, 0x91, 0xff, 0x32, 0xdc, 0x21, 0x5f, 0xa1, 0x8d, 0x6e, - 0xee, 0x86, 0x41, 0x03, 0xa7, 0xb5, 0x6b, 0xa1, 0x9b, 0x7b, 0x0b, 0x23, 0x19, 0xe4, 0x37, 0x0a, - 0xa7, 0xbe, 0x8c, 0xf9, 0x72, 0xcf, 0x09, 0x75, 0x74, 0xee, 0x45, 0xe7, 0xde, 0x66, 0x61, 0xa8, - 0x36, 0x38, 0xaa, 0x0f, 0x96, 0x68, 0xe1, 0x89, 0x18, 0xa6, 0xd2, 0x6d, 0xe0, 0xcf, 0x30, 0x2f, - 0xfd, 0x16, 0x9b, 0x01, 0x6a, 0x2c, 0xa6, 0x1e, 0x18, 0x29, 0x6d, 0xda, 0x5e, 0x18, 0xf4, 0x2c, - 0x41, 0xde, 0x2e, 0x1e, 0x63, 0x43, 0xa0, 0x6a, 0xa0, 0x6a, 0xa0, 0x6a, 0x70, 0x1b, 0xad, 0x08, - 0x67, 0x70, 0x1b, 0x6d, 0x65, 0xe1, 0xb8, 0x8d, 0x56, 0xfd, 0x39, 0xb8, 0x8d, 0x66, 0xec, 0xd1, - 0xe3, 0x36, 0x9a, 0x09, 0x54, 0x1f, 0x50, 0x2e, 0x53, 0xc6, 0xa2, 0x68, 0x6f, 0xb9, 0xcc, 0xa6, - 0xb4, 0xd6, 0x6b, 0xf2, 0x30, 0xb7, 0xc5, 0x9d, 0xbb, 0xbc, 0x9f, 0xad, 0xb8, 0xb7, 0x7c, 0x93, - 0xcb, 0xc5, 0x8b, 0xcc, 0x3f, 0xbe, 0x9b, 0xbd, 0x07, 0x4a, 0x69, 0xda, 0x99, 0x38, 0x67, 0x4a, - 0xbd, 0x36, 0xc4, 0x90, 0x6d, 0x4c, 0xaf, 0x4f, 0xa7, 0x04, 0x33, 0xe9, 0x5f, 0xfc, 0x82, 0xa9, - 0x7e, 0x09, 0x17, 0x8d, 0x35, 0x42, 0x16, 0x59, 0x40, 0xda, 0x1c, 0x69, 0xf3, 0xc6, 0x20, 0x9d, - 0xcc, 0x93, 0xa7, 0x94, 0x50, 0x8b, 0xee, 0xaa, 0xaa, 0x06, 0xe6, 0x1d, 0xd5, 0x78, 0x1e, 0xcb, - 0x2a, 0x55, 0x8d, 0xcd, 0xa3, 0xa9, 0x4c, 0x25, 0xed, 0x56, 0x47, 0x5a, 0x4b, 0x48, 0x53, 0x43, - 0xa8, 0x7a, 0x3e, 0x44, 0xa6, 0x4f, 0x0d, 0x26, 0x8f, 0x86, 0xec, 0x71, 0x5a, 0x34, 0x6a, 0x40, - 0x59, 0x5d, 0x08, 0x15, 0x0e, 0xf8, 0xd8, 0x73, 0x62, 0xe1, 0xbb, 0xcf, 0xb6, 0xfb, 0xcd, 0x99, - 0xb9, 0xf1, 0x22, 0x92, 0x93, 0x58, 0xba, 0xca, 0x07, 0x9d, 0x42, 0xe1, 0x06, 0xba, 0xaa, 0x10, - 0xa1, 0x55, 0xea, 0xa3, 0x5d, 0xe5, 0x47, 0x61, 0xa6, 0x90, 0xdf, 0xd4, 0xa6, 0x32, 0x4c, 0xc8, - 0x0d, 0x12, 0x72, 0x43, 0x84, 0xe3, 0x26, 0x75, 0xbd, 0x2a, 0x4e, 0xb7, 0x9c, 0xe6, 0x78, 0x24, - 0x7f, 0x8a, 0xa1, 0x4d, 0x2c, 0xac, 0x39, 0xd6, 0xdc, 0xfa, 0x14, 0xc3, 0x3c, 0x0f, 0x63, 0x0b, - 0x76, 0x09, 0x9b, 0x30, 0xc0, 0xf7, 0xe0, 0x6c, 0xa2, 0xb0, 0x6f, 0xde, 0x07, 0x59, 0xeb, 0x9c, - 0xe6, 0xfd, 0x0f, 0x0d, 0xad, 0xf8, 0xb7, 0x8c, 0x67, 0x46, 0x21, 0x17, 0x44, 0x16, 0x93, 0x07, - 0x36, 0x02, 0x1b, 0x81, 0x8d, 0xc0, 0x46, 0xc3, 0xb1, 0xf1, 0x9f, 0xa9, 0x90, 0xfe, 0x98, 0xdd, - 0x8c, 0xdc, 0xfe, 0x18, 0x44, 0xb0, 0x81, 0x95, 0xc0, 0x4a, 0x60, 0xa5, 0xe1, 0x58, 0x19, 0x47, - 0xce, 0x68, 0x24, 0x5d, 0xe2, 0x6e, 0xbb, 0x2f, 0x22, 0x5e, 0x48, 0x1e, 0xd8, 0x08, 0x6c, 0x04, - 0x36, 0x02, 0x1b, 0x0d, 0xc7, 0xc6, 0x1f, 0x8e, 0x3f, 0x64, 0xf4, 0xb1, 0x8b, 0xc9, 0xc3, 0xc7, - 0x06, 0x36, 0x02, 0x1b, 0x81, 0x8d, 0x75, 0x60, 0x63, 0x13, 0xf5, 0x0f, 0x94, 0x16, 0x21, 0x4b, - 0x41, 0x04, 0x11, 0xba, 0xeb, 0xb6, 0xe6, 0xa2, 0x04, 0x25, 0xc6, 0x56, 0x5c, 0x2c, 0x90, 0x44, - 0xd9, 0x7a, 0xab, 0x19, 0xd3, 0x01, 0x65, 0x31, 0x59, 0x3a, 0xf4, 0x65, 0x31, 0xe4, 0x81, 0x37, - 0xda, 0xe2, 0x98, 0xeb, 0xf9, 0xf2, 0x2e, 0xd7, 0x57, 0x67, 0x70, 0x8d, 0x8c, 0x96, 0xe7, 0xff, - 0x32, 0xdd, 0x52, 0x03, 0xce, 0xa9, 0xea, 0x5f, 0x4e, 0x4c, 0xa9, 0x7f, 0xd1, 0x2e, 0xcf, 0x3d, - 0xe4, 0xea, 0x17, 0xdd, 0xf2, 0xdb, 0x96, 0xd5, 0xbe, 0xd0, 0xdc, 0xe8, 0x27, 0xbd, 0xc1, 0x8f, - 0x3a, 0x7a, 0xf8, 0x92, 0x06, 0x08, 0x32, 0x3c, 0xc9, 0x7d, 0x8e, 0xb2, 0xcd, 0x87, 0x98, 0xd0, - 0xa6, 0x1d, 0x56, 0x68, 0x02, 0x01, 0x81, 0x80, 0x40, 0x40, 0x20, 0xe0, 0x3e, 0xc6, 0xd2, 0xb4, - 0x61, 0x0e, 0x37, 0x8a, 0x0e, 0x33, 0x74, 0xa2, 0xa9, 0x19, 0x69, 0x03, 0x25, 0x09, 0x18, 0x98, - 0x1c, 0x17, 0x99, 0x6d, 0x9e, 0x18, 0x8e, 0x85, 0x1d, 0x06, 0xd2, 0x8f, 0x09, 0x42, 0x24, 0x19, - 0x82, 0xb8, 0x2d, 0x84, 0xdb, 0x42, 0x04, 0x46, 0xc6, 0xc1, 0xdd, 0x16, 0xca, 0xc8, 0x91, 0x4d, - 0xdb, 0x87, 0xa0, 0x90, 0x3a, 0xbc, 0x89, 0xda, 0x44, 0x19, 0xfe, 0x04, 0xa7, 0xa8, 0xef, 0xab, - 0x47, 0xe1, 0x09, 0x67, 0x14, 0x89, 0x11, 0xa5, 0x4b, 0x71, 0x46, 0x40, 0xab, 0x57, 0x60, 0xbc, - 0xbd, 0x4f, 0x6d, 0xb5, 0xd5, 0x23, 0x7d, 0x9f, 0x37, 0xe5, 0x0a, 0xff, 0x3b, 0xf3, 0x71, 0x62, - 0xe6, 0xad, 0x7f, 0x14, 0xfc, 0xf0, 0xc5, 0xd0, 0xce, 0xc0, 0x58, 0xe6, 0x3b, 0x09, 0xa8, 0xb5, - 0x30, 0x68, 0x94, 0xbc, 0x15, 0x03, 0xde, 0x03, 0xe4, 0x01, 0xf2, 0x00, 0x79, 0x80, 0x7c, 0x6b, - 0x40, 0xbe, 0xad, 0x00, 0x9e, 0x6e, 0x00, 0x2d, 0x88, 0xaf, 0x93, 0x05, 0x90, 0x03, 0xc8, 0x01, - 0xe4, 0x00, 0x72, 0xe3, 0x80, 0xbc, 0x51, 0xd4, 0x6e, 0xa4, 0xea, 0x77, 0x15, 0x97, 0xad, 0xd4, - 0xd4, 0xb6, 0x08, 0x83, 0x2c, 0x28, 0x06, 0xae, 0x8e, 0xa8, 0x28, 0x06, 0xae, 0xc3, 0xd6, 0x41, - 0x46, 0x2b, 0x4b, 0x87, 0x21, 0xa3, 0x45, 0x92, 0x53, 0xb1, 0xe8, 0x93, 0x5b, 0xc1, 0x50, 0x74, - 0x87, 0x63, 0xd1, 0x4b, 0x56, 0x65, 0x70, 0x96, 0x2b, 0x92, 0x93, 0xef, 0xe4, 0xed, 0xf1, 0x8a, - 0x88, 0x22, 0xdb, 0x85, 0x6c, 0x97, 0x11, 0x46, 0x75, 0xcb, 0xb2, 0x5d, 0x05, 0xb2, 0x44, 0x5c, - 0x35, 0xb7, 0xf1, 0x09, 0xf0, 0xa3, 0xe1, 0x47, 0xc3, 0x8f, 0x36, 0xd8, 0x8f, 0x46, 0x25, 0x71, - 0x8a, 0x90, 0x72, 0x28, 0xfc, 0x58, 0x8e, 0xa4, 0x88, 0x6c, 0x4f, 0x4e, 0x62, 0x62, 0x74, 0xcc, - 0x52, 0x07, 0x32, 0x02, 0x19, 0x81, 0x8c, 0x40, 0xc6, 0xda, 0x76, 0x88, 0x24, 0xc8, 0xc5, 0x12, - 0xec, 0x22, 0x0f, 0x7a, 0x71, 0x09, 0x3c, 0x73, 0x10, 0x8c, 0x5d, 0xfc, 0xa9, 0x83, 0x62, 0x34, - 0xa2, 0x6f, 0xd1, 0x4c, 0x4c, 0x23, 0x0d, 0x96, 0xd1, 0x06, 0xcd, 0x08, 0x8c, 0x9b, 0x26, 0x42, - 0xef, 0xc4, 0x5e, 0x1d, 0xc2, 0xec, 0x8d, 0x23, 0x0c, 0xc2, 0xec, 0xec, 0xc8, 0x81, 0x30, 0x7b, - 0x71, 0x98, 0x9d, 0x2e, 0xa0, 0x6b, 0x91, 0x87, 0xda, 0xfb, 0x72, 0xf2, 0xbd, 0x3d, 0xdd, 0x36, - 0x66, 0x9b, 0x4a, 0x10, 0x60, 0x9f, 0x51, 0x41, 0x44, 0x1d, 0x11, 0x75, 0x23, 0x9c, 0xc8, 0x96, - 0x45, 0xd4, 0x5d, 0x11, 0xda, 0x43, 0x19, 0x09, 0x97, 0x64, 0xde, 0x69, 0xca, 0x8b, 0xeb, 0x64, - 0xd1, 0xcf, 0x11, 0x11, 0x22, 0x44, 0x88, 0x0c, 0x8e, 0x10, 0x85, 0x41, 0x14, 0x93, 0xc9, 0xeb, - 0x9a, 0x62, 0x3d, 0x25, 0xa0, 0xd5, 0xf5, 0xa7, 0x8f, 0xb3, 0xf7, 0xfd, 0xb5, 0xb7, 0x51, 0x27, - 0x22, 0x17, 0x7f, 0xaf, 0xe3, 0x06, 0xaf, 0xf4, 0x94, 0x5c, 0xc2, 0xe2, 0x51, 0xe0, 0x09, 0x5a, - 0x25, 0xf7, 0x42, 0x96, 0x46, 0xc9, 0x75, 0xa0, 0xe4, 0xa0, 0xe4, 0xa0, 0xe4, 0xf4, 0x2d, 0xdb, - 0x94, 0x10, 0x9d, 0xe0, 0x17, 0xab, 0x4d, 0x02, 0xe1, 0x27, 0xb6, 0x74, 0xc9, 0xc1, 0x80, 0x03, - 0x14, 0xd8, 0xc1, 0x81, 0x0b, 0x24, 0xd8, 0xc1, 0x82, 0x1d, 0x34, 0xea, 0x00, 0x0f, 0x1a, 0x10, - 0x21, 0x02, 0x13, 0x7a, 0xcb, 0x99, 0x1d, 0x0a, 0x2c, 0xba, 0x74, 0x2b, 0xf5, 0x26, 0x92, 0x1a, - 0xc2, 0xac, 0x06, 0x31, 0xab, 0x61, 0xcc, 0x63, 0x20, 0xd3, 0xc9, 0x0d, 0x45, 0x22, 0x32, 0xe5, - 0x6a, 0x5b, 0x2b, 0x54, 0xbb, 0x5b, 0x6a, 0x6c, 0x8d, 0x20, 0x2e, 0xb4, 0x28, 0xb4, 0x28, 0xb4, - 0xe8, 0x7e, 0x69, 0xd1, 0x79, 0xbe, 0x2d, 0x08, 0x89, 0xc2, 0x51, 0x39, 0x8d, 0xfa, 0x96, 0x90, - 0xe6, 0x55, 0x52, 0x0f, 0x19, 0x3f, 0xff, 0xe1, 0x4c, 0x18, 0xe4, 0x63, 0xb9, 0x35, 0xbd, 0xdb, - 0xfe, 0xfd, 0xa0, 0x7f, 0x7b, 0xdd, 0x1d, 0xf4, 0x3f, 0x5d, 0x77, 0x07, 0xb7, 0xbd, 0xfb, 0xab, - 0xdb, 0x1b, 0x6a, 0x59, 0xf9, 0xec, 0x78, 0x53, 0x31, 0x53, 0x91, 0x7f, 0x91, 0xd2, 0x9d, 0xfd, - 0xf9, 0x1f, 0x39, 0xc5, 0xdd, 0xdb, 0x33, 0xb8, 0xb8, 0xf9, 0x92, 0x7c, 0x78, 0x4c, 0xfe, 0xf0, - 0x5f, 0xaf, 0xf6, 0x63, 0x87, 0x6e, 0x6e, 0xef, 0xb1, 0x43, 0x5b, 0x77, 0xe8, 0xee, 0xe2, 0xcf, - 0x2e, 0xb6, 0x68, 0xeb, 0x16, 0x7d, 0xb8, 0xfa, 0xf8, 0xb1, 0xdb, 0xef, 0xde, 0xb0, 0xb1, 0x12, - 0x29, 0xc5, 0x87, 0x3d, 0x55, 0xcb, 0xf0, 0xcb, 0xda, 0xe1, 0x97, 0x21, 0x8b, 0x55, 0x3f, 0x53, - 0x10, 0x67, 0xb1, 0x74, 0xcb, 0x4e, 0x68, 0x6a, 0xdb, 0x52, 0x7a, 0x0c, 0x35, 0x6e, 0x53, 0x4f, - 0xbc, 0xa6, 0xcc, 0x6f, 0x59, 0xf4, 0xa5, 0x6e, 0x53, 0x4f, 0x0c, 0x2e, 0x45, 0xd8, 0x0b, 0xa2, - 0xb8, 0x3f, 0x5b, 0x60, 0x1b, 0x13, 0x93, 0xc1, 0x63, 0xe8, 0x89, 0x9f, 0x34, 0xd1, 0x95, 0x97, - 0xbc, 0xe4, 0x2a, 0x55, 0xd4, 0xde, 0xd4, 0x1e, 0x33, 0x41, 0x5a, 0x12, 0xb5, 0x37, 0xe5, 0xb9, - 0x0f, 0xb7, 0xb3, 0x60, 0x61, 0x18, 0xa3, 0x8e, 0x7c, 0x7f, 0x5e, 0x02, 0x66, 0x4f, 0x42, 0xe1, - 0xda, 0x91, 0x18, 0x89, 0x48, 0xf8, 0x2e, 0xa9, 0x6e, 0xda, 0xf4, 0x08, 0xd4, 0xcf, 0x40, 0x51, - 0x41, 0x51, 0x91, 0xc1, 0x30, 0x59, 0xfd, 0x4c, 0x46, 0x62, 0xe9, 0x93, 0x80, 0xd9, 0x07, 0x18, - 0x9e, 0x05, 0x3c, 0x41, 0x16, 0x10, 0x59, 0xc0, 0x5a, 0x81, 0xc4, 0xcc, 0x70, 0x23, 0x5f, 0x16, - 0x90, 0xa0, 0x6f, 0x31, 0x83, 0x5d, 0x4c, 0x18, 0x01, 0x7c, 0x45, 0x8e, 0xca, 0x34, 0x5d, 0xb0, - 0x76, 0x5a, 0x6b, 0x04, 0x9d, 0xb0, 0xd8, 0xf1, 0x19, 0x55, 0x1a, 0xc0, 0x67, 0xe0, 0x33, 0x27, - 0x3e, 0x93, 0x45, 0x2c, 0xcc, 0x45, 0x68, 0x44, 0x50, 0x5a, 0x1f, 0x41, 0x39, 0x90, 0x1c, 0x0d, - 0x53, 0x3c, 0xc5, 0x62, 0xca, 0xd7, 0xa4, 0xcb, 0xbd, 0x0b, 0x85, 0xdb, 0x4f, 0x17, 0xdb, 0xc2, - 0x60, 0xd9, 0x28, 0x88, 0x7e, 0x38, 0xd1, 0x50, 0xfa, 0x63, 0xe2, 0xf4, 0x4d, 0x96, 0x30, 0x32, - 0x38, 0x08, 0x8c, 0x21, 0x30, 0x46, 0x06, 0xec, 0xf4, 0x19, 0x1c, 0x5a, 0x81, 0xb5, 0x0c, 0xbd, - 0x3e, 0xdd, 0x08, 0xc8, 0x7a, 0xce, 0xb3, 0x88, 0xec, 0x30, 0x0a, 0xe2, 0xc0, 0x0d, 0x3c, 0xfb, - 0x9f, 0xa9, 0xe3, 0x25, 0x9d, 0x47, 0xe9, 0xd0, 0x76, 0xe3, 0x13, 0x00, 0xbb, 0x80, 0x5d, 0xc0, - 0xae, 0xc1, 0xb0, 0xcb, 0x24, 0xb9, 0x16, 0xf1, 0x3d, 0x01, 0x9e, 0xfb, 0x01, 0xe9, 0x2e, 0x5c, - 0x5f, 0x7c, 0xe9, 0xf6, 0x07, 0xbd, 0xfe, 0xed, 0xfd, 0xed, 0xe5, 0xed, 0xf5, 0xe0, 0xbf, 0x9f, - 0x2e, 0xae, 0xaf, 0x3e, 0x5e, 0x75, 0xfb, 0x54, 0x9c, 0xce, 0x70, 0x25, 0x80, 0xe9, 0x86, 0xc4, - 0xa6, 0x9d, 0x18, 0x7c, 0xba, 0xb9, 0xeb, 0x75, 0x2f, 0x67, 0x7f, 0xff, 0x60, 0x5a, 0xb0, 0xe7, - 0x01, 0xa1, 0x0a, 0x84, 0x2a, 0x1a, 0x32, 0xad, 0x02, 0xd7, 0xf1, 0x6c, 0xca, 0xc1, 0x93, 0x29, - 0x45, 0x74, 0x84, 0x2f, 0x67, 0x3a, 0xcd, 0xe3, 0x3f, 0x30, 0x9c, 0x58, 0x0c, 0xa7, 0xc5, 0xe6, - 0xc2, 0x6c, 0xca, 0x70, 0x1e, 0xe6, 0x64, 0x24, 0xc3, 0xd3, 0x49, 0xa7, 0x06, 0x11, 0x4e, 0x08, - 0xea, 0x00, 0xf5, 0x80, 0x7a, 0x87, 0x8e, 0x7a, 0x64, 0xc5, 0x6b, 0x4f, 0x33, 0xef, 0x85, 0xde, - 0xe9, 0x9a, 0x93, 0x45, 0xa1, 0x9a, 0x61, 0x80, 0xc0, 0x05, 0x0c, 0xec, 0x00, 0xc1, 0x0e, 0x14, - 0xfc, 0x80, 0x41, 0xeb, 0x17, 0xa3, 0x08, 0xa2, 0xf9, 0x73, 0xa0, 0x28, 0x53, 0x4b, 0x80, 0x92, - 0xa9, 0x38, 0x6d, 0x85, 0x36, 0x90, 0x18, 0x48, 0x0c, 0x24, 0x06, 0x12, 0xef, 0x2b, 0x12, 0x37, - 0x6a, 0x8c, 0x2f, 0x66, 0x28, 0x91, 0xc1, 0x2d, 0x82, 0xc6, 0xa8, 0x6f, 0x2b, 0x5d, 0xdf, 0x46, - 0xa4, 0xde, 0x19, 0x4a, 0xd9, 0x12, 0xf8, 0x69, 0x61, 0xe4, 0x2b, 0x78, 0x12, 0x51, 0x24, 0x87, - 0xc2, 0x0e, 0x23, 0x19, 0x44, 0x32, 0x7e, 0xa6, 0x0b, 0x83, 0xe5, 0x49, 0xa3, 0x88, 0xa2, 0x9c, - 0xe1, 0x85, 0x22, 0x0a, 0x14, 0x51, 0xd4, 0x69, 0x44, 0xbd, 0xdc, 0xb5, 0x92, 0x7e, 0xfc, 0xee, - 0x94, 0x30, 0x1b, 0x70, 0x4e, 0x40, 0xaa, 0xef, 0xf8, 0x63, 0x41, 0x56, 0x72, 0x40, 0xdb, 0x0c, - 0x8b, 0xc1, 0x95, 0x21, 0xf5, 0x3a, 0x53, 0xb2, 0x9f, 0x17, 0xa1, 0x4f, 0x6a, 0xba, 0x1f, 0x23, - 0x27, 0x29, 0xe0, 0xfe, 0x20, 0xc7, 0x32, 0xb1, 0x8e, 0x4e, 0xe8, 0x3c, 0x16, 0xda, 0xd6, 0x62, - 0xad, 0x3b, 0xaa, 0xce, 0xf9, 0xe9, 0xe9, 0xbb, 0xb3, 0xd3, 0xd3, 0x93, 0xb3, 0xdf, 0xce, 0x4e, - 0x7e, 0x7f, 0xfb, 0xb6, 0xf3, 0x8e, 0xb2, 0x51, 0x29, 0xfb, 0xe9, 0x19, 0xe2, 0x2d, 0x3d, 0xb4, - 0x71, 0x6c, 0xff, 0xcc, 0xec, 0x8d, 0x29, 0xd0, 0x7d, 0x6d, 0x2c, 0xe2, 0x9c, 0x24, 0x8c, 0x30, - 0x18, 0x61, 0x30, 0xc2, 0x0c, 0x36, 0xc2, 0xa8, 0x44, 0xd5, 0xc2, 0xd5, 0x81, 0x15, 0x8f, 0x5f, - 0x8e, 0x7d, 0xc7, 0xb3, 0xc3, 0x28, 0x08, 0x45, 0x44, 0xe9, 0xe5, 0x66, 0x09, 0xa3, 0x71, 0x11, - 0xe0, 0x15, 0xf0, 0x4a, 0x06, 0xaf, 0x64, 0xb5, 0x1f, 0x4e, 0x18, 0x7a, 0xd2, 0x75, 0xbe, 0x7a, - 0xc2, 0x5e, 0x88, 0x2c, 0x53, 0x35, 0xc8, 0xa6, 0x07, 0xa1, 0x51, 0x86, 0x71, 0xc0, 0xc1, 0x05, - 0x20, 0xec, 0x40, 0xc2, 0x0e, 0x28, 0x75, 0x00, 0x0b, 0xb1, 0xa7, 0x88, 0xcc, 0xa4, 0x21, 0x3b, - 0x88, 0xce, 0xf3, 0xeb, 0xc4, 0xf7, 0x78, 0x22, 0x98, 0x3f, 0x7d, 0xfc, 0x2a, 0x22, 0x3b, 0x18, - 0xad, 0xa9, 0xba, 0x09, 0xbd, 0x52, 0xdd, 0xf4, 0x20, 0x28, 0x55, 0x28, 0x55, 0x28, 0xd5, 0x03, - 0x56, 0xaa, 0x64, 0x19, 0xab, 0x2c, 0x16, 0x9c, 0x13, 0x92, 0xa4, 0xcd, 0x60, 0x2d, 0xff, 0xd0, - 0x0f, 0xf7, 0x61, 0xc9, 0x68, 0x31, 0x81, 0x6c, 0x8e, 0x3c, 0x53, 0x86, 0x2b, 0xa5, 0xcf, 0x98, - 0x2b, 0x21, 0x16, 0xb7, 0xac, 0x69, 0xd3, 0xfa, 0x23, 0xe5, 0xcf, 0x84, 0xd5, 0x7a, 0xca, 0x47, - 0x66, 0x52, 0x7b, 0xd8, 0x23, 0xc3, 0x34, 0x13, 0x95, 0x65, 0xaa, 0x39, 0x2f, 0x7c, 0x0a, 0x4c, - 0x52, 0x98, 0xa4, 0x30, 0x49, 0x11, 0xe7, 0xc1, 0x5d, 0xa0, 0x4a, 0x08, 0x3d, 0x2f, 0x28, 0xe7, - 0x19, 0x2c, 0xbe, 0xe5, 0x59, 0x40, 0x6b, 0xa0, 0x35, 0xd0, 0xfa, 0x90, 0xd1, 0x9a, 0x1b, 0x1b, - 0xac, 0x76, 0x4f, 0x1a, 0xbf, 0xbb, 0xfa, 0xcf, 0xcd, 0xc5, 0xf5, 0xa0, 0xd7, 0xbf, 0xed, 0x75, - 0xfb, 0xf7, 0x5f, 0x06, 0x9f, 0x2f, 0xae, 0x3f, 0xcd, 0xe7, 0xfd, 0x62, 0xdc, 0xf8, 0xee, 0x3d, - 0x9a, 0xcf, 0x8b, 0x4e, 0xfe, 0x8d, 0x81, 0xd1, 0x5b, 0x37, 0xea, 0x65, 0x6a, 0x34, 0x76, 0x6b, - 0xf7, 0x6e, 0x5d, 0xdc, 0x7c, 0xc1, 0x3e, 0x95, 0xd8, 0xa7, 0x9b, 0x5b, 0x3e, 0x7e, 0xda, 0xef, - 0x31, 0xe4, 0x2d, 0xaf, 0x1b, 0x6a, 0xc9, 0x85, 0x46, 0xda, 0xea, 0x41, 0x8b, 0xe7, 0x6e, 0xe3, - 0x5d, 0xb2, 0xc8, 0xde, 0x72, 0x8d, 0x4d, 0x55, 0x7f, 0x1e, 0xd5, 0xc8, 0x47, 0xcb, 0x6b, 0xce, - 0x9a, 0x4d, 0x0c, 0x69, 0x6a, 0x21, 0x32, 0xb5, 0x0f, 0x44, 0x85, 0xab, 0x1d, 0xdd, 0x52, 0x55, - 0x42, 0xf7, 0x6c, 0xd5, 0x25, 0x7b, 0x94, 0xbe, 0x2d, 0x96, 0x6f, 0x4b, 0x20, 0x0f, 0x1c, 0xce, - 0xd8, 0x9a, 0x03, 0xd6, 0x69, 0xe3, 0xbd, 0x5f, 0xca, 0x8a, 0x17, 0x9a, 0x0a, 0x17, 0x55, 0x49, - 0x25, 0x42, 0x7a, 0x26, 0x84, 0x3f, 0xd6, 0xa9, 0x59, 0xa7, 0x46, 0x72, 0x35, 0x46, 0xad, 0xce, - 0xa0, 0x0a, 0x47, 0x79, 0x1c, 0x07, 0xf1, 0x4c, 0x11, 0x06, 0xf1, 0xcc, 0xa9, 0x75, 0x3c, 0xdb, - 0x75, 0x42, 0xc7, 0xd5, 0xb9, 0x8f, 0xfe, 0x12, 0x9f, 0xda, 0x44, 0x59, 0x55, 0x35, 0x68, 0x95, - 0xe8, 0x6b, 0xc7, 0xf6, 0x28, 0x62, 0x79, 0xc4, 0x7d, 0x7e, 0xa8, 0x54, 0x01, 0x79, 0x64, 0x8e, - 0x1c, 0xfc, 0xe9, 0xfb, 0xf4, 0xd4, 0x6b, 0xd6, 0xe8, 0x96, 0xd3, 0x2f, 0x84, 0x69, 0x22, 0xff, - 0x25, 0xbc, 0x9b, 0xb8, 0x42, 0x13, 0x5d, 0x53, 0x6b, 0x12, 0x59, 0x0e, 0x2b, 0xce, 0x42, 0xd7, - 0x54, 0x83, 0x3c, 0x60, 0xb2, 0x9b, 0x33, 0x53, 0x5f, 0xc6, 0xf4, 0x39, 0xb9, 0x84, 0x2a, 0x3a, - 0xf5, 0x19, 0x06, 0x07, 0x5c, 0xb0, 0xc0, 0x0e, 0x0f, 0xec, 0x30, 0xc1, 0x0f, 0x17, 0xc4, 0x01, - 0x3c, 0xe3, 0x33, 0x6f, 0x4b, 0x3b, 0xdc, 0x26, 0x84, 0x02, 0x8b, 0xf8, 0xce, 0x73, 0x4a, 0x93, - 0xe6, 0xee, 0x33, 0x61, 0x74, 0xf5, 0x15, 0xda, 0x61, 0x03, 0xda, 0x01, 0xed, 0x80, 0x76, 0x13, - 0xa1, 0x1d, 0xb7, 0x32, 0x28, 0xd9, 0x12, 0xb7, 0x32, 0x36, 0xd3, 0xc7, 0xad, 0x8c, 0xc6, 0x8e, - 0x14, 0xb7, 0x32, 0xea, 0xa0, 0xf6, 0x80, 0x74, 0x7e, 0x2b, 0xd2, 0xf9, 0x9b, 0xb2, 0x0c, 0xaf, - 0xc9, 0xa2, 0x9b, 0x16, 0x79, 0x4e, 0xe8, 0x7e, 0xb6, 0xb4, 0xde, 0x72, 0xc9, 0x97, 0x8b, 0x15, - 0xcf, 0x3f, 0xbe, 0x9b, 0x2d, 0xf8, 0x20, 0x52, 0xfd, 0xe6, 0x26, 0x10, 0x89, 0x33, 0x57, 0x75, - 0x31, 0x90, 0xc9, 0x69, 0xc6, 0xe9, 0x54, 0x63, 0xc6, 0xe5, 0x8b, 0x7d, 0x3b, 0x55, 0x2f, 0x09, - 0xd1, 0xd3, 0xce, 0xda, 0x1e, 0x2c, 0xd2, 0x87, 0x0d, 0x7a, 0x9c, 0x6d, 0x4f, 0x1f, 0x6a, 0x7b, - 0x8c, 0x14, 0x12, 0x64, 0xe9, 0x5f, 0x89, 0x52, 0xc0, 0x9a, 0x23, 0xc6, 0xfd, 0x5d, 0x56, 0x9b, - 0x29, 0x6c, 0x8a, 0x5e, 0x85, 0x19, 0x49, 0x57, 0x1d, 0x92, 0x5a, 0x22, 0xbd, 0x1a, 0xa2, 0xaa, - 0xfb, 0xad, 0xa9, 0xf2, 0xe9, 0x55, 0xbd, 0x82, 0x28, 0x90, 0x6a, 0xf2, 0x6a, 0x00, 0x54, 0x5e, - 0x18, 0x2a, 0x1c, 0xcc, 0x71, 0x10, 0x8a, 0x28, 0x39, 0x93, 0x99, 0xb9, 0x1c, 0x3b, 0x71, 0x75, - 0xa4, 0x79, 0x19, 0x3d, 0x91, 0x23, 0x55, 0x55, 0x20, 0x95, 0x94, 0xb4, 0x72, 0x6d, 0x8f, 0x8e, - 0x52, 0x26, 0x52, 0xc6, 0xba, 0x4a, 0x98, 0x4c, 0xf9, 0x92, 0x29, 0x5d, 0x3a, 0x65, 0xcb, 0x0b, - 0xfe, 0xca, 0x4a, 0x95, 0x8c, 0xdd, 0x2d, 0xcd, 0xac, 0x99, 0x62, 0x76, 0x8c, 0x09, 0x46, 0x7e, - 0xf8, 0x62, 0x68, 0x27, 0xf8, 0x2a, 0x86, 0x63, 0x61, 0x87, 0x81, 0xf4, 0x63, 0x0d, 0x28, 0x29, - 0x24, 0xa7, 0x06, 0x27, 0x9d, 0xd6, 0xc1, 0x89, 0xc6, 0xb5, 0xde, 0x43, 0x00, 0x14, 0xf5, 0x6b, - 0xb7, 0xbc, 0x90, 0xa2, 0x5a, 0xfb, 0x73, 0xec, 0x0c, 0x1f, 0xa5, 0x2f, 0x27, 0xf1, 0x0c, 0x4e, - 0x9e, 0x84, 0xa2, 0x1a, 0xce, 0xb1, 0x52, 0x21, 0x55, 0xb8, 0xcf, 0x70, 0x9f, 0xe1, 0x3e, 0x37, - 0x2f, 0x51, 0x16, 0x51, 0xc9, 0x8c, 0x66, 0x89, 0x4c, 0x3d, 0xe1, 0x3f, 0x67, 0x3c, 0x8e, 0xc4, - 0xd8, 0x89, 0x09, 0x2c, 0x84, 0xfc, 0x99, 0x6c, 0xa6, 0x8d, 0x9b, 0x06, 0x64, 0x5d, 0x42, 0x0e, - 0x19, 0xed, 0xf4, 0xbb, 0x7c, 0xb4, 0xec, 0xb6, 0x41, 0x46, 0x8e, 0x6c, 0xad, 0xe8, 0x7d, 0x8e, - 0x25, 0x0b, 0xa9, 0x1b, 0x36, 0x1e, 0xe9, 0x04, 0xf3, 0x3b, 0x9a, 0x17, 0x6d, 0x36, 0x11, 0xe7, - 0x14, 0x75, 0x3d, 0x91, 0xd7, 0x14, 0x7d, 0x3a, 0x93, 0x27, 0xc7, 0x7d, 0x9e, 0x70, 0x46, 0x91, - 0x18, 0x51, 0x0e, 0x47, 0x3a, 0x23, 0xa0, 0xd5, 0x2b, 0x08, 0x06, 0xbf, 0x4f, 0x63, 0xbf, 0xab, - 0x47, 0xfa, 0x3e, 0x1f, 0x1a, 0x2e, 0xfc, 0xef, 0xcc, 0xc7, 0x49, 0xd8, 0x78, 0xfd, 0xa3, 0xc2, - 0xd8, 0x44, 0xe6, 0x3b, 0x09, 0xa8, 0xb5, 0xf0, 0x82, 0x72, 0xf2, 0x56, 0x0c, 0x78, 0x0f, 0x90, - 0x07, 0xc8, 0x03, 0xe4, 0x01, 0xf2, 0xad, 0x01, 0xf9, 0xb6, 0x02, 0x78, 0xba, 0x01, 0xb4, 0x20, - 0xbe, 0x4e, 0x16, 0x40, 0x0e, 0x20, 0x07, 0x90, 0x03, 0xc8, 0x8d, 0x03, 0xf2, 0x46, 0x51, 0xbb, - 0x89, 0x4e, 0x59, 0x6b, 0xb8, 0x6c, 0xa5, 0xa6, 0xb6, 0x45, 0x18, 0x64, 0x61, 0xe9, 0xa6, 0xa5, - 0xd9, 0xfa, 0x08, 0x7d, 0x94, 0xb2, 0x74, 0xf4, 0x6b, 0xa3, 0x8a, 0xdd, 0x5a, 0xf2, 0xf0, 0xba, - 0x45, 0x50, 0x44, 0x75, 0x3b, 0x5b, 0xea, 0xec, 0x6f, 0xdd, 0xe1, 0x58, 0xf4, 0x66, 0x8b, 0x19, - 0x5c, 0xa4, 0xeb, 0x5c, 0xfb, 0xdc, 0xe4, 0xa2, 0x68, 0xe7, 0xc9, 0x91, 0x5e, 0x32, 0xb1, 0x94, - 0xae, 0xeb, 0x52, 0x01, 0x4d, 0x64, 0x41, 0x90, 0xf1, 0xd5, 0x36, 0xb5, 0xd0, 0x6f, 0x89, 0xc0, - 0x85, 0x42, 0xbf, 0xa5, 0xba, 0x45, 0x16, 0xde, 0x13, 0x9f, 0x48, 0x9b, 0xe1, 0x3b, 0xa1, 0xdf, - 0x52, 0xd3, 0xe2, 0xcf, 0x01, 0x03, 0xcc, 0x70, 0xc0, 0x05, 0x0b, 0xec, 0xf0, 0xc0, 0x0e, 0x13, - 0xfc, 0x70, 0x41, 0x03, 0x1b, 0x44, 0xf0, 0x41, 0x1f, 0x82, 0xc9, 0x71, 0x2e, 0xfa, 0x2d, 0x35, - 0x7b, 0xbc, 0xe8, 0xb7, 0x04, 0x68, 0x07, 0xb4, 0x03, 0xda, 0xd1, 0x6f, 0x89, 0x92, 0x89, 0xd0, - 0x6f, 0x69, 0x8d, 0x3c, 0xfa, 0x2d, 0x15, 0x1f, 0x29, 0xfa, 0x2d, 0x99, 0x76, 0xca, 0xe8, 0xb7, - 0x64, 0x70, 0x30, 0xc3, 0xbc, 0x7e, 0x4b, 0x1b, 0x92, 0x42, 0xb9, 0x2c, 0x83, 0x59, 0xfd, 0x96, - 0x8a, 0xf2, 0x43, 0xcb, 0x25, 0xa3, 0xdf, 0x92, 0xa1, 0x89, 0x46, 0xaa, 0xcc, 0x55, 0x5d, 0x0c, - 0xd4, 0x92, 0xd4, 0xa2, 0x08, 0x6d, 0xcf, 0x79, 0x16, 0x91, 0x1d, 0x46, 0x41, 0x1c, 0xb8, 0x81, - 0x47, 0x9a, 0x64, 0xcc, 0x53, 0x6f, 0x38, 0xdd, 0x78, 0x82, 0x4b, 0x57, 0xfc, 0x3e, 0x2b, 0x2e, - 0x5d, 0xe5, 0x5e, 0x40, 0x3b, 0xe5, 0xb8, 0x2e, 0x46, 0xf6, 0x3f, 0x53, 0xc7, 0x93, 0x23, 0x29, - 0x22, 0xba, 0x04, 0xe4, 0xc6, 0x27, 0xa0, 0x9c, 0xb3, 0x36, 0x91, 0xe6, 0x0a, 0x4f, 0xa1, 0x9c, - 0xd3, 0x1c, 0x2b, 0x9e, 0xa1, 0x9c, 0x93, 0x47, 0x72, 0x2d, 0xe2, 0x19, 0xe9, 0x3c, 0xb3, 0xd1, - 0xd3, 0x5d, 0xb8, 0xbe, 0xf8, 0xd2, 0xed, 0x0f, 0x7a, 0xfd, 0xdb, 0xfb, 0xdb, 0xcb, 0xdb, 0xeb, - 0xc1, 0x7f, 0x3f, 0x5d, 0x5c, 0x5f, 0x7d, 0xbc, 0xea, 0xf6, 0xa9, 0x38, 0x9d, 0x61, 0x12, 0x3a, - 0xd3, 0x74, 0xf8, 0x4d, 0x3b, 0x31, 0xf8, 0x74, 0x73, 0xd7, 0xeb, 0x5e, 0xce, 0xfe, 0xfe, 0xc1, - 0xb4, 0x70, 0xee, 0x43, 0xd3, 0x52, 0xdd, 0xcc, 0x7d, 0xba, 0xe9, 0xe3, 0x57, 0x11, 0xd9, 0xc1, - 0x28, 0x31, 0x95, 0xa5, 0x3f, 0x89, 0x1d, 0xdf, 0x15, 0x84, 0xf3, 0x64, 0x37, 0x3d, 0x00, 0x3a, - 0x1d, 0x3a, 0x1d, 0x3a, 0xdd, 0x60, 0x9d, 0x4e, 0x96, 0x3c, 0x22, 0x4c, 0x1a, 0x11, 0x27, 0x8b, - 0x08, 0x53, 0x6e, 0x1c, 0xc9, 0x21, 0xa6, 0x0c, 0x02, 0x57, 0x32, 0x88, 0x33, 0x3d, 0x40, 0x98, - 0xfc, 0x61, 0x49, 0xfa, 0x70, 0x1f, 0x15, 0x7f, 0x92, 0x87, 0xf5, 0xf4, 0x0c, 0x49, 0x9e, 0x3c, - 0x1c, 0xd2, 0xcd, 0x2b, 0x62, 0x9f, 0x8c, 0xe5, 0x96, 0x15, 0x91, 0x8d, 0xd9, 0xd1, 0xb5, 0x26, - 0x09, 0x0d, 0xa3, 0x55, 0xa3, 0xe8, 0x51, 0xfa, 0xb6, 0x58, 0xbe, 0x2d, 0x81, 0xf6, 0xe3, 0x30, - 0x8b, 0xd6, 0x4c, 0xa2, 0x4e, 0x1b, 0x6f, 0x94, 0xe3, 0xae, 0x5d, 0x96, 0x4e, 0x0d, 0x29, 0x30, - 0xaa, 0xbc, 0x8a, 0xc5, 0x9d, 0x0c, 0x13, 0xe1, 0xf5, 0x6c, 0x9d, 0xbd, 0xe5, 0x32, 0x0d, 0x4e, - 0x8a, 0x65, 0x10, 0x7b, 0xb1, 0x1f, 0x9a, 0xb9, 0xb0, 0x22, 0xa2, 0x0d, 0xf7, 0x58, 0x45, 0xdf, - 0xc1, 0x1a, 0x7c, 0x69, 0xa4, 0xc0, 0xe8, 0x7d, 0x64, 0x06, 0xa1, 0xb2, 0x0e, 0xa9, 0xcd, 0xaa, - 0x27, 0x47, 0xc2, 0x7d, 0x76, 0x3d, 0xb2, 0x0e, 0xd2, 0x59, 0x82, 0x00, 0x36, 0x5c, 0x25, 0xd6, - 0x86, 0xb5, 0x43, 0x6d, 0x1e, 0x4d, 0x23, 0x4c, 0x07, 0x06, 0x68, 0xfe, 0x77, 0x3b, 0x0c, 0xa2, - 0xd8, 0x1e, 0xca, 0x48, 0xb8, 0x5a, 0x96, 0xfb, 0xca, 0x39, 0xe4, 0x89, 0x02, 0xd8, 0x60, 0xb1, - 0xc1, 0x62, 0xd3, 0xe0, 0x1e, 0x12, 0x79, 0x3a, 0x50, 0x6c, 0x8b, 0x02, 0x4f, 0x50, 0xc2, 0x5a, - 0x42, 0x0f, 0x88, 0x06, 0x44, 0x03, 0xa2, 0xe9, 0x22, 0x9a, 0x86, 0x28, 0x1d, 0x14, 0x98, 0x3d, - 0x3a, 0x61, 0x28, 0x86, 0xf6, 0x44, 0x44, 0x4f, 0xd2, 0x15, 0xb6, 0xf4, 0x63, 0x11, 0x8d, 0x1c, - 0x97, 0x6c, 0xc8, 0xc7, 0x0e, 0xfa, 0x68, 0x71, 0x05, 0xb0, 0x3b, 0x40, 0xb0, 0xd3, 0xae, 0x39, - 0xdf, 0x20, 0x4f, 0xc4, 0xbd, 0x83, 0xb7, 0x3e, 0x05, 0x75, 0x6a, 0x35, 0x85, 0x9c, 0xa8, 0x05, - 0x9c, 0x4d, 0xd0, 0xd9, 0x04, 0x9e, 0x2f, 0x24, 0xa5, 0x27, 0xfe, 0x9a, 0x30, 0x40, 0x67, 0xfb, - 0xe4, 0x7d, 0x8a, 0xb6, 0xb6, 0x11, 0x5e, 0x7c, 0xb6, 0x01, 0x79, 0xd6, 0xbe, 0x73, 0x70, 0x2d, - 0x83, 0x19, 0xe0, 0x18, 0x2d, 0x82, 0x39, 0xcf, 0xcd, 0xf4, 0xb2, 0x05, 0x16, 0xe3, 0xdc, 0xe2, - 0x29, 0x5c, 0xf8, 0x33, 0x59, 0xeb, 0xdd, 0x7c, 0xa9, 0x57, 0xcb, 0x95, 0x1a, 0xdf, 0x2a, 0x98, - 0xa6, 0x56, 0x81, 0xa0, 0x38, 0xa1, 0x83, 0x01, 0xb0, 0xf0, 0x94, 0x0e, 0xae, 0x1d, 0x30, 0x4d, - 0x0b, 0x39, 0xd2, 0xd6, 0x71, 0xf0, 0x7c, 0xe0, 0xf9, 0xc0, 0xf3, 0x61, 0xf3, 0x7c, 0x26, 0x71, - 0x24, 0xfd, 0x31, 0xa5, 0xe3, 0x73, 0xde, 0xc2, 0xd2, 0xdf, 0x04, 0xa8, 0xf4, 0x0a, 0x25, 0x8b, - 0xc1, 0x4f, 0xb7, 0xa4, 0x0b, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02, 0x01, 0xcd, 0x8d, 0xb2, 0x68, - 0xc3, 0x1c, 0x62, 0x2a, 0x87, 0x1c, 0x53, 0xd1, 0x2d, 0x79, 0xa6, 0x8f, 0x9c, 0x24, 0xb8, 0x60, - 0x70, 0x88, 0x24, 0x08, 0x45, 0x94, 0x1c, 0xa8, 0xe3, 0x51, 0x95, 0x3f, 0xe7, 0x49, 0xa2, 0xaa, - 0x06, 0xc1, 0x93, 0x03, 0x0b, 0x9e, 0xd0, 0x55, 0xd4, 0x50, 0x89, 0x93, 0x75, 0x48, 0x95, 0x35, - 0xb1, 0x88, 0x1e, 0xa5, 0x9f, 0x6c, 0x1b, 0x65, 0x11, 0x74, 0x31, 0x59, 0xc0, 0x1b, 0xe0, 0x0d, - 0xf0, 0x66, 0x80, 0x48, 0x1d, 0x2c, 0xc4, 0x11, 0x59, 0x6e, 0x79, 0x92, 0x80, 0x36, 0x40, 0x1b, - 0xa0, 0xad, 0x61, 0x71, 0x3a, 0x2c, 0x58, 0x4b, 0x3a, 0xe2, 0x87, 0x41, 0x2c, 0xfc, 0x58, 0x3a, - 0x1e, 0xe1, 0x90, 0xdf, 0x8d, 0x94, 0x51, 0x07, 0x0d, 0x90, 0x3b, 0x30, 0x90, 0xc3, 0xa8, 0xdf, - 0x4a, 0x22, 0x8a, 0x1c, 0x57, 0xe3, 0x22, 0xcc, 0x26, 0xca, 0x7c, 0x22, 0xad, 0x27, 0xda, 0x9a, - 0x22, 0x4e, 0x26, 0xea, 0x29, 0x21, 0x8c, 0xfa, 0xd5, 0x25, 0x88, 0x79, 0x90, 0xec, 0xf0, 0xc0, - 0x0e, 0x13, 0xfc, 0x70, 0x41, 0x03, 0x1b, 0x44, 0xf0, 0x41, 0xe7, 0x16, 0x6d, 0xe4, 0x5c, 0x8c, - 0xfa, 0x6d, 0xf6, 0x78, 0x31, 0xea, 0x17, 0xd0, 0x0e, 0x68, 0x07, 0xb4, 0x63, 0xd4, 0x2f, 0x25, - 0x13, 0x61, 0xd4, 0xef, 0x1a, 0x79, 0x8c, 0xfa, 0x2d, 0x3e, 0x52, 0x8c, 0xfa, 0x35, 0xed, 0x94, - 0x31, 0xea, 0xd7, 0xe0, 0x60, 0x46, 0x5b, 0x46, 0xfd, 0x6e, 0xca, 0x35, 0x18, 0x3f, 0xf0, 0x37, - 0x19, 0xef, 0xdb, 0x5b, 0xae, 0x1b, 0x53, 0x7f, 0xcd, 0xac, 0x73, 0x25, 0x4e, 0x65, 0xd5, 0xca, - 0x4b, 0x26, 0x57, 0xc3, 0x6a, 0x75, 0x70, 0x79, 0xb1, 0x7a, 0x35, 0x5a, 0x02, 0x50, 0x55, 0x4e, - 0xe0, 0xc2, 0x30, 0xbb, 0x5f, 0x8a, 0xa4, 0x22, 0xb5, 0x1f, 0x49, 0x21, 0x41, 0x96, 0xfe, 0xdd, - 0x19, 0x05, 0xac, 0x39, 0x62, 0xdc, 0xdf, 0xe5, 0xdd, 0x18, 0x85, 0x4d, 0xd1, 0xbb, 0x0d, 0x43, - 0x72, 0x0b, 0x86, 0xe4, 0xf6, 0x8b, 0xde, 0xad, 0x97, 0xaa, 0xfb, 0xad, 0xa9, 0xfd, 0xb9, 0xb4, - 0xbe, 0x82, 0x40, 0xd0, 0x2b, 0xf5, 0x6a, 0x58, 0x54, 0x5e, 0x2e, 0x2a, 0x9c, 0xd1, 0x71, 0x24, - 0x42, 0xe1, 0xc4, 0xf6, 0x50, 0x78, 0xf2, 0x49, 0x44, 0xcf, 0xb6, 0xfb, 0xcd, 0x99, 0xf9, 0x85, - 0x22, 0x92, 0x93, 0x58, 0xba, 0x95, 0xcf, 0x2c, 0x45, 0x9d, 0x1d, 0x74, 0xab, 0x4a, 0xad, 0x92, - 0x26, 0x57, 0x2e, 0x0b, 0xd2, 0xd1, 0xdc, 0x64, 0xed, 0x10, 0x75, 0x75, 0x35, 0x99, 0x8e, 0x26, - 0xd3, 0xcd, 0x94, 0xed, 0x0e, 0x79, 0xb5, 0x84, 0xb2, 0xf6, 0xd5, 0xbf, 0xbb, 0xaa, 0xa8, 0x6f, - 0x79, 0xd0, 0x61, 0x22, 0xa2, 0x27, 0x11, 0x25, 0xfd, 0x94, 0xc6, 0x91, 0x8c, 0x9f, 0xed, 0x30, - 0x0a, 0x5c, 0x31, 0x99, 0x90, 0xc1, 0x44, 0xd9, 0x07, 0x00, 0x2f, 0x80, 0x17, 0xc0, 0x0b, 0xe3, - 0xf1, 0x82, 0xac, 0xe0, 0x98, 0xba, 0xd0, 0x58, 0xb1, 0x8a, 0xd1, 0x00, 0x44, 0x50, 0xf6, 0xf9, - 0x0f, 0x01, 0x0f, 0x54, 0x7d, 0x7a, 0x5e, 0x34, 0x50, 0xad, 0x12, 0xa4, 0x28, 0x04, 0xa6, 0x2b, - 0x00, 0x46, 0xbf, 0x3d, 0x84, 0xcf, 0x0e, 0xb7, 0x26, 0x9f, 0xa4, 0x40, 0x97, 0xb2, 0x30, 0x17, - 0xbd, 0xa6, 0x1a, 0x13, 0x57, 0x36, 0xb1, 0x65, 0x13, 0x5f, 0x3e, 0x31, 0xd6, 0x13, 0x67, 0x4d, - 0xb1, 0xd6, 0xb7, 0xb7, 0x37, 0x72, 0x1e, 0x75, 0xe1, 0x2c, 0x65, 0xc1, 0x2c, 0x51, 0xa1, 0x6c, - 0x83, 0x0d, 0xfc, 0xd0, 0xb8, 0x14, 0x50, 0x0a, 0x28, 0x3d, 0x10, 0x28, 0x25, 0x2b, 0x54, 0x25, - 0x2c, 0x50, 0x25, 0x2e, 0x4c, 0x25, 0x2c, 0xef, 0xe5, 0x28, 0x44, 0x65, 0xaa, 0x56, 0xe4, 0x2a, - 0x3c, 0xe5, 0x2c, 0x45, 0x24, 0x2c, 0x34, 0x65, 0x29, 0x30, 0xe5, 0x3e, 0x2a, 0xfe, 0x82, 0x52, - 0xd6, 0xd3, 0x33, 0xa4, 0x50, 0xf3, 0x01, 0x95, 0x7a, 0x15, 0xe8, 0xe8, 0xe7, 0xec, 0x79, 0x4b, - 0x3e, 0x75, 0x33, 0xf9, 0x3c, 0x75, 0x9d, 0xa6, 0x55, 0xca, 0x34, 0x5f, 0xb9, 0x41, 0x58, 0x99, - 0xc9, 0x73, 0xe4, 0x26, 0x14, 0x70, 0x4c, 0x7d, 0xe7, 0xc9, 0x91, 0x9e, 0xf3, 0xd5, 0x13, 0x76, - 0x2c, 0x1f, 0x05, 0x59, 0x6a, 0x76, 0x17, 0x61, 0xa4, 0x64, 0xd9, 0xbd, 0x26, 0xa4, 0x64, 0xd5, - 0xe1, 0x0b, 0x29, 0xd9, 0x05, 0x3e, 0xa8, 0x94, 0x61, 0xeb, 0x14, 0x8f, 0x6a, 0x4b, 0xfa, 0x09, - 0x52, 0xad, 0x48, 0xb5, 0xd6, 0x26, 0xe5, 0x8a, 0xe5, 0xd1, 0xfc, 0x32, 0x7e, 0x44, 0xb8, 0x5f, - 0x0a, 0x65, 0xcf, 0x6a, 0xe5, 0xce, 0x5a, 0x65, 0xce, 0x5a, 0xe5, 0xcd, 0x6a, 0x65, 0xcd, 0x65, - 0xf7, 0x4f, 0xd1, 0x18, 0xd6, 0x37, 0x82, 0x8f, 0xab, 0x54, 0xeb, 0x69, 0xd9, 0xb8, 0xe5, 0x44, - 0x7b, 0x37, 0x5b, 0x96, 0xd8, 0xd2, 0x6a, 0x4a, 0x49, 0x45, 0x54, 0x2b, 0x2a, 0xa1, 0xca, 0xca, - 0x47, 0x45, 0xe9, 0x68, 0x2a, 0x1b, 0x55, 0x25, 0xa3, 0xad, 0x5c, 0xb4, 0x95, 0x8a, 0xbe, 0x32, - 0xa1, 0x05, 0xc3, 0xca, 0x4a, 0x43, 0x55, 0x59, 0x54, 0x54, 0x12, 0x25, 0x64, 0xeb, 0x48, 0xe3, - 0xfd, 0x2b, 0x28, 0x81, 0x6a, 0xe0, 0xaf, 0x04, 0xfa, 0x4a, 0x60, 0x5f, 0x0d, 0xe4, 0x77, 0xed, - 0x47, 0x45, 0x50, 0xd7, 0x02, 0xf3, 0x12, 0x5c, 0xa3, 0x8e, 0xdf, 0xdb, 0x05, 0x69, 0x33, 0xd3, - 0x14, 0xff, 0xcf, 0x86, 0x6d, 0x2b, 0xbb, 0x5d, 0x2a, 0xdb, 0xb4, 0x65, 0x77, 0x2a, 0xef, 0x4a, - 0xf1, 0x66, 0xe4, 0x5f, 0xb5, 0xe0, 0x35, 0xb7, 0xeb, 0xa5, 0x32, 0x28, 0xb0, 0x43, 0xef, 0xec, - 0xd4, 0x33, 0x65, 0xf4, 0x4a, 0x45, 0x3d, 0x52, 0x56, 0x6f, 0x54, 0xd6, 0x13, 0x95, 0xf5, 0x42, - 0x75, 0x3d, 0x50, 0x8d, 0x41, 0x77, 0xe2, 0x7a, 0x59, 0x1c, 0xdf, 0x81, 0xdb, 0x05, 0xbc, 0x74, - 0xb4, 0x65, 0x7d, 0xc7, 0x17, 0xd3, 0xf1, 0xec, 0xad, 0xc5, 0xb0, 0x30, 0xff, 0xb8, 0x83, 0xd9, - 0x8a, 0x26, 0xcc, 0x6f, 0x62, 0xbe, 0x0f, 0x62, 0xe2, 0x46, 0x32, 0x5c, 0x88, 0xe8, 0xf2, 0xb9, - 0x13, 0x2b, 0xfe, 0x26, 0xac, 0xaf, 0xce, 0x44, 0x58, 0xf7, 0x17, 0xbd, 0x2b, 0x6b, 0x21, 0x27, - 0xd6, 0x0f, 0x19, 0x7f, 0xb3, 0x96, 0xc2, 0xb3, 0x98, 0x47, 0x6d, 0x49, 0x7f, 0x14, 0x44, 0x8f, - 0xce, 0x96, 0xc1, 0x01, 0x3b, 0xea, 0x42, 0x19, 0x58, 0xbc, 0x04, 0x86, 0x9a, 0xcc, 0xe4, 0xbb, - 0x23, 0x64, 0xd5, 0xd8, 0x7c, 0x57, 0x6d, 0xe3, 0x71, 0x0e, 0x5d, 0x77, 0xee, 0xca, 0x4b, 0xd1, - 0x70, 0x69, 0x5c, 0xae, 0x8f, 0xe1, 0x4a, 0x32, 0x5e, 0x65, 0x5b, 0xbe, 0x8a, 0x0d, 0xaf, 0x1c, - 0x12, 0xae, 0x6a, 0xb5, 0x2b, 0x5b, 0xeb, 0xca, 0x56, 0xba, 0x4e, 0x48, 0xf7, 0x17, 0xad, 0xe1, - 0xb1, 0x03, 0x57, 0x1f, 0xb2, 0xb8, 0xba, 0xdd, 0x20, 0x29, 0x61, 0x88, 0x14, 0xec, 0xed, 0x4e, - 0x7b, 0x63, 0x7d, 0x57, 0x5e, 0x56, 0x38, 0xff, 0xdb, 0x42, 0x68, 0x37, 0xad, 0xed, 0x58, 0x4e, - 0x3e, 0x3a, 0xdf, 0x45, 0x3f, 0x08, 0xf2, 0x87, 0x94, 0x5d, 0xef, 0xf1, 0xea, 0x7f, 0xad, 0x2d, - 0xea, 0x83, 0x98, 0x89, 0xce, 0x7c, 0x21, 0xbf, 0x8e, 0x7e, 0xfd, 0x7f, 0x00, 0x00, 0x00, 0xff, - 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x6f, 0xe8, 0x81, 0xef, 0x88, 0x5a, 0x06, 0x00, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0xdf, 0x53, 0xdb, 0xc8, + 0xd2, 0x3e, 0x7e, 0xcf, 0x5f, 0xa1, 0xe2, 0x3a, 0xaa, 0xe0, 0x1c, 0x12, 0x38, 0xb9, 0x63, 0x81, + 0xec, 0xf2, 0x7e, 0x08, 0xf0, 0x02, 0xd9, 0x6f, 0x6d, 0x9d, 0xa2, 0x28, 0x45, 0x1a, 0x3b, 0xb3, + 0x11, 0x92, 0x57, 0x92, 0xf9, 0x71, 0xde, 0xca, 0xff, 0xfe, 0x2d, 0xcb, 0xb6, 0xfc, 0x43, 0xb2, + 0x2d, 0x4d, 0xf7, 0x48, 0x23, 0xeb, 0xe1, 0x66, 0x37, 0x06, 0xb7, 0xa4, 0xd1, 0xf4, 0xd3, 0xdd, + 0x4f, 0xf7, 0x74, 0xff, 0xdf, 0x9e, 0x65, 0x59, 0xd6, 0xfe, 0x95, 0xf3, 0x24, 0xf6, 0x3f, 0x5b, + 0xfb, 0x9e, 0x78, 0x96, 0xae, 0xd8, 0x7f, 0x37, 0xf9, 0xf4, 0xff, 0xc9, 0xc0, 0xdb, 0xff, 0x6c, + 0xf5, 0xa6, 0xff, 0x3c, 0x0d, 0x83, 0xbe, 0x1c, 0xec, 0x7f, 0xb6, 0x0e, 0xa6, 0x1f, 0x9c, 0xc9, + 0x68, 0xff, 0xb3, 0x35, 0x11, 0x91, 0x7e, 0xe0, 0x86, 0x41, 0x22, 0x5e, 0x93, 0xa5, 0x0f, 0x97, + 0xe4, 0xcf, 0xfe, 0xe0, 0xdd, 0xf2, 0xaf, 0x97, 0x2f, 0x94, 0x7d, 0xbc, 0x7a, 0xc1, 0xec, 0x17, + 0x37, 0x91, 0xe8, 0xcb, 0xd7, 0xdc, 0x65, 0x96, 0x2e, 0x95, 0x38, 0x43, 0x69, 0xbb, 0xe1, 0xd3, + 0x53, 0x18, 0xac, 0x5c, 0x2e, 0xfd, 0xb3, 0xbb, 0x70, 0x14, 0xb9, 0xa2, 0x50, 0xc4, 0xe4, 0x96, + 0xc4, 0xdb, 0x4b, 0x18, 0x8d, 0xef, 0x6a, 0x7f, 0x38, 0xb9, 0xda, 0xbb, 0xe2, 0x3f, 0xfc, 0xc3, + 0x89, 0x4f, 0xa2, 0xc1, 0xe8, 0x49, 0x04, 0xe3, 0xe7, 0x4e, 0xa2, 0x91, 0x58, 0xf3, 0x87, 0x0b, + 0x7f, 0xb5, 0x74, 0x73, 0xb9, 0xbf, 0xfe, 0xb5, 0xf4, 0xc9, 0xaf, 0x95, 0x67, 0x5f, 0x5d, 0xf4, + 0xc5, 0xc5, 0x0f, 0x84, 0x9b, 0xc8, 0x67, 0x99, 0xbc, 0xd9, 0xeb, 0xde, 0x44, 0xd1, 0x1b, 0xc9, + 0x7f, 0x6b, 0xcd, 0x13, 0x14, 0xbf, 0xa6, 0xad, 0xaf, 0xab, 0xcc, 0x6b, 0x5b, 0xf7, 0xfa, 0xe6, + 0x37, 0xb7, 0xe6, 0xa6, 0xca, 0xbc, 0xcc, 0xca, 0x2f, 0xb5, 0xf2, 0xcb, 0xdd, 0xf4, 0x92, 0x17, + 0x1e, 0x61, 0xed, 0x77, 0x7f, 0x15, 0xfe, 0xe6, 0xd7, 0x9a, 0x75, 0x5c, 0xb7, 0x05, 0x72, 0x5b, + 0x21, 0x0c, 0xb6, 0xaf, 0xc9, 0xea, 0x46, 0x28, 0x54, 0x97, 0x0a, 0xdb, 0x20, 0xbf, 0x1d, 0x3e, + 0x6c, 0xf9, 0xc3, 0x12, 0xdb, 0x82, 0xb4, 0x3d, 0xaa, 0x6e, 0x13, 0xe5, 0xed, 0xa2, 0xbc, 0x6d, + 0xa8, 0xdb, 0x67, 0xf3, 0x36, 0xda, 0xb2, 0x9d, 0x4a, 0x6f, 0xab, 0xec, 0x0f, 0xbf, 0x87, 0xa3, + 0xc0, 0x93, 0xc1, 0xc0, 0x0e, 0x42, 0xaf, 0xc2, 0x72, 0xce, 0xde, 0xdd, 0xf2, 0xd7, 0x4b, 0xae, + 0x4c, 0xb9, 0x4d, 0x57, 0x79, 0xf3, 0xa9, 0x6c, 0x42, 0x96, 0xcd, 0xa8, 0xba, 0x29, 0xc9, 0x9b, + 0x93, 0xbc, 0x49, 0xb9, 0x36, 0x6b, 0xb9, 0x4d, 0x5b, 0x72, 0xf3, 0x56, 0xde, 0xc4, 0xd9, 0x17, + 0xc6, 0x9b, 0xd0, 0x1e, 0x8d, 0xa4, 0x57, 0xfd, 0x15, 0xcc, 0xde, 0xff, 0x5c, 0x44, 0xc5, 0x15, + 0x9c, 0x6e, 0xea, 0x83, 0x8a, 0x5f, 0xdb, 0x66, 0x68, 0x39, 0x37, 0x79, 0xf1, 0x66, 0x4f, 0xc2, + 0x61, 0xe8, 0x87, 0x83, 0xb7, 0x8a, 0x0f, 0x4c, 0xd9, 0xf0, 0x6c, 0x1b, 0x9f, 0x4d, 0x01, 0xd6, + 0x2b, 0x42, 0xb6, 0x3c, 0x95, 0xe5, 0xfd, 0xaa, 0xf4, 0x8d, 0x5f, 0x15, 0xdf, 0xff, 0xfd, 0xdb, + 0x50, 0xd0, 0xde, 0xbe, 0x2f, 0x9c, 0x7e, 0x24, 0xfa, 0x2a, 0xef, 0x7d, 0x86, 0xe0, 0x47, 0x0a, + 0xdf, 0xbd, 0x71, 0x92, 0x1f, 0xe3, 0xcb, 0xbf, 0x5f, 0x70, 0x9c, 0x3f, 0x4f, 0xbd, 0xd5, 0xf7, + 0x4b, 0x4b, 0xfe, 0x79, 0xf6, 0x3f, 0xf6, 0xe6, 0x5f, 0xaf, 0x7c, 0x3c, 0x56, 0xe1, 0x95, 0x8f, + 0x52, 0x85, 0xde, 0xd3, 0xf3, 0xf2, 0x2a, 0xbc, 0xb8, 0xfd, 0xec, 0x81, 0x68, 0x20, 0xb5, 0x2c, + 0x06, 0x40, 0x05, 0xa0, 0x02, 0x50, 0xb5, 0x10, 0xa8, 0xb4, 0xa2, 0x12, 0xab, 0x27, 0x76, 0x12, + 0x04, 0x61, 0xe2, 0x94, 0x0a, 0x42, 0x97, 0xbe, 0x17, 0xbb, 0x3f, 0xc4, 0x93, 0x33, 0x2c, 0x58, + 0xc8, 0xf7, 0xb3, 0x95, 0x2a, 0x22, 0x2d, 0xde, 0xcf, 0x03, 0xd8, 0xf7, 0x2a, 0x11, 0xc6, 0xe4, + 0xda, 0x49, 0x34, 0x72, 0x93, 0x60, 0xba, 0x87, 0xee, 0x9d, 0xa1, 0x3c, 0x4d, 0xaf, 0xfc, 0x78, + 0x3a, 0xb9, 0xc8, 0xf8, 0xbf, 0xd9, 0x95, 0x57, 0x3f, 0x0b, 0x83, 0xc7, 0xdf, 0xa6, 0x17, 0xbe, + 0x1a, 0x5f, 0x77, 0x8f, 0x67, 0xcd, 0x4b, 0xac, 0xf7, 0x42, 0xf0, 0x6e, 0x8b, 0xc0, 0xb3, 0x87, + 0xa1, 0x0c, 0x92, 0xea, 0x81, 0x59, 0xa1, 0x14, 0xc4, 0x67, 0x88, 0xcf, 0x9a, 0x8c, 0xcf, 0x8a, + 0x36, 0x25, 0xd1, 0x15, 0x5a, 0x2f, 0xb2, 0x2b, 0x6e, 0x91, 0xa2, 0x32, 0x74, 0xc9, 0x35, 0x52, + 0x53, 0x16, 0xb8, 0x47, 0xc6, 0xc5, 0x71, 0xe1, 0x4b, 0x20, 0xbc, 0xd4, 0x13, 0xb0, 0x85, 0x37, + 0x10, 0x13, 0x75, 0x7f, 0x9f, 0x7b, 0xc7, 0x9f, 0x5d, 0x31, 0xb4, 0x7d, 0x19, 0x17, 0xfe, 0xaa, + 0x00, 0x30, 0x0a, 0xfe, 0xcc, 0x94, 0x88, 0x71, 0xe5, 0x59, 0x39, 0xd8, 0xad, 0x55, 0x69, 0x88, + 0x1f, 0x01, 0x92, 0x88, 0x1f, 0x77, 0x1e, 0x20, 0x8d, 0x23, 0xc3, 0xc0, 0xd6, 0x03, 0xc4, 0x00, + 0x62, 0x00, 0x31, 0xb0, 0xf5, 0x00, 0x2a, 0x00, 0x15, 0x80, 0x0a, 0x6c, 0x3d, 0x13, 0x2f, 0xf7, + 0xff, 0xc4, 0x5b, 0x0e, 0x77, 0xac, 0xcc, 0x55, 0xb2, 0x8a, 0x82, 0x40, 0x8b, 0xca, 0xa3, 0xed, + 0x5f, 0xca, 0x38, 0x39, 0x49, 0x92, 0x8a, 0x8c, 0xe0, 0x57, 0x19, 0x9c, 0xfb, 0x62, 0xac, 0x19, + 0xb1, 0x3a, 0xc0, 0x7e, 0xa8, 0x0a, 0xaa, 0x04, 0x7c, 0x59, 0xc4, 0x96, 0x27, 0x19, 0xd8, 0x62, + 0x76, 0xf7, 0x0a, 0x5b, 0x96, 0x03, 0x5d, 0x96, 0x90, 0xe5, 0x83, 0x09, 0x56, 0xf3, 0xab, 0xf3, + 0xba, 0xf0, 0x4a, 0x83, 0x91, 0xef, 0x57, 0xf8, 0xf2, 0x75, 0xe4, 0x89, 0x48, 0x78, 0xbf, 0xbd, + 0x4d, 0xbf, 0xba, 0x2b, 0x59, 0x2c, 0x42, 0x3a, 0xc6, 0xe2, 0x48, 0x66, 0xcd, 0xff, 0xf7, 0x3c, + 0xf0, 0x6e, 0xd2, 0xab, 0xd7, 0x98, 0xd2, 0xf2, 0x64, 0x54, 0xb2, 0x84, 0x35, 0xa7, 0xdb, 0xf3, + 0xaf, 0x56, 0x4b, 0x5e, 0x1d, 0x20, 0x79, 0xc5, 0xe4, 0x0c, 0xed, 0x68, 0xf2, 0xaa, 0xb2, 0xa3, + 0x93, 0xbd, 0xc5, 0x7e, 0x18, 0xbd, 0x38, 0x51, 0x9a, 0x93, 0xae, 0xba, 0x3b, 0x97, 0xbc, 0x9c, + 0xc3, 0x0a, 0xdf, 0x39, 0x0f, 0x46, 0x4f, 0xe3, 0xbb, 0xfd, 0x55, 0xa3, 0xd6, 0xfa, 0xce, 0x9b, + 0x88, 0xec, 0x61, 0x14, 0x26, 0xa1, 0x1b, 0xfa, 0xf6, 0x14, 0x7c, 0x2a, 0xea, 0x6f, 0x91, 0x10, + 0x68, 0x32, 0x34, 0xd9, 0x08, 0x4d, 0x56, 0xdf, 0x9c, 0xed, 0x52, 0x64, 0xd9, 0x17, 0xee, 0x9b, + 0xeb, 0x0b, 0x3b, 0x4e, 0x9c, 0x44, 0x45, 0x89, 0x57, 0x04, 0xec, 0x8e, 0x02, 0xaf, 0x39, 0x52, + 0xd6, 0x0d, 0xd5, 0x2d, 0x3e, 0xb2, 0x66, 0xbc, 0xd2, 0x2a, 0x6d, 0xc6, 0x76, 0x29, 0x6c, 0xf8, + 0x22, 0x22, 0xbb, 0xc2, 0xc9, 0xaf, 0xfc, 0x22, 0xad, 0x4a, 0x40, 0xe9, 0x17, 0x6c, 0x2e, 0xa3, + 0xfa, 0x52, 0x4a, 0xbf, 0xd8, 0x0a, 0xbe, 0x50, 0xe6, 0x05, 0x4e, 0x1d, 0x65, 0x5e, 0x8d, 0xf3, + 0xea, 0x85, 0xe5, 0x55, 0x4b, 0x44, 0xd8, 0xa6, 0x2a, 0xac, 0xba, 0x6b, 0xaf, 0x74, 0x30, 0xed, + 0x6a, 0x98, 0xc4, 0x42, 0x99, 0x57, 0xe4, 0x57, 0x41, 0xce, 0x16, 0x90, 0xb3, 0x8a, 0xce, 0x12, + 0x0b, 0x31, 0x7b, 0x39, 0xbe, 0xf6, 0xfc, 0xdf, 0x75, 0xb2, 0xb2, 0x6a, 0x84, 0x8e, 0x02, 0x83, + 0x53, 0xd9, 0x9b, 0x3c, 0x40, 0x00, 0xb8, 0xf3, 0x01, 0x60, 0x65, 0x0f, 0xf2, 0xd9, 0xf1, 0x47, + 0x42, 0xdd, 0x6f, 0x9c, 0x7c, 0xbd, 0x3b, 0xde, 0x62, 0xc5, 0x8d, 0xdd, 0x2d, 0x3f, 0xb1, 0xda, + 0xc6, 0x6f, 0x8b, 0x87, 0x18, 0x27, 0x91, 0x0c, 0x06, 0x14, 0x07, 0xf1, 0xd8, 0x80, 0xfc, 0x71, + 0xaa, 0xa8, 0xd5, 0xb2, 0x0d, 0xc5, 0xca, 0x5e, 0x95, 0xcf, 0x85, 0xc6, 0x43, 0xe3, 0xa1, 0xf1, + 0x26, 0xc7, 0x59, 0x95, 0xd5, 0x1a, 0x21, 0x96, 0x21, 0x21, 0x56, 0xd5, 0xd4, 0x1a, 0x35, 0xac, + 0x4a, 0x15, 0xa4, 0xc6, 0x58, 0x2a, 0x1c, 0x8a, 0x28, 0x5d, 0x59, 0xc7, 0x57, 0x4d, 0xb2, 0xe5, + 0x45, 0x20, 0xcd, 0x86, 0x28, 0x8b, 0xa8, 0xf2, 0xea, 0x69, 0x36, 0xd5, 0xed, 0x68, 0xb5, 0x29, + 0xd1, 0x16, 0x85, 0x23, 0x15, 0x55, 0x9d, 0x7c, 0x0d, 0x29, 0x35, 0xa4, 0xd4, 0x9a, 0x24, 0x44, + 0x48, 0x8d, 0x42, 0x72, 0x5b, 0x81, 0x58, 0xa1, 0xaa, 0xb0, 0xd5, 0x95, 0xb7, 0xbc, 0x8e, 0xe0, + 0x09, 0xc9, 0x35, 0x2d, 0x2a, 0x52, 0x4f, 0x20, 0x55, 0x55, 0x75, 0x36, 0xaa, 0x90, 0x5a, 0x7e, + 0xba, 0x94, 0x3e, 0xa9, 0x64, 0xac, 0x89, 0xcc, 0x04, 0x99, 0xa1, 0xe0, 0x50, 0x36, 0x2d, 0x4a, + 0xc7, 0xa5, 0x7c, 0xec, 0x4a, 0xc8, 0xae, 0x8c, 0xba, 0x94, 0x52, 0x4d, 0x39, 0x15, 0x95, 0x94, + 0xce, 0x7a, 0xe4, 0x76, 0x91, 0x7a, 0x46, 0x3c, 0x67, 0xb1, 0x8e, 0x08, 0x32, 0xd0, 0x08, 0x85, + 0x6b, 0x5b, 0x29, 0x6c, 0x29, 0x9e, 0x06, 0x29, 0xb9, 0xad, 0xc5, 0xd0, 0x28, 0x65, 0x77, 0x81, + 0x9b, 0x70, 0xb4, 0x17, 0xa0, 0x4d, 0x39, 0xfa, 0x0b, 0xc0, 0xde, 0x45, 0xc0, 0x26, 0x9c, 0x30, + 0x6e, 0x00, 0x6a, 0x19, 0xf1, 0x15, 0xa0, 0x0a, 0x50, 0x05, 0xa8, 0x02, 0x54, 0x6b, 0x6c, 0x14, + 0x53, 0x2f, 0x60, 0xd2, 0x1a, 0xc8, 0xe4, 0x71, 0x82, 0xd0, 0x48, 0x06, 0xc0, 0x09, 0xe0, 0x04, + 0x70, 0x76, 0x12, 0x38, 0x6b, 0x45, 0x49, 0xad, 0x3c, 0x6f, 0x13, 0x8d, 0x6d, 0xb2, 0x8b, 0x2b, + 0x95, 0x92, 0x64, 0xdf, 0xa6, 0x34, 0xba, 0xc9, 0xed, 0xdc, 0x0f, 0xaa, 0xe0, 0xcf, 0x80, 0x73, + 0x8c, 0x0d, 0x70, 0xb4, 0xa0, 0x1c, 0xa5, 0x21, 0x4e, 0xbd, 0xde, 0x01, 0xa5, 0x50, 0x28, 0x13, + 0xa2, 0x54, 0x30, 0xa4, 0xaa, 0x7f, 0x8a, 0x05, 0x44, 0xd9, 0xf7, 0x19, 0x0a, 0x89, 0xd2, 0xd4, + 0xfb, 0x7b, 0x86, 0x64, 0xa5, 0xc5, 0x51, 0x66, 0x74, 0x3b, 0xbe, 0x1b, 0xe5, 0xe6, 0x3a, 0xd5, + 0xb7, 0x5b, 0x95, 0x3a, 0x5a, 0x3f, 0x74, 0x1d, 0xdf, 0xa6, 0x1c, 0xb5, 0xcc, 0x24, 0xa0, 0x86, + 0x56, 0x33, 0xb0, 0xa2, 0x86, 0x56, 0x15, 0x92, 0x50, 0x35, 0x3f, 0xe5, 0xe6, 0x48, 0xf5, 0xf2, + 0x84, 0x4a, 0xf9, 0x1e, 0xb4, 0x1c, 0x5a, 0x6e, 0x6c, 0x81, 0x87, 0xda, 0xa1, 0xb1, 0xdc, 0xbe, + 0x51, 0x39, 0x3c, 0xb6, 0xbb, 0x8c, 0x8b, 0xb2, 0x02, 0x81, 0x6f, 0x51, 0x57, 0xb0, 0xb6, 0xb3, + 0x2d, 0xca, 0x66, 0x96, 0x68, 0x6e, 0xeb, 0x8d, 0xe9, 0x08, 0x87, 0xd7, 0x8a, 0x41, 0x47, 0xe5, + 0x10, 0x1b, 0x90, 0x07, 0xc8, 0x03, 0xe4, 0x69, 0x33, 0xf2, 0xd4, 0xc1, 0xa2, 0xaa, 0x9f, 0x91, + 0xe5, 0x64, 0x42, 0x15, 0x69, 0x2f, 0x70, 0x67, 0xca, 0xdc, 0x99, 0xa2, 0x41, 0x61, 0xe2, 0xca, + 0xca, 0x1f, 0xcc, 0xd3, 0x1b, 0x2f, 0x47, 0x22, 0x96, 0xbe, 0x14, 0x81, 0x2b, 0xec, 0x6a, 0x87, + 0x80, 0x72, 0xf0, 0x92, 0x93, 0xd4, 0x9d, 0x38, 0x1a, 0x87, 0x26, 0xb6, 0x9a, 0xdc, 0x1d, 0x3c, + 0x34, 0x31, 0x8c, 0x64, 0x18, 0x8d, 0x1f, 0x88, 0xec, 0xe1, 0x66, 0x92, 0x1a, 0xf6, 0x6f, 0x3f, + 0xe0, 0x48, 0xc4, 0x0e, 0x79, 0xb9, 0x5d, 0x3e, 0x12, 0x31, 0x92, 0x41, 0xf2, 0xe9, 0x90, 0xc1, + 0xd7, 0x3d, 0x26, 0x88, 0xb8, 0x75, 0x82, 0xc1, 0xf8, 0x6e, 0xfe, 0x43, 0x7a, 0xb5, 0xb4, 0xad, + 0x3b, 0x73, 0x35, 0xc9, 0x3a, 0xc0, 0x04, 0x36, 0x39, 0x71, 0x7f, 0x4e, 0x99, 0x49, 0x2e, 0x79, + 0x5f, 0x22, 0x27, 0xf5, 0xb3, 0xce, 0xe4, 0x40, 0xa6, 0x4e, 0xf1, 0x01, 0x59, 0xee, 0xaf, 0x77, + 0x0c, 0xaf, 0xc0, 0x79, 0x35, 0xfe, 0x15, 0xf4, 0x8e, 0x0f, 0x0f, 0x3f, 0x1d, 0x1d, 0x1e, 0x1e, + 0x1c, 0xfd, 0xeb, 0xe8, 0xe0, 0xdf, 0x1f, 0x3f, 0xf6, 0x3e, 0xf5, 0x3e, 0x1a, 0xfc, 0x56, 0xf6, + 0x9a, 0xf9, 0xf6, 0x83, 0xc1, 0xb4, 0x5b, 0xea, 0x78, 0x57, 0x6c, 0xbc, 0xb1, 0xde, 0xa1, 0x5f, + 0x10, 0x06, 0xc7, 0x04, 0x8e, 0x09, 0x1c, 0x13, 0x86, 0x5d, 0x44, 0x57, 0xaa, 0xa5, 0x60, 0x99, + 0x80, 0xcf, 0xfb, 0x17, 0x9e, 0x08, 0x12, 0x99, 0xbc, 0xfd, 0xe6, 0xc4, 0x0c, 0x3b, 0x71, 0xf6, + 0x80, 0xb7, 0xd7, 0xdf, 0xee, 0xcf, 0x1f, 0xef, 0xee, 0x4f, 0xee, 0xcf, 0xa9, 0x7b, 0x31, 0xb5, + 0x4b, 0x31, 0xd9, 0x81, 0xe2, 0x71, 0xa2, 0xd6, 0x3d, 0xe4, 0xe3, 0xe9, 0xb7, 0xdb, 0xdb, 0xf3, + 0xab, 0xfb, 0x7d, 0x13, 0xdc, 0x0c, 0x8d, 0x8f, 0xf9, 0xed, 0xea, 0xff, 0x5d, 0x5d, 0xff, 0x7f, + 0x57, 0xbb, 0xfe, 0x98, 0x57, 0xd7, 0xf7, 0x8c, 0x6f, 0x94, 0x24, 0xe1, 0xa1, 0x6e, 0x70, 0x34, + 0x8c, 0x98, 0x31, 0x86, 0x29, 0x26, 0x32, 0x9b, 0x16, 0x1f, 0x6b, 0x7c, 0x9b, 0xdd, 0x49, 0xfa, + 0xef, 0x56, 0x35, 0x87, 0xaf, 0x58, 0x45, 0x89, 0x96, 0x85, 0x0c, 0xba, 0xc0, 0xa6, 0x03, 0x75, + 0xf6, 0x2c, 0xac, 0xb0, 0xb5, 0x79, 0xba, 0x9f, 0xc5, 0xa3, 0xe1, 0x30, 0x8c, 0x12, 0xe1, 0xd9, + 0xee, 0x58, 0xb9, 0x12, 0xdb, 0x97, 0xc1, 0xcf, 0xea, 0xdd, 0xd0, 0x8a, 0xc5, 0xa0, 0x3b, 0x1a, + 0xba, 0xa3, 0x31, 0x02, 0x41, 0xe5, 0xee, 0x68, 0xe3, 0x4d, 0x48, 0x1c, 0x35, 0x34, 0x17, 0x81, + 0xa1, 0xfd, 0xda, 0x43, 0x7b, 0x0c, 0xed, 0x57, 0xf7, 0x18, 0x31, 0xb4, 0x7f, 0xdd, 0xd9, 0xc7, + 0xb1, 0x0a, 0xd7, 0x39, 0xc7, 0xbf, 0x82, 0x81, 0xa0, 0x1d, 0x0e, 0x67, 0x39, 0x14, 0x0e, 0xa0, + 0x02, 0x50, 0x01, 0xa8, 0x8c, 0x00, 0xaa, 0xd6, 0xcd, 0x3c, 0x5b, 0x3e, 0x84, 0x5d, 0xd5, 0x55, + 0x42, 0x94, 0x6b, 0x48, 0x94, 0x4b, 0x09, 0xde, 0x58, 0xa2, 0xde, 0xbb, 0xd9, 0x0d, 0x9c, 0xa6, + 0xd7, 0xbf, 0x1c, 0x5f, 0xbe, 0xce, 0x18, 0xf8, 0x45, 0x26, 0xee, 0x8f, 0x74, 0x65, 0xa2, 0xd0, + 0x57, 0x08, 0x7e, 0x97, 0xbf, 0x8f, 0xa8, 0x17, 0x51, 0x6f, 0x93, 0x51, 0x6f, 0xdf, 0x19, 0xf9, + 0xc9, 0xf8, 0xd6, 0x3d, 0x99, 0x9e, 0x8e, 0xf7, 0x44, 0x22, 0xa2, 0x27, 0x19, 0xa8, 0xd1, 0xc9, + 0xd9, 0x9e, 0xd8, 0x2c, 0x16, 0x23, 0x78, 0xe1, 0x78, 0x76, 0x62, 0x04, 0x2f, 0xa7, 0x1a, 0x58, + 0xc4, 0x74, 0x36, 0x4f, 0x1a, 0x3b, 0x7b, 0xb4, 0x2f, 0x27, 0xdf, 0x2e, 0xef, 0x1f, 0x4f, 0xaf, + 0xaf, 0xce, 0x2e, 0xee, 0x2f, 0xae, 0xaf, 0x1e, 0xcf, 0xce, 0xef, 0xcf, 0x6f, 0xbf, 0x5e, 0x5c, + 0x9d, 0x8c, 0xff, 0xa5, 0xba, 0xcf, 0x18, 0x12, 0xd9, 0x4c, 0xd9, 0xf9, 0x8d, 0x8f, 0xf7, 0x78, + 0x71, 0xf5, 0xc7, 0x39, 0x2d, 0xf3, 0x49, 0x48, 0xee, 0xd6, 0xf2, 0x84, 0x77, 0xdf, 0x7e, 0xbb, + 0x3c, 0xf9, 0xeb, 0xfc, 0x76, 0x77, 0x9f, 0xf0, 0xfe, 0xfc, 0x6e, 0x87, 0xdf, 0xdf, 0x55, 0xba, + 0x4b, 0xef, 0x6f, 0xbf, 0xdd, 0x5d, 0xfc, 0x79, 0x5e, 0x77, 0xf5, 0xd0, 0x83, 0x6e, 0x20, 0xd7, + 0xc2, 0xaf, 0xfd, 0x08, 0x7d, 0xcf, 0x0e, 0xfb, 0x7d, 0x3b, 0x91, 0x94, 0xd6, 0x18, 0xcb, 0x62, + 0xe0, 0xea, 0xc0, 0xd5, 0xe9, 0x84, 0xab, 0xa3, 0x7c, 0x90, 0x80, 0x70, 0x80, 0x80, 0x78, 0x70, + 0x80, 0x50, 0xa5, 0xc8, 0x71, 0x50, 0x80, 0xa9, 0x3a, 0x9d, 0xeb, 0x60, 0x00, 0x67, 0xe9, 0x39, + 0xc1, 0x3a, 0xb2, 0x1c, 0x00, 0xe0, 0x5e, 0x5a, 0xfe, 0x82, 0x7f, 0xd6, 0xd5, 0xae, 0xa9, 0x8a, + 0xed, 0xc1, 0x00, 0x23, 0x2d, 0x63, 0xdb, 0x0d, 0xc3, 0xc8, 0x1b, 0xc7, 0x50, 0xc2, 0xb3, 0x27, + 0x6c, 0x9a, 0x0c, 0x06, 0xf6, 0xf7, 0x30, 0xf9, 0x61, 0x8b, 0xc0, 0x8b, 0xd5, 0x2d, 0x77, 0x09, + 0xd9, 0x30, 0xe7, 0x30, 0xe7, 0x9d, 0x30, 0xe7, 0xdf, 0xc3, 0xd0, 0x17, 0x0e, 0x89, 0xa3, 0xe8, + 0x99, 0x01, 0x17, 0xfd, 0x28, 0xfc, 0xaf, 0x08, 0x48, 0xa8, 0x30, 0x15, 0x01, 0xe5, 0x87, 0xf2, + 0x43, 0xf9, 0x5b, 0xa5, 0xfc, 0x7e, 0xe8, 0xfe, 0xb4, 0xc3, 0x51, 0x42, 0x52, 0xff, 0x4c, 0x08, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x0f, 0x00, 0x3c, 0x39, 0xaf, 0x53, 0x2f, 0x3e, 0x25, 0xe3, + 0x08, 0xa1, 0x41, 0x4e, 0x12, 0xa0, 0x00, 0x50, 0x00, 0x5e, 0x0f, 0xbc, 0x1e, 0x78, 0x3d, 0xf0, + 0x7a, 0xe0, 0xf5, 0xe8, 0xa6, 0x1a, 0xed, 0xe8, 0x2b, 0x98, 0x64, 0xb4, 0xa3, 0xdf, 0x60, 0x8c, + 0xd1, 0x8e, 0x3e, 0xbf, 0x6f, 0xd0, 0x8e, 0x1e, 0x4d, 0xa1, 0xad, 0x66, 0x15, 0x8c, 0x68, 0xd4, + 0xd0, 0x14, 0x1a, 0xed, 0xe8, 0x81, 0x3c, 0x40, 0x1e, 0x20, 0x4f, 0x1b, 0x90, 0x07, 0xed, 0xe8, + 0xb7, 0x07, 0xc3, 0x68, 0x47, 0x5f, 0xf9, 0xe8, 0xd9, 0xd2, 0xd1, 0xa9, 0xc6, 0xfa, 0xd2, 0xdf, + 0xa5, 0xb7, 0x71, 0x3a, 0xb9, 0x0b, 0x63, 0xfa, 0xd3, 0x8f, 0x51, 0x5c, 0x44, 0x91, 0xf0, 0xec, + 0x48, 0xc4, 0x49, 0x18, 0xa5, 0xaf, 0xca, 0xf6, 0x9d, 0x37, 0x11, 0xa9, 0xc7, 0xd5, 0x9b, 0x84, + 0x82, 0x01, 0x47, 0xd0, 0xdd, 0x09, 0x06, 0x3c, 0xdd, 0xee, 0xf6, 0x30, 0x0a, 0x93, 0xd0, 0x0d, + 0x7d, 0x55, 0x87, 0x36, 0x33, 0xc2, 0x87, 0x0a, 0xdf, 0x3d, 0x0f, 0x46, 0x4f, 0xe3, 0x87, 0xd0, + 0xbb, 0x54, 0xb0, 0x8b, 0x75, 0x4c, 0x0f, 0x49, 0x54, 0x36, 0x64, 0xd1, 0xf0, 0x90, 0x54, 0x10, + 0x66, 0x87, 0x00, 0x85, 0x77, 0x7b, 0x76, 0x48, 0x98, 0x4c, 0x07, 0x77, 0x27, 0x94, 0x88, 0x6a, + 0xc1, 0xa5, 0x59, 0x16, 0x08, 0x6a, 0x82, 0xdc, 0x20, 0x07, 0xe4, 0x04, 0xa5, 0x81, 0x4e, 0xdb, + 0xe9, 0x09, 0x1e, 0x85, 0xa2, 0xba, 0x48, 0x44, 0x57, 0xa9, 0x5e, 0x96, 0x75, 0x31, 0x98, 0x1a, + 0x86, 0xbe, 0x74, 0x19, 0x46, 0x23, 0x15, 0xc8, 0x04, 0xb4, 0x01, 0xda, 0x00, 0x6d, 0x26, 0xe8, + 0x54, 0x7b, 0xd1, 0xad, 0x63, 0x9c, 0x22, 0x2d, 0xbc, 0xd2, 0x40, 0x2f, 0xce, 0x1b, 0x99, 0xa7, + 0xdb, 0xda, 0xa4, 0x50, 0xf6, 0x6d, 0xd2, 0xe4, 0x7d, 0xbc, 0x76, 0x71, 0x12, 0x39, 0x32, 0x48, + 0x18, 0xc2, 0xda, 0x02, 0xa1, 0x08, 0x71, 0x11, 0xe2, 0xee, 0x72, 0x88, 0x9b, 0xf5, 0xfb, 0x27, + 0xfb, 0x80, 0x15, 0x27, 0x07, 0xec, 0xbe, 0xe7, 0x87, 0x7c, 0x3b, 0x49, 0xd9, 0x90, 0x6f, 0xa7, + 0x79, 0x7a, 0x26, 0x57, 0xfa, 0xf0, 0xd4, 0xf8, 0x30, 0x54, 0xf7, 0xf4, 0x80, 0x36, 0x40, 0x9b, + 0xb6, 0xa1, 0x8d, 0xaa, 0xb1, 0xcf, 0x04, 0xd0, 0x0a, 0x7b, 0x73, 0xfb, 0x8f, 0x52, 0xe0, 0xcb, + 0x64, 0xfe, 0xd9, 0x14, 0x93, 0x53, 0x41, 0x35, 0x29, 0x2a, 0xb7, 0xc2, 0x6a, 0x53, 0x5c, 0x6d, + 0x0a, 0xac, 0x4f, 0x91, 0x69, 0x0a, 0x4d, 0x54, 0x6c, 0x3e, 0x77, 0x82, 0xdf, 0xad, 0x60, 0x72, + 0x2f, 0xe8, 0xeb, 0x4b, 0x39, 0x05, 0xc6, 0x50, 0x60, 0x5c, 0x0c, 0x7e, 0x94, 0x42, 0x63, 0x20, + 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x34, 0xd4, 0xd9, 0xa4, 0x16, 0x3c, 0x67, 0x82, 0x48, 0x05, + 0x5e, 0x99, 0x14, 0x8e, 0x42, 0xaf, 0xb9, 0x30, 0x86, 0x82, 0xaf, 0x4c, 0x18, 0xa9, 0xf0, 0x8b, + 0xfa, 0x96, 0x88, 0xc9, 0x8c, 0x4c, 0x8e, 0xc6, 0xa4, 0x46, 0x9e, 0x5c, 0x7f, 0x4f, 0xb4, 0x9a, + 0xba, 0xb2, 0x1d, 0x6f, 0xe9, 0x6c, 0xcb, 0xd3, 0xec, 0x3e, 0x15, 0xca, 0xac, 0xeb, 0xa5, 0x53, + 0x86, 0x91, 0x0c, 0x23, 0x99, 0xbc, 0x71, 0x14, 0x28, 0x4d, 0x25, 0x81, 0xc4, 0x65, 0xc9, 0x8b, + 0x80, 0x5c, 0xa1, 0xe6, 0x4d, 0x9a, 0xb1, 0x7a, 0x7c, 0x84, 0xae, 0x72, 0x0b, 0x93, 0x55, 0x9d, + 0x3a, 0x26, 0x88, 0xa0, 0xb5, 0x34, 0x99, 0xfd, 0x30, 0x78, 0x63, 0x1c, 0x2d, 0x4e, 0x98, 0x03, + 0xa6, 0x4c, 0x1c, 0x53, 0xcb, 0x93, 0x4c, 0x1e, 0x63, 0x33, 0x0e, 0x26, 0xb7, 0xda, 0xe2, 0x6a, + 0x85, 0xa2, 0xfb, 0x15, 0xf0, 0xb7, 0x46, 0xd1, 0xfa, 0x56, 0x1a, 0x0a, 0x04, 0x1e, 0x4c, 0xae, + 0x32, 0x0c, 0x47, 0x89, 0x0c, 0x06, 0x94, 0xfa, 0x8c, 0x1c, 0x94, 0x16, 0xc8, 0x44, 0xf6, 0x07, + 0x6e, 0x4a, 0x87, 0xdd, 0x14, 0x72, 0x26, 0xc8, 0x0d, 0xe3, 0xc4, 0x76, 0x7f, 0x38, 0x63, 0x50, + 0x14, 0x91, 0x8c, 0x13, 0xe9, 0xf2, 0x51, 0xa3, 0x45, 0xc2, 0x79, 0x38, 0xd2, 0xde, 0xce, 0x73, + 0xa4, 0xe3, 0x10, 0x7c, 0x1c, 0x79, 0x0f, 0x47, 0x89, 0xea, 0xbc, 0x2e, 0xb0, 0xa5, 0xdb, 0x95, + 0x3e, 0xb7, 0xcc, 0x2d, 0xe7, 0x4d, 0xa9, 0x80, 0xb0, 0x0c, 0x0c, 0x8e, 0x3f, 0x08, 0x23, 0x99, + 0xfc, 0x78, 0xe2, 0xdb, 0x33, 0x4b, 0xd8, 0x30, 0x97, 0xff, 0xce, 0x48, 0x77, 0x94, 0x0b, 0x26, + 0x74, 0xc0, 0x45, 0x31, 0x6c, 0x30, 0x9c, 0x36, 0xd0, 0x0d, 0x1b, 0xda, 0xe1, 0x43, 0x3b, 0x8c, + 0xac, 0x87, 0x13, 0xfa, 0x69, 0x05, 0x5e, 0x38, 0x61, 0x8c, 0x1b, 0x2d, 0xd6, 0xb4, 0x4c, 0x6e, + 0xf7, 0xb2, 0xa5, 0x67, 0x72, 0xae, 0xc2, 0xf1, 0x9e, 0x19, 0xef, 0x81, 0x23, 0x76, 0x4f, 0x51, + 0x93, 0x25, 0x7f, 0x5d, 0x0c, 0xc8, 0x0c, 0x69, 0x6c, 0x60, 0x31, 0xb0, 0x18, 0x58, 0x0c, 0x2c, + 0xee, 0x06, 0x16, 0xf3, 0x54, 0x52, 0x16, 0x83, 0x31, 0x47, 0x59, 0x25, 0xd0, 0x18, 0x68, 0x0c, + 0x34, 0x06, 0x1a, 0x9b, 0x8d, 0xc6, 0x8d, 0x52, 0x26, 0xd3, 0x02, 0x27, 0x2e, 0xff, 0x97, 0xa7, + 0xce, 0x29, 0x93, 0xc6, 0x59, 0xef, 0x34, 0x17, 0xca, 0x58, 0xf7, 0x94, 0x09, 0x65, 0xa9, 0x7f, + 0xe2, 0x7a, 0xa9, 0x4c, 0xf5, 0x50, 0x99, 0xbc, 0x7a, 0xeb, 0xa2, 0xf2, 0x89, 0xae, 0xf7, 0xfc, + 0x5c, 0xba, 0x55, 0x67, 0x05, 0xd5, 0xed, 0xe4, 0x89, 0x16, 0x3e, 0x39, 0x0d, 0xe3, 0xe4, 0x74, + 0xf9, 0x79, 0x5a, 0x58, 0x51, 0xee, 0xc9, 0x67, 0x11, 0xc5, 0xe3, 0x37, 0x4e, 0x6c, 0xa5, 0x92, + 0x83, 0xfd, 0x9c, 0x64, 0x54, 0x97, 0x97, 0x73, 0xf4, 0x90, 0x39, 0x41, 0xe6, 0xa4, 0x49, 0x07, + 0x4e, 0x97, 0x06, 0x5b, 0x4c, 0x6d, 0x5c, 0x32, 0x59, 0xb4, 0x76, 0x2e, 0xcd, 0xe2, 0xae, 0x8c, + 0x6d, 0xf1, 0xea, 0xfa, 0xa3, 0x58, 0x3e, 0x33, 0x9e, 0xe5, 0x59, 0x92, 0x4a, 0xcd, 0xc4, 0x89, + 0xbe, 0x33, 0xf2, 0x27, 0xfa, 0x12, 0xe1, 0x78, 0x24, 0xe0, 0x1b, 0xf0, 0xdd, 0x2e, 0xf8, 0x56, + 0x1f, 0x43, 0xba, 0x16, 0xb5, 0x7b, 0x2d, 0x44, 0x5a, 0xdf, 0x49, 0xd2, 0x20, 0x45, 0x57, 0x91, + 0xd0, 0x1a, 0xf9, 0xa8, 0x13, 0x02, 0x5c, 0x02, 0x2e, 0xb5, 0xc1, 0x25, 0x5b, 0x9d, 0x50, 0x5f, + 0xbe, 0x0a, 0xcf, 0xd6, 0x04, 0x12, 0xb9, 0x2d, 0xbf, 0xf1, 0x6a, 0x86, 0x67, 0x4a, 0x3e, 0x20, + 0x53, 0x82, 0x4c, 0x49, 0x09, 0xa8, 0x41, 0xa6, 0x44, 0x75, 0xf7, 0x22, 0x6f, 0x5d, 0xe6, 0x99, + 0xfe, 0x96, 0x49, 0x22, 0x22, 0xed, 0x50, 0x5d, 0x7c, 0x19, 0x60, 0x34, 0x30, 0x1a, 0x18, 0x0d, + 0x8c, 0x06, 0x46, 0x6f, 0x7c, 0xa6, 0x7f, 0x46, 0x42, 0x06, 0x83, 0xda, 0xdc, 0xea, 0xcd, 0x97, + 0x43, 0x05, 0x12, 0x30, 0x1b, 0x98, 0x0d, 0xcc, 0x06, 0x66, 0x6f, 0x7c, 0xa6, 0x24, 0x72, 0xfa, + 0x7d, 0xe9, 0xda, 0xc3, 0x28, 0x1c, 0x8a, 0x28, 0x79, 0xd3, 0x54, 0xa7, 0x5f, 0x7c, 0x19, 0x60, + 0x34, 0x30, 0x1a, 0x18, 0x0d, 0x8c, 0x06, 0x46, 0x6f, 0x7c, 0xa6, 0x17, 0x27, 0xf0, 0x6a, 0xe0, + 0x3e, 0x8a, 0x2f, 0x03, 0xee, 0x03, 0x18, 0x0d, 0x8c, 0x06, 0x46, 0xa3, 0x92, 0x5f, 0xcf, 0x1b, + 0x9c, 0x55, 0xf2, 0xeb, 0xf0, 0x90, 0x51, 0xd5, 0x8f, 0xaa, 0x7e, 0x0d, 0x55, 0xfd, 0xda, 0x18, + 0xb7, 0x06, 0x0b, 0xfb, 0x2f, 0x27, 0xcf, 0xd4, 0xfe, 0xda, 0xfe, 0x27, 0xe7, 0xd5, 0x76, 0x7c, + 0x3f, 0x7c, 0x11, 0x9e, 0xed, 0x86, 0x71, 0xc2, 0x57, 0xf3, 0x94, 0x93, 0x8c, 0x6a, 0xa7, 0x72, + 0xae, 0x1f, 0xaa, 0x9d, 0x50, 0xed, 0xa4, 0xf0, 0x80, 0x6c, 0xd5, 0x4e, 0xe4, 0x46, 0xcb, 0x6b, + 0xb7, 0x37, 0xb1, 0xf1, 0x32, 0x98, 0xbc, 0x1a, 0xa0, 0x02, 0xd1, 0xa2, 0x09, 0x50, 0xd2, 0xb5, + 0xa8, 0x91, 0xdc, 0x40, 0x7a, 0x1d, 0x36, 0x1c, 0x33, 0x8a, 0xe4, 0x69, 0x30, 0xbd, 0xfa, 0xc3, + 0xab, 0x5e, 0x16, 0x77, 0x03, 0x6a, 0xcd, 0xa0, 0x9b, 0x13, 0xcf, 0xdc, 0xa0, 0x3a, 0x27, 0x5f, + 0x43, 0x6b, 0x64, 0x4d, 0xea, 0xb6, 0x1a, 0xf7, 0xb6, 0xfe, 0x95, 0xea, 0x6b, 0x78, 0xdd, 0xc8, + 0x5b, 0xde, 0x33, 0x53, 0xda, 0xc3, 0x0e, 0xa5, 0x32, 0x34, 0x75, 0x1e, 0x42, 0xd3, 0x21, 0x38, + 0xa1, 0x70, 0x42, 0xe1, 0x84, 0xc2, 0x09, 0x85, 0x13, 0x0a, 0x27, 0x14, 0x4e, 0x28, 0x9c, 0xd0, + 0x9d, 0x75, 0x42, 0x91, 0xca, 0xe3, 0x4c, 0xe5, 0x31, 0xe7, 0x74, 0xac, 0x66, 0x93, 0x78, 0x5f, + 0x9d, 0xd7, 0x93, 0xc9, 0xc3, 0x9c, 0x8e, 0x9f, 0xa5, 0xe5, 0xd9, 0x3b, 0x4f, 0xf8, 0xce, 0x9b, + 0x9e, 0xf4, 0xdd, 0x44, 0x34, 0xf2, 0x77, 0x8d, 0xc5, 0x43, 0xc8, 0xdf, 0x21, 0x7f, 0x57, 0x5a, + 0x10, 0xf2, 0x77, 0xa0, 0x4e, 0x40, 0x9d, 0x80, 0x3a, 0x01, 0x75, 0x02, 0xea, 0x04, 0xd4, 0x09, + 0xa8, 0x13, 0x50, 0x27, 0xa0, 0x4e, 0x9a, 0xd1, 0x02, 0xe4, 0xef, 0xe0, 0x84, 0xc2, 0x09, 0x85, + 0x13, 0x0a, 0x27, 0x14, 0x4e, 0x28, 0x9c, 0x50, 0x38, 0xa1, 0x70, 0x42, 0xe1, 0x84, 0xd6, 0x29, + 0x01, 0xf9, 0xbb, 0x0d, 0xf9, 0x3b, 0x8e, 0xa4, 0x8e, 0x65, 0x4a, 0x02, 0xef, 0x2c, 0x7d, 0x98, + 0x96, 0x67, 0xf0, 0x7e, 0x84, 0xc3, 0x58, 0x4f, 0x02, 0x2f, 0x95, 0x8c, 0xfc, 0x5d, 0x63, 0xf1, + 0x10, 0xf2, 0x77, 0xc8, 0xdf, 0x95, 0x16, 0x84, 0xfc, 0x1d, 0xa8, 0x13, 0x50, 0x27, 0xa0, 0x4e, + 0x40, 0x9d, 0x80, 0x3a, 0x01, 0x75, 0x02, 0xea, 0x04, 0xd4, 0x09, 0xa8, 0x93, 0x66, 0xb4, 0x00, + 0xf9, 0x3b, 0x38, 0xa1, 0x70, 0x42, 0xe1, 0x84, 0xc2, 0x09, 0x85, 0x13, 0x0a, 0x27, 0x14, 0x4e, + 0x28, 0x9c, 0x50, 0x38, 0xa1, 0x75, 0x4a, 0x40, 0xfe, 0x6e, 0x43, 0xfe, 0x8e, 0x21, 0xa7, 0x63, + 0x99, 0x92, 0xbe, 0xfb, 0x63, 0xfc, 0x2c, 0x2d, 0xcc, 0xde, 0x45, 0x32, 0xfe, 0x69, 0xcf, 0x47, + 0xe0, 0xeb, 0x1a, 0x1f, 0xbc, 0xf9, 0x32, 0xc8, 0xeb, 0x35, 0x16, 0x27, 0x21, 0xaf, 0x87, 0xbc, + 0x5e, 0x35, 0xb0, 0x58, 0xd6, 0x5d, 0x4d, 0xe3, 0x73, 0xd6, 0x5e, 0x09, 0x94, 0x0b, 0x0f, 0x94, + 0x60, 0x3a, 0x43, 0xa3, 0x54, 0x0b, 0xa6, 0x33, 0xa8, 0xee, 0x5e, 0x4c, 0xd0, 0x29, 0x8d, 0xd4, + 0xd2, 0x13, 0x41, 0x22, 0xfb, 0x52, 0x44, 0xb6, 0x2f, 0x19, 0x1a, 0xa3, 0x17, 0xa3, 0xf4, 0xea, + 0x55, 0x80, 0xd0, 0x40, 0x68, 0x20, 0x34, 0x10, 0xda, 0x5c, 0x84, 0x66, 0x5a, 0x41, 0xd6, 0x59, + 0x33, 0x73, 0x86, 0x74, 0x69, 0xe6, 0x0c, 0xb3, 0x9e, 0xce, 0x5e, 0x51, 0x8f, 0x5b, 0x3f, 0x35, + 0x01, 0xcb, 0x2a, 0xb8, 0x3c, 0xc9, 0xc0, 0x16, 0xb3, 0xd5, 0xd1, 0x40, 0x4f, 0xeb, 0x86, 0x99, + 0x1c, 0xd4, 0xf4, 0xf6, 0x0d, 0xa5, 0x5f, 0x19, 0xc9, 0x7f, 0x2d, 0x13, 0x8f, 0x32, 0xe1, 0xac, + 0x93, 0x8f, 0x18, 0x9d, 0x38, 0x13, 0x46, 0x6c, 0x69, 0x8a, 0xa2, 0x31, 0x65, 0x0b, 0x53, 0xb6, + 0x34, 0xa4, 0x06, 0x74, 0x72, 0xc4, 0x56, 0xb3, 0x79, 0x82, 0x5b, 0x19, 0xff, 0x3c, 0x9b, 0x3d, + 0x59, 0xfb, 0x47, 0x6e, 0x4d, 0xde, 0x66, 0xf8, 0xfd, 0xef, 0x74, 0xb1, 0x84, 0xdd, 0x1f, 0x05, + 0x2e, 0xcb, 0x46, 0x9c, 0x47, 0x96, 0xeb, 0xae, 0xc0, 0x93, 0x2a, 0x38, 0x40, 0xaa, 0xa0, 0x79, + 0x27, 0x0f, 0xa9, 0x02, 0xf3, 0x1c, 0x07, 0xb6, 0xa8, 0x50, 0xb7, 0x26, 0x2f, 0xc5, 0x85, 0x87, + 0x0c, 0xb2, 0xce, 0x83, 0xd1, 0xd3, 0xf8, 0xc9, 0x7f, 0xb5, 0x10, 0x8f, 0x93, 0xd0, 0x17, 0x91, + 0xf3, 0xdd, 0x17, 0xb6, 0x7c, 0x1a, 0x3a, 0x2e, 0xe3, 0x08, 0xc4, 0x9c, 0x64, 0xe0, 0x2f, 0xf0, + 0x17, 0xf8, 0xdb, 0x22, 0xfc, 0x1d, 0x44, 0x8e, 0x27, 0x62, 0x3b, 0xec, 0xf3, 0x68, 0xf0, 0x12, + 0xee, 0x32, 0x94, 0xbd, 0xed, 0x5f, 0xa4, 0xe9, 0x83, 0xe4, 0xed, 0x37, 0x27, 0xd6, 0x90, 0x47, + 0xfe, 0xfd, 0xf6, 0xe4, 0xec, 0xfc, 0xee, 0xf1, 0xfa, 0xcb, 0xe3, 0xc5, 0xd7, 0x9b, 0x93, 0xd3, + 0x7b, 0xae, 0x1d, 0x9e, 0xd6, 0x02, 0xc6, 0xac, 0x45, 0xb4, 0x9a, 0xa8, 0xbe, 0xd5, 0x15, 0x78, + 0xfc, 0x7a, 0xf2, 0x3f, 0xd7, 0xb7, 0xb3, 0xe5, 0x30, 0x91, 0x2f, 0xaa, 0x6b, 0x21, 0x2e, 0xaf, + 0xaf, 0x7e, 0xc7, 0x3a, 0xdc, 0x3f, 0xfe, 0x71, 0x71, 0x7f, 0x79, 0x7e, 0x77, 0xd7, 0xe9, 0x35, + 0xf8, 0x7a, 0x71, 0xa5, 0x43, 0x29, 0x58, 0x24, 0x3d, 0x34, 0x6d, 0xd3, 0xf6, 0xea, 0xfd, 0xa6, + 0xe2, 0xf6, 0xe1, 0x22, 0xc4, 0x1a, 0x27, 0xc2, 0x08, 0x36, 0xaa, 0x39, 0x8a, 0x4b, 0x4d, 0x69, + 0xaa, 0x6f, 0x10, 0x85, 0xcd, 0xb1, 0x3f, 0x4b, 0xe5, 0x2e, 0xae, 0xb1, 0xea, 0x0e, 0x59, 0x88, + 0x8c, 0xf2, 0x42, 0x15, 0x37, 0x2e, 0xad, 0x7e, 0x95, 0x1c, 0x0c, 0x71, 0x04, 0x41, 0xcb, 0xc1, + 0xcf, 0xa2, 0x7a, 0x50, 0x76, 0x33, 0x53, 0xc0, 0xc3, 0x1e, 0xe8, 0xb0, 0x07, 0x38, 0xf9, 0xc0, + 0x66, 0x69, 0x09, 0x5b, 0x02, 0xc0, 0xd4, 0x3a, 0xd3, 0x7d, 0xe7, 0x39, 0x94, 0xde, 0xbc, 0xf2, + 0x82, 0x8d, 0xc5, 0x58, 0x91, 0x0b, 0x0e, 0x03, 0x1c, 0x06, 0x38, 0x8c, 0x16, 0x71, 0x18, 0xa3, + 0x91, 0xf4, 0x38, 0x79, 0x8b, 0xe3, 0x16, 0x72, 0xbc, 0x73, 0x37, 0xc3, 0x7e, 0x11, 0x72, 0xf0, + 0x83, 0x91, 0xe4, 0xcd, 0x8b, 0x06, 0x42, 0x02, 0x21, 0x81, 0x90, 0x6d, 0x42, 0x48, 0xae, 0xc6, + 0x03, 0x8c, 0x0d, 0x07, 0x98, 0x1b, 0x0d, 0xf0, 0xd6, 0x58, 0x6a, 0xa8, 0x81, 0xd6, 0x72, 0xfa, + 0x5c, 0x57, 0x23, 0x01, 0x9d, 0x47, 0xcb, 0x99, 0x6b, 0x07, 0x5b, 0xf7, 0xaa, 0xf4, 0x37, 0x08, + 0xd0, 0xfa, 0xf6, 0x0c, 0xa9, 0xa0, 0x7c, 0x68, 0xa1, 0x93, 0x26, 0x5e, 0x5d, 0x7f, 0xe4, 0x09, + 0xdb, 0x97, 0xc1, 0x4f, 0x3e, 0xff, 0x6c, 0x49, 0x2a, 0x5c, 0x33, 0xb8, 0x66, 0x70, 0xcd, 0x10, + 0xbc, 0xb6, 0x12, 0x17, 0x83, 0xd0, 0x13, 0xfc, 0xb8, 0x98, 0x4a, 0x05, 0x2e, 0x02, 0x17, 0x81, + 0x8b, 0xc0, 0xc5, 0xd6, 0xe2, 0xa2, 0x2d, 0xbc, 0x81, 0xb0, 0x87, 0x21, 0x25, 0x3b, 0xb9, 0x11, + 0x22, 0x17, 0x2f, 0x00, 0xb4, 0x04, 0x5a, 0x02, 0x2d, 0x81, 0x96, 0xad, 0x44, 0xcb, 0x69, 0x69, + 0x0e, 0x33, 0x44, 0xa6, 0x52, 0x81, 0x8b, 0xc0, 0x45, 0xe0, 0x22, 0x70, 0xb1, 0x55, 0xb8, 0x28, + 0x03, 0x1d, 0xac, 0xe3, 0x92, 0x54, 0xe0, 0x22, 0x70, 0x11, 0xb8, 0x08, 0x5c, 0x6c, 0x25, 0x2e, + 0xf2, 0xb2, 0x8e, 0x4b, 0x52, 0x81, 0x8b, 0xc0, 0x45, 0xe0, 0x22, 0x70, 0xb1, 0xb5, 0xb8, 0xa8, + 0x85, 0x75, 0x5c, 0x77, 0x01, 0xa0, 0x25, 0xd0, 0x12, 0x68, 0x09, 0xb4, 0x6c, 0x25, 0x5a, 0xf2, + 0xb2, 0x8e, 0x4b, 0x52, 0x81, 0x8b, 0xc0, 0x45, 0xe0, 0x22, 0x70, 0xb1, 0x95, 0xb8, 0xc8, 0x7f, + 0x5c, 0x2f, 0x27, 0x19, 0xf8, 0x08, 0x7c, 0x04, 0x3e, 0x02, 0x1f, 0x5b, 0x85, 0x8f, 0x7e, 0xe8, + 0x3a, 0xbe, 0x2d, 0x3d, 0x3e, 0x5c, 0xcc, 0x24, 0x02, 0x0f, 0xcb, 0xe1, 0xe1, 0xa4, 0x6b, 0x07, + 0x50, 0x50, 0x0b, 0x0a, 0x4e, 0x17, 0x17, 0xd8, 0xb7, 0xb2, 0xf3, 0xd8, 0xc6, 0x1f, 0xb4, 0x1a, + 0xfd, 0x58, 0xc6, 0x82, 0x65, 0x6b, 0xca, 0xd1, 0xb4, 0xbc, 0x33, 0x53, 0x02, 0x81, 0x7a, 0x40, + 0xbd, 0x2d, 0x8f, 0xc5, 0x36, 0x11, 0xf0, 0x79, 0x7a, 0xe4, 0x91, 0xb9, 0x6d, 0xe3, 0x44, 0x2c, + 0x26, 0x49, 0x19, 0x06, 0x08, 0xba, 0x80, 0x41, 0x3b, 0x40, 0x68, 0x07, 0x0a, 0xfd, 0x80, 0xc1, + 0x03, 0x1c, 0x4c, 0x00, 0xc2, 0xef, 0x3e, 0xe9, 0x73, 0xa3, 0x98, 0xdd, 0x29, 0xbe, 0xf7, 0xc0, + 0x31, 0xe7, 0x2f, 0x05, 0x4a, 0x4d, 0x33, 0x58, 0x17, 0x64, 0x03, 0x89, 0x81, 0xc4, 0x40, 0x62, + 0x20, 0xf1, 0xae, 0x22, 0xb1, 0x09, 0xc3, 0xba, 0xd8, 0xe0, 0x16, 0xe3, 0xb9, 0x30, 0x9e, 0x8b, + 0xda, 0x95, 0xb8, 0xa0, 0xbb, 0xed, 0x7b, 0x26, 0x4f, 0xa0, 0xb6, 0x1e, 0xc5, 0xf7, 0xd3, 0x67, + 0x58, 0xf8, 0x28, 0x85, 0xb4, 0x16, 0xb2, 0x69, 0x63, 0x13, 0x2c, 0xa2, 0x48, 0x78, 0x76, 0x12, + 0x39, 0x41, 0x3c, 0x0c, 0xa3, 0xc4, 0xf6, 0x9d, 0x37, 0x11, 0xf1, 0x51, 0x6c, 0xeb, 0x2f, 0x81, + 0x6c, 0x43, 0x39, 0xe7, 0x0e, 0xd9, 0x57, 0x64, 0x5f, 0x9b, 0x74, 0xdc, 0xe6, 0x79, 0xc2, 0xb1, + 0xda, 0xda, 0xc3, 0x28, 0x4c, 0x42, 0x37, 0xf4, 0xb9, 0x22, 0xb8, 0xdd, 0x9a, 0xb6, 0x85, 0xc9, + 0x04, 0x2a, 0x3e, 0x40, 0x1b, 0x46, 0x13, 0xe4, 0xcd, 0x7e, 0x6d, 0xb3, 0x09, 0xf6, 0x34, 0x6e, + 0xa6, 0x59, 0x98, 0xa0, 0x58, 0x04, 0x40, 0x0b, 0x0a, 0x58, 0x82, 0x00, 0x16, 0xa7, 0x9f, 0xe6, + 0xe4, 0x57, 0x5d, 0x73, 0xa2, 0xe2, 0xd6, 0xab, 0xb0, 0x0a, 0xca, 0x59, 0x97, 0x52, 0x56, 0xd3, + 0xc0, 0xf2, 0x7a, 0x54, 0xe1, 0x7d, 0xee, 0x47, 0x22, 0x4e, 0xc2, 0x28, 0x7d, 0x99, 0xb6, 0x1b, + 0x86, 0x91, 0x27, 0x03, 0x27, 0x11, 0x76, 0xa2, 0x62, 0x7e, 0xe7, 0xd3, 0x2d, 0x37, 0x08, 0xad, + 0xaa, 0xdf, 0x4a, 0x7e, 0xb2, 0xb2, 0x5f, 0x4c, 0xf1, 0x83, 0x59, 0xa7, 0x7d, 0x50, 0x7d, 0x5c, + 0x36, 0x9f, 0x96, 0xcd, 0x87, 0xe5, 0x9e, 0xe6, 0xa1, 0xd7, 0xae, 0x28, 0xfb, 0x9f, 0x0b, 0xfd, + 0xe3, 0x29, 0x1b, 0x9f, 0xea, 0x5b, 0x2a, 0xfa, 0x92, 0x3a, 0x41, 0x46, 0xd8, 0xc3, 0x48, 0x86, + 0xd1, 0xf8, 0x65, 0x13, 0x91, 0x65, 0x41, 0x12, 0xe0, 0x04, 0x70, 0xd2, 0x09, 0x38, 0x51, 0xee, + 0x65, 0x4f, 0xe8, 0x5d, 0x4f, 0xec, 0x55, 0x4f, 0x88, 0xe9, 0x38, 0x7a, 0xd1, 0x73, 0x71, 0x6c, + 0x4c, 0xbd, 0xe6, 0x39, 0xbb, 0x93, 0x53, 0x58, 0x53, 0x8e, 0xde, 0xf1, 0xdc, 0x4b, 0xcb, 0xdf, + 0x1b, 0x9e, 0x75, 0xb5, 0x6b, 0x8a, 0x94, 0x1f, 0x8c, 0x30, 0xd5, 0xcf, 0x22, 0x8a, 0xc7, 0x8e, + 0xfb, 0x93, 0x4a, 0x7f, 0x90, 0x05, 0x43, 0xbd, 0x24, 0x07, 0x66, 0x1a, 0x66, 0xba, 0x13, 0x66, + 0x9a, 0xb4, 0xef, 0x77, 0xca, 0xe9, 0x8f, 0x85, 0x3f, 0xa1, 0x43, 0x66, 0x2c, 0x8d, 0x3a, 0x98, + 0xe4, 0x45, 0x01, 0x4f, 0x80, 0x27, 0x9d, 0xc0, 0x13, 0xea, 0xd6, 0xdf, 0x2d, 0x48, 0x19, 0x7d, + 0xb7, 0x97, 0x99, 0x5f, 0x02, 0xa6, 0xe4, 0x65, 0xa9, 0x81, 0x4a, 0x4f, 0x15, 0x54, 0x3e, 0x00, + 0x54, 0x00, 0x2a, 0x0a, 0xa0, 0xa2, 0x7a, 0x4c, 0x65, 0x7f, 0x9e, 0x3f, 0xb1, 0xd3, 0xa3, 0xc8, + 0xe4, 0x69, 0xdf, 0xab, 0x02, 0x69, 0x93, 0xbe, 0x0f, 0x30, 0xe9, 0x9b, 0x57, 0xd1, 0xd8, 0x15, + 0x8e, 0x5d, 0xf1, 0x74, 0x29, 0x20, 0x31, 0x72, 0x57, 0xdc, 0x47, 0xe4, 0x9a, 0x95, 0x79, 0xad, + 0x8a, 0x70, 0xfa, 0x91, 0xe8, 0x53, 0xf6, 0xce, 0xcc, 0x3a, 0x1d, 0x11, 0x64, 0xdc, 0x14, 0xa4, + 0x68, 0x3f, 0xcf, 0xb2, 0xb1, 0xb9, 0xd7, 0xf4, 0xb9, 0x30, 0x69, 0xbb, 0xfe, 0xcf, 0xc2, 0xa0, + 0xe0, 0x97, 0x29, 0x8e, 0xd4, 0x55, 0x99, 0xa0, 0x92, 0x1a, 0x5e, 0x72, 0x19, 0x98, 0x70, 0xb4, + 0x48, 0x28, 0xb0, 0x14, 0x58, 0x0a, 0x2c, 0x05, 0x96, 0x12, 0xb0, 0x74, 0xa5, 0x48, 0xa6, 0x61, + 0xb0, 0xad, 0xa3, 0x0c, 0x6c, 0xc5, 0x21, 0xb5, 0xe8, 0xc0, 0x8a, 0x0a, 0x31, 0x6b, 0x27, 0x2a, + 0xc4, 0xc8, 0xe1, 0xbe, 0xc5, 0x5f, 0x18, 0x76, 0x37, 0xfa, 0xbe, 0xf4, 0x81, 0x09, 0xf5, 0x60, + 0x93, 0x35, 0x22, 0xd0, 0x2a, 0x93, 0xef, 0xd7, 0x4c, 0xa5, 0x80, 0x9f, 0x05, 0x95, 0x52, 0x2b, + 0x95, 0x42, 0x6e, 0x63, 0xc6, 0xd5, 0xbe, 0x6c, 0x17, 0x1d, 0x7e, 0xe2, 0x69, 0xf0, 0x6e, 0xbb, + 0xfa, 0xb4, 0xd3, 0xdc, 0x6d, 0x75, 0xf2, 0xc9, 0xa7, 0xb1, 0x89, 0xa7, 0xaf, 0xeb, 0x21, 0x1f, + 0x48, 0x1d, 0x2d, 0x38, 0xda, 0x86, 0x11, 0xdb, 0x85, 0x01, 0x6d, 0x80, 0x36, 0xcd, 0xa1, 0x0d, + 0xb5, 0xbd, 0x17, 0x53, 0x5b, 0x2f, 0xd6, 0x76, 0x5e, 0xe8, 0x5a, 0xda, 0x98, 0xc2, 0x6a, 0x53, + 0x5c, 0x6d, 0x0a, 0xac, 0x4f, 0x91, 0x69, 0x0a, 0x4d, 0x54, 0x6c, 0x3e, 0x77, 0x82, 0xdf, 0xad, + 0x60, 0x72, 0x2f, 0xe8, 0xeb, 0x4b, 0xa9, 0x18, 0x66, 0x6c, 0xa7, 0xc5, 0xdf, 0x46, 0x0b, 0x08, + 0x08, 0x04, 0x04, 0x02, 0x02, 0x01, 0x0d, 0x73, 0x36, 0xb9, 0xda, 0x57, 0xf1, 0xb4, 0xad, 0x62, + 0x6d, 0x57, 0xc5, 0xda, 0xa6, 0x8a, 0xa7, 0x3d, 0xd5, 0xee, 0xb5, 0xa0, 0x98, 0xfc, 0x93, 0xda, + 0x5d, 0x8a, 0x3b, 0x61, 0x91, 0xfe, 0x8b, 0xd0, 0x2f, 0xaa, 0xa6, 0x1a, 0x8d, 0xb4, 0x66, 0x56, + 0x78, 0xf6, 0x42, 0x3a, 0x50, 0x04, 0x1e, 0x71, 0x9e, 0xe3, 0x4a, 0x49, 0xee, 0x3a, 0xf1, 0x0d, + 0x13, 0x2b, 0x1f, 0x50, 0xb7, 0xb1, 0x43, 0xf4, 0x4a, 0xfb, 0xea, 0x36, 0xc8, 0x24, 0x4b, 0x91, + 0x52, 0xd1, 0xca, 0xac, 0x72, 0xfb, 0x73, 0xfd, 0x25, 0x10, 0x8a, 0xd4, 0xaa, 0xdc, 0x08, 0x48, + 0x74, 0x2b, 0xff, 0xae, 0x86, 0x25, 0xf4, 0xa2, 0xae, 0x9c, 0xe5, 0x3d, 0x62, 0x90, 0xb5, 0xbd, + 0xc8, 0x6b, 0xd6, 0x3e, 0xec, 0xf3, 0x62, 0x1f, 0xb1, 0x0d, 0xbf, 0x5e, 0xf9, 0x38, 0x08, 0x3d, + 0xb1, 0xf2, 0x51, 0xf8, 0x12, 0x08, 0x6f, 0x75, 0xa8, 0x74, 0x51, 0xa9, 0x98, 0x18, 0xda, 0xbe, + 0x8c, 0x37, 0x57, 0x91, 0xcd, 0x01, 0x91, 0xb5, 0x5c, 0xac, 0x59, 0xfe, 0x6a, 0x65, 0x6d, 0x98, + 0xad, 0x49, 0xa1, 0x74, 0x18, 0x92, 0x72, 0x86, 0x84, 0x69, 0x98, 0x25, 0x8c, 0x48, 0xb1, 0x11, + 0xc9, 0x96, 0x17, 0x06, 0x04, 0x06, 0x44, 0xc1, 0x80, 0x64, 0x7f, 0xd3, 0x6a, 0xe8, 0xd7, 0x80, + 0xf7, 0x00, 0x79, 0x80, 0x3c, 0x40, 0x1e, 0x20, 0xdf, 0x1a, 0x90, 0x6f, 0x2b, 0x80, 0x67, 0x0b, + 0xc0, 0x0b, 0xe2, 0xcb, 0x62, 0x01, 0xe4, 0x00, 0x72, 0x00, 0x39, 0x80, 0xdc, 0x38, 0x20, 0x6f, + 0x14, 0xb5, 0x9b, 0xc8, 0x97, 0x2f, 0xe1, 0xb2, 0x95, 0xb9, 0xda, 0x56, 0x11, 0xc9, 0x62, 0x71, + 0xf3, 0xf8, 0x5a, 0x72, 0xed, 0x4c, 0x06, 0xab, 0x47, 0x35, 0x52, 0x8c, 0x78, 0xbb, 0x88, 0xb5, + 0x4f, 0x32, 0xb0, 0xc5, 0xec, 0x69, 0x19, 0x54, 0x4a, 0x07, 0xda, 0x2e, 0x21, 0x6d, 0xaf, 0x8d, + 0x5e, 0x10, 0x2a, 0x2e, 0x56, 0xe5, 0x68, 0xab, 0xb8, 0xd0, 0x91, 0xdd, 0xb7, 0xb4, 0x95, 0x62, + 0xdc, 0x4d, 0xef, 0x76, 0xfe, 0x77, 0xe7, 0x81, 0x77, 0x13, 0xd6, 0x39, 0xde, 0x83, 0x52, 0xa0, + 0x91, 0x0e, 0x6b, 0x60, 0xac, 0xc8, 0x98, 0xc8, 0x43, 0x09, 0x06, 0x4a, 0x30, 0x98, 0x5c, 0xf2, + 0xae, 0x97, 0x60, 0x68, 0x2b, 0xbc, 0x40, 0xdc, 0x5d, 0xbf, 0x22, 0x23, 0xf6, 0xd6, 0xad, 0xe8, + 0x88, 0xbf, 0x0d, 0x8b, 0xbf, 0x0d, 0xea, 0x4f, 0xd6, 0x6c, 0x04, 0x31, 0x19, 0x8b, 0x45, 0x6e, + 0x5b, 0x90, 0xdb, 0x19, 0x2b, 0x72, 0x81, 0xe8, 0x40, 0x74, 0x20, 0x3a, 0x10, 0xbd, 0x45, 0x88, + 0x9e, 0x22, 0x58, 0xc1, 0xe7, 0x19, 0xa6, 0x75, 0x89, 0x7f, 0x5d, 0x6d, 0xa0, 0xc6, 0x02, 0xef, + 0xe0, 0x55, 0xc1, 0xab, 0x82, 0x57, 0x05, 0xaf, 0x4a, 0xe7, 0xe8, 0xf4, 0x13, 0xa9, 0xe9, 0x88, + 0x56, 0xf3, 0xb9, 0xd3, 0x31, 0x40, 0x47, 0xc2, 0x89, 0x09, 0xaf, 0xbb, 0x60, 0xc4, 0xc4, 0x54, + 0x62, 0xc3, 0x9d, 0xc8, 0xc0, 0x9f, 0x82, 0x3f, 0x6d, 0xd2, 0x15, 0x62, 0xec, 0x4a, 0xc6, 0xa3, + 0x59, 0x16, 0x71, 0x86, 0x4b, 0x26, 0x43, 0x6d, 0x96, 0x4b, 0xcd, 0xf8, 0x36, 0xb1, 0x1e, 0x9e, + 0x8c, 0x26, 0x4b, 0xc7, 0xd6, 0x5d, 0x7d, 0x2e, 0x11, 0x9d, 0x16, 0x81, 0x6f, 0xc0, 0x37, 0x86, + 0x5d, 0x34, 0x0c, 0xa3, 0x84, 0xac, 0x57, 0xed, 0x45, 0xb7, 0x3a, 0x3a, 0x9a, 0x2b, 0x86, 0xde, + 0x68, 0x5b, 0x6e, 0xed, 0x46, 0xdb, 0x72, 0x95, 0x76, 0xda, 0xda, 0xa2, 0x24, 0x13, 0x1a, 0x94, + 0x2b, 0x65, 0xa4, 0xe7, 0x53, 0xb4, 0x15, 0x26, 0x00, 0xb4, 0x78, 0x78, 0xa4, 0x62, 0xc3, 0xb0, + 0x6e, 0xb4, 0x25, 0x57, 0x6b, 0xf8, 0x65, 0xfc, 0x9c, 0x78, 0xb5, 0xc2, 0x0a, 0xc5, 0xf6, 0x5c, + 0x7a, 0x74, 0xfc, 0xc5, 0x91, 0x89, 0x9d, 0x84, 0x76, 0x3a, 0x4c, 0x37, 0xb1, 0x13, 0xf9, 0x44, + 0x98, 0x44, 0x5d, 0x24, 0xac, 0x6a, 0x9b, 0x78, 0xd1, 0x77, 0x46, 0xfe, 0x84, 0xe6, 0xfc, 0x88, + 0xd9, 0xb3, 0x00, 0x91, 0x6e, 0xcc, 0x9e, 0x1d, 0xc9, 0x20, 0xf9, 0x74, 0x48, 0x00, 0x93, 0x63, + 0x85, 0xaf, 0xde, 0x3a, 0xc1, 0x60, 0x7c, 0xf5, 0xff, 0x28, 0xbd, 0x22, 0x5a, 0x7a, 0x89, 0x21, + 0x84, 0xe5, 0x29, 0x60, 0xf8, 0x73, 0xda, 0x69, 0x9a, 0x2a, 0xe7, 0x4b, 0xe4, 0xa4, 0xde, 0xdc, + 0x99, 0x1c, 0xc8, 0xd4, 0x0b, 0x3f, 0x68, 0x2a, 0xcd, 0x62, 0xdc, 0xd2, 0xf6, 0x8e, 0x0f, 0x0f, + 0x3f, 0x1d, 0x1d, 0x1e, 0x1e, 0x1c, 0xfd, 0xeb, 0xe8, 0xe0, 0xdf, 0x1f, 0x3f, 0xf6, 0x3e, 0xf5, + 0x3e, 0x1a, 0xb4, 0xda, 0x35, 0xc5, 0xb0, 0x0f, 0xba, 0xac, 0xfd, 0x1e, 0xe3, 0x9e, 0x9a, 0xc5, + 0xc2, 0x15, 0x5c, 0x1b, 0xb5, 0xf8, 0x97, 0x14, 0xf7, 0x92, 0xe2, 0x5d, 0xb5, 0x38, 0xb7, 0xec, + 0xfa, 0x29, 0xc6, 0xb5, 0xfc, 0xf1, 0xec, 0x7e, 0x95, 0x49, 0x54, 0x9c, 0x01, 0x6c, 0x39, 0xe3, + 0xbc, 0x7d, 0xd7, 0x96, 0x58, 0xf1, 0x6a, 0x11, 0xaa, 0x8a, 0xdf, 0x5e, 0x11, 0x0a, 0x2b, 0xbb, + 0x92, 0x2a, 0x2e, 0x24, 0x31, 0xf2, 0x54, 0x75, 0x16, 0xc9, 0x4e, 0x22, 0xd9, 0x39, 0xa4, 0x47, + 0x96, 0xbc, 0x58, 0x59, 0xd9, 0xed, 0x53, 0x8d, 0x1c, 0x2b, 0x46, 0x8c, 0x25, 0x74, 0x6b, 0x8f, + 0xf0, 0xfc, 0x15, 0x6c, 0x44, 0x35, 0xdb, 0xa0, 0x64, 0x13, 0x94, 0x6c, 0x41, 0x35, 0x1b, 0xb0, + 0x6d, 0x3d, 0x2a, 0x62, 0x3e, 0x03, 0xd6, 0x97, 0xd8, 0x3b, 0x54, 0x50, 0xdf, 0xac, 0x54, 0xeb, + 0x37, 0xd0, 0x86, 0xc5, 0xda, 0x5f, 0x7a, 0xaa, 0x58, 0x44, 0xcf, 0xb2, 0x04, 0x0e, 0xe5, 0x8e, + 0xb4, 0x2c, 0x7d, 0x7b, 0xdb, 0x56, 0x2d, 0x75, 0xd0, 0xac, 0x34, 0x6c, 0x57, 0x81, 0x6b, 0x52, + 0x84, 0x5f, 0x15, 0xa4, 0x95, 0xc1, 0x59, 0x19, 0x94, 0xa9, 0x11, 0x3a, 0x0d, 0x82, 0xca, 0x1e, + 0xbc, 0xda, 0x77, 0xbc, 0x27, 0x19, 0xc8, 0x38, 0x89, 0x9c, 0x44, 0x3e, 0x0b, 0x3b, 0x4e, 0x9c, + 0x0a, 0xa7, 0x20, 0xb3, 0x57, 0x58, 0x28, 0x05, 0x1e, 0x04, 0x3c, 0x88, 0xc6, 0x3c, 0x08, 0xc2, + 0x8e, 0xb4, 0x14, 0xb3, 0xc0, 0x15, 0xb3, 0xbe, 0x3c, 0x1e, 0xfe, 0x82, 0xcd, 0xab, 0xac, 0xb5, + 0x95, 0xec, 0xa5, 0x55, 0xfd, 0x5c, 0x72, 0xe5, 0x3a, 0x3a, 0x0e, 0x5d, 0x55, 0x22, 0x8a, 0x77, + 0x4b, 0x63, 0x55, 0x88, 0x60, 0x5e, 0xbd, 0xad, 0x7a, 0xee, 0x97, 0x7c, 0xce, 0x97, 0xe9, 0x5c, + 0x2f, 0x32, 0x24, 0xc8, 0x90, 0xb0, 0x10, 0x9a, 0xf5, 0x67, 0x48, 0xd4, 0x4f, 0x51, 0x51, 0x4e, + 0x4d, 0xb5, 0xe3, 0xdc, 0x6b, 0xc3, 0x64, 0xb1, 0x1a, 0x26, 0x81, 0x37, 0x36, 0x81, 0x37, 0x5e, + 0x0c, 0xa6, 0xdf, 0x57, 0x76, 0x98, 0xe8, 0x44, 0xc3, 0xf8, 0xb3, 0xbb, 0xc9, 0xe5, 0x4b, 0x93, + 0x0f, 0x7a, 0x3c, 0xcc, 0xd9, 0xf2, 0x8c, 0x7d, 0xea, 0x2a, 0xc3, 0x8b, 0x8a, 0xf9, 0x89, 0x05, + 0x41, 0x9a, 0x7d, 0xcf, 0x03, 0xf8, 0x9e, 0xf0, 0x3d, 0x4b, 0xfa, 0x9e, 0xe2, 0xd5, 0xf5, 0x47, + 0xb1, 0x4a, 0xd1, 0x65, 0xe1, 0x44, 0x9f, 0x4c, 0x1a, 0xbc, 0x50, 0x78, 0xa1, 0xdd, 0xa8, 0xd3, + 0xa9, 0xb7, 0xe4, 0x0f, 0x95, 0xe8, 0x0a, 0x95, 0xe8, 0x5a, 0xea, 0x24, 0x17, 0x60, 0x4f, 0x06, + 0x9c, 0x20, 0x3a, 0x97, 0x06, 0x10, 0x05, 0x88, 0x02, 0x44, 0x01, 0xa2, 0xbb, 0x0c, 0xa2, 0x93, + 0x26, 0x27, 0x2c, 0x08, 0xba, 0x2a, 0x4a, 0x0d, 0x3e, 0x7b, 0x80, 0x4f, 0xc0, 0x67, 0x9d, 0xf0, + 0xa9, 0xda, 0x32, 0xb4, 0xb0, 0xfc, 0x81, 0xd6, 0x34, 0x74, 0x63, 0x65, 0x05, 0xa9, 0xbb, 0x3b, + 0xce, 0x6f, 0xeb, 0x51, 0x3e, 0x76, 0x25, 0x64, 0x57, 0x46, 0x5d, 0x4a, 0xa9, 0xa6, 0x9c, 0x8a, + 0x4a, 0x4a, 0xf7, 0x75, 0x72, 0xbb, 0x88, 0xde, 0x04, 0x8e, 0xa3, 0xf9, 0x9b, 0xe6, 0x74, 0xc6, + 0x12, 0x99, 0xcc, 0xd9, 0xd0, 0xd3, 0xb4, 0x13, 0xe3, 0x4d, 0x9f, 0x5e, 0x2e, 0x64, 0xed, 0x57, + 0x78, 0xe7, 0xf7, 0x54, 0x17, 0x49, 0x0f, 0xb9, 0x3f, 0xfd, 0xbb, 0xe9, 0x4d, 0x3e, 0x9e, 0x4e, + 0x6e, 0xf2, 0x22, 0xbb, 0x47, 0x03, 0xdc, 0x54, 0x4f, 0x3e, 0x8b, 0x28, 0x1e, 0xaf, 0x26, 0x03, + 0x5f, 0x5a, 0x24, 0x0c, 0xae, 0x2a, 0x5c, 0x55, 0xb8, 0xaa, 0x70, 0x55, 0xe1, 0xaa, 0xc2, 0x55, + 0x85, 0xab, 0x0a, 0x57, 0x55, 0x27, 0x88, 0xaf, 0xd4, 0xe8, 0x50, 0x71, 0x13, 0xf4, 0xe8, 0xce, + 0xc6, 0x0b, 0x74, 0x4f, 0xb5, 0x96, 0x88, 0xe1, 0x6c, 0x76, 0x9b, 0xe7, 0xaf, 0x06, 0xc5, 0x0c, + 0x91, 0xf8, 0x67, 0x24, 0xe2, 0x74, 0x98, 0x99, 0x33, 0x74, 0xdc, 0xb1, 0xe1, 0x50, 0x0e, 0x19, + 0x0a, 0x64, 0x21, 0x62, 0x40, 0xc4, 0xb0, 0xcb, 0x11, 0x43, 0x12, 0x26, 0x8e, 0x6f, 0xc7, 0xf2, + 0xbf, 0x0c, 0x23, 0xea, 0x16, 0x64, 0x35, 0x3c, 0x9e, 0xce, 0xa0, 0x98, 0x40, 0xb1, 0x3d, 0x19, + 0xa2, 0x01, 0xf5, 0xf6, 0x65, 0xcd, 0xc4, 0x01, 0xe4, 0x91, 0x74, 0xa3, 0x40, 0x26, 0x7c, 0x43, + 0x1f, 0x52, 0x69, 0x18, 0x55, 0x54, 0x93, 0x9a, 0x72, 0xab, 0xab, 0x36, 0xb5, 0xd5, 0xa6, 0xbe, + 0xfa, 0xd4, 0x98, 0xa6, 0xce, 0x44, 0xb5, 0xe6, 0x0b, 0xf3, 0xf3, 0x8c, 0xda, 0xd4, 0xc7, 0xb4, + 0x19, 0x54, 0xd5, 0x62, 0x6a, 0x30, 0x9c, 0xc9, 0xa2, 0x35, 0x1a, 0xa6, 0xbf, 0x32, 0x4a, 0x2b, + 0xae, 0xe7, 0x69, 0xfb, 0x2b, 0x26, 0x24, 0x9d, 0x88, 0x03, 0x94, 0x02, 0x4a, 0x01, 0xa5, 0x86, + 0x42, 0xa9, 0x72, 0x17, 0xc7, 0x75, 0x7a, 0x7a, 0xcc, 0x20, 0x8a, 0xd6, 0xe5, 0x71, 0xf5, 0x87, + 0x47, 0x09, 0x2c, 0xae, 0x2e, 0x90, 0x9a, 0x00, 0x2e, 0x27, 0x96, 0xa9, 0x4b, 0x64, 0x4e, 0x2e, + 0x63, 0x1f, 0x43, 0x66, 0xf5, 0x58, 0x65, 0x5c, 0x5b, 0xf7, 0xaa, 0xf8, 0xbb, 0x4e, 0xd6, 0xfa, + 0xf6, 0xf6, 0xcc, 0x90, 0xf2, 0xd0, 0x89, 0x91, 0x8c, 0xa6, 0x8c, 0x74, 0x2b, 0xc5, 0xd3, 0xe7, + 0xe9, 0xe1, 0xf7, 0x64, 0xca, 0xcb, 0xaa, 0x83, 0xb9, 0xbf, 0x9d, 0xdd, 0xf8, 0xe9, 0xf4, 0xbe, + 0x1f, 0xef, 0xc7, 0xf7, 0x7d, 0x37, 0xbe, 0x6d, 0x94, 0x85, 0x35, 0xb7, 0x7d, 0x4c, 0xcc, 0xf2, + 0xe4, 0xf6, 0x8a, 0x09, 0x49, 0x9e, 0xf1, 0xfb, 0xf1, 0x46, 0x3e, 0xa1, 0x43, 0x7e, 0x26, 0x01, + 0x09, 0x9d, 0x5a, 0xa2, 0x2f, 0x24, 0x74, 0x68, 0x88, 0xa6, 0x9c, 0xd0, 0x11, 0x81, 0xa7, 0x36, + 0x4c, 0x22, 0xb7, 0x8d, 0x32, 0x49, 0x28, 0xf0, 0x42, 0x32, 0xa7, 0x71, 0xea, 0xa2, 0xad, 0x45, + 0x5d, 0x9e, 0x93, 0x08, 0xdb, 0xa1, 0xa9, 0x92, 0xa5, 0x7e, 0x08, 0x93, 0xe0, 0xb1, 0x29, 0x39, + 0x27, 0x8e, 0xea, 0x2c, 0x9b, 0xbc, 0xc5, 0x9e, 0xcb, 0x02, 0x00, 0x01, 0x80, 0x00, 0x40, 0x9d, + 0x03, 0x20, 0x84, 0x8c, 0x8a, 0x51, 0x4b, 0x2d, 0x81, 0xe2, 0xdd, 0xec, 0xde, 0x4c, 0x88, 0x0f, + 0xa7, 0x75, 0xb5, 0xbe, 0x78, 0x16, 0x3e, 0x21, 0x48, 0x5c, 0x12, 0x83, 0xb6, 0x20, 0x88, 0x14, + 0x3b, 0xd1, 0x16, 0x24, 0x4e, 0x22, 0x19, 0x0c, 0xda, 0x3e, 0x50, 0x71, 0xa6, 0xbc, 0x89, 0xca, + 0x7a, 0xe4, 0x20, 0x20, 0x95, 0x02, 0x04, 0x00, 0x02, 0x74, 0x03, 0x01, 0xd4, 0x77, 0xbd, 0x45, + 0xac, 0x3c, 0x52, 0xac, 0x34, 0x6a, 0xaa, 0xf3, 0xae, 0x51, 0xed, 0x62, 0xd5, 0x1a, 0x9e, 0xd6, + 0xe1, 0x1d, 0x36, 0xd6, 0x47, 0xb6, 0xec, 0x70, 0x9b, 0x9c, 0x0a, 0x28, 0x0c, 0xb9, 0xc9, 0x6d, + 0x7f, 0x4c, 0x2f, 0x60, 0x02, 0x74, 0x74, 0x90, 0x5d, 0xbf, 0xb5, 0x99, 0xe6, 0x18, 0x90, 0xcf, + 0x23, 0xc2, 0xdb, 0x81, 0xb7, 0xd3, 0x4e, 0x6f, 0x67, 0x27, 0x27, 0x1a, 0xb0, 0x9f, 0xab, 0x36, + 0x64, 0xb6, 0x81, 0x2a, 0x4e, 0x61, 0xca, 0x81, 0xd9, 0x6e, 0x6b, 0x35, 0x17, 0x4b, 0x9f, 0xcf, + 0x3a, 0xfd, 0xac, 0x4e, 0x87, 0xd5, 0x93, 0x91, 0xea, 0x64, 0xad, 0xf9, 0x57, 0x35, 0x0f, 0xc1, + 0x83, 0x6b, 0xda, 0x2d, 0xd7, 0x54, 0x7d, 0x20, 0x5e, 0x3f, 0x8c, 0x5e, 0x9c, 0xc8, 0x93, 0xc1, + 0xc0, 0xae, 0xba, 0x3b, 0xad, 0x36, 0x0d, 0xc4, 0x13, 0x81, 0x67, 0x0f, 0x43, 0xa5, 0x01, 0x25, + 0xf3, 0xaf, 0x62, 0x24, 0x09, 0xb4, 0xb6, 0xc9, 0x80, 0x92, 0x34, 0x95, 0x35, 0xb7, 0x15, 0x88, + 0xb3, 0x30, 0xdb, 0x1e, 0x46, 0x2a, 0x16, 0x63, 0x74, 0x23, 0x80, 0x54, 0x2b, 0xb6, 0x30, 0x3d, + 0x74, 0x64, 0xd8, 0xf1, 0xe6, 0x13, 0xe6, 0x55, 0x1a, 0xcb, 0x93, 0x7b, 0xee, 0xa0, 0xd3, 0x0e, + 0xd0, 0x03, 0x9d, 0x76, 0xaa, 0x6e, 0x24, 0x74, 0xda, 0x41, 0x6d, 0xa4, 0xba, 0x40, 0x74, 0xda, + 0x41, 0xa7, 0x1d, 0xed, 0xea, 0xa9, 0x49, 0x4d, 0xb9, 0xd5, 0x55, 0x9b, 0xda, 0x6a, 0x53, 0x5f, + 0x7d, 0x6a, 0x4c, 0x53, 0x67, 0xa2, 0x5a, 0xd3, 0xbd, 0xf4, 0xad, 0x3e, 0x26, 0x3a, 0xed, 0xf0, + 0xbe, 0x2e, 0x74, 0xda, 0x01, 0x94, 0x02, 0x4a, 0x3b, 0x05, 0xa5, 0xe8, 0xb4, 0x53, 0xe5, 0xc6, + 0xd0, 0x69, 0x07, 0x9d, 0x76, 0xd0, 0x69, 0x47, 0x0b, 0x34, 0xf2, 0x49, 0x41, 0xa7, 0x9d, 0x2a, + 0x72, 0x58, 0x2b, 0x42, 0xb2, 0xc4, 0xe8, 0x7b, 0x53, 0x3b, 0xea, 0x9c, 0x07, 0xde, 0x4d, 0x98, + 0xce, 0xcb, 0x42, 0xeb, 0x9c, 0x26, 0xf6, 0x43, 0xa3, 0x27, 0x1f, 0x73, 0x2f, 0x7f, 0xdf, 0xac, + 0x81, 0xe8, 0xd5, 0x4b, 0x12, 0xf2, 0xa1, 0x71, 0x91, 0xb4, 0x9a, 0x53, 0x31, 0x1f, 0x90, 0x8a, + 0x41, 0x2a, 0xa6, 0x89, 0x31, 0x69, 0x8b, 0x9b, 0x9e, 0x79, 0x4c, 0x5a, 0x5e, 0x34, 0x9a, 0x58, + 0x60, 0x4c, 0x9a, 0x65, 0x82, 0x52, 0x36, 0xe3, 0x7f, 0x76, 0x70, 0x4c, 0x5a, 0x12, 0x0e, 0x43, + 0x3f, 0x1c, 0xbc, 0x7d, 0x9e, 0xfd, 0x8f, 0xbd, 0xf9, 0xd7, 0x2b, 0x1f, 0x07, 0xa1, 0x27, 0x56, + 0x3e, 0x0a, 0x5f, 0x02, 0xe1, 0xd9, 0xe3, 0x5f, 0xd8, 0xc2, 0x1b, 0x88, 0xa9, 0xaf, 0x54, 0x70, + 0x28, 0x40, 0x0c, 0x6d, 0x5f, 0xc6, 0x9b, 0xce, 0x0b, 0x2c, 0x02, 0x54, 0xd3, 0x73, 0xd8, 0x14, + 0x4c, 0xef, 0xca, 0x1a, 0x30, 0xa1, 0x77, 0xa1, 0x54, 0x00, 0xf7, 0xfe, 0xd2, 0x2e, 0x04, 0x68, + 0x2b, 0x81, 0x76, 0xb6, 0x7c, 0x00, 0x6c, 0x00, 0xf6, 0xe2, 0xdf, 0xb4, 0x02, 0x6a, 0x19, 0xf1, + 0x15, 0xa0, 0x0a, 0x50, 0x05, 0xa8, 0x02, 0x54, 0x95, 0x41, 0xd5, 0x74, 0xc0, 0xcc, 0x1e, 0x94, + 0x07, 0x34, 0x97, 0xc5, 0x01, 0x38, 0x01, 0x9c, 0x00, 0x4e, 0x00, 0xe7, 0x56, 0xe0, 0xdc, 0xb9, + 0x49, 0xea, 0x4b, 0x38, 0x68, 0x65, 0xae, 0xa4, 0x55, 0x14, 0xb4, 0x5b, 0x5c, 0x3c, 0x2c, 0xc6, + 0xae, 0x5b, 0x3b, 0x94, 0x54, 0xa4, 0x27, 0xbb, 0x2c, 0x4d, 0x09, 0xc6, 0xec, 0xce, 0x66, 0x1f, + 0x99, 0x90, 0x6a, 0xac, 0xde, 0xa8, 0x20, 0x87, 0xb6, 0x2a, 0x47, 0xc2, 0x2d, 0xb4, 0x17, 0x42, + 0x52, 0xb1, 0x29, 0x63, 0x43, 0x3f, 0x23, 0x3a, 0x0c, 0xa3, 0xc4, 0x56, 0xdd, 0xf7, 0xd6, 0x2e, + 0x9d, 0x0e, 0xf5, 0x9d, 0x37, 0x11, 0xd9, 0xc3, 0x28, 0x4c, 0x42, 0x37, 0xf4, 0xed, 0x29, 0x60, + 0x2a, 0x22, 0x49, 0x91, 0x30, 0x60, 0x0a, 0x30, 0xa5, 0x1b, 0x2d, 0xcb, 0xc8, 0x9b, 0x7f, 0x97, + 0x81, 0xe5, 0x9f, 0x91, 0xe3, 0xcb, 0xbe, 0x14, 0x11, 0x1b, 0xba, 0xcc, 0x25, 0x02, 0x62, 0x00, + 0x31, 0x5d, 0x84, 0x18, 0x55, 0x0d, 0x58, 0xc2, 0x19, 0x85, 0x6a, 0xf4, 0xfd, 0x0b, 0x4f, 0x04, + 0x89, 0x4c, 0xde, 0x7e, 0x73, 0x62, 0x86, 0x93, 0xf2, 0x97, 0x27, 0x7f, 0x9d, 0xdf, 0x3e, 0xde, + 0xdc, 0x5e, 0xdf, 0x5f, 0x9f, 0x5e, 0x5f, 0x3e, 0xfe, 0xef, 0xb7, 0x93, 0xcb, 0x8b, 0x2f, 0x17, + 0xe7, 0xb7, 0xaa, 0xbb, 0x2b, 0x2d, 0xbd, 0x8f, 0x49, 0x67, 0x4d, 0x98, 0x0e, 0xcb, 0xad, 0x7b, + 0xb2, 0xc7, 0x6f, 0x57, 0x77, 0x37, 0xe7, 0xa7, 0xe3, 0xff, 0x3f, 0xab, 0x9b, 0xdd, 0x7b, 0xd0, + 0xad, 0x15, 0x7a, 0xac, 0x89, 0xec, 0x0b, 0xf7, 0xcd, 0xf5, 0xc9, 0xfd, 0x90, 0x56, 0x05, 0xd5, + 0x6c, 0x3b, 0x3e, 0xa0, 0x15, 0x12, 0x5a, 0x21, 0xd5, 0x67, 0x2f, 0x48, 0x9b, 0x7d, 0xb7, 0xdc, + 0xd1, 0xd0, 0x75, 0x7c, 0x9b, 0xd2, 0x95, 0x3b, 0x93, 0x80, 0xee, 0x69, 0x80, 0x8c, 0x9d, 0x85, + 0x8c, 0xdd, 0x18, 0x34, 0x44, 0xa3, 0xb1, 0x08, 0xbc, 0x55, 0x0f, 0x5a, 0x0e, 0x2d, 0x37, 0xf6, + 0x50, 0x0d, 0xad, 0x17, 0x08, 0x4b, 0x0f, 0x10, 0x4c, 0x7c, 0x65, 0x57, 0x24, 0x76, 0x85, 0x62, + 0x57, 0x2c, 0x7e, 0x05, 0xa3, 0xc5, 0xc0, 0xcd, 0x57, 0xb8, 0x28, 0x9b, 0x59, 0xa2, 0xb9, 0x55, + 0x5f, 0x37, 0x95, 0x2a, 0xbb, 0x14, 0x28, 0xd4, 0x72, 0x4a, 0xc5, 0xa0, 0xa3, 0xca, 0xaa, 0x03, + 0x79, 0x80, 0x3c, 0x40, 0x9e, 0xb6, 0x22, 0x4f, 0x1d, 0x95, 0x6b, 0xca, 0xf0, 0x82, 0xea, 0x33, + 0x6b, 0x77, 0xaa, 0xcf, 0x54, 0x93, 0xb6, 0xfc, 0xd5, 0x66, 0xa9, 0xba, 0x1a, 0x10, 0x49, 0x87, + 0x43, 0x11, 0xa5, 0xef, 0xc9, 0xf1, 0xa9, 0xd4, 0x7b, 0x5e, 0x14, 0xc8, 0x77, 0xc4, 0xd8, 0x3b, + 0xcb, 0xa4, 0x51, 0xb7, 0xbb, 0xb5, 0x4b, 0xf4, 0xfb, 0x50, 0x88, 0xc8, 0xee, 0xbf, 0x78, 0x76, + 0xe1, 0xcc, 0x38, 0x86, 0x26, 0x39, 0x65, 0x2f, 0x80, 0x11, 0x06, 0x00, 0x9e, 0x2e, 0xf4, 0xcd, + 0x29, 0xde, 0xfe, 0xb6, 0x72, 0x1a, 0x2c, 0xb7, 0xcb, 0xca, 0x5e, 0x08, 0xc1, 0x3a, 0x7a, 0xea, + 0x58, 0x26, 0x28, 0x6c, 0xdb, 0x03, 0xf7, 0xd6, 0x1c, 0x8a, 0xd3, 0x38, 0x22, 0x77, 0x53, 0x3b, + 0x9c, 0x0c, 0x71, 0x0c, 0x26, 0x44, 0xf9, 0x86, 0x85, 0x97, 0xc3, 0x63, 0x1c, 0x47, 0x06, 0x02, + 0x03, 0x81, 0x81, 0xc0, 0x4d, 0x0e, 0x29, 0x37, 0x95, 0xf8, 0x35, 0x94, 0x82, 0xd4, 0x13, 0xc8, + 0x6a, 0x62, 0x29, 0x6f, 0x84, 0x88, 0xbe, 0xbc, 0x78, 0x05, 0x7f, 0x63, 0xd2, 0x19, 0xd9, 0x61, + 0x14, 0x26, 0xe3, 0xdb, 0x0b, 0x06, 0xfa, 0xe8, 0x87, 0xd2, 0x97, 0x00, 0x01, 0x01, 0x02, 0x02, + 0x04, 0x04, 0x08, 0x08, 0xb8, 0xbf, 0x70, 0x7f, 0xe1, 0xfe, 0x82, 0x80, 0x00, 0x01, 0x01, 0x04, + 0x06, 0x02, 0x03, 0x81, 0x81, 0xc0, 0x20, 0x20, 0xcc, 0x20, 0x20, 0x34, 0x85, 0xb2, 0xba, 0x28, + 0x88, 0xec, 0x76, 0x5b, 0xc2, 0x42, 0x84, 0x81, 0x1d, 0x85, 0xbe, 0xa0, 0x73, 0x0d, 0x33, 0x41, + 0x68, 0x7f, 0x01, 0x46, 0xa1, 0x1b, 0x5d, 0xbb, 0x48, 0x1b, 0xdf, 0xda, 0xa5, 0x7a, 0x2a, 0x1a, + 0x82, 0x00, 0x36, 0x00, 0x1b, 0x1d, 0x6b, 0xf6, 0xd7, 0x75, 0xc0, 0x18, 0x7b, 0x6f, 0x22, 0xd2, + 0x96, 0xff, 0x28, 0x27, 0x1e, 0xb9, 0x0f, 0x40, 0x0e, 0x72, 0x1f, 0xc8, 0x7d, 0x80, 0x79, 0x03, + 0xf3, 0x06, 0xe6, 0xad, 0x6d, 0xcc, 0x1b, 0x72, 0x1f, 0xd5, 0xf0, 0x18, 0xb9, 0x0f, 0x20, 0x30, + 0x10, 0x18, 0x08, 0x8c, 0xdc, 0x47, 0xc1, 0xe6, 0x36, 0x33, 0xf7, 0xa1, 0x23, 0x8c, 0xb5, 0xf4, + 0xe4, 0x3d, 0xee, 0xd2, 0x5b, 0x35, 0x3c, 0xe7, 0x31, 0x5b, 0x3b, 0x19, 0x24, 0x22, 0xea, 0x3b, + 0xae, 0xe0, 0xe0, 0x19, 0x8a, 0x04, 0x82, 0x59, 0x00, 0xb3, 0xb0, 0xcb, 0xcc, 0xc2, 0x9a, 0x7d, + 0xcf, 0xe4, 0xbe, 0x6e, 0x94, 0x0e, 0x0f, 0x16, 0xdd, 0x96, 0x18, 0x94, 0xb2, 0x9b, 0xdd, 0x96, + 0x5a, 0xe4, 0xb5, 0xa6, 0x9f, 0xad, 0x41, 0x82, 0xa5, 0xbf, 0x81, 0x17, 0x5a, 0x83, 0x17, 0x4a, + 0x77, 0x72, 0x34, 0xfa, 0x9d, 0xd2, 0x15, 0x17, 0xb3, 0x7b, 0xd3, 0xeb, 0x6b, 0xee, 0x31, 0xbe, + 0xf6, 0x59, 0xab, 0xaf, 0x8a, 0xec, 0xb8, 0x5a, 0x83, 0xaf, 0x95, 0xc6, 0x5e, 0x8a, 0xee, 0xee, + 0x87, 0xaa, 0x8e, 0x2d, 0xc1, 0xc4, 0x2c, 0x9a, 0x95, 0x27, 0x19, 0xd8, 0x62, 0x76, 0xf7, 0x0a, + 0xdb, 0x8e, 0xc3, 0xa0, 0x2c, 0x19, 0x91, 0x0f, 0x26, 0x44, 0x33, 0x94, 0x36, 0x6b, 0x6a, 0xed, + 0xd5, 0xca, 0xee, 0x6c, 0x45, 0x20, 0xd3, 0x04, 0x60, 0xfb, 0x55, 0x22, 0x44, 0x6e, 0x80, 0x2a, + 0xb7, 0x51, 0xb6, 0x6f, 0x90, 0x12, 0x4b, 0xaf, 0x3c, 0x95, 0x84, 0x38, 0xa0, 0xa1, 0xa2, 0x6f, + 0x5d, 0xb9, 0x01, 0x9a, 0x8a, 0xef, 0x4c, 0xf4, 0x95, 0x55, 0x81, 0x8b, 0xec, 0x0b, 0x93, 0xa1, + 0x8a, 0xee, 0xeb, 0xf2, 0x1a, 0xb9, 0xca, 0xbe, 0x2b, 0xc3, 0xb4, 0x10, 0x95, 0x2a, 0x99, 0x8a, + 0xd5, 0x31, 0x3c, 0x0a, 0x5b, 0xa9, 0x15, 0xb1, 0xca, 0x3c, 0x80, 0x8a, 0xcc, 0x52, 0xe5, 0x30, + 0x17, 0xaa, 0xd9, 0x62, 0xd5, 0xac, 0xca, 0xfe, 0x28, 0xf6, 0xeb, 0x27, 0xf5, 0xe9, 0xc7, 0xb8, + 0x9a, 0x1d, 0x25, 0x45, 0x31, 0xae, 0xa6, 0x18, 0xa8, 0x4d, 0x18, 0x57, 0x43, 0xe8, 0x93, 0x4f, + 0xef, 0x8f, 0x0f, 0x8d, 0x87, 0xc6, 0x43, 0xe3, 0x4d, 0x25, 0xab, 0x2a, 0xab, 0x35, 0x0b, 0x5d, + 0x55, 0x91, 0xdb, 0x00, 0x31, 0xb2, 0x91, 0x18, 0xa9, 0x08, 0xca, 0x7c, 0x9c, 0x48, 0xf9, 0x26, + 0xf2, 0x3c, 0xe1, 0x95, 0x7a, 0xb3, 0x78, 0x72, 0xd7, 0x6c, 0x70, 0x22, 0x08, 0xbc, 0x34, 0x70, + 0x22, 0x94, 0x26, 0xee, 0xad, 0x61, 0x45, 0x22, 0x11, 0x4b, 0x5f, 0x8a, 0xc0, 0x15, 0x63, 0x1c, + 0x8b, 0x93, 0xc8, 0xa9, 0x52, 0xa3, 0x33, 0x3f, 0x55, 0x58, 0x28, 0x66, 0x77, 0x78, 0x13, 0xa5, + 0xca, 0x9b, 0xdd, 0x52, 0x62, 0x95, 0xca, 0x9a, 0x86, 0x39, 0x94, 0xbe, 0x33, 0xf2, 0x93, 0xf1, + 0xad, 0x7b, 0x32, 0x3d, 0x39, 0xec, 0x89, 0x44, 0x44, 0x4f, 0x32, 0x50, 0x4b, 0xfb, 0x66, 0x7b, + 0x62, 0xb3, 0x58, 0x9c, 0xad, 0x45, 0x1c, 0xd6, 0x89, 0xb3, 0xb5, 0x9c, 0x6a, 0xb0, 0x64, 0x07, + 0x3e, 0x2a, 0x7c, 0xf7, 0xc2, 0x13, 0x41, 0x22, 0x93, 0xb7, 0xdf, 0x9c, 0x98, 0x61, 0xe0, 0xe0, + 0x97, 0x93, 0x6f, 0x97, 0xf7, 0x8f, 0xa7, 0xd7, 0x57, 0x67, 0x17, 0xf7, 0x17, 0xd7, 0x57, 0x8f, + 0x67, 0xe7, 0xf7, 0xe7, 0xb7, 0x5f, 0x2f, 0xae, 0x4e, 0xc6, 0xff, 0x52, 0xdd, 0x67, 0x7f, 0x8e, + 0xc3, 0xb9, 0x71, 0x90, 0xf4, 0x1f, 0xe5, 0x62, 0x1e, 0x62, 0xf1, 0x58, 0xa9, 0xc7, 0x7b, 0xbc, + 0xb8, 0xfa, 0xe3, 0xfc, 0xf6, 0xfc, 0xea, 0x9e, 0x50, 0xb1, 0xf5, 0xce, 0xec, 0x27, 0xbc, 0xfb, + 0xf6, 0xdb, 0xe5, 0xc9, 0x5f, 0xe7, 0xb7, 0xbb, 0xfb, 0x84, 0xf7, 0xe7, 0x77, 0x3b, 0xfc, 0xfe, + 0xae, 0xd2, 0x5d, 0x7a, 0x7f, 0xfb, 0xed, 0xee, 0xe2, 0xcf, 0xf3, 0xba, 0x0b, 0x0b, 0x1f, 0x74, + 0x03, 0xb9, 0x16, 0x9a, 0xf9, 0x47, 0xe8, 0x7b, 0x76, 0xd8, 0xef, 0xdb, 0x89, 0xa4, 0x30, 0xcd, + 0xcb, 0x62, 0xe0, 0xea, 0xc0, 0xd5, 0xe9, 0x84, 0xab, 0x33, 0x92, 0x41, 0xf2, 0xe9, 0x90, 0xe0, + 0xd3, 0x1c, 0x2b, 0x7c, 0xf5, 0xd6, 0x09, 0x06, 0x42, 0xd9, 0x5d, 0x20, 0x14, 0x30, 0x7f, 0x95, + 0x01, 0x43, 0xa1, 0x3a, 0xe9, 0x0c, 0xc0, 0xb2, 0xd3, 0xc4, 0x20, 0xe7, 0x4b, 0xe4, 0xa4, 0xdd, + 0xa3, 0xce, 0xe4, 0x40, 0xa6, 0x4c, 0xf5, 0x41, 0x13, 0xd6, 0x71, 0xff, 0xab, 0xf3, 0x6a, 0xdc, + 0xd2, 0xf6, 0x8e, 0x0f, 0x0f, 0x3f, 0x1d, 0x1d, 0x1e, 0x1e, 0x1c, 0xfd, 0xeb, 0xe8, 0xe0, 0xdf, + 0x1f, 0x3f, 0xf6, 0x3e, 0xa9, 0x78, 0xe0, 0xda, 0x56, 0xbb, 0xa6, 0x6a, 0xf3, 0x07, 0x03, 0x8c, + 0xb4, 0x8c, 0x6d, 0x37, 0x0c, 0x23, 0x6f, 0x1c, 0x43, 0x09, 0xcf, 0x8e, 0x5f, 0x64, 0xe2, 0xfe, + 0x90, 0xc1, 0xc0, 0xfe, 0x1e, 0x26, 0x3f, 0x6c, 0x11, 0x78, 0x84, 0x72, 0xe2, 0x12, 0xb2, 0x61, + 0xce, 0x61, 0xce, 0x3b, 0x61, 0xce, 0xbf, 0x87, 0xa1, 0x2f, 0x1c, 0x12, 0x47, 0xd1, 0x33, 0x03, + 0x2e, 0xfa, 0x51, 0xf8, 0x5f, 0x11, 0x90, 0x50, 0x61, 0x2a, 0x02, 0xca, 0x0f, 0xe5, 0x87, 0xf2, + 0xb7, 0x4a, 0xf9, 0xfd, 0xd0, 0xfd, 0x69, 0x87, 0xa3, 0x84, 0xa4, 0xfe, 0x99, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xd0, 0x1e, 0x00, 0x78, 0x72, 0x5e, 0xa7, 0x5e, 0x7c, 0x4a, 0xc6, 0x11, 0x42, + 0x83, 0x9c, 0x24, 0x40, 0x01, 0xa0, 0x00, 0xbc, 0x1e, 0x78, 0x3d, 0xf0, 0x7a, 0xe0, 0xf5, 0xc0, + 0xeb, 0xd1, 0x4d, 0xf5, 0x18, 0xdc, 0x45, 0x14, 0x09, 0xcf, 0x8e, 0x44, 0x9c, 0x84, 0x93, 0xaa, + 0x42, 0xdb, 0x77, 0xde, 0x44, 0x44, 0x19, 0x05, 0xb2, 0x5e, 0x28, 0x0c, 0x38, 0x0c, 0x78, 0x27, + 0x0c, 0x78, 0xba, 0xdd, 0xed, 0x61, 0x14, 0x26, 0xa1, 0x1b, 0xfa, 0x2a, 0x47, 0xa0, 0xac, 0x86, + 0x3a, 0xfd, 0x57, 0x5c, 0x2a, 0xa5, 0x93, 0x1d, 0x8b, 0x96, 0x5f, 0xf9, 0x90, 0xc6, 0xa2, 0x8d, + 0xa3, 0x0b, 0x51, 0x3a, 0xf1, 0xa1, 0x17, 0x9d, 0x17, 0x6a, 0x97, 0x13, 0x95, 0x0d, 0x59, 0x54, + 0x04, 0x9d, 0x0a, 0x42, 0x63, 0x42, 0xa0, 0xf0, 0x2e, 0x37, 0x26, 0x5c, 0x98, 0xc9, 0x94, 0x50, + 0xba, 0xa6, 0x15, 0x0d, 0x79, 0x52, 0x50, 0x20, 0x26, 0x3f, 0xda, 0xc0, 0xf6, 0x83, 0x49, 0x38, + 0x0c, 0xfd, 0x70, 0x80, 0xe6, 0xd9, 0x6a, 0xca, 0x97, 0x2d, 0x5f, 0xe7, 0x5a, 0x10, 0xf2, 0x28, + 0x14, 0xd5, 0x45, 0x22, 0xba, 0x4a, 0xea, 0x2f, 0x41, 0x65, 0x52, 0xc0, 0x62, 0x30, 0x35, 0x0c, + 0x7d, 0xe9, 0xbe, 0xd1, 0x71, 0xad, 0x40, 0x26, 0xa0, 0x0d, 0xd0, 0x06, 0x68, 0x33, 0x41, 0xa7, + 0xda, 0x8b, 0x6e, 0xdd, 0xe9, 0x8f, 0x5a, 0x78, 0xbc, 0xf4, 0x3d, 0x2d, 0xde, 0xb2, 0x58, 0x8f, + 0xdb, 0xdf, 0x66, 0xf7, 0x72, 0x9a, 0xdd, 0xe0, 0xc2, 0x87, 0xe9, 0xbe, 0x37, 0x29, 0xd6, 0x7d, + 0xb3, 0xa3, 0x70, 0x94, 0x28, 0x1d, 0xfa, 0x5d, 0x1f, 0xf7, 0x16, 0x08, 0x45, 0x0c, 0x8c, 0x18, + 0x78, 0x97, 0x63, 0x60, 0xbe, 0xb9, 0x7e, 0x18, 0xdc, 0x87, 0xa6, 0xfb, 0x7c, 0x8e, 0x61, 0x57, + 0x9b, 0xee, 0x2b, 0xb7, 0x88, 0xca, 0x99, 0xa0, 0x63, 0x83, 0x83, 0x54, 0xa5, 0x76, 0x71, 0xb9, + 0xb5, 0x52, 0xcc, 0x96, 0x10, 0x0c, 0x35, 0xd0, 0x06, 0x68, 0xd3, 0x3c, 0xda, 0xa8, 0x1a, 0xfb, + 0x4c, 0x80, 0x5a, 0x6f, 0xd6, 0xb5, 0xfb, 0x4f, 0xa5, 0x57, 0x2b, 0xb3, 0xf9, 0x67, 0x53, 0x4c, + 0x4e, 0x05, 0xd5, 0xa4, 0xa8, 0xdc, 0x0a, 0xab, 0x4d, 0x71, 0xb5, 0x29, 0xb0, 0x3e, 0x45, 0xa6, + 0x29, 0x34, 0x51, 0xb1, 0xf9, 0xdc, 0x09, 0x7e, 0xb7, 0x82, 0xc9, 0xbd, 0xa0, 0xaf, 0x2f, 0xa5, + 0xca, 0x8d, 0xd0, 0xab, 0x76, 0x33, 0xf8, 0xd9, 0x04, 0x57, 0x04, 0x08, 0x08, 0x04, 0x04, 0x02, + 0x02, 0x01, 0x0d, 0x75, 0x36, 0x55, 0x7b, 0xf9, 0xe6, 0x04, 0x91, 0x2a, 0xc0, 0x32, 0x29, 0x1c, + 0x95, 0x60, 0x73, 0x61, 0x0c, 0x15, 0x61, 0x99, 0x30, 0x52, 0x65, 0x18, 0xf5, 0x2d, 0x11, 0xb3, + 0x1d, 0x99, 0x9c, 0x3a, 0xb3, 0x1e, 0x79, 0xb6, 0xfd, 0x3d, 0xd1, 0x8c, 0xd6, 0x95, 0x0e, 0x79, + 0xbb, 0x1d, 0xdf, 0xf8, 0xc2, 0x6f, 0xca, 0x37, 0x2b, 0x6e, 0x86, 0x6f, 0x19, 0x46, 0x32, 0x8c, + 0x64, 0xf2, 0xc6, 0x51, 0xe2, 0x34, 0x95, 0x04, 0x96, 0x97, 0x25, 0x71, 0x02, 0xf6, 0x85, 0x9a, + 0x58, 0x69, 0xc6, 0x2c, 0xf2, 0x31, 0xbe, 0xca, 0x67, 0xb8, 0x56, 0x75, 0xea, 0x98, 0x20, 0x82, + 0x76, 0xa6, 0x6b, 0xf6, 0xc3, 0xe0, 0xae, 0x71, 0x9c, 0xf1, 0x62, 0x8e, 0xa8, 0x32, 0x71, 0x4c, + 0x67, 0xbe, 0x32, 0x79, 0x8c, 0xa7, 0x91, 0x98, 0xfc, 0x6e, 0x8b, 0xeb, 0x2c, 0x98, 0xee, 0x57, + 0xc0, 0x7f, 0x36, 0x4c, 0xeb, 0x5b, 0x69, 0x28, 0x52, 0x78, 0x30, 0xb9, 0x4e, 0x31, 0x1c, 0x25, + 0x32, 0x18, 0x50, 0x0a, 0x38, 0x72, 0x50, 0x5a, 0x20, 0x13, 0xe9, 0x21, 0xb8, 0x29, 0x1d, 0x76, + 0x53, 0xc8, 0xa9, 0x22, 0x37, 0x8c, 0x13, 0xdb, 0xfd, 0xe1, 0x8c, 0x41, 0x51, 0x44, 0x32, 0x4e, + 0xa4, 0xcb, 0xc7, 0x9d, 0x16, 0x09, 0xe7, 0x21, 0x51, 0x7b, 0x3b, 0x4f, 0xa2, 0x8e, 0x63, 0xf4, + 0x71, 0x68, 0x3e, 0x1c, 0x25, 0xaa, 0x0d, 0xcb, 0x41, 0xa7, 0x6e, 0x57, 0xfa, 0xdc, 0x32, 0xb7, + 0x9c, 0x58, 0xa5, 0x02, 0xc2, 0x32, 0x30, 0x38, 0xfe, 0x20, 0x8c, 0x64, 0xf2, 0xe3, 0x89, 0x6f, + 0xcf, 0x2c, 0x61, 0xc3, 0x5c, 0xfe, 0x3b, 0x23, 0xdd, 0x51, 0x2e, 0x98, 0xd0, 0x01, 0x17, 0xc5, + 0xb0, 0xc1, 0x70, 0x5e, 0x41, 0x37, 0x6c, 0x68, 0x87, 0x0f, 0xed, 0x30, 0xb2, 0x1e, 0x4e, 0xe8, + 0xe7, 0x1d, 0x78, 0xe1, 0x84, 0x31, 0x6e, 0xb4, 0x58, 0xf3, 0x36, 0xb9, 0xdd, 0xcb, 0x96, 0xbf, + 0xc9, 0xb9, 0x0a, 0xc7, 0x7b, 0x66, 0xbc, 0x07, 0x8e, 0xd8, 0x3d, 0x45, 0x4d, 0x96, 0x04, 0x77, + 0x31, 0x20, 0x33, 0xe4, 0xb9, 0x81, 0xc5, 0xc0, 0x62, 0x60, 0x31, 0xb0, 0xb8, 0x1b, 0x58, 0xcc, + 0x53, 0x6a, 0x59, 0x0c, 0xc6, 0x1c, 0x75, 0x97, 0x40, 0x63, 0xa0, 0x31, 0xd0, 0x18, 0x68, 0x6c, + 0x36, 0x1a, 0x37, 0x4a, 0x99, 0x4c, 0x2b, 0xa0, 0xb8, 0xfc, 0x5f, 0x9e, 0x42, 0xa8, 0x4c, 0x1a, + 0x67, 0x41, 0xd4, 0x5c, 0x28, 0x63, 0x61, 0x54, 0x26, 0x94, 0xa5, 0x40, 0x8a, 0xeb, 0xa5, 0x32, + 0x15, 0x4c, 0x65, 0xf2, 0x1a, 0x2e, 0x9c, 0xca, 0x67, 0xbe, 0xde, 0xf3, 0x93, 0xeb, 0x56, 0x93, + 0x25, 0x56, 0xb7, 0x93, 0x27, 0x5c, 0xf8, 0xe4, 0x34, 0x8c, 0x93, 0xd3, 0xe5, 0xe7, 0x6b, 0x61, + 0x4d, 0xba, 0x27, 0x9f, 0x45, 0x14, 0x8f, 0xdf, 0x3e, 0xb1, 0x5b, 0x4b, 0xce, 0x2e, 0xe4, 0x24, + 0xa3, 0x3e, 0xbd, 0x9c, 0x27, 0x88, 0xd4, 0x0a, 0x52, 0x2b, 0x4d, 0x7a, 0x78, 0xba, 0x34, 0xd8, + 0x62, 0xea, 0x14, 0x93, 0xc9, 0xa2, 0x75, 0x8c, 0x69, 0x16, 0x77, 0x65, 0x6c, 0x8b, 0x57, 0xd7, + 0x1f, 0xc5, 0xf2, 0x99, 0xf1, 0x34, 0xd0, 0x92, 0x54, 0x6a, 0xaa, 0x4e, 0xa4, 0x13, 0xaa, 0x53, + 0x7d, 0x89, 0x70, 0xc0, 0x12, 0xf0, 0x0d, 0xf8, 0x6e, 0x17, 0x7c, 0xab, 0x0f, 0x6a, 0x59, 0x8b, + 0xda, 0xbd, 0x16, 0x22, 0xad, 0xef, 0x24, 0x69, 0xd0, 0xa2, 0xab, 0x8a, 0x68, 0x8d, 0x7c, 0x14, + 0x12, 0x01, 0x2e, 0x01, 0x97, 0xda, 0xe0, 0x92, 0xad, 0x90, 0xa8, 0x2f, 0x5f, 0x85, 0x67, 0x6b, + 0x02, 0x89, 0xdc, 0x96, 0xdf, 0x78, 0x35, 0xc3, 0x53, 0x29, 0x1f, 0x90, 0x4a, 0x41, 0x2a, 0xa5, + 0x04, 0xd4, 0x20, 0x95, 0xa2, 0xba, 0x7b, 0x91, 0xd8, 0x2e, 0xf3, 0x4c, 0x7f, 0xcb, 0x24, 0x11, + 0x91, 0x76, 0xa8, 0x2e, 0xbe, 0x0c, 0x30, 0x1a, 0x18, 0x0d, 0x8c, 0x06, 0x46, 0x03, 0xa3, 0x37, + 0x3e, 0xd3, 0x3f, 0x23, 0x21, 0x83, 0x41, 0x6d, 0x6e, 0xf5, 0xe6, 0xcb, 0xa1, 0x44, 0x09, 0x98, + 0x0d, 0xcc, 0x06, 0x66, 0x03, 0xb3, 0x37, 0x3e, 0x53, 0x12, 0x39, 0xfd, 0xbe, 0x74, 0xed, 0x61, + 0x14, 0x0e, 0x45, 0x94, 0xbc, 0x69, 0x2a, 0xe4, 0x2f, 0xbe, 0x0c, 0x30, 0x1a, 0x18, 0x0d, 0x8c, + 0x06, 0x46, 0x03, 0xa3, 0x37, 0x3e, 0xd3, 0x8b, 0x13, 0x78, 0x35, 0x70, 0x1f, 0xc5, 0x97, 0x01, + 0xf7, 0x01, 0x8c, 0x06, 0x46, 0x03, 0xa3, 0x51, 0xea, 0xaf, 0xe7, 0x0d, 0xce, 0x4a, 0xfd, 0x75, + 0x78, 0xc8, 0x28, 0xfb, 0x47, 0xd9, 0x7f, 0x1d, 0x65, 0xff, 0xda, 0x28, 0x38, 0x83, 0x2a, 0xff, + 0x2f, 0x27, 0xcf, 0xd8, 0xfe, 0xe2, 0xff, 0x27, 0xe7, 0xd5, 0x76, 0x7c, 0x3f, 0x7c, 0x11, 0x9e, + 0xed, 0x86, 0x71, 0xc2, 0x57, 0x14, 0x95, 0x93, 0x8c, 0x72, 0xa8, 0x72, 0xbe, 0x21, 0xca, 0xa1, + 0x50, 0x0e, 0xa5, 0xf0, 0x80, 0x6c, 0xe5, 0x50, 0xe4, 0x56, 0xcd, 0x6b, 0xb7, 0x37, 0xb1, 0x75, + 0x33, 0xa8, 0xbe, 0x1a, 0xa0, 0x02, 0xe1, 0xa4, 0x09, 0x50, 0xd2, 0xb5, 0xb0, 0x92, 0xdc, 0x82, + 0x7a, 0x1d, 0x36, 0x1c, 0x33, 0x8a, 0xe4, 0x69, 0x51, 0xbd, 0xfa, 0xc3, 0xab, 0x5e, 0x16, 0x77, + 0x0b, 0x6b, 0xcd, 0xa0, 0x9b, 0x13, 0xcf, 0xdc, 0xe2, 0x3a, 0x27, 0x5f, 0x43, 0x73, 0x65, 0x4d, + 0xea, 0xb6, 0x1a, 0x18, 0xb7, 0xfe, 0x95, 0xea, 0x6b, 0x99, 0xdd, 0xc8, 0x5b, 0xde, 0x33, 0x53, + 0xda, 0xc3, 0x0e, 0xe5, 0x3a, 0x34, 0xf5, 0x2e, 0x42, 0xdb, 0x22, 0x38, 0xa1, 0x70, 0x42, 0xe1, + 0x84, 0xc2, 0x09, 0x85, 0x13, 0x0a, 0x27, 0x14, 0x4e, 0x28, 0x9c, 0xd0, 0x9d, 0x75, 0x42, 0x91, + 0xeb, 0xd3, 0x9a, 0xeb, 0x63, 0x4e, 0xf2, 0x58, 0x66, 0x65, 0xf9, 0xbe, 0x3a, 0xaf, 0x27, 0x93, + 0x87, 0x3b, 0x1d, 0x3f, 0x5b, 0xcb, 0xd3, 0x7b, 0x9e, 0xf0, 0x9d, 0x37, 0x3d, 0xf9, 0xbd, 0x89, + 0x68, 0x24, 0xf8, 0x1a, 0x0b, 0x98, 0x90, 0xe0, 0x43, 0x82, 0xaf, 0xb4, 0x20, 0x24, 0xf8, 0xc0, + 0xad, 0x80, 0x5b, 0x01, 0xb7, 0x02, 0x6e, 0x05, 0xdc, 0x0a, 0xb8, 0x15, 0x70, 0x2b, 0xe0, 0x56, + 0xc0, 0xad, 0x34, 0xa3, 0x05, 0x48, 0xf0, 0xc1, 0x09, 0x85, 0x13, 0x0a, 0x27, 0x14, 0x4e, 0x28, + 0x9c, 0x50, 0x38, 0xa1, 0x70, 0x42, 0xe1, 0x84, 0xc2, 0x09, 0xad, 0x53, 0x02, 0x12, 0x7c, 0x55, + 0x12, 0x7c, 0x1c, 0x59, 0x1e, 0xcb, 0xd4, 0x0c, 0xdf, 0x59, 0xfa, 0x70, 0x2d, 0x4f, 0xf1, 0xfd, + 0x08, 0x87, 0xb1, 0x9e, 0x0c, 0x5f, 0x2a, 0x19, 0x09, 0xbe, 0xc6, 0x02, 0x26, 0x24, 0xf8, 0x90, + 0xe0, 0x2b, 0x2d, 0x08, 0x09, 0x3e, 0x70, 0x2b, 0xe0, 0x56, 0xc0, 0xad, 0x80, 0x5b, 0x01, 0xb7, + 0x02, 0x6e, 0x05, 0xdc, 0x0a, 0xb8, 0x15, 0x70, 0x2b, 0xcd, 0x68, 0x01, 0x12, 0x7c, 0x70, 0x42, + 0xe1, 0x84, 0xc2, 0x09, 0x85, 0x13, 0x0a, 0x27, 0x14, 0x4e, 0x28, 0x9c, 0x50, 0x38, 0xa1, 0x70, + 0x42, 0xeb, 0x94, 0x80, 0x04, 0x5f, 0x95, 0x04, 0x1f, 0x43, 0x92, 0xc7, 0x32, 0x35, 0xbf, 0xf7, + 0xc7, 0xf8, 0xd9, 0x5a, 0x98, 0xde, 0x8b, 0x64, 0xfc, 0xd3, 0x9e, 0x8f, 0xe1, 0xd7, 0x35, 0xc2, + 0x78, 0xf3, 0x65, 0x90, 0xf8, 0x6b, 0x2c, 0x90, 0x42, 0xe2, 0x0f, 0x89, 0xbf, 0x6a, 0x60, 0xb1, + 0xac, 0xbb, 0x9a, 0x46, 0xf8, 0xac, 0xbd, 0x12, 0x38, 0x19, 0x1e, 0x28, 0xc1, 0x84, 0x88, 0x46, + 0xb9, 0x18, 0x4c, 0x88, 0x50, 0xdd, 0xbd, 0x98, 0xe2, 0x53, 0x1a, 0xa9, 0xa5, 0x27, 0x82, 0x44, + 0xf6, 0xa5, 0x88, 0x6c, 0x5f, 0x32, 0xf4, 0x5e, 0x2f, 0x46, 0xe9, 0xd5, 0xab, 0x00, 0xa1, 0x81, + 0xd0, 0x40, 0x68, 0x20, 0xb4, 0xb9, 0x08, 0xcd, 0xb4, 0x82, 0xac, 0xf3, 0x6e, 0xe6, 0x14, 0xea, + 0xd2, 0xdc, 0x1b, 0x66, 0x3d, 0x9d, 0xbd, 0xa2, 0x1e, 0xb7, 0x7e, 0x6a, 0x02, 0x96, 0x55, 0x70, + 0x79, 0x92, 0x81, 0x2d, 0x66, 0xab, 0xa3, 0x81, 0xbf, 0xd6, 0x0d, 0x33, 0x39, 0xa8, 0xe9, 0xed, + 0x1b, 0xca, 0xcf, 0x32, 0x66, 0x07, 0xb4, 0x4c, 0x5d, 0xca, 0x84, 0xb3, 0x4e, 0x5f, 0x62, 0x74, + 0xe2, 0x4c, 0x18, 0xf3, 0xa5, 0x29, 0x8a, 0xc6, 0xa4, 0x2f, 0x4c, 0xfa, 0xaa, 0x23, 0x77, 0xa0, + 0x93, 0x34, 0xb6, 0xcc, 0x4a, 0x24, 0xdc, 0xca, 0xf8, 0xe7, 0xd9, 0xec, 0x49, 0xdb, 0x3f, 0xf6, + 0x6b, 0xf2, 0x76, 0xc3, 0xef, 0x7f, 0xa7, 0x0b, 0x25, 0xec, 0xfe, 0x28, 0x70, 0x59, 0x76, 0xea, + 0x3c, 0xf4, 0x5c, 0x77, 0x05, 0x9e, 0x5c, 0xc2, 0x01, 0x72, 0x09, 0xcd, 0x7b, 0x81, 0xc8, 0x25, + 0x98, 0xe7, 0x59, 0xb0, 0x85, 0x8d, 0xba, 0x35, 0x79, 0x29, 0x70, 0x3c, 0x64, 0x90, 0x75, 0x1e, + 0x8c, 0x9e, 0xc6, 0x4f, 0xfe, 0xab, 0x85, 0x78, 0x9c, 0x84, 0xbe, 0x88, 0x9c, 0xef, 0xbe, 0xb0, + 0xe5, 0xd3, 0xd0, 0x71, 0x19, 0xc7, 0x30, 0xe6, 0x24, 0x03, 0x7f, 0x81, 0xbf, 0xc0, 0xdf, 0x16, + 0xe1, 0xef, 0x20, 0x72, 0x3c, 0x11, 0xdb, 0x61, 0x9f, 0x47, 0x83, 0x97, 0x70, 0x97, 0xa1, 0x70, + 0x6e, 0xff, 0x22, 0xcd, 0x2f, 0x24, 0x6f, 0xbf, 0x39, 0xb1, 0x86, 0x44, 0xf3, 0xef, 0xb7, 0x27, + 0x67, 0xe7, 0x77, 0x8f, 0xd7, 0x5f, 0x1e, 0x2f, 0xbe, 0xde, 0x9c, 0x9c, 0xde, 0x73, 0xed, 0xf0, + 0xb4, 0x9a, 0x30, 0x66, 0x2d, 0xc3, 0xd5, 0xc4, 0x05, 0xae, 0xae, 0xc0, 0xe3, 0xd7, 0x93, 0xff, + 0xb9, 0xbe, 0x9d, 0x2d, 0x87, 0x89, 0x84, 0x52, 0x5d, 0x0b, 0x71, 0x79, 0x7d, 0xf5, 0x3b, 0xd6, + 0xe1, 0xfe, 0xf1, 0x8f, 0x8b, 0xfb, 0xcb, 0xf3, 0xbb, 0xbb, 0x4e, 0xaf, 0xc1, 0xd7, 0x8b, 0x2b, + 0x1d, 0x4a, 0xc1, 0x22, 0xe9, 0xa1, 0x69, 0x9b, 0xb6, 0x57, 0xef, 0x37, 0x15, 0xb7, 0x0f, 0x17, + 0x63, 0x66, 0x1e, 0x53, 0x46, 0x30, 0x5a, 0xe6, 0x70, 0x60, 0x6a, 0x5a, 0x55, 0x7d, 0x07, 0x29, + 0xec, 0x9e, 0xfd, 0x59, 0x32, 0x78, 0x71, 0xcd, 0x55, 0xb7, 0xd0, 0x42, 0xe8, 0x94, 0x17, 0xaa, + 0xb8, 0xb3, 0x69, 0x15, 0xb0, 0xe4, 0x68, 0x89, 0x23, 0x4a, 0x5a, 0x8e, 0x8e, 0x16, 0x55, 0x85, + 0xb2, 0xbb, 0x99, 0x22, 0x22, 0xf6, 0x48, 0x88, 0x3d, 0x02, 0xca, 0x47, 0x3e, 0x4b, 0x4b, 0xd8, + 0x12, 0x84, 0xa6, 0x56, 0xaa, 0xee, 0x3b, 0xcf, 0xa1, 0xf4, 0xe6, 0xb5, 0x1b, 0x6c, 0x34, 0xc7, + 0x8a, 0x5c, 0x90, 0x1c, 0x20, 0x39, 0x40, 0x72, 0xb4, 0x88, 0xe4, 0x18, 0x8d, 0xa4, 0xc7, 0x49, + 0x6c, 0x1c, 0xb7, 0x90, 0x04, 0x9e, 0xbb, 0x19, 0xf6, 0x8b, 0x90, 0x83, 0x1f, 0x8c, 0x2c, 0x70, + 0x5e, 0x34, 0x10, 0x12, 0x08, 0x09, 0x84, 0x6c, 0x13, 0x42, 0x72, 0xf5, 0x36, 0x60, 0xec, 0x69, + 0xc0, 0xdc, 0xcb, 0x80, 0xb7, 0x4a, 0x53, 0x43, 0x15, 0xb5, 0x96, 0x03, 0xee, 0xba, 0x7a, 0x15, + 0xe8, 0x3c, 0xbd, 0xce, 0x5c, 0x7d, 0xd8, 0xba, 0x57, 0xa5, 0xbf, 0x07, 0x81, 0xd6, 0xb7, 0x67, + 0x48, 0x0d, 0xe6, 0x43, 0x0b, 0x9d, 0x34, 0xf1, 0xea, 0xfa, 0x23, 0x4f, 0xd8, 0xbe, 0x0c, 0x7e, + 0xf2, 0xf9, 0x67, 0x4b, 0x52, 0xe1, 0x9a, 0xc1, 0x35, 0x83, 0x6b, 0x86, 0xe0, 0xb5, 0x95, 0xb8, + 0x18, 0x84, 0x9e, 0xe0, 0xc7, 0xc5, 0x54, 0x2a, 0x70, 0x11, 0xb8, 0x08, 0x5c, 0x04, 0x2e, 0xb6, + 0x16, 0x17, 0x6d, 0xe1, 0x0d, 0x84, 0x3d, 0x0c, 0x29, 0xd9, 0xc9, 0x8d, 0x10, 0xb9, 0x78, 0x01, + 0xa0, 0x25, 0xd0, 0x12, 0x68, 0x09, 0xb4, 0x6c, 0x25, 0x5a, 0x4e, 0x6b, 0x77, 0x98, 0x21, 0x32, + 0x95, 0x0a, 0x5c, 0x04, 0x2e, 0x02, 0x17, 0x81, 0x8b, 0xad, 0xc2, 0x45, 0x19, 0xe8, 0x60, 0x1d, + 0x97, 0xa4, 0x02, 0x17, 0x81, 0x8b, 0xc0, 0x45, 0xe0, 0x62, 0x2b, 0x71, 0x91, 0x97, 0x75, 0x5c, + 0x92, 0x0a, 0x5c, 0x04, 0x2e, 0x02, 0x17, 0x81, 0x8b, 0xad, 0xc5, 0x45, 0x2d, 0xac, 0xe3, 0xba, + 0x0b, 0x00, 0x2d, 0x81, 0x96, 0x40, 0x4b, 0xa0, 0x65, 0x2b, 0xd1, 0x92, 0x97, 0x75, 0x5c, 0x92, + 0x0a, 0x5c, 0x04, 0x2e, 0x02, 0x17, 0x81, 0x8b, 0xad, 0xc4, 0x45, 0xfe, 0xe3, 0x7a, 0x39, 0xc9, + 0xc0, 0x47, 0xe0, 0x23, 0xf0, 0x11, 0xf8, 0xd8, 0x2a, 0x7c, 0xf4, 0x43, 0xd7, 0xf1, 0x6d, 0xe9, + 0xf1, 0xe1, 0x62, 0x26, 0x11, 0x78, 0x58, 0x0e, 0x0f, 0x27, 0x6d, 0x3d, 0x80, 0x82, 0x5a, 0x50, + 0x70, 0xba, 0xb8, 0xc0, 0xbe, 0x95, 0x9d, 0xc7, 0x36, 0x40, 0xa1, 0xd5, 0xe8, 0xc7, 0x32, 0x58, + 0x2c, 0x5b, 0x53, 0x8e, 0xb6, 0xe7, 0x9d, 0x99, 0x33, 0x08, 0xd4, 0x03, 0xea, 0x6d, 0x79, 0x2c, + 0xb6, 0x99, 0x82, 0xcf, 0xd3, 0x23, 0x8f, 0xcc, 0x7d, 0x1d, 0x27, 0x62, 0x31, 0x8b, 0xca, 0x30, + 0x40, 0xd0, 0x05, 0x0c, 0xda, 0x01, 0x42, 0x3b, 0x50, 0xe8, 0x07, 0x0c, 0x1e, 0xe0, 0x60, 0x02, + 0x10, 0x7e, 0xf7, 0x49, 0x9f, 0x1b, 0xc5, 0xec, 0x4e, 0xf1, 0xbd, 0x07, 0x8e, 0x49, 0x81, 0x29, + 0x50, 0x6a, 0x9a, 0xe2, 0xba, 0x20, 0x1b, 0x48, 0x0c, 0x24, 0x06, 0x12, 0x03, 0x89, 0x77, 0x15, + 0x89, 0x4d, 0x18, 0xf7, 0xc5, 0x06, 0xb7, 0x18, 0xf0, 0x85, 0x01, 0x5f, 0xec, 0x6d, 0x8b, 0x0b, + 0xda, 0xdd, 0xbe, 0x67, 0x72, 0x0d, 0x1a, 0x6b, 0x62, 0x7c, 0x3f, 0x7d, 0xa6, 0x85, 0x8f, 0x52, + 0xcc, 0x6b, 0x21, 0xdd, 0x36, 0xb6, 0xd1, 0x22, 0x8a, 0x84, 0x67, 0x27, 0x91, 0x13, 0xc4, 0xc3, + 0x30, 0x4a, 0x6c, 0xdf, 0x79, 0x13, 0x11, 0x1f, 0x07, 0xb7, 0xfe, 0x12, 0x48, 0x47, 0x94, 0xf3, + 0xfe, 0x90, 0x9e, 0x45, 0x7a, 0xb6, 0x49, 0xcf, 0x6e, 0x9e, 0x48, 0x1c, 0xab, 0xad, 0x3d, 0x8c, + 0xc2, 0x24, 0x74, 0x43, 0x9f, 0x2b, 0xc4, 0xdb, 0xad, 0x79, 0x5d, 0x98, 0x6d, 0xc0, 0xe2, 0x24, + 0xb4, 0x71, 0xb8, 0x41, 0xde, 0x2f, 0xa8, 0x6d, 0xba, 0xc1, 0x9e, 0xc6, 0xdd, 0x36, 0x0b, 0x34, + 0x14, 0xcb, 0x08, 0x68, 0x61, 0x05, 0x4b, 0x18, 0xc1, 0x12, 0x36, 0xd0, 0xc2, 0x84, 0xaa, 0x6b, + 0x4e, 0xd4, 0xec, 0x86, 0x35, 0x5a, 0x41, 0x7b, 0x9b, 0xd2, 0xda, 0x6a, 0x2a, 0x5a, 0x5e, 0xd1, + 0x2a, 0xbc, 0xf0, 0xfd, 0x48, 0xc4, 0x49, 0x18, 0xa5, 0x6f, 0xdb, 0x76, 0xc3, 0x30, 0xf2, 0x64, + 0xe0, 0x24, 0xc2, 0x4e, 0x54, 0x0c, 0xf8, 0x7c, 0xc2, 0xe6, 0x06, 0xa1, 0x55, 0x01, 0x40, 0xc9, + 0xd3, 0x56, 0xf6, 0xac, 0x29, 0x9e, 0x34, 0xeb, 0x40, 0x11, 0xaa, 0x97, 0xcc, 0xe6, 0x15, 0xb3, + 0x79, 0xc1, 0xdc, 0x03, 0x43, 0xf4, 0x1a, 0x1e, 0x65, 0x0f, 0x76, 0xa1, 0x45, 0x3d, 0x65, 0xe3, + 0x53, 0xbd, 0x53, 0x45, 0x6f, 0x54, 0x27, 0xc8, 0x08, 0x7b, 0x18, 0xc9, 0x30, 0x1a, 0xbf, 0x6c, + 0x22, 0xb2, 0x2c, 0x48, 0x02, 0x9c, 0x00, 0x4e, 0x3a, 0x01, 0x27, 0xca, 0xed, 0xf2, 0x09, 0xed, + 0xf1, 0x89, 0xed, 0xf0, 0x09, 0x51, 0x21, 0x47, 0xbb, 0x7b, 0x2e, 0x96, 0x8e, 0xa9, 0x9d, 0x3d, + 0x67, 0x03, 0x74, 0x0a, 0xef, 0xca, 0xd1, 0x9e, 0x9e, 0x7b, 0x69, 0xf9, 0xdb, 0xcf, 0xb3, 0xae, + 0x76, 0x4d, 0xa1, 0xf4, 0x83, 0x11, 0xa6, 0xfa, 0x59, 0x44, 0xf1, 0xd8, 0x71, 0x7f, 0x52, 0x69, + 0x41, 0xb2, 0x60, 0xa8, 0x97, 0xe4, 0xc0, 0x4c, 0xc3, 0x4c, 0x77, 0xc2, 0x4c, 0x93, 0xf6, 0xfd, + 0x4e, 0x39, 0xfd, 0xb1, 0xf0, 0x85, 0x3b, 0xa5, 0x00, 0x82, 0x24, 0x0a, 0x7d, 0x75, 0x30, 0xc9, + 0x8b, 0x02, 0x9e, 0x00, 0x4f, 0x3a, 0x81, 0x27, 0xd4, 0xad, 0xbf, 0x53, 0x90, 0xf2, 0xe2, 0xc8, + 0xc4, 0x4e, 0x42, 0x3b, 0x05, 0xd9, 0xc4, 0x4e, 0xe4, 0x13, 0xc1, 0x43, 0x29, 0x12, 0x56, 0xf1, + 0xf5, 0x9e, 0x89, 0xbe, 0x33, 0xf2, 0xd3, 0xad, 0xd8, 0xfb, 0x08, 0x4c, 0x02, 0x26, 0x81, 0x8a, + 0x00, 0x15, 0x01, 0x2a, 0x02, 0x54, 0x04, 0xa8, 0x08, 0xd2, 0x5f, 0x96, 0xdc, 0x53, 0xaa, 0x99, + 0xea, 0x1a, 0x32, 0xd4, 0xfb, 0x55, 0x02, 0x25, 0x9d, 0xd9, 0xe7, 0x72, 0xd6, 0x67, 0xfb, 0x6b, + 0x29, 0xf1, 0x4a, 0xf6, 0xa3, 0x70, 0x94, 0xc8, 0x60, 0xb0, 0xb8, 0x0c, 0x65, 0x5f, 0xcb, 0x3c, + 0x7e, 0xce, 0xcb, 0x28, 0xb9, 0x19, 0xaa, 0x1d, 0x96, 0xae, 0xec, 0x47, 0xa9, 0xf8, 0x4f, 0x2c, + 0x7e, 0x93, 0xaa, 0xbf, 0x44, 0xf6, 0x93, 0xc8, 0xfe, 0x11, 0x97, 0x5f, 0xc4, 0x0b, 0x1a, 0x55, + 0x0f, 0x12, 0xef, 0xbb, 0x61, 0x9c, 0xd8, 0xee, 0x0f, 0x67, 0x8c, 0xe2, 0x22, 0x92, 0x71, 0x22, + 0x5d, 0xf5, 0xa8, 0xa3, 0x48, 0x98, 0x5a, 0xe0, 0xd0, 0x6b, 0x5d, 0xe0, 0xc0, 0x50, 0x4c, 0xdc, + 0x85, 0xe0, 0x81, 0x5e, 0x0c, 0xac, 0x37, 0x80, 0x50, 0x3d, 0x89, 0x3f, 0xd9, 0xfb, 0x8e, 0x3f, + 0x08, 0x23, 0x99, 0xfc, 0x78, 0x52, 0x7f, 0x87, 0x4b, 0xba, 0x34, 0x97, 0xa7, 0xb8, 0xfe, 0x34, + 0xff, 0x91, 0x5c, 0xc3, 0xcf, 0x51, 0xbb, 0xbf, 0xac, 0x66, 0x0c, 0x3d, 0xe8, 0xb8, 0x6a, 0xf4, + 0xd9, 0x6b, 0xf3, 0xd9, 0x6b, 0xf2, 0xf3, 0xea, 0x97, 0x2d, 0x5f, 0x4b, 0x0a, 0xb1, 0xc9, 0xb5, + 0xf6, 0x7c, 0xa7, 0x26, 0x89, 0xa7, 0x24, 0x15, 0x8a, 0x8f, 0xdf, 0x29, 0xa2, 0x10, 0xe9, 0xf8, + 0xf9, 0x32, 0x00, 0x11, 0x8e, 0x22, 0x00, 0x7b, 0x80, 0x3d, 0xc0, 0x9e, 0xae, 0x61, 0x0f, 0xad, + 0x01, 0xd1, 0x32, 0xf8, 0x50, 0xba, 0x0e, 0x01, 0x7d, 0x80, 0x3e, 0x40, 0x9f, 0xb6, 0xa2, 0x4f, + 0x1d, 0xc7, 0xae, 0x54, 0xfd, 0x1b, 0x9c, 0xbb, 0xb2, 0x5a, 0x7f, 0xee, 0x2a, 0xc7, 0xc3, 0xbe, + 0xa7, 0x53, 0x57, 0x16, 0x2f, 0xdd, 0x3d, 0xb9, 0xc5, 0x85, 0x93, 0x56, 0xa7, 0x61, 0x9c, 0x9c, + 0x2e, 0xdf, 0xa0, 0x01, 0x55, 0x0b, 0x9e, 0x4c, 0x4b, 0xc2, 0x92, 0x37, 0x7b, 0x18, 0xfa, 0xd2, + 0x25, 0x9c, 0x7e, 0xc8, 0x49, 0xea, 0x4a, 0xc9, 0x01, 0x98, 0xc3, 0x9d, 0x60, 0x0e, 0xe9, 0xa5, + 0x07, 0x44, 0x0d, 0xb0, 0x76, 0xa9, 0x1a, 0x4a, 0xc6, 0x76, 0x3a, 0x08, 0x3c, 0x96, 0xcf, 0x84, + 0x32, 0xa8, 0x25, 0x29, 0xea, 0xf5, 0x4f, 0xe3, 0x6d, 0x0c, 0x38, 0x02, 0x1c, 0x75, 0x0b, 0x8e, + 0xbe, 0x87, 0xa1, 0x2f, 0x9c, 0x80, 0x82, 0x42, 0x3d, 0x03, 0x90, 0xc4, 0x77, 0x92, 0xf4, 0x2c, + 0x3d, 0x57, 0x92, 0x73, 0x8d, 0x3c, 0xe4, 0x39, 0x01, 0x0f, 0x5d, 0xc8, 0x73, 0xf6, 0xe5, 0xab, + 0xf0, 0x6c, 0x26, 0xa5, 0xca, 0x6d, 0xb1, 0x8d, 0xd2, 0x1b, 0x66, 0x02, 0x3f, 0x80, 0x09, 0x04, + 0x13, 0x08, 0x26, 0xd0, 0xf8, 0x3c, 0xc4, 0xdf, 0x32, 0x49, 0x44, 0xc4, 0x0e, 0x4d, 0xc5, 0x62, + 0x81, 0x49, 0xc0, 0x24, 0x60, 0x12, 0x30, 0x69, 0xcb, 0x3d, 0xfe, 0x33, 0x12, 0x32, 0x18, 0x68, + 0x73, 0x9b, 0x36, 0x8b, 0x47, 0x06, 0x15, 0x18, 0x05, 0x8c, 0x02, 0x46, 0x6d, 0xb9, 0xc7, 0x24, + 0x72, 0xfa, 0x7d, 0xe9, 0xda, 0xc3, 0x28, 0x1c, 0x8a, 0x28, 0x79, 0x63, 0xaa, 0x23, 0x2b, 0x16, + 0x0b, 0x4c, 0x02, 0x26, 0x01, 0x93, 0x80, 0x49, 0x5b, 0xee, 0xf1, 0xc5, 0x09, 0x3c, 0x0d, 0xb1, + 0x5c, 0xb1, 0x58, 0xc4, 0x72, 0xc0, 0x24, 0x60, 0x52, 0xb7, 0x30, 0xa9, 0x8e, 0x4a, 0x33, 0x0e, + 0x0f, 0x08, 0x55, 0x67, 0xd6, 0x0e, 0x56, 0x9d, 0xb1, 0x05, 0xec, 0x3a, 0x0b, 0xcf, 0x2e, 0x27, + 0x37, 0x69, 0x5e, 0xed, 0xd9, 0x93, 0xf3, 0x6a, 0x3b, 0xbe, 0x1f, 0xbe, 0x08, 0xcf, 0x76, 0xc3, + 0x38, 0x51, 0xcf, 0xe9, 0xe6, 0x24, 0x21, 0x9b, 0x5b, 0x9b, 0xa9, 0x47, 0x36, 0x97, 0x8e, 0x73, + 0xca, 0xd9, 0x5c, 0xe5, 0xa6, 0xd5, 0xb9, 0xed, 0xa4, 0xd8, 0xb4, 0x7a, 0x77, 0x23, 0x7b, 0xc6, + 0xe9, 0x52, 0x5d, 0xf6, 0xa6, 0xf9, 0xa6, 0x47, 0xb5, 0xd5, 0xab, 0x56, 0xee, 0x48, 0xb5, 0xaa, + 0x5b, 0xc7, 0x04, 0x11, 0xb4, 0x0e, 0x55, 0xb3, 0x1f, 0x9e, 0xf1, 0x97, 0x8c, 0xd3, 0xd5, 0x78, + 0x07, 0x20, 0x33, 0x75, 0xb0, 0xca, 0xe4, 0x31, 0xf6, 0x56, 0x22, 0x6e, 0xe7, 0xd5, 0x38, 0xc0, + 0xf8, 0x57, 0xc0, 0xdf, 0xe9, 0x4a, 0xeb, 0x5b, 0x69, 0x68, 0xaa, 0xda, 0x83, 0xc1, 0xd4, 0x1f, + 0xd3, 0x49, 0x52, 0x1c, 0x22, 0x85, 0x53, 0x02, 0xa7, 0x04, 0x4e, 0x09, 0x9c, 0x12, 0x38, 0x25, + 0x70, 0x4a, 0xe0, 0x94, 0xd4, 0x45, 0xc9, 0x98, 0x4e, 0x3d, 0x13, 0x29, 0x4f, 0x4b, 0x33, 0xe9, + 0xfc, 0xd5, 0x79, 0x3d, 0x99, 0xdc, 0xdd, 0xe9, 0xf8, 0xe6, 0x0c, 0x63, 0x9b, 0x3d, 0xe1, 0x3b, + 0x6f, 0x3c, 0x74, 0xf3, 0x44, 0x14, 0xf8, 0xe6, 0xda, 0xfc, 0x4e, 0xf0, 0xcd, 0x74, 0x70, 0x03, + 0xdf, 0x8c, 0xd0, 0x0e, 0xa1, 0x1d, 0x42, 0x3b, 0x84, 0x76, 0x08, 0xed, 0x10, 0xda, 0x21, 0xb4, + 0x33, 0x2e, 0xb4, 0x03, 0xdf, 0x0c, 0xa7, 0x04, 0x4e, 0x09, 0x9c, 0x12, 0x38, 0x25, 0x70, 0x4a, + 0xe0, 0x94, 0xc0, 0x29, 0x31, 0xc2, 0x29, 0x01, 0xdf, 0x4c, 0xe0, 0x3c, 0xad, 0xda, 0x08, 0xe7, + 0xb3, 0xf4, 0xee, 0x0c, 0x63, 0x9c, 0x7f, 0x84, 0xc3, 0x98, 0x87, 0x70, 0x4e, 0x25, 0x81, 0x6f, + 0xae, 0xcd, 0xef, 0x04, 0xdf, 0x4c, 0x07, 0x37, 0xf0, 0xcd, 0x08, 0xed, 0x10, 0xda, 0x21, 0xb4, + 0x43, 0x68, 0x87, 0xd0, 0x0e, 0xa1, 0x1d, 0x42, 0x3b, 0xe3, 0x42, 0x3b, 0xf0, 0xcd, 0x70, 0x4a, + 0xe0, 0x94, 0xc0, 0x29, 0x81, 0x53, 0x02, 0xa7, 0x04, 0x4e, 0x09, 0x9c, 0x12, 0x23, 0x9c, 0x12, + 0xf0, 0xcd, 0xea, 0x94, 0xa7, 0x55, 0x1b, 0xdd, 0xfc, 0xc7, 0xf8, 0xe6, 0x0c, 0x60, 0x9b, 0x23, + 0x19, 0xff, 0xb4, 0xe7, 0x23, 0x68, 0xb8, 0xc6, 0x25, 0x6c, 0x16, 0x0b, 0x1e, 0xba, 0x36, 0x7f, + 0x14, 0x3c, 0x34, 0x1d, 0xf4, 0x94, 0x79, 0xe8, 0x54, 0x0b, 0x96, 0xf7, 0x3e, 0x53, 0x7b, 0xcd, + 0xb5, 0x92, 0x11, 0x12, 0xa2, 0x9b, 0x1d, 0x83, 0x4a, 0xa2, 0x9b, 0xdd, 0x6e, 0x77, 0xd8, 0x4c, + 0xf1, 0x43, 0x7a, 0x22, 0x48, 0x64, 0x5f, 0x8a, 0xc8, 0xf6, 0xa5, 0x42, 0x23, 0xad, 0x62, 0x54, + 0x5a, 0x95, 0x0a, 0x44, 0x02, 0x22, 0x01, 0x91, 0xda, 0x8c, 0x48, 0x8a, 0x2b, 0x40, 0xea, 0x5d, + 0xb9, 0x48, 0x42, 0x2d, 0xb4, 0x9f, 0x24, 0xee, 0xfb, 0xd9, 0x92, 0xf6, 0xa8, 0xfb, 0x9d, 0x49, + 0x11, 0x57, 0x95, 0xf1, 0x49, 0x06, 0xb6, 0x98, 0x3d, 0x2d, 0x03, 0x7d, 0xc4, 0xad, 0x96, 0x39, + 0xd5, 0xec, 0xed, 0x37, 0x44, 0xa7, 0x10, 0xc8, 0x35, 0x96, 0x8e, 0xa6, 0x99, 0x30, 0x52, 0x67, + 0x53, 0x53, 0x69, 0x9e, 0x69, 0x0b, 0x5b, 0xa6, 0x28, 0x03, 0x5d, 0x6c, 0x77, 0x91, 0x6a, 0xe3, + 0xa4, 0x78, 0x74, 0xf3, 0x6e, 0xb7, 0x32, 0xfe, 0x79, 0x36, 0xbb, 0x55, 0xf3, 0x5a, 0xda, 0x8e, + 0x57, 0x57, 0xd8, 0xe1, 0xf7, 0xbf, 0xd3, 0x27, 0x11, 0x76, 0x7f, 0x14, 0xb8, 0x4a, 0x2f, 0x7e, + 0xee, 0x89, 0xaf, 0x93, 0x88, 0x79, 0xc6, 0xa0, 0xde, 0x3a, 0x35, 0xcf, 0x98, 0x49, 0x13, 0xac, + 0x5d, 0x1a, 0xb3, 0x9e, 0x84, 0xbe, 0x88, 0x9c, 0xef, 0xbe, 0xb0, 0xe5, 0xd3, 0xd0, 0x71, 0x09, + 0x2d, 0xb4, 0x73, 0x92, 0x80, 0x2f, 0xc0, 0x97, 0x4e, 0xe1, 0xcb, 0x20, 0x72, 0x3c, 0x11, 0xdb, + 0x61, 0x5f, 0x4d, 0x03, 0x96, 0x70, 0x45, 0x21, 0x6d, 0xbe, 0x7f, 0x91, 0xd2, 0x6d, 0xc9, 0xdb, + 0x6f, 0x4e, 0xcc, 0x90, 0x57, 0xf8, 0xfd, 0xf6, 0xe4, 0xec, 0xfc, 0xee, 0xf1, 0xfa, 0xcb, 0xe3, + 0xc5, 0xd7, 0x9b, 0x93, 0xd3, 0x7b, 0xd5, 0x1d, 0x95, 0xd6, 0x06, 0xc4, 0xa4, 0x22, 0x16, 0xa6, + 0x50, 0x7f, 0xf5, 0x89, 0x1e, 0xbf, 0x9e, 0xfc, 0xcf, 0xf5, 0xed, 0xec, 0xf1, 0x9a, 0x88, 0x3f, + 0x75, 0x3d, 0xd8, 0xe5, 0xf5, 0xd5, 0xef, 0xbb, 0xf8, 0x5c, 0x7f, 0x5c, 0xdc, 0x5f, 0x9e, 0xdf, + 0xdd, 0xed, 0xd4, 0x33, 0x7d, 0xbd, 0xb8, 0xe2, 0xd8, 0x84, 0x4a, 0xdf, 0x7c, 0xd0, 0x8d, 0xc1, + 0x7b, 0xbc, 0x7f, 0x59, 0xf2, 0xf5, 0xa9, 0x06, 0xcc, 0xba, 0x03, 0xe5, 0x0a, 0x10, 0xaa, 0x31, + 0x04, 0x2e, 0xb7, 0xc9, 0xb6, 0xbf, 0x90, 0x12, 0x2f, 0x63, 0x7f, 0x46, 0xd5, 0x2f, 0x2e, 0x42, + 0xd9, 0x37, 0xb2, 0xe0, 0x59, 0xe6, 0x85, 0x94, 0xdc, 0x08, 0xd5, 0xea, 0x45, 0x2a, 0x3b, 0x93, + 0x2a, 0x4e, 0xe4, 0xb2, 0xf3, 0xb8, 0xb8, 0x73, 0xaa, 0x6c, 0x0f, 0x45, 0x87, 0x91, 0xec, 0x28, + 0x92, 0x1d, 0xc4, 0xbc, 0x63, 0xb8, 0xb4, 0x04, 0x0d, 0x01, 0x46, 0xd5, 0xba, 0x8e, 0x7d, 0xe7, + 0x39, 0x94, 0xde, 0x3c, 0x13, 0xa5, 0x1c, 0x35, 0xad, 0xc8, 0x41, 0xcc, 0x84, 0x98, 0xa9, 0x53, + 0x31, 0xd3, 0x68, 0x24, 0x3d, 0x4a, 0x9c, 0x74, 0x6c, 0x00, 0x87, 0x32, 0x37, 0x4b, 0xf6, 0x8b, + 0x90, 0x83, 0x1f, 0x04, 0x12, 0x25, 0x2f, 0x0a, 0x88, 0x00, 0x44, 0xe8, 0x16, 0x22, 0xa8, 0x1e, + 0xbc, 0x21, 0x1c, 0xb8, 0x21, 0x1e, 0xb4, 0xa1, 0xd5, 0x34, 0x30, 0xd4, 0xf0, 0xb0, 0x9c, 0xe6, + 0xe0, 0x3a, 0x48, 0xc3, 0x79, 0x54, 0x83, 0x98, 0xdb, 0x37, 0x6e, 0x69, 0xf9, 0x0f, 0xc8, 0xb0, + 0xae, 0x76, 0x4d, 0x15, 0x0b, 0x0f, 0x06, 0x18, 0x6d, 0xf1, 0xea, 0xfa, 0x23, 0x4f, 0xd8, 0xbe, + 0x0c, 0x7e, 0xaa, 0xdb, 0xeb, 0x25, 0x29, 0x30, 0xd5, 0x30, 0xd5, 0x70, 0xde, 0x5b, 0xe6, 0xbc, + 0xcf, 0x34, 0x38, 0x08, 0x3d, 0x41, 0xc7, 0x81, 0x54, 0x0a, 0x70, 0x00, 0x38, 0x00, 0x1c, 0x68, + 0x31, 0x0e, 0xd8, 0xc2, 0x1b, 0x08, 0x7b, 0x18, 0x56, 0x61, 0xab, 0x37, 0x42, 0xc2, 0xa2, 0x40, + 0xa0, 0x03, 0xd0, 0x01, 0xe8, 0xd0, 0x52, 0x74, 0x98, 0xa6, 0x06, 0x89, 0x90, 0x90, 0x4a, 0x01, + 0x0e, 0x00, 0x07, 0x80, 0x03, 0x2d, 0xc3, 0x01, 0x19, 0x70, 0xb0, 0x06, 0x4b, 0x52, 0x80, 0x03, + 0xc0, 0x01, 0xe0, 0x40, 0x4b, 0x71, 0x80, 0xc6, 0x1a, 0x2c, 0x49, 0x01, 0x0e, 0x00, 0x07, 0x80, + 0x03, 0x2d, 0xc6, 0x01, 0x16, 0xd6, 0x60, 0x9d, 0x40, 0xa0, 0x03, 0xd0, 0x01, 0xe8, 0xd0, 0x52, + 0x74, 0xa0, 0xb1, 0x06, 0x4b, 0x52, 0x80, 0x03, 0xc0, 0x01, 0xe0, 0x40, 0x4b, 0x71, 0x80, 0x5e, + 0x2e, 0x9c, 0x93, 0x04, 0x3c, 0x00, 0x1e, 0x00, 0x0f, 0x5a, 0x86, 0x07, 0x7e, 0xe8, 0x3a, 0xbe, + 0x2d, 0x3d, 0x75, 0x1c, 0xc8, 0x24, 0x74, 0x45, 0xff, 0x27, 0xa7, 0xb0, 0xa0, 0xf5, 0x6b, 0x4e, + 0xd0, 0xa4, 0x8b, 0xb3, 0x73, 0xba, 0xae, 0xdc, 0xee, 0xcc, 0x28, 0x6d, 0x57, 0x6a, 0xf3, 0x9a, + 0xad, 0x81, 0x4a, 0x93, 0xa5, 0xd6, 0x76, 0x49, 0x86, 0x96, 0xb7, 0x4e, 0xcb, 0x95, 0x3b, 0x22, + 0x63, 0xfc, 0x8d, 0x86, 0xce, 0xa2, 0xca, 0x0a, 0xc4, 0xa5, 0x48, 0xec, 0x0a, 0xc5, 0xae, 0x58, + 0xfc, 0x0a, 0xa6, 0xa6, 0x68, 0x8a, 0x0a, 0x47, 0x37, 0xaf, 0x7c, 0x66, 0x96, 0x68, 0x6e, 0xd5, + 0xd7, 0x4d, 0x79, 0xdc, 0x16, 0x53, 0xcf, 0xf5, 0x05, 0x59, 0x40, 0x1e, 0x20, 0x0f, 0x90, 0xa7, + 0x3b, 0xc8, 0x53, 0x47, 0xb3, 0x55, 0x65, 0x78, 0x41, 0x7b, 0x55, 0xab, 0xed, 0xed, 0x55, 0x0b, + 0x9a, 0x9d, 0xbc, 0x57, 0x34, 0x34, 0x7c, 0x3d, 0x64, 0xee, 0xa7, 0x37, 0xb5, 0xd0, 0x47, 0x35, + 0x55, 0x61, 0x03, 0xa2, 0xeb, 0x31, 0xc4, 0x8b, 0x28, 0x12, 0x9e, 0x9d, 0x44, 0x4e, 0x10, 0x0f, + 0xc3, 0x28, 0xb1, 0x7d, 0xe7, 0x4d, 0x44, 0xea, 0x21, 0xf7, 0x7a, 0x91, 0x60, 0xdb, 0x11, 0x91, + 0x77, 0x8a, 0x6d, 0x4f, 0xb7, 0xbd, 0x3d, 0x8c, 0xc2, 0x24, 0x74, 0x43, 0x5f, 0xd5, 0xe3, 0x35, + 0xbb, 0x5b, 0x2a, 0x6b, 0x23, 0xa1, 0xa9, 0x05, 0xaf, 0xc8, 0xcf, 0xab, 0xd9, 0x6d, 0x92, 0xbd, + 0x26, 0xd9, 0x69, 0x35, 0xfb, 0xdc, 0xaa, 0xee, 0x6d, 0xea, 0x4d, 0xc7, 0x74, 0x9b, 0xde, 0x3a, + 0xfb, 0xb7, 0xa5, 0xd9, 0xb6, 0xca, 0x0d, 0xdb, 0x2a, 0xe4, 0xe8, 0x2a, 0xda, 0xc8, 0x46, 0x3a, + 0xb4, 0x55, 0x0c, 0x6c, 0x77, 0xab, 0x37, 0x5b, 0xb5, 0xc0, 0x94, 0x17, 0x4c, 0x2b, 0xdb, 0x2f, + 0xd5, 0x2c, 0x71, 0xc5, 0x30, 0xb2, 0x84, 0x6e, 0xed, 0x11, 0x9e, 0x7f, 0x66, 0x44, 0x4a, 0x3c, + 0x44, 0x35, 0xc3, 0xa1, 0x64, 0x30, 0x94, 0x0c, 0x45, 0x35, 0x03, 0xb1, 0x6d, 0x3d, 0x2a, 0x1a, + 0x04, 0x56, 0x43, 0x50, 0x62, 0x17, 0xb1, 0x81, 0xfd, 0x66, 0x3d, 0x5b, 0xbf, 0xa7, 0x8a, 0x7f, + 0xb3, 0x66, 0x55, 0xcb, 0xae, 0xa6, 0xea, 0x2a, 0x6e, 0x58, 0x30, 0xa5, 0x85, 0x2a, 0x5e, 0x94, + 0xfc, 0x23, 0x17, 0x3c, 0xee, 0xe6, 0xd4, 0x6b, 0x99, 0x14, 0xeb, 0x96, 0x54, 0xea, 0x56, 0x73, + 0x54, 0xc6, 0xfc, 0x54, 0x34, 0x37, 0x65, 0xcd, 0x4b, 0x65, 0x73, 0x52, 0xd9, 0x7c, 0x54, 0x37, + 0x17, 0xd5, 0x36, 0xea, 0xb6, 0xd4, 0x62, 0xc9, 0x14, 0x62, 0xa5, 0x54, 0x61, 0x49, 0x7f, 0xa4, + 0xb4, 0x1f, 0x52, 0xc5, 0xff, 0x50, 0xf4, 0x3b, 0xaa, 0xfa, 0x1b, 0xca, 0x7e, 0x86, 0xb2, 0x7f, + 0xa1, 0xee, 0x57, 0xd0, 0xec, 0x68, 0x69, 0xff, 0xa1, 0x3a, 0x21, 0x5d, 0xd2, 0x63, 0xd8, 0x80, + 0xd9, 0xef, 0xb6, 0xec, 0xeb, 0x72, 0xa9, 0xaa, 0xea, 0x29, 0x29, 0xec, 0x70, 0xec, 0xf0, 0x7a, + 0x76, 0x78, 0x25, 0xb0, 0x2f, 0x9b, 0xfa, 0x28, 0xe7, 0xf1, 0x56, 0xf2, 0x74, 0x2b, 0x79, 0xb8, + 0xe5, 0x3c, 0xdb, 0x1a, 0x7c, 0xaf, 0x2d, 0xaa, 0xbe, 0xdd, 0xd7, 0x5a, 0xcf, 0xe0, 0x97, 0x73, + 0xae, 0x56, 0xd9, 0xcf, 0xcc, 0x01, 0xdc, 0xea, 0x70, 0xad, 0xfd, 0xa6, 0x29, 0x4e, 0x58, 0x05, + 0xfe, 0xdb, 0x64, 0x77, 0xac, 0x3c, 0x3f, 0xcd, 0xec, 0x98, 0x95, 0x3a, 0xf0, 0xb4, 0xb4, 0x1d, + 0x4a, 0x1a, 0xad, 0x5e, 0x59, 0xa3, 0xf5, 0x41, 0x97, 0xd1, 0x52, 0x48, 0x8d, 0xb4, 0xd1, 0x7c, + 0x55, 0x4f, 0x6d, 0xd0, 0x0c, 0x59, 0xd9, 0x32, 0xc2, 0x7d, 0x4f, 0x46, 0xa2, 0xda, 0x44, 0xc4, + 0xec, 0xfd, 0xcd, 0xbf, 0xaa, 0x99, 0x9b, 0xfc, 0x50, 0x17, 0x37, 0x49, 0xc8, 0xd3, 0xed, 0x12, + 0x4b, 0xa9, 0x9e, 0x87, 0x33, 0x85, 0xaf, 0xec, 0x87, 0xd1, 0x8b, 0x13, 0x79, 0x32, 0x18, 0xd8, + 0x55, 0x77, 0xa9, 0x6a, 0x82, 0xad, 0x62, 0x62, 0x8d, 0x27, 0x9f, 0x50, 0x94, 0x4f, 0xac, 0xac, + 0xc7, 0xea, 0x49, 0x49, 0x68, 0x34, 0x34, 0xba, 0x26, 0x8d, 0xa6, 0x65, 0xce, 0xdb, 0xa3, 0xd0, + 0x55, 0x1a, 0x61, 0xcd, 0x17, 0xa7, 0x7c, 0xe3, 0x2b, 0xe5, 0x11, 0x4e, 0x50, 0xd9, 0x6e, 0xaa, + 0x6c, 0xe5, 0x51, 0x4e, 0xe3, 0xcd, 0x68, 0x57, 0x4a, 0x74, 0x17, 0xee, 0x67, 0x5b, 0xe1, 0x64, + 0x6a, 0x7b, 0x2b, 0xc4, 0x14, 0x0f, 0xa0, 0x5b, 0x1d, 0xa9, 0x0c, 0xcb, 0x96, 0x67, 0xf7, 0x2a, + 0xc2, 0x84, 0xd3, 0x8f, 0x44, 0x9f, 0x52, 0x05, 0x76, 0xa4, 0xf0, 0xdd, 0x9b, 0x02, 0x2a, 0xec, + 0xf3, 0x8c, 0x0a, 0x5b, 0x5a, 0xf2, 0xcf, 0x8b, 0x95, 0x3b, 0x1b, 0x7e, 0xbd, 0xf2, 0xf1, 0x58, + 0x85, 0x57, 0x3e, 0x4a, 0x15, 0xda, 0x88, 0x19, 0xdd, 0xd3, 0x07, 0xa2, 0x81, 0xd4, 0xb2, 0x18, + 0x00, 0x15, 0x80, 0x0a, 0x40, 0xd5, 0x42, 0xa0, 0xd2, 0x8a, 0x4a, 0x3a, 0x6a, 0x61, 0x97, 0x70, + 0xc7, 0xaa, 0xea, 0x2a, 0xb1, 0x94, 0xc6, 0x2a, 0x22, 0x66, 0xaf, 0x2a, 0x4a, 0x12, 0x00, 0x63, + 0x11, 0x2c, 0x9e, 0x64, 0x60, 0x8b, 0xd9, 0xdd, 0x2b, 0xec, 0x41, 0x0e, 0xb8, 0x58, 0x82, 0x8a, + 0x9e, 0x09, 0x66, 0xb0, 0x93, 0x05, 0xcb, 0xeb, 0x52, 0x65, 0xe9, 0x2f, 0xde, 0x57, 0x6c, 0x20, + 0xbd, 0x3d, 0x27, 0x38, 0x46, 0xaf, 0xd3, 0xf9, 0xd5, 0x16, 0x3f, 0x7e, 0xbc, 0x1c, 0x5f, 0xac, + 0x46, 0x6a, 0x41, 0x8d, 0x1c, 0x54, 0x60, 0x03, 0x7b, 0xa8, 0x3d, 0x46, 0xed, 0x31, 0x99, 0x46, + 0x50, 0xeb, 0x67, 0x41, 0xea, 0x63, 0x81, 0x76, 0x4e, 0x3b, 0xe9, 0x93, 0xa3, 0x9d, 0xd3, 0x3a, + 0xa0, 0x36, 0xa1, 0x9d, 0x13, 0xa1, 0x8f, 0x04, 0xbd, 0x7f, 0x04, 0x34, 0x1e, 0x1a, 0x0f, 0x8d, + 0x37, 0x35, 0xd2, 0xad, 0xac, 0xd6, 0x38, 0xf7, 0x69, 0x44, 0x18, 0x55, 0x35, 0x39, 0x4b, 0x0a, + 0xa3, 0xca, 0x37, 0x4e, 0xe0, 0x09, 0xa3, 0xa2, 0x70, 0x94, 0xc8, 0x60, 0xb0, 0x78, 0x8e, 0xb5, + 0x72, 0x50, 0x55, 0x20, 0x03, 0xd9, 0x5b, 0x64, 0x6f, 0x4d, 0x08, 0xbb, 0xdc, 0x30, 0x4e, 0x6c, + 0xf7, 0x87, 0x13, 0x39, 0x6e, 0x22, 0x22, 0x19, 0x27, 0xd2, 0x55, 0xf7, 0xcb, 0x8a, 0x84, 0x75, + 0xa5, 0xf7, 0x26, 0x7a, 0x7e, 0x68, 0x56, 0x94, 0x7a, 0x9c, 0x36, 0xe5, 0x7e, 0x9c, 0xe9, 0xde, + 0x77, 0xfc, 0x41, 0x18, 0xc9, 0xe4, 0xc7, 0x13, 0xbd, 0x47, 0xde, 0x8a, 0x3c, 0xf4, 0xc9, 0x23, + 0xe7, 0x23, 0xb9, 0xd4, 0x8c, 0x5d, 0xdd, 0xd8, 0xd5, 0x6e, 0xbd, 0xfa, 0xa9, 0xe7, 0x2b, 0xd5, + 0xd4, 0x4f, 0x51, 0x0d, 0xe9, 0x31, 0x14, 0x5f, 0x2c, 0x45, 0x8c, 0xa9, 0xd4, 0xd7, 0x4d, 0xa5, + 0x4b, 0x67, 0x8a, 0x1a, 0x3c, 0x4d, 0x3a, 0xe7, 0xa2, 0x80, 0x3d, 0xc0, 0x1e, 0x60, 0x0f, 0xb0, + 0xa7, 0x0c, 0xf6, 0x30, 0xb5, 0x25, 0x5f, 0x90, 0x05, 0xf4, 0x01, 0xfa, 0x00, 0x7d, 0xba, 0x85, + 0x3e, 0x75, 0x74, 0x09, 0x56, 0xf5, 0x6f, 0xd0, 0x24, 0xd8, 0x32, 0xb3, 0x49, 0xf0, 0x66, 0x92, + 0x3a, 0xcf, 0xc1, 0xbe, 0xa7, 0xd3, 0x55, 0x16, 0x99, 0xce, 0xbe, 0x9d, 0xdc, 0xd6, 0x42, 0x67, + 0xe0, 0xd3, 0x30, 0x4e, 0x4e, 0x97, 0x6f, 0xca, 0x80, 0xb4, 0xad, 0x27, 0x9f, 0x45, 0x14, 0xcb, + 0xe4, 0xcd, 0x1e, 0x86, 0xbe, 0x74, 0x09, 0x33, 0xf8, 0x72, 0x92, 0xd0, 0x15, 0x18, 0x0c, 0x61, + 0xa7, 0xba, 0x02, 0x13, 0x35, 0xc0, 0x32, 0xbe, 0x25, 0x70, 0x95, 0xd9, 0x9e, 0xb1, 0x2d, 0x5e, + 0x5d, 0x7f, 0x14, 0xcb, 0x67, 0x42, 0x41, 0xc8, 0x92, 0x94, 0xaa, 0x8c, 0xaf, 0xe8, 0x3b, 0x23, + 0x7f, 0xb2, 0xff, 0xa2, 0x0e, 0xd5, 0x90, 0x01, 0x8e, 0x00, 0x47, 0xe9, 0x6e, 0xf8, 0x1e, 0x86, + 0xbe, 0x70, 0x02, 0x0a, 0x0a, 0xf5, 0x4c, 0x98, 0x0a, 0xea, 0x24, 0x22, 0x70, 0xdf, 0xd8, 0x92, + 0x99, 0x6b, 0xe4, 0x21, 0x9f, 0x09, 0x78, 0xe8, 0x42, 0x3e, 0xb3, 0x2f, 0x5f, 0x85, 0x67, 0x33, + 0x29, 0x55, 0x6e, 0x8b, 0x6d, 0x94, 0xde, 0x30, 0xe3, 0xf7, 0x01, 0x8c, 0x1f, 0x18, 0x3f, 0x30, + 0x7e, 0xc6, 0xe7, 0x1b, 0xfe, 0x96, 0x49, 0x22, 0x22, 0x76, 0x68, 0x2a, 0x16, 0x0b, 0x4c, 0x02, + 0x26, 0x01, 0x93, 0x80, 0x49, 0x5b, 0xee, 0xf1, 0x9f, 0x91, 0x90, 0xc1, 0x40, 0x9b, 0xdb, 0xb4, + 0x59, 0x3c, 0x32, 0xa5, 0xc0, 0x28, 0x60, 0x14, 0x30, 0x6a, 0xcb, 0x3d, 0x26, 0x91, 0xd3, 0xef, + 0x4b, 0xd7, 0x1e, 0x46, 0xe1, 0x50, 0x44, 0xc9, 0x1b, 0x53, 0xbd, 0x58, 0xb1, 0x58, 0x60, 0x12, + 0x30, 0x09, 0x98, 0x04, 0x4c, 0xda, 0x72, 0x8f, 0x2f, 0x4e, 0xe0, 0x69, 0x88, 0xe5, 0x8a, 0xc5, + 0x22, 0x96, 0x03, 0x26, 0x01, 0x93, 0xba, 0x85, 0x49, 0x75, 0x54, 0x94, 0x71, 0x78, 0x40, 0xa8, + 0x2e, 0xb3, 0x76, 0xa4, 0xba, 0x8c, 0x2d, 0x48, 0xe7, 0x2e, 0x30, 0xbb, 0x9c, 0xdc, 0x98, 0x79, + 0x35, 0x66, 0x4f, 0xce, 0xab, 0xed, 0xf8, 0x7e, 0xf8, 0x22, 0x3c, 0xdb, 0x0d, 0xe3, 0x44, 0x3d, + 0x77, 0x9b, 0x93, 0x84, 0xac, 0x6d, 0x6d, 0x26, 0x1d, 0x59, 0x5b, 0x3a, 0x9e, 0x29, 0x67, 0x6d, + 0x87, 0x91, 0x0c, 0x23, 0x99, 0xbc, 0xd1, 0x5d, 0xe7, 0x4c, 0x12, 0x22, 0x78, 0x36, 0xd5, 0x82, + 0xd7, 0xcc, 0xa1, 0x7a, 0x6d, 0xf7, 0x9e, 0x47, 0x32, 0x48, 0x3e, 0x1d, 0x32, 0x78, 0xcf, 0xc7, + 0x04, 0x11, 0xb7, 0x4e, 0x30, 0x18, 0xdf, 0xcd, 0x7f, 0x48, 0xaf, 0x97, 0xb6, 0x7d, 0x67, 0x1e, + 0x2b, 0x59, 0x0f, 0x98, 0x40, 0x27, 0x27, 0xee, 0xcf, 0xe9, 0x61, 0x36, 0x2e, 0x79, 0x5f, 0xc6, + 0x0e, 0x97, 0x0c, 0x83, 0x33, 0x39, 0x90, 0xa9, 0x6f, 0x7d, 0x40, 0x96, 0xfb, 0xeb, 0x1d, 0xc3, + 0x2b, 0x70, 0x5e, 0x8d, 0x7f, 0x05, 0xbd, 0xe3, 0xc3, 0xc3, 0x4f, 0x47, 0x87, 0x87, 0x07, 0x47, + 0xff, 0x3a, 0x3a, 0xf8, 0xf7, 0xc7, 0x8f, 0xbd, 0x4f, 0xbd, 0x8f, 0x06, 0xbf, 0x95, 0xbd, 0x66, + 0xbe, 0xfd, 0x60, 0x30, 0xc5, 0xc7, 0x74, 0x32, 0x14, 0x87, 0x42, 0xe1, 0x94, 0xc0, 0x29, 0x81, + 0x53, 0x02, 0xa7, 0x04, 0x4e, 0x09, 0x9c, 0x12, 0x38, 0x25, 0x75, 0x51, 0x32, 0x26, 0x52, 0xcc, + 0x44, 0x9a, 0xd3, 0xd2, 0x40, 0x2e, 0x7f, 0x75, 0x5e, 0x4f, 0x26, 0x77, 0x74, 0x3a, 0xbe, 0x21, + 0xc3, 0x58, 0x65, 0x4f, 0xf8, 0xce, 0x1b, 0x0f, 0xad, 0x3c, 0x11, 0x05, 0x5e, 0xb9, 0x36, 0xff, + 0x12, 0xbc, 0x32, 0x1d, 0xc4, 0xc0, 0x2b, 0x23, 0x84, 0x43, 0x08, 0x87, 0x10, 0x0e, 0x21, 0x1c, + 0x42, 0x38, 0x84, 0x70, 0x08, 0xe1, 0x8c, 0x0b, 0xe1, 0xc0, 0x2b, 0xc3, 0x29, 0x81, 0x53, 0x02, + 0xa7, 0x04, 0x4e, 0x09, 0x9c, 0x12, 0x38, 0x25, 0x70, 0x4a, 0x8c, 0x70, 0x4a, 0x3a, 0xcd, 0x2b, + 0xab, 0xf0, 0x9c, 0x96, 0x56, 0x62, 0xf9, 0x2c, 0xbd, 0x23, 0xc3, 0x98, 0xe5, 0x1f, 0xe1, 0x30, + 0xe6, 0x21, 0x96, 0x53, 0x49, 0xe0, 0x95, 0x6b, 0xf3, 0x2f, 0xc1, 0x2b, 0xd3, 0x41, 0x0c, 0xbc, + 0x32, 0x42, 0x38, 0x84, 0x70, 0x08, 0xe1, 0x10, 0xc2, 0x21, 0x84, 0x43, 0x08, 0x87, 0x10, 0xce, + 0xb8, 0x10, 0x0e, 0xbc, 0x32, 0x9c, 0x12, 0x38, 0x25, 0x70, 0x4a, 0xe0, 0x94, 0xc0, 0x29, 0x81, + 0x53, 0x02, 0xa7, 0xc4, 0x08, 0xa7, 0xa4, 0xd3, 0xbc, 0xb2, 0x02, 0xcd, 0x69, 0x69, 0xa5, 0x95, + 0xff, 0x18, 0xdf, 0x90, 0x01, 0xac, 0x72, 0x24, 0xe3, 0x9f, 0xf6, 0x7c, 0x44, 0x0c, 0xd7, 0x38, + 0x83, 0xcd, 0x62, 0xc1, 0x37, 0xd7, 0xe6, 0x77, 0x82, 0x6f, 0xa6, 0x83, 0x9b, 0x32, 0xdf, 0x9c, + 0x6a, 0xc1, 0xf2, 0xde, 0x67, 0x6a, 0x7f, 0xb9, 0x56, 0x32, 0x42, 0x3f, 0x74, 0x9b, 0x63, 0x50, + 0x49, 0x74, 0x9b, 0xdb, 0xed, 0x0e, 0x98, 0x29, 0x7e, 0x48, 0x4f, 0x04, 0x89, 0xec, 0x4b, 0x11, + 0xd9, 0xbe, 0x54, 0x68, 0x80, 0x55, 0x8c, 0x4a, 0xab, 0x52, 0x81, 0x48, 0x40, 0x24, 0x20, 0x52, + 0x9b, 0x11, 0x49, 0x71, 0x05, 0x48, 0xbd, 0x25, 0x17, 0xc9, 0xa6, 0x85, 0xf6, 0x90, 0xc4, 0x7d, + 0x3f, 0x5b, 0xd2, 0x1e, 0x75, 0xbf, 0x33, 0x29, 0xe2, 0xaa, 0x32, 0x3e, 0xc9, 0xc0, 0x16, 0xb3, + 0xa7, 0x65, 0xa0, 0x89, 0xb8, 0xd5, 0x32, 0xa7, 0x9a, 0xbd, 0xfd, 0x86, 0x68, 0x13, 0x02, 0x89, + 0xc6, 0xd2, 0x71, 0x34, 0x13, 0x46, 0xea, 0x3c, 0x6a, 0x2a, 0x9d, 0x33, 0x6d, 0x31, 0xcb, 0x14, + 0x65, 0xa0, 0xcb, 0xec, 0xae, 0x50, 0x6a, 0x9c, 0xb4, 0x8e, 0x0e, 0x7e, 0xed, 0x56, 0xc6, 0x3f, + 0xcf, 0x66, 0xb7, 0x67, 0x5e, 0xcb, 0xd9, 0xf1, 0x8a, 0x0a, 0x3b, 0xfc, 0xfe, 0xb7, 0x70, 0x13, + 0xf9, 0x2c, 0xec, 0xfe, 0x28, 0x70, 0x95, 0x5e, 0xf0, 0xdc, 0xe3, 0x5e, 0x27, 0x11, 0x73, 0x85, + 0x41, 0xb1, 0x75, 0x6a, 0xae, 0x30, 0x93, 0x26, 0x58, 0xbb, 0x34, 0xee, 0x3c, 0x09, 0x7d, 0x11, + 0x39, 0xdf, 0x7d, 0x61, 0xcb, 0xa7, 0xa1, 0xe3, 0x12, 0x5a, 0x5c, 0xe7, 0x24, 0x01, 0x5f, 0x80, + 0x2f, 0x9d, 0xc2, 0x97, 0x41, 0xe4, 0x78, 0x22, 0xb6, 0xc3, 0xbe, 0x9a, 0x06, 0x2c, 0xe1, 0x8a, + 0x42, 0x1a, 0x7c, 0xff, 0x22, 0xa5, 0xd5, 0x92, 0xb7, 0xdf, 0x9c, 0x98, 0x21, 0x7f, 0xf0, 0xfb, + 0xed, 0xc9, 0xd9, 0xf9, 0xdd, 0xe3, 0xf5, 0x97, 0xc7, 0x8b, 0xaf, 0x37, 0x27, 0xa7, 0xf7, 0xaa, + 0x3b, 0x2a, 0xcd, 0xf5, 0xc7, 0xa4, 0xa2, 0x14, 0xa6, 0x90, 0x7e, 0xf5, 0x89, 0x1e, 0xbf, 0x9e, + 0xfc, 0xcf, 0xf5, 0xed, 0xec, 0xf1, 0x9a, 0x88, 0x33, 0x75, 0x3d, 0xd8, 0xe5, 0xf5, 0xd5, 0xef, + 0xbb, 0xf8, 0x5c, 0x7f, 0x5c, 0xdc, 0x5f, 0x9e, 0xdf, 0xdd, 0xed, 0xd4, 0x33, 0x7d, 0xbd, 0xb8, + 0xe2, 0xd8, 0x84, 0x4a, 0xdf, 0x7c, 0xd0, 0x8d, 0xc1, 0x7b, 0xbc, 0x7f, 0x59, 0xf2, 0xf5, 0xa9, + 0x06, 0xc6, 0x3a, 0x02, 0xe2, 0x0a, 0xb0, 0xc9, 0x1c, 0xea, 0x96, 0xdb, 0x4c, 0xdb, 0x17, 0xbe, + 0xc4, 0xa2, 0xef, 0x8f, 0x46, 0xd2, 0x2b, 0xbd, 0xd4, 0xf3, 0x9a, 0xc9, 0xf1, 0xb7, 0x4a, 0xbe, + 0xd2, 0x6a, 0xee, 0x61, 0x65, 0xb7, 0x50, 0xc5, 0x1d, 0x5c, 0x76, 0x03, 0x27, 0xfb, 0xa4, 0xca, + 0xeb, 0x56, 0x74, 0xfa, 0xc8, 0xce, 0x1e, 0xd9, 0xc9, 0xcb, 0x3b, 0x77, 0xd3, 0x87, 0x6f, 0x48, + 0xdd, 0x2b, 0xbb, 0x6e, 0x2a, 0x3b, 0xd0, 0xaa, 0x9e, 0x26, 0x29, 0xa1, 0x5b, 0x7b, 0x84, 0xe7, + 0x9f, 0x71, 0xb0, 0x25, 0x1e, 0xa2, 0x1a, 0xbf, 0xaa, 0xc4, 0xa7, 0x2a, 0xf1, 0xa7, 0xd5, 0xf8, + 0xd2, 0x6d, 0xeb, 0x51, 0x11, 0xf6, 0xc9, 0x70, 0x5f, 0x62, 0xe7, 0x90, 0x30, 0x7d, 0xb3, 0x3e, + 0xad, 0xdf, 0x3b, 0x1b, 0xd6, 0x69, 0x3f, 0x7b, 0x20, 0x3b, 0x16, 0xd1, 0xb3, 0x2c, 0x81, 0x3f, + 0xf3, 0x13, 0xad, 0xb9, 0xaf, 0x6e, 0xdb, 0x9f, 0xa5, 0xaa, 0xf2, 0x4a, 0x63, 0x75, 0x15, 0x8c, + 0x26, 0x87, 0xe8, 0x55, 0xd1, 0x59, 0x19, 0x95, 0x95, 0xd1, 0x98, 0x23, 0xc4, 0xa6, 0xe1, 0x4f, + 0xd9, 0xaa, 0xb7, 0x7d, 0x4f, 0x46, 0xa2, 0x1a, 0x8d, 0x9d, 0xbd, 0xbf, 0xf9, 0x57, 0x77, 0xc5, + 0x51, 0x20, 0xf0, 0x45, 0xbb, 0xe4, 0x32, 0xa8, 0xf3, 0x41, 0xa6, 0x38, 0x0f, 0xfd, 0x30, 0x7a, + 0x71, 0x22, 0x6f, 0xec, 0xef, 0x57, 0xdd, 0xa5, 0xaa, 0x1c, 0x72, 0x45, 0xee, 0x98, 0xc7, 0xb9, + 0x17, 0x81, 0x67, 0x0f, 0x43, 0x19, 0x24, 0xd5, 0xb5, 0x77, 0xfe, 0xd5, 0x6a, 0xda, 0xdb, 0x83, + 0xf6, 0x42, 0x7b, 0xcb, 0xdc, 0x58, 0xd5, 0xc2, 0xeb, 0x7d, 0xd7, 0x19, 0x3a, 0xae, 0x4a, 0x83, + 0x8f, 0x6c, 0x1b, 0x64, 0x12, 0x70, 0x46, 0xc1, 0xd2, 0xbd, 0xf5, 0xd9, 0x54, 0x80, 0x4d, 0x15, + 0x74, 0xa8, 0x84, 0x22, 0xb9, 0x56, 0xd7, 0x19, 0x85, 0x24, 0x4c, 0x1c, 0xdf, 0x8e, 0xe5, 0x7f, + 0x19, 0xb2, 0x0a, 0x0b, 0xb2, 0x68, 0x55, 0xbf, 0xbd, 0x9d, 0xa9, 0xfa, 0xad, 0x4c, 0x1c, 0x71, + 0x2b, 0x17, 0xbb, 0x92, 0xb1, 0x2b, 0x1b, 0x1f, 0xf1, 0xc4, 0xc3, 0x9b, 0xab, 0xd6, 0xbb, 0xaa, + 0xaa, 0xe0, 0x9c, 0x67, 0x0d, 0x64, 0xc2, 0x57, 0xe3, 0x9a, 0x4a, 0x23, 0xbe, 0x11, 0x9e, 0x93, + 0xc1, 0x64, 0xb5, 0xe4, 0x54, 0x4f, 0x4d, 0x6a, 0xca, 0xad, 0xae, 0xda, 0xd4, 0x56, 0x9b, 0xfa, + 0xea, 0x53, 0x63, 0x9a, 0x3a, 0x13, 0xd5, 0x5a, 0x3d, 0x94, 0x2c, 0xed, 0x6b, 0xda, 0x0c, 0xaa, + 0x6a, 0x11, 0xeb, 0x96, 0x88, 0xb1, 0x28, 0xff, 0x2b, 0xa3, 0x14, 0x78, 0xd3, 0x9a, 0xe9, 0xe4, + 0xde, 0x13, 0xa5, 0xa9, 0x0e, 0xa0, 0x14, 0x50, 0x0a, 0x28, 0xd5, 0x0e, 0xa5, 0xe4, 0x06, 0x3d, + 0xab, 0x7a, 0x7a, 0xcc, 0x20, 0x8a, 0xa7, 0x61, 0xcf, 0xec, 0x87, 0x47, 0x09, 0x2c, 0xee, 0x06, + 0x3e, 0xcc, 0x00, 0x97, 0x13, 0xcb, 0xdc, 0xd0, 0x27, 0x93, 0xab, 0xa1, 0x85, 0x0c, 0x93, 0x7a, + 0x2c, 0xbf, 0x2a, 0xc6, 0x46, 0x3f, 0x75, 0xbd, 0x2a, 0x7d, 0x8d, 0x7f, 0x6a, 0x79, 0x7b, 0x7b, + 0x66, 0x48, 0x79, 0x68, 0xca, 0xf1, 0xaa, 0x35, 0x68, 0x26, 0x9e, 0x72, 0xca, 0xe4, 0x50, 0xb3, + 0xfd, 0x4b, 0xa9, 0xef, 0xf7, 0x59, 0x66, 0xe3, 0xfd, 0xcc, 0x47, 0x7f, 0x4f, 0xe6, 0xb6, 0x2c, + 0x6a, 0xc1, 0xc0, 0xf8, 0xe3, 0xbb, 0xc9, 0x0d, 0x3e, 0x9e, 0x07, 0xde, 0xcd, 0xf8, 0xfe, 0x1e, + 0x4f, 0xa7, 0xf7, 0xf7, 0x78, 0x3f, 0xbe, 0xbf, 0xbb, 0xf1, 0xed, 0xa1, 0xa1, 0x54, 0x0d, 0xfb, + 0xa1, 0xee, 0xc3, 0x6e, 0x1b, 0x5f, 0xbe, 0x09, 0x67, 0xdb, 0xaa, 0x57, 0x01, 0xe4, 0x9c, 0x38, + 0x95, 0x3c, 0xab, 0x85, 0xd3, 0x25, 0x48, 0xbe, 0x34, 0x0d, 0x56, 0xf4, 0xd3, 0x25, 0xc3, 0x30, + 0x4a, 0x6c, 0xd5, 0xfd, 0x6f, 0xed, 0xd2, 0x99, 0x35, 0xdf, 0x79, 0x13, 0x91, 0x3d, 0x8c, 0xc2, + 0x24, 0x74, 0x43, 0x5f, 0xad, 0x5d, 0x56, 0xb6, 0xac, 0x45, 0xc2, 0x80, 0x2d, 0xc0, 0x96, 0x4e, + 0x61, 0x0b, 0x5d, 0x09, 0x76, 0x19, 0x60, 0xfe, 0x19, 0x39, 0x7e, 0xda, 0xad, 0x8a, 0x0d, 0x65, + 0xe6, 0x12, 0x01, 0x35, 0x80, 0x9a, 0x2e, 0x43, 0x8d, 0xaa, 0x26, 0x58, 0x66, 0x1d, 0x96, 0xbd, + 0x3c, 0xf9, 0xeb, 0xfc, 0xf6, 0xf1, 0xe6, 0xf6, 0xfa, 0xfe, 0xfa, 0xf4, 0xfa, 0xf2, 0xf1, 0x7f, + 0xbf, 0x9d, 0x5c, 0x5e, 0x7c, 0xb9, 0x38, 0xbf, 0x6d, 0xff, 0xa1, 0xd9, 0x75, 0x4f, 0xf6, 0xf8, + 0xed, 0xea, 0xee, 0xe6, 0xfc, 0x74, 0xfc, 0xff, 0x67, 0x1d, 0x3e, 0xb6, 0x58, 0xc5, 0xaa, 0x84, + 0xae, 0xe3, 0xdb, 0x15, 0xce, 0xc9, 0xe5, 0x75, 0x67, 0x26, 0xa1, 0x2b, 0x56, 0x43, 0x39, 0x51, + 0xd8, 0x05, 0x5b, 0xa1, 0x9a, 0xe8, 0x33, 0xdd, 0x42, 0x28, 0x37, 0x33, 0x54, 0x6c, 0x62, 0xa8, + 0x47, 0xdb, 0x69, 0x51, 0x29, 0x21, 0x0c, 0xed, 0x41, 0xcb, 0xa1, 0xe5, 0xc6, 0xd6, 0x12, 0x63, + 0x88, 0x15, 0x2a, 0x88, 0x9b, 0x50, 0x2c, 0x7e, 0x05, 0xa3, 0xb9, 0xb0, 0xe8, 0x19, 0x5c, 0xe3, + 0xd0, 0x3c, 0xa6, 0x89, 0x0a, 0x0b, 0xb2, 0x80, 0x3c, 0x40, 0x1e, 0x20, 0x4f, 0x77, 0x90, 0xa7, + 0x8e, 0x56, 0xca, 0xca, 0xf0, 0x82, 0xe6, 0xc9, 0xd6, 0x0e, 0x95, 0x8f, 0xa8, 0x26, 0x5f, 0xd8, + 0x4b, 0x47, 0x52, 0x75, 0x35, 0xa2, 0x25, 0xb2, 0x2f, 0x28, 0xed, 0x8f, 0x7d, 0x24, 0x74, 0x11, + 0x53, 0x77, 0xb1, 0x58, 0x44, 0x61, 0xeb, 0x5b, 0xbb, 0x94, 0xc6, 0x9d, 0x62, 0xab, 0x2d, 0x83, + 0x44, 0x44, 0x7d, 0xc7, 0x15, 0x15, 0xbb, 0x58, 0xe4, 0x1d, 0x97, 0x35, 0x02, 0xd1, 0x08, 0x00, + 0xf0, 0xd2, 0x85, 0x46, 0x00, 0x6b, 0xf6, 0xbf, 0x5d, 0xa9, 0xfb, 0x63, 0x55, 0xed, 0xb2, 0x2b, + 0xf6, 0xe8, 0x43, 0xc0, 0x8d, 0x80, 0x1b, 0x01, 0xf7, 0xd2, 0xce, 0xf1, 0x85, 0xd3, 0x8f, 0x44, + 0x9f, 0x23, 0xe2, 0x3e, 0x22, 0xc8, 0xb8, 0x29, 0x88, 0x95, 0x3e, 0xcf, 0x42, 0xa2, 0xc5, 0xcf, + 0xd6, 0x20, 0xc1, 0xd2, 0xdf, 0xa4, 0xa8, 0x80, 0x73, 0x0c, 0x1a, 0x03, 0x51, 0x1e, 0x6f, 0x47, + 0x4f, 0x6c, 0x3a, 0xfd, 0xe0, 0x62, 0x76, 0x6b, 0xe9, 0xa7, 0xfb, 0xad, 0xe8, 0x4d, 0x3d, 0x65, + 0x7b, 0x2a, 0xd6, 0x72, 0xa8, 0x71, 0x3c, 0xa4, 0xd1, 0x78, 0x19, 0x7c, 0x7c, 0xa8, 0xea, 0xe0, + 0x12, 0x4c, 0x0c, 0xe3, 0xa8, 0x3b, 0x16, 0x83, 0xb2, 0x64, 0x44, 0x3e, 0x98, 0x40, 0x87, 0x2c, + 0x33, 0x6d, 0x6d, 0x7b, 0xa5, 0xce, 0x2b, 0x5e, 0x29, 0x0f, 0xef, 0x69, 0x7a, 0x2f, 0xfc, 0x35, + 0x66, 0xa5, 0xae, 0x7e, 0xf8, 0x45, 0x66, 0xa3, 0xce, 0x8e, 0xf8, 0x94, 0x43, 0x2a, 0x0c, 0x75, + 0xf9, 0x68, 0x83, 0xab, 0x23, 0x66, 0x41, 0x1b, 0x5c, 0xd6, 0x4d, 0x6a, 0xb5, 0xa9, 0x0b, 0xae, + 0x9a, 0x06, 0x2b, 0xa8, 0x6c, 0x0f, 0x23, 0x2e, 0x30, 0xe2, 0x82, 0xca, 0xd9, 0x29, 0x16, 0xda, + 0x91, 0x0a, 0xec, 0x50, 0x67, 0xbe, 0x93, 0x74, 0x36, 0xea, 0xcc, 0xd7, 0x01, 0xb5, 0x09, 0x75, + 0xe6, 0x84, 0x02, 0x37, 0x7a, 0x61, 0x1b, 0x34, 0x1e, 0x1a, 0x0f, 0x8d, 0x37, 0x95, 0x62, 0xac, + 0xac, 0xd6, 0x2c, 0x24, 0x63, 0xb5, 0xda, 0x2f, 0x52, 0xe1, 0x58, 0x17, 0x88, 0x93, 0xaa, 0xe1, + 0x14, 0x17, 0x67, 0x52, 0xbe, 0xfa, 0x8b, 0x27, 0xbc, 0x22, 0x8c, 0xbc, 0xcf, 0xf4, 0x5b, 0x79, + 0xb4, 0x37, 0xc6, 0x8e, 0x80, 0x2d, 0xd1, 0x1b, 0x8e, 0x7d, 0x77, 0x02, 0xef, 0x45, 0x7a, 0xc9, + 0x0f, 0x3b, 0x1c, 0x26, 0xf2, 0x49, 0xfe, 0xd7, 0xa1, 0x35, 0xc2, 0x5a, 0x23, 0xaf, 0x66, 0xf7, + 0xed, 0x03, 0x2a, 0x91, 0x50, 0x89, 0xd4, 0xa8, 0x4b, 0x37, 0x6d, 0x88, 0xf5, 0x2c, 0x6c, 0xd5, + 0x23, 0x81, 0x3b, 0x53, 0xee, 0xe8, 0x86, 0x81, 0x3b, 0x8a, 0x22, 0x11, 0x24, 0xe9, 0x7b, 0x27, + 0x64, 0x07, 0x73, 0x92, 0x00, 0x2b, 0x80, 0x15, 0xc0, 0x4a, 0x57, 0x61, 0x25, 0x4e, 0x98, 0x9c, + 0x96, 0xbc, 0x28, 0x00, 0x0b, 0x80, 0x05, 0xc0, 0xd2, 0x4d, 0x60, 0xf1, 0x65, 0xf0, 0xd3, 0x1e, + 0x25, 0xd2, 0x27, 0xe3, 0x4a, 0x4e, 0x12, 0x60, 0x05, 0xb0, 0x02, 0x58, 0xe9, 0x28, 0xac, 0xa0, + 0xcd, 0x5a, 0x55, 0x18, 0x41, 0x32, 0x6c, 0x03, 0x78, 0x20, 0x19, 0xb6, 0x0e, 0x29, 0xd0, 0x66, + 0x0d, 0x5a, 0x0e, 0x2d, 0xd7, 0xa9, 0xe5, 0x68, 0xb3, 0x86, 0xb3, 0x97, 0x3a, 0x15, 0x8a, 0x5d, + 0xb1, 0xf8, 0x15, 0x4c, 0x4d, 0xd1, 0x14, 0x15, 0x8e, 0x6e, 0x5e, 0xf9, 0xcc, 0x2c, 0xd1, 0xdc, + 0xaa, 0xaf, 0x1b, 0xda, 0xac, 0x01, 0x79, 0x80, 0x3c, 0x40, 0x1e, 0xb4, 0x59, 0x5b, 0x11, 0x80, + 0x36, 0x6b, 0xad, 0x3f, 0xdd, 0x9e, 0xaf, 0x10, 0x6b, 0xbc, 0xdf, 0xda, 0xf5, 0xec, 0x96, 0xbe, + 0x4c, 0xef, 0xc8, 0x9c, 0xc6, 0x6b, 0x22, 0x4e, 0xad, 0x86, 0x1d, 0xff, 0x70, 0x52, 0x28, 0x51, + 0x6f, 0xc2, 0xb6, 0x2a, 0x09, 0x04, 0x3d, 0xa2, 0x6f, 0x10, 0xf4, 0x6a, 0xd6, 0xd8, 0x48, 0x82, + 0x7e, 0x07, 0x2b, 0xaf, 0x95, 0xab, 0x89, 0xf5, 0x9a, 0x87, 0x5a, 0x8b, 0xb2, 0x17, 0x6a, 0x35, + 0xc6, 0x2b, 0x15, 0x27, 0x91, 0x53, 0xa5, 0x83, 0xde, 0xbc, 0x32, 0x7b, 0x8d, 0x20, 0x94, 0x67, + 0xa3, 0x3c, 0x5b, 0x03, 0x80, 0x54, 0x2e, 0xcf, 0x46, 0xd2, 0xb0, 0x3e, 0x4e, 0x02, 0xe9, 0x84, + 0xf6, 0xba, 0x31, 0x48, 0x1a, 0x22, 0x69, 0x08, 0x2d, 0x47, 0xd2, 0x70, 0xd3, 0xbe, 0x41, 0xd2, + 0x10, 0xd4, 0xbd, 0xd5, 0xac, 0x82, 0xa9, 0x53, 0xd0, 0x16, 0xa8, 0x7b, 0x24, 0x0d, 0x81, 0x3c, + 0x40, 0x1e, 0x20, 0x4f, 0x5b, 0x90, 0x07, 0x49, 0xc3, 0x6d, 0x42, 0x90, 0x34, 0xa4, 0x11, 0xc1, + 0xc5, 0xe4, 0x65, 0xf3, 0x99, 0xc3, 0x85, 0xfb, 0x3a, 0xcd, 0x6e, 0xcb, 0x98, 0xf4, 0x61, 0x12, + 0x39, 0xfd, 0xbe, 0x74, 0x27, 0xfd, 0xc3, 0xa3, 0xd1, 0x90, 0x76, 0xc6, 0xa7, 0x50, 0x1a, 0xd2, + 0x88, 0x88, 0xc7, 0x91, 0x46, 0x54, 0xb3, 0xcf, 0x48, 0x23, 0x36, 0x6a, 0x3d, 0x1a, 0xc9, 0x25, + 0x16, 0x1a, 0x8c, 0x3a, 0x13, 0x8a, 0xd3, 0x45, 0xad, 0x98, 0x3d, 0x4c, 0xbf, 0xa5, 0x39, 0x55, + 0xf8, 0x01, 0xa9, 0x42, 0x8d, 0x98, 0xbd, 0x43, 0xa9, 0xc2, 0xf4, 0xc6, 0x95, 0x26, 0x5e, 0x2d, + 0xed, 0x67, 0x95, 0xb1, 0x56, 0x18, 0x4c, 0x09, 0x07, 0xa6, 0xe5, 0x0e, 0x8c, 0xfa, 0x28, 0x2a, + 0xca, 0x08, 0xaa, 0x12, 0xa3, 0xa7, 0x56, 0x97, 0xfe, 0xf3, 0x5a, 0x13, 0xbf, 0xfe, 0xcf, 0xd7, + 0xfc, 0xaa, 0xfa, 0xa8, 0xaa, 0x86, 0x1b, 0x87, 0x56, 0xc5, 0xa7, 0x26, 0x87, 0x13, 0xf5, 0x30, + 0x9c, 0x68, 0x02, 0x20, 0x3d, 0xf3, 0x86, 0x13, 0xa1, 0x9b, 0xeb, 0x6a, 0x30, 0x50, 0xc1, 0x93, + 0x65, 0xf5, 0xfc, 0x53, 0xfc, 0xab, 0xd1, 0xcf, 0x8f, 0xc2, 0x51, 0x22, 0x83, 0x01, 0xa9, 0x66, + 0xb0, 0x40, 0x06, 0xca, 0x05, 0x11, 0x03, 0x98, 0x10, 0x03, 0xa4, 0x8d, 0xcc, 0xdc, 0x1f, 0x4e, + 0xe4, 0xb8, 0x89, 0x88, 0x64, 0x9c, 0x48, 0x97, 0xd8, 0x15, 0x6d, 0x45, 0x18, 0x26, 0x4a, 0x23, + 0x2e, 0xe8, 0xc2, 0x44, 0xe9, 0x74, 0xef, 0x3b, 0xfe, 0x20, 0x8c, 0x64, 0xf2, 0xe3, 0x89, 0x5e, + 0x06, 0xb0, 0x22, 0x0f, 0xa5, 0x00, 0x93, 0xfd, 0x93, 0x84, 0xc3, 0xd0, 0x0f, 0x07, 0x6f, 0x28, + 0x06, 0x50, 0x52, 0xbf, 0x6c, 0xf9, 0x50, 0x0e, 0xa0, 0x1c, 0xb5, 0x9b, 0x5c, 0x88, 0x94, 0xa2, + 0x06, 0x4f, 0x1d, 0xd2, 0x5c, 0x14, 0xb0, 0x07, 0xd8, 0x03, 0xec, 0x01, 0xf6, 0x94, 0xc1, 0x1e, + 0xa6, 0xca, 0xeb, 0x05, 0x59, 0x40, 0x1f, 0xa0, 0x0f, 0xd0, 0xa7, 0x5b, 0xe8, 0x53, 0x47, 0x21, + 0xa4, 0xaa, 0x7f, 0x83, 0x3a, 0x48, 0xab, 0xf5, 0x75, 0x90, 0x79, 0x42, 0xf6, 0x3d, 0x9d, 0xbb, + 0xb2, 0x38, 0x69, 0xee, 0xdb, 0xc9, 0x1d, 0x2e, 0x14, 0x43, 0x9e, 0x86, 0x71, 0x72, 0xba, 0x7c, + 0x7f, 0x06, 0xa4, 0x49, 0x3c, 0xf9, 0x2c, 0xa2, 0x58, 0x26, 0x6f, 0xf6, 0x30, 0xf4, 0xa5, 0xfb, + 0xa6, 0x4e, 0x1e, 0xe6, 0x24, 0xa1, 0xa2, 0x00, 0xcc, 0x61, 0xc7, 0x4a, 0x22, 0x49, 0x1a, 0x60, + 0xed, 0x52, 0xef, 0x73, 0x19, 0xdb, 0xe2, 0xd5, 0xf5, 0x47, 0xb1, 0x7c, 0x26, 0x1c, 0x70, 0x5e, + 0x92, 0x52, 0x95, 0x09, 0x16, 0x7d, 0x67, 0xe4, 0x4f, 0xf6, 0x5f, 0xd4, 0xa1, 0x09, 0xe2, 0x80, + 0x23, 0xc0, 0xd1, 0x64, 0x30, 0x63, 0x18, 0xfa, 0xc2, 0x09, 0x28, 0x28, 0xd4, 0x33, 0x61, 0x8a, + 0x82, 0x93, 0x88, 0xc0, 0x7d, 0x63, 0x4b, 0x72, 0xae, 0x91, 0x87, 0x3c, 0x27, 0xe0, 0xa1, 0x0b, + 0x79, 0xce, 0xbe, 0x7c, 0x15, 0x9e, 0xcd, 0xa4, 0x54, 0xb9, 0x2d, 0xb6, 0x51, 0x7a, 0xc3, 0x4c, + 0xe0, 0x07, 0x30, 0x81, 0x60, 0x02, 0xc1, 0x04, 0x1a, 0x9f, 0x87, 0xf8, 0x5b, 0x26, 0x89, 0x88, + 0xd8, 0xa1, 0xa9, 0x58, 0x2c, 0x30, 0x09, 0x98, 0x04, 0x4c, 0x02, 0x26, 0x6d, 0xb9, 0xc7, 0x7f, + 0x46, 0x42, 0x06, 0x03, 0x6d, 0x6e, 0xd3, 0x66, 0xf1, 0xc8, 0xa0, 0x02, 0xa3, 0x80, 0x51, 0xc0, + 0xa8, 0x2d, 0xf7, 0x38, 0xeb, 0x4b, 0x31, 0x8c, 0xc2, 0xa1, 0x88, 0x92, 0x37, 0xa6, 0x3a, 0xb2, + 0x62, 0xb1, 0xc0, 0x24, 0x60, 0x12, 0x30, 0x09, 0x98, 0xb4, 0xe5, 0x1e, 0x5f, 0x9c, 0xc0, 0xd3, + 0x10, 0xcb, 0x15, 0x8b, 0x45, 0x2c, 0x07, 0x4c, 0x02, 0x26, 0x75, 0x0b, 0x93, 0xea, 0xa8, 0x34, + 0xe3, 0xf0, 0x80, 0x50, 0x75, 0x66, 0xed, 0x62, 0xd5, 0x19, 0x5b, 0xc4, 0xae, 0xb1, 0xf0, 0xec, + 0x72, 0x72, 0x8f, 0xe6, 0xd5, 0x9e, 0x3d, 0x39, 0xaf, 0xb6, 0xe3, 0xfb, 0xe1, 0x8b, 0xf0, 0x6c, + 0x37, 0x8c, 0x13, 0xf5, 0x9c, 0x6e, 0x4e, 0x12, 0xb2, 0xb9, 0xb5, 0x99, 0x7a, 0x64, 0x73, 0xe9, + 0x38, 0xa7, 0x9c, 0xcd, 0x1d, 0x46, 0x32, 0x8c, 0x64, 0xf2, 0x46, 0x77, 0xa9, 0x33, 0x49, 0x88, + 0xec, 0xd9, 0x54, 0x0b, 0xde, 0x34, 0x87, 0xea, 0xb5, 0xdd, 0xab, 0x1e, 0xc9, 0x20, 0xf9, 0x74, + 0xc8, 0xe0, 0x55, 0x1f, 0x13, 0x44, 0xdc, 0x3a, 0xc1, 0x60, 0x7c, 0x37, 0xff, 0x21, 0xbd, 0x5e, + 0xda, 0xf6, 0x9d, 0x79, 0xb2, 0x64, 0x3d, 0x60, 0x02, 0x9d, 0x9c, 0xb8, 0x3f, 0xa7, 0x87, 0xdf, + 0xb8, 0xe4, 0x7d, 0x19, 0x3b, 0x5c, 0x32, 0x0c, 0xce, 0xe4, 0x40, 0xa6, 0x3e, 0xf7, 0x01, 0x59, + 0xee, 0xaf, 0x77, 0x0c, 0xaf, 0xc0, 0x79, 0x35, 0xfe, 0x15, 0xf4, 0x8e, 0x0f, 0x0f, 0x3f, 0x1d, + 0x1d, 0x1e, 0x1e, 0x1c, 0xfd, 0xeb, 0xe8, 0xe0, 0xdf, 0x1f, 0x3f, 0xf6, 0x3e, 0xf5, 0x3e, 0x1a, + 0xfc, 0x56, 0xf6, 0x9a, 0xf9, 0xf6, 0x83, 0xe9, 0x33, 0x35, 0x30, 0xc3, 0x07, 0x4e, 0x09, 0x9c, + 0x12, 0x38, 0x25, 0x70, 0x4a, 0xe0, 0x94, 0xc0, 0x29, 0x81, 0x53, 0xc2, 0xea, 0x94, 0x74, 0x9b, + 0x7a, 0x26, 0x72, 0x9e, 0x96, 0x5e, 0xd2, 0xf9, 0xab, 0xf3, 0x7a, 0x32, 0xb9, 0xb9, 0xd3, 0xf1, + 0xbd, 0x19, 0xc6, 0x36, 0x7b, 0xc2, 0x77, 0xde, 0x78, 0xe8, 0xe6, 0x89, 0x28, 0xf0, 0xcd, 0xb5, + 0xf9, 0x9d, 0xe0, 0x9b, 0xe9, 0xe0, 0x06, 0xbe, 0x19, 0xa1, 0x1d, 0x42, 0x3b, 0x84, 0x76, 0x08, + 0xed, 0x10, 0xda, 0x21, 0xb4, 0x43, 0x68, 0x67, 0x5c, 0x68, 0x07, 0xbe, 0x19, 0x4e, 0x09, 0x9c, + 0x12, 0x38, 0x25, 0x70, 0x4a, 0xe0, 0x94, 0xc0, 0x29, 0x81, 0x53, 0x62, 0x84, 0x53, 0x02, 0xbe, + 0x99, 0x42, 0x7a, 0x5a, 0x75, 0x11, 0xce, 0x67, 0xe9, 0xcd, 0x19, 0xc6, 0x38, 0xff, 0x08, 0x87, + 0x31, 0x0f, 0xe1, 0x9c, 0x4a, 0x02, 0xdf, 0x5c, 0x9b, 0xdf, 0x09, 0xbe, 0x99, 0x0e, 0x6e, 0xe0, + 0x9b, 0x11, 0xda, 0x21, 0xb4, 0x43, 0x68, 0x87, 0xd0, 0x0e, 0xa1, 0x1d, 0x42, 0x3b, 0x84, 0x76, + 0xc6, 0x85, 0x76, 0xe0, 0x9b, 0xe1, 0x94, 0xc0, 0x29, 0x81, 0x53, 0x02, 0xa7, 0x04, 0x4e, 0x09, + 0x9c, 0x12, 0x38, 0x25, 0x46, 0x38, 0x25, 0xe0, 0x9b, 0x09, 0x9c, 0xa7, 0x55, 0x17, 0xdd, 0xfc, + 0xc7, 0xf8, 0xde, 0x0c, 0x60, 0x9b, 0x23, 0x19, 0xff, 0xb4, 0xe7, 0x23, 0x68, 0xb8, 0xc6, 0x25, + 0x6c, 0x16, 0x0b, 0x1e, 0xba, 0x36, 0x7f, 0x14, 0x3c, 0x34, 0x1d, 0xf4, 0x94, 0x79, 0xe8, 0x54, + 0x0b, 0x96, 0xf7, 0x3e, 0x53, 0x7b, 0xcd, 0xb5, 0x92, 0x11, 0x12, 0xa2, 0x9b, 0x1d, 0x83, 0x4a, + 0xa2, 0x9b, 0xdd, 0x6e, 0x77, 0xd8, 0x4c, 0xf1, 0x43, 0x7a, 0x22, 0x48, 0x64, 0x5f, 0x8a, 0xc8, + 0xf6, 0xa5, 0x42, 0x23, 0xad, 0x62, 0x54, 0x5a, 0x95, 0x0a, 0x44, 0x02, 0x22, 0x01, 0x91, 0xda, + 0x8c, 0x48, 0x8a, 0x2b, 0x40, 0xea, 0x5d, 0xb9, 0x48, 0x42, 0x2d, 0xb4, 0x9f, 0x24, 0xee, 0xfb, + 0xd9, 0x92, 0xf6, 0xa8, 0xfb, 0x9d, 0x49, 0x11, 0x57, 0x95, 0xf1, 0x49, 0x06, 0xb6, 0x98, 0x3d, + 0x2d, 0x03, 0x7d, 0xc4, 0xad, 0x96, 0x39, 0xd5, 0xec, 0xed, 0x37, 0x44, 0xa7, 0x10, 0xc8, 0x35, + 0x96, 0x8e, 0xa6, 0x99, 0x30, 0x52, 0x67, 0x53, 0x53, 0x69, 0x9e, 0x69, 0x0b, 0x5b, 0xa6, 0x28, + 0x03, 0x5d, 0x6c, 0x77, 0x92, 0x6a, 0xe3, 0xe4, 0x78, 0x34, 0xf3, 0x6e, 0xb7, 0x32, 0xfe, 0x79, + 0x36, 0xbb, 0x53, 0xf3, 0x5a, 0xda, 0x8e, 0x17, 0x57, 0xd8, 0xe1, 0xf7, 0xbf, 0x85, 0x9b, 0xc8, + 0x67, 0x61, 0xf7, 0x47, 0x81, 0xab, 0xf4, 0xe2, 0xe7, 0x9e, 0xf8, 0x3a, 0x89, 0x98, 0x67, 0x0c, + 0xea, 0xad, 0x53, 0xf3, 0x8c, 0x99, 0x34, 0xc1, 0xda, 0xa5, 0x31, 0xeb, 0x49, 0xe8, 0x8b, 0xc8, + 0xf9, 0xee, 0x0b, 0x5b, 0x3e, 0x0d, 0x1d, 0x97, 0xd0, 0x42, 0x3b, 0x27, 0x09, 0xf8, 0x02, 0x7c, + 0xe9, 0x14, 0xbe, 0x0c, 0x22, 0xc7, 0x13, 0xb1, 0x1d, 0xf6, 0xd5, 0x34, 0x60, 0x09, 0x57, 0x14, + 0xd2, 0xe6, 0xfb, 0x17, 0x29, 0xdd, 0x96, 0xbc, 0xfd, 0xe6, 0xc4, 0x0c, 0x79, 0x85, 0xdf, 0x6f, + 0x4f, 0xce, 0xce, 0xef, 0x1e, 0xaf, 0xbf, 0x3c, 0x5e, 0x7c, 0xbd, 0x39, 0x39, 0xbd, 0x57, 0xdd, + 0x51, 0x69, 0x6d, 0x40, 0x4c, 0x2a, 0x62, 0x61, 0x0a, 0xf5, 0x57, 0x9f, 0xe8, 0xf1, 0xeb, 0xc9, + 0xff, 0x5c, 0xdf, 0xce, 0x1e, 0xaf, 0x89, 0xf8, 0x53, 0xd7, 0x83, 0x5d, 0x5e, 0x5f, 0xfd, 0xbe, + 0x8b, 0xcf, 0xf5, 0xc7, 0xc5, 0xfd, 0xe5, 0xf9, 0xdd, 0xdd, 0x4e, 0x3d, 0xd3, 0xd7, 0x8b, 0x2b, + 0x8e, 0x4d, 0xa8, 0xf4, 0xcd, 0x07, 0xdd, 0x18, 0xbc, 0xc7, 0xfb, 0x97, 0x25, 0x5f, 0x9f, 0x6a, + 0xc0, 0xac, 0x3d, 0x50, 0xae, 0x80, 0xa1, 0xfa, 0x42, 0xe0, 0x72, 0x9b, 0x6c, 0xfb, 0x0b, 0x29, + 0xf1, 0x32, 0xf6, 0x67, 0x54, 0xfd, 0xe2, 0x1a, 0x94, 0x7d, 0x23, 0x0b, 0x9e, 0x65, 0x5e, 0x48, + 0xc9, 0x8d, 0x50, 0xad, 0x5e, 0xa4, 0xb2, 0x33, 0xa9, 0xe2, 0x44, 0xb2, 0x39, 0x8f, 0xaa, 0x4e, + 0x23, 0xd9, 0x59, 0x24, 0x3b, 0x89, 0x9c, 0xce, 0x21, 0x2f, 0x70, 0x54, 0xad, 0xef, 0xd8, 0x77, + 0x9e, 0x43, 0xe9, 0xcd, 0x33, 0x52, 0xca, 0xd1, 0xd3, 0x8a, 0x1c, 0xc4, 0x4e, 0x88, 0x9d, 0x3a, + 0x15, 0x3b, 0x8d, 0x46, 0xd2, 0xa3, 0xc4, 0x4b, 0xc7, 0x06, 0x70, 0x29, 0x73, 0xf3, 0x64, 0xbf, + 0x08, 0x39, 0xf8, 0x41, 0x20, 0x53, 0xf2, 0xa2, 0x80, 0x08, 0x40, 0x84, 0x6e, 0x21, 0x82, 0xea, + 0x01, 0x1c, 0xc2, 0xc1, 0x1b, 0xe2, 0x81, 0x1b, 0x5a, 0x6d, 0x03, 0x43, 0x2d, 0x0f, 0xcb, 0xa9, + 0x0e, 0xae, 0x03, 0x35, 0x9c, 0x47, 0x36, 0x88, 0x39, 0x7e, 0xe3, 0x96, 0x96, 0xff, 0xa0, 0x0c, + 0xeb, 0x6a, 0xd7, 0x54, 0xb9, 0xf0, 0x60, 0x80, 0xd1, 0x16, 0xaf, 0xae, 0x3f, 0xf2, 0x84, 0xed, + 0xcb, 0xe0, 0xa7, 0xba, 0xbd, 0x5e, 0x92, 0x02, 0x53, 0x0d, 0x53, 0x0d, 0xe7, 0xbd, 0x65, 0xce, + 0xfb, 0x4c, 0x83, 0x83, 0xd0, 0x13, 0x74, 0x1c, 0x48, 0xa5, 0x00, 0x07, 0x80, 0x03, 0xc0, 0x81, + 0x16, 0xe3, 0x80, 0x2d, 0xbc, 0x81, 0xb0, 0x87, 0x61, 0x15, 0xd6, 0x7a, 0x23, 0x24, 0x2c, 0x0a, + 0x04, 0x3a, 0x00, 0x1d, 0x80, 0x0e, 0x2d, 0x45, 0x87, 0x69, 0x8a, 0x90, 0x08, 0x09, 0xa9, 0x14, + 0xe0, 0x00, 0x70, 0x00, 0x38, 0xd0, 0x32, 0x1c, 0x90, 0x01, 0x07, 0x6b, 0xb0, 0x24, 0x05, 0x38, + 0x00, 0x1c, 0x00, 0x0e, 0xb4, 0x14, 0x07, 0x68, 0xac, 0xc1, 0x92, 0x14, 0xe0, 0x00, 0x70, 0x00, + 0x38, 0xd0, 0x62, 0x1c, 0x60, 0x61, 0x0d, 0xd6, 0x09, 0x04, 0x3a, 0x00, 0x1d, 0x80, 0x0e, 0x2d, + 0x45, 0x07, 0x1a, 0x6b, 0xb0, 0x24, 0x05, 0x38, 0x00, 0x1c, 0x00, 0x0e, 0xb4, 0x14, 0x07, 0xe8, + 0xe5, 0xc2, 0x39, 0x49, 0xc0, 0x03, 0xe0, 0x01, 0xf0, 0xa0, 0x65, 0x78, 0xe0, 0x87, 0xae, 0xe3, + 0xdb, 0xd2, 0x53, 0xc7, 0x81, 0x4c, 0x42, 0x57, 0xf4, 0x7f, 0x72, 0x1a, 0x0b, 0x5a, 0x5f, 0xa8, + 0xf5, 0xd3, 0xc5, 0xd9, 0x39, 0x5d, 0x57, 0x6e, 0x7b, 0x66, 0x94, 0xb6, 0x2b, 0xb5, 0x7b, 0xcd, + 0xd6, 0x40, 0xa5, 0xd9, 0x52, 0x6b, 0xbb, 0x25, 0x43, 0xcb, 0x5b, 0xa7, 0xe5, 0xca, 0x9d, 0x91, + 0x31, 0x06, 0x47, 0x43, 0x87, 0x51, 0x65, 0x05, 0xe2, 0x52, 0x24, 0x76, 0x85, 0x62, 0x57, 0x2c, + 0x7e, 0x05, 0x53, 0x53, 0x34, 0x45, 0x85, 0xa3, 0x9b, 0x57, 0x3e, 0x33, 0x4b, 0x34, 0xb7, 0xea, + 0xeb, 0xa6, 0x3c, 0x76, 0x8b, 0xa9, 0xf7, 0xfa, 0x82, 0x2c, 0x20, 0x0f, 0x90, 0x07, 0xc8, 0xd3, + 0x1d, 0xe4, 0xa9, 0xa3, 0xe9, 0xaa, 0x32, 0xbc, 0xa0, 0xcd, 0xaa, 0xd5, 0xfa, 0x36, 0xab, 0x05, + 0x5d, 0x4f, 0xde, 0x2b, 0x5a, 0x1a, 0xb6, 0x5e, 0x32, 0xf7, 0xd3, 0x7b, 0x5a, 0xe8, 0xa7, 0x9a, + 0xaa, 0xb0, 0x01, 0xd1, 0xf5, 0x18, 0xe2, 0x45, 0x14, 0x09, 0xcf, 0x4e, 0x22, 0x27, 0x88, 0x87, + 0x61, 0x94, 0xd8, 0xbe, 0xf3, 0x26, 0x22, 0xf5, 0x90, 0x7b, 0xbd, 0x48, 0xb0, 0xed, 0x88, 0xc8, + 0x3b, 0xc5, 0xb6, 0xa7, 0xdb, 0xde, 0x1e, 0x46, 0x61, 0x12, 0xba, 0xa1, 0xaf, 0xea, 0xf1, 0x9a, + 0xdd, 0x35, 0x95, 0xb5, 0x91, 0xd0, 0xd4, 0x82, 0x57, 0xe4, 0xe7, 0xd5, 0xec, 0x36, 0xc9, 0x5e, + 0x93, 0xec, 0xb4, 0x9a, 0x7d, 0x6e, 0x57, 0x17, 0x37, 0xf5, 0xee, 0x63, 0x9a, 0x4d, 0x6f, 0x9d, + 0x7d, 0xdc, 0xd2, 0x6c, 0x5b, 0xe5, 0xc6, 0x6d, 0x15, 0x72, 0x74, 0x15, 0x6d, 0x64, 0x03, 0x9d, + 0xda, 0x2a, 0x07, 0xb6, 0xbb, 0xd4, 0x9f, 0xad, 0x6a, 0x60, 0xca, 0x0b, 0xa6, 0x95, 0xed, 0x97, + 0x6a, 0x96, 0xb8, 0x62, 0x18, 0x59, 0x42, 0xb7, 0xf6, 0x08, 0xcf, 0x3f, 0x33, 0x22, 0x25, 0x1e, + 0xa2, 0x9a, 0xe1, 0x50, 0x32, 0x18, 0x4a, 0x86, 0xa2, 0x9a, 0x81, 0xd8, 0xb6, 0x1e, 0x15, 0x0d, + 0x02, 0xaf, 0x21, 0x28, 0xb1, 0x8d, 0xb8, 0xc0, 0x7e, 0xb3, 0x9e, 0xad, 0xdf, 0x53, 0xc5, 0xbf, + 0x59, 0xb3, 0xaa, 0x65, 0x57, 0x93, 0xb2, 0x8a, 0x1b, 0xd6, 0x4c, 0x75, 0xad, 0x8a, 0xd7, 0x26, + 0xff, 0xe4, 0x05, 0x4f, 0xbd, 0x3f, 0x7d, 0x93, 0xb6, 0x0c, 0x12, 0x11, 0xf5, 0x1d, 0x77, 0x5b, + 0x95, 0xf6, 0x9c, 0x9f, 0x5a, 0xf3, 0xc5, 0x35, 0x2b, 0xbb, 0x39, 0xef, 0xba, 0xd5, 0x76, 0x95, + 0xb1, 0x55, 0x15, 0x6d, 0x53, 0x59, 0x5b, 0x54, 0xd9, 0xf6, 0x54, 0xb6, 0x35, 0xd5, 0x6d, 0x4b, + 0xb5, 0x5d, 0xbd, 0x2d, 0x0f, 0xb9, 0xef, 0x78, 0x4f, 0x32, 0x90, 0x63, 0x1f, 0x2a, 0x1d, 0x02, + 0x11, 0x27, 0x4e, 0x52, 0x62, 0x5d, 0xb2, 0x3e, 0x9d, 0x45, 0xdf, 0xde, 0x06, 0xe3, 0xa5, 0x5c, + 0x9b, 0xd2, 0x2e, 0x4d, 0x15, 0x57, 0x46, 0xd1, 0x85, 0xa9, 0xea, 0xba, 0x28, 0xbb, 0x2c, 0xca, + 0xae, 0x8a, 0xba, 0x8b, 0x42, 0x33, 0xc9, 0xa5, 0x5d, 0x11, 0xca, 0x8e, 0xa9, 0x1a, 0x2b, 0x97, + 0x8c, 0x8d, 0x37, 0x18, 0x8e, 0x0d, 0xc8, 0xe1, 0x3c, 0x3b, 0xd2, 0x4f, 0xe7, 0x7a, 0xb8, 0xce, + 0xd0, 0x71, 0x65, 0xf2, 0x56, 0x41, 0x5b, 0xf2, 0xdf, 0x2d, 0xa7, 0x2b, 0xbd, 0xb2, 0xba, 0xf2, + 0x01, 0xba, 0x62, 0xac, 0xae, 0x94, 0x2d, 0x09, 0xd9, 0x4f, 0xc2, 0xc4, 0xf1, 0xed, 0x58, 0xfe, + 0x57, 0xa8, 0x34, 0x07, 0xcf, 0xbe, 0xbb, 0x2b, 0x3d, 0xc1, 0x11, 0x69, 0xb6, 0xa7, 0xff, 0xf7, + 0x28, 0x90, 0x84, 0x53, 0x7e, 0xe9, 0xb7, 0x51, 0xba, 0x8b, 0x14, 0xc2, 0xce, 0x96, 0xee, 0xce, + 0xec, 0xbe, 0xad, 0xb0, 0xd5, 0xad, 0x5d, 0x1a, 0xb4, 0xa6, 0x56, 0xe6, 0x48, 0x2a, 0x6f, 0x04, + 0x54, 0x00, 0x2a, 0x5a, 0x04, 0x15, 0x68, 0xf8, 0xad, 0xfa, 0xe0, 0x68, 0xf8, 0xbd, 0x4a, 0x54, + 0xa3, 0xe1, 0xb7, 0x46, 0x68, 0x50, 0xff, 0xd6, 0x43, 0xd7, 0xa7, 0x87, 0xad, 0x21, 0x92, 0xdf, + 0xe7, 0x89, 0x92, 0xf7, 0x95, 0x03, 0xdb, 0x72, 0xac, 0xfa, 0x34, 0xc5, 0x70, 0x31, 0xbb, 0x81, + 0x9b, 0xf1, 0xf5, 0x1f, 0x4f, 0x66, 0xd7, 0x3f, 0x9d, 0x5e, 0xfe, 0xf1, 0x7e, 0x7c, 0xf9, 0xbb, + 0xf1, 0xd5, 0x8d, 0x48, 0x85, 0x69, 0x48, 0xfd, 0x94, 0x7f, 0x17, 0x2c, 0xa9, 0x9f, 0x92, 0x0b, + 0xbf, 0xaf, 0x81, 0xc2, 0xf3, 0x64, 0x24, 0xca, 0x4d, 0x11, 0xcf, 0x8c, 0xf1, 0xfc, 0x2b, 0x20, + 0xb7, 0x41, 0x6e, 0xaf, 0x5d, 0xf9, 0xb4, 0x26, 0xb2, 0xec, 0x5e, 0x31, 0x8a, 0xd6, 0x2e, 0xaa, + 0x68, 0x2b, 0xad, 0x1d, 0xd5, 0xcb, 0xe1, 0x2a, 0xeb, 0x09, 0x88, 0xed, 0x5d, 0xd2, 0x13, 0xb5, + 0xfa, 0x49, 0x73, 0x94, 0x45, 0xf6, 0x85, 0xfb, 0xe6, 0xfa, 0x95, 0xd3, 0xa5, 0xab, 0x5f, 0x84, + 0x92, 0x40, 0x49, 0x98, 0x36, 0x8b, 0x51, 0x0a, 0x52, 0xcd, 0x7c, 0x54, 0xb0, 0x17, 0x3d, 0xf8, + 0x55, 0xed, 0x57, 0x85, 0xd2, 0x89, 0xd0, 0x6a, 0x24, 0xb1, 0x12, 0x39, 0x8c, 0x42, 0x5b, 0x3e, + 0xb2, 0x17, 0x85, 0xb6, 0xea, 0x27, 0x38, 0xf9, 0x4b, 0x6d, 0xdf, 0x95, 0xd4, 0xaf, 0x6a, 0x67, + 0xbf, 0xd5, 0xcf, 0x7a, 0x43, 0xd3, 0xa0, 0x69, 0xbb, 0xa9, 0x69, 0x1c, 0x45, 0xed, 0xa5, 0xd5, + 0x09, 0xa5, 0xed, 0xcc, 0xfc, 0x66, 0xd9, 0xe0, 0x53, 0x91, 0xd1, 0xdc, 0x7e, 0x20, 0x58, 0xcd, + 0xc5, 0x0e, 0x87, 0x22, 0x4a, 0x17, 0xc8, 0xf1, 0xab, 0x46, 0xa1, 0xf9, 0xaf, 0x22, 0x0e, 0x45, + 0x1c, 0xca, 0xb6, 0x5d, 0x8c, 0x8a, 0x44, 0xe3, 0xd1, 0x70, 0x18, 0x46, 0x89, 0xf0, 0xec, 0x15, + 0xce, 0xe9, 0x9f, 0x91, 0xe3, 0xcb, 0xbe, 0x2c, 0x71, 0x20, 0x7e, 0x6e, 0x6a, 0xb6, 0xcb, 0x82, + 0x22, 0x41, 0x91, 0xca, 0xb2, 0x9e, 0x65, 0x77, 0xcd, 0x92, 0x3e, 0x95, 0xc8, 0x92, 0xef, 0x5f, + 0x78, 0x22, 0x48, 0x64, 0xf2, 0xf6, 0x9b, 0x13, 0x2b, 0x38, 0xf6, 0x97, 0x27, 0x7f, 0x9d, 0xdf, + 0x3e, 0xde, 0xdc, 0x5e, 0xdf, 0x5f, 0x9f, 0x5e, 0x5f, 0x3e, 0xfe, 0xef, 0xb7, 0x93, 0xcb, 0x8b, + 0x2f, 0x17, 0xe7, 0xb7, 0x65, 0xdf, 0x63, 0x9a, 0xe2, 0x8f, 0x2b, 0xd5, 0x90, 0x28, 0x16, 0x81, + 0xad, 0xbb, 0xd3, 0xc7, 0x6f, 0x57, 0x77, 0x37, 0xe7, 0xa7, 0xe3, 0xff, 0x3f, 0xe3, 0x76, 0x68, + 0x1f, 0x34, 0xef, 0x2a, 0x8a, 0x77, 0x57, 0xf1, 0x45, 0xf7, 0xca, 0xbe, 0x51, 0x85, 0x28, 0x67, + 0x11, 0x06, 0x9e, 0x64, 0x60, 0x8b, 0xd9, 0x5d, 0x56, 0xf0, 0xd3, 0x29, 0x31, 0xce, 0x12, 0x28, + 0xf4, 0xea, 0x3c, 0x1a, 0x5e, 0x83, 0xef, 0xac, 0x64, 0x08, 0x27, 0xf5, 0x13, 0xc3, 0x30, 0x19, + 0x63, 0x83, 0xe3, 0x2b, 0x9c, 0x5e, 0x59, 0x2b, 0x01, 0x67, 0x58, 0x40, 0xdd, 0x16, 0x6f, 0x37, + 0x9c, 0x61, 0x01, 0xb5, 0x84, 0x33, 0x2c, 0xcc, 0xcc, 0xa8, 0xf2, 0x36, 0xa6, 0x6c, 0x67, 0xa6, + 0x6d, 0x4d, 0xdd, 0xde, 0x6c, 0xdb, 0x9c, 0x6d, 0xbb, 0xf3, 0x6d, 0xfb, 0x6a, 0xdb, 0xbf, 0xa2, + 0x1a, 0xa8, 0x33, 0xad, 0xb9, 0x37, 0x8f, 0x33, 0x2c, 0xd3, 0x7b, 0xc1, 0x19, 0x16, 0x40, 0x05, + 0xa0, 0x62, 0xa3, 0x31, 0xc4, 0x19, 0x16, 0xc5, 0x07, 0xc7, 0x19, 0x96, 0xd5, 0xa8, 0x1a, 0x67, + 0x58, 0x34, 0x42, 0x83, 0xfa, 0xb7, 0x70, 0x86, 0x65, 0x4d, 0x5e, 0x71, 0x1d, 0x5d, 0x52, 0xef, + 0x49, 0x96, 0xf4, 0xdc, 0xca, 0xcd, 0xec, 0x26, 0x70, 0x9c, 0xe5, 0xbd, 0x22, 0x8b, 0xc5, 0xff, + 0x0e, 0x74, 0x24, 0x85, 0x4b, 0xf5, 0xa5, 0xac, 0xd2, 0x0d, 0x10, 0xe7, 0x59, 0x76, 0x88, 0xbc, + 0xab, 0x9e, 0xb1, 0x2a, 0xd9, 0x2f, 0xb2, 0x64, 0x49, 0x0d, 0x57, 0xa7, 0xbe, 0xed, 0x7d, 0x20, + 0xcb, 0xa5, 0x51, 0x2a, 0x15, 0xc7, 0x54, 0x22, 0xf6, 0xcb, 0x11, 0xfa, 0x35, 0x74, 0x22, 0xac, + 0xd6, 0xa9, 0x8f, 0x00, 0x72, 0x94, 0x3e, 0x84, 0x8b, 0x2d, 0x85, 0xd3, 0x9e, 0x86, 0x5b, 0x1b, + 0x10, 0xe6, 0xbe, 0x61, 0x4a, 0xe7, 0xc1, 0x12, 0x03, 0x68, 0x4d, 0xee, 0x3d, 0x98, 0xdd, 0x7e, + 0x5d, 0xdd, 0x07, 0x83, 0x97, 0xec, 0x9a, 0x59, 0x63, 0xd1, 0xf2, 0xe7, 0x06, 0x0a, 0xbe, 0xdc, + 0x96, 0x5c, 0x54, 0x85, 0x49, 0xc5, 0x6d, 0x34, 0x68, 0xdb, 0x37, 0x12, 0x8f, 0x49, 0x2b, 0x9d, + 0x8f, 0x52, 0x2b, 0x72, 0x56, 0x28, 0x6f, 0x46, 0x0e, 0x0a, 0x39, 0x28, 0xe5, 0x6d, 0x0a, 0x6a, + 0x19, 0xd4, 0x32, 0xa8, 0xe5, 0x52, 0x6f, 0x7e, 0x37, 0x86, 0x20, 0x13, 0xa6, 0x2f, 0xd2, 0xa7, + 0x2e, 0x42, 0xe3, 0xa1, 0xf1, 0xd0, 0x78, 0xe3, 0xb8, 0x6a, 0xd5, 0x69, 0x87, 0x98, 0x96, 0x54, + 0x13, 0xe3, 0xbf, 0xca, 0x3e, 0xbc, 0x2f, 0x08, 0x44, 0xab, 0xce, 0x26, 0xdc, 0x4e, 0xbb, 0x2c, + 0x4c, 0x3c, 0x4a, 0xff, 0x7d, 0xf5, 0x32, 0xfb, 0x64, 0x36, 0x13, 0xa9, 0xfc, 0xec, 0x41, 0x9e, + 0x52, 0xd7, 0x2c, 0xc8, 0x53, 0xa8, 0xf0, 0x2b, 0x1d, 0xfd, 0x92, 0x62, 0xab, 0x0f, 0x75, 0xc5, + 0x56, 0x15, 0x1f, 0x68, 0xd7, 0xa2, 0xab, 0xf2, 0xe1, 0xbe, 0x21, 0xf1, 0x55, 0xa6, 0xae, 0x95, + 0x26, 0x79, 0xad, 0xe7, 0x21, 0x2b, 0x0e, 0x56, 0x6a, 0xb7, 0xf7, 0xa5, 0xb0, 0xd9, 0xbb, 0xe4, + 0x7f, 0x55, 0x57, 0x86, 0xb6, 0x78, 0x60, 0xbe, 0x70, 0xfa, 0x91, 0xe8, 0x53, 0x5c, 0xb0, 0x23, + 0x85, 0xef, 0xde, 0x14, 0x18, 0xe3, 0xcf, 0x99, 0x31, 0x5e, 0x5c, 0xf2, 0xcf, 0x39, 0xd3, 0x5c, + 0xfc, 0xeb, 0x95, 0x8f, 0x53, 0xed, 0x6d, 0x93, 0x6f, 0xa8, 0x82, 0x3b, 0x70, 0x0f, 0x4d, 0x72, + 0x0f, 0x55, 0x1c, 0x06, 0x06, 0x17, 0xf1, 0xbe, 0x12, 0x36, 0x61, 0x58, 0x26, 0xa8, 0x77, 0x0c, + 0xcb, 0xd4, 0xc3, 0x32, 0xb4, 0xb0, 0xa4, 0xaa, 0x0c, 0xb0, 0xb1, 0x94, 0x51, 0x6d, 0xc5, 0xb1, + 0x7d, 0x2d, 0x07, 0x24, 0x4b, 0x46, 0xb3, 0x55, 0xa3, 0x58, 0x24, 0x9d, 0xb5, 0x00, 0x4e, 0x0b, + 0x92, 0xce, 0xdf, 0xc3, 0x51, 0xe0, 0x39, 0xd1, 0x9b, 0x1d, 0x84, 0x9e, 0xb0, 0x85, 0x37, 0xd8, + 0x36, 0x61, 0x73, 0xed, 0xeb, 0x5b, 0x2b, 0x09, 0x04, 0x0a, 0x08, 0x94, 0x26, 0x08, 0x94, 0x95, + 0x7d, 0x48, 0xe4, 0x51, 0x0a, 0xa5, 0x81, 0x4e, 0x01, 0x9d, 0x02, 0x3a, 0xa5, 0x85, 0x74, 0xca, + 0x58, 0x9b, 0x57, 0x3e, 0x0a, 0x5f, 0x02, 0xe1, 0xad, 0x1a, 0xaf, 0x3a, 0x59, 0x98, 0x77, 0x15, + 0xa1, 0x8d, 0x01, 0xcf, 0x00, 0x62, 0x00, 0x31, 0x80, 0xd8, 0x0e, 0x81, 0x98, 0x29, 0x00, 0x85, + 0xe4, 0x15, 0x80, 0x0a, 0x40, 0x05, 0xa0, 0xda, 0x85, 0xe4, 0x95, 0x95, 0xb9, 0x4a, 0x16, 0x21, + 0x08, 0x44, 0x6e, 0x8b, 0x40, 0xfd, 0x92, 0x28, 0xe0, 0x6c, 0x53, 0x12, 0x19, 0x2a, 0x35, 0x62, + 0x78, 0xf6, 0xef, 0xc7, 0xdf, 0xa6, 0x57, 0xbf, 0x0a, 0x3d, 0x71, 0xee, 0x0d, 0x36, 0x9d, 0x49, + 0x53, 0x20, 0xe2, 0x4b, 0xd0, 0xa5, 0x2a, 0xf3, 0xb3, 0xf2, 0x10, 0xa5, 0x34, 0x16, 0xc9, 0xa2, + 0xa4, 0xc0, 0x40, 0xf0, 0x75, 0x83, 0xe0, 0x53, 0x4f, 0x83, 0xa9, 0x6f, 0x4a, 0x4b, 0xb1, 0xd9, + 0x53, 0xc5, 0x26, 0x4f, 0xbf, 0x6a, 0xb4, 0x11, 0x8a, 0xae, 0x76, 0xaf, 0xea, 0x06, 0x24, 0x78, + 0x9a, 0x0c, 0xad, 0x57, 0x59, 0xfd, 0x4c, 0x95, 0x56, 0xac, 0x7a, 0xe3, 0xa7, 0x06, 0x2c, 0x37, + 0x8f, 0x8d, 0x91, 0xc1, 0x4f, 0x05, 0xa3, 0x32, 0xfe, 0x16, 0xd2, 0x44, 0xb0, 0x22, 0x0c, 0x10, + 0x5a, 0x39, 0x4d, 0xe4, 0x78, 0x4f, 0x32, 0x90, 0x71, 0x12, 0x39, 0x89, 0x7c, 0x2e, 0x3b, 0x2e, + 0x71, 0xed, 0x16, 0x28, 0x94, 0x86, 0x33, 0x4f, 0xa0, 0x2d, 0x76, 0xf6, 0xcc, 0x13, 0xc3, 0x8e, + 0xb7, 0x76, 0xa9, 0xe5, 0x66, 0xc1, 0x30, 0x72, 0x75, 0x34, 0x51, 0x19, 0x6c, 0x4e, 0x30, 0x97, + 0xca, 0x66, 0x13, 0x58, 0x02, 0x2c, 0xa9, 0x6c, 0x7a, 0xb3, 0x2f, 0x2a, 0x74, 0x62, 0x5f, 0xbf, + 0x79, 0x54, 0x5a, 0xd7, 0x31, 0xa8, 0x0c, 0xd9, 0x0c, 0x73, 0xa8, 0x10, 0xb3, 0x2a, 0x71, 0xa9, + 0x14, 0xbb, 0x6a, 0xb1, 0xab, 0x18, 0xbf, 0xaa, 0xa9, 0xa9, 0x9c, 0xa2, 0xea, 0x91, 0x55, 0x30, + 0x13, 0xa0, 0xd4, 0x59, 0x7e, 0xed, 0xf6, 0x53, 0x6c, 0xbf, 0xcd, 0xe0, 0x0d, 0xb3, 0xab, 0x25, + 0xa7, 0x7a, 0x6a, 0x52, 0x53, 0x6e, 0x75, 0xd5, 0xa6, 0xb6, 0xda, 0xd4, 0x57, 0x9f, 0x1a, 0xd3, + 0xd4, 0x99, 0xa8, 0xd6, 0x74, 0x6f, 0x7d, 0xed, 0xce, 0xa3, 0x76, 0xca, 0xe7, 0x74, 0xe3, 0x99, + 0xdc, 0x7a, 0xbe, 0x57, 0x46, 0x69, 0x07, 0xad, 0xd6, 0x1e, 0x69, 0xed, 0x7b, 0x52, 0x69, 0x97, + 0x04, 0x28, 0x05, 0x94, 0x02, 0x4a, 0x6b, 0x83, 0x52, 0xe5, 0x49, 0x02, 0xeb, 0xf4, 0xf4, 0x98, + 0x41, 0x14, 0x6d, 0xd2, 0xc0, 0xea, 0x0f, 0x8f, 0x12, 0x58, 0x5c, 0x93, 0x08, 0x34, 0x01, 0x5c, + 0x4e, 0x2c, 0xd3, 0xa4, 0x82, 0x9c, 0x5c, 0xc6, 0x5e, 0xfa, 0xcc, 0xea, 0xb1, 0xfc, 0xaa, 0x9c, + 0xd7, 0xd6, 0xbd, 0x2a, 0xfe, 0xc9, 0x07, 0xb5, 0xbe, 0xbd, 0x3d, 0x33, 0xa4, 0x3c, 0x34, 0xe5, + 0x78, 0xd5, 0x1a, 0x34, 0x2b, 0x16, 0x23, 0xe5, 0xe4, 0x90, 0x8a, 0x93, 0x7c, 0x19, 0xfc, 0x7c, + 0x9f, 0xe7, 0x7b, 0xdf, 0x93, 0xf9, 0x2c, 0x8b, 0x56, 0xb6, 0x74, 0x29, 0x83, 0x9f, 0x8f, 0x27, + 0xb3, 0xfb, 0x52, 0x9d, 0xce, 0x40, 0x7f, 0xc1, 0x7a, 0xa9, 0x4b, 0xe2, 0x16, 0xd0, 0xf2, 0xea, + 0x55, 0xb8, 0x6f, 0xee, 0xf7, 0x6c, 0x42, 0x2d, 0x84, 0x1b, 0xc6, 0x89, 0xed, 0xfe, 0x70, 0xc6, + 0x70, 0x2b, 0x22, 0x19, 0x27, 0xd2, 0x55, 0xcf, 0xa8, 0x14, 0x09, 0xeb, 0x4a, 0x4a, 0x05, 0x75, + 0xe5, 0x1b, 0xe3, 0x1a, 0x53, 0xeb, 0xca, 0x95, 0xd3, 0x2a, 0xe9, 0x5e, 0x77, 0xfc, 0x41, 0x18, + 0xc9, 0xe4, 0xc7, 0x13, 0x3d, 0xb5, 0xb2, 0x22, 0x8f, 0x96, 0x5e, 0x39, 0xd8, 0x99, 0xf4, 0x0a, + 0x41, 0xad, 0xb8, 0x69, 0x86, 0x36, 0x26, 0x58, 0xd4, 0xd5, 0xae, 0x19, 0x6f, 0x91, 0x4c, 0x1c, + 0xd0, 0xbb, 0xc5, 0xe6, 0x4c, 0xd1, 0x71, 0x5d, 0x4e, 0xd8, 0x3b, 0x45, 0x14, 0x52, 0x6a, 0x1f, + 0x5d, 0x0c, 0x40, 0x0a, 0x5d, 0xa4, 0x81, 0x3d, 0xc0, 0x1e, 0x60, 0x4f, 0x57, 0xb1, 0x87, 0x96, + 0x89, 0x59, 0x06, 0x1f, 0x4a, 0x1a, 0x06, 0xe8, 0x03, 0xf4, 0x01, 0xfa, 0xb4, 0x15, 0x7d, 0xb4, + 0x86, 0x78, 0xd3, 0x63, 0xa7, 0xaa, 0xfe, 0x8d, 0xda, 0xb9, 0xa1, 0xec, 0xdb, 0x94, 0xf3, 0x43, + 0xb9, 0x57, 0xdb, 0x53, 0x45, 0x47, 0x06, 0x20, 0x60, 0x3c, 0x57, 0xa4, 0x05, 0x06, 0x28, 0xe7, + 0x8c, 0xea, 0x35, 0x9c, 0x94, 0xf3, 0x47, 0x99, 0x10, 0xa5, 0x73, 0x48, 0xed, 0x65, 0x70, 0xe9, + 0xd4, 0x22, 0x07, 0x85, 0x7b, 0x1a, 0xc6, 0xc9, 0xe9, 0xf2, 0x4d, 0x18, 0xc0, 0xe1, 0x7a, 0xc2, + 0x97, 0xcf, 0x22, 0x7a, 0xb3, 0xc3, 0xf1, 0x9e, 0x60, 0x63, 0x73, 0x37, 0x8b, 0xad, 0xf9, 0xd8, + 0x0d, 0x78, 0x5d, 0xf0, 0xba, 0xb5, 0xb8, 0x53, 0x3b, 0x36, 0x60, 0xcc, 0x93, 0x91, 0x70, 0x95, + 0x80, 0x7b, 0x8e, 0x03, 0x99, 0x08, 0xe8, 0x3c, 0x74, 0x7e, 0xa7, 0x75, 0xbe, 0x1f, 0x46, 0x2f, + 0x4e, 0xe4, 0xc9, 0x60, 0x60, 0xab, 0xee, 0x7a, 0x6b, 0x97, 0x8e, 0xdb, 0x89, 0x28, 0x0a, 0xf9, + 0x1c, 0x8a, 0x42, 0x69, 0xc0, 0x14, 0x60, 0x0a, 0xfc, 0x08, 0xe3, 0xfd, 0x08, 0xdf, 0x49, 0x44, + 0xe0, 0xbe, 0xb1, 0x61, 0xc1, 0x1a, 0x79, 0xa8, 0x16, 0x01, 0x1a, 0xec, 0x62, 0xb5, 0x48, 0x5f, + 0xbe, 0x0a, 0xcf, 0x66, 0x52, 0xa2, 0xbc, 0xdb, 0xb2, 0x49, 0x7a, 0xc3, 0xf9, 0x94, 0x0f, 0xc8, + 0xa7, 0xe8, 0x53, 0x41, 0x2d, 0x44, 0xaa, 0x85, 0x7c, 0x8a, 0xd5, 0xbd, 0x6c, 0xee, 0xdf, 0x32, + 0x49, 0xe8, 0xe4, 0x61, 0x6e, 0xf1, 0x8a, 0xc5, 0x02, 0x93, 0x80, 0x49, 0xc0, 0x24, 0x60, 0xd2, + 0x96, 0x7b, 0xfc, 0x67, 0x24, 0x64, 0x30, 0xd0, 0xe6, 0x36, 0x6d, 0x16, 0x8f, 0x3a, 0x14, 0x60, + 0x14, 0x30, 0x0a, 0x18, 0xb5, 0xe5, 0x1e, 0x93, 0xc8, 0xe9, 0xf7, 0xa5, 0x6b, 0x0f, 0xa3, 0x70, + 0x28, 0xa2, 0xe4, 0x8d, 0xa9, 0x1a, 0xb7, 0x58, 0x2c, 0x30, 0x09, 0x98, 0x04, 0x4c, 0x02, 0x26, + 0x6d, 0xb9, 0xc7, 0x17, 0x27, 0xf0, 0x34, 0xc4, 0x72, 0xc5, 0x62, 0x11, 0xcb, 0x01, 0x93, 0x80, + 0x49, 0xdd, 0xc2, 0xa4, 0x3a, 0xea, 0x75, 0x39, 0x3c, 0x20, 0xd4, 0xee, 0xe6, 0x01, 0x01, 0xb5, + 0xbb, 0x14, 0xd3, 0x8a, 0xda, 0xdd, 0xea, 0xb5, 0xbb, 0x6c, 0x04, 0x0b, 0xb5, 0x7c, 0xf7, 0x72, + 0x72, 0x23, 0xe6, 0x55, 0xf0, 0x52, 0xa6, 0x07, 0xe5, 0x80, 0x86, 0x36, 0xb0, 0xc5, 0x42, 0x95, + 0x0d, 0xf2, 0xea, 0x75, 0x9b, 0x7c, 0x86, 0xe9, 0x7e, 0xe4, 0x4d, 0x6f, 0x35, 0x54, 0xb8, 0x07, + 0x8f, 0x06, 0x1e, 0x4d, 0xc7, 0x3d, 0x1a, 0x3d, 0x36, 0x55, 0xf6, 0x85, 0xfb, 0xe6, 0xfa, 0xe4, + 0xa9, 0x33, 0xab, 0x82, 0xba, 0x62, 0x4b, 0x31, 0x24, 0x62, 0x83, 0x25, 0xdd, 0xd5, 0x81, 0x33, + 0xb4, 0xcd, 0x6e, 0xed, 0x52, 0xf1, 0xbb, 0x1f, 0xc6, 0x31, 0x5f, 0xbd, 0x6b, 0x81, 0x30, 0x38, + 0xe5, 0x80, 0x12, 0x94, 0xbe, 0x33, 0x32, 0x9a, 0x7a, 0x70, 0x80, 0x16, 0x8d, 0x13, 0xc2, 0xef, + 0x1e, 0x66, 0xd4, 0xc1, 0x65, 0x30, 0xb6, 0xa4, 0x9d, 0xa9, 0xf3, 0x0f, 0x9a, 0xfe, 0x60, 0x9a, + 0x94, 0xd5, 0xac, 0x82, 0xa9, 0xc7, 0xdb, 0x16, 0x12, 0x88, 0xb5, 0xf1, 0x14, 0x29, 0x50, 0x30, + 0x55, 0x57, 0x2d, 0xc8, 0x02, 0xf2, 0x00, 0x79, 0x80, 0x3c, 0xdd, 0x41, 0x9e, 0x3a, 0x4a, 0x17, + 0x94, 0xe1, 0x85, 0x95, 0xdd, 0x57, 0xa4, 0x72, 0x91, 0xe1, 0xae, 0x9e, 0xe1, 0x56, 0x4d, 0x37, + 0x11, 0xf3, 0xd9, 0xa9, 0x1a, 0x9a, 0x10, 0x21, 0x87, 0x9e, 0xb0, 0x85, 0x37, 0x10, 0xf6, 0x30, + 0x94, 0x41, 0x42, 0x08, 0x96, 0x57, 0x04, 0xe1, 0x38, 0x38, 0x22, 0xe7, 0x5d, 0x3c, 0x0e, 0xbe, + 0xb2, 0xcf, 0xed, 0xd1, 0x48, 0x7a, 0x74, 0xaf, 0xb6, 0x50, 0x2a, 0xfc, 0x5b, 0x94, 0xe7, 0x36, + 0xaa, 0x82, 0x6d, 0xf7, 0x71, 0x7d, 0xe1, 0xf4, 0x23, 0xd1, 0xe7, 0x70, 0x72, 0x8f, 0x08, 0x32, + 0x6e, 0x0a, 0xdc, 0x93, 0xcf, 0x99, 0x37, 0xb2, 0xf8, 0x8a, 0x3e, 0xe7, 0x9d, 0x95, 0xc2, 0x5f, + 0xaf, 0x7c, 0x3c, 0x46, 0x8f, 0x95, 0x8f, 0xc2, 0x97, 0x40, 0x78, 0xf6, 0x0a, 0xac, 0xac, 0xfc, + 0x4d, 0x0a, 0x32, 0x06, 0xd3, 0x06, 0xe9, 0xdd, 0x33, 0xe2, 0x2b, 0x40, 0x15, 0xa0, 0x0a, 0x50, + 0x05, 0xa8, 0x2a, 0x83, 0xaa, 0xe9, 0x80, 0x99, 0x3d, 0x28, 0x0f, 0x68, 0x2e, 0x8b, 0x03, 0x70, + 0x02, 0x38, 0x01, 0x9c, 0x00, 0xce, 0xad, 0xc0, 0x59, 0x2b, 0x4a, 0xd6, 0x72, 0x9c, 0x6d, 0x11, + 0x07, 0xad, 0xcc, 0x95, 0xb4, 0x18, 0x82, 0x76, 0x93, 0x6a, 0xc2, 0x3f, 0xa0, 0x26, 0xbc, 0x1c, + 0x8e, 0x7d, 0x40, 0x4d, 0x38, 0xa7, 0x96, 0x19, 0x90, 0x03, 0x20, 0x71, 0xd7, 0x16, 0x47, 0x3a, + 0x20, 0xf4, 0xc4, 0xb9, 0x37, 0x10, 0x37, 0xe9, 0xf5, 0x0d, 0xc8, 0x0b, 0x84, 0x43, 0x11, 0xa5, + 0xef, 0xc4, 0xf1, 0xa9, 0x45, 0xf8, 0x79, 0x51, 0x28, 0xc3, 0xd7, 0x0c, 0xa9, 0xa8, 0xa9, 0x53, + 0x05, 0x23, 0x7a, 0xe5, 0x2c, 0x75, 0xbb, 0x5b, 0xbb, 0x54, 0x88, 0x1f, 0x89, 0xa1, 0x70, 0x12, + 0x3b, 0x9b, 0x47, 0xc3, 0x55, 0x93, 0xbf, 0x45, 0x2e, 0xca, 0xf3, 0x01, 0x31, 0x28, 0xcf, 0xdf, + 0x88, 0x2c, 0xc7, 0x46, 0xa0, 0x43, 0x2c, 0x7d, 0x29, 0x02, 0x57, 0xd8, 0x89, 0xca, 0x92, 0x2c, + 0xc0, 0xc1, 0xb2, 0xa0, 0xae, 0x14, 0xed, 0x43, 0xff, 0x5b, 0xa9, 0xff, 0xca, 0xc5, 0x07, 0xc3, + 0x28, 0x4c, 0x26, 0xa3, 0x6d, 0xd4, 0x14, 0x26, 0xb7, 0x8b, 0x56, 0x05, 0x82, 0xe4, 0x05, 0xc9, + 0x0b, 0x92, 0xb7, 0x71, 0x85, 0xa2, 0xc6, 0x00, 0xc4, 0x58, 0xa0, 0x5e, 0xc6, 0x2a, 0x12, 0x71, + 0x12, 0x4e, 0x42, 0x26, 0x7b, 0x18, 0xfa, 0xd2, 0x7d, 0xa3, 0xe3, 0x5a, 0x81, 0x4c, 0x40, 0x1b, + 0xa0, 0x0d, 0xd0, 0x66, 0x82, 0x4e, 0xb5, 0x17, 0xdd, 0x76, 0x9c, 0x07, 0xa7, 0x85, 0x51, 0x16, + 0x03, 0x0f, 0x7e, 0x9b, 0xdd, 0x41, 0xba, 0x6f, 0x4d, 0x88, 0x51, 0x65, 0xfc, 0x93, 0x8f, 0xb6, + 0x2a, 0x10, 0x86, 0x42, 0x79, 0xc4, 0xaa, 0xbb, 0x18, 0xab, 0x16, 0xec, 0x75, 0xa6, 0x23, 0xa0, + 0x6b, 0x25, 0xc3, 0xc5, 0x83, 0x8b, 0x07, 0x17, 0x8f, 0xb0, 0x7b, 0xba, 0x71, 0x1c, 0x3d, 0xc5, + 0x0f, 0xe9, 0x89, 0x20, 0x91, 0x7d, 0x29, 0x22, 0xdb, 0x97, 0x71, 0xc2, 0x84, 0x4a, 0xab, 0x52, + 0x81, 0x48, 0x40, 0x24, 0x20, 0x52, 0x9b, 0x11, 0x49, 0x71, 0x05, 0x48, 0x75, 0x7d, 0x99, 0x14, + 0x8e, 0xfa, 0xbe, 0xdc, 0x92, 0xf6, 0xa8, 0xfb, 0x9d, 0x49, 0x11, 0x2d, 0x3d, 0x75, 0x7f, 0xda, + 0xd4, 0xd2, 0x62, 0xea, 0x0d, 0x4b, 0x53, 0x49, 0xc2, 0xa6, 0xb4, 0xb8, 0xea, 0x03, 0x33, 0x61, + 0xa4, 0x3a, 0x41, 0x53, 0x79, 0x98, 0x69, 0xd5, 0x2f, 0x53, 0x94, 0x81, 0xae, 0xcf, 0xda, 0x34, + 0x1d, 0x5d, 0x9f, 0x51, 0xe1, 0x5b, 0x96, 0xd9, 0x24, 0x13, 0x6f, 0x2c, 0xec, 0xa6, 0x8c, 0x7f, + 0x9a, 0x37, 0xc1, 0x22, 0x16, 0xd1, 0xb3, 0x88, 0x6c, 0x19, 0x24, 0x62, 0x10, 0xc9, 0xe4, 0xcd, + 0x1e, 0x46, 0xa1, 0x2b, 0x18, 0x1b, 0xe8, 0x96, 0xbd, 0x00, 0xaa, 0xf6, 0xc0, 0x84, 0xa2, 0x6a, + 0x8f, 0x31, 0x88, 0xd1, 0x83, 0x17, 0x49, 0x98, 0x38, 0xbe, 0x3d, 0x0c, 0x13, 0x11, 0x24, 0xd2, + 0xf1, 0x6d, 0xd7, 0x19, 0x3a, 0xae, 0x4c, 0xde, 0xd4, 0x01, 0x62, 0xad, 0xc4, 0xae, 0xe4, 0x46, + 0x70, 0x50, 0x60, 0x03, 0x1e, 0xec, 0x58, 0xf3, 0xdd, 0xc9, 0x66, 0x8f, 0xe5, 0x7f, 0x39, 0x46, + 0x0d, 0xcf, 0x65, 0xd1, 0x98, 0xc6, 0x1e, 0x9a, 0x61, 0x82, 0x67, 0x6c, 0x5b, 0x33, 0x4c, 0x55, + 0x15, 0xcc, 0x04, 0x8c, 0x02, 0x99, 0xf0, 0xf1, 0x6a, 0xa9, 0x34, 0xe2, 0x1b, 0xa1, 0x11, 0xff, + 0x6c, 0x6a, 0xc9, 0xa9, 0x9e, 0x9a, 0xd4, 0x54, 0x07, 0x1b, 0xa9, 0x45, 0x6d, 0xb5, 0xf2, 0x91, + 0x7a, 0xd4, 0x98, 0xce, 0x50, 0x12, 0x59, 0x4a, 0x8b, 0x25, 0x89, 0x90, 0xdb, 0x79, 0x33, 0xbf, + 0xd2, 0x66, 0x50, 0x55, 0x8b, 0xa9, 0x88, 0x2d, 0x93, 0x45, 0x2b, 0x66, 0x6b, 0x96, 0x54, 0xa6, + 0x0d, 0x14, 0xc8, 0xbd, 0x27, 0xca, 0x60, 0x01, 0x40, 0x29, 0xa0, 0x14, 0x50, 0xaa, 0x1d, 0x4a, + 0x47, 0x32, 0x48, 0x3e, 0x1d, 0x32, 0x62, 0xe8, 0x31, 0x83, 0xa8, 0x5b, 0x27, 0x18, 0x8c, 0xef, + 0xee, 0x3f, 0x2c, 0x9b, 0x81, 0x47, 0x09, 0xac, 0x69, 0x16, 0x87, 0x4d, 0xab, 0x98, 0x01, 0x2e, + 0x27, 0xf6, 0xcf, 0x29, 0x96, 0x73, 0xcb, 0xfd, 0x12, 0x39, 0xe9, 0xb9, 0x98, 0x33, 0x39, 0x90, + 0x69, 0xe6, 0xe2, 0x80, 0x4d, 0xfe, 0xaf, 0x77, 0x8c, 0xaf, 0xca, 0x79, 0x6d, 0xdd, 0xab, 0xea, + 0x1d, 0x1f, 0x1e, 0x7e, 0x3a, 0x3a, 0x3c, 0x3c, 0x38, 0xfa, 0xd7, 0xd1, 0xc1, 0xbf, 0x3f, 0x7e, + 0xec, 0x7d, 0xea, 0x7d, 0x6c, 0xd1, 0xdb, 0xdb, 0x33, 0x43, 0xca, 0x43, 0x53, 0x8e, 0x57, 0xad, + 0x41, 0x33, 0x31, 0x17, 0x97, 0xc9, 0xa1, 0xe7, 0xe4, 0xd6, 0xb1, 0xbe, 0xef, 0xc9, 0xac, 0x96, + 0xc5, 0x90, 0xab, 0xbb, 0x1f, 0xdf, 0xc4, 0xcd, 0xec, 0xe6, 0x4e, 0xa7, 0xf7, 0x36, 0xf9, 0xf8, + 0x6e, 0x7c, 0x6b, 0x38, 0x73, 0xa2, 0x75, 0x17, 0x34, 0x90, 0x9e, 0x2d, 0x7e, 0xe5, 0x26, 0xa4, + 0x68, 0x93, 0xc8, 0x09, 0x62, 0x39, 0x7e, 0x4d, 0xc2, 0xb3, 0x8b, 0xe6, 0xa5, 0xab, 0xa7, 0x5e, + 0xb6, 0x49, 0xae, 0x39, 0x29, 0x8b, 0x56, 0x0a, 0x48, 0xca, 0xd6, 0x12, 0xd9, 0x34, 0x97, 0x94, + 0x45, 0x87, 0x48, 0xaa, 0x92, 0xa0, 0x43, 0x24, 0xc1, 0x0b, 0x34, 0xa1, 0x7e, 0x4c, 0x8b, 0x91, + 0x1c, 0x05, 0xce, 0xb3, 0x23, 0x7d, 0xe7, 0xbb, 0x2f, 0xec, 0x44, 0x3e, 0x09, 0xb6, 0xfa, 0xa5, + 0x6d, 0x82, 0x51, 0xb7, 0x04, 0x13, 0x09, 0x13, 0xc9, 0x69, 0x22, 0xf5, 0xe0, 0x83, 0x4a, 0x53, + 0xfc, 0x39, 0x08, 0x28, 0x34, 0x77, 0x6e, 0xad, 0x33, 0x8c, 0x7a, 0xa4, 0x0d, 0x7a, 0xbe, 0xab, + 0x8d, 0x4b, 0x15, 0xa7, 0x3c, 0x18, 0xa5, 0xe3, 0xcf, 0x8e, 0x2f, 0xbd, 0x49, 0x8b, 0x92, 0x27, + 0xe1, 0xfe, 0x70, 0x02, 0x19, 0x3f, 0xa9, 0xeb, 0x7c, 0xa1, 0x34, 0xf4, 0x6b, 0x00, 0x0a, 0xec, + 0x62, 0xbf, 0x86, 0x15, 0xf2, 0xc7, 0xf1, 0xfe, 0x76, 0x5c, 0x11, 0xb8, 0x6f, 0xf6, 0x54, 0x0b, + 0x04, 0xc3, 0x44, 0x99, 0x12, 0xd7, 0xc0, 0x89, 0x69, 0x9c, 0x98, 0x6e, 0x54, 0x3d, 0xd5, 0x83, + 0x71, 0x0b, 0x27, 0xa6, 0x6b, 0x23, 0x31, 0x58, 0x0c, 0xbd, 0x0e, 0x83, 0x0f, 0x44, 0x02, 0x22, + 0x01, 0x91, 0xba, 0x8d, 0x48, 0x51, 0xf8, 0x7d, 0x14, 0x27, 0x81, 0x88, 0x63, 0x56, 0x48, 0x5a, + 0x10, 0x0b, 0x4c, 0x02, 0x26, 0x01, 0x93, 0xba, 0x85, 0x49, 0x75, 0x34, 0xbd, 0xe0, 0x60, 0x3c, + 0xd0, 0xf0, 0x22, 0x87, 0x07, 0x68, 0x78, 0x41, 0xb1, 0xac, 0x68, 0x78, 0x51, 0xbd, 0xac, 0x8a, + 0x29, 0x92, 0xa1, 0x96, 0x54, 0xfd, 0x99, 0xdd, 0xc6, 0xd7, 0xec, 0x2e, 0x74, 0xd1, 0xc4, 0x7b, + 0x8c, 0x6f, 0x72, 0x86, 0x87, 0x15, 0x38, 0x71, 0x35, 0xdc, 0x5b, 0xc1, 0xbb, 0x6a, 0x9b, 0x9b, + 0xa4, 0x19, 0x6a, 0x1a, 0x51, 0x76, 0xfd, 0x14, 0x35, 0x80, 0xbe, 0xf3, 0xf7, 0xab, 0x74, 0x3e, + 0x21, 0x6d, 0xee, 0x72, 0x1b, 0x79, 0xfb, 0xb6, 0x2c, 0xb1, 0xa4, 0xfb, 0x95, 0x8a, 0xfc, 0x32, + 0xf3, 0x57, 0xa1, 0x80, 0xaf, 0x62, 0x9e, 0xa2, 0x72, 0x28, 0xa0, 0xe2, 0xfa, 0x13, 0x73, 0x92, + 0xaa, 0x46, 0x9c, 0xec, 0xc8, 0x93, 0xcd, 0x34, 0x3d, 0xe7, 0xc8, 0x0b, 0x86, 0x55, 0x73, 0x0a, + 0x8a, 0xe7, 0x01, 0x49, 0xe7, 0xff, 0x90, 0x6c, 0x6f, 0x2e, 0x62, 0x45, 0xb2, 0xbd, 0xbe, 0xf8, + 0xd3, 0xb4, 0x74, 0xfb, 0x48, 0x10, 0x2b, 0xd0, 0x17, 0x64, 0x40, 0xe3, 0xa1, 0xf1, 0xd0, 0xf8, + 0xfa, 0x35, 0x5e, 0x47, 0xe4, 0x54, 0x59, 0xad, 0x11, 0x3f, 0x35, 0x1e, 0x3f, 0x55, 0x04, 0x61, + 0x42, 0xfc, 0x94, 0x2a, 0x45, 0x9d, 0xf1, 0x53, 0xe8, 0xa9, 0xc4, 0x4f, 0xe3, 0x6f, 0x69, 0x8e, + 0x9f, 0x3e, 0xd4, 0x15, 0x3f, 0x29, 0xa4, 0x4a, 0x76, 0x29, 0x82, 0xaa, 0x9e, 0xea, 0x68, 0x38, + 0x86, 0x72, 0xbc, 0x27, 0x19, 0xc8, 0x38, 0x89, 0x9c, 0x44, 0x3e, 0x8b, 0xe9, 0x28, 0x79, 0x65, + 0x2f, 0xab, 0x50, 0x1a, 0xfc, 0x2d, 0xf8, 0x5b, 0x3b, 0xeb, 0x6f, 0x31, 0xec, 0x78, 0x8b, 0xd8, + 0xe3, 0x49, 0xb1, 0xa7, 0x93, 0x9e, 0x58, 0xcd, 0x19, 0x0c, 0x22, 0x31, 0x70, 0x12, 0xe1, 0xd9, + 0x63, 0xbb, 0x66, 0x0b, 0x6f, 0x20, 0xec, 0x61, 0x28, 0x83, 0x84, 0x80, 0x2a, 0xeb, 0x65, 0xa2, + 0x4c, 0x1a, 0xe8, 0xb2, 0x8b, 0x65, 0xd2, 0x2b, 0xfb, 0xdc, 0x56, 0x3a, 0x55, 0x54, 0xe8, 0x69, + 0xe6, 0xa4, 0xa2, 0xc8, 0x07, 0x45, 0x3e, 0x8d, 0xaa, 0xa0, 0x9a, 0x2a, 0x2a, 0xaa, 0x24, 0xdd, + 0xf4, 0xe7, 0x76, 0x8f, 0x2f, 0x9c, 0x7e, 0x24, 0xfa, 0x1c, 0x55, 0x3e, 0x47, 0x04, 0x19, 0x37, + 0x05, 0xd1, 0xf8, 0xe7, 0x2c, 0xf8, 0x5e, 0x7c, 0x45, 0x9f, 0xf3, 0xb1, 0x79, 0xe1, 0xaf, 0x57, + 0x3e, 0x1e, 0xa3, 0xc7, 0xca, 0x47, 0xe1, 0x4b, 0x90, 0x37, 0xca, 0x2b, 0x7f, 0x93, 0x82, 0x8c, + 0xc1, 0x75, 0x1f, 0xe9, 0xdd, 0x33, 0xe2, 0x2b, 0x40, 0x15, 0xa0, 0x0a, 0x50, 0x05, 0xa8, 0x2a, + 0x83, 0xaa, 0xe9, 0x80, 0x99, 0x3d, 0x28, 0x0f, 0x68, 0x2e, 0x8b, 0x03, 0x70, 0x02, 0x38, 0x01, + 0x9c, 0x00, 0xce, 0xad, 0xc0, 0x59, 0x2b, 0x4a, 0xd6, 0x51, 0x14, 0xbf, 0x84, 0x83, 0x56, 0xe6, + 0x4a, 0x5a, 0x0c, 0x41, 0x3b, 0x6b, 0xb1, 0xbc, 0x62, 0x65, 0x34, 0xca, 0xab, 0xab, 0x25, 0x49, + 0xc7, 0x7e, 0x01, 0x1b, 0xf1, 0x69, 0x11, 0xf3, 0xa8, 0xa1, 0x27, 0x1e, 0x4f, 0xb2, 0x9b, 0x19, + 0xff, 0xf3, 0xdc, 0x1b, 0x88, 0x9b, 0xf4, 0x4e, 0x4c, 0x20, 0x9d, 0xb3, 0xc6, 0x59, 0xf4, 0x29, + 0x61, 0x05, 0xb2, 0x30, 0x1f, 0x0c, 0x14, 0x33, 0xe6, 0x83, 0x6d, 0xf2, 0xe0, 0x31, 0x1f, 0x0c, + 0xf3, 0xc1, 0xf8, 0x9c, 0x77, 0xcc, 0x07, 0x23, 0x6c, 0x3f, 0xcc, 0x07, 0xab, 0x53, 0x4d, 0xb9, + 0xd5, 0x55, 0x9b, 0xda, 0x6a, 0x53, 0x5f, 0x7d, 0x6a, 0x4c, 0x53, 0x67, 0xa2, 0x5a, 0xf3, 0x45, + 0xe6, 0xb9, 0x9d, 0x87, 0xf9, 0x60, 0x7a, 0x5e, 0x17, 0xe6, 0x83, 0x01, 0x4a, 0x01, 0xa5, 0x9d, + 0x82, 0x52, 0xcc, 0x07, 0xab, 0xc8, 0xe3, 0x61, 0x3e, 0x18, 0xe6, 0x83, 0x61, 0x3e, 0x18, 0x3f, + 0x34, 0xf2, 0x49, 0xc1, 0x7c, 0xb0, 0x2a, 0x72, 0x18, 0x38, 0xf6, 0x1c, 0xdf, 0xdb, 0xf8, 0x64, + 0xb0, 0x09, 0xdd, 0x3e, 0xbb, 0x2f, 0x0c, 0x05, 0xab, 0xef, 0xd5, 0x37, 0x91, 0x56, 0x59, 0x7d, + 0xcf, 0x26, 0x24, 0x54, 0xdc, 0x30, 0x4e, 0xd8, 0x06, 0x9b, 0x14, 0x09, 0x43, 0xdd, 0xbe, 0xf6, + 0x38, 0x08, 0x75, 0xfb, 0xea, 0xd8, 0xa4, 0x9c, 0x56, 0x49, 0xf7, 0xba, 0xe3, 0x0f, 0xc2, 0x48, + 0x26, 0x3f, 0x18, 0x5a, 0x05, 0xaf, 0xc8, 0x43, 0x75, 0x14, 0xaa, 0xa3, 0x1a, 0x55, 0xbb, 0x66, + 0xbc, 0x45, 0x34, 0x09, 0x56, 0x40, 0x21, 0xa5, 0x7e, 0x29, 0xc5, 0x00, 0xa4, 0xd0, 0x36, 0x05, + 0xd8, 0x03, 0xec, 0x01, 0xf6, 0x74, 0x15, 0x7b, 0x68, 0x99, 0x98, 0x65, 0xf0, 0xa1, 0xa4, 0x61, + 0x80, 0x3e, 0x40, 0x1f, 0xa0, 0x0f, 0x5a, 0x91, 0x17, 0x6f, 0x5e, 0x8a, 0x7f, 0x83, 0xfe, 0xe3, + 0x79, 0x10, 0x40, 0xff, 0x71, 0x8a, 0xe1, 0x44, 0x81, 0x7c, 0x75, 0x06, 0x97, 0x4e, 0x2d, 0x72, + 0x50, 0xb8, 0xa7, 0x61, 0x9c, 0x9c, 0x2e, 0xdf, 0x84, 0x01, 0x1c, 0xae, 0x27, 0x7c, 0xf9, 0x2c, + 0xa2, 0x37, 0x3b, 0x1c, 0xef, 0x09, 0x36, 0x36, 0x77, 0xb3, 0x58, 0x0c, 0xa9, 0x06, 0xaf, 0x8b, + 0x21, 0xd5, 0x8c, 0xee, 0x93, 0x1e, 0x6c, 0x10, 0x81, 0xeb, 0x0c, 0xe7, 0x6f, 0x49, 0x19, 0x0c, + 0x56, 0xe4, 0x20, 0xab, 0x03, 0xed, 0xdf, 0xc5, 0xac, 0x0e, 0x4e, 0xbc, 0x83, 0xd9, 0x00, 0xb3, + 0x61, 0x2a, 0xb3, 0x81, 0x13, 0xef, 0x6d, 0xe3, 0x5e, 0x9a, 0x0f, 0x1c, 0x49, 0x8e, 0x0b, 0x47, + 0xcc, 0x78, 0x3e, 0xbe, 0x81, 0x7b, 0x25, 0x9d, 0xd5, 0xe4, 0x12, 0x46, 0x51, 0xc8, 0x17, 0x25, + 0x16, 0x4a, 0x43, 0x70, 0x08, 0xf7, 0x10, 0xc1, 0xa1, 0xf1, 0xc1, 0xa1, 0xef, 0x24, 0x22, 0x70, + 0xdf, 0xd8, 0xb0, 0x60, 0x8d, 0x3c, 0x04, 0x8b, 0x40, 0x83, 0x5d, 0x0c, 0x16, 0xfb, 0xf2, 0x55, + 0x78, 0x36, 0x93, 0x12, 0xe5, 0xb6, 0xd4, 0x46, 0xe9, 0x0d, 0x87, 0x92, 0x1f, 0x10, 0x4a, 0x22, + 0x94, 0x6c, 0x75, 0x28, 0xd9, 0x8d, 0x12, 0x9d, 0xbf, 0x65, 0x92, 0xd0, 0x33, 0x42, 0xb9, 0xc5, + 0x2b, 0x16, 0x0b, 0x4c, 0x02, 0x26, 0x01, 0x93, 0x80, 0x49, 0x5b, 0xee, 0xf1, 0x9f, 0x91, 0x90, + 0xc1, 0x40, 0x9b, 0xdb, 0xb4, 0x59, 0x3c, 0x28, 0x78, 0x60, 0x14, 0x30, 0x0a, 0x18, 0xb5, 0xe5, + 0x1e, 0x93, 0xc8, 0xe9, 0xf7, 0xa5, 0x6b, 0x0f, 0xa3, 0x70, 0x28, 0xa2, 0xe4, 0x8d, 0xe9, 0x88, + 0x45, 0xb1, 0x58, 0x60, 0x12, 0x30, 0x09, 0x98, 0x04, 0x4c, 0xda, 0x72, 0x8f, 0x2f, 0x4e, 0xe0, + 0x69, 0x88, 0xe5, 0x8a, 0xc5, 0x22, 0x96, 0x03, 0x26, 0x01, 0x93, 0xba, 0x85, 0x49, 0xb5, 0xb4, + 0xbe, 0x67, 0xf0, 0x80, 0x70, 0x20, 0x23, 0x0f, 0x08, 0x38, 0x90, 0x41, 0x31, 0xad, 0x38, 0x90, + 0x51, 0xbd, 0xae, 0x86, 0x8d, 0x60, 0xa1, 0xd6, 0xd7, 0x5c, 0x4e, 0x6e, 0xc4, 0xbc, 0x63, 0x19, + 0xbe, 0xf3, 0x26, 0xa2, 0x31, 0xd2, 0x25, 0xa1, 0x1b, 0xfa, 0x6a, 0x21, 0xe4, 0x42, 0x6a, 0x3d, + 0x2f, 0x0c, 0x55, 0x36, 0xda, 0x71, 0x16, 0x79, 0x75, 0x75, 0x8c, 0xa2, 0x57, 0xd9, 0xd0, 0x37, + 0xbd, 0xd5, 0xd0, 0xc4, 0x6d, 0x78, 0x34, 0xf0, 0x68, 0x3a, 0xee, 0xd1, 0xe8, 0xb1, 0xa9, 0xb2, + 0x2f, 0xdc, 0x37, 0xd7, 0x9f, 0xcd, 0xdf, 0x57, 0xb7, 0xa7, 0x2b, 0x82, 0xba, 0x62, 0x4b, 0x31, + 0xf9, 0x67, 0x83, 0x25, 0x35, 0x73, 0xf2, 0x0f, 0x83, 0x1d, 0x25, 0x6d, 0xf6, 0xa6, 0x6c, 0xa8, + 0x1e, 0x00, 0x09, 0xe3, 0x98, 0xaf, 0xde, 0xb5, 0x40, 0x18, 0x9c, 0x72, 0x40, 0x09, 0x4a, 0xdf, + 0x19, 0x19, 0x4d, 0x3d, 0x38, 0x40, 0x8b, 0xc6, 0x09, 0xe1, 0xb7, 0x72, 0x59, 0xfb, 0x01, 0x5c, + 0x06, 0xb8, 0x0c, 0x25, 0x6f, 0x53, 0xb9, 0xa4, 0x9d, 0xa9, 0x9d, 0x1b, 0x3a, 0xb9, 0x61, 0x44, + 0xa0, 0xd5, 0xac, 0x82, 0xa9, 0xc7, 0xdb, 0x16, 0x12, 0x88, 0xb5, 0xf1, 0x14, 0x29, 0x50, 0x30, + 0x55, 0x57, 0x2d, 0xc8, 0x02, 0xf2, 0x00, 0x79, 0x80, 0x3c, 0xdd, 0x41, 0x9e, 0x3a, 0x4a, 0x17, + 0x94, 0xe1, 0x05, 0x33, 0xf9, 0xad, 0x56, 0x66, 0xb8, 0x55, 0xd3, 0x4d, 0xc4, 0x7c, 0x76, 0xaa, + 0x86, 0x26, 0x44, 0xc8, 0xa1, 0x27, 0xec, 0x68, 0xe4, 0x0b, 0x7b, 0x10, 0x85, 0xa3, 0x21, 0x21, + 0x58, 0x5e, 0x11, 0xd4, 0x95, 0xb8, 0x19, 0x0c, 0x59, 0x2b, 0x19, 0x32, 0xe5, 0xd8, 0xb9, 0x60, + 0xc8, 0x14, 0xd9, 0xa7, 0x65, 0x19, 0x5c, 0x65, 0x71, 0x0e, 0xde, 0xff, 0x00, 0xdf, 0x16, 0xbe, + 0x6d, 0xdb, 0x06, 0xef, 0x2f, 0xcc, 0xf9, 0x63, 0x1b, 0x1a, 0xcd, 0x32, 0x3b, 0x90, 0x41, 0x35, + 0xd9, 0xc2, 0x4f, 0x4e, 0x55, 0xd5, 0xa4, 0xb2, 0xdc, 0xaa, 0xab, 0x4d, 0x85, 0xb5, 0xa9, 0xb2, + 0x3e, 0x95, 0xa6, 0xa9, 0x36, 0x51, 0xc5, 0xd9, 0x54, 0x3d, 0x13, 0x94, 0x8e, 0xdc, 0x67, 0xdb, + 0x1f, 0xd9, 0x18, 0x6a, 0x9e, 0x41, 0xfe, 0x16, 0xff, 0x90, 0x5e, 0x36, 0xf5, 0xd7, 0x01, 0x03, + 0x9a, 0xe1, 0x40, 0x17, 0x2c, 0x68, 0x87, 0x07, 0xed, 0x30, 0xa1, 0x1f, 0x2e, 0x78, 0x60, 0x83, + 0x09, 0x3e, 0xf8, 0xd8, 0xb0, 0xb5, 0x3b, 0x77, 0xe6, 0x87, 0xdb, 0x8c, 0x50, 0x60, 0x11, 0x2b, + 0x6c, 0xd6, 0xca, 0x54, 0xab, 0xbc, 0xd1, 0xf7, 0x8a, 0x19, 0x5e, 0x2f, 0x31, 0x45, 0xb9, 0xf6, + 0xbd, 0x52, 0x52, 0x96, 0x80, 0x76, 0x40, 0x3b, 0xa0, 0xbd, 0xf5, 0xd0, 0x3e, 0x92, 0x41, 0xf2, + 0xe9, 0x50, 0x03, 0xa6, 0x1f, 0x33, 0x8a, 0xbc, 0x75, 0x82, 0xc1, 0xf8, 0x6e, 0xff, 0xc3, 0xba, + 0x89, 0x78, 0x95, 0xca, 0x9a, 0xe6, 0x2d, 0xd8, 0xb5, 0x55, 0x13, 0xc0, 0xe6, 0xc4, 0xff, 0x39, + 0xb5, 0x31, 0xba, 0xe4, 0x7f, 0x89, 0x1c, 0x37, 0x91, 0x61, 0x70, 0x26, 0x07, 0x32, 0xcd, 0xc8, + 0x1c, 0xb0, 0x5f, 0xe7, 0xd7, 0x3b, 0x0d, 0xaf, 0xd4, 0x79, 0x6d, 0xfd, 0x2b, 0xed, 0x1d, 0x1f, + 0x1e, 0x7e, 0x3a, 0x3a, 0x3c, 0x3c, 0x38, 0xfa, 0xd7, 0xd1, 0xc1, 0xbf, 0x3f, 0x7e, 0xec, 0x7d, + 0xea, 0x7d, 0x6c, 0xf1, 0x5b, 0xde, 0x33, 0x53, 0xda, 0x83, 0x29, 0x0e, 0x67, 0xa3, 0x64, 0x06, + 0x31, 0x87, 0x99, 0x93, 0xc7, 0x90, 0xd3, 0x5c, 0xce, 0xc5, 0xbd, 0xcf, 0xe7, 0x17, 0xde, 0xb3, + 0xf1, 0x9a, 0x16, 0x47, 0x32, 0x34, 0xf4, 0xc4, 0xed, 0xc8, 0x17, 0xbf, 0x8f, 0xef, 0xf6, 0xf1, + 0x64, 0x76, 0xb7, 0xa7, 0xd3, 0x9b, 0x7d, 0xbc, 0x1f, 0xdf, 0xec, 0xdd, 0xf8, 0x5e, 0xf7, 0x9a, + 0xd9, 0x26, 0xf5, 0x12, 0xe1, 0x4c, 0x1b, 0xaa, 0x96, 0x8d, 0x44, 0xc9, 0xcc, 0xe8, 0xdd, 0x35, + 0xfb, 0x46, 0x0f, 0x55, 0x7e, 0x1a, 0x86, 0xb1, 0xf0, 0x28, 0x99, 0xf7, 0x3c, 0x67, 0x51, 0x20, + 0x14, 0x69, 0x44, 0x74, 0xf8, 0x61, 0x88, 0x35, 0xdb, 0xd6, 0xe1, 0x87, 0x9c, 0x4a, 0x5c, 0x01, + 0x3e, 0xda, 0xa0, 0xb0, 0xdc, 0x96, 0x2c, 0x94, 0xce, 0x93, 0x5e, 0x3c, 0xd8, 0xf9, 0xf4, 0x22, + 0x83, 0x2a, 0xeb, 0xa2, 0x9b, 0x76, 0x21, 0xc1, 0x48, 0x57, 0x75, 0x33, 0xbc, 0x72, 0x36, 0x02, + 0x89, 0x71, 0x2e, 0x59, 0xce, 0xbe, 0x1e, 0x31, 0xc8, 0xd2, 0x3e, 0xa7, 0x2c, 0xf5, 0x04, 0xf3, + 0x1f, 0x2d, 0xfa, 0x85, 0x5c, 0x83, 0xcd, 0x18, 0x3c, 0xf5, 0x77, 0x44, 0xd0, 0xd7, 0x80, 0xf4, + 0x80, 0x77, 0xc0, 0x3b, 0xe0, 0x1d, 0xf0, 0xde, 0x1a, 0x78, 0x6f, 0x2b, 0x80, 0xf3, 0xcc, 0xf5, + 0xcd, 0xe3, 0x12, 0xc3, 0x7c, 0x5f, 0x00, 0x39, 0x80, 0x1c, 0x40, 0x0e, 0x20, 0x37, 0x72, 0x9e, + 0x30, 0x03, 0x6a, 0xd7, 0x4a, 0xef, 0xcc, 0xda, 0x0c, 0x2f, 0xe2, 0xb2, 0x95, 0xb9, 0xda, 0x16, + 0x23, 0xbd, 0x42, 0x3b, 0xd5, 0x97, 0x49, 0xe1, 0x38, 0xdd, 0x37, 0x17, 0xc6, 0x70, 0xca, 0x2f, + 0x13, 0x46, 0x3a, 0xed, 0x47, 0x7d, 0x8f, 0xe6, 0x26, 0x3a, 0xf8, 0xb8, 0x74, 0x8b, 0x3d, 0xd3, + 0x71, 0x3a, 0xbd, 0xb7, 0xec, 0x13, 0xb3, 0x33, 0x1d, 0x71, 0xc2, 0x3e, 0xcd, 0xa0, 0x48, 0x28, + 0x32, 0x1d, 0xc8, 0x74, 0x18, 0xe1, 0x56, 0xb5, 0x2c, 0xd3, 0x91, 0xea, 0x92, 0xe3, 0x0f, 0xc2, + 0x48, 0x26, 0x3f, 0x9e, 0xf8, 0x82, 0xa6, 0x15, 0xb9, 0x88, 0x9a, 0x10, 0x35, 0x21, 0x6a, 0x32, + 0x38, 0x6a, 0x22, 0xf7, 0x03, 0xc9, 0x99, 0xd4, 0xe3, 0x16, 0x32, 0x48, 0x29, 0x6a, 0x91, 0x1a, + 0x15, 0x15, 0x03, 0x21, 0xa1, 0x5f, 0x11, 0x30, 0x10, 0x18, 0x08, 0x0c, 0x04, 0x06, 0xd6, 0x8b, + 0x81, 0x3c, 0xe7, 0xaf, 0x96, 0x41, 0x90, 0xe3, 0xf0, 0x15, 0x50, 0x10, 0x28, 0x08, 0x14, 0x04, + 0x0a, 0x1a, 0x18, 0x8a, 0x4f, 0x59, 0x69, 0xaa, 0xbf, 0xa7, 0x85, 0x72, 0x66, 0x82, 0xf1, 0x1e, + 0x15, 0xbd, 0x19, 0x81, 0x48, 0xc3, 0x18, 0x19, 0xad, 0x30, 0xc4, 0x31, 0x56, 0xa6, 0x59, 0xc7, + 0x00, 0x89, 0x87, 0x55, 0x39, 0x3a, 0x12, 0x0f, 0x5c, 0xd4, 0xb6, 0xa5, 0x21, 0xf1, 0x10, 0x27, + 0x94, 0x01, 0x7c, 0xea, 0xbb, 0x57, 0x25, 0xf3, 0x20, 0x83, 0x44, 0x44, 0xac, 0x07, 0x2c, 0x72, + 0x12, 0x91, 0x73, 0x40, 0xce, 0xc1, 0x08, 0x57, 0xb4, 0x65, 0x39, 0x07, 0x27, 0x8e, 0x43, 0x57, + 0x3a, 0x89, 0xf0, 0x6c, 0x6a, 0xff, 0xd1, 0xb5, 0x1b, 0x73, 0xc3, 0x35, 0x0c, 0x6b, 0xe4, 0xf6, + 0x01, 0x11, 0x28, 0x22, 0xd0, 0x16, 0x47, 0xa0, 0x6c, 0xcd, 0xdc, 0xb4, 0x1c, 0xba, 0xca, 0x6d, + 0x6d, 0x0d, 0x87, 0xaf, 0x98, 0xc9, 0x29, 0x76, 0x92, 0x4a, 0x07, 0x54, 0x68, 0x87, 0x0c, 0x5d, + 0xd0, 0xa1, 0x1d, 0x42, 0xb4, 0x43, 0x49, 0x1d, 0x90, 0xc2, 0x03, 0x2d, 0x4c, 0x10, 0xc3, 0x4f, + 0x76, 0xe5, 0x76, 0x2f, 0x5f, 0xd1, 0x68, 0xce, 0x4f, 0x38, 0x62, 0x94, 0xb9, 0x8b, 0x87, 0xbd, + 0xf8, 0xb6, 0x1a, 0x47, 0xe3, 0x39, 0xbe, 0x43, 0x60, 0xc5, 0x96, 0x07, 0xe6, 0x06, 0xe6, 0x06, + 0xe6, 0x06, 0xe6, 0x06, 0xe6, 0x46, 0xdb, 0xe1, 0x33, 0xb3, 0x0c, 0x0a, 0xef, 0xa1, 0xb4, 0x3c, + 0x0e, 0x32, 0x1e, 0x4e, 0x83, 0x61, 0x81, 0x61, 0x81, 0x61, 0x81, 0x61, 0xd9, 0x01, 0xc3, 0x62, + 0x94, 0x15, 0x69, 0x94, 0x9e, 0xab, 0xef, 0xb0, 0x5c, 0x76, 0x49, 0x96, 0x0a, 0x86, 0x4c, 0x1a, + 0x67, 0x25, 0x43, 0x4e, 0x5f, 0x3e, 0x70, 0x99, 0x4c, 0x0d, 0xe8, 0xae, 0xb1, 0xc2, 0xa1, 0x16, + 0x6c, 0x5f, 0xc2, 0xf5, 0x0f, 0xbb, 0xe4, 0xd3, 0x71, 0x56, 0x42, 0x64, 0x42, 0x59, 0x2a, 0x22, + 0xb8, 0x50, 0xc3, 0xfc, 0xa6, 0xa6, 0xab, 0xd9, 0xf8, 0xf7, 0xda, 0x32, 0x7e, 0x16, 0x7b, 0x25, + 0xc5, 0xc5, 0xf8, 0xde, 0x17, 0x7a, 0x57, 0x66, 0x77, 0xbe, 0xf4, 0x67, 0x6d, 0xac, 0x11, 0x62, + 0x1c, 0x8f, 0x97, 0xc3, 0x6a, 0xd6, 0xee, 0xa3, 0x56, 0xa7, 0x52, 0xb9, 0x98, 0xc9, 0x85, 0x99, + 0x5c, 0x5b, 0x1e, 0x8b, 0x2d, 0x8d, 0xcb, 0x38, 0x86, 0xaf, 0x80, 0xed, 0x60, 0x6c, 0x5b, 0xcd, + 0x08, 0x01, 0x2d, 0xa6, 0x3a, 0x30, 0xc4, 0xa5, 0x41, 0xa2, 0x63, 0xb7, 0x87, 0xb8, 0x70, 0x41, + 0x4a, 0x26, 0x90, 0x75, 0xdc, 0x5f, 0x4e, 0x1d, 0x98, 0x67, 0x7d, 0x59, 0xfa, 0xe6, 0x5d, 0xb0, + 0xc3, 0x8c, 0x4e, 0xb8, 0xa9, 0x09, 0x76, 0x74, 0xc3, 0x4f, 0x6d, 0x30, 0x54, 0x1b, 0x1c, 0xd5, + 0x07, 0x4b, 0xbc, 0xf0, 0xc4, 0x0c, 0x53, 0xd9, 0x32, 0xb0, 0xb3, 0xb2, 0xb9, 0x9d, 0xaf, 0x6b, + 0xac, 0x60, 0xce, 0x9b, 0x39, 0xd4, 0x20, 0x9b, 0x77, 0xcc, 0x20, 0xff, 0x96, 0x60, 0xdc, 0x0e, + 0xcc, 0xe3, 0x07, 0x73, 0xfb, 0x80, 0x73, 0x0c, 0x21, 0x4c, 0x0d, 0x4c, 0x0d, 0x4c, 0x0d, 0x4c, + 0xcd, 0xaa, 0x33, 0xcb, 0x3d, 0xe6, 0x70, 0x15, 0x67, 0x8e, 0x35, 0x88, 0xd6, 0x33, 0xf6, 0x70, + 0xf6, 0xa3, 0x47, 0x49, 0x2d, 0xdd, 0x63, 0x10, 0x35, 0x03, 0x7c, 0xee, 0x32, 0x9a, 0xc7, 0x22, + 0x66, 0xd7, 0xa9, 0x61, 0x70, 0x9e, 0x26, 0xf5, 0x5d, 0x7e, 0xf5, 0x1a, 0xc7, 0x25, 0x36, 0xf5, + 0xea, 0xeb, 0x1b, 0x9f, 0xd8, 0xc8, 0x6e, 0xd8, 0x6b, 0x87, 0xd4, 0x07, 0x53, 0x1d, 0x6d, 0xa3, + 0x48, 0x26, 0xe6, 0x4c, 0x65, 0x26, 0xb7, 0x8e, 0x8c, 0xa5, 0xe6, 0xb9, 0x8c, 0xf3, 0x67, 0xd1, + 0x99, 0xbc, 0xd4, 0x35, 0xae, 0x91, 0x6f, 0xbb, 0x61, 0x3e, 0x28, 0x79, 0x63, 0x1a, 0x9f, 0x42, + 0xe7, 0x19, 0xff, 0x48, 0xdf, 0x31, 0xe4, 0xce, 0x5b, 0x4c, 0xcd, 0x92, 0xf3, 0xdc, 0x13, 0x6b, + 0x67, 0x09, 0x0b, 0x27, 0xa1, 0xcd, 0xe0, 0x0c, 0x70, 0x12, 0xda, 0x1c, 0xa4, 0x67, 0x4b, 0xa1, + 0x33, 0x37, 0x65, 0x2e, 0xc6, 0x02, 0xae, 0xe6, 0xcc, 0x9a, 0x82, 0x14, 0x9c, 0x1a, 0xb0, 0x90, + 0x4c, 0x6f, 0x08, 0x46, 0xcc, 0x8c, 0x74, 0xf4, 0x9d, 0x1a, 0x60, 0x6b, 0xf9, 0x97, 0x73, 0x0d, + 0x8e, 0x77, 0xa8, 0xea, 0x97, 0xaf, 0x39, 0x74, 0x31, 0x20, 0x33, 0x34, 0x89, 0x06, 0x16, 0x03, + 0x8b, 0x81, 0xc5, 0xc0, 0xe2, 0x6e, 0x60, 0x31, 0x6f, 0x96, 0x9e, 0xbf, 0x59, 0x35, 0xd0, 0x18, + 0x68, 0x0c, 0x34, 0x06, 0x1a, 0x9b, 0x8d, 0xc6, 0x26, 0x9c, 0x4e, 0x65, 0x1b, 0x92, 0xd2, 0xa2, + 0xa3, 0xa7, 0x3d, 0x1c, 0x3d, 0xad, 0xe7, 0xe8, 0x69, 0x0f, 0x47, 0x4f, 0xb7, 0x08, 0xc5, 0xd1, + 0x53, 0x5a, 0xbe, 0x8c, 0x3f, 0xb7, 0x62, 0xe9, 0x4e, 0x98, 0x71, 0x35, 0xf3, 0xa6, 0x6b, 0x07, + 0x25, 0x63, 0xe6, 0x3b, 0x89, 0x08, 0xdc, 0x37, 0x6d, 0x49, 0xb3, 0x35, 0xf2, 0x91, 0x37, 0xab, + 0xdd, 0xed, 0x47, 0xde, 0x0c, 0x79, 0xb3, 0xad, 0x82, 0xfa, 0xf2, 0x55, 0x78, 0xb6, 0x26, 0x50, + 0xc8, 0x6d, 0xf1, 0x8d, 0x57, 0x33, 0x9c, 0x39, 0xf8, 0x00, 0xe6, 0x00, 0xcc, 0x01, 0x98, 0x03, + 0x30, 0x07, 0x0d, 0x87, 0x33, 0x7f, 0xcb, 0x64, 0xec, 0x4b, 0xeb, 0x86, 0xea, 0xe2, 0xcb, 0x00, + 0xa3, 0x81, 0xd1, 0xc0, 0x68, 0x60, 0x34, 0x30, 0x7a, 0xe3, 0x33, 0xfd, 0x33, 0x12, 0x32, 0x18, + 0xd4, 0xe6, 0x56, 0x6f, 0xbe, 0x1c, 0x32, 0x72, 0xc0, 0x6c, 0x60, 0x36, 0x30, 0x1b, 0x98, 0xbd, + 0xf1, 0x99, 0x92, 0xc8, 0xe9, 0xf7, 0xa5, 0x6b, 0x0f, 0xa3, 0x70, 0x28, 0xa2, 0xe4, 0x4d, 0x53, + 0xdd, 0x5a, 0xf1, 0x65, 0x80, 0xd1, 0xc0, 0x68, 0x60, 0x34, 0x30, 0x1a, 0x18, 0xbd, 0xf1, 0x99, + 0x5e, 0x9c, 0xc0, 0xab, 0x81, 0xfb, 0x28, 0xbe, 0x0c, 0xb8, 0x0f, 0x60, 0x34, 0x30, 0x1a, 0x18, + 0x8d, 0xca, 0x36, 0x3d, 0x6f, 0x30, 0x9b, 0xbb, 0xa0, 0xc1, 0x43, 0x46, 0x95, 0x1b, 0x3f, 0x20, + 0xa2, 0xca, 0xcd, 0x24, 0xd7, 0x08, 0x55, 0x6e, 0x55, 0xe5, 0xd5, 0x50, 0xe5, 0xa6, 0x8d, 0x91, + 0xd5, 0x5a, 0xe8, 0x76, 0x39, 0xb9, 0xeb, 0xf6, 0xd7, 0xba, 0xb1, 0x30, 0x38, 0xf3, 0x61, 0xa4, + 0x0c, 0x66, 0x88, 0xbb, 0x8e, 0xed, 0x00, 0xe3, 0x13, 0x4c, 0x71, 0xe9, 0x31, 0x3e, 0xa1, 0xe2, + 0x63, 0xb1, 0xd5, 0xb0, 0x69, 0x3a, 0xd4, 0x86, 0xf3, 0x6c, 0x46, 0x02, 0x02, 0x62, 0xfe, 0xe6, + 0x00, 0x03, 0x11, 0xff, 0xce, 0x45, 0xfc, 0xef, 0x98, 0xf0, 0x57, 0x53, 0xba, 0x6c, 0x41, 0x36, + 0x90, 0x18, 0x48, 0x0c, 0x24, 0x06, 0x12, 0xef, 0x2a, 0x12, 0x9b, 0xc0, 0xbd, 0xb2, 0xc1, 0xad, + 0x56, 0xc2, 0x95, 0x89, 0xdd, 0x02, 0x65, 0x66, 0x20, 0x65, 0xc6, 0x64, 0xea, 0xb5, 0x12, 0x64, + 0x29, 0x28, 0xb5, 0x90, 0x0f, 0x8b, 0x64, 0xfc, 0x53, 0xdb, 0xc1, 0xcf, 0x22, 0xe1, 0x38, 0xf5, + 0x59, 0xce, 0x25, 0xc3, 0xa9, 0x4f, 0x9c, 0xfa, 0xac, 0x93, 0x31, 0x2b, 0xd0, 0x55, 0x4d, 0xf1, + 0xdb, 0xda, 0x2b, 0x21, 0x9a, 0x33, 0x0e, 0x3a, 0x10, 0xcf, 0x35, 0x09, 0x2d, 0x88, 0xe8, 0xc0, + 0xad, 0xad, 0x41, 0x6a, 0xe9, 0x89, 0x20, 0x91, 0x7d, 0x29, 0x22, 0xdb, 0x97, 0x71, 0xa2, 0x09, + 0xa5, 0x57, 0xaf, 0x02, 0x84, 0x06, 0x42, 0x03, 0xa1, 0x81, 0xd0, 0xe6, 0x22, 0x34, 0xd3, 0x0a, + 0xb2, 0x52, 0x55, 0x6b, 0x28, 0x2b, 0x4d, 0x63, 0x51, 0x7b, 0xdc, 0xfa, 0xa9, 0x71, 0x3e, 0x67, + 0x0d, 0xb5, 0x83, 0xb5, 0xc1, 0x8c, 0xa5, 0xa9, 0x96, 0x90, 0x17, 0x62, 0x2c, 0xe6, 0x19, 0xbf, + 0x3a, 0x08, 0xd3, 0x4c, 0x38, 0x2b, 0x71, 0xca, 0xe8, 0xc4, 0x99, 0x40, 0xcb, 0x6b, 0x8a, 0xa2, + 0x51, 0x15, 0xdd, 0x1a, 0x64, 0x43, 0x55, 0xb4, 0x31, 0x88, 0x85, 0x14, 0x0f, 0x31, 0xc5, 0xc3, + 0x9f, 0x29, 0xb0, 0x74, 0x67, 0x7c, 0x6e, 0x65, 0xfc, 0xb3, 0xfd, 0xf5, 0xd0, 0xe3, 0x77, 0xc0, + 0x98, 0xf0, 0x19, 0x4b, 0x43, 0x86, 0xa7, 0x76, 0x12, 0x00, 0x19, 0x1e, 0x64, 0x78, 0xb6, 0x0a, + 0x72, 0xc5, 0xd0, 0xf6, 0x64, 0x24, 0x5c, 0xd6, 0x31, 0xbf, 0xf3, 0x81, 0x1f, 0x4b, 0xe2, 0x71, + 0x32, 0x1a, 0x4c, 0x21, 0x98, 0xc2, 0x0e, 0x33, 0x85, 0xc3, 0x30, 0x4a, 0xd8, 0xf1, 0x60, 0xc9, + 0x41, 0x38, 0x64, 0x94, 0x79, 0x1e, 0x8c, 0xd2, 0x09, 0xa1, 0xbf, 0x3a, 0xc7, 0x42, 0x32, 0x53, + 0x36, 0x9d, 0xe4, 0x83, 0xde, 0xf1, 0x18, 0xe7, 0x54, 0x65, 0xa2, 0xd0, 0x17, 0x7a, 0x8c, 0xf3, + 0x5c, 0x3c, 0xaf, 0x71, 0xee, 0xc1, 0x38, 0xc3, 0x38, 0xc3, 0x38, 0xf3, 0xc3, 0x3f, 0x97, 0xe7, + 0x9f, 0x09, 0xe4, 0x07, 0x98, 0x62, 0xb3, 0xcf, 0x08, 0x32, 0x9a, 0x22, 0x01, 0x6d, 0xa0, 0xa3, + 0x13, 0x7c, 0x6a, 0x03, 0x21, 0xdd, 0x60, 0x54, 0x1b, 0x28, 0xd5, 0x06, 0x4e, 0x75, 0x82, 0x14, + 0x2f, 0x58, 0x31, 0x83, 0x96, 0xbe, 0xc8, 0xa2, 0x36, 0xa8, 0xb1, 0xf8, 0xcb, 0x12, 0x74, 0x2d, + 0xb2, 0x96, 0x00, 0xa1, 0x96, 0x40, 0xa1, 0x96, 0x80, 0x41, 0x6f, 0xe0, 0xc0, 0xaf, 0x87, 0x9c, + 0x89, 0xf9, 0x4c, 0x3b, 0x6c, 0x16, 0x8a, 0x7f, 0xbb, 0x16, 0xda, 0x0c, 0xe4, 0x3f, 0xac, 0x3e, + 0xac, 0x3e, 0xac, 0x3e, 0xac, 0x7e, 0x69, 0xbc, 0xb1, 0xc3, 0x21, 0x33, 0xbd, 0x98, 0xf3, 0x00, + 0x3e, 0x6a, 0x90, 0x7d, 0x91, 0xd6, 0x55, 0x27, 0x6f, 0xbf, 0x39, 0xb1, 0x46, 0x3d, 0x9b, 0x2d, + 0xd9, 0xcd, 0xf5, 0xed, 0xfd, 0xe3, 0xed, 0xf5, 0xe5, 0xf9, 0xe3, 0xed, 0xb7, 0xcb, 0xf3, 0xc7, + 0xeb, 0x9b, 0xfb, 0x8b, 0xeb, 0x2b, 0x5d, 0x3a, 0xf7, 0xa7, 0xe3, 0x8f, 0xc4, 0xd8, 0x94, 0xff, + 0x47, 0x8b, 0xfc, 0xf1, 0xcf, 0xff, 0x69, 0x93, 0xbc, 0x7d, 0xd9, 0x1e, 0xcf, 0x2e, 0xbe, 0x7c, + 0x39, 0xbf, 0x3d, 0xbf, 0x9a, 0xfc, 0x6a, 0x5f, 0xdb, 0xad, 0xfc, 0x7a, 0xb7, 0x9b, 0xeb, 0x77, + 0x77, 0xf2, 0xf5, 0x1c, 0x4b, 0xa7, 0xb4, 0x74, 0x57, 0xd7, 0xd8, 0x74, 0x6a, 0x2b, 0x77, 0x72, + 0xf5, 0x97, 0xee, 0x95, 0xd3, 0x22, 0xf9, 0xa1, 0x63, 0xee, 0x03, 0xe2, 0xd9, 0xdd, 0x8a, 0x67, + 0x91, 0x4d, 0x35, 0x77, 0x33, 0x69, 0xca, 0xa6, 0x72, 0x95, 0x73, 0xf1, 0xd6, 0xb0, 0x66, 0x72, + 0xeb, 0xa8, 0x65, 0x1d, 0xf9, 0xe2, 0xbd, 0x8e, 0x84, 0xab, 0xa5, 0xbd, 0xa4, 0x75, 0xe4, 0x8b, + 0xc7, 0x53, 0x31, 0xbc, 0x09, 0xa3, 0xe4, 0x76, 0x7c, 0xdf, 0xbb, 0x94, 0x60, 0x0f, 0x9f, 0x86, + 0xbe, 0x78, 0xe5, 0x65, 0xc3, 0xe6, 0xf9, 0xf5, 0x45, 0xe9, 0xa8, 0x7d, 0x33, 0x96, 0xe3, 0x42, + 0x7a, 0xbd, 0x49, 0x0e, 0x0b, 0xa7, 0x64, 0xa9, 0x64, 0xd4, 0x31, 0x3c, 0xaa, 0xce, 0x79, 0x54, + 0x86, 0x98, 0xcf, 0x20, 0x98, 0x94, 0x72, 0xda, 0xf1, 0x50, 0xb8, 0x76, 0x24, 0xfa, 0x22, 0x12, + 0x81, 0xab, 0xc5, 0x96, 0xae, 0xbb, 0x14, 0xea, 0xd6, 0x60, 0x58, 0x61, 0x58, 0x8d, 0x37, 0xac, + 0xec, 0x75, 0x6b, 0x2b, 0x88, 0xa0, 0x2f, 0x99, 0xbd, 0x7a, 0xa1, 0x96, 0x65, 0xb3, 0x0f, 0x90, + 0xcd, 0xae, 0x0d, 0x98, 0x6a, 0x03, 0xa8, 0xda, 0x80, 0xaa, 0x4e, 0xc0, 0xe2, 0xe7, 0x1a, 0xad, + 0x56, 0x66, 0xb3, 0x47, 0x23, 0xe9, 0xb5, 0xa8, 0x7c, 0xcd, 0xc8, 0x4a, 0xa7, 0x55, 0x7f, 0x91, + 0xb5, 0x6b, 0xe5, 0x56, 0xef, 0x94, 0xb1, 0x73, 0x65, 0x6d, 0x76, 0x02, 0x55, 0x4f, 0xb0, 0x13, + 0xb0, 0x13, 0x6d, 0xb2, 0x13, 0xec, 0x8c, 0x52, 0x7b, 0x2c, 0x05, 0x18, 0xaf, 0xce, 0x31, 0x5e, + 0xc8, 0x21, 0x4e, 0x72, 0x88, 0x9a, 0x89, 0x30, 0xab, 0x9e, 0x7c, 0x62, 0xf6, 0x14, 0x77, 0x43, + 0xe1, 0xde, 0x66, 0xcf, 0xb0, 0x43, 0xe4, 0x68, 0x3f, 0x8c, 0x5e, 0x9c, 0xc8, 0x93, 0xc1, 0x40, + 0x53, 0x7a, 0x71, 0xf5, 0x02, 0xc8, 0x30, 0x1a, 0xeb, 0x4f, 0x82, 0x08, 0x6d, 0xd2, 0x5f, 0xec, + 0x4a, 0x86, 0x51, 0x0f, 0x20, 0x58, 0x2d, 0x69, 0xaf, 0x61, 0x04, 0xe8, 0xfb, 0xce, 0x9b, 0x88, + 0xec, 0x61, 0x14, 0x26, 0xa1, 0x1b, 0xfa, 0xf6, 0x3f, 0x23, 0xc7, 0x4f, 0x3b, 0xa5, 0xf3, 0xa3, + 0xff, 0xda, 0x2b, 0xc1, 0x0c, 0xc0, 0x0c, 0xc0, 0x0c, 0x74, 0xd8, 0x0c, 0x68, 0x46, 0x06, 0x4b, + 0xd3, 0x39, 0x28, 0xbd, 0xe7, 0x9f, 0xb2, 0xd5, 0xb9, 0x3c, 0xf9, 0xeb, 0xfc, 0xf6, 0xf1, 0xe6, + 0xf6, 0xfa, 0xfe, 0xfa, 0xf4, 0xfa, 0xf2, 0xf1, 0x7f, 0xbf, 0x9d, 0x5c, 0x5e, 0x7c, 0xb9, 0x38, + 0xbf, 0xe5, 0xd6, 0x18, 0x8d, 0x47, 0x9e, 0x34, 0x9f, 0x0c, 0x5b, 0xb7, 0x42, 0x8f, 0xdf, 0xae, + 0xee, 0x6e, 0xce, 0x4f, 0xc7, 0xff, 0x7f, 0x66, 0x3a, 0x99, 0xf7, 0x00, 0xaa, 0x09, 0x54, 0x53, + 0xcb, 0x5d, 0xc9, 0xd0, 0x75, 0x7c, 0x5b, 0x7a, 0x1a, 0x5c, 0xc7, 0x99, 0x64, 0x4c, 0xee, 0xe1, + 0x71, 0x15, 0x31, 0x29, 0xbb, 0x41, 0x47, 0x11, 0x93, 0xb2, 0xd5, 0x76, 0x2e, 0xe6, 0xaa, 0x95, + 0x79, 0x26, 0x3d, 0xd3, 0x2e, 0x35, 0x4c, 0xb6, 0xec, 0x01, 0x7d, 0x81, 0xbe, 0x40, 0x5f, 0x5e, + 0xf4, 0x65, 0x2f, 0x5a, 0x4d, 0xe7, 0xe6, 0xeb, 0x0b, 0x6e, 0x27, 0xe2, 0x51, 0xa0, 0x5a, 0x4f, + 0xe1, 0x11, 0x3b, 0xf0, 0xe8, 0x06, 0xa0, 0xda, 0x80, 0xa8, 0x36, 0x40, 0xaa, 0x0f, 0x98, 0xf4, + 0xf0, 0x14, 0x28, 0x3a, 0xd2, 0xe5, 0x3e, 0xf2, 0xbf, 0x2f, 0xce, 0xf2, 0xd4, 0x14, 0xa8, 0x35, + 0x17, 0xa5, 0x2e, 0x5c, 0x03, 0x16, 0x01, 0x16, 0x01, 0x16, 0x01, 0x16, 0x01, 0x16, 0x61, 0x87, + 0xcb, 0x50, 0xa7, 0x33, 0x40, 0xd9, 0x61, 0x1f, 0x49, 0x87, 0x15, 0xe1, 0xa8, 0x6f, 0xd5, 0x58, + 0xdf, 0xca, 0xec, 0xaf, 0xe8, 0x2f, 0x65, 0x4d, 0x61, 0x70, 0x87, 0x18, 0xcf, 0xf0, 0x59, 0x44, + 0x91, 0xf4, 0x84, 0x3d, 0x8c, 0x64, 0x18, 0xc9, 0xe4, 0x8d, 0x9f, 0xfe, 0xcc, 0x5f, 0x02, 0x45, + 0x4b, 0x3c, 0x0e, 0x28, 0x8a, 0x96, 0x6a, 0x74, 0x35, 0x51, 0xb4, 0xc4, 0xb7, 0x7b, 0x47, 0x32, + 0x48, 0x3e, 0x1d, 0x6a, 0xc8, 0x46, 0x1d, 0x33, 0x8a, 0xbc, 0x75, 0x82, 0x81, 0x60, 0x2f, 0xe9, + 0xd1, 0xd3, 0xd4, 0x52, 0x63, 0xa8, 0xa8, 0x25, 0xfa, 0xcf, 0xc4, 0xff, 0x39, 0xa5, 0xc8, 0x75, + 0xc9, 0xff, 0x12, 0x39, 0xe9, 0xc1, 0x93, 0x33, 0x39, 0x90, 0xa9, 0x77, 0x78, 0xc0, 0x1f, 0x11, + 0xea, 0x69, 0x21, 0xda, 0xfa, 0x57, 0xda, 0x3b, 0x3e, 0x3c, 0xfc, 0x74, 0x74, 0x78, 0x78, 0x70, + 0xf4, 0xaf, 0xa3, 0x83, 0x7f, 0x7f, 0xfc, 0xd8, 0xfb, 0xa4, 0xa3, 0x91, 0x7a, 0x6d, 0x6f, 0xd9, + 0xd0, 0xa8, 0xf4, 0x61, 0x87, 0x9c, 0xd1, 0x34, 0x3a, 0x48, 0x38, 0xad, 0xce, 0xd2, 0x58, 0xf2, + 0x89, 0x68, 0x38, 0x9f, 0x70, 0x3e, 0xe1, 0x7c, 0x76, 0xd8, 0xf9, 0xe4, 0x86, 0x02, 0x0b, 0x47, + 0xa6, 0x2a, 0x10, 0x34, 0x72, 0x10, 0x38, 0xbe, 0x3d, 0x8c, 0xc2, 0xa1, 0x88, 0x74, 0xb0, 0x0d, + 0xab, 0x17, 0x40, 0xc3, 0x40, 0xc0, 0x3d, 0xe0, 0xde, 0x78, 0xb8, 0x67, 0xaf, 0xbd, 0x72, 0x86, + 0x43, 0x5f, 0xba, 0xce, 0x77, 0x5f, 0xd8, 0x53, 0x48, 0xd0, 0x5c, 0x8d, 0xb5, 0xee, 0x82, 0x68, + 0x0c, 0x85, 0xc6, 0x50, 0x4d, 0x03, 0x56, 0x6d, 0xc0, 0x55, 0x27, 0x80, 0x69, 0x8a, 0xcc, 0x91, + 0x91, 0xcf, 0x39, 0x3d, 0x98, 0x80, 0x8b, 0x89, 0x41, 0xb5, 0x29, 0x21, 0x67, 0xe1, 0x5d, 0x30, + 0x7a, 0xfa, 0x2e, 0x22, 0x3b, 0xec, 0x2f, 0x99, 0xe4, 0x58, 0x9f, 0x13, 0xb0, 0xee, 0x82, 0x70, + 0x02, 0xe0, 0x04, 0xc0, 0x09, 0x80, 0x13, 0xa0, 0x6d, 0xf7, 0xb3, 0x67, 0x54, 0x57, 0xb1, 0xe6, + 0x58, 0x83, 0x68, 0x3d, 0x19, 0xd6, 0xd9, 0x8f, 0xbe, 0x71, 0x93, 0x5a, 0x33, 0xae, 0x9a, 0x41, + 0x3e, 0x77, 0x19, 0xcd, 0x19, 0xd8, 0xec, 0x3a, 0x35, 0xe4, 0xe8, 0x34, 0xa9, 0xef, 0xaa, 0xab, + 0xb6, 0x73, 0xaf, 0xbe, 0xbe, 0x4c, 0x6d, 0x23, 0xbb, 0x61, 0xaf, 0x1d, 0x52, 0x1f, 0x3a, 0xe0, + 0x90, 0xaf, 0xb0, 0xf3, 0x9a, 0xcf, 0xc4, 0x14, 0x5e, 0x0d, 0xae, 0x38, 0x5c, 0x71, 0xb8, 0xe2, + 0x70, 0xc5, 0xb5, 0xed, 0x7e, 0x9c, 0x99, 0xd4, 0x61, 0x29, 0x26, 0x07, 0x5d, 0x58, 0x7b, 0x2b, + 0x6f, 0xb5, 0x17, 0x0b, 0xd7, 0x84, 0xd5, 0x80, 0xd5, 0x80, 0xd5, 0x80, 0xd5, 0xd0, 0x67, 0x35, + 0xea, 0xc2, 0x1e, 0x4b, 0x53, 0x47, 0xcf, 0x4c, 0xb6, 0xd6, 0xce, 0x9e, 0xb9, 0x75, 0xbb, 0xbb, + 0xf8, 0xfd, 0xea, 0xe4, 0xf2, 0xf1, 0xe6, 0xf6, 0xfa, 0xe6, 0xfc, 0xf6, 0xfe, 0xaf, 0xc7, 0x3f, + 0x4f, 0x2e, 0xbf, 0x9d, 0x3f, 0xde, 0x7e, 0xbb, 0x3c, 0xdf, 0xd7, 0x59, 0xdf, 0x1c, 0x6b, 0xa3, + 0xad, 0xf4, 0x52, 0x57, 0x25, 0xd7, 0xee, 0xf1, 0xe4, 0x6a, 0xfa, 0xcf, 0xfd, 0x36, 0xb2, 0x34, + 0xcd, 0xaf, 0xdf, 0xd9, 0xc5, 0x97, 0x2f, 0xe7, 0xb7, 0xe7, 0x57, 0xf7, 0x58, 0x45, 0xc2, 0x2a, + 0x5e, 0x5d, 0x63, 0xfd, 0x28, 0xeb, 0x77, 0x77, 0xf2, 0xf5, 0x5c, 0xfb, 0x02, 0x6a, 0x91, 0xfc, + 0xd0, 0x99, 0x03, 0x1c, 0xbf, 0x70, 0xa0, 0x9c, 0xf1, 0x40, 0xb9, 0x9e, 0xf2, 0x5f, 0xab, 0x96, + 0xb3, 0xe5, 0x77, 0xe9, 0xbd, 0xdf, 0xcc, 0x6e, 0xdd, 0x94, 0xaa, 0xef, 0xbd, 0x06, 0xf7, 0xe5, + 0xac, 0xcd, 0x05, 0x53, 0x13, 0x63, 0xde, 0x5a, 0xa1, 0x95, 0xda, 0x20, 0xe6, 0x42, 0xf6, 0x1e, + 0x57, 0xe9, 0xba, 0x86, 0xb0, 0x77, 0x31, 0xd4, 0x7d, 0x92, 0x81, 0x2d, 0x66, 0xab, 0xc0, 0xa8, + 0x6e, 0x3a, 0x83, 0xdc, 0xa5, 0xc0, 0xb6, 0xb7, 0x4b, 0xfd, 0x1c, 0x74, 0x54, 0x92, 0xf1, 0x56, + 0x8e, 0x51, 0x11, 0x81, 0xd9, 0x42, 0xd5, 0x65, 0x99, 0xf6, 0x39, 0x0e, 0xcf, 0x68, 0xb6, 0x40, + 0x34, 0x45, 0x50, 0x57, 0x00, 0xc2, 0x96, 0xd8, 0x4f, 0xc2, 0x64, 0x6c, 0xef, 0xc3, 0x44, 0x04, + 0x89, 0x74, 0x7c, 0xdb, 0x75, 0x86, 0x8e, 0xcb, 0xd1, 0xc7, 0x64, 0xce, 0x4b, 0xae, 0xbb, 0x02, + 0xd5, 0xb4, 0xb1, 0x1c, 0x29, 0x62, 0xe3, 0x7c, 0x39, 0x39, 0x5e, 0x4d, 0x7d, 0xf2, 0xb8, 0x4d, + 0x99, 0x36, 0xc6, 0x56, 0x9b, 0xf1, 0xd2, 0xd7, 0xe7, 0xae, 0x59, 0x37, 0x8f, 0xeb, 0xf8, 0xcf, + 0x54, 0x59, 0x63, 0xf9, 0x5f, 0x0d, 0x67, 0xc8, 0x17, 0x64, 0xa3, 0x9b, 0xbb, 0x61, 0xd0, 0xa0, + 0xd3, 0xdb, 0xb5, 0xd0, 0xcd, 0xbd, 0x85, 0x4c, 0x06, 0xfb, 0x89, 0xc2, 0x51, 0x20, 0x13, 0x7d, + 0xb9, 0xe7, 0x54, 0x3a, 0x3a, 0xf7, 0xa2, 0x73, 0x6f, 0xb3, 0x30, 0x54, 0x1b, 0x1c, 0xd5, 0x07, + 0x4b, 0xbc, 0xf0, 0xc4, 0x0c, 0x53, 0xd9, 0x32, 0xe8, 0xcf, 0x30, 0xcf, 0xe2, 0x16, 0x5b, 0x03, + 0xd4, 0x58, 0x9a, 0x7a, 0x60, 0x64, 0xb2, 0x79, 0x7b, 0x61, 0xf0, 0x6f, 0x09, 0xf6, 0x76, 0xf1, + 0x18, 0x1b, 0x02, 0x53, 0x03, 0x53, 0x03, 0x53, 0x83, 0xd3, 0x68, 0x45, 0x38, 0x83, 0xd3, 0x68, + 0x0b, 0x37, 0x8e, 0xd3, 0x68, 0xd5, 0xaf, 0x83, 0xd3, 0x68, 0xc6, 0xbe, 0x7a, 0x9c, 0x46, 0x33, + 0x41, 0xea, 0x03, 0xca, 0x65, 0xca, 0x78, 0x14, 0xed, 0x2d, 0x97, 0x59, 0x97, 0xd6, 0x7a, 0xcf, + 0x4e, 0x73, 0x5b, 0xba, 0x73, 0x97, 0xf7, 0xe3, 0x3b, 0xbe, 0x99, 0x3d, 0xc9, 0xe9, 0xf4, 0x41, + 0x26, 0x1f, 0xdf, 0x8d, 0x9f, 0x03, 0xa5, 0x34, 0xed, 0x4c, 0x9c, 0x6b, 0x4a, 0xbd, 0x36, 0xb4, + 0x21, 0xdb, 0x98, 0x5e, 0x1f, 0x8d, 0x18, 0x66, 0xd2, 0xcf, 0xe3, 0x82, 0x11, 0xbd, 0x84, 0x8b, + 0xc7, 0x1b, 0x61, 0x63, 0x16, 0x90, 0x36, 0x47, 0xda, 0xbc, 0x31, 0x48, 0x67, 0x8b, 0xe4, 0x39, + 0x35, 0xd4, 0xe2, 0x3b, 0xaa, 0x4a, 0xc0, 0xbc, 0xbd, 0x1a, 0xdf, 0xc7, 0xac, 0x4a, 0x95, 0xb0, + 0x78, 0x3c, 0x95, 0xa9, 0xac, 0xdd, 0xea, 0x58, 0x6b, 0x09, 0x79, 0x6a, 0x08, 0x55, 0xdf, 0x0f, + 0x93, 0xeb, 0x53, 0x83, 0xcb, 0x43, 0xd0, 0x3d, 0x9d, 0x1e, 0x8d, 0x1a, 0x50, 0x56, 0x57, 0x42, + 0x85, 0x17, 0xbc, 0xef, 0x3b, 0x89, 0x08, 0xdc, 0x37, 0xdb, 0xfd, 0xe1, 0x8c, 0xc3, 0x78, 0x11, + 0xc9, 0x38, 0x91, 0xae, 0xf2, 0x8b, 0xce, 0xa0, 0x70, 0x8d, 0x5c, 0x55, 0x88, 0x20, 0x95, 0xfa, + 0x90, 0xab, 0xfc, 0x38, 0xdc, 0x14, 0xf6, 0x93, 0xda, 0x5c, 0x8e, 0x09, 0xbb, 0x43, 0xc2, 0xee, + 0x88, 0xe8, 0x38, 0x49, 0x5d, 0xaf, 0x89, 0xa3, 0x96, 0xd3, 0xec, 0xf7, 0xe5, 0xab, 0xf0, 0x6c, + 0x66, 0x65, 0xcd, 0x6d, 0xcd, 0x8d, 0x57, 0x31, 0x2c, 0xf2, 0x30, 0xb6, 0x60, 0x97, 0xb1, 0x09, + 0x03, 0x62, 0x0f, 0x9d, 0x4d, 0x14, 0x76, 0x2d, 0xfa, 0x60, 0x6b, 0x9d, 0xd3, 0x7c, 0xfc, 0x41, + 0xb0, 0x8a, 0x7f, 0xcb, 0x64, 0xec, 0x14, 0xea, 0x82, 0xc8, 0x62, 0xf1, 0xc0, 0x46, 0x60, 0x23, + 0xb0, 0x11, 0xd8, 0x68, 0x38, 0x36, 0xfe, 0x33, 0x12, 0x32, 0x18, 0x68, 0x77, 0x23, 0x37, 0x5f, + 0x06, 0x0c, 0x36, 0xb0, 0x12, 0x58, 0x09, 0xac, 0x34, 0x1c, 0x2b, 0x93, 0xc8, 0xe9, 0xf7, 0xa5, + 0xcb, 0xdc, 0x6d, 0x77, 0xae, 0xe2, 0x85, 0xe2, 0x81, 0x8d, 0xc0, 0x46, 0x60, 0x23, 0xb0, 0xd1, + 0x70, 0x6c, 0x7c, 0x71, 0x02, 0x4f, 0x63, 0x8c, 0x5d, 0x2c, 0x1e, 0x31, 0x36, 0xb0, 0x11, 0xd8, + 0x08, 0x6c, 0xac, 0x03, 0x1b, 0x9b, 0xa8, 0x7f, 0xe0, 0xf4, 0x08, 0xb5, 0x14, 0x44, 0x30, 0xa1, + 0x3b, 0xb5, 0x35, 0x17, 0x27, 0x28, 0x69, 0x6c, 0xc5, 0xa5, 0x05, 0x92, 0x38, 0x5b, 0x6f, 0x35, + 0xe3, 0x3a, 0xa0, 0x2c, 0x66, 0x55, 0x0e, 0x7f, 0x59, 0x0c, 0x3b, 0xf1, 0xc6, 0x5b, 0x1c, 0x73, + 0x39, 0xb9, 0xbd, 0xd3, 0xe5, 0xbb, 0x33, 0xb8, 0x46, 0x86, 0x14, 0xf9, 0xcf, 0xa7, 0x5b, 0x12, + 0xe0, 0x9c, 0xab, 0xfe, 0xe5, 0xc0, 0x94, 0xfa, 0x17, 0x72, 0x79, 0x6e, 0x97, 0xab, 0x5f, 0xa8, + 0xe5, 0xb7, 0x2d, 0xab, 0x7d, 0xe1, 0x39, 0xd1, 0xcf, 0x7a, 0x82, 0x1f, 0x75, 0xf4, 0x88, 0x25, + 0x0d, 0x50, 0x64, 0x44, 0x92, 0xbb, 0xcc, 0xb2, 0x4d, 0x86, 0x98, 0xf0, 0xa6, 0x1d, 0x16, 0x64, + 0x02, 0x01, 0x81, 0x80, 0x40, 0x40, 0x20, 0xe0, 0x2e, 0x72, 0x69, 0x64, 0x98, 0xc3, 0x89, 0xa2, + 0x6e, 0x52, 0x27, 0x44, 0xcb, 0xc8, 0x4b, 0x94, 0xa4, 0x60, 0x60, 0x32, 0x2f, 0x32, 0x5e, 0x3c, + 0xe1, 0x0d, 0x84, 0x3d, 0x0c, 0x65, 0x90, 0x30, 0x50, 0x24, 0x2b, 0x02, 0x71, 0x5a, 0x08, 0xa7, + 0x85, 0x18, 0x9c, 0x8c, 0xce, 0x9d, 0x16, 0x5a, 0xd1, 0x23, 0x9b, 0xb7, 0x0f, 0x41, 0xa1, 0x74, + 0x44, 0x13, 0xb5, 0xa9, 0x32, 0xe2, 0x09, 0x9d, 0xaa, 0xbe, 0xab, 0x11, 0x85, 0x2f, 0x9c, 0x7e, + 0x24, 0xfa, 0x9c, 0x21, 0xc5, 0x11, 0x83, 0xac, 0x9b, 0x02, 0xe7, 0xed, 0x73, 0xe6, 0xab, 0x2d, + 0xbe, 0xd2, 0xcf, 0x79, 0x57, 0xae, 0xf0, 0xd7, 0x2b, 0x1f, 0xa7, 0x6e, 0xde, 0xf2, 0x47, 0xe1, + 0x4b, 0x20, 0x3c, 0x7b, 0x05, 0xc6, 0x56, 0xfe, 0x26, 0x05, 0xb5, 0x16, 0x92, 0x46, 0xe9, 0x53, + 0x69, 0xc0, 0x7b, 0x80, 0x3c, 0x40, 0x1e, 0x20, 0x0f, 0x90, 0x6f, 0x0d, 0xc8, 0xb7, 0x15, 0xc0, + 0xb3, 0x05, 0xe0, 0x05, 0xf1, 0x65, 0xb1, 0x00, 0x72, 0x00, 0x39, 0x80, 0x1c, 0x40, 0x6e, 0x1c, + 0x90, 0x37, 0x8a, 0xda, 0x8d, 0x54, 0xfd, 0x2e, 0xe2, 0xb2, 0x95, 0xb9, 0xda, 0x16, 0x23, 0xc9, + 0x82, 0x62, 0xe0, 0xea, 0x88, 0x8a, 0x62, 0xe0, 0x3a, 0x7c, 0x1d, 0x64, 0xb4, 0x56, 0xe5, 0x68, + 0xc8, 0x68, 0xb1, 0xe4, 0x54, 0x2c, 0xfe, 0xe4, 0x56, 0xe8, 0x89, 0x73, 0x6f, 0x20, 0x6e, 0xd2, + 0xbb, 0x32, 0x38, 0xcb, 0x15, 0xc9, 0xf8, 0x27, 0x7b, 0x7b, 0xbc, 0x22, 0xa1, 0xc8, 0x76, 0x21, + 0xdb, 0x65, 0x84, 0x53, 0xdd, 0xb2, 0x6c, 0x57, 0x81, 0x2e, 0x31, 0x57, 0xcd, 0xad, 0xbd, 0x02, + 0xe2, 0x68, 0xc4, 0xd1, 0x88, 0xa3, 0x0d, 0x8e, 0xa3, 0x51, 0x49, 0x9c, 0x21, 0xa4, 0xf4, 0x44, + 0x90, 0xc8, 0xbe, 0x14, 0x91, 0xed, 0xcb, 0x38, 0x61, 0x46, 0xc7, 0x55, 0xe9, 0x40, 0x46, 0x20, + 0x23, 0x90, 0x11, 0xc8, 0x58, 0xdb, 0x0a, 0xb1, 0x90, 0x5c, 0x5a, 0xc8, 0x2e, 0x76, 0xd2, 0x4b, + 0x97, 0xc2, 0x6b, 0x26, 0xc1, 0xb4, 0xab, 0x3f, 0x37, 0x29, 0xc6, 0xa3, 0xfa, 0x16, 0xcf, 0xc4, + 0x34, 0x56, 0xb2, 0x8c, 0x97, 0x34, 0x63, 0x70, 0x6e, 0x9a, 0xa0, 0xde, 0x99, 0xa3, 0x3a, 0xd0, + 0xec, 0x8d, 0x23, 0x0c, 0x68, 0x76, 0xed, 0xc8, 0x01, 0x9a, 0xbd, 0x98, 0x66, 0xe7, 0x23, 0x74, + 0x2d, 0x76, 0xaa, 0xfd, 0x56, 0xc6, 0x3f, 0xdb, 0xd3, 0x6d, 0x63, 0xbc, 0xa8, 0x0c, 0x04, 0xfb, + 0x58, 0x0a, 0x18, 0x75, 0x30, 0xea, 0x46, 0x04, 0x91, 0x2d, 0x63, 0xd4, 0x5d, 0x31, 0xb4, 0x3d, + 0x19, 0x09, 0x97, 0x65, 0xde, 0x69, 0xb6, 0x17, 0x97, 0xc5, 0xa2, 0x9f, 0x23, 0x18, 0x22, 0x30, + 0x44, 0x06, 0x33, 0x44, 0xc3, 0x30, 0x4a, 0xd8, 0xf4, 0x75, 0xc9, 0xb0, 0x1e, 0x32, 0xc8, 0x3a, + 0x0f, 0x46, 0x4f, 0xe3, 0xe7, 0xfd, 0xb5, 0xb3, 0xac, 0x13, 0x53, 0x88, 0xbf, 0xd3, 0xbc, 0xc1, + 0x3b, 0x9a, 0x91, 0x4b, 0xb7, 0x78, 0x14, 0xfa, 0x82, 0xd7, 0xc8, 0xcd, 0xc5, 0xf2, 0x18, 0xb9, + 0x1e, 0x8c, 0x1c, 0x8c, 0x1c, 0x8c, 0x1c, 0xdd, 0xb3, 0xcd, 0x04, 0xf1, 0x29, 0x7e, 0xb1, 0xd9, + 0x64, 0x50, 0x7e, 0x66, 0x4f, 0x97, 0x1d, 0x0c, 0x74, 0x80, 0x82, 0x76, 0x70, 0xd0, 0x05, 0x12, + 0xda, 0xc1, 0x42, 0x3b, 0x68, 0xd4, 0x01, 0x1e, 0x3c, 0x20, 0xc2, 0x04, 0x26, 0xfc, 0x9e, 0xb3, + 0x76, 0x28, 0xb0, 0xf8, 0xd2, 0xad, 0xdc, 0x8b, 0xc8, 0xea, 0x08, 0x6b, 0x75, 0x88, 0xb5, 0x3a, + 0xc6, 0x7a, 0x1c, 0x64, 0x3e, 0xbd, 0xe1, 0x48, 0x44, 0x66, 0xbb, 0xda, 0x26, 0x51, 0xb5, 0xdb, + 0xb5, 0xc6, 0x26, 0x90, 0xb8, 0xb0, 0xa2, 0xb0, 0xa2, 0xb0, 0xa2, 0xbb, 0x65, 0x45, 0x27, 0xf9, + 0xb6, 0x70, 0xc8, 0x44, 0x47, 0xe5, 0x2c, 0xea, 0x47, 0x46, 0x99, 0x17, 0x69, 0x3d, 0x64, 0xf2, + 0xf6, 0x9b, 0x13, 0x6b, 0xd0, 0x8f, 0xd9, 0xd2, 0xdc, 0x5c, 0xdf, 0xde, 0x3f, 0xde, 0x5e, 0x5f, + 0x9e, 0x3f, 0xde, 0x7e, 0xbb, 0x3c, 0x7f, 0xbc, 0xbe, 0xb9, 0xbf, 0xb8, 0xbe, 0xe2, 0xd6, 0x95, + 0x3f, 0x1d, 0x7f, 0x24, 0xc6, 0x26, 0xf2, 0x3f, 0xac, 0x72, 0xc7, 0x3f, 0xff, 0xc7, 0x2e, 0x71, + 0xfb, 0xf2, 0x3c, 0x9e, 0x5d, 0x7c, 0xf9, 0x72, 0x7e, 0x7b, 0x7e, 0x35, 0xf9, 0xd5, 0x3e, 0xfb, + 0x2d, 0xfc, 0x7a, 0xb7, 0x1b, 0xeb, 0x74, 0x77, 0xf2, 0xf5, 0x1c, 0x4b, 0xb4, 0x71, 0x89, 0xae, + 0xae, 0xb1, 0x89, 0x36, 0xaf, 0xd0, 0xc9, 0xd5, 0x5f, 0xba, 0x56, 0x88, 0x55, 0xe2, 0xc3, 0x8e, + 0x9a, 0x65, 0xc4, 0x65, 0xed, 0x88, 0xcb, 0x90, 0xc5, 0xaa, 0x7f, 0x53, 0x30, 0x67, 0xb1, 0xa8, + 0x65, 0x27, 0x3c, 0xb5, 0x6d, 0x99, 0x3c, 0x0d, 0x35, 0x6e, 0x23, 0x5f, 0xbc, 0xe7, 0xcc, 0x6f, + 0x59, 0xfc, 0xa5, 0x6e, 0x23, 0x5f, 0x3c, 0x9e, 0x8a, 0xe1, 0x4d, 0x18, 0x25, 0xb7, 0xe3, 0x1b, + 0x6c, 0x63, 0x62, 0x32, 0x7c, 0x1a, 0xfa, 0xe2, 0x95, 0x87, 0x5d, 0x99, 0xe7, 0x25, 0x17, 0xa5, + 0xa2, 0xf6, 0xa6, 0x76, 0xce, 0x04, 0x69, 0x49, 0xd4, 0xde, 0x94, 0xdf, 0x7d, 0x38, 0x9d, 0x05, + 0x0f, 0xc3, 0x18, 0x73, 0x14, 0x04, 0x93, 0x12, 0x30, 0x3b, 0x1e, 0x0a, 0xd7, 0x8e, 0x44, 0x5f, + 0x44, 0x22, 0x70, 0x59, 0x6d, 0xd3, 0xba, 0x4b, 0xa0, 0x7e, 0x06, 0x86, 0x0a, 0x86, 0x8a, 0x0d, + 0x86, 0xd9, 0xea, 0x67, 0x56, 0x34, 0x96, 0x3f, 0x09, 0xb8, 0x7a, 0x01, 0xc3, 0xb3, 0x80, 0x07, + 0xc8, 0x02, 0x22, 0x0b, 0x58, 0x2b, 0x90, 0x98, 0x49, 0x37, 0xea, 0xcb, 0x02, 0x32, 0xf4, 0x2d, + 0xd6, 0xe0, 0x17, 0x33, 0x32, 0x80, 0xef, 0xd8, 0x51, 0x99, 0xa7, 0x0b, 0xd6, 0x56, 0x6f, 0x8d, + 0xa1, 0x13, 0x96, 0x76, 0x7c, 0x46, 0x95, 0x06, 0xf0, 0x19, 0xf8, 0xac, 0x13, 0x9f, 0xd9, 0x18, + 0x0b, 0x73, 0x11, 0x1a, 0x0c, 0x4a, 0xeb, 0x19, 0x94, 0x8e, 0xe4, 0x68, 0x34, 0xf1, 0x29, 0x96, + 0xa6, 0x7c, 0x4d, 0x76, 0xbb, 0x77, 0x43, 0xe1, 0xde, 0x66, 0x37, 0xdb, 0x42, 0xb2, 0xac, 0x1f, + 0x46, 0x2f, 0x4e, 0xe4, 0xc9, 0x60, 0xc0, 0x9c, 0xbe, 0x59, 0x15, 0x8c, 0x0c, 0x0e, 0x88, 0x31, + 0x10, 0x63, 0x6c, 0xc0, 0xce, 0x9f, 0xc1, 0xe1, 0x55, 0x58, 0xcb, 0xd0, 0xe3, 0xd3, 0x8d, 0x80, + 0xac, 0xef, 0xbc, 0x89, 0xc8, 0x1e, 0x46, 0x61, 0x12, 0xba, 0xa1, 0x6f, 0xff, 0x33, 0x72, 0xfc, + 0xb4, 0xf3, 0x28, 0x1f, 0xda, 0xae, 0xbd, 0x02, 0x60, 0x17, 0xb0, 0x0b, 0xd8, 0x35, 0x18, 0x76, + 0x35, 0x69, 0xae, 0xc5, 0x7c, 0x4e, 0x40, 0xcf, 0xf9, 0x80, 0x6c, 0x15, 0x2e, 0x4f, 0xfe, 0x3a, + 0xbf, 0x7d, 0xbc, 0xb9, 0xbd, 0xbe, 0xbf, 0x3e, 0xbd, 0xbe, 0x7c, 0xfc, 0xdf, 0x6f, 0x27, 0x97, + 0x17, 0x5f, 0x2e, 0xce, 0x6f, 0xb9, 0x76, 0xba, 0x86, 0x23, 0x01, 0x9a, 0x4e, 0x48, 0xac, 0x5b, + 0x89, 0xc7, 0x6f, 0x57, 0x77, 0x37, 0xe7, 0xa7, 0xe3, 0xff, 0x3f, 0x33, 0x8d, 0xec, 0x79, 0x00, + 0x55, 0x01, 0xaa, 0xa2, 0x21, 0xd7, 0x2a, 0x74, 0x1d, 0xdf, 0xe6, 0x1c, 0x3c, 0x99, 0x49, 0x44, + 0x47, 0xf8, 0x72, 0xae, 0xd3, 0x84, 0xff, 0x81, 0xe3, 0xa4, 0xc5, 0x71, 0x9a, 0x2e, 0x2e, 0xdc, + 0xa6, 0x95, 0x9d, 0x87, 0x39, 0x19, 0xe9, 0xf0, 0x74, 0xd6, 0xa9, 0x41, 0x8c, 0x13, 0x82, 0x7a, + 0x40, 0x3d, 0xa0, 0x5e, 0xd7, 0x51, 0x8f, 0xad, 0x78, 0xed, 0x79, 0x1c, 0xbd, 0xf0, 0x07, 0x5d, + 0x13, 0xb1, 0x28, 0x54, 0x33, 0x0c, 0x10, 0x74, 0x01, 0x83, 0x76, 0x80, 0xd0, 0x0e, 0x14, 0xfa, + 0x01, 0x83, 0x37, 0x2e, 0x46, 0x11, 0x44, 0xf3, 0xef, 0x81, 0xa3, 0x4c, 0x2d, 0x05, 0x4a, 0x4d, + 0xc5, 0x69, 0x0b, 0xb2, 0x81, 0xc4, 0x40, 0x62, 0x20, 0x31, 0x90, 0x78, 0x57, 0x91, 0xb8, 0x51, + 0x67, 0x7c, 0x3a, 0x43, 0x89, 0x0d, 0x6e, 0x41, 0x1a, 0xa3, 0xbe, 0xad, 0x74, 0x7d, 0x1b, 0x93, + 0x79, 0xd7, 0x50, 0xca, 0x96, 0xc2, 0x4f, 0x0b, 0x99, 0xaf, 0xf0, 0x59, 0x44, 0x91, 0xf4, 0x84, + 0x3d, 0x8c, 0x64, 0x18, 0xc9, 0xe4, 0x8d, 0x8f, 0x06, 0xcb, 0x8b, 0x46, 0x11, 0x45, 0x39, 0xc7, + 0x0b, 0x45, 0x14, 0x28, 0xa2, 0xa8, 0xd3, 0x89, 0x9a, 0x9f, 0xb5, 0x92, 0x41, 0xf2, 0xe9, 0x90, + 0x31, 0x1b, 0x70, 0xcc, 0x20, 0xea, 0xd6, 0x09, 0x06, 0x82, 0xad, 0xe4, 0x80, 0xb7, 0x19, 0x96, + 0x86, 0x50, 0x86, 0x35, 0xea, 0xcc, 0xc4, 0xfe, 0x39, 0xa5, 0x3e, 0xb9, 0xe5, 0x7e, 0x89, 0x9c, + 0xb4, 0x80, 0xfb, 0x4c, 0x0e, 0x64, 0xea, 0x1d, 0x1d, 0xf0, 0x45, 0x2c, 0xbc, 0xad, 0xc5, 0x5a, + 0xf7, 0xaa, 0x7a, 0xc7, 0x87, 0x87, 0x9f, 0x8e, 0x0e, 0x0f, 0x0f, 0x8e, 0xfe, 0x75, 0x74, 0xf0, + 0xef, 0x8f, 0x1f, 0x7b, 0x9f, 0x38, 0x1b, 0x95, 0x6a, 0x7f, 0x7b, 0x86, 0x44, 0x4b, 0x0f, 0x6d, + 0x1c, 0xdb, 0x3f, 0x76, 0x7b, 0x13, 0x0e, 0x74, 0x5f, 0x1a, 0x8b, 0x38, 0x11, 0x09, 0x27, 0x0c, + 0x4e, 0x18, 0x9c, 0x30, 0x83, 0x9d, 0x30, 0x2e, 0x55, 0xb5, 0x70, 0x74, 0x60, 0x21, 0xe2, 0x97, + 0x83, 0xc0, 0xf1, 0xed, 0x61, 0x14, 0x0e, 0x45, 0xc4, 0x19, 0xe5, 0xae, 0x0a, 0x46, 0xe3, 0x22, + 0xc0, 0x2b, 0xe0, 0x95, 0x0d, 0x5e, 0xd9, 0x6a, 0x3f, 0x9c, 0xe1, 0xd0, 0x97, 0xae, 0xf3, 0xdd, + 0x17, 0xf6, 0x54, 0x65, 0x35, 0x55, 0x83, 0xac, 0xbb, 0x10, 0x1a, 0x65, 0x18, 0x07, 0x1c, 0xba, + 0x00, 0x44, 0x3b, 0x90, 0x68, 0x07, 0x94, 0x3a, 0x80, 0x85, 0x39, 0x52, 0x44, 0x66, 0xd2, 0x90, + 0x15, 0x44, 0xe7, 0xf9, 0x65, 0xe1, 0x3b, 0x3c, 0x11, 0x2c, 0x18, 0x3d, 0x7d, 0x17, 0x91, 0x1d, + 0xf6, 0x97, 0x4c, 0x5d, 0xcc, 0x6f, 0x54, 0xd7, 0x5d, 0x08, 0x46, 0x15, 0x46, 0x15, 0x46, 0xb5, + 0xc3, 0x46, 0x95, 0x2d, 0x63, 0xb5, 0x8a, 0x05, 0xc7, 0x8c, 0x22, 0x79, 0x33, 0x58, 0xb3, 0x1f, + 0xfe, 0xb1, 0x3e, 0x5a, 0x32, 0x5a, 0x9a, 0x40, 0x36, 0x27, 0x5e, 0x53, 0x86, 0x2b, 0x93, 0xaf, + 0x31, 0x57, 0xc2, 0xac, 0x6e, 0xab, 0xae, 0x4d, 0xeb, 0x5f, 0xa9, 0xfe, 0x4c, 0x58, 0xad, 0x6f, + 0x79, 0xcf, 0x4c, 0x69, 0x0f, 0x3b, 0xe4, 0x98, 0xae, 0xb0, 0xb2, 0x9a, 0x6a, 0xce, 0x0b, 0xaf, + 0x02, 0x97, 0x14, 0x2e, 0x29, 0x5c, 0x52, 0xf0, 0x3c, 0x38, 0x0b, 0x54, 0x09, 0xa1, 0x27, 0x05, + 0xe5, 0x7a, 0x06, 0x8b, 0x6f, 0xb8, 0x16, 0xd0, 0x1a, 0x68, 0x0d, 0xb4, 0xee, 0x32, 0x5a, 0xeb, + 0xc6, 0x06, 0xab, 0xdd, 0x93, 0xc6, 0xef, 0x2e, 0x7e, 0xbf, 0x3a, 0xb9, 0x7c, 0xbc, 0xb9, 0xbd, + 0xbe, 0x39, 0xbf, 0xbd, 0xff, 0xeb, 0xf1, 0xcf, 0x93, 0xcb, 0x6f, 0x93, 0x49, 0xbf, 0x18, 0x37, + 0xbe, 0x7d, 0x8d, 0xd2, 0x31, 0xc8, 0xe9, 0x3f, 0x31, 0x29, 0x7a, 0xe3, 0x3a, 0xcd, 0x67, 0xb3, + 0x63, 0xb5, 0xb6, 0xaf, 0xd6, 0xd5, 0x35, 0xd6, 0xa9, 0xcc, 0x3a, 0xa5, 0x93, 0xec, 0x75, 0x2d, + 0xd4, 0x6e, 0x8f, 0x21, 0x6f, 0x79, 0xdd, 0x50, 0x4b, 0x0e, 0x34, 0xf2, 0x56, 0x0f, 0x5a, 0x7a, + 0xce, 0x36, 0xde, 0xa5, 0x37, 0x79, 0x33, 0xbb, 0xc7, 0xa6, 0xaa, 0x3f, 0xf7, 0x6a, 0xdc, 0x47, + 0xb3, 0x63, 0xce, 0xc4, 0x26, 0x86, 0x3c, 0xb5, 0x10, 0x2b, 0xb5, 0x0f, 0x4c, 0x85, 0xab, 0x3d, + 0x6a, 0xa9, 0x2a, 0x63, 0x78, 0xb6, 0x18, 0x92, 0x3d, 0xc9, 0xc0, 0x16, 0xb3, 0xa7, 0x65, 0xd0, + 0x07, 0x1d, 0xc1, 0xd8, 0x52, 0x00, 0xd6, 0x6b, 0xe3, 0xb9, 0x5f, 0xce, 0x8a, 0x17, 0x9e, 0x0a, + 0x17, 0x55, 0x4d, 0x65, 0x42, 0x7a, 0x4d, 0x08, 0xbf, 0x4f, 0xa9, 0x59, 0xe7, 0x46, 0x72, 0xb5, + 0x8d, 0x5a, 0x7d, 0x83, 0x2a, 0xbc, 0xca, 0xfd, 0x24, 0x4c, 0xc6, 0x86, 0x30, 0x4c, 0xc6, 0x41, + 0xad, 0xe3, 0xdb, 0xae, 0x33, 0x74, 0x5c, 0xca, 0x79, 0xf4, 0x39, 0x3f, 0xb5, 0x4e, 0xb2, 0xaa, + 0x69, 0x20, 0x95, 0xe8, 0x93, 0xb9, 0x3d, 0x0e, 0x2e, 0x8f, 0xb9, 0xcf, 0x0f, 0x97, 0x29, 0x60, + 0x67, 0xe6, 0xd8, 0xc1, 0x9f, 0xbf, 0x4f, 0x4f, 0xbd, 0x6e, 0x0d, 0xb5, 0x9c, 0x7e, 0xaa, 0x4c, + 0xb1, 0xfc, 0x2f, 0xe3, 0xd9, 0xc4, 0x05, 0x99, 0xe8, 0x9a, 0x5a, 0x93, 0xca, 0xea, 0xf0, 0xe2, + 0x2c, 0x74, 0x4d, 0x35, 0x28, 0x02, 0x66, 0x3b, 0x39, 0x33, 0x0a, 0x64, 0xc2, 0x9f, 0x93, 0x4b, + 0xa5, 0xa2, 0x53, 0x9f, 0x61, 0x70, 0xa0, 0x0b, 0x16, 0xb4, 0xc3, 0x83, 0x76, 0x98, 0xd0, 0x0f, + 0x17, 0xcc, 0x04, 0x9e, 0xf1, 0x99, 0xb7, 0x99, 0x1f, 0x6e, 0x33, 0x42, 0x81, 0xc5, 0x7c, 0xe6, + 0x39, 0x93, 0xc9, 0x73, 0xf6, 0x99, 0x91, 0x5d, 0x7d, 0x87, 0x76, 0xd8, 0x80, 0x76, 0x40, 0x3b, + 0xa0, 0xdd, 0x44, 0x68, 0xc7, 0xa9, 0x0c, 0xce, 0x6d, 0x89, 0x53, 0x19, 0xeb, 0xe5, 0xe3, 0x54, + 0x46, 0x63, 0xaf, 0x14, 0xa7, 0x32, 0xea, 0x90, 0xf6, 0x80, 0x74, 0x7e, 0x2b, 0xd2, 0xf9, 0xeb, + 0xb2, 0x0c, 0xef, 0xd9, 0xd8, 0x4d, 0x8b, 0x3d, 0x27, 0x74, 0x3f, 0xbe, 0xb5, 0x9b, 0xd9, 0x2d, + 0x9f, 0x4e, 0xef, 0x78, 0xf2, 0xf1, 0xdd, 0xf8, 0x86, 0x3b, 0x91, 0xea, 0x37, 0x37, 0x81, 0xc8, + 0x9c, 0xb9, 0xaa, 0x6b, 0x03, 0x99, 0x9c, 0x66, 0x1c, 0x8d, 0x08, 0x33, 0x2e, 0xe7, 0xfe, 0xed, + 0x48, 0xbd, 0x24, 0x84, 0x66, 0x9d, 0xc9, 0x11, 0x2c, 0xd2, 0x87, 0x0d, 0x46, 0x9c, 0x6d, 0x4f, + 0x1f, 0x92, 0x23, 0x46, 0x0e, 0x0d, 0xb2, 0xe8, 0x47, 0xa2, 0x14, 0xb0, 0x66, 0x4f, 0xe3, 0xfa, + 0xce, 0xaa, 0xcd, 0x14, 0x16, 0x85, 0x56, 0x61, 0xc6, 0xd2, 0x55, 0x87, 0xa5, 0x96, 0x88, 0x56, + 0x43, 0x54, 0x75, 0xbd, 0x89, 0x26, 0x9f, 0xdf, 0xd4, 0x2b, 0xa8, 0x02, 0xab, 0x25, 0xaf, 0x06, + 0x40, 0xe5, 0x95, 0xa1, 0xc2, 0x8b, 0xd9, 0x0f, 0x87, 0x22, 0x4a, 0xdf, 0xc9, 0xd8, 0x5d, 0x4e, + 0x9c, 0xa4, 0x3a, 0xd2, 0xcc, 0x47, 0x4f, 0xe4, 0x44, 0x55, 0x55, 0x48, 0x25, 0x23, 0xad, 0x5c, + 0xdb, 0x43, 0x31, 0xca, 0x4c, 0xc6, 0x98, 0x6a, 0x84, 0xd9, 0x8c, 0x2f, 0x9b, 0xd1, 0xe5, 0x33, + 0xb6, 0x7a, 0xc1, 0x5f, 0xd9, 0xa8, 0xb2, 0x6d, 0x77, 0x8b, 0x98, 0x35, 0x53, 0xcc, 0x8e, 0x69, + 0x82, 0x91, 0x97, 0x40, 0x78, 0x76, 0x8a, 0xaf, 0xc2, 0x1b, 0x08, 0x7b, 0x18, 0xca, 0x20, 0x21, + 0x40, 0x49, 0xa1, 0x38, 0x35, 0x38, 0xe9, 0xb5, 0x0e, 0x4e, 0x08, 0xc7, 0x7a, 0xbb, 0x00, 0x28, + 0xea, 0xc7, 0x6e, 0xf5, 0x42, 0x8a, 0x6a, 0xed, 0xcf, 0xbe, 0xe3, 0x3d, 0xc9, 0x40, 0xc6, 0xc9, + 0x18, 0x4e, 0x9e, 0x85, 0xa2, 0x19, 0xce, 0x6d, 0xa5, 0x42, 0xa9, 0x08, 0x9f, 0x11, 0x3e, 0x23, + 0x7c, 0x6e, 0x5e, 0xa3, 0x2c, 0xa6, 0x92, 0x19, 0x62, 0x89, 0x4c, 0x3d, 0xf4, 0x9f, 0x33, 0x18, + 0x44, 0x62, 0xe0, 0x24, 0x0c, 0x1e, 0x42, 0xfe, 0x9d, 0xac, 0x97, 0x8d, 0x93, 0x06, 0x6c, 0x5d, + 0x42, 0xba, 0x8c, 0x76, 0xf4, 0x2e, 0x1f, 0x2d, 0x3b, 0x6d, 0xb0, 0xa2, 0x47, 0x36, 0x89, 0xbd, + 0xcf, 0x6d, 0xc9, 0x42, 0xe9, 0x86, 0x8d, 0x47, 0x3a, 0xc0, 0xfc, 0x8e, 0xe6, 0x55, 0x5b, 0x9b, + 0x8a, 0xeb, 0x54, 0x75, 0x9a, 0xca, 0x13, 0x55, 0x9f, 0xcf, 0xe5, 0xc9, 0xed, 0x3e, 0x5f, 0x38, + 0xfd, 0x48, 0xf4, 0x39, 0x87, 0x23, 0x1d, 0x31, 0xc8, 0xba, 0x29, 0x20, 0x83, 0x3f, 0x67, 0xdc, + 0xef, 0xe2, 0x2b, 0xfd, 0x9c, 0xa7, 0x86, 0x0b, 0x7f, 0xbd, 0xf2, 0x71, 0x4a, 0x1b, 0x2f, 0x7f, + 0x54, 0xc8, 0x4d, 0xac, 0xfc, 0x4d, 0x0a, 0x6a, 0x2d, 0x3c, 0xa0, 0x9c, 0x3e, 0x95, 0x06, 0xbc, + 0x07, 0xc8, 0x03, 0xe4, 0x01, 0xf2, 0x00, 0xf9, 0xd6, 0x80, 0x7c, 0x5b, 0x01, 0x3c, 0x5b, 0x00, + 0x5e, 0x10, 0x5f, 0x16, 0x0b, 0x20, 0x07, 0x90, 0x03, 0xc8, 0x01, 0xe4, 0xc6, 0x01, 0x79, 0xa3, + 0xa8, 0xdd, 0x44, 0xa7, 0xac, 0x25, 0x5c, 0xb6, 0x32, 0x57, 0xdb, 0x62, 0x24, 0x59, 0xb4, 0x74, + 0xd3, 0x22, 0xb6, 0x3e, 0x42, 0x1f, 0xa5, 0x55, 0x39, 0xf4, 0xda, 0xa8, 0xe2, 0xb0, 0x96, 0x9d, + 0x5e, 0xb7, 0x18, 0x8a, 0xa8, 0xae, 0xc7, 0xb7, 0x3a, 0xfe, 0xbf, 0x73, 0x6f, 0x20, 0x6e, 0xc6, + 0x37, 0xf3, 0x78, 0x92, 0xdd, 0xe7, 0xd2, 0xe7, 0x26, 0x17, 0x45, 0x3b, 0xcf, 0x8e, 0xf4, 0xd3, + 0x89, 0xa5, 0x7c, 0x5d, 0x97, 0x0a, 0x64, 0x22, 0x0b, 0x82, 0x8c, 0x2f, 0xd9, 0xd5, 0x42, 0xbf, + 0x25, 0x86, 0x10, 0x0a, 0xfd, 0x96, 0xea, 0x56, 0x59, 0x44, 0x4f, 0xfa, 0x54, 0xda, 0x8c, 0xd8, + 0x09, 0xfd, 0x96, 0x9a, 0x56, 0x7f, 0x1d, 0x30, 0xa0, 0x19, 0x0e, 0x74, 0xc1, 0x82, 0x76, 0x78, + 0xd0, 0x0e, 0x13, 0xfa, 0xe1, 0x82, 0x07, 0x36, 0x98, 0xe0, 0x83, 0x9f, 0x82, 0xc9, 0xed, 0x5c, + 0xf4, 0x5b, 0x6a, 0xf6, 0xf5, 0xa2, 0xdf, 0x12, 0xa0, 0x1d, 0xd0, 0x0e, 0x68, 0x47, 0xbf, 0x25, + 0xce, 0x4d, 0x84, 0x7e, 0x4b, 0x4b, 0xe2, 0xd1, 0x6f, 0xa9, 0xf8, 0x95, 0xa2, 0xdf, 0x92, 0x69, + 0x6f, 0x19, 0xfd, 0x96, 0x0c, 0x26, 0x33, 0xcc, 0xeb, 0xb7, 0xb4, 0x26, 0x29, 0x94, 0xcb, 0x32, + 0x98, 0xd5, 0x6f, 0xa9, 0x28, 0x3f, 0x34, 0xbb, 0x65, 0xf4, 0x5b, 0x32, 0x34, 0xd1, 0xc8, 0x95, + 0xb9, 0xaa, 0x6b, 0x03, 0xb5, 0x24, 0xb5, 0x28, 0x86, 0xb6, 0xef, 0xbc, 0x89, 0xc8, 0x1e, 0x46, + 0x61, 0x12, 0xba, 0xa1, 0xcf, 0x9a, 0x64, 0xcc, 0x4b, 0x6f, 0x38, 0xdd, 0x78, 0x80, 0x43, 0x57, + 0xfa, 0x63, 0x56, 0x1c, 0xba, 0xca, 0x3d, 0x00, 0x39, 0xe5, 0xb8, 0xac, 0x46, 0xf6, 0x3f, 0x23, + 0xc7, 0x97, 0x7d, 0x29, 0x22, 0xbe, 0x04, 0xe4, 0xda, 0x2b, 0xa0, 0x9c, 0xb3, 0x36, 0x95, 0xd6, + 0x45, 0x4f, 0xa1, 0x9c, 0xd3, 0x1c, 0x2f, 0x5e, 0x43, 0x39, 0xa7, 0x1e, 0xcd, 0xb5, 0x98, 0x67, + 0xa4, 0xeb, 0x99, 0x8d, 0x9e, 0xad, 0xc2, 0xe5, 0xc9, 0x5f, 0xe7, 0xb7, 0x8f, 0x37, 0xb7, 0xd7, + 0xf7, 0xd7, 0xa7, 0xd7, 0x97, 0x8f, 0xff, 0xfb, 0xed, 0xe4, 0xf2, 0xe2, 0xcb, 0xc5, 0xf9, 0x2d, + 0xd7, 0x4e, 0xd7, 0x30, 0x09, 0x5d, 0xd3, 0x74, 0xf8, 0x75, 0x2b, 0xf1, 0xf8, 0xed, 0xea, 0xee, + 0xe6, 0xfc, 0x74, 0xfc, 0xff, 0x67, 0xa6, 0xd1, 0xb9, 0x0f, 0x4d, 0x6b, 0x75, 0x33, 0xe7, 0xe9, + 0x46, 0x4f, 0xdf, 0x45, 0x64, 0x87, 0xfd, 0xd4, 0x55, 0x96, 0x41, 0x9c, 0x38, 0x81, 0x2b, 0x18, + 0xe7, 0xc9, 0xae, 0xbb, 0x00, 0x6c, 0x3a, 0x6c, 0x3a, 0x6c, 0xba, 0xc1, 0x36, 0x9d, 0x2d, 0x79, + 0xc4, 0x98, 0x34, 0x62, 0x4e, 0x16, 0x31, 0xa6, 0xdc, 0x74, 0x24, 0x87, 0x34, 0x65, 0x10, 0x74, + 0x25, 0x83, 0x74, 0xa6, 0x07, 0x18, 0x93, 0x3f, 0x5a, 0x92, 0x3e, 0xba, 0x5f, 0x95, 0xfe, 0x24, + 0x8f, 0xd6, 0xb7, 0x67, 0x48, 0xf2, 0xe4, 0xa1, 0x4b, 0x27, 0xaf, 0x98, 0x63, 0x32, 0x2d, 0xa7, + 0xac, 0x98, 0x7c, 0xcc, 0x1e, 0xd5, 0x9b, 0x64, 0x74, 0x8c, 0x16, 0x9d, 0xa2, 0x27, 0x19, 0xd8, + 0x62, 0xf6, 0xb4, 0x0c, 0xd6, 0x4f, 0x87, 0x5b, 0xb4, 0xe4, 0x12, 0xf5, 0xda, 0x78, 0xa2, 0x1c, + 0x67, 0xed, 0x56, 0xe5, 0xd4, 0x90, 0x02, 0xe3, 0xca, 0xab, 0x58, 0xba, 0x93, 0x61, 0x62, 0x78, + 0x39, 0xbe, 0xcf, 0x9b, 0xd9, 0x6d, 0x1a, 0x9c, 0x14, 0x4b, 0x17, 0x55, 0xc6, 0x0c, 0x3d, 0x07, + 0x33, 0x49, 0x48, 0x76, 0xcd, 0x2a, 0x08, 0x83, 0x40, 0xb8, 0x89, 0x7c, 0x26, 0xa6, 0x6d, 0x3b, + 0x7d, 0xc2, 0x6e, 0x61, 0x09, 0xbb, 0x92, 0xf4, 0x9a, 0x3d, 0x74, 0x18, 0xd8, 0x22, 0xf0, 0x88, + 0x2d, 0x41, 0xf3, 0x6a, 0x5a, 0x24, 0x1d, 0x67, 0xef, 0x6a, 0x55, 0x69, 0x90, 0x63, 0xba, 0x55, + 0xde, 0x0c, 0x82, 0x8c, 0xed, 0x1c, 0xde, 0x42, 0xc3, 0x01, 0x2d, 0xe8, 0x90, 0xdb, 0xed, 0xdb, + 0x2e, 0xc8, 0x7b, 0xc4, 0xa3, 0xc7, 0x7d, 0xc4, 0xe3, 0x43, 0x7b, 0x8e, 0x78, 0xb0, 0x02, 0x8a, + 0x2e, 0x60, 0xd1, 0x0e, 0x30, 0xda, 0x81, 0xa6, 0x2e, 0xc0, 0x61, 0xa6, 0x9f, 0x98, 0xf6, 0x31, + 0x17, 0x10, 0x6d, 0xf4, 0x51, 0x78, 0xba, 0xab, 0x55, 0x72, 0x5c, 0x38, 0x3a, 0xaf, 0xd5, 0x45, + 0xab, 0x72, 0x9f, 0x3f, 0xd3, 0x09, 0x52, 0xb5, 0x82, 0x95, 0x6e, 0xd0, 0xaa, 0x0d, 0xbc, 0x6a, + 0x03, 0xb1, 0xba, 0xc1, 0x8c, 0x17, 0xd4, 0x98, 0xc1, 0x2d, 0x5b, 0x0c, 0xf6, 0x33, 0x6d, 0x39, + 0x2d, 0xe0, 0xeb, 0x20, 0xb7, 0xd6, 0x13, 0x3a, 0xd2, 0x20, 0xdb, 0xb0, 0x7e, 0xd0, 0x8b, 0x7b, + 0xf4, 0xf3, 0x8c, 0x35, 0x2a, 0xfa, 0x55, 0x01, 0xe0, 0x17, 0xfc, 0x19, 0xbd, 0xbd, 0x9d, 0xbe, + 0x6d, 0xce, 0x99, 0x42, 0xd4, 0x32, 0x80, 0x60, 0xed, 0x56, 0xd7, 0x30, 0x90, 0x00, 0x86, 0xb6, + 0xac, 0xa1, 0x65, 0xac, 0xbf, 0x81, 0x91, 0xe5, 0x37, 0xb2, 0x7c, 0xf5, 0x3b, 0x30, 0xb0, 0x30, + 0xb0, 0x46, 0x0f, 0x5c, 0x68, 0x91, 0x69, 0xac, 0xc1, 0x1e, 0xc2, 0x08, 0xc2, 0x08, 0xc2, 0x08, + 0xc2, 0x08, 0xc2, 0x08, 0x1a, 0x62, 0x04, 0xbb, 0x62, 0xe0, 0x78, 0x07, 0x58, 0xac, 0xc7, 0x5d, + 0xc6, 0x81, 0x16, 0x30, 0x74, 0x30, 0x74, 0x30, 0x74, 0x30, 0x74, 0x30, 0x74, 0x0d, 0x0c, 0xec, + 0xd0, 0x68, 0xd5, 0x8c, 0xca, 0x6b, 0x2a, 0x0c, 0xfc, 0xb0, 0x74, 0xe7, 0x11, 0x79, 0x8a, 0xd6, + 0x73, 0x52, 0x39, 0x47, 0x85, 0xe4, 0x85, 0x33, 0x96, 0x33, 0xe7, 0x84, 0xb3, 0x94, 0x37, 0xeb, + 0xda, 0x41, 0xcc, 0xdd, 0xa5, 0x32, 0xb9, 0xba, 0xca, 0xa1, 0xb3, 0x7c, 0x49, 0x61, 0x76, 0xa4, + 0x9e, 0xb2, 0x1d, 0x4b, 0x4f, 0xfd, 0xf4, 0xa9, 0x18, 0x8e, 0x55, 0x67, 0x2c, 0x60, 0x7a, 0xe7, + 0xe7, 0x81, 0xb7, 0x3a, 0xc8, 0x24, 0xff, 0xcb, 0xfd, 0x1d, 0x6a, 0xcb, 0xeb, 0xfa, 0x52, 0x04, + 0x09, 0xdb, 0x3c, 0xf8, 0xb5, 0x96, 0x77, 0xcd, 0x75, 0x50, 0xd5, 0xc5, 0xe3, 0xd1, 0xa3, 0xaa, + 0xab, 0x66, 0xef, 0x1d, 0x55, 0x5d, 0x2c, 0x02, 0x91, 0x62, 0x06, 0xe9, 0x00, 0xd2, 0x01, 0xa4, + 0x03, 0x48, 0x87, 0xee, 0x91, 0x0e, 0x48, 0x31, 0x6f, 0x37, 0x8d, 0x48, 0x31, 0xc3, 0x08, 0xc2, + 0x08, 0xc2, 0x08, 0xc2, 0x08, 0x76, 0xc7, 0x08, 0x22, 0xc5, 0xcc, 0x8b, 0xbb, 0x48, 0x31, 0xc3, + 0xd0, 0xc1, 0xd0, 0xc1, 0xd0, 0xc1, 0xd0, 0x35, 0x69, 0xe8, 0x90, 0x62, 0xae, 0x00, 0x3f, 0x55, + 0x53, 0xcc, 0x48, 0x24, 0x23, 0x91, 0xcc, 0xf6, 0xd0, 0xcd, 0x24, 0x92, 0xb5, 0x26, 0x08, 0xad, + 0xda, 0xf3, 0xc7, 0xa7, 0xe9, 0xe3, 0x2c, 0xfd, 0xf9, 0x4e, 0xa5, 0x8d, 0xe7, 0xaf, 0x70, 0x18, + 0x46, 0x89, 0xed, 0xc9, 0x68, 0xf2, 0x4f, 0x0d, 0x99, 0xe3, 0xb5, 0x97, 0x32, 0x7c, 0xea, 0x2b, + 0x92, 0xc7, 0x48, 0x1e, 0x97, 0xf5, 0xc7, 0xbb, 0x90, 0x3c, 0xd6, 0x37, 0x01, 0x56, 0x0b, 0x2e, + 0x58, 0x98, 0xee, 0xad, 0x6e, 0x0f, 0xa2, 0xd0, 0x17, 0xfa, 0x4d, 0x41, 0x7a, 0x15, 0x58, 0x01, + 0x58, 0x01, 0x58, 0x01, 0x58, 0x81, 0x7d, 0x6e, 0x48, 0x80, 0x01, 0xa8, 0xf0, 0x4c, 0x2b, 0x7d, + 0xd8, 0xa7, 0x51, 0x16, 0x33, 0xfe, 0x17, 0x5d, 0x04, 0xf0, 0x0f, 0xf8, 0x07, 0xfc, 0x03, 0xfe, + 0x35, 0x82, 0x03, 0x0c, 0x81, 0xba, 0x21, 0xe0, 0x1b, 0xa0, 0xba, 0xed, 0x85, 0x73, 0x8e, 0x63, + 0x84, 0x49, 0x80, 0x49, 0x80, 0x49, 0xd8, 0x35, 0x93, 0xc0, 0x8d, 0x10, 0x16, 0xf3, 0xe0, 0xd6, + 0x4c, 0xa6, 0x96, 0x01, 0xae, 0xb9, 0xd5, 0xd1, 0x3c, 0xc8, 0x35, 0xbb, 0x9e, 0x86, 0x81, 0xae, + 0xb3, 0x1f, 0x4d, 0x05, 0x20, 0xcd, 0x0c, 0x78, 0xe5, 0xd5, 0xce, 0xd9, 0xcf, 0xc3, 0xce, 0xcd, + 0x37, 0x63, 0xf1, 0x52, 0x64, 0x5f, 0xb8, 0x6f, 0xae, 0x2f, 0xec, 0x38, 0x71, 0x12, 0x1d, 0xa1, + 0xea, 0xca, 0x05, 0xe0, 0x93, 0x70, 0xf9, 0x24, 0x4f, 0x4f, 0xbc, 0x14, 0x3f, 0xbc, 0x91, 0x0a, + 0xde, 0x48, 0xba, 0xf8, 0xf0, 0x43, 0x8c, 0x00, 0x03, 0x84, 0xa5, 0x15, 0x9e, 0x49, 0x0f, 0x21, + 0xa9, 0x81, 0x81, 0x64, 0x3f, 0xc3, 0x7e, 0x00, 0x68, 0x07, 0xb4, 0x77, 0x1c, 0xda, 0xd9, 0xcf, + 0xad, 0x3f, 0x4f, 0x27, 0x16, 0x6b, 0x0a, 0xcd, 0x26, 0xe2, 0x71, 0x56, 0xa1, 0xae, 0x29, 0x23, + 0xcc, 0xc0, 0xa3, 0x1b, 0x80, 0x6a, 0x03, 0xa2, 0xda, 0x00, 0xa9, 0x3e, 0x60, 0xd2, 0x13, 0x65, + 0xb7, 0xef, 0x9c, 0x42, 0x9c, 0x44, 0x32, 0x18, 0xe8, 0x3c, 0xa6, 0x70, 0xdc, 0x81, 0x33, 0x6c, + 0x29, 0x50, 0xf3, 0x66, 0xbb, 0x8b, 0x8d, 0x01, 0x77, 0x3e, 0x0b, 0x16, 0x01, 0x16, 0x01, 0x16, + 0x01, 0x16, 0x01, 0x16, 0xc1, 0xd4, 0xf3, 0x5f, 0xec, 0xb0, 0x8f, 0xd3, 0x5d, 0x2b, 0xc2, 0x71, + 0xba, 0xab, 0xb6, 0xd3, 0x5d, 0xdc, 0xd5, 0x38, 0xb5, 0x9e, 0xe5, 0x4a, 0x01, 0x72, 0x87, 0xb8, + 0xd0, 0x70, 0x28, 0xa2, 0x74, 0x67, 0x39, 0xbe, 0xae, 0xf4, 0x57, 0xfe, 0x12, 0x48, 0x80, 0x19, + 0xea, 0x9a, 0x82, 0x25, 0x6d, 0xce, 0xf5, 0xec, 0x4a, 0x02, 0x4c, 0x17, 0x1c, 0x58, 0x48, 0x81, + 0x95, 0x7f, 0xa6, 0xa1, 0x13, 0xd5, 0xd2, 0xea, 0x79, 0xcd, 0x75, 0xd0, 0xea, 0x99, 0xcb, 0x00, + 0xa0, 0x2a, 0xb3, 0x71, 0x33, 0x80, 0x56, 0xcf, 0x95, 0x05, 0xa2, 0xd5, 0x73, 0x55, 0x48, 0x42, + 0xf3, 0xaf, 0xfa, 0x60, 0xaa, 0x36, 0xb8, 0xaa, 0x0d, 0xb6, 0xd6, 0xc3, 0x17, 0x9a, 0x7f, 0xe9, + 0xda, 0xfd, 0x68, 0xfe, 0x85, 0x56, 0xcf, 0xaa, 0xa6, 0x11, 0xad, 0x9e, 0x61, 0x04, 0x61, 0x04, + 0x61, 0x04, 0x61, 0x04, 0xbb, 0x63, 0x04, 0xd1, 0xea, 0x99, 0x17, 0x77, 0xd1, 0xea, 0x19, 0x86, + 0x0e, 0x86, 0x0e, 0x86, 0x0e, 0x86, 0xae, 0x49, 0x43, 0x87, 0x56, 0xcf, 0xa5, 0x95, 0x75, 0xa7, + 0x8a, 0x3c, 0xb4, 0x26, 0x7e, 0xac, 0xda, 0xcb, 0x3e, 0x6e, 0xd2, 0xc7, 0xd9, 0xd9, 0x16, 0xbe, + 0xc3, 0x28, 0x4c, 0xa6, 0xaf, 0x50, 0x4f, 0xb7, 0xc6, 0xd5, 0x0b, 0x18, 0x5e, 0x01, 0x72, 0x80, + 0x04, 0x20, 0x12, 0x80, 0x25, 0x7d, 0x2a, 0xb4, 0x65, 0x31, 0x0f, 0x18, 0x2c, 0xd4, 0x82, 0x54, + 0x08, 0xc8, 0x45, 0xf4, 0x24, 0x83, 0xd4, 0xf3, 0xd0, 0xd9, 0xbb, 0xbd, 0xf8, 0x32, 0x28, 0x05, + 0xe4, 0x32, 0x04, 0x28, 0x05, 0x6c, 0xd0, 0x04, 0xa0, 0x14, 0xd0, 0x34, 0x48, 0x80, 0x09, 0x50, + 0x34, 0x01, 0x9a, 0xaa, 0xc0, 0xf3, 0x97, 0x00, 0xf4, 0x03, 0xfa, 0x01, 0xfd, 0x80, 0x7e, 0x54, + 0x81, 0x37, 0x05, 0xfb, 0xac, 0x19, 0xb8, 0xec, 0xd5, 0x72, 0x0e, 0xa1, 0x03, 0xc1, 0x03, 0x70, + 0x07, 0xb8, 0xb7, 0x0d, 0xdc, 0x99, 0x53, 0xee, 0xcc, 0x67, 0xc6, 0x19, 0xb0, 0x77, 0xaf, 0xc1, + 0xf7, 0x37, 0x3b, 0x13, 0xce, 0xb0, 0xc8, 0xbc, 0xa7, 0xc0, 0xb5, 0x9c, 0xfe, 0xd6, 0x72, 0xea, + 0x9b, 0xf7, 0xb4, 0x37, 0xf5, 0x7d, 0x32, 0x27, 0xfe, 0x9a, 0x49, 0xf8, 0x31, 0xa8, 0x7b, 0xad, + 0x19, 0x3d, 0x1a, 0xa8, 0xab, 0x03, 0x80, 0xda, 0x37, 0x15, 0xb7, 0x18, 0xd7, 0xd6, 0xd2, 0xbe, + 0xa5, 0x08, 0xbb, 0x47, 0xdf, 0xae, 0x51, 0xdb, 0x22, 0xd5, 0x5f, 0xb0, 0xc2, 0xcb, 0x65, 0x1d, + 0xb1, 0xa4, 0x61, 0x6a, 0x0a, 0xd1, 0x6f, 0x27, 0x93, 0x30, 0x1c, 0x7e, 0x39, 0x7b, 0x61, 0x1b, + 0x97, 0xe7, 0xcd, 0xee, 0x69, 0xb3, 0x7b, 0xd6, 0x3a, 0x0a, 0xcf, 0xea, 0x05, 0x4e, 0xb2, 0x6f, + 0xac, 0x69, 0x14, 0x11, 0x07, 0xb5, 0x41, 0xa4, 0x32, 0x6a, 0x02, 0x38, 0xa6, 0xa6, 0xfc, 0xcc, + 0x7d, 0xb7, 0x77, 0x0f, 0xd8, 0xc8, 0x04, 0x43, 0x97, 0x61, 0x8d, 0x4a, 0x10, 0xb4, 0x16, 0xd4, + 0xd8, 0x9a, 0xd8, 0x77, 0x08, 0xd0, 0x82, 0x9f, 0x5c, 0xf3, 0xf1, 0x17, 0xde, 0x43, 0x5e, 0x28, + 0x80, 0x0d, 0x1e, 0x1b, 0x3c, 0x36, 0xc2, 0xee, 0x61, 0x9b, 0x20, 0xdf, 0x41, 0x6c, 0x23, 0x55, + 0x0f, 0x17, 0xc0, 0x1a, 0xa1, 0x26, 0x10, 0x88, 0x06, 0x44, 0x03, 0xa2, 0xb1, 0x4d, 0x43, 0xef, + 0x0c, 0x98, 0x3d, 0x39, 0xc3, 0xa1, 0xf0, 0xec, 0x58, 0x44, 0xcf, 0xd2, 0x15, 0xb6, 0x0c, 0x12, + 0x11, 0xf5, 0x1d, 0x97, 0xda, 0x22, 0x2d, 0x7b, 0x19, 0x5b, 0xe4, 0xd3, 0xc0, 0xae, 0x07, 0xb0, + 0x03, 0xd8, 0xb5, 0x11, 0xec, 0xa8, 0x2d, 0xc6, 0xf6, 0xd7, 0xe8, 0x13, 0xcf, 0x29, 0xf3, 0x79, + 0x5f, 0xf4, 0x4d, 0x57, 0xa1, 0xe6, 0x75, 0x59, 0x6a, 0x5d, 0xd8, 0x6a, 0x5c, 0x38, 0x6b, 0x5b, + 0x34, 0xd5, 0xb4, 0x70, 0xd7, 0xb2, 0x68, 0xab, 0x61, 0xd1, 0x56, 0xbb, 0xa2, 0xaf, 0x66, 0xa5, + 0xd9, 0x1a, 0x07, 0xb6, 0xda, 0x14, 0x0d, 0x07, 0xb4, 0x39, 0x0f, 0x64, 0x97, 0x38, 0x80, 0x3d, + 0xfd, 0x6c, 0x0d, 0xf2, 0x2c, 0xfd, 0x0d, 0xfd, 0xb0, 0x75, 0x5b, 0x12, 0xdb, 0xd3, 0x1a, 0x18, + 0x0d, 0x70, 0xcc, 0x53, 0x13, 0xc3, 0x5a, 0x0b, 0xc3, 0x5a, 0x03, 0xc3, 0x53, 0xfb, 0xb2, 0xab, + 0x05, 0x09, 0x5a, 0x9c, 0x73, 0x4b, 0x4f, 0x99, 0xc2, 0xd7, 0xf4, 0x5e, 0xef, 0x26, 0xb7, 0x7a, + 0x31, 0xbb, 0x53, 0x42, 0x75, 0x4b, 0x3d, 0xf1, 0x15, 0x4f, 0xad, 0x02, 0x43, 0x71, 0x02, 0x39, + 0x56, 0x3a, 0x40, 0x0e, 0x6f, 0x07, 0x22, 0xa5, 0x76, 0xe5, 0xf0, 0xc8, 0x71, 0x12, 0xcf, 0xb4, + 0x52, 0xd6, 0xe9, 0xa4, 0x88, 0x7c, 0x10, 0xf9, 0x20, 0xf2, 0xd1, 0x16, 0xf9, 0xb0, 0xcd, 0x72, + 0x63, 0xaa, 0xc3, 0x27, 0xc4, 0x18, 0xef, 0x88, 0xb8, 0xc7, 0x33, 0x9d, 0x93, 0x7f, 0x1a, 0x27, + 0x10, 0x10, 0x08, 0x08, 0x04, 0x04, 0x02, 0x9a, 0xc9, 0xb2, 0x90, 0x61, 0x0e, 0x9c, 0x4a, 0x97, + 0x39, 0x15, 0x6a, 0xc9, 0x33, 0x3f, 0x73, 0xa2, 0x3e, 0xc4, 0xb1, 0x1e, 0x8a, 0x84, 0x6f, 0x28, + 0x23, 0xfb, 0xd4, 0x35, 0x14, 0x40, 0x83, 0x3c, 0x41, 0x01, 0x34, 0xeb, 0x10, 0xc3, 0xce, 0x54, + 0xd6, 0xf0, 0x36, 0x9a, 0xd3, 0xd2, 0x45, 0x0a, 0xf0, 0x06, 0x78, 0x03, 0xbc, 0xb1, 0x37, 0x66, + 0xeb, 0x24, 0xc4, 0x31, 0x79, 0x6e, 0x5c, 0x9d, 0x92, 0x00, 0x6d, 0x80, 0x36, 0x40, 0x1b, 0x6b, + 0xe3, 0xb1, 0xee, 0xc0, 0x5a, 0x98, 0x38, 0xbe, 0x3d, 0x0c, 0x13, 0x11, 0x24, 0xd2, 0xf1, 0x6d, + 0xd7, 0x19, 0x3a, 0xae, 0x4c, 0xde, 0x18, 0xd0, 0x6d, 0x9d, 0x64, 0xd4, 0x41, 0x03, 0xe4, 0x3a, + 0x06, 0x72, 0xe4, 0xdc, 0xfe, 0x44, 0x99, 0x62, 0xf9, 0x5f, 0xc6, 0x1c, 0xd7, 0x82, 0x4c, 0x9e, + 0x1c, 0x57, 0x0f, 0x39, 0xae, 0xba, 0x55, 0x57, 0x9b, 0x0a, 0x6b, 0x53, 0x65, 0x7d, 0x2a, 0x4d, + 0x53, 0x6d, 0xa2, 0x8a, 0xb3, 0xa9, 0x7a, 0x26, 0x68, 0x14, 0xc8, 0x44, 0x43, 0x0b, 0xcf, 0xb1, + 0x54, 0xb4, 0xf0, 0x34, 0x0c, 0x0e, 0x74, 0xc1, 0x82, 0x76, 0x78, 0xd0, 0x0e, 0x13, 0xfa, 0xe1, + 0x82, 0x07, 0x36, 0x98, 0xe0, 0x83, 0x2f, 0x2c, 0x5a, 0xbb, 0x73, 0x67, 0x7e, 0xb8, 0xcd, 0x08, + 0x05, 0x16, 0x7a, 0x33, 0x97, 0x7f, 0x26, 0x9e, 0x3a, 0xcd, 0xdc, 0x7b, 0xe5, 0xa8, 0xd7, 0x04, + 0xb4, 0x03, 0xda, 0x01, 0xed, 0xad, 0x85, 0xf6, 0x91, 0x0c, 0x92, 0x4f, 0x87, 0x1a, 0x30, 0xfd, + 0x98, 0x51, 0xe4, 0xad, 0x13, 0x0c, 0xc6, 0x77, 0xfb, 0x1f, 0xd6, 0x4d, 0xa4, 0x61, 0x00, 0xec, + 0x57, 0x19, 0x68, 0x1c, 0x49, 0xac, 0x65, 0xce, 0x74, 0x26, 0xfe, 0xcf, 0xa9, 0x8d, 0xd1, 0x25, + 0xff, 0x4b, 0xe4, 0xa4, 0x99, 0xa3, 0x33, 0x39, 0x90, 0x69, 0x99, 0xd5, 0x01, 0xff, 0xdc, 0x61, + 0x0d, 0x43, 0x71, 0xbf, 0x3a, 0xaf, 0xad, 0x7f, 0xa5, 0xbd, 0xe3, 0xc3, 0xc3, 0x4f, 0x47, 0x87, + 0x87, 0x07, 0x47, 0xff, 0x3a, 0x3a, 0xf8, 0xf7, 0xc7, 0x8f, 0xbd, 0x4f, 0xbd, 0x8f, 0x2d, 0x7e, + 0xcb, 0x86, 0x4e, 0x10, 0x7e, 0x40, 0x43, 0xfa, 0x16, 0x35, 0x30, 0x5f, 0x97, 0x6b, 0x78, 0xcf, + 0xc6, 0x71, 0x5a, 0x7a, 0xea, 0x15, 0xef, 0xc7, 0xf7, 0x77, 0x33, 0xbb, 0xef, 0xd3, 0xe9, 0x6d, + 0x4f, 0x3e, 0xbe, 0x1b, 0xdf, 0x35, 0x9a, 0x99, 0x1b, 0xbc, 0xbd, 0xcc, 0xaa, 0x7d, 0x2d, 0xde, + 0x4b, 0x26, 0x57, 0xc3, 0x92, 0x3a, 0xb8, 0x70, 0xcc, 0x24, 0x61, 0xab, 0x9c, 0xc0, 0x81, 0x61, + 0xed, 0x71, 0x29, 0x92, 0x8a, 0xdc, 0x71, 0x24, 0xd7, 0x54, 0x1f, 0xe2, 0xd9, 0x19, 0x05, 0xac, + 0xd9, 0xd3, 0xb8, 0xbe, 0x84, 0x29, 0x3c, 0xb4, 0xd3, 0x30, 0x2c, 0xa7, 0x60, 0x58, 0x4e, 0xbf, + 0xd0, 0x4e, 0xbd, 0x54, 0x5d, 0xef, 0x93, 0xd1, 0x60, 0x7c, 0xbb, 0xc2, 0x53, 0x22, 0x05, 0x88, + 0xc6, 0x63, 0x7d, 0x77, 0x9e, 0x99, 0x63, 0xf0, 0x39, 0xef, 0x32, 0x14, 0xfe, 0x7a, 0xe5, 0xe3, + 0xd4, 0x9d, 0x58, 0xfe, 0xa8, 0xd0, 0xb9, 0x50, 0xb5, 0x5c, 0x67, 0x22, 0x76, 0x23, 0x39, 0x9c, + 0x3a, 0x4d, 0xfb, 0x41, 0x18, 0xa0, 0x6b, 0x46, 0xe1, 0xe0, 0x7e, 0x98, 0x42, 0x35, 0x53, 0xb8, + 0xb0, 0x84, 0x5d, 0xa9, 0xb2, 0xc9, 0x86, 0x16, 0xb1, 0xd5, 0xd8, 0x30, 0x8c, 0x41, 0x62, 0xd6, + 0x76, 0x26, 0xad, 0x67, 0xd3, 0x7e, 0x4e, 0x14, 0xd0, 0x8a, 0x06, 0xdc, 0xa8, 0xa0, 0x0d, 0x1d, + 0xb4, 0xa1, 0x84, 0x6e, 0xb4, 0x60, 0xe2, 0xbc, 0xea, 0x46, 0x2b, 0xcd, 0xee, 0xeb, 0x43, 0x55, + 0x77, 0x8a, 0x46, 0xa6, 0xe8, 0x22, 0x51, 0x14, 0x36, 0x35, 0x3f, 0x47, 0x52, 0x6d, 0x6f, 0x96, + 0x7f, 0x4f, 0x15, 0x2c, 0xd6, 0x7e, 0x24, 0x86, 0xc2, 0x49, 0x6c, 0x4f, 0xf8, 0xf2, 0x59, 0x44, + 0x6f, 0xb6, 0xfb, 0xc3, 0x89, 0x1c, 0x37, 0x11, 0x91, 0x8c, 0x13, 0xe9, 0x56, 0x7e, 0x67, 0x19, + 0xd6, 0x6d, 0x91, 0x5b, 0x35, 0x08, 0x52, 0x22, 0x46, 0x94, 0xab, 0xac, 0x29, 0xe8, 0xcf, 0xd6, + 0x5d, 0x9a, 0x8a, 0xec, 0x6c, 0x48, 0xce, 0x86, 0xdc, 0x9c, 0xdd, 0xa3, 0xf5, 0x06, 0xdd, 0xca, + 0x64, 0x06, 0xbd, 0x15, 0x88, 0x22, 0x7d, 0xa1, 0x07, 0x1d, 0x62, 0x11, 0x3d, 0x8b, 0x28, 0x6d, + 0x4f, 0x39, 0x88, 0x64, 0xf2, 0x66, 0x0f, 0xa3, 0xd0, 0x15, 0x71, 0xcc, 0x06, 0x13, 0x65, 0x2f, + 0x00, 0xbc, 0x00, 0x5e, 0x00, 0x2f, 0x8c, 0xc7, 0x0b, 0xb6, 0xf3, 0x5b, 0xdc, 0xe7, 0xb6, 0x14, + 0xe3, 0x4b, 0x03, 0x10, 0x41, 0x39, 0x85, 0xd2, 0x05, 0x3c, 0x50, 0x4d, 0x91, 0xe8, 0x45, 0x03, + 0x55, 0xe6, 0x87, 0xe3, 0x5c, 0x15, 0xdf, 0x79, 0x2a, 0xb4, 0x2f, 0x06, 0x05, 0xdb, 0xdd, 0x23, + 0x8e, 0x2c, 0xe7, 0x9d, 0x38, 0xcf, 0x39, 0xa1, 0x75, 0x27, 0xb8, 0x51, 0x03, 0xd4, 0x98, 0x89, + 0x15, 0x35, 0xae, 0x75, 0x27, 0xf7, 0x39, 0x24, 0xce, 0xf3, 0x47, 0x4c, 0xe7, 0x8e, 0x1a, 0xec, + 0x87, 0x8c, 0x3e, 0xf0, 0x80, 0x52, 0x40, 0x69, 0x47, 0xa0, 0x94, 0xed, 0xdc, 0x0f, 0xe3, 0x79, + 0x1f, 0xe6, 0x73, 0x3e, 0x8c, 0xa7, 0xa5, 0x74, 0x9c, 0xeb, 0xd1, 0x74, 0xf8, 0x43, 0xd7, 0x39, + 0x1e, 0x9d, 0x27, 0x3b, 0x18, 0xcf, 0xed, 0x68, 0x39, 0xaf, 0xa3, 0xfb, 0x55, 0xe9, 0x3f, 0x9f, + 0xa3, 0xf5, 0xed, 0x19, 0x72, 0xee, 0xe5, 0x01, 0x07, 0x1f, 0x2a, 0xc8, 0xa1, 0xe7, 0xec, 0xf5, + 0x9e, 0xa0, 0xa1, 0x66, 0xf2, 0xf5, 0x1c, 0x93, 0x31, 0xad, 0xf0, 0xb8, 0xf9, 0xca, 0x0d, 0xc6, + 0x83, 0x2e, 0x7a, 0x5e, 0xb9, 0x09, 0x05, 0x1c, 0xa3, 0xc0, 0x79, 0x76, 0xa4, 0xef, 0x7c, 0xf7, + 0x85, 0x9d, 0xc8, 0x27, 0xc1, 0x96, 0x9a, 0xdd, 0x26, 0x18, 0x29, 0x59, 0xed, 0x51, 0x13, 0x52, + 0xb2, 0xea, 0xf0, 0x85, 0x94, 0xec, 0x14, 0x1f, 0x54, 0x4e, 0xb5, 0x51, 0xce, 0xe2, 0x90, 0x35, + 0xfd, 0x00, 0xa9, 0x56, 0xa4, 0x5a, 0x6b, 0xd3, 0x72, 0xc5, 0xd3, 0x66, 0xfa, 0x75, 0x7c, 0x8f, + 0x71, 0xbd, 0x14, 0x4e, 0x91, 0xa9, 0x9d, 0x1e, 0x23, 0x9d, 0x1a, 0x23, 0x9d, 0x16, 0x53, 0x3b, + 0x25, 0x56, 0x76, 0xfd, 0x14, 0x9d, 0x61, 0xba, 0x13, 0xbc, 0x5f, 0xa5, 0x5a, 0x8f, 0xe4, 0xe3, + 0x96, 0x53, 0xed, 0xed, 0xdb, 0xb2, 0xc4, 0x92, 0x56, 0x33, 0x4a, 0x2a, 0xaa, 0x5a, 0xd1, 0x08, + 0x55, 0x36, 0x3e, 0x2a, 0x46, 0x87, 0x68, 0x6c, 0x54, 0x8d, 0x0c, 0xd9, 0xb8, 0x90, 0x8d, 0x0a, + 0xdd, 0x98, 0xf0, 0x82, 0x61, 0x65, 0xa3, 0xa1, 0x6a, 0x2c, 0x2a, 0x1a, 0x89, 0x12, 0xba, 0xb5, + 0x47, 0x78, 0xfe, 0x0a, 0x46, 0xa0, 0x1a, 0xf8, 0x2b, 0x81, 0xbe, 0x12, 0xd8, 0x57, 0x03, 0xf9, + 0x6d, 0xeb, 0x51, 0x11, 0xd4, 0x49, 0x60, 0x5e, 0x62, 0xd7, 0xa8, 0xe3, 0xf7, 0x66, 0x45, 0x5a, + 0xbf, 0x69, 0x8a, 0x7f, 0xb3, 0x66, 0xd9, 0xca, 0x2e, 0x97, 0xca, 0x32, 0x6d, 0x58, 0x9d, 0xca, + 0xab, 0x52, 0xbc, 0x18, 0xf9, 0x47, 0x2d, 0x78, 0xcc, 0xcd, 0x76, 0xa9, 0x0c, 0x0a, 0x6c, 0xb1, + 0x3b, 0x5b, 0xed, 0x4c, 0x19, 0xbb, 0x52, 0xd1, 0x8e, 0x94, 0xb5, 0x1b, 0x95, 0xed, 0x44, 0x65, + 0xbb, 0x50, 0xdd, 0x0e, 0x54, 0xdb, 0xa0, 0x5b, 0x71, 0xbd, 0x2c, 0x8e, 0x6f, 0xc1, 0xed, 0x82, + 0xbd, 0xb4, 0xb7, 0xe1, 0xfe, 0xb6, 0xb4, 0x14, 0xd8, 0xb2, 0xd9, 0x8a, 0x5a, 0x02, 0xac, 0xdb, + 0x7c, 0x2b, 0xe7, 0x72, 0xa7, 0xd7, 0x8d, 0xad, 0xe4, 0x87, 0xb0, 0xbe, 0x3b, 0xb1, 0xb0, 0xee, + 0x4f, 0x6e, 0x2e, 0xac, 0xa9, 0x9e, 0x58, 0x2f, 0x32, 0xf9, 0x31, 0xfe, 0x47, 0x76, 0x56, 0xf2, + 0x4e, 0x44, 0xcf, 0xd2, 0x15, 0x96, 0x0c, 0xfa, 0x61, 0xf4, 0xe4, 0x6c, 0x98, 0xc5, 0xb4, 0xa5, + 0x36, 0x54, 0xcb, 0x36, 0x2f, 0x75, 0x6c, 0xd6, 0xec, 0xcd, 0x5e, 0xe6, 0x58, 0x6a, 0xb5, 0x2d, + 0xbf, 0xad, 0xce, 0x71, 0x7f, 0xf1, 0xa2, 0x19, 0xda, 0x6e, 0x5d, 0x9d, 0xac, 0x2a, 0xaa, 0xe8, + 0xdb, 0x5b, 0x9e, 0xbb, 0xb6, 0x4d, 0x58, 0x72, 0x33, 0x56, 0xf6, 0xf1, 0xab, 0xf8, 0xf6, 0xa4, + 0xb3, 0xdd, 0x55, 0x3d, 0x7a, 0x65, 0x4f, 0x5e, 0xd9, 0x83, 0xa7, 0x9e, 0xad, 0xfe, 0xc5, 0xeb, + 0x98, 0x94, 0xb1, 0xe1, 0xcd, 0xc2, 0xe9, 0xcc, 0x17, 0x31, 0x19, 0x4a, 0x4b, 0xb8, 0xa4, 0x26, + 0xc3, 0xe8, 0xf6, 0x84, 0x03, 0x33, 0x84, 0xe6, 0x9c, 0xd5, 0xd2, 0xf0, 0x59, 0xc1, 0xcd, 0xad, + 0x6f, 0xc3, 0x99, 0x07, 0x9b, 0x55, 0x62, 0xa4, 0x16, 0x42, 0x66, 0xf9, 0x0c, 0x59, 0xe7, 0xe0, + 0xf2, 0xc6, 0x49, 0x7e, 0x9c, 0x86, 0x4f, 0xc3, 0xd1, 0x24, 0xae, 0x34, 0x19, 0x35, 0xc7, 0xf1, + 0xec, 0x78, 0x21, 0x66, 0xf7, 0xda, 0x52, 0xf4, 0xcc, 0x3d, 0x46, 0x5d, 0x28, 0xba, 0x7a, 0xe1, + 0xea, 0x68, 0xba, 0x56, 0x02, 0x3f, 0xaa, 0x2a, 0xef, 0x4b, 0xf3, 0xc0, 0xb5, 0xc2, 0xbe, 0x6d, + 0x33, 0xc8, 0x96, 0xdf, 0xd7, 0xb5, 0x81, 0xed, 0xd2, 0x27, 0x0f, 0xab, 0x9c, 0xc0, 0x66, 0x32, + 0xad, 0x04, 0x89, 0x56, 0xb0, 0xc6, 0x5b, 0xb9, 0xb2, 0xe5, 0x55, 0x99, 0xdf, 0xe1, 0xe4, 0xff, + 0xa6, 0xba, 0xbd, 0xee, 0xde, 0xf6, 0x65, 0xfc, 0xc5, 0xf9, 0x29, 0x6e, 0xc3, 0x30, 0xff, 0xb2, + 0x56, 0xef, 0x77, 0x7f, 0xf1, 0x57, 0x4b, 0x37, 0x75, 0x26, 0xc6, 0xaa, 0x34, 0xb9, 0x91, 0x5f, + 0x7b, 0xbf, 0xfe, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x03, 0xcd, + 0x8d, 0x55, 0x4d, 0x7a, 0x10, 0x00, } ) @@ -5456,6 +12905,216 @@ var ( // correspond with the leaf. The type is represented as a reflect.Type. The naming // of the map ensures that there are no clashes with valid YANG identifiers. var ΛEnumTypes = map[string][]reflect.Type{ + "/context/connectivity-context/connection/direction": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_ForwardingDirection)(0)), + }, + "/context/connectivity-context/connection/layer-protocol-name": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_LayerProtocolName)(0)), + }, + "/context/connectivity-context/connection/lifecycle-state": []reflect.Type{ + reflect.TypeOf((E_TapiCommon_LifecycleState)(0)), + }, + "/context/connectivity-context/connection/operational-state": []reflect.Type{ + reflect.TypeOf((E_TapiCommon_OperationalState)(0)), + }, + "/context/connectivity-context/connection/route/resilience-route/route-state": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_RouteState)(0)), + }, + "/context/connectivity-context/connection/switch-control/fault-condition-determination": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_FaultConditionDetermination)(0)), + }, + "/context/connectivity-context/connection/switch-control/preferred-restoration-layer": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_LayerProtocolName)(0)), + }, + "/context/connectivity-context/connection/switch-control/resilience-type/protection-type": []reflect.Type{ + reflect.TypeOf((E_TapiTopology_ProtectionType)(0)), + }, + "/context/connectivity-context/connection/switch-control/resilience-type/restoration-policy": []reflect.Type{ + reflect.TypeOf((E_TapiTopology_RestorationPolicy)(0)), + }, + "/context/connectivity-context/connection/switch-control/resiliency-route-constraint/routing-constraint/diversity-policy": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_DiversityPolicy)(0)), + }, + "/context/connectivity-context/connection/switch-control/resiliency-route-constraint/routing-constraint/route-objective-function": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_RouteObjectiveFunction)(0)), + }, + "/context/connectivity-context/connection/switch-control/resiliency-route-constraint/routing-constraint/tolerable-impact": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_GradesOfImpact)(0)), + }, + "/context/connectivity-context/connection/switch-control/resiliency-route-constraint/topology-constraint/preferred-transport-layer": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_LayerProtocolName)(0)), + }, + "/context/connectivity-context/connection/switch-control/restoration-coordinate-type": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_CoordinateType)(0)), + }, + "/context/connectivity-context/connection/switch-control/reversion-mode": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_ReversionMode)(0)), + }, + "/context/connectivity-context/connection/switch-control/selection-control": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_SelectionControl)(0)), + }, + "/context/connectivity-context/connection/switch-control/switch/selection-reason": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_SelectionReason)(0)), + }, + "/context/connectivity-context/connection/switch-control/switch/switch-direction": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_PortDirection)(0)), + }, + "/context/connectivity-context/connectivity-service/administrative-state": []reflect.Type{ + reflect.TypeOf((E_TapiCommon_AdministrativeState)(0)), + }, + "/context/connectivity-context/connectivity-service/connectivity-constraint/requested-capacity/total-size/unit": []reflect.Type{ + reflect.TypeOf((E_TapiCommon_CapacityUnit)(0)), + }, + "/context/connectivity-context/connectivity-service/connectivity-constraint/service-type": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_ServiceType)(0)), + }, + "/context/connectivity-context/connectivity-service/direction": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_ForwardingDirection)(0)), + }, + "/context/connectivity-context/connectivity-service/end-point/administrative-state": []reflect.Type{ + reflect.TypeOf((E_TapiCommon_AdministrativeState)(0)), + }, + "/context/connectivity-context/connectivity-service/end-point/capacity/total-size/unit": []reflect.Type{ + reflect.TypeOf((E_TapiCommon_CapacityUnit)(0)), + }, + "/context/connectivity-context/connectivity-service/end-point/direction": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_PortDirection)(0)), + }, + "/context/connectivity-context/connectivity-service/end-point/layer-protocol-name": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_LayerProtocolName)(0)), + }, + "/context/connectivity-context/connectivity-service/end-point/layer-protocol-qualifier": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_LayerProtocolQualifier)(0)), + }, + "/context/connectivity-context/connectivity-service/end-point/lifecycle-state": []reflect.Type{ + reflect.TypeOf((E_TapiCommon_LifecycleState)(0)), + }, + "/context/connectivity-context/connectivity-service/end-point/operational-state": []reflect.Type{ + reflect.TypeOf((E_TapiCommon_OperationalState)(0)), + }, + "/context/connectivity-context/connectivity-service/end-point/protection-role": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_ProtectionRole)(0)), + }, + "/context/connectivity-context/connectivity-service/end-point/role": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_PortRole)(0)), + }, + "/context/connectivity-context/connectivity-service/lifecycle-state": []reflect.Type{ + reflect.TypeOf((E_TapiCommon_LifecycleState)(0)), + }, + "/context/connectivity-context/connectivity-service/operational-state": []reflect.Type{ + reflect.TypeOf((E_TapiCommon_OperationalState)(0)), + }, + "/context/connectivity-context/connectivity-service/resilience-constraint/fault-condition-determination": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_FaultConditionDetermination)(0)), + }, + "/context/connectivity-context/connectivity-service/resilience-constraint/preferred-restoration-layer": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_LayerProtocolName)(0)), + }, + "/context/connectivity-context/connectivity-service/resilience-constraint/resilience-type/protection-type": []reflect.Type{ + reflect.TypeOf((E_TapiTopology_ProtectionType)(0)), + }, + "/context/connectivity-context/connectivity-service/resilience-constraint/resilience-type/restoration-policy": []reflect.Type{ + reflect.TypeOf((E_TapiTopology_RestorationPolicy)(0)), + }, + "/context/connectivity-context/connectivity-service/resilience-constraint/resiliency-route-constraint/routing-constraint/diversity-policy": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_DiversityPolicy)(0)), + }, + "/context/connectivity-context/connectivity-service/resilience-constraint/resiliency-route-constraint/routing-constraint/route-objective-function": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_RouteObjectiveFunction)(0)), + }, + "/context/connectivity-context/connectivity-service/resilience-constraint/resiliency-route-constraint/routing-constraint/tolerable-impact": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_GradesOfImpact)(0)), + }, + "/context/connectivity-context/connectivity-service/resilience-constraint/resiliency-route-constraint/topology-constraint/preferred-transport-layer": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_LayerProtocolName)(0)), + }, + "/context/connectivity-context/connectivity-service/resilience-constraint/restoration-coordinate-type": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_CoordinateType)(0)), + }, + "/context/connectivity-context/connectivity-service/resilience-constraint/reversion-mode": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_ReversionMode)(0)), + }, + "/context/connectivity-context/connectivity-service/resilience-constraint/selection-control": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_SelectionControl)(0)), + }, + "/context/connectivity-context/connectivity-service/routing-constraint/diversity-policy": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_DiversityPolicy)(0)), + }, + "/context/connectivity-context/connectivity-service/routing-constraint/route-objective-function": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_RouteObjectiveFunction)(0)), + }, + "/context/connectivity-context/connectivity-service/routing-constraint/tolerable-impact": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_GradesOfImpact)(0)), + }, + "/context/connectivity-context/connectivity-service/topology-constraint/preferred-transport-layer": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_LayerProtocolName)(0)), + }, + "/context/path-computation-context/path-comp-service/direction": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_ForwardingDirection)(0)), + }, + "/context/path-computation-context/path-comp-service/end-point/capacity/total-size/unit": []reflect.Type{ + reflect.TypeOf((E_TapiCommon_CapacityUnit)(0)), + }, + "/context/path-computation-context/path-comp-service/end-point/direction": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_PortDirection)(0)), + }, + "/context/path-computation-context/path-comp-service/end-point/layer-protocol-name": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_LayerProtocolName)(0)), + }, + "/context/path-computation-context/path-comp-service/end-point/layer-protocol-qualifier": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_LayerProtocolQualifier)(0)), + }, + "/context/path-computation-context/path-comp-service/end-point/role": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_PortRole)(0)), + }, + "/context/path-computation-context/path-comp-service/layer-protocol-name": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_LayerProtocolName)(0)), + }, + "/context/path-computation-context/path-comp-service/objective-function/bandwidth-optimization": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_DirectiveValue)(0)), + }, + "/context/path-computation-context/path-comp-service/objective-function/concurrent-paths": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_DirectiveValue)(0)), + }, + "/context/path-computation-context/path-comp-service/objective-function/cost-optimization": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_DirectiveValue)(0)), + }, + "/context/path-computation-context/path-comp-service/objective-function/link-utilization": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_DirectiveValue)(0)), + }, + "/context/path-computation-context/path-comp-service/objective-function/resource-sharing": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_DirectiveValue)(0)), + }, + "/context/path-computation-context/path-comp-service/optimization-constraint/traffic-interruption": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_DirectiveValue)(0)), + }, + "/context/path-computation-context/path-comp-service/routing-constraint/diversity-policy": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_DiversityPolicy)(0)), + }, + "/context/path-computation-context/path-comp-service/routing-constraint/route-objective-function": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_RouteObjectiveFunction)(0)), + }, + "/context/path-computation-context/path-comp-service/routing-constraint/tolerable-impact": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_GradesOfImpact)(0)), + }, + "/context/path-computation-context/path-comp-service/topology-constraint/preferred-transport-layer": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_LayerProtocolName)(0)), + }, + "/context/path-computation-context/path/direction": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_ForwardingDirection)(0)), + }, + "/context/path-computation-context/path/layer-protocol-name": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_LayerProtocolName)(0)), + }, + "/context/path-computation-context/path/routing-constraint/diversity-policy": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_DiversityPolicy)(0)), + }, + "/context/path-computation-context/path/routing-constraint/route-objective-function": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_RouteObjectiveFunction)(0)), + }, + "/context/path-computation-context/path/routing-constraint/tolerable-impact": []reflect.Type{ + reflect.TypeOf((E_TapiPathComputation_GradesOfImpact)(0)), + }, "/context/service-interface-point/administrative-state": []reflect.Type{ reflect.TypeOf((E_TapiCommon_AdministrativeState)(0)), }, @@ -5582,6 +13241,33 @@ var ΛEnumTypes = map[string][]reflect.Type{ "/context/topology-context/topology/node/owned-node-edge-point/available-cep-layer-protocol/layer-protocol-qualifier": []reflect.Type{ reflect.TypeOf((E_TapiTopology_LayerProtocolQualifier)(0)), }, + "/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/connection-port-direction": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_PortDirection)(0)), + }, + "/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/connection-port-role": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_PortRole)(0)), + }, + "/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/layer-protocol-name": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_LayerProtocolName)(0)), + }, + "/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/layer-protocol-qualifier": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_LayerProtocolQualifier)(0)), + }, + "/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/lifecycle-state": []reflect.Type{ + reflect.TypeOf((E_TapiCommon_LifecycleState)(0)), + }, + "/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/operational-state": []reflect.Type{ + reflect.TypeOf((E_TapiCommon_OperationalState)(0)), + }, + "/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/protection-role": []reflect.Type{ + reflect.TypeOf((E_TapiConnectivity_ProtectionRole)(0)), + }, + "/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/termination-direction": []reflect.Type{ + reflect.TypeOf((E_TapiCommon_TerminationDirection)(0)), + }, + "/context/topology-context/topology/node/owned-node-edge-point/cep-list/connection-end-point/termination-state": []reflect.Type{ + reflect.TypeOf((E_TapiCommon_TerminationState)(0)), + }, "/context/topology-context/topology/node/owned-node-edge-point/layer-protocol-name": []reflect.Type{ reflect.TypeOf((E_TapiTopology_LayerProtocolName)(0)), },