From: ktimoney Date: Thu, 10 Aug 2023 15:38:02 +0000 (+0100) Subject: Added docker-compose ranpm X-Git-Tag: 1.1.0~25^2 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F13%2F11613%2F5;p=nonrtric%2Fplt%2Franpm.git Added docker-compose ranpm Issue-ID: NONRTRIC-903 Change-Id: I882b6a9e8d123104240eed8337eef9739451b3ab Signed-off-by: ktimoney --- diff --git a/docker-proj/README.md b/docker-proj/README.md new file mode 100644 index 0000000..4ecffd1 --- /dev/null +++ b/docker-proj/README.md @@ -0,0 +1,91 @@ +## RANPM project in docker + +A docker compose project showing pm file flow from simulated network elements to filtered pm data. + +## Run in docker-desktop - docker only + +### Clone the ranpm repo: + +`git clone https://gerrit.nordix.org/local/oransc/ranpm` + +### Build Https server + +`cd ranpm/https-server` + +`./build.sh no-push` + + +### Start demo + +WARNING: The setup scripts below will prune all unused docker volumes! + +INFO: Temporary files for some containers will be stored in subdirs under `/tmp` + +`cd ranpm/docker-proj` + +There are several ways to start and run the demo, with file or minio file storage, single or multi instances of data-file collector and kafka as well as a choice of sftp, ftpes or https. +Additional configuration can be made in the setup script. + +It could be a good idea to clean any other running containers in docker to avoid port and container name clashes. + +Command usage: `docker-setup.sh` + + +Example cmd: \ +`./docker-setup.sh` + +Let the script finish. + +If the script fails, make sure to clean the setup before attempting a new setup. + +`./docker-tear-down.sh` + +In addition, a `docker system prune` might be needed now and then. + +### Tools for monitoring + +Open browser to redpanda (kafka gui) - watch topics, messages etc\ +browser: `localhost:8780` + +Open brower to minio - available only if minio is given on the cmd line when starting the demo\ +user: admin pwd: adminadmin\ +browser: `localhost:9001` + + +### Push data - basic + +File ready events can be pushed to the ves collector or pushed directly to the topic for file ready events (bypassing the ves collector). + +Push to ves collector: + +Usage: `push-to-ves-collector.sh ` + +Parameters/ +node-count - number of unique NEs\ +num-of-events - number of events per NE\ +node-name-base - NE name prefix\ +file-extension - xml or xml.gz +num-servers - number of sftp/ftpes/https servers to simulate NEs (10 is default) + +Usage: `push-to-file-ready-topic.sh ` + +Parameter: \ +Same as `push-to-ves-collector.sh` + +Once the events has been pushed the progress can be viewed in the monitoring tools described above. + +If several sets of data shall be pushed, just change the parameter `` to make the new files unique. + + +### Clean up + +Run the script to remove all docker containers. + +`./docker-tear-down.sh` + +To also cleanup files. + +`cd pm-file-flow-demo/scripts` + +`./clean-shared-volume.sh` + diff --git a/docker-proj/config/bundle-server/bundle.tar.gz b/docker-proj/config/bundle-server/bundle.tar.gz new file mode 100644 index 0000000..c4b13bb Binary files /dev/null and b/docker-proj/config/bundle-server/bundle.tar.gz differ diff --git a/docker-proj/config/dfc-common/template-truststore.jks b/docker-proj/config/dfc-common/template-truststore.jks new file mode 100644 index 0000000..50a0f9e Binary files /dev/null and b/docker-proj/config/dfc-common/template-truststore.jks differ diff --git a/docker-proj/config/dfc-common/truststore.pass b/docker-proj/config/dfc-common/truststore.pass new file mode 100644 index 0000000..b915b0f --- /dev/null +++ b/docker-proj/config/dfc-common/truststore.pass @@ -0,0 +1 @@ +policy_agent \ No newline at end of file diff --git a/docker-proj/config/dfc1/application-template.yaml b/docker-proj/config/dfc1/application-template.yaml new file mode 100644 index 0000000..0391d23 --- /dev/null +++ b/docker-proj/config/dfc1/application-template.yaml @@ -0,0 +1,92 @@ +# ============LICENSE_START=============================================== +# Copyright (C) 2023 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +spring: + profiles: + active: prod +management: + endpoints: + web: + exposure: + include: "loggers,logfile,health,info,metrics" +server: + port: 8433 + ssl: + key-store-type: JKS + key-store-password: policy_agent + key-store: config/keystore.jks + key-password: policy_agent + key-alias: policy_agent +logging: + level: + ROOT: WARN + org.onap: WARN + org.springframework: WARN + #TRACE + org.springframework.data: WARN + org.springframework.web.reactive.function.client.ExchangeFunctions: WARN + #org.onap.dcaegen2.collectors.datafile: WARN + org.onap.dcaegen2.collectors.datafile: TRACE + + file: + name: /var/log/ONAP/application.log +app: + #filepath: config/datafile_endpoints_test.json + collected-files-path: "/tmp/onap_datafile/" + # Numer of worker threads. Increased number may increase throughput, but will require more executing resources. + number-of-worker-treads: 50 + # If the file name is empty, no authorization token is used + auth-token-file: /token-cache/jwt.txt + # KAFKA boostrap servers. This is only needed if there are Information Types that uses a kafkaInputTopic + # several redundant boostrap servers can be specified, separated by a comma ','. + kafka: + bootstrap-servers: kafka-1:9097 + # output topic + collected-file-topic: collected-file + client-id: datafile-1 + # input topic + file-ready-event-topic: file-ready + use-oath-token: true + ssl: + key-store-type: PEM + key-store-location: + # key password is needed if the private key is encrypted + key-store-password: + trust-store-type: PEM + trust-store-location: + sftp: + known-hosts-file-path: + strict-host-key-checking: false + ssl: + key-store-password-file: /opt/app/datafile/config/ftps_keystore.pass + key-store: /opt/app/datafile/config/ftps_keystore.p12 + trust-store-password-file: /opt/app/datafile/config/truststore.pass + trust-store: /opt/app/datafile/config/truststore.jks + s3: + endpointOverride: $DFC_MINIO + accessKeyId: admin + secretAccessKey: adminadmin + bucket: ropfiles + +springdoc: + show-actuator: true + swagger-ui.disable-swagger-default-url: true +################ + + + + diff --git a/docker-proj/config/dfc1/application.yaml b/docker-proj/config/dfc1/application.yaml new file mode 100644 index 0000000..239f9e5 --- /dev/null +++ b/docker-proj/config/dfc1/application.yaml @@ -0,0 +1,92 @@ +# ============LICENSE_START=============================================== +# Copyright (C) 2023 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +spring: + profiles: + active: prod +management: + endpoints: + web: + exposure: + include: "loggers,logfile,health,info,metrics" +server: + port: 8433 + ssl: + key-store-type: JKS + key-store-password: policy_agent + key-store: config/keystore.jks + key-password: policy_agent + key-alias: policy_agent +logging: + level: + ROOT: WARN + org.onap: WARN + org.springframework: WARN + #TRACE + org.springframework.data: WARN + org.springframework.web.reactive.function.client.ExchangeFunctions: WARN + #org.onap.dcaegen2.collectors.datafile: WARN + org.onap.dcaegen2.collectors.datafile: TRACE + + file: + name: /var/log/ONAP/application.log +app: + #filepath: config/datafile_endpoints_test.json + collected-files-path: "/tmp/onap_datafile/" + # Numer of worker threads. Increased number may increase throughput, but will require more executing resources. + number-of-worker-treads: 50 + # If the file name is empty, no authorization token is used + auth-token-file: /token-cache/jwt.txt + # KAFKA boostrap servers. This is only needed if there are Information Types that uses a kafkaInputTopic + # several redundant boostrap servers can be specified, separated by a comma ','. + kafka: + bootstrap-servers: kafka-1:9097 + # output topic + collected-file-topic: collected-file + client-id: datafile-1 + # input topic + file-ready-event-topic: file-ready + use-oath-token: true + ssl: + key-store-type: PEM + key-store-location: + # key password is needed if the private key is encrypted + key-store-password: + trust-store-type: PEM + trust-store-location: + sftp: + known-hosts-file-path: + strict-host-key-checking: false + ssl: + key-store-password-file: /opt/app/datafile/config/ftps_keystore.pass + key-store: /opt/app/datafile/config/ftps_keystore.p12 + trust-store-password-file: /opt/app/datafile/config/truststore.pass + trust-store: /opt/app/datafile/config/truststore.jks + s3: + endpointOverride: http://minio-server:9000 + accessKeyId: admin + secretAccessKey: adminadmin + bucket: ropfiles + +springdoc: + show-actuator: true + swagger-ui.disable-swagger-default-url: true +################ + + + + diff --git a/docker-proj/config/dfc1/template-truststore.jks b/docker-proj/config/dfc1/template-truststore.jks new file mode 100644 index 0000000..50a0f9e Binary files /dev/null and b/docker-proj/config/dfc1/template-truststore.jks differ diff --git a/docker-proj/config/dfc1/token-cache/jwt.txt b/docker-proj/config/dfc1/token-cache/jwt.txt new file mode 100644 index 0000000..e69de29 diff --git a/docker-proj/config/dfc1/truststore.jks b/docker-proj/config/dfc1/truststore.jks new file mode 100644 index 0000000..126947d Binary files /dev/null and b/docker-proj/config/dfc1/truststore.jks differ diff --git a/docker-proj/config/dmaap/MsgRtrApi.properties b/docker-proj/config/dmaap/MsgRtrApi.properties new file mode 100644 index 0000000..9ef1899 --- /dev/null +++ b/docker-proj/config/dmaap/MsgRtrApi.properties @@ -0,0 +1,135 @@ +{{/* +# LICENSE_START======================================================= +# org.onap.dmaap +# ================================================================================ +# Copyright © 2017 AT&T Intellectual Property. All rights reserved. +# Modifications Copyright © 2021-2023 Nordix Foundation +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +# +############################################################################### +############################################################################### +*/}} +## +## Kafka Connection +## +## Items below are passed through to Kafka's producer and consumer +## configurations (after removing "kafka.") +## if you want to change request.required.acks it can take this one value +#kafka.request.required.acks=-1 +kafka.metadata.broker.list=kafka-1:9092 +config.zk.servers=zookeeper-1:2181 +consumer.timeout.ms=100 +zookeeper.connection.timeout.ms=6000 +zookeeper.session.timeout.ms=20000 +zookeeper.sync.time.ms=2000 +auto.commit.interval.ms=1000 +fetch.message.max.bytes =1000000 +auto.commit.enable=false + +#(backoff*retries > zksessiontimeout) +kafka.rebalance.backoff.ms=10000 +kafka.rebalance.max.retries=6 + + +############################################################################### +## +## Secured Config +## +## Some data stored in the config system is sensitive -- API keys and secrets, +## for example. to protect it, we use an encryption layer for this section +## of the config. +## +## The key is a base64 encode AES key. This must be created/configured for +## each installation. +#cambria.secureConfig.key= +## +## The initialization vector is a 16 byte value specific to the secured store. +## This must be created/configured for each installation. +#cambria.secureConfig.iv= + +## Southfield Sandbox +cambria.secureConfig.key=b/7ouTn9FfEw2PQwL0ov/Q== +cambria.secureConfig.iv=wR9xP5k5vbz/xD0LmtqQLw== +authentication.adminSecret=fe3cCompound +#cambria.secureConfig.key[pc569h]=YT3XPyxEmKCTLI2NK+Sjbw== +#cambria.secureConfig.iv[pc569h]=rMm2jhR3yVnU+u2V9Ugu3Q== + + +############################################################################### +## +## Consumer Caching +## +## Kafka expects live connections from the consumer to the broker, which +## obviously doesn't work over connectionless HTTP requests. The Cambria +## server proxies HTTP requests into Kafka consumer sessions that are kept +## around for later re-use. Not doing so is costly for setup per request, +## which would substantially impact a high volume consumer's performance. +## +## This complicates Cambria server failover, because we often need server +## A to close its connection before server B brings up the replacement. +## + +## The consumer cache is normally enabled. +#cambria.consumer.cache.enabled=true + +## Cached consumers are cleaned up after a period of disuse. The server inspects +## consumers every sweepFreqSeconds and will clean up any connections that are +## dormant for touchFreqMs. +#cambria.consumer.cache.sweepFreqSeconds=15 +cambria.consumer.cache.touchFreqMs=120000 +##stickforallconsumerrequests=false +## The cache is managed through ZK. The default value for the ZK connection +## string is the same as config.zk.servers. +#cambria.consumer.cache.zkConnect=${config.zk.servers} + +## +## Shared cache information is associated with this node's name. The default +## name is the hostname plus the HTTP service port this host runs on. (The +## hostname is determined via InetAddress.getLocalHost ().getCanonicalHostName(), +## which is not always adequate.) You can set this value explicitly here. +## +#cambria.api.node.identifier= + +#cambria.rateLimit.maxEmptyPollsPerMinute=30 +#cambria.rateLimitActual.delay.ms=10 + +############################################################################### +## +## Metrics Reporting +## +## This server can report its metrics periodically on a topic. +## +#metrics.send.cambria.enabled=true +#metrics.send.cambria.topic=cambria.apinode.metrics #msgrtr.apinode.metrics.dmaap +#metrics.send.cambria.sendEverySeconds=60 + +cambria.consumer.cache.zkBasePath=/fe3c/cambria/consumerCache +consumer.timeout=17 +default.partitions=3 +default.replicas=3 +############################################################################## +#100mb +maxcontentlength=10000 + +############################################################################## +##AAF Properties +forceAAF=false +useCustomAcls=false + +kafka.max.poll.interval.ms=300000 +kafka.heartbeat.interval.ms=60000 +kafka.session.timeout.ms=240000 +kafka.max.poll.records=1000 diff --git a/docker-proj/config/dmaap/logback.xml b/docker-proj/config/dmaap/logback.xml new file mode 100644 index 0000000..7fe53ad --- /dev/null +++ b/docker-proj/config/dmaap/logback.xml @@ -0,0 +1,204 @@ + + + + ${module.ajsc.namespace.name} + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n + + + + + + + INFO + ACCEPT + DENY + + + + + + + "%d [%thread] %-5level %logger{1024} - %msg%n" + + + + + + ERROR + ACCEPT + DENY + + + "%d [%thread] %-5level %logger{1024} - %msg%n" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "%d [%thread] %-5level %logger{1024} - %msg%n" + + + + + + + "%d [%thread] %-5level %logger{1024} - %msg%n" + + + + 1000 + 0 + + + + + + + + + + + 1000 + 0 + + + + + + + + + + + + + + + + diff --git a/docker-proj/config/https/certs/gen-certs.sh b/docker-proj/config/https/certs/gen-certs.sh new file mode 100755 index 0000000..9aa2bc6 --- /dev/null +++ b/docker-proj/config/https/certs/gen-certs.sh @@ -0,0 +1,77 @@ +#!/bin/bash + +# ============LICENSE_START=============================================== +# Copyright (C) 2023 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +echo "Generating https certs" +SD=$(dirname -- "$0") +echo "script-home: "$SD + +cd $SD + +print_usage() { + echo "Usage: gen-certs.sh " + exit 1 +} + +check_error() { + if [ $1 -ne 0 ]; then + echo "Failed $2" + echo "Exiting..." + exit 1 + fi +} + +if [ $# -ne 1 ]; then + print_usage +fi + +rm *.crt +rm *.key + +echo "Generating ca cert and key" +echo " Generating ca key" +openssl genrsa 2048 > ca.key 2> /dev/null +check_error $? + +echo " Generating ca cert" +SRV="pm-https-server" +openssl req -new -x509 -nodes -days 365000 -key ca.key -subj "/C=SE/ST=./L=./O=EST/OU=EST/CN=$SRV/emailAddress=a@example.com" -out httpsca.crt 2> /dev/null + +check_error $? + + +#for (( i=0; i<${1}; i++ )); do +for (( i=1; i<=${1}; i++ )); do + SRV="pm-https-server-$i" + + echo " Generating cert and key for server $SRV" + openssl req -newkey rsa:2048 -nodes -days 365000 -subj "/C=SE/ST=./L=./O=ERIC/OU=ERIC/CN=$SRV/emailAddress=a@example.com" -keyout https-$i.key -out https-req$i.crt 2> /dev/null + + check_error $? + + openssl x509 -req -days 365000 -set_serial 01 -in https-req$i.crt -out https-$i.crt -CA httpsca.crt -CAkey ca.key + check_error $? + echo " Verifying cert towards ca cert" + openssl verify -CAfile httpsca.crt httpsca.crt https-$i.crt + check_error $? + +done + +echo "DONE" +exit 0 + diff --git a/docker-proj/config/ics/application.yaml b/docker-proj/config/ics/application.yaml new file mode 100644 index 0000000..679f2b8 --- /dev/null +++ b/docker-proj/config/ics/application.yaml @@ -0,0 +1,69 @@ +# ============LICENSE_START=============================================== +# Copyright (C) 2023 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +spring: + profiles: + active: prod + main: + allow-bean-definition-overriding: true + aop: + auto: false +springdoc: + show-actuator: true +management: + endpoints: + web: + exposure: + # Enabling of springboot actuator features. See springboot documentation. + include: "loggers,logfile,health,info,metrics,threaddump,heapdump" + +logging: + # Configuration of logging + level: + ROOT: ERROR + org.springframework: ERROR + org.springframework.data: ERROR + org.springframework.web.reactive.function.client.ExchangeFunctions: ERROR + org.oransc.ics: DEBUG + file: + name: /var/log/information-coordinator-service/application.log +server: + # Configuration of the HTTP/REST server. The parameters are defined and handeled by the springboot framework. + # See springboot documentation. + port : 8434 + http-port: 8083 + ssl: + key-store-type: JKS + key-store-password: policy_agent + key-store: /opt/app/information-coordinator-service/etc/cert/keystore.jks + key-password: policy_agent + key-alias: policy_agent +app: + webclient: + # Configuration of the trust store used for the HTTP client (outgoing requests) + # The file location and the password for the truststore is only relevant if trust-store-used == true + # Note that the same keystore as for the server is used. + trust-store-used: false + trust-store-password: policy_agent + trust-store: /opt/app/information-coordinator-service/etc/cert/truststore.jks + # Configuration of usage of HTTP Proxy for the southbound accesses. + # The HTTP proxy (if configured) will only be used for accessing NearRT RIC:s + http.proxy-host: + http.proxy-port: 0 + vardata-directory: /var/information-coordinator-service + # If the file name is empty, no authorzation token is sent + auth-token-file: diff --git a/docker-proj/config/kafka/strimzi.properties b/docker-proj/config/kafka/strimzi.properties new file mode 100644 index 0000000..320f16d --- /dev/null +++ b/docker-proj/config/kafka/strimzi.properties @@ -0,0 +1,77 @@ +# ============LICENSE_START=============================================== +# Copyright (C) 2023 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +########## +# Broker ID +########## +broker.id=0 +node.id=0 + +########## +# Zookeeper +########## +zookeeper.connect=zookeeper-1:2181 +zookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty + +########## +# Kafka message logs configuration +########## +log.dirs=/tmp/logs + +########## +# Listener configuration: SASL-9097 +########## +listener.name.sasl-9097.oauthbearer.sasl.server.callback.handler.class=io.strimzi.kafka.oauth.server.JaasServerOauthValidatorCallbackHandler +listener.name.sasl-9097.oauthbearer.sasl.jaas.config=org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule required unsecuredLoginStringClaim_sub="thePrincipalName" oauth.valid.issuer.uri="https://keycloak:8443/realms/nonrtric-realm" oauth.jwks.endpoint.uri="http://keycloak:8080/realms/nonrtric-realm/protocol/openid-connect/certs" oauth.username.claim="preferred_username" oauth.config.id="SASL-9097"; +listener.name.sasl-9097.plain.sasl.server.callback.handler.class=io.strimzi.kafka.oauth.server.plain.JaasServerOauthOverPlainValidatorCallbackHandler +listener.name.sasl-9097.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required oauth.valid.issuer.uri="https://keycloak:8443/realms/nonrtric-realm" oauth.jwks.endpoint.uri="http://keycloak:8080/realms/nonrtric-realm/protocol/openid-connect/certs" oauth.username.claim="preferred_username" oauth.config.id="SASL-9097"; +listener.name.sasl-9097.sasl.enabled.mechanisms=OAUTHBEARER,PLAIN +listener.name.sasl-9097.connections.max.reauth.ms=300000 + + +principal.builder.class=io.strimzi.kafka.oauth.server.OAuthKafkaPrincipalBuilder + +########## +# Common listener configuration +########## +listener.security.protocol.map=PLAIN-9092:PLAINTEXT,SASL-9097:SASL_PLAINTEXT +listeners=PLAIN-9092://:9092,SASL-9097://:9097 +advertised.listeners=PLAIN-9092://kafka-1:9092,SASL-9097://kafka-1:9097 +inter.broker.listener.name=PLAIN-9092 +sasl.enabled.mechanisms= + +########## +# Authorization +########## +authorizer.class.name=org.openpolicyagent.kafka.OpaAuthorizer +opa.authorizer.url=http://opa-kafka:8181/v1/data/kafka/authz/allow +opa.authorizer.allow.on.error=false +opa.authorizer.metrics.enabled=false +opa.authorizer.cache.initial.capacity=5000 +opa.authorizer.cache.maximum.size=50000 +opa.authorizer.cache.expire.after.seconds=3600 + +########## +# User provided configuration +########## +default.replication.factor=1 +inter.broker.protocol.version=3.3 +min.insync.replicas=1 +offsets.topic.replication.factor=1 +transaction.state.log.min.isr=1 +transaction.state.log.replication.factor=1 +log.message.format.version=3.3 diff --git a/docker-proj/config/keycloak/certs/gen-certs.sh b/docker-proj/config/keycloak/certs/gen-certs.sh new file mode 100755 index 0000000..ce9025a --- /dev/null +++ b/docker-proj/config/keycloak/certs/gen-certs.sh @@ -0,0 +1,45 @@ +#!/bin/sh + +# ============LICENSE_START=============================================== +# Copyright (C) 2023 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +BASEDIR=$(dirname $(realpath "$0")) +PASSWORD=changeit +CANAME=rootCA +DAYS=3650 +DOMAIN_NAME="CN=keycloak" +CA_SUBJECT="/CN=keycloak" + +rm $BASEDIR/keycloak.server.keystore.p12 $BASEDIR/keycloak.client.truststore.p12 $BASEDIR/rootCA.crt $BASEDIR/rootCA.key $BASEDIR/rootCA.srl $BASEDIR/cert-signed $BASEDIR/cert-file 2>/dev/null + +echo $PASSWORD > $BASEDIR/secretfile.txt + +echo "Generating Root Certificate" +openssl req -x509 -sha256 -days $DAYS -newkey rsa:4096 -keyout $BASEDIR/${CANAME}.key -subj "$CA_SUBJECT" -passout file:$BASEDIR/secretfile.txt -out $BASEDIR/${CANAME}.crt +echo "Create server certificate for Keycloak" +keytool -keystore $BASEDIR/keycloak.server.keystore.p12 -storetype pkcs12 -keyalg RSA -alias keycloak -validity $DAYS -genkey -storepass $PASSWORD -keypass $PASSWORD -dname $DOMAIN_NAME -ext SAN=DNS:keycloak +echo "Create keycloak keystore with server certificate" +keytool -keystore $BASEDIR/keycloak.server.keystore.p12 -storetype pkcs12 -alias keycloak -storepass $PASSWORD -keypass $PASSWORD -certreq -file $BASEDIR/cert-file +echo "Sign server certificate with rootCA" +openssl x509 -req -CA $BASEDIR/${CANAME}.crt -CAkey $BASEDIR/${CANAME}.key -in $BASEDIR/cert-file -out $BASEDIR/cert-signed -days $DAYS -CAcreateserial -passin pass:$PASSWORD +echo "Add $CANAME to keystore" +keytool -keystore $BASEDIR/keycloak.server.keystore.p12 -alias CARoot -storepass $PASSWORD -keypass $PASSWORD -import -file $BASEDIR/${CANAME}.crt -noprompt +echo "Add signed server certificate to keystore" +keytool -keystore $BASEDIR/keycloak.server.keystore.p12 -alias keycloak -storepass $PASSWORD -keypass $PASSWORD -import -file $BASEDIR/cert-signed -noprompt +echo "Create keycloak truststore with $CANAME" +keytool -keystore $BASEDIR/keycloak.client.truststore.p12 -storetype pkcs12 -alias ca -storepass $PASSWORD -keypass $PASSWORD -import -file $BASEDIR/${CANAME}.crt -noprompt +rm $BASEDIR/secretfile.txt 2>/dev/null diff --git a/docker-proj/config/keycloak/nginx.conf b/docker-proj/config/keycloak/nginx.conf new file mode 100644 index 0000000..f738341 --- /dev/null +++ b/docker-proj/config/keycloak/nginx.conf @@ -0,0 +1,18 @@ +worker_processes 1; + +events { worker_connections 10; } + +http { + + sendfile on; + + server { + listen 8080; + server_name keycloak; + location ~* ^/ { + proxy_http_version 1.1; + proxy_pass http://keycloak:8080; + + } + } +} diff --git a/docker-proj/config/pmfc/application_configuration_xml2json.json b/docker-proj/config/pmfc/application_configuration_xml2json.json new file mode 100644 index 0000000..67b3946 --- /dev/null +++ b/docker-proj/config/pmfc/application_configuration_xml2json.json @@ -0,0 +1,8 @@ + { + "types": [ + { + "id": "xml-file-data-to-filestore", + "kafkaInputTopic": "collected-file" + } + ] + } diff --git a/docker-proj/config/pmpr/application-minio-template.yaml b/docker-proj/config/pmpr/application-minio-template.yaml new file mode 100644 index 0000000..3b2fef7 --- /dev/null +++ b/docker-proj/config/pmpr/application-minio-template.yaml @@ -0,0 +1,105 @@ +# ============LICENSE_START=============================================== +# Copyright (C) 2023 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +spring: + profiles: + active: prod + main: + allow-bean-definition-overriding: true + aop: + auto: false +management: + endpoints: + web: + exposure: + # Enabling of springboot actuator features. See springboot documentation. + include: "loggers,logfile,health,info,metrics,threaddump,heapdump" + endpoint: + shutdown: + enabled: true +lifecycle: + timeout-per-shutdown-phase: "20s" +springdoc: + show-actuator: true +logging: + # Configuration of logging + level: + ROOT: WARN + org.apache.kafka: WARN + org.springframework: ERROR + org.springframework.data: ERROR + org.springframework.web.reactive.function.client.ExchangeFunctions: ERROR + org.oran.pmproducer: TRACE + pattern: + console: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %logger{20} - %msg%n" + file: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %logger{20} - %msg%n" + + file: + name: /var/log/pm-producer-service/application.log +server: + # Configuration of the HTTP/REST server. The parameters are defined and handeled by the springboot framework. + # See springboot documentation. + port : 8435 + http-port: 8084 + ssl: + key-store-type: JKS + key-store-password: policy_agent + key-store: /opt/app/pm-producer-service/etc/cert/keystore.jks + key-password: policy_agent + key-alias: policy_agent + shutdown: "graceful" +app: + webclient: + # Configuration of the trust store used for the HTTP client (outgoing requests) + # The file location and the password for the truststore is only relevant if trust-store-used == true + # Note that the same keystore as for the server is used. + trust-store-used: false + trust-store-password: policy_agent + trust-store: /opt/app/pm-producer-service/etc/cert/truststore.jks + # Configuration of usage of HTTP Proxy for the southbound accesses. + # The HTTP proxy (if configured) will only be used for accessing NearRT RIC:s + http.proxy-host: + http.proxy-port: 0 + ics-base-url: http://ics:8083 + configuration-filepath: /opt/app/pm-producer-service/data/application_configuration.json + #Override from env var + pm-producer-base-url: + # KAFKA boostrap servers. This is only needed if there are Information Types that uses a kafkaInputTopic + # several redundant boostrap servers can be specified, separated by a comma ','. + kafka: + bootstrap-servers: kafka-1:9097 + # The maximum number of records returned in a single call to poll() (default 100) + max-poll-records: 500 + # Configues if oath2 tokens shall be used. If set to true, auth-token-file must also be configured + use-oath-token: true + ssl: + key-store-type: PEM + key-store-location: + # key password is needed if the private key is encrypted + key-store-password: + trust-store-type: PEM + trust-store-location: + # If the file name is empty, no authorization token is used + auth-token-file: /token-cache/jwt.txt + pm-files-path: /pm-files + zip-output: false + s3: + endpointOverride: $KPADP_MINIO + accessKeyId: admin + secretAccessKey: adminadmin + locksBucket: pm-files-json-locks + bucket: pm-files-json diff --git a/docker-proj/config/pmpr/application.yaml b/docker-proj/config/pmpr/application.yaml new file mode 100644 index 0000000..2d7e428 --- /dev/null +++ b/docker-proj/config/pmpr/application.yaml @@ -0,0 +1,105 @@ +# ============LICENSE_START=============================================== +# Copyright (C) 2023 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +spring: + profiles: + active: prod + main: + allow-bean-definition-overriding: true + aop: + auto: false +management: + endpoints: + web: + exposure: + # Enabling of springboot actuator features. See springboot documentation. + include: "loggers,logfile,health,info,metrics,threaddump,heapdump" + endpoint: + shutdown: + enabled: true +lifecycle: + timeout-per-shutdown-phase: "20s" +springdoc: + show-actuator: true +logging: + # Configuration of logging + level: + ROOT: WARN + org.apache.kafka: WARN + org.springframework: ERROR + org.springframework.data: ERROR + org.springframework.web.reactive.function.client.ExchangeFunctions: ERROR + org.oran.pmproducer: TRACE + pattern: + console: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %logger{20} - %msg%n" + file: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %logger{20} - %msg%n" + + file: + name: /var/log/pm-producer-service/application.log +server: + # Configuration of the HTTP/REST server. The parameters are defined and handeled by the springboot framework. + # See springboot documentation. + port : 8435 + http-port: 8084 + ssl: + key-store-type: JKS + key-store-password: policy_agent + key-store: /opt/app/pm-producer-service/etc/cert/keystore.jks + key-password: policy_agent + key-alias: policy_agent + shutdown: "graceful" +app: + webclient: + # Configuration of the trust store used for the HTTP client (outgoing requests) + # The file location and the password for the truststore is only relevant if trust-store-used == true + # Note that the same keystore as for the server is used. + trust-store-used: false + trust-store-password: policy_agent + trust-store: /opt/app/pm-producer-service/etc/cert/truststore.jks + # Configuration of usage of HTTP Proxy for the southbound accesses. + # The HTTP proxy (if configured) will only be used for accessing NearRT RIC:s + http.proxy-host: + http.proxy-port: 0 + ics-base-url: http://ics:8083 + configuration-filepath: /opt/app/pm-producer-service/data/application_configuration.json + #Override from env var + pm-producer-base-url: + # KAFKA boostrap servers. This is only needed if there are Information Types that uses a kafkaInputTopic + # several redundant boostrap servers can be specified, separated by a comma ','. + kafka: + bootstrap-servers: kafka-1:9097 + # The maximum number of records returned in a single call to poll() (default 100) + max-poll-records: 500 + # Configues if oath2 tokens shall be used. If set to true, auth-token-file must also be configured + use-oath-token: true + ssl: + key-store-type: PEM + key-store-location: + # key password is needed if the private key is encrypted + key-store-password: + trust-store-type: PEM + trust-store-location: + # If the file name is empty, no authorization token is used + auth-token-file: /token-cache/jwt.txt + pm-files-path: /pm-files + zip-output: false + s3: + endpointOverride: + accessKeyId: admin + secretAccessKey: adminadmin + locksBucket: pm-files-json-locks + bucket: pm-files-json diff --git a/docker-proj/config/pmpr/application_configuration-minio-template.json b/docker-proj/config/pmpr/application_configuration-minio-template.json new file mode 100644 index 0000000..f847251 --- /dev/null +++ b/docker-proj/config/pmpr/application_configuration-minio-template.json @@ -0,0 +1,14 @@ + { + "types": [ + { + "id": "PmData", + "kafkaInputTopic": "json-file-ready-kpadp", + "useHttpProxy": false, + "dataType": "pmData", + "inputJobType": "xml-file-data-to-filestore", + "inputJobDefinition": { + "kafkaOutputTopic": "json-file-ready-kpadp" + } + } + ] + } diff --git a/docker-proj/config/pmpr/application_configuration.json b/docker-proj/config/pmpr/application_configuration.json new file mode 100644 index 0000000..f847251 --- /dev/null +++ b/docker-proj/config/pmpr/application_configuration.json @@ -0,0 +1,14 @@ + { + "types": [ + { + "id": "PmData", + "kafkaInputTopic": "json-file-ready-kpadp", + "useHttpProxy": false, + "dataType": "pmData", + "inputJobType": "xml-file-data-to-filestore", + "inputJobDefinition": { + "kafkaOutputTopic": "json-file-ready-kpadp" + } + } + ] + } diff --git a/docker-proj/config/pmpr/token-cache/jwt.txt b/docker-proj/config/pmpr/token-cache/jwt.txt new file mode 100644 index 0000000..e69de29 diff --git a/docker-proj/config/ves-collector/collector.properties b/docker-proj/config/ves-collector/collector.properties new file mode 100644 index 0000000..3cd0a1d --- /dev/null +++ b/docker-proj/config/ves-collector/collector.properties @@ -0,0 +1,77 @@ +############################################################################### +## +## Collector Server config +## +## - Default values are shown as commented settings. +## +############################################################################### +## +## HTTP(S) service +## +## Normally: +## +## - 8080 is http service +## - https is disabled by default +## +## - At this time, the server always binds to 0.0.0.0 +## +## +collector.service.port=8080 + +## Authentication is only supported via secure port +## When enabled - require valid keystore defined +collector.service.secure.port=8443 + +# auth.method flags: +# +# noAuth - default option - no security (http) +# certBasicAuth - auth by certificate and basic auth username / password (https) +#auth.method=certBasicAuth +auth.method=noAuth + +## Combination of userid,hashPassword encoded pwd list to be supported +## userid and pwd comma separated; pipe delimitation between each pair +## Password is generated by crypt-password library using BCrypt algorithm stored in dcaegen2/sdk package +## or https://nexus.onap.org/#nexus-search;quick~crypt-password +header.authlist=sample1,$2a$10$0buh.2WeYwN868YMwnNNEuNEAMNYVU9.FSMJGyIKV3dGET/7oGOi6 + +## The keystore must be setup per installation when secure port is configured +collector.keystore.file.location=etc/keystore +collector.keystore.passwordfile=etc/passwordfile + +collector.cert.subject.matcher=etc/certSubjectMatcher.properties + +## The truststore must be setup per installation when mutual tls support is configured +collector.truststore.file.location=etc/truststore +collector.truststore.passwordfile=etc/trustpasswordfile + +## Schema Validation checkflag +## default no validation checkflag (-1) +## If enabled (1) - schemafile location must be specified +collector.schema.checkflag=1 +collector.schema.file={\"v1\":\"./etc/CommonEventFormat_27.2.json\",\"v2\":\"./etc/CommonEventFormat_27.2.json\",\"v3\":\"./etc/CommonEventFormat_27.2.json\",\"v4\":\"./etc/CommonEventFormat_27.2.json\",\"v5\":\"./etc/CommonEventFormat_28.4.1.json\",\"v7\":\"./etc/CommonEventFormat_30.2.1_ONAP.json\"} + +## Schema StndDefinedFields Validation checkflag +## default no validation checkflag (-1) +## If enabled (1) - schema files locations must be specified, mapping file path must be specified, schema reference path +## in event json must be specified, path to stndDefined data field in event json must be specified +collector.externalSchema.checkflag=1 +collector.externalSchema.schemasLocation=./etc/externalRepo/ +collector.externalSchema.mappingFileLocation=./etc/externalRepo/schema-map.json +event.externalSchema.schemaRefPath=$.event.stndDefinedFields.schemaReference +event.externalSchema.stndDefinedDataPath=$.event.stndDefinedFields.data + +## List all streamid per domain to be supported. The streamid should match to channel name on dmaapfile +collector.dmaap.streamid=fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurementsForVfScaling=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-measurement|pnfRegistration=ves-pnfRegistration|3GPP-FaultSupervision=ves-3gpp-fault-supervision|3GPP-Heartbeat=ves-3gpp-heartbeat|3GPP-Provisioning=ves-3gpp-provisioning|3GPP-PerformanceAssurance=ves-3gpp-performance-assurance|o-ran-sc-du-hello-world-pm-streaming-oas3=ves-o-ran-sc-du-hello-world-pm-streaming-oas3 +collector.dmaapfile=etc/ves-dmaap-config.json + +## Path to the file containing description of api versions +collector.description.api.version.location=etc/api_version_description.json + +## Event transformation Flag - when set expects configurable transformation +## defined under ./etc/eventTransform.json +## Enabled by default; to disable set to 0 +event.transform.flag=1 + +# Describes at what frequency (measured in minutes) should application try to fetch config from CBS +collector.dynamic.config.update.frequency=5 diff --git a/docker-proj/config/ves-collector/ves-dmaap-config.json b/docker-proj/config/ves-collector/ves-dmaap-config.json new file mode 100644 index 0000000..7fc3f39 --- /dev/null +++ b/docker-proj/config/ves-collector/ves-dmaap-config.json @@ -0,0 +1,9 @@ +{ + "ves-measurement": { + "type": "message_router", + "dmaap_info": { + "location": "mtl5", + "topic_url": "http://message-router:3904/events/file-ready/", + } + } +} diff --git a/docker-proj/docker-compose-dfc1.yaml b/docker-proj/docker-compose-dfc1.yaml new file mode 100644 index 0000000..c2b57ec --- /dev/null +++ b/docker-proj/docker-compose-dfc1.yaml @@ -0,0 +1,53 @@ +# ============LICENSE_START=============================================== +# Copyright (C) 2023 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +version: '3.0' +networks: + default: + external: true + name: nonrtric-docker-net + +services: + auth-token-file-dfc: + image: $AUTH_TOKEN_IMAGE + environment: + - CREDS_GRANT_TYPE=client_credentials + - CREDS_CLIENT_SECRET=$DFC_CLIENT_SECRET + - CREDS_CLIENT_ID=dfc + - AUTH_SERVICE_URL=http://keycloak:8080/realms/nonrtric-realm/protocol/openid-connect/token + - OUTPUT_FILE=/token-cache/jwt.txt + volumes: + - ./config/dfc1/token-cache:/token-cache + labels: + - "ranpm=yes" + + dfc1: + container_name: dfc1 + user: root + image: $DFC_IMAGE + ports: + - 8433:8433 + volumes: + - ./config/dfc1/application.yaml:/opt/app/datafile/config/application.yaml + - ./config/dfc1/truststore.jks:/opt/app/datafile/config/truststore.jks + - ./shared-volume:/tmp/onap_datafile/ + - ./config/dfc1/token-cache:/token-cache + # truststore is updated in runtime + depends_on: + - auth-token-file-dfc + labels: + - "ranpm=yes" diff --git a/docker-proj/docker-compose-k1.yaml b/docker-proj/docker-compose-k1.yaml new file mode 100644 index 0000000..515c493 --- /dev/null +++ b/docker-proj/docker-compose-k1.yaml @@ -0,0 +1,127 @@ +# ============LICENSE_START=============================================== +# Copyright (C) 2023 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +version: '3.0' +networks: + default: + external: true + name: nonrtric-docker-net + +services: + zookeeper-1: + image: ${STRIMZI_IMAGE} + command: [ + "sh", "-c", + "bin/zookeeper-server-start.sh config/zookeeper.properties" + ] + ports: + - '2181:2181' + environment: + ZOOKEEPER_CLIENT_PORT: 2181 + ZOOKEEPER_TICK_TIME: 2000 + LOG_DIR: /tmp/logs + labels: + - "ranpm=yes" + + kafka-1: + image: ${STRIMZI_IMAGE} + command: [ + "sh", "-c", + "bin/kafka-server-start.sh /tmp/kafka/strimzi.properties" + ] + environment: + LOG_DIR: /tmp/logs + depends_on: + - zookeeper-1 + ports: + - "9092:9092" + - "9097:9097" + labels: + - "ranpm=yes" + volumes: + - ./config/kafka/strimzi.properties:/tmp/kafka/strimzi.properties + + redpanda: + container_name: redpanda-console + image: ${REDPANDA_IMAGE} + restart: on-failure + hostname: redpanda-console + ports: + - "8780:8080" + depends_on: + - kafka-1 + environment: + KAFKA_BROKERS: kafka-1:9092 + labels: + - "ranpm=yes" + + message-router: + container_name: message-router + image: ${DMAAP_IMAGE} + ports: + - 3904:3904 + - 3905:3905 + environment: + enableCadi: 'false' + volumes: + - ./config/dmaap/MsgRtrApi.properties:/appl/dmaapMR1/bundleconfig/etc/appprops/MsgRtrApi.properties + - ./config/dmaap/logback.xml:/appl/dmaapMR1/bundleconfig/etc/logback.xml + depends_on: + - zookeeper-1 + - kafka-1 + labels: + - "ranpm=yes" + + ves-collector: + image: ${VES_COLLECTOR_IMAGE} + container_name: ves-collector + environment: + DMAAPHOST: message-router + ports: + - 8080:8080 + - 8443:8443 + volumes: + - ./config/ves-collector/collector.properties:/opt/app/VESCollector/etc/collector.properties + - ./config/ves-collector/ves-dmaap-config.json:/opt/app/VESCollector/etc/ves-dmaap-config.json + labels: + - "ranpm=yes" + + ics: + image: ${ICS_IMAGE} + container_name: ics + volumes: + - ./config/ics/application.yaml:/opt/app/information-coordinator-service/config/application.yaml + ports: + - 8083:8083 + - 8434:8434 + labels: + - "ranpm=yes" + + minio: + image: ${MINIO_IMAGE} + container_name: minio-server + command: server /data --console-address ":9001" + environment: + MINIO_ROOT_USER: admin + MINIO_ROOT_PASSWORD: adminadmin + ports: + - 9000:9000 + - 9001:9001 + labels: + - "ranpm=yes" + volumes: + - /tmp/minio-test/0:/data diff --git a/docker-proj/docker-compose-pm-https.yaml b/docker-proj/docker-compose-pm-https.yaml new file mode 100644 index 0000000..bf1417f --- /dev/null +++ b/docker-proj/docker-compose-pm-https.yaml @@ -0,0 +1,36 @@ +# ============LICENSE_START=============================================== +# Copyright (C) 2023 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +version: '3.0' +networks: + default: + external: true + name: nonrtric-docker-net + +services: + pm-https-server-${CONTAINER_NUM}: + container_name: pm-https-server-${CONTAINER_NUM} + image: $PM_HTTPSSERVER_IMAGE + environment: + ALWAYS_RETURN: /files/pm.xml.gz + volumes: + - ./ne-files:/files:rw + - ./config/https/certs/https-${CONTAINER_NUM}.key:/certs/server.key + - ./config/https/certs/https-${CONTAINER_NUM}.crt:/certs/server.crt + labels: + - "ranpm=yes" + diff --git a/docker-proj/docker-compose-producers.yaml b/docker-proj/docker-compose-producers.yaml new file mode 100644 index 0000000..a1df4b8 --- /dev/null +++ b/docker-proj/docker-compose-producers.yaml @@ -0,0 +1,75 @@ +# ============LICENSE_START=============================================== +# Copyright (C) 2023 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +version: '3.0' +networks: + default: + external: true + name: nonrtric-docker-net + +services: + kafka-producer-pm-xml2json-0: + image: $KPX_IMAGE + container_name: kafka-producer-pm-xml2json-0 + volumes: + - ./config/pmfc/application_configuration_xml2json.json:/application_configuration.json + - ./shared-volume:$FILES_VOLUME + ports: + - 9881:80 + labels: + - "ranpm=yes" + environment: + KP: kafka-producer-pm-xml2json-0 + FILES_VOLUME: $FILES_VOLUME + KAFKA_SERVER: kafka-1:9097 + ICS: ics:8083 + SELF: kafka-producer-pm-xml2json-0:80 + FILESTORE_USER: admin + FILESTORE_PWD: adminadmin + FILESTORE_SERVER: minio-server:9000 + CREDS_GRANT_TYPE: client_credentials + CREDS_CLIENT_SECRET: $XML2JSON_CLIENT_SECRET + CREDS_CLIENT_ID: kafka-producer-pm-xml2json + AUTH_SERVICE_URL: http://keycloak:8080/realms/nonrtric-realm/protocol/openid-connect/token + + auth-token-file-pm-producer-json2kafka: + image: $AUTH_TOKEN_IMAGE + environment: + CREDS_GRANT_TYPE: client_credentials + CREDS_CLIENT_SECRET: $JSON2KAFKA_CLIENT_SECRET + CREDS_CLIENT_ID: pm-producer-json2kafka + AUTH_SERVICE_URL: http://keycloak:8080/realms/nonrtric-realm/protocol/openid-connect/token + OUTPUT_FILE: /token-cache/jwt.txt + volumes: + - ./config/pmpr/token-cache:/token-cache + labels: + - "ranpm=yes" + + pm-producer-json2kafka: + image: $DMAAPADP_IMAGE + container_name: pm-producer-json2kafka + depends_on: + - auth-token-file-pm-producer-json2kafka + volumes: + - ./config/pmpr/application_configuration.json:/opt/app/pm-producer-service/data/application_configuration.json + - ./config/pmpr/application.yaml:/opt/app/pm-producer-service/config/application.yaml + - ./config/pmpr/token-cache:/token-cache + - ./shared-volume:$FILES_VOLUME + ports: + - 8084:8084 + labels: + - "ranpm=yes" diff --git a/docker-proj/docker-compose-security.yaml b/docker-proj/docker-compose-security.yaml new file mode 100644 index 0000000..845ecd7 --- /dev/null +++ b/docker-proj/docker-compose-security.yaml @@ -0,0 +1,80 @@ +# ============LICENSE_START=============================================== +# Copyright (C) 2023 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +version: '3.0' +networks: + default: + external: true + name: nonrtric-docker-net + +services: + bundle-server: + image: ${BUNDLE_IMAGE} + container_name: bundle-server + ports: + - 80:80 + volumes: + - ./config/bundle-server/bundle.tar.gz:/usr/share/nginx/html/bundle.tar.gz + labels: + - "ranpm=yes" + + opa-kafka: + image: ${OPA_IMAGE} + container_name: opa-kafka + ports: + - 8181:8181 + command: + - "run" + - "--server" + - "--log-format=json-pretty" + - "--set=decision_logs.console=true" + - "--set=services.authz.url=http://bundle-server" + - "--set=bundles.authz.service=authz" + - "--set=bundles.authz.resource=bundle.tar.gz" + depends_on: + - bundle-server + labels: + - "ranpm=yes" + + keycloak: + image: ${KEYCLOAK_IMAGE} + container_name: keycloak + command: + - "start" + - "--https-key-store-file=/etc/x509/https/keycloak.server.keystore.p12" + - "--https-key-store-password=$${KC_KEYSTORE_PASSWORD}" + - "--https-key-store-type=PKCS12" + - "--https-trust-store-file=/etc/x509/https/keycloak.client.truststore.p12" + - "--https-trust-store-password=$${KC_KEYSTORE_PASSWORD}" + - "--https-trust-store-type=PKCS12" + - "--https-client-auth=request" + - "--http-enabled=true" + ports: + - 8462:8080 + - 8463:8443 + environment: + - KEYCLOAK_ADMIN=admin + - KEYCLOAK_ADMIN_PASSWORD=admin + - KC_KEYSTORE_PASSWORD=changeit + - KC_HOSTNAME=keycloak + - KC_HTTP_ENABLED=true + - KC_HTTPS_CLIENT_AUTH=request + volumes: + - ./config/keycloak/certs/keycloak.client.truststore.p12:/etc/x509/https/keycloak.client.truststore.p12 + - ./config/keycloak/certs/keycloak.server.keystore.p12:/etc/x509/https/keycloak.server.keystore.p12 + labels: + - "ranpm=yes" diff --git a/docker-proj/docker-setup.sh b/docker-proj/docker-setup.sh new file mode 100755 index 0000000..bee4bcd --- /dev/null +++ b/docker-proj/docker-setup.sh @@ -0,0 +1,276 @@ +#!/bin/bash + +# ============LICENSE_START=============================================== +# Copyright (C) 2023 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +echo $SP +print_usage() { + echo "Usage: docker-setup.sh" + exit 1 +} + +check_error() { + if [ $1 -ne 0 ]; then + echo "Failed $2" + echo "Exiting..." + exit 1 + fi +} + +setup_init() { +echo "Cleaning previously started containers..." + +./docker-tear-down.sh + +echo "Docker pruning" +docker system prune -f +docker volume prune -f + +echo "Creating dir for minio volume mapping" + +mkdir -p /tmp/minio-test +mkdir -p /tmp/minio-test/0 +rm -rf /tmp/minio-test/0/* + +NW="nonrtric-docker-net" +echo "Creating docker network" +docker network inspect $NW 2> /dev/null 1> /dev/null +if [ $? -ne 0 ]; then + docker network create $NW +else + echo " Network: $NW exits" +fi +} + +pull_image() { +if [ -z "$(docker images -q $1)" ]; then + echo "Pulling image... "$1 + docker pull $1 + check_error $? +fi +} + +check_images(){ +export KEYCLOAK_IMAGE=quay.io/keycloak/keycloak:20.0.1 +pull_image $KEYCLOAK_IMAGE + +export OPA_IMAGE=openpolicyagent/opa:latest-envoy +pull_image $OPA_IMAGE + +export BUNDLE_IMAGE=nginx:1.21 +pull_image $BUNDLE_IMAGE + +export MINIO_IMAGE=minio/minio +pull_image $MINIO_IMAGE + +export REDPANDA_IMAGE=redpandadata/console:v2.2.3 +pull_image $REDPANDA_IMAGE + +export STRIMZI_IMAGE=quay.io/strimzi/kafka:0.35.0-kafka-3.4.0 +pull_image $STRIMZI_IMAGE + +export DMAAP_IMAGE=nexus3.onap.org:10002/onap/dmaap/dmaap-mr:1.4.4 +pull_image $DMAAP_IMAGE + +export VES_COLLECTOR_IMAGE=nexus3.onap.org:10002/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.12.3 +pull_image $VES_COLLECTOR_IMAGE + +export ICS_IMAGE="nexus3.o-ran-sc.org:10001/o-ran-sc/nonrtric-plt-informationcoordinatorservice:1.5.0" +pull_image $ICS_IMAGE + +export DMAAPADP_IMAGE="nexus3.o-ran-sc.org:10001/o-ran-sc/nonrtric-plt-pmproducer:1.0.1" +pull_image $DMAAPADP_IMAGE + +export DFC_IMAGE="nexus3.o-ran-sc.org:10001/o-ran-sc/nonrtric-plt-ranpm-datafilecollector:1.0.0" +pull_image $DFC_IMAGE + +export KPX_IMAGE="nexus3.o-ran-sc.org:10001/o-ran-sc/nonrtric-plt-ranpm-pm-file-converter:1.0.1" +pull_image $KPX_IMAGE + +export AUTH_TOKEN_IMAGE=nexus3.o-ran-sc.org:10001/o-ran-sc/nonrtric-plt-auth-token-fetch:1.1.1 +pull_image $AUTH_TOKEN_IMAGE +} + +setup_keycloak() { +./config/keycloak/certs/gen-certs.sh +echo "Starting containers for: keycloak, opa" +envsubst '$KEYCLOAK_IMAGE,$OPA_IMAGE,$BUNDLE_IMAGE' < docker-compose-security.yaml > docker-compose-security_gen.yaml +docker-compose -p security -f docker-compose-security_gen.yaml up -d +} + +populate_keycloak(){ +# Create realm in keycloak +. scripts/populate_keycloak.sh + +create_realms nonrtric-realm +while [ $? -ne 0 ]; do + create_realms nonrtric-realm +done + +# Create client for admin calls +cid="console-setup" +create_clients nonrtric-realm $cid +check_error $? +generate_client_secrets nonrtric-realm $cid +check_error $? + +echo "" + +cid="console-setup" +__get_admin_token +TOKEN=$(get_client_token nonrtric-realm $cid) + +cid="kafka-producer-pm-xml2json" +create_clients nonrtric-realm $cid +check_error $? +generate_client_secrets nonrtric-realm $cid +check_error $? + +export XML2JSON_CLIENT_SECRET=$(< .sec_nonrtric-realm_$cid) + +cid="pm-producer-json2kafka" +create_clients nonrtric-realm $cid +check_error $? +generate_client_secrets nonrtric-realm $cid +check_error $? + +export JSON2KAFKA_CLIENT_SECRET=$(< .sec_nonrtric-realm_$cid) + +cid="dfc" +create_clients nonrtric-realm $cid +check_error $? +generate_client_secrets nonrtric-realm $cid +check_error $? + +export DFC_CLIENT_SECRET=$(< .sec_nonrtric-realm_$cid) +} + +setup_kafka() { +echo "Starting containers for: kafka, zookeeper, kafka client, ics, minio" +envsubst '$DMAAP_IMAGE,$VES_COLLECTOR_IMAGE,$ICS_IMAGE,$REDPANDA_IMAGE,$STRIMZI_IMAGE,$MINIO_IMAGE' < docker-compose-k1.yaml > docker-compose-k1_gen.yaml +docker-compose -p common -f docker-compose-k1_gen.yaml up -d +} + +create_topics() { +echo "Creating topics: $TOPICS, may take a while ..." +for t in $TOPICS; do + retcode=1 + rt=43200000 + echo "Creating topic $t with retention $(($rt/1000)) seconds" + while [ $retcode -ne 0 ]; do + docker exec -it common-kafka-1-1 ./bin/kafka-topics.sh \ + --create --topic $t --config retention.ms=$rt --bootstrap-server kafka-1:9092 + retcode=$? + done +done +} + +setup_dfc() { +export NUM_DFC=1 +echo "Starting $NUM_DFC dfc" +export DFC_MINIO=http://minio-server:9000 +export FILES_VOLUME="/pm-files" + +cwd=$PWD +for (( i=1; i<=$NUM_DFC; i++ )); do + echo "Updating dfc$i truststore" + cd $cwd/config/dfc$i + cp ../dfc-common/template-truststore.jks truststore.jks + check_error $? + + echo " Adding https ca cert to dfc$i truststore" + keytool -importcert -alias pm-https -file $cwd/config/https/certs/httpsca.crt -keystore truststore.jks -storetype JKS -storepass $(cat ../dfc-common/truststore.pass) -noprompt + check_error $? +done +cd $cwd + +chmod 622 config/dfc1/token-cache/jwt.txt +envsubst < docker-compose-dfc1.yaml > docker-compose-dfc_gen.yaml +envsubst < config/dfc1/application-template.yaml > config/dfc1/application.yaml +docker-compose -p dfc -f docker-compose-dfc_gen.yaml up -d +} + +setup_producers() { +echo "Starting producers" +chmod 622 config/pmpr/token-cache/jwt.txt +cp config/pmpr/application_configuration-minio-template.json config/pmpr/application_configuration.json +envsubst < config/pmpr/application-minio-template.yaml > config/pmpr/application.yaml + +export KPADP_MINIO=http://minio-server:9000 +envsubst < docker-compose-producers.yaml > docker-compose-producers_gen.yaml +docker-compose -p prod -f docker-compose-producers_gen.yaml up -d +} + +create_http_servers_certs() { +export NUM_HTTP=10 +echo "" +./config/https/certs/gen-certs.sh $NUM_HTTP +} + +setup_http_servers() { +cp pm-files/pm* ne-files + +echo "Starting http servers" +export PM_HTTPSSERVER_IMAGE="pm-https-server:latest" + +grep -B 21 "services:" docker-compose-pm-https.yaml > docker-compose-pm-https_gen.yaml +for (( i=1; i<=$NUM_HTTP; i++ )); do + export CONTAINER_NUM=$i + grep -A 12 "services:" docker-compose-pm-https.yaml | grep -v "services:" | \ + envsubst '$CONTAINER_NUM,$PM_HTTPSSERVER_IMAGE' >> docker-compose-pm-https_gen.yaml +done +docker-compose -p pm-https -f docker-compose-pm-https_gen.yaml up -d +} + +export KAFKA_NUM_PARTITIONS=10 +export TOPICS="file-ready collected-file json-file-ready-kp json-file-ready-kpadp pmreports" + +setup_init + +check_images + +setup_keycloak +check_error $? + +# Wait for keycloak to start +echo 'Waiting for keycloak to be ready' +until [ $(curl -s -w '%{http_code}' -o /dev/null 'http://localhost:8462') -eq 200 ]; +do + echo -n '.' + sleep 2 +done +echo "" +populate_keycloak + +setup_kafka +check_error $? + +create_topics + +create_http_servers_certs +check_error $? + +setup_dfc +check_error $? + +setup_producers +check_error $? + +setup_http_servers +check_error $? + +scripts/clean-shared-volume.sh diff --git a/docker-proj/docker-tear-down.sh b/docker-proj/docker-tear-down.sh new file mode 100755 index 0000000..4cb26b8 --- /dev/null +++ b/docker-proj/docker-tear-down.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +# ============LICENSE_START=============================================== +# Copyright (C) 2023 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +echo "Stop and remove all containers in the project" + +docker stop $(docker ps -qa --filter "label=ranpm") 2> /dev/null +docker stop $(docker ps -qa --filter "label=ranpm") 2> /dev/null +docker rm -f $(docker ps -qa --filter "label=ranpm") 2> /dev/null + +docker-compose -f docker-compose-pm-https_gen.yaml -p pm-https down +docker-compose -f docker-compose-producers_gen.yaml -p prod down +docker-compose -f docker-compose-dfc_gen.yaml -p dfc down +docker-compose -f docker-compose-k1_gen.yaml -p common down +docker-compose -f docker-compose-security_gen.yaml -p security down + diff --git a/docker-proj/ne-files/dummy.txt b/docker-proj/ne-files/dummy.txt new file mode 100644 index 0000000..013ed0d --- /dev/null +++ b/docker-proj/ne-files/dummy.txt @@ -0,0 +1 @@ +Empty file \ No newline at end of file diff --git a/docker-proj/ne-files/pm.xml b/docker-proj/ne-files/pm.xml new file mode 100644 index 0000000..8fde416 --- /dev/null +++ b/docker-proj/ne-files/pm.xml @@ -0,0 +1,4023 @@ + + + + + + + + + + + + + + pmCounterNumber0 + pmCounterNumber1 + pmCounterNumber2 + pmCounterNumber3 + pmCounterNumber4 + pmCounterNumber5 + pmCounterNumber6 + pmCounterNumber7 + pmCounterNumber8 + pmCounterNumber9 + pmCounterNumber10 + pmCounterNumber11 + pmCounterNumber12 + pmCounterNumber13 + pmCounterNumber14 + pmCounterNumber15 + pmCounterNumber16 + pmCounterNumber17 + pmCounterNumber18 + pmCounterNumber19 + pmCounterNumber20 + pmCounterNumber21 + pmCounterNumber22 + pmCounterNumber23 + pmCounterNumber24 + pmCounterNumber25 + pmCounterNumber26 + pmCounterNumber27 + pmCounterNumber28 + pmCounterNumber29 + pmCounterNumber30 + pmCounterNumber31 + pmCounterNumber32 + pmCounterNumber33 + pmCounterNumber34 + pmCounterNumber35 + pmCounterNumber36 + pmCounterNumber37 + pmCounterNumber38 + pmCounterNumber39 + pmCounterNumber40 + pmCounterNumber41 + pmCounterNumber42 + pmCounterNumber43 + pmCounterNumber44 + pmCounterNumber45 + pmCounterNumber46 + pmCounterNumber47 + pmCounterNumber48 + pmCounterNumber49 + pmCounterNumber50 + pmCounterNumber51 + pmCounterNumber51Act + pmCounterNumber53 + pmCounterNumber53Act + pmCounterNumber55 + pmCounterNumber56 + pmCounterNumber57 + pmCounterNumber58 + pmCounterNumber59 + pmCounterNumber60 + pmCounterNumber60IntgProt64kbps + pmCounterNumber62 + pmCounterNumber63 + pmCounterNumber64 + pmCounterNumber65 + pmCounterNumber66 + pmCounterNumber67 + pmCounterNumber68 + pmCounterNumber69 + pmCounterNumber70 + pmCounterNumber71 + pmCounterNumber72 + pmCounterNumber73 + pmCounterNumber74 + pmCounterNumber75 + pmCounterNumber76 + pmCounterNumber77 + pmCounterNumber78 + pmCounterNumber79 + pmCounterNumber80 + pmCounterNumber81 + pmCounterNumber82 + pmCounterNumber83 + pmCounterNumber84 + pmCounterNumber84Em + pmCounterNumber84EmFbInd + pmCounterNumber87 + pmCounterNumber88 + pmCounterNumber89 + pmCounterNumber90 + pmCounterNumber91 + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + pmCounterNumber92 + pmCounterNumber93 + pmCounterNumber94 + pmCounterNumber95 + pmCounterNumber96 + pmCounterNumber97 + pmCounterNumber98 + pmCounterNumber99 + pmCounterNumber100 + pmCounterNumber101 + pmCounterNumber102 + pmCounterNumber103 + pmCounterNumber104 + pmCounterNumber105 + pmCounterNumber106 + pmCounterNumber107 + pmCounterNumber108 + pmCounterNumber108Init + pmCounterNumber110 + pmCounterNumber110Init + pmCounterNumber112 + pmCounterNumber112Init + pmCounterNumber114 + pmCounterNumber114Init + pmCounterNumber116 + pmCounterNumber116Init + pmCounterNumber118 + pmCounterNumber118Init + pmCounterNumber120 + pmCounterNumber120Init + pmCounterNumber122 + pmCounterNumber122Init + pmCounterNumber124 + pmCounterNumber125 + pmCounterNumber125Init + pmCounterNumber127 + pmCounterNumber127Init + pmCounterNumber129 + pmCounterNumber129Init + pmCounterNumber131 + pmCounterNumber131Init + pmCounterNumber133 + pmCounterNumber133Init + pmCounterNumber135 + pmCounterNumber135Init + pmCounterNumber137 + pmCounterNumber137Init + pmCounterNumber139 + pmCounterNumber139Init + pmCounterNumber141 + pmCounterNumber141Init + pmCounterNumber143 + pmCounterNumber143Init + pmCounterNumber145 + pmCounterNumber145Init + pmCounterNumber147 + pmCounterNumber147Init + pmCounterNumber149 + pmCounterNumber150 + pmCounterNumber150Init + pmCounterNumber152 + pmCounterNumber152Init + pmCounterNumber154 + pmCounterNumber154Init + pmCounterNumber156 + pmCounterNumber156Init + pmCounterNumber158 + pmCounterNumber158Ext + pmCounterNumber160 + pmCounterNumber161 + pmCounterNumber162 + pmCounterNumber163 + pmCounterNumber164 + pmCounterNumber165 + pmCounterNumber166 + pmCounterNumber1666 + pmCounterNumber168 + pmCounterNumber169 + pmCounterNumber170 + pmCounterNumber171 + pmCounterNumber172 + pmCounterNumber173 + pmCounterNumber174 + pmCounterNumber175 + pmCounterNumber176 + pmCounterNumber177 + pmCounterNumber178 + pmCounterNumber179 + pmCounterNumber180 + pmCounterNumber181 + pmCounterNumber182 + pmCounterNumber183 + pmCounterNumber184 + pmCounterNumber185 + pmCounterNumber185Qos + pmCounterNumber185Samp + pmCounterNumber185SampQos + pmCounterNumber189 + pmCounterNumber189Qos + pmCounterNumber191 + pmCounterNumber191Qos + pmCounterNumber193 + pmCounterNumber193Samp + pmCounterNumber195 + pmCounterNumber195Ext + pmCounterNumber197 + pmCounterNumber198 + pmCounterNumber199 + pmCounterNumber200 + pmCounterNumber200BsrGrant + pmCounterNumber200PreemptGrant + pmCounterNumber200PucchSrGrant + pmCounterNumber204 + pmCounterNumber205 + pmCounterNumber206 + pmCounterNumber207 + pmCounterNumber208 + pmCounterNumber209 + pmCounterNumber210 + pmCounterNumber211 + pmCounterNumber212 + pmCounterNumber213 + pmCounterNumber214 + pmCounterNumber215 + pmCounterNumber216 + pmCounterNumber216MacCe + pmCounterNumber218 + pmCounterNumber219 + pmCounterNumber220 + pmCounterNumber221 + pmCounterNumber222 + pmCounterNumber223 + pmCounterNumber224 + pmCounterNumber225 + pmCounterNumber226 + pmCounterNumber227 + pmCounterNumber228 + pmCounterNumber228Forced + pmCounterNumber230 + pmCounterNumber231 + pmCounterNumber232 + pmCounterNumber233 + pmCounterNumber234 + pmCounterNumber235 + pmCounterNumber236 + pmCounterNumber237 + pmCounterNumber238 + pmCounterNumber239 + pmCounterNumber240 + pmCounterNumber241 + pmCounterNumber242 + pmCounterNumber243 + pmCounterNumber244 + pmCounterNumber245 + pmCounterNumber246 + pmCounterNumber247 + pmCounterNumber248 + pmCounterNumber249 + pmCounterNumber250 + pmCounterNumber251 + pmCounterNumber252 + pmCounterNumber252Qos + pmCounterNumber254 + pmCounterNumber254Qos + + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2880 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 179 + 0 + 0,0,0,0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 900,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 1440001 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,1800001,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 5376 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 179 + 0 + 0,0,0,0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 900,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 1440001 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,1800001,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + pmCounterNumber256 + pmCounterNumber257 + pmCounterNumber258 + pmCounterNumber259 + pmCounterNumber260 + pmCounterNumber261 + pmCounterNumber262 + pmCounterNumber263 + pmCounterNumber263On + pmCounterNumber265 + pmCounterNumber266 + pmCounterNumber267 + pmCounterNumber267Auto + pmCounterNumber267AutoCbrs + pmCounterNumber267Man + pmCounterNumber267ManCbrs + + 0,0,0,0,0,0,0,0,0,15,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 10000 + 0 + 0 + 0 + 0 + 0 + + + 0,0,0,0,0,0,0,0,0,0,0,0,0,15,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 15000 + 0 + 0 + 0 + 0 + 0 + + + 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + pmCounterNumber272 + pmCounterNumber273 + pmCounterNumber274 + pmCounterNumber275 + pmCounterNumber276 + pmCounterNumber277 + pmCounterNumber278 + + 0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + 0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + + + + pmCounterNumber279 + pmCounterNumber280 + pmCounterNumber281 + pmCounterNumber282 + pmCounterNumber283 + pmCounterNumber284 + pmCounterNumber285 + pmCounterNumber286 + pmCounterNumber287 + pmCounterNumber288 + pmCounterNumber289 + pmCounterNumber290 + pmCounterNumber291 + pmCounterNumber292 + pmCounterNumber293 + pmCounterNumber294 + pmCounterNumber295 + pmCounterNumber296 + pmCounterNumber274 + + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + + + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + + + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + + + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + + + + + + + pmCounterNumber297 + + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + + + + pmCounterNumber297F0Distr + pmCounterNumber297F2Distr + + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + + + + pmCounterNumber300 + pmCounterNumber301 + pmCounterNumber302 + pmCounterNumber303 + pmCounterNumber304 + pmCounterNumber305 + + 0 + 0 + 0 + 180 + 0 + 0 + + + + + + + pmCounterNumber306 + pmCounterNumber307 + pmCounterNumber308 + pmCounterNumber309 + pmCounterNumber310 + pmCounterNumber311 + pmCounterNumber312 + pmCounterNumber313 + pmCounterNumber314 + pmCounterNumber315 + pmCounterNumber316 + pmCounterNumber317 + pmCounterNumber318 + pmCounterNumber319 + pmCounterNumber320 + pmCounterNumber321 + pmCounterNumber322 + pmCounterNumber323 + pmCounterNumber324 + pmCounterNumber324Act + pmCounterNumber326 + pmCounterNumber326Act + pmCounterNumber328 + pmCounterNumber329 + pmCounterNumber330 + pmCounterNumber331 + pmCounterNumber332 + pmCounterNumber333 + pmCounterNumber334 + pmCounterNumber335 + pmCounterNumber336 + pmCounterNumber337 + pmCounterNumber338 + pmCounterNumber339 + pmCounterNumber340 + pmCounterNumber341 + pmCounterNumber342 + pmCounterNumber343 + pmCounterNumber343Mos + pmCounterNumber345 + pmCounterNumber345Mos + pmCounterNumber347 + pmCounterNumber348 + pmCounterNumber349 + pmCounterNumber350 + pmCounterNumber350Mos + pmCounterNumber350Reatt + pmCounterNumber350ReattMos + pmCounterNumber354 + pmCounterNumber354Mos + pmCounterNumber301 + pmCounterNumber302 + pmCounterNumber303 + pmCounterNumber304 + pmCounterNumber305 + pmCounterNumber356 + pmCounterNumber357 + pmCounterNumber358 + + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + + + + + + + pmCounterNumber359 + pmCounterNumber360 + pmCounterNumber361 + pmCounterNumber362 + pmCounterNumber363 + pmCounterNumber364 + pmCounterNumber365 + pmCounterNumber366 + pmCounterNumber367 + pmCounterNumber368 + pmCounterNumber369 + pmCounterNumber370 + pmCounterNumber371 + pmCounterNumber372 + pmCounterNumber373 + pmCounterNumber374 + pmCounterNumber375 + pmCounterNumber376 + pmCounterNumber377 + + 0 + 0 + 0 + 0 + 32 + 16 + 0 + 16 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + + + + + + + pmCounterNumber378 + pmCounterNumber379 + pmCounterNumber380 + pmCounterNumber381 + pmCounterNumber382 + pmCounterNumber383 + pmCounterNumber384 + pmCounterNumber385 + pmCounterNumber386 + pmCounterNumber306 + pmCounterNumber307 + pmCounterNumber307ual + pmCounterNumber388 + pmCounterNumber389 + pmCounterNumber390 + pmCounterNumber391 + pmCounterNumber392 + pmCounterNumber393 + pmCounterNumber394 + pmCounterNumber395 + pmCounterNumber396 + pmCounterNumber397 + pmCounterNumber398 + pmCounterNumber399 + pmCounterNumber399Broadcasting + pmCounterNumber401 + pmCounterNumber402 + pmCounterNumber403 + pmCounterNumber404 + pmCounterNumber405 + pmCounterNumber406 + pmCounterNumber407 + pmCounterNumber407Qos + pmCounterNumber409 + pmCounterNumber410 + pmCounterNumber410Drb + pmCounterNumber410DrbQos + pmCounterNumber413 + pmCounterNumber413ResUe + pmCounterNumber415 + pmCounterNumber416 + pmCounterNumber417 + pmCounterNumber418 + pmCounterNumber419 + pmCounterNumber420 + pmCounterNumber421 + pmCounterNumber422 + pmCounterNumber423 + pmCounterNumber424 + pmCounterNumber425 + pmCounterNumber426 + pmCounterNumber427 + pmCounterNumber428 + pmCounterNumber429 + pmCounterNumber430 + pmCounterNumber431 + pmCounterNumber432 + pmCounterNumber433 + pmCounterNumber434 + pmCounterNumber435 + pmCounterNumber436 + pmCounterNumber437 + pmCounterNumber438 + pmCounterNumber439 + pmCounterNumber440 + pmCounterNumber441 + + 0 + 0 + 0 + 1800000 + 0 + 0 + 0 + 1800001 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 3032642268 + 20160056 + 15120000 + 816482268 + 0 + 2880 + 0 + 0 + 3780540 + 2520 + 0 + 900,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 900,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 5760004 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 1440004 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 2,1,1,2,2,3,2,1,1,0,0,0 + 15 + 0 + 0 + 0 + 0 + 0 + 60 + 15 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 179 + 0 + 0 + 0 + + + 0 + 0 + 0 + 1800000 + 0 + 0 + 0 + 1800001 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 5110563822 + 20160056 + 15120000 + 1375923822 + 0 + 5376 + 0 + 0 + 3780504 + 2352 + 0 + 900,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 900,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 5760004 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 1440004 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 3,1,2,1,2,0,3,2,0,0,0,0 + 14 + 0 + 0 + 0 + 0 + 0 + 56 + 14 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 179 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 900 + 900 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 900 + 900 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + pmCounterNumber310 + pmCounterNumber311 + pmCounterNumber312 + pmCounterNumber313 + pmCounterNumber314 + pmCounterNumber347 + pmCounterNumber348 + pmCounterNumber349 + + 0 + 0 + 900 + 0 + 0 + 0 + 900 + 0 + + + + + + + pmCounterNumber442 + pmCounterNumber443 + pmCounterNumber444 + pmCounterNumber445 + pmCounterNumber446 + pmCounterNumber447 + pmCounterNumber448 + pmCounterNumber448PCell + pmCounterNumber448SCell + pmCounterNumber448Volte + pmCounterNumber452 + pmCounterNumber453 + pmCounterNumber454 + pmCounterNumber455 + pmCounterNumber114 + pmCounterNumber456 + pmCounterNumber457 + pmCounterNumber458 + pmCounterNumber122 + pmCounterNumber459 + pmCounterNumber460 + pmCounterNumber461 + pmCounterNumber462 + pmCounterNumber131 + pmCounterNumber463 + pmCounterNumber464 + pmCounterNumber143 + pmCounterNumber145 + pmCounterNumber147 + pmCounterNumber14916qam + pmCounterNumber149256Qam + pmCounterNumber14964Qam + pmCounterNumber149Iua16qam + pmCounterNumber149IuaQpsk + pmCounterNumber149Qpsk + pmCounterNumber471 + pmCounterNumber472 + pmCounterNumber473 + pmCounterNumber474 + pmCounterNumber475 + pmCounterNumber476 + pmCounterNumber477 + pmCounterNumber478 + pmCounterNumber248 + pmCounterNumber249 + pmCounterNumber479 + pmCounterNumber250 + pmCounterNumber251 + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + + + + + + + pmCounterNumber480 + pmCounterNumber481 + + 0 + 4,4,4 + + + 0 + 4,4,4 + + + 0 + 4,4,4 + + + 0 + , , + + + + 4,4,4 + + + + + + + pmCounterNumber482 + pmCounterNumber483 + pmCounterNumber484 + pmCounterNumber485 + pmCounterNumber486 + pmCounterNumber487 + pmCounterNumber488 + pmCounterNumber489 + pmCounterNumber490 + pmCounterNumber491 + + 0 + 51885 + 4628315 + 9190 + 0 + 15493 + 1956503 + 7326 + 0 + + + + 0 + 37309 + 2868954 + 4551 + 0 + 915 + 380361 + 4549 + 0 + + + + 0 + 15490 + 1512626 + 7326 + 0 + 51883 + 3492085 + 9190 + 0 + 0 + + + 0 + 916 + 260228 + 4549 + 0 + 37309 + 2097258 + 4551 + 0 + 0 + + + + + + + pmCounterNumber492 + pmCounterNumber493 + pmCounterNumber494 + pmCounterNumber495 + + 1077 + 1076 + 0 + 0 + + + 450 + 450 + 0 + 0 + + + 427 + 427 + 0 + 0 + + + 0 + 2147483647 + 0 + 0 + + + 0 + 2147483647 + 0 + 0 + + + + + + + pmCounterNumber496 + pmCounterNumber497 + pmCounterNumber498 + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + + + + + pmCounterNumber499 + pmCounterNumber500 + pmCounterNumber501 + + 2951 + 3600 + 2922 + + + 3018 + 4200 + 2953 + + + 2809 + 3500 + 2812 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 2810 + 3100 + 2830 + + + 2717 + 3600 + 2775 + + + 2700 + 3900 + 2773 + + + 0 + 0 + 0 + + + 2744 + 3200 + 2775 + + + 2863 + 3800 + 2898 + + + 2684 + 3900 + 2737 + + + 2892 + 4400 + 2893 + + + + + + + pmCounterNumber502 + pmCounterNumber503 + + 0 + 0 + + + 1310 + 32552 + + + 0 + 0 + + + 1430 + 32904 + + + 0 + 0 + + + 1410 + 33141 + + + 1388 + 32558 + + + 1384 + 32505 + + + 1297 + 32999 + + + 1297 + 33041 + + + 1474 + 32588 + + + 0 + 0 + + + 1463 + 32493 + + + 1464 + 32534 + + + + + + + pmCounterNumber482 + pmCounterNumber483 + pmCounterNumber484 + pmCounterNumber485 + pmCounterNumber486 + pmCounterNumber487 + pmCounterNumber488 + pmCounterNumber489 + pmCounterNumber504 + pmCounterNumber490 + pmCounterNumber505 + pmCounterNumber506 + pmCounterNumber507 + pmCounterNumber491 + + 22345 + 1057 + 2921772 + 4472 + 0 + 0 + 9147991 + 17099 + 0 + 7627 + 3582 + 0 + 0 + 0 + + + + + + + pmCounterNumber508 + pmCounterNumber509 + pmCounterNumber510 + pmCounterNumber511 + pmCounterNumber512 + pmCounterNumber513 + pmCounterNumber514 + pmCounterNumber515 + pmCounterNumber516 + pmCounterNumber517 + + 314834 + 4561 + 8697703 + 16811 + 0 + 0 + 0 + 0 + 0 + 0 + + + 19900 + 388 + 1260 + 30 + 0 + 0 + 0 + 0 + 0 + 0 + + + 26656 + 574 + 14580 + 243 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pmCounterNumber518 + pmCounterNumber519 + pmCounterNumber520 + pmCounterNumber521 + pmCounterNumber522 + pmCounterNumber523 + pmCounterNumber524 + pmCounterNumber525 + pmCounterNumber526 + pmCounterNumber527 + pmCounterNumber528 + pmCounterNumber529 + + 0 + 0 + 833 + 0 + 0 + 0 + 87820 + 0 + 0 + 0 + 87820 + 0 + + + 0 + 0 + 833 + 0 + 0 + 0 + 87820 + 0 + 0 + 0 + 87820 + 0 + + + + + + + pmCounterNumber482 + pmCounterNumber483 + pmCounterNumber484 + pmCounterNumber485 + pmCounterNumber486 + pmCounterNumber487 + pmCounterNumber488 + pmCounterNumber489 + pmCounterNumber507 + + 1996 + 341 + 657544 + 4205 + 0 + 0 + 9067777 + 16814 + 0 + + + 8457 + 343 + 711892 + 33 + 0 + 0 + 2368 + 37 + 0 + + + 11894 + 343 + 1006906 + 234 + 0 + 0 + 20246 + 248 + 0 + + + + + + + pmCounterNumber530 + pmCounterNumber530Accumulated + pmCounterNumber532 + + + + , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , + true + + + + + + + pmCounterNumber530 + pmCounterNumber530Accumulated + pmCounterNumber532 + pmCounterNumber533 + + 83 + 34846 + 333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,334,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333 + 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 + + + 12 + 4947 + 47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47 + 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53 + + + 13 + 5394 + 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,51,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,51,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 + 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 + + + 22 + 9338 + 89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89 + 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,52,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,52,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53 + + + + + , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , + , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , + true + + + + + + + pmCounterNumber534 + + 18,18,18 + + + 30,30,30 + + + + + + + pmCounterNumber535 + pmCounterNumber367 + pmCounterNumber368 + pmCounterNumber369 + pmCounterNumber370 + pmCounterNumber536 + pmCounterNumber537 + pmCounterNumber538 + pmCounterNumber539 + pmCounterNumber540 + pmCounterNumber541 + pmCounterNumber542 + pmCounterNumber543 + pmCounterNumber374 + pmCounterNumber375 + pmCounterNumber376 + pmCounterNumber377 + pmCounterNumber544 + pmCounterNumber545 + pmCounterNumber546 + pmCounterNumber547 + pmCounterNumber548 + pmCounterNumber549 + pmCounterNumber550 + pmCounterNumber551 + + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + + + + + + + pmCounterNumber359Aas + pmCounterNumber360Aas + pmCounterNumber554 + pmCounterNumber555 + pmCounterNumber365Actual + pmCounterNumber366Actual + pmCounterNumber558 + pmCounterNumber559 + pmCounterNumber560 + pmCounterNumber561 + pmCounterNumber562 + pmCounterNumber563 + pmCounterNumber564 + pmCounterNumber565 + pmCounterNumber566 + pmCounterNumber567 + pmCounterNumber568 + pmCounterNumber569 + pmCounterNumber570 + pmCounterNumber571 + pmCounterNumber572 + pmCounterNumber573 + + 0 + 0 + 0 + 0 + 0 + 0 + 5 + 900,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 180 + 0 + 8000 + 0 + 0 + 10000 + 1800 + 10000 + 1800 + 0 + 0 + 0 + 0 + 0 + + + + + + + pmCounterNumber306 + pmCounterNumber307 + pmCounterNumber574 + pmCounterNumber575 + pmCounterNumber576 + pmCounterNumber577 + pmCounterNumber578 + pmCounterNumber579 + pmCounterNumber580 + pmCounterNumber581 + pmCounterNumber582 + pmCounterNumber33 + pmCounterNumber34 + pmCounterNumber329 + pmCounterNumber330 + pmCounterNumber583 + pmCounterNumber583Arp + pmCounterNumber583Csfb + pmCounterNumber583CsfbArp + pmCounterNumber583CsfbQci + pmCounterNumber583HoOngoing + pmCounterNumber583HoOngoingArp + pmCounterNumber583HoOngoingQci + pmCounterNumber583Qci + pmCounterNumber592 + pmCounterNumber592Arp + pmCounterNumber594 + pmCounterNumber595 + pmCounterNumber596 + pmCounterNumber597 + pmCounterNumber598 + pmCounterNumber599 + pmCounterNumber599Arp + pmCounterNumber599Qci + pmCounterNumber602 + pmCounterNumber602Arp + pmCounterNumber604 + pmCounterNumber605 + pmCounterNumber606 + pmCounterNumber607 + pmCounterNumber608 + pmCounterNumber609 + pmCounterNumber610 + pmCounterNumber611 + pmCounterNumber612 + pmCounterNumber613 + pmCounterNumber614 + pmCounterNumber615 + pmCounterNumber616 + pmCounterNumber617 + pmCounterNumber618 + pmCounterNumber619 + pmCounterNumber620 + pmCounterNumber621 + pmCounterNumber409 + pmCounterNumber622 + pmCounterNumber623 + pmCounterNumber624 + pmCounterNumber625 + pmCounterNumber626 + pmCounterNumber627 + pmCounterNumber413ResUe + pmCounterNumber570 + pmCounterNumber213Ce + pmCounterNumber629 + pmCounterNumber630 + pmCounterNumber631 + pmCounterNumber631Uu + pmCounterNumber633 + pmCounterNumber634 + pmCounterNumber635 + pmCounterNumber636 + pmCounterNumber637 + pmCounterNumber637FiltQci + pmCounterNumber637LastTTI + pmCounterNumber637LastTTIQci + pmCounterNumber641 + pmCounterNumber642 + pmCounterNumber643 + pmCounterNumber350 + pmCounterNumber350Ce + pmCounterNumber350Dta + pmCounterNumber350DtaCe + pmCounterNumber350Reatt + pmCounterNumber350ReattCe + pmCounterNumber350ReattDta + pmCounterNumber350ReattDtaCe + pmCounterNumber650 + pmCounterNumber650ActiveUsers + pmCounterNumber652 + pmCounterNumber652Ce + pmCounterNumber654 + pmCounterNumber654Ce + pmCounterNumber354 + pmCounterNumber354Ce + pmCounterNumber354Dta + pmCounterNumber354DtaCe + pmCounterNumber354GummeiNative + pmCounterNumber660 + pmCounterNumber661 + pmCounterNumber662 + pmCounterNumber663 + pmCounterNumber664 + pmCounterNumber664Ce + pmCounterNumber664Dta + pmCounterNumber664DtaCe + pmCounterNumber664Em + pmCounterNumber664Hpa + pmCounterNumber664Mod + pmCounterNumber664ModCe + pmCounterNumber664Mos + pmCounterNumber664Mta + pmCounterNumber664MtaCe + pmCounterNumber675 + pmCounterNumber675Ce + pmCounterNumber677 + pmCounterNumber677Ce + pmCounterNumber677Dta + pmCounterNumber677DtaCe + pmCounterNumber677Em + pmCounterNumber677Hpa + pmCounterNumber677Mod + pmCounterNumber677ModCe + pmCounterNumber677Mos + pmCounterNumber677Mta + pmCounterNumber677MtaCe + pmCounterNumber688 + pmCounterNumber689 + pmCounterNumber690 + pmCounterNumber691 + pmCounterNumber692 + pmCounterNumber693 + pmCounterNumber694 + pmCounterNumber694Em + pmCounterNumber696 + pmCounterNumber696Em + pmCounterNumber698 + pmCounterNumber699 + pmCounterNumber699Em + pmCounterNumber701 + pmCounterNumber701Em + pmCounterNumber703 + pmCounterNumber704 + pmCounterNumber705 + pmCounterNumber706 + pmCounterNumber7062 + pmCounterNumber708 + pmCounterNumber709 + pmCounterNumber710 + pmCounterNumber711 + pmCounterNumber712 + pmCounterNumber713 + pmCounterNumber714 + pmCounterNumber715 + pmCounterNumber716 + pmCounterNumber717 + pmCounterNumber718 + pmCounterNumber719 + pmCounterNumber720 + + 0 + 900 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0,0,0,0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0 + 0 + + + 0 + 900 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0,0,0,0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0 + 0 + + + + + + + pmCounterNumber550Burst + pmCounterNumber550Format + pmCounterNumber550X2Fwd + pmCounterNumber724 + pmCounterNumber725 + + 0 + 0 + 0 + 0 + 0 + + + + + + + pmCounterNumber726 + pmCounterNumber727 + pmCounterNumber728 + pmCounterNumber729 + pmCounterNumber730 + pmCounterNumber731 + pmCounterNumber732 + pmCounterNumber733 + pmCounterNumber734 + pmCounterNumber735 + pmCounterNumber629CatMDrxNoSyncQci + pmCounterNumber629CatMDrxSyncQci + pmCounterNumber629CatMNoDrxNoSyncQci + pmCounterNumber629CatMNoDrxSyncQci + pmCounterNumber629DrxNoSyncQci + pmCounterNumber629DrxSync + pmCounterNumber629DrxSyncQci + pmCounterNumber629NoDrxNoSyncQci + pmCounterNumber629NoDrxSyncQci + pmCounterNumber629Qci + pmCounterNumber630CatMDrxNoSyncQci + pmCounterNumber630CatMDrxSyncQci + pmCounterNumber630CatMNoDrxNoSyncQci + pmCounterNumber630CatMNoDrxSyncQci + pmCounterNumber630DrxNoSyncQci + pmCounterNumber630DrxSync + pmCounterNumber630DrxSyncQci + pmCounterNumber630NoDrxNoSyncQci + pmCounterNumber630NoDrxSyncQci + pmCounterNumber630Qci + pmCounterNumber756 + pmCounterNumber756Qci + pmCounterNumber758 + pmCounterNumber758Qci + pmCounterNumber631Qci + pmCounterNumber631UuQci + pmCounterNumber762 + pmCounterNumber633Limitations + pmCounterNumber633MissingPdus2Qci + pmCounterNumber633Qci + pmCounterNumber633RohcFail2Qci + pmCounterNumber633SrbTooLarge + pmCounterNumber768 + pmCounterNumber769 + pmCounterNumber770 + pmCounterNumber771 + pmCounterNumber771Qci + pmCounterNumber634Qci + pmCounterNumber635Qci + pmCounterNumber775 + pmCounterNumber637Ca + pmCounterNumber637LastTTICa + pmCounterNumber637Qci + pmCounterNumber637TransPlmn0 + pmCounterNumber637TransPlmn1 + pmCounterNumber637TransPlmn2 + pmCounterNumber637TransPlmn3 + pmCounterNumber637TransPlmn4 + pmCounterNumber637TransPlmn5 + pmCounterNumber637TransPlmn6 + pmCounterNumber637TransQci + pmCounterNumber787 + pmCounterNumber641Trans + pmCounterNumber789 + pmCounterNumber642Plmn0 + pmCounterNumber642Plmn1 + pmCounterNumber642Plmn2 + pmCounterNumber642Plmn3 + pmCounterNumber642Plmn4 + pmCounterNumber642Plmn5 + pmCounterNumber642Plmn6 + pmCounterNumber642Qci + pmCounterNumber798 + + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + pmCounterNumber799 + pmCounterNumber799Gtpu + pmCounterNumber799NoCtxt + pmCounterNumber802 + pmCounterNumber803 + pmCounterNumber804 + pmCounterNumber805 + pmCounterNumber806 + pmCounterNumber807 + pmCounterNumber808 + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + pmEndcUeCapabilityUlPdcpDelay + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + pmCounterNumber802 + pmCounterNumber803 + + 0 + 0 + + + + + + + diff --git a/docker-proj/ne-files/pm.xml.gz b/docker-proj/ne-files/pm.xml.gz new file mode 100644 index 0000000..fda8f0e Binary files /dev/null and b/docker-proj/ne-files/pm.xml.gz differ diff --git a/docker-proj/pm-files/pm.xml b/docker-proj/pm-files/pm.xml new file mode 100644 index 0000000..8fde416 --- /dev/null +++ b/docker-proj/pm-files/pm.xml @@ -0,0 +1,4023 @@ + + + + + + + + + + + + + + pmCounterNumber0 + pmCounterNumber1 + pmCounterNumber2 + pmCounterNumber3 + pmCounterNumber4 + pmCounterNumber5 + pmCounterNumber6 + pmCounterNumber7 + pmCounterNumber8 + pmCounterNumber9 + pmCounterNumber10 + pmCounterNumber11 + pmCounterNumber12 + pmCounterNumber13 + pmCounterNumber14 + pmCounterNumber15 + pmCounterNumber16 + pmCounterNumber17 + pmCounterNumber18 + pmCounterNumber19 + pmCounterNumber20 + pmCounterNumber21 + pmCounterNumber22 + pmCounterNumber23 + pmCounterNumber24 + pmCounterNumber25 + pmCounterNumber26 + pmCounterNumber27 + pmCounterNumber28 + pmCounterNumber29 + pmCounterNumber30 + pmCounterNumber31 + pmCounterNumber32 + pmCounterNumber33 + pmCounterNumber34 + pmCounterNumber35 + pmCounterNumber36 + pmCounterNumber37 + pmCounterNumber38 + pmCounterNumber39 + pmCounterNumber40 + pmCounterNumber41 + pmCounterNumber42 + pmCounterNumber43 + pmCounterNumber44 + pmCounterNumber45 + pmCounterNumber46 + pmCounterNumber47 + pmCounterNumber48 + pmCounterNumber49 + pmCounterNumber50 + pmCounterNumber51 + pmCounterNumber51Act + pmCounterNumber53 + pmCounterNumber53Act + pmCounterNumber55 + pmCounterNumber56 + pmCounterNumber57 + pmCounterNumber58 + pmCounterNumber59 + pmCounterNumber60 + pmCounterNumber60IntgProt64kbps + pmCounterNumber62 + pmCounterNumber63 + pmCounterNumber64 + pmCounterNumber65 + pmCounterNumber66 + pmCounterNumber67 + pmCounterNumber68 + pmCounterNumber69 + pmCounterNumber70 + pmCounterNumber71 + pmCounterNumber72 + pmCounterNumber73 + pmCounterNumber74 + pmCounterNumber75 + pmCounterNumber76 + pmCounterNumber77 + pmCounterNumber78 + pmCounterNumber79 + pmCounterNumber80 + pmCounterNumber81 + pmCounterNumber82 + pmCounterNumber83 + pmCounterNumber84 + pmCounterNumber84Em + pmCounterNumber84EmFbInd + pmCounterNumber87 + pmCounterNumber88 + pmCounterNumber89 + pmCounterNumber90 + pmCounterNumber91 + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + pmCounterNumber92 + pmCounterNumber93 + pmCounterNumber94 + pmCounterNumber95 + pmCounterNumber96 + pmCounterNumber97 + pmCounterNumber98 + pmCounterNumber99 + pmCounterNumber100 + pmCounterNumber101 + pmCounterNumber102 + pmCounterNumber103 + pmCounterNumber104 + pmCounterNumber105 + pmCounterNumber106 + pmCounterNumber107 + pmCounterNumber108 + pmCounterNumber108Init + pmCounterNumber110 + pmCounterNumber110Init + pmCounterNumber112 + pmCounterNumber112Init + pmCounterNumber114 + pmCounterNumber114Init + pmCounterNumber116 + pmCounterNumber116Init + pmCounterNumber118 + pmCounterNumber118Init + pmCounterNumber120 + pmCounterNumber120Init + pmCounterNumber122 + pmCounterNumber122Init + pmCounterNumber124 + pmCounterNumber125 + pmCounterNumber125Init + pmCounterNumber127 + pmCounterNumber127Init + pmCounterNumber129 + pmCounterNumber129Init + pmCounterNumber131 + pmCounterNumber131Init + pmCounterNumber133 + pmCounterNumber133Init + pmCounterNumber135 + pmCounterNumber135Init + pmCounterNumber137 + pmCounterNumber137Init + pmCounterNumber139 + pmCounterNumber139Init + pmCounterNumber141 + pmCounterNumber141Init + pmCounterNumber143 + pmCounterNumber143Init + pmCounterNumber145 + pmCounterNumber145Init + pmCounterNumber147 + pmCounterNumber147Init + pmCounterNumber149 + pmCounterNumber150 + pmCounterNumber150Init + pmCounterNumber152 + pmCounterNumber152Init + pmCounterNumber154 + pmCounterNumber154Init + pmCounterNumber156 + pmCounterNumber156Init + pmCounterNumber158 + pmCounterNumber158Ext + pmCounterNumber160 + pmCounterNumber161 + pmCounterNumber162 + pmCounterNumber163 + pmCounterNumber164 + pmCounterNumber165 + pmCounterNumber166 + pmCounterNumber1666 + pmCounterNumber168 + pmCounterNumber169 + pmCounterNumber170 + pmCounterNumber171 + pmCounterNumber172 + pmCounterNumber173 + pmCounterNumber174 + pmCounterNumber175 + pmCounterNumber176 + pmCounterNumber177 + pmCounterNumber178 + pmCounterNumber179 + pmCounterNumber180 + pmCounterNumber181 + pmCounterNumber182 + pmCounterNumber183 + pmCounterNumber184 + pmCounterNumber185 + pmCounterNumber185Qos + pmCounterNumber185Samp + pmCounterNumber185SampQos + pmCounterNumber189 + pmCounterNumber189Qos + pmCounterNumber191 + pmCounterNumber191Qos + pmCounterNumber193 + pmCounterNumber193Samp + pmCounterNumber195 + pmCounterNumber195Ext + pmCounterNumber197 + pmCounterNumber198 + pmCounterNumber199 + pmCounterNumber200 + pmCounterNumber200BsrGrant + pmCounterNumber200PreemptGrant + pmCounterNumber200PucchSrGrant + pmCounterNumber204 + pmCounterNumber205 + pmCounterNumber206 + pmCounterNumber207 + pmCounterNumber208 + pmCounterNumber209 + pmCounterNumber210 + pmCounterNumber211 + pmCounterNumber212 + pmCounterNumber213 + pmCounterNumber214 + pmCounterNumber215 + pmCounterNumber216 + pmCounterNumber216MacCe + pmCounterNumber218 + pmCounterNumber219 + pmCounterNumber220 + pmCounterNumber221 + pmCounterNumber222 + pmCounterNumber223 + pmCounterNumber224 + pmCounterNumber225 + pmCounterNumber226 + pmCounterNumber227 + pmCounterNumber228 + pmCounterNumber228Forced + pmCounterNumber230 + pmCounterNumber231 + pmCounterNumber232 + pmCounterNumber233 + pmCounterNumber234 + pmCounterNumber235 + pmCounterNumber236 + pmCounterNumber237 + pmCounterNumber238 + pmCounterNumber239 + pmCounterNumber240 + pmCounterNumber241 + pmCounterNumber242 + pmCounterNumber243 + pmCounterNumber244 + pmCounterNumber245 + pmCounterNumber246 + pmCounterNumber247 + pmCounterNumber248 + pmCounterNumber249 + pmCounterNumber250 + pmCounterNumber251 + pmCounterNumber252 + pmCounterNumber252Qos + pmCounterNumber254 + pmCounterNumber254Qos + + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2880 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 179 + 0 + 0,0,0,0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 900,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 1440001 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,1800001,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 5376 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 179 + 0 + 0,0,0,0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 900,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 1440001 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,1800001,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + pmCounterNumber256 + pmCounterNumber257 + pmCounterNumber258 + pmCounterNumber259 + pmCounterNumber260 + pmCounterNumber261 + pmCounterNumber262 + pmCounterNumber263 + pmCounterNumber263On + pmCounterNumber265 + pmCounterNumber266 + pmCounterNumber267 + pmCounterNumber267Auto + pmCounterNumber267AutoCbrs + pmCounterNumber267Man + pmCounterNumber267ManCbrs + + 0,0,0,0,0,0,0,0,0,15,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 10000 + 0 + 0 + 0 + 0 + 0 + + + 0,0,0,0,0,0,0,0,0,0,0,0,0,15,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 15000 + 0 + 0 + 0 + 0 + 0 + + + 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + pmCounterNumber272 + pmCounterNumber273 + pmCounterNumber274 + pmCounterNumber275 + pmCounterNumber276 + pmCounterNumber277 + pmCounterNumber278 + + 0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + 0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + + + + pmCounterNumber279 + pmCounterNumber280 + pmCounterNumber281 + pmCounterNumber282 + pmCounterNumber283 + pmCounterNumber284 + pmCounterNumber285 + pmCounterNumber286 + pmCounterNumber287 + pmCounterNumber288 + pmCounterNumber289 + pmCounterNumber290 + pmCounterNumber291 + pmCounterNumber292 + pmCounterNumber293 + pmCounterNumber294 + pmCounterNumber295 + pmCounterNumber296 + pmCounterNumber274 + + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + + + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + + + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + + + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + + + + + + + pmCounterNumber297 + + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + + + + pmCounterNumber297F0Distr + pmCounterNumber297F2Distr + + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + + + + pmCounterNumber300 + pmCounterNumber301 + pmCounterNumber302 + pmCounterNumber303 + pmCounterNumber304 + pmCounterNumber305 + + 0 + 0 + 0 + 180 + 0 + 0 + + + + + + + pmCounterNumber306 + pmCounterNumber307 + pmCounterNumber308 + pmCounterNumber309 + pmCounterNumber310 + pmCounterNumber311 + pmCounterNumber312 + pmCounterNumber313 + pmCounterNumber314 + pmCounterNumber315 + pmCounterNumber316 + pmCounterNumber317 + pmCounterNumber318 + pmCounterNumber319 + pmCounterNumber320 + pmCounterNumber321 + pmCounterNumber322 + pmCounterNumber323 + pmCounterNumber324 + pmCounterNumber324Act + pmCounterNumber326 + pmCounterNumber326Act + pmCounterNumber328 + pmCounterNumber329 + pmCounterNumber330 + pmCounterNumber331 + pmCounterNumber332 + pmCounterNumber333 + pmCounterNumber334 + pmCounterNumber335 + pmCounterNumber336 + pmCounterNumber337 + pmCounterNumber338 + pmCounterNumber339 + pmCounterNumber340 + pmCounterNumber341 + pmCounterNumber342 + pmCounterNumber343 + pmCounterNumber343Mos + pmCounterNumber345 + pmCounterNumber345Mos + pmCounterNumber347 + pmCounterNumber348 + pmCounterNumber349 + pmCounterNumber350 + pmCounterNumber350Mos + pmCounterNumber350Reatt + pmCounterNumber350ReattMos + pmCounterNumber354 + pmCounterNumber354Mos + pmCounterNumber301 + pmCounterNumber302 + pmCounterNumber303 + pmCounterNumber304 + pmCounterNumber305 + pmCounterNumber356 + pmCounterNumber357 + pmCounterNumber358 + + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 180 + 0 + 0 + 0 + 0 + 0 + + + + + + + pmCounterNumber359 + pmCounterNumber360 + pmCounterNumber361 + pmCounterNumber362 + pmCounterNumber363 + pmCounterNumber364 + pmCounterNumber365 + pmCounterNumber366 + pmCounterNumber367 + pmCounterNumber368 + pmCounterNumber369 + pmCounterNumber370 + pmCounterNumber371 + pmCounterNumber372 + pmCounterNumber373 + pmCounterNumber374 + pmCounterNumber375 + pmCounterNumber376 + pmCounterNumber377 + + 0 + 0 + 0 + 0 + 32 + 16 + 0 + 16 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + + + + + + + pmCounterNumber378 + pmCounterNumber379 + pmCounterNumber380 + pmCounterNumber381 + pmCounterNumber382 + pmCounterNumber383 + pmCounterNumber384 + pmCounterNumber385 + pmCounterNumber386 + pmCounterNumber306 + pmCounterNumber307 + pmCounterNumber307ual + pmCounterNumber388 + pmCounterNumber389 + pmCounterNumber390 + pmCounterNumber391 + pmCounterNumber392 + pmCounterNumber393 + pmCounterNumber394 + pmCounterNumber395 + pmCounterNumber396 + pmCounterNumber397 + pmCounterNumber398 + pmCounterNumber399 + pmCounterNumber399Broadcasting + pmCounterNumber401 + pmCounterNumber402 + pmCounterNumber403 + pmCounterNumber404 + pmCounterNumber405 + pmCounterNumber406 + pmCounterNumber407 + pmCounterNumber407Qos + pmCounterNumber409 + pmCounterNumber410 + pmCounterNumber410Drb + pmCounterNumber410DrbQos + pmCounterNumber413 + pmCounterNumber413ResUe + pmCounterNumber415 + pmCounterNumber416 + pmCounterNumber417 + pmCounterNumber418 + pmCounterNumber419 + pmCounterNumber420 + pmCounterNumber421 + pmCounterNumber422 + pmCounterNumber423 + pmCounterNumber424 + pmCounterNumber425 + pmCounterNumber426 + pmCounterNumber427 + pmCounterNumber428 + pmCounterNumber429 + pmCounterNumber430 + pmCounterNumber431 + pmCounterNumber432 + pmCounterNumber433 + pmCounterNumber434 + pmCounterNumber435 + pmCounterNumber436 + pmCounterNumber437 + pmCounterNumber438 + pmCounterNumber439 + pmCounterNumber440 + pmCounterNumber441 + + 0 + 0 + 0 + 1800000 + 0 + 0 + 0 + 1800001 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 3032642268 + 20160056 + 15120000 + 816482268 + 0 + 2880 + 0 + 0 + 3780540 + 2520 + 0 + 900,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 900,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 5760004 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 1440004 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 2,1,1,2,2,3,2,1,1,0,0,0 + 15 + 0 + 0 + 0 + 0 + 0 + 60 + 15 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 179 + 0 + 0 + 0 + + + 0 + 0 + 0 + 1800000 + 0 + 0 + 0 + 1800001 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 5110563822 + 20160056 + 15120000 + 1375923822 + 0 + 5376 + 0 + 0 + 3780504 + 2352 + 0 + 900,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 900,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 5760004 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 1440004 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 3,1,2,1,2,0,3,2,0,0,0,0 + 14 + 0 + 0 + 0 + 0 + 0 + 56 + 14 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 179 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 900 + 900 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 900 + 900 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + pmCounterNumber310 + pmCounterNumber311 + pmCounterNumber312 + pmCounterNumber313 + pmCounterNumber314 + pmCounterNumber347 + pmCounterNumber348 + pmCounterNumber349 + + 0 + 0 + 900 + 0 + 0 + 0 + 900 + 0 + + + + + + + pmCounterNumber442 + pmCounterNumber443 + pmCounterNumber444 + pmCounterNumber445 + pmCounterNumber446 + pmCounterNumber447 + pmCounterNumber448 + pmCounterNumber448PCell + pmCounterNumber448SCell + pmCounterNumber448Volte + pmCounterNumber452 + pmCounterNumber453 + pmCounterNumber454 + pmCounterNumber455 + pmCounterNumber114 + pmCounterNumber456 + pmCounterNumber457 + pmCounterNumber458 + pmCounterNumber122 + pmCounterNumber459 + pmCounterNumber460 + pmCounterNumber461 + pmCounterNumber462 + pmCounterNumber131 + pmCounterNumber463 + pmCounterNumber464 + pmCounterNumber143 + pmCounterNumber145 + pmCounterNumber147 + pmCounterNumber14916qam + pmCounterNumber149256Qam + pmCounterNumber14964Qam + pmCounterNumber149Iua16qam + pmCounterNumber149IuaQpsk + pmCounterNumber149Qpsk + pmCounterNumber471 + pmCounterNumber472 + pmCounterNumber473 + pmCounterNumber474 + pmCounterNumber475 + pmCounterNumber476 + pmCounterNumber477 + pmCounterNumber478 + pmCounterNumber248 + pmCounterNumber249 + pmCounterNumber479 + pmCounterNumber250 + pmCounterNumber251 + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + + + + + + + pmCounterNumber480 + pmCounterNumber481 + + 0 + 4,4,4 + + + 0 + 4,4,4 + + + 0 + 4,4,4 + + + 0 + , , + + + + 4,4,4 + + + + + + + pmCounterNumber482 + pmCounterNumber483 + pmCounterNumber484 + pmCounterNumber485 + pmCounterNumber486 + pmCounterNumber487 + pmCounterNumber488 + pmCounterNumber489 + pmCounterNumber490 + pmCounterNumber491 + + 0 + 51885 + 4628315 + 9190 + 0 + 15493 + 1956503 + 7326 + 0 + + + + 0 + 37309 + 2868954 + 4551 + 0 + 915 + 380361 + 4549 + 0 + + + + 0 + 15490 + 1512626 + 7326 + 0 + 51883 + 3492085 + 9190 + 0 + 0 + + + 0 + 916 + 260228 + 4549 + 0 + 37309 + 2097258 + 4551 + 0 + 0 + + + + + + + pmCounterNumber492 + pmCounterNumber493 + pmCounterNumber494 + pmCounterNumber495 + + 1077 + 1076 + 0 + 0 + + + 450 + 450 + 0 + 0 + + + 427 + 427 + 0 + 0 + + + 0 + 2147483647 + 0 + 0 + + + 0 + 2147483647 + 0 + 0 + + + + + + + pmCounterNumber496 + pmCounterNumber497 + pmCounterNumber498 + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + 0,0,0,0,0,0 + 0 + 0 + + + + + + + pmCounterNumber499 + pmCounterNumber500 + pmCounterNumber501 + + 2951 + 3600 + 2922 + + + 3018 + 4200 + 2953 + + + 2809 + 3500 + 2812 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 2810 + 3100 + 2830 + + + 2717 + 3600 + 2775 + + + 2700 + 3900 + 2773 + + + 0 + 0 + 0 + + + 2744 + 3200 + 2775 + + + 2863 + 3800 + 2898 + + + 2684 + 3900 + 2737 + + + 2892 + 4400 + 2893 + + + + + + + pmCounterNumber502 + pmCounterNumber503 + + 0 + 0 + + + 1310 + 32552 + + + 0 + 0 + + + 1430 + 32904 + + + 0 + 0 + + + 1410 + 33141 + + + 1388 + 32558 + + + 1384 + 32505 + + + 1297 + 32999 + + + 1297 + 33041 + + + 1474 + 32588 + + + 0 + 0 + + + 1463 + 32493 + + + 1464 + 32534 + + + + + + + pmCounterNumber482 + pmCounterNumber483 + pmCounterNumber484 + pmCounterNumber485 + pmCounterNumber486 + pmCounterNumber487 + pmCounterNumber488 + pmCounterNumber489 + pmCounterNumber504 + pmCounterNumber490 + pmCounterNumber505 + pmCounterNumber506 + pmCounterNumber507 + pmCounterNumber491 + + 22345 + 1057 + 2921772 + 4472 + 0 + 0 + 9147991 + 17099 + 0 + 7627 + 3582 + 0 + 0 + 0 + + + + + + + pmCounterNumber508 + pmCounterNumber509 + pmCounterNumber510 + pmCounterNumber511 + pmCounterNumber512 + pmCounterNumber513 + pmCounterNumber514 + pmCounterNumber515 + pmCounterNumber516 + pmCounterNumber517 + + 314834 + 4561 + 8697703 + 16811 + 0 + 0 + 0 + 0 + 0 + 0 + + + 19900 + 388 + 1260 + 30 + 0 + 0 + 0 + 0 + 0 + 0 + + + 26656 + 574 + 14580 + 243 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pmCounterNumber518 + pmCounterNumber519 + pmCounterNumber520 + pmCounterNumber521 + pmCounterNumber522 + pmCounterNumber523 + pmCounterNumber524 + pmCounterNumber525 + pmCounterNumber526 + pmCounterNumber527 + pmCounterNumber528 + pmCounterNumber529 + + 0 + 0 + 833 + 0 + 0 + 0 + 87820 + 0 + 0 + 0 + 87820 + 0 + + + 0 + 0 + 833 + 0 + 0 + 0 + 87820 + 0 + 0 + 0 + 87820 + 0 + + + + + + + pmCounterNumber482 + pmCounterNumber483 + pmCounterNumber484 + pmCounterNumber485 + pmCounterNumber486 + pmCounterNumber487 + pmCounterNumber488 + pmCounterNumber489 + pmCounterNumber507 + + 1996 + 341 + 657544 + 4205 + 0 + 0 + 9067777 + 16814 + 0 + + + 8457 + 343 + 711892 + 33 + 0 + 0 + 2368 + 37 + 0 + + + 11894 + 343 + 1006906 + 234 + 0 + 0 + 20246 + 248 + 0 + + + + + + + pmCounterNumber530 + pmCounterNumber530Accumulated + pmCounterNumber532 + + + + , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , + true + + + + + + + pmCounterNumber530 + pmCounterNumber530Accumulated + pmCounterNumber532 + pmCounterNumber533 + + 83 + 34846 + 333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,334,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333 + 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 + + + 12 + 4947 + 47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47 + 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53 + + + 13 + 5394 + 52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,51,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,51,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52 + 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54 + + + 22 + 9338 + 89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89 + 53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,52,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,52,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53 + + + + + , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , + , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , + true + + + + + + + pmCounterNumber534 + + 18,18,18 + + + 30,30,30 + + + + + + + pmCounterNumber535 + pmCounterNumber367 + pmCounterNumber368 + pmCounterNumber369 + pmCounterNumber370 + pmCounterNumber536 + pmCounterNumber537 + pmCounterNumber538 + pmCounterNumber539 + pmCounterNumber540 + pmCounterNumber541 + pmCounterNumber542 + pmCounterNumber543 + pmCounterNumber374 + pmCounterNumber375 + pmCounterNumber376 + pmCounterNumber377 + pmCounterNumber544 + pmCounterNumber545 + pmCounterNumber546 + pmCounterNumber547 + pmCounterNumber548 + pmCounterNumber549 + pmCounterNumber550 + pmCounterNumber551 + + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + + + + + + + pmCounterNumber359Aas + pmCounterNumber360Aas + pmCounterNumber554 + pmCounterNumber555 + pmCounterNumber365Actual + pmCounterNumber366Actual + pmCounterNumber558 + pmCounterNumber559 + pmCounterNumber560 + pmCounterNumber561 + pmCounterNumber562 + pmCounterNumber563 + pmCounterNumber564 + pmCounterNumber565 + pmCounterNumber566 + pmCounterNumber567 + pmCounterNumber568 + pmCounterNumber569 + pmCounterNumber570 + pmCounterNumber571 + pmCounterNumber572 + pmCounterNumber573 + + 0 + 0 + 0 + 0 + 0 + 0 + 5 + 900,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 180 + 0 + 8000 + 0 + 0 + 10000 + 1800 + 10000 + 1800 + 0 + 0 + 0 + 0 + 0 + + + + + + + pmCounterNumber306 + pmCounterNumber307 + pmCounterNumber574 + pmCounterNumber575 + pmCounterNumber576 + pmCounterNumber577 + pmCounterNumber578 + pmCounterNumber579 + pmCounterNumber580 + pmCounterNumber581 + pmCounterNumber582 + pmCounterNumber33 + pmCounterNumber34 + pmCounterNumber329 + pmCounterNumber330 + pmCounterNumber583 + pmCounterNumber583Arp + pmCounterNumber583Csfb + pmCounterNumber583CsfbArp + pmCounterNumber583CsfbQci + pmCounterNumber583HoOngoing + pmCounterNumber583HoOngoingArp + pmCounterNumber583HoOngoingQci + pmCounterNumber583Qci + pmCounterNumber592 + pmCounterNumber592Arp + pmCounterNumber594 + pmCounterNumber595 + pmCounterNumber596 + pmCounterNumber597 + pmCounterNumber598 + pmCounterNumber599 + pmCounterNumber599Arp + pmCounterNumber599Qci + pmCounterNumber602 + pmCounterNumber602Arp + pmCounterNumber604 + pmCounterNumber605 + pmCounterNumber606 + pmCounterNumber607 + pmCounterNumber608 + pmCounterNumber609 + pmCounterNumber610 + pmCounterNumber611 + pmCounterNumber612 + pmCounterNumber613 + pmCounterNumber614 + pmCounterNumber615 + pmCounterNumber616 + pmCounterNumber617 + pmCounterNumber618 + pmCounterNumber619 + pmCounterNumber620 + pmCounterNumber621 + pmCounterNumber409 + pmCounterNumber622 + pmCounterNumber623 + pmCounterNumber624 + pmCounterNumber625 + pmCounterNumber626 + pmCounterNumber627 + pmCounterNumber413ResUe + pmCounterNumber570 + pmCounterNumber213Ce + pmCounterNumber629 + pmCounterNumber630 + pmCounterNumber631 + pmCounterNumber631Uu + pmCounterNumber633 + pmCounterNumber634 + pmCounterNumber635 + pmCounterNumber636 + pmCounterNumber637 + pmCounterNumber637FiltQci + pmCounterNumber637LastTTI + pmCounterNumber637LastTTIQci + pmCounterNumber641 + pmCounterNumber642 + pmCounterNumber643 + pmCounterNumber350 + pmCounterNumber350Ce + pmCounterNumber350Dta + pmCounterNumber350DtaCe + pmCounterNumber350Reatt + pmCounterNumber350ReattCe + pmCounterNumber350ReattDta + pmCounterNumber350ReattDtaCe + pmCounterNumber650 + pmCounterNumber650ActiveUsers + pmCounterNumber652 + pmCounterNumber652Ce + pmCounterNumber654 + pmCounterNumber654Ce + pmCounterNumber354 + pmCounterNumber354Ce + pmCounterNumber354Dta + pmCounterNumber354DtaCe + pmCounterNumber354GummeiNative + pmCounterNumber660 + pmCounterNumber661 + pmCounterNumber662 + pmCounterNumber663 + pmCounterNumber664 + pmCounterNumber664Ce + pmCounterNumber664Dta + pmCounterNumber664DtaCe + pmCounterNumber664Em + pmCounterNumber664Hpa + pmCounterNumber664Mod + pmCounterNumber664ModCe + pmCounterNumber664Mos + pmCounterNumber664Mta + pmCounterNumber664MtaCe + pmCounterNumber675 + pmCounterNumber675Ce + pmCounterNumber677 + pmCounterNumber677Ce + pmCounterNumber677Dta + pmCounterNumber677DtaCe + pmCounterNumber677Em + pmCounterNumber677Hpa + pmCounterNumber677Mod + pmCounterNumber677ModCe + pmCounterNumber677Mos + pmCounterNumber677Mta + pmCounterNumber677MtaCe + pmCounterNumber688 + pmCounterNumber689 + pmCounterNumber690 + pmCounterNumber691 + pmCounterNumber692 + pmCounterNumber693 + pmCounterNumber694 + pmCounterNumber694Em + pmCounterNumber696 + pmCounterNumber696Em + pmCounterNumber698 + pmCounterNumber699 + pmCounterNumber699Em + pmCounterNumber701 + pmCounterNumber701Em + pmCounterNumber703 + pmCounterNumber704 + pmCounterNumber705 + pmCounterNumber706 + pmCounterNumber7062 + pmCounterNumber708 + pmCounterNumber709 + pmCounterNumber710 + pmCounterNumber711 + pmCounterNumber712 + pmCounterNumber713 + pmCounterNumber714 + pmCounterNumber715 + pmCounterNumber716 + pmCounterNumber717 + pmCounterNumber718 + pmCounterNumber719 + pmCounterNumber720 + + 0 + 900 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0,0,0,0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0 + 0 + + + 0 + 900 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0,0,0,0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0,0,0,0 + 0 + 0 + 0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0,0,0,0,0,0,0,0 + 0 + + + + + + + pmCounterNumber550Burst + pmCounterNumber550Format + pmCounterNumber550X2Fwd + pmCounterNumber724 + pmCounterNumber725 + + 0 + 0 + 0 + 0 + 0 + + + + + + + pmCounterNumber726 + pmCounterNumber727 + pmCounterNumber728 + pmCounterNumber729 + pmCounterNumber730 + pmCounterNumber731 + pmCounterNumber732 + pmCounterNumber733 + pmCounterNumber734 + pmCounterNumber735 + pmCounterNumber629CatMDrxNoSyncQci + pmCounterNumber629CatMDrxSyncQci + pmCounterNumber629CatMNoDrxNoSyncQci + pmCounterNumber629CatMNoDrxSyncQci + pmCounterNumber629DrxNoSyncQci + pmCounterNumber629DrxSync + pmCounterNumber629DrxSyncQci + pmCounterNumber629NoDrxNoSyncQci + pmCounterNumber629NoDrxSyncQci + pmCounterNumber629Qci + pmCounterNumber630CatMDrxNoSyncQci + pmCounterNumber630CatMDrxSyncQci + pmCounterNumber630CatMNoDrxNoSyncQci + pmCounterNumber630CatMNoDrxSyncQci + pmCounterNumber630DrxNoSyncQci + pmCounterNumber630DrxSync + pmCounterNumber630DrxSyncQci + pmCounterNumber630NoDrxNoSyncQci + pmCounterNumber630NoDrxSyncQci + pmCounterNumber630Qci + pmCounterNumber756 + pmCounterNumber756Qci + pmCounterNumber758 + pmCounterNumber758Qci + pmCounterNumber631Qci + pmCounterNumber631UuQci + pmCounterNumber762 + pmCounterNumber633Limitations + pmCounterNumber633MissingPdus2Qci + pmCounterNumber633Qci + pmCounterNumber633RohcFail2Qci + pmCounterNumber633SrbTooLarge + pmCounterNumber768 + pmCounterNumber769 + pmCounterNumber770 + pmCounterNumber771 + pmCounterNumber771Qci + pmCounterNumber634Qci + pmCounterNumber635Qci + pmCounterNumber775 + pmCounterNumber637Ca + pmCounterNumber637LastTTICa + pmCounterNumber637Qci + pmCounterNumber637TransPlmn0 + pmCounterNumber637TransPlmn1 + pmCounterNumber637TransPlmn2 + pmCounterNumber637TransPlmn3 + pmCounterNumber637TransPlmn4 + pmCounterNumber637TransPlmn5 + pmCounterNumber637TransPlmn6 + pmCounterNumber637TransQci + pmCounterNumber787 + pmCounterNumber641Trans + pmCounterNumber789 + pmCounterNumber642Plmn0 + pmCounterNumber642Plmn1 + pmCounterNumber642Plmn2 + pmCounterNumber642Plmn3 + pmCounterNumber642Plmn4 + pmCounterNumber642Plmn5 + pmCounterNumber642Plmn6 + pmCounterNumber642Qci + pmCounterNumber798 + + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,0,0,0,0,0,0,0,0,0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + pmCounterNumber799 + pmCounterNumber799Gtpu + pmCounterNumber799NoCtxt + pmCounterNumber802 + pmCounterNumber803 + pmCounterNumber804 + pmCounterNumber805 + pmCounterNumber806 + pmCounterNumber807 + pmCounterNumber808 + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + pmEndcUeCapabilityUlPdcpDelay + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + pmCounterNumber802 + pmCounterNumber803 + + 0 + 0 + + + + + + + diff --git a/docker-proj/pm-files/pm.xml.gz b/docker-proj/pm-files/pm.xml.gz new file mode 100644 index 0000000..fda8f0e Binary files /dev/null and b/docker-proj/pm-files/pm.xml.gz differ diff --git a/docker-proj/scripts/clean-shared-volume.sh b/docker-proj/scripts/clean-shared-volume.sh new file mode 100755 index 0000000..ef47f0e --- /dev/null +++ b/docker-proj/scripts/clean-shared-volume.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +# ============LICENSE_START=============================================== +# Copyright (C) 2023 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +echo "Deleting files in shared volumes" +SD=$(dirname -- "$0") +echo " script-home: "$SD + +cd $SD/.. + +if [ -d "shared-volume" ]; then + cd "shared-volume" + if [ $? -eq 0 ]; then + if [[ "$PWD" == *"/shared-volume" ]]; then + CNT=$(find . -maxdepth 2 -name 'A*' | wc -l) + echo " Deleting $CNT files in $PWD" + find . -maxdepth 2 -name 'A*' -delete + else + echo "Cannot determine if current dir is shared-volume" + echo "Exiting..." + exit 1 + fi + else + echo "Cannnot cd to shared-volume" + echo "Exiting..." + exit 1 + fi +else + echo "Dir shared-volume not found" + echo "Exiting..." + exit 1 +fi + +echo "DONE" +exit 0 diff --git a/docker-proj/scripts/kafka-client-send-file-ready.sh b/docker-proj/scripts/kafka-client-send-file-ready.sh new file mode 100755 index 0000000..3a39719 --- /dev/null +++ b/docker-proj/scripts/kafka-client-send-file-ready.sh @@ -0,0 +1,94 @@ +#!/bin/bash + +# ============LICENSE_START=============================================== +# Copyright (C) 2023 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +SD=$(dirname -- "$0") +echo "script-home: "$SD +cd $SD +CWD=$PWD + +NODE_COUNT=$1 +EVT_COUNT=$2 +NODE_NAME_BASE=$3 +FILE_EXT=$4 +SRV_COUNT=$5 + +print_usage() { + echo "Usage: kafka-client-send-file-ready.sh " + exit 1 +} +echo $@ +if [ $# -lt 5 ]; then + print_usage +fi + +BEGINTIME=1665146700 +CURTIME=$BEGINTIME + +BATCHSIZE=1000 + +CNTR=0 +TCNTR=0 + +for (( i=0; i<$EVT_COUNT; i++)); do + + if [ $CNTR -eq 0 ]; then + rm .out.json + touch .out.json + fi + + echo "EVENT NO: $i for $NODE_COUNT NODES - 1 FILE PER EVENT" + + ST=$(date -d @$CURTIME +'%Y%m%d.%H%M') + let CURTIME=CURTIME+900 + ET=$(date -d @$CURTIME +'%H%M') + + for (( j=0; j<$NODE_COUNT; j++)); do + + NO="$NODE_NAME_BASE-$j" + + #FN="A20000626.2315+0200-2330+0200_$NO-$i.$FILE_EXT" + FN="A$ST+0200-$ET+0200_$NO-$i.$FILE_EXT" + let SRV_ID=$j%$SRV_COUNT + let SRV_ID=SRV_ID+1 + echo "NODE "$NO + echo "FILENAME "$FN + SRV="pm-https-server-$SRV_ID" + echo "HTTP SERVER "$SRV + URL="https://$SRV:$HTTPS_PORT/files/$FN" + EVT='{"event":{"commonEventHeader":{"sequence":0,"eventName":"Noti_RnNode-Ericsson_FileReady","sourceName":"'$NO'","lastEpochMicrosec":151983,"startEpochMicrosec":15198378,"timeZoneOffset":"UTC+05:00","changeIdentifier":"PM_MEAS_FILES"},"notificationFields":{"notificationFieldsVersion":"notificationFieldsVersion","changeType":"FileReady","changeIdentifier":"PM_MEAS_FILES","arrayOfNamedHashMap":[{"name":"'$FN'","hashMap":{"fileFormatType":"org.3GPP.32.435#measCollec","location":"'$URL'","fileFormatVersion":"V10","compression":"gzip"}}]}}}' + echo $EVT >> .out.json + + let CNTR=CNTR+1 + let TCNTR=TCNTR+1 + if [ $CNTR -ge $BATCHSIZE ]; then + echo "Pushing batch of $CNTR events" + cat .out.json | /opt/kafka/bin/kafka-console-producer.sh --topic file-ready --broker-list kafka-1:9092 + rm .out.json + touch .out.json + CNTR=0 + fi + done + +done +if [ $CNTR -ne 0 ]; then + echo "Pushing batch of $CNTR events" + cat .out.json | /opt/kafka/bin/kafka-console-producer.sh --topic file-ready --broker-list kafka-1:9092 +fi + +echo "Pushed $TCNTR events" diff --git a/docker-proj/scripts/populate_keycloak.sh b/docker-proj/scripts/populate_keycloak.sh new file mode 100755 index 0000000..0c6f148 --- /dev/null +++ b/docker-proj/scripts/populate_keycloak.sh @@ -0,0 +1,467 @@ +#!/bin/bash + +# ============LICENSE_START=============================================== +# Copyright (C) 2023 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +# Script intended to be sourced by other script to add functions to the keycloak rest API + +KC_URL=http://localhost:8462 +echo "Keycloak url: "$KC_URL + +__get_admin_token() { + echo "Get admin token" + ADMIN_TOKEN="" + while [ "${#ADMIN_TOKEN}" -lt 20 ]; do + ADMIN_TOKEN=$(curl -s -X POST --max-time 2 "$KC_URL/realms/master/protocol/openid-connect/token" -H "Content-Type: application/x-www-form-urlencoded" -d "username=admin" -d "password=admin" -d 'grant_type=password' -d "client_id=admin-cli" | jq -r '.access_token') + if [ "${#ADMIN_TOKEN}" -lt 20 ]; then + echo "Could not get admin token, retrying..." + echo "Retrieved token: $ADMIN_TOKEN" + fi + done + echo "Admin token: ${ADMIN_TOKEN:0:10}..." + echo $ADMIN_TOKEN > .admin_token + __ADM_TOKEN_TS=$SECONDS +} + +__check_admin_token() { + __diff=$(($SECONDS-$__ADM_TOKEN_TS)) + if [ $__diff -gt 15 ]; then + __get_admin_token + fi +} + +__get_admin_token + +indent1() { sed 's/^/ /'; } +indent2() { sed 's/^/ /'; } + +decode_token() { + echo "Decoding access_token" + echo $1 | jq -R 'split(".") | .[0,1] | @base64d | fromjson' +} + +decode_jwt() { + echo "Decoding jwt" + echo $1 | jq -r .access_token | jq -R 'split(".") | .[0,1] | @base64d | fromjson' +} + +list_realms() { + echo "Listing all realms" + __check_admin_token + curl -s \ + -X GET \ + -H "Authorization: Bearer ${ADMIN_TOKEN}" \ + "$KC_URL/admin/realms" | jq -r '.[].id' | indent2 +} +delete_realms() { + echo "$@" + for realm in "$@"; do + echo "Attempt to delete realm: $realm" + __check_admin_token + curl -s \ + -X DELETE \ + -H "Authorization: Bearer ${ADMIN_TOKEN}" \ + "$KC_URL/admin/realms/$realm" | indent1 + if [ $? -ne 0 ]; then + echo "Command failed" + exit 1 + fi + echo " OK" + done +} + +create_realms() { + echo "Creating realms: $@" + while [ $# -gt 0 ]; do + echo " Attempt to create realm: $1" + __check_admin_token +cat > .jsonfile1 <<- "EOF" +{ +"realm":"$__realm_name", +"enabled":true +} +EOF + export __realm_name=$1 + envsubst < .jsonfile1 > .jsonfile2 + curl -s \ + -X POST \ + -H "Authorization: Bearer ${ADMIN_TOKEN}" \ + -H "Content-Type: application/json" \ + -d @".jsonfile2" \ + "$KC_URL/admin/realms" | indent2 + if [ $? -ne 0 ]; then + echo "Command failed" + exit 1 + fi + echo " OK" + shift + done +} + +create_clients() { + __realm=$1 + shift + echo "Attempt to create clients $@ for realm: $__realm" + +cat > .jsonfile1 <<- "EOF" +{ + "clientId":"$__client_name", + "publicClient": false, + "serviceAccountsEnabled": true, + "rootUrl":"https://example.com/example/", + "adminUrl":"https://example.com/example/" +} +EOF + while [ $# -gt 0 ]; do + echo " Creating client: $1" + __check_admin_token + export __client_name=$1 + envsubst < .jsonfile1 > .jsonfile2 + curl -s \ + -X POST \ + -H "Authorization: Bearer ${ADMIN_TOKEN}" \ + -H "Content-Type: application/json" \ + -d @".jsonfile2" \ + "$KC_URL/admin/realms/$__realm/clients" | indent1 + if [ $? -ne 0 ]; then + echo "Command failed" + exit 1 + fi + echo " OK" + shift + done +} + +__get_client_id() { + __client_data=$(curl -s \ + -X GET \ + -H "Authorization: Bearer ${ADMIN_TOKEN}" \ + "$KC_URL/admin/realms/$1/clients?clientId=$2") + if [ $? -ne 0 ]; then + return 1 + fi + __client_id=$(echo $__client_data | jq -r '.[0].id') + echo $__client_id + return 0 +} + +generate_client_secrets() { + __realm=$1 + shift + echo "Attempt to generate secret for clients $@ in realm $__realm" + while [ $# -gt 0 ]; do + __check_admin_token + __client_id=$(__get_client_id $__realm $1) + if [ $? -ne 0 ]; then + echo "Command failed" + exit 1 + fi + echo " Client id for client $1 in realm $__realm: "$__client_id | indent1 + echo " Creating secret" + __client_secret=$(curl -s \ + -X POST \ + -H "Authorization: Bearer ${ADMIN_TOKEN}" \ + "$KC_URL/admin/realms/$__realm/clients/$__client_id/client-secret") + if [ $? -ne 0 ]; then + echo "Command failed" + exit 1 + fi + __client_secret=$(curl -s \ + -X GET \ + -H "Authorization: Bearer ${ADMIN_TOKEN}" \ + "$KC_URL/admin/realms/$__realm/clients/$__client_id/client-secret") + if [ $? -ne 0 ]; then + echo "Command failed" + exit 1 + fi + __client_secret=$(echo $__client_secret | jq -r .value) + echo " Client secret for client $1 in realm $__realm: "$__client_secret | indent1 + echo $__client_secret > ".sec_$__realm""_$1" + echo " OK" + shift + done +} + +create_client_roles() { + # []+ + __check_admin_token + __client_id=$(__get_client_id $1 $2) + if [ $? -ne 0 ]; then + echo "Command failed" + exit 1 + fi + __realm=$1 + shift; shift; + while [ $# -gt 0 ]; do + +cat > .jsonfile1 <<- "EOF" +{ + "name":"$__role" +} +EOF + export __role=$1 + envsubst < .jsonfile1 > .jsonfile2 + curl -s \ + -X POST \ + -H "Authorization: Bearer ${ADMIN_TOKEN}" \ + -H "Content-Type: application/json" \ + -d @".jsonfile2" \ + "$KC_URL/admin/realms/$__realm/clients/$__client_id/roles" | indent1 + if [ $? -ne 0 ]; then + echo "Command failed" + exit 1 + fi + shift + done +} + +__get_service_account_id() { + # + __service_account_data=$(curl -s \ + -X GET \ + -H "Authorization: Bearer ${ADMIN_TOKEN}" \ + "$KC_URL/admin/realms/$1/clients/$2/service-account-user") + if [ $? -ne 0 ]; then + return 1 + fi + __service_account_id=$(echo $__service_account_data | jq -r '.id') + echo $__service_account_id + return 0 +} + +__get_client_available_role_id() { + # + __client_role_data=$(curl -s \ + -X GET \ + -H "Authorization: Bearer ${ADMIN_TOKEN}" \ + "$KC_URL/admin/realms/$1/users/$2/role-mappings/clients/$3/available") + if [ $? -ne 0 ]; then + return 1 + fi + #__client_role_id=$(echo $__client_role_data | jq -r '.id') + __client_role_id=$(echo $__client_role_data | jq -r '.[] | select(.name=="'$4'") | .id ') + echo $__client_role_id + return 0 +} + +__get_client_mapped_role_id() { + # + __client_role_data=$(curl -s \ + -X GET \ + -H "Authorization: Bearer ${ADMIN_TOKEN}" \ + "$KC_URL/admin/realms/$1/users/$2/role-mappings/clients/$3") + if [ $? -ne 0 ]; then + return 1 + fi + #__client_role_id=$(echo $__client_role_data | jq -r '.id') + __client_role_id=$(echo $__client_role_data | jq -r '.[] | select(.name=="'$4'") | .id ') + echo $__client_role_id + return 0 +} + +add_client_roles_mapping() { + # []+ + echo "Attempt to add roles ${@:3} to client $2 in realm $1" + __check_admin_token + __realm=$1 + __client=$2 + __client_id=$(__get_client_id $__realm $__client) + if [ $? -ne 0 ]; then + echo "Command failed" + exit 1 + fi + echo " Client id for client $__client in realm $__realm: "$__client_id | indent1 + __service_account_id=$(__get_service_account_id $__realm $__client_id) + if [ $? -ne 0 ]; then + echo "Command failed" + exit 1 + fi + echo " Service account id for client $__client in realm $__realm: "$__service_account_id | indent1 + shift; shift + __cntr=0 + __all_roles=$@ + while [ $# -gt 0 ]; do + if [ $__cntr -eq 0 ]; then + echo "[" > .jsonfile2 + fi + __client_role_id=$(__get_client_available_role_id $__realm $__service_account_id $__client_id $1) + if [ $? -ne 0 ]; then + echo "Command failed" + exit 1 + fi + + __role='{"name":"'$1'","id":"'$__client_role_id'","composite": false,"clientRole": true}' + if [ $__cntr -gt 0 ]; then + echo "," >> .jsonfile2 + fi + echo $__role >> .jsonfile2 + let __cntr=__cntr+1 + shift + done + echo "]" >> .jsonfile2 + echo " Adding roles $__all_roles to client $__client in realm $__realm" + + curl -s \ + -X POST \ + -H "Authorization: Bearer ${ADMIN_TOKEN}" \ + -H "Content-Type: application/json" \ + -d @".jsonfile2" \ + "$KC_URL/admin/realms/$__realm/users/$__service_account_id/role-mappings/clients/$__client_id" | indent2 + if [ $? -ne 0 ]; then + echo "Command failed" + exit 1 + fi + echo " OK" +} + + + +remove_client_roles_mapping() { + # []+ + echo "Attempt to removed roles ${@:3} from client $2 in realm $1" + __check_admin_token + __realm=$1 + __client=$2 + __client_id=$(__get_client_id $__realm $__client) + if [ $? -ne 0 ]; then + echo "Command failed" + exit 1 + fi + echo " Client id for client $__client in realm $__realm: "$__client_id | indent1 + __service_account_id=$(__get_service_account_id $__realm $__client_id) + if [ $? -ne 0 ]; then + echo "Command failed" + exit 1 + fi + echo " Service account id for client $__client in realm $__realm: "$__service_account_id | indent1 + shift; shift + __cntr=0 + __all_roles=$@ + while [ $# -gt 0 ]; do + if [ $__cntr -eq 0 ]; then + echo "[" > .jsonfile2 + fi + __client_role_id=$(__get_client_mapped_role_id $__realm $__service_account_id $__client_id $1) + if [ $? -ne 0 ]; then + echo "Command failed" + exit 1 + fi + + __role='{"name":"'$1'","id":"'$__client_role_id'","composite": false,"clientRole": true}' + if [ $__cntr -gt 0 ]; then + echo "," >> .jsonfile2 + fi + echo $__role >> .jsonfile2 + let __cntr=__cntr+1 + shift + done + echo "]" >> .jsonfile2 + echo " Removing roles $__all_roles from client $__client in realm $__realm" + + curl -s \ + -X DELETE \ + -H "Authorization: Bearer ${ADMIN_TOKEN}" \ + -H "Content-Type: application/json" \ + -d @".jsonfile2" \ + "$KC_URL/admin/realms/$__realm/users/$__service_account_id/role-mappings/clients/$__client_id" | indent2 + if [ $? -ne 0 ]; then + echo "Command failed" + exit 1 + fi + echo " OK" +} + +add_client_hardcoded-claim-mapper() { +# + __check_admin_token + __realm=$1 + __client=$2 + export __mapper_name=$3 + export __claim_name=$4 + export __claim_value=$5 + + __client_id=$(__get_client_id $__realm $__client) + if [ $? -ne 0 ]; then + echo " Fatal error when getting client id, response: "$? + exit 1 + fi + cat > .jsonfile1 <<- "EOF" +{ + "name": "$__mapper_name", + "protocol": "openid-connect", + "protocolMapper": "oidc-hardcoded-claim-mapper", + "consentRequired": false, + "config": { + "claim.value": "$__claim_value", + "userinfo.token.claim": "true", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "$__claim_name", + "access.tokenResponse.claim": "false" + } +} +EOF + envsubst < .jsonfile1 > .jsonfile2 + curl -s \ + -X POST \ + -H "Authorization: Bearer ${ADMIN_TOKEN}" \ + -H "Content-Type: application/json" \ + -d @".jsonfile2" \ + "$KC_URL/admin/realms/nonrtric-realm/clients/"$__client_id"/protocol-mappers/models" | indent2 + if [ $? -ne 0 ]; then + echo "Command failed" + exit 1 + fi + set +x + cat .jsonfile2 + echo " OK" +} + +# Get a client token +# args: +get_client_token() { + __check_admin_token + __realm=$1 + __client=$2 + __client_id=$(__get_client_id $__realm $__client) + if [ $? -ne 0 ]; then + echo " Fatal error when getting client id, response: "$? + exit 1 + fi + + __client_secret=$(curl -s -f \ + -X GET \ + -H "Authorization: Bearer ${ADMIN_TOKEN}" \ + "$KC_URL/admin/realms/$__realm/clients/$__client_id/client-secret") + if [ $? -ne 0 ]; then + echo " Fatal error when getting client secret, response: "$? + exit 1 + fi + + __client_secret=$(echo $__client_secret | jq -r .value) + + __TMP_TOKEN=$(curl -s -f -X POST $KC_URL/realms/$__realm/protocol/openid-connect/token \ + -H Content-Type:application/x-www-form-urlencoded \ + -d client_id="$__client" -d client_secret="$__client_secret" -d grant_type=client_credentials) + if [ $? -ne 0 ]; then + echo " Fatal error when getting client token, response: "$? + exit 1 + fi + + echo $__TMP_TOKEN| jq -r .access_token + return 0 +} diff --git a/docker-proj/scripts/push-to-file-ready-topic.sh b/docker-proj/scripts/push-to-file-ready-topic.sh new file mode 100755 index 0000000..025b0c6 --- /dev/null +++ b/docker-proj/scripts/push-to-file-ready-topic.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +# ============LICENSE_START=============================================== +# Copyright (C) 2023 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# +SD=$(dirname -- "$0") +echo "${0##*/} script-home: "$SD +cd $SD +CWD=$PWD + + +NODE_COUNT=$1 +EVT_COUNT=$2 +NODE_NAME_BASE=$3 +FILE_EXT=$4 +SRV_COUNT=$5 + +print_usage() { + echo "Usage: push-to-file-ready-topic.sh " + exit 1 +} +if [ $# -lt 5 ]; then + print_usage +fi + +chmod +x kafka-client-send-file-ready.sh +docker cp kafka-client-send-file-ready.sh common-kafka-1-1:/tmp/ + +docker exec -it common-kafka-1-1 /tmp/kafka-client-send-file-ready.sh $NODE_COUNT $EVT_COUNT $NODE_NAME_BASE $FILE_EXT $SRV_COUNT + +echo done + diff --git a/docker-proj/scripts/push-to-ves-collector.sh b/docker-proj/scripts/push-to-ves-collector.sh new file mode 100755 index 0000000..3dc7d85 --- /dev/null +++ b/docker-proj/scripts/push-to-ves-collector.sh @@ -0,0 +1,88 @@ +#!/bin/bash + +# ============LICENSE_START=============================================== +# Copyright (C) 2023 Nordix Foundation. All rights reserved. +# ======================================================================== +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END================================================= +# + +SD=$(dirname -- "$0") +echo "script-home: "$SD +cd $SD +CWD=$PWD + +NODE_COUNT=$1 +EVT_COUNT=$2 +NODE_NAME_BASE=$3 +FILE_EXT=$4 +SRV_COUNT=$5 + +HTTPS_PORT=443 + +print_usage() { + echo "Usage: push-to-ves-collector.sh " + exit 1 +} +echo $@ +if [ $# -lt 5 ]; then + print_usage +fi + +rm .out.json +touch .out.json + +BEGINTIME=1665146700 +CURTIME=$BEGINTIME + +for (( i=0; i<$EVT_COUNT; i++)); do + + echo "EVENT BATCH: $i of $EVT_COUNT events for $NODE_COUNT NODES - 1 FILE PER EVENT" + echo '{"eventList": [' > .out.json + first=0 + + arch="$(uname -s)" + if [[ $arch == "Darwin"* ]]; then + ST=$(date -r $CURTIME +'%Y%m%d.%H%M') + let CURTIME=CURTIME+900 + ET=$(date -r $CURTIME +'%H%M') + else + ST=$(date -d @$CURTIME +'%Y%m%d.%H%M') + let CURTIME=CURTIME+900 + ET=$(date -d @$CURTIME +'%H%M') + fi + + for (( j=0; j<$NODE_COUNT; j++)); do + + NO="$NODE_NAME_BASE-$j" + #FN="A20000626.2315+0200-2330+0200_$NO-$i.$FILE_EXT" + FN="A$ST+0200-$ET+0200_$NO-$i.$FILE_EXT" + let SRV_ID=$j%$SRV_COUNT + let SRV_ID=SRV_ID+1 + #echo "NODE "$NO + echo "FILENAME "$FN + SRV="pm-https-server-$SRV_ID" + echo "HTTP SERVER "$SRV + URL="https://$SRV:$HTTPS_PORT/files/$FN" + EVT='{"commonEventHeader":{"startEpochMicrosec":15198378,"eventId":"FileReady_1797490e-10ae-4d48-9ea7-3d7d790b25e1","timeZoneOffset":"UTC+05.30","internalHeaderFields":{"collectorTimeStamp":"Wed,0907202211:56:02GMT"},"priority":"Normal","version":"4.0.1","reportingEntityName":"'$NO'","sequence":0,"domain":"notification","lastEpochMicrosec":151983,"eventName":"Notification_gnb-Ericsson_FileReady","vesEventListenerVersion":"7.0.1","sourceName":"'$NO'"},"notificationFields":{"notificationFieldsVersion":"2.0","changeType":"FileReady","changeIdentifier":"PM_MEAS_FILES","arrayOfNamedHashMap":[{"name":"'$FN'","hashMap":{"location":"'$URL'","fileFormatType":"org.3GPP.32.435#measCollec","fileFormatVersion":"V10","compression":"gzip"}}]}}' + if [ $first -ne 0 ]; then + echo "," >> .out.json + fi + first=1 + echo "$EVT" >> .out.json + done + echo ']}' >> .out.json + RES=$(curl -s -X POST 'localhost:8080/eventListener/v7/eventBatch' --header 'Content-Type: application/json' --data-binary @.out.json) + echo $RES +done + diff --git a/docker-proj/shared-volume/dummy.txt b/docker-proj/shared-volume/dummy.txt new file mode 100644 index 0000000..e69de29