Thursday, July 12, 2012

OSB WebLogic Deployment Plan and deployment name

Excellent article here:

https://blogs.oracle.com/jamesbayer/entry/11gr1_update_and_a_deployment

I create a JMS Proxy Service (reading messages from a JMS queue), and this generates a C:\bea1035\user_projects\domains\dev_domain\sbgen_ALSB_1342038
918975.ear file.

I run the plan generator on it:


C:\bea1035\user_projects\domains\dev_domain\sbgen>..\bin\setDomainEnv.cmd
C:\bea1035\user_projects\domains\dev_domain>cd sbgen

C:\bea1035\user_projects\domains\dev_domain\sbgen>java weblogic.PlanGenerator -all -plan Plan_ALSB_1342038918975.xml _ALSB_1342038
918975.ear
Generating plan for application _ALSB_1342038918975.ear
Export option is: all
<11-Jul-2012 22:37:30 o'clock CEST> <Warning> <Munger> <BEA-2156203> <A version attribute was not found in element application in
the deployment descriptor in c:\Temp\.appmergegen_1342039050034__ALSB_1342038918975.ear/META-INF/application.xml. A version attrib
ute is required, but this version of the Weblogic Server will assume that the JEE5 is used. Future versions of the Weblogic Server
will reject descriptors that do not specify the JEE version.>
<11-Jul-2012 22:37:33 o'clock CEST> <Warning> <Munger> <BEA-2156203> <A version attribute was not found in element ejb-jar in the
deployment descriptor in c:\Temp\.appmergegen_1342039050034__ALSB_1342038918975.ear\ejb.jar/META-INF/ejb-jar.xml. A version attrib
ute is required, but this version of the Weblogic Server will assume that the JEE5 is used. Future versions of the Weblogic Server
will reject descriptors that do not specify the JEE version.>
Exporting properties...
Saving plan to C:\bea1035\user_projects\domains\dev_domain\sbgen\Plan_ALSB_1342038918975.xml...
<11-Jul-2012 22:37:34 o'clock CEST> <Info> <J2EE Deployment SPI> <BEA-260072> <Saved configuration for application, _ALSB_13420389
18975.ear>


This is what gets generated by the PlanGenerator:



  _ALSB_1342038918975.ear
  
    
      ResourceDescription_jms/QueueName_ResourceLink_13420390539690
      
    
    
      ResourceDescription_jms/QueueName_JNDIName_13420390539711
      
    
    
      WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_RunAsPrincipalName_13420390539712
      
    
    
      WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_NetworkAccessPoint_13420390539723
      
    
    
      WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_DispatchPolicy_13420390539724
      
    
    
      WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_PassivateAsPrincipalName_13420390539725
      
    
    
      WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_JNDIName_13420390539736
      
    
    
      WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_RemoveAsPrincipalName_13420390539737
      
    
    
      WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_LocalJNDIName_13420390539738
      
    
    
      WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_CreateAsPrincipalName_13420390539739
      
    
    
      Pool_MaxBeansInFreePool_134203905397410
      
    
    
      Pool_IdleTimeoutSeconds_134203905397411
      
    
    
      TransactionDescriptor_TransTimeoutSeconds_134203905397412
      
    
    
      ResourceDescription_jms/ConnectionFactory_ResourceLink_134203905397413
      
    
    
      ResourceDescription_jms/ConnectionFactory_JNDIName_134203905397514
      
    
    
      MessageDrivenDescriptor_ConnectionFactoryResourceLink_134203905397515
      
    
    
      MessageDrivenDescriptor_DurableSubscriptionDeletion_134203905397516
      
    
    
      MessageDrivenDescriptor_DistributedDestinationConnection_134203905397517
      
    
    
      MessageDrivenDescriptor_DestinationResourceLink_134203905397618
      
    
    
      MessageDrivenDescriptor_DestinationJNDIName_134203905398119
      
    
    
      MessageDrivenDescriptor_JmsPollingIntervalSeconds_134203905398120
      
    
    
      MessageDrivenDescriptor_MaxSuspendSeconds_134203905398121
      
    
    
      MessageDrivenDescriptor_ProviderUrl_134203905398222
      
    
    
      MessageDrivenDescriptor_ResourceAdapterJNDIName_134203905398223
      
    
    
      MessageDrivenDescriptor_Use81StylePolling_134203905398224
      
    
    
      MessageDrivenDescriptor_JmsClientId_134203905398225
      
    
    
      MessageDrivenDescriptor_GenerateUniqueJmsClientId_134203905398226
      
    
    
      MessageDrivenDescriptor_InitSuspendSeconds_134203905398327
      
    
    
      MessageDrivenDescriptor_InitialContextFactory_134203905398328
      
    
    
      MessageDrivenDescriptor_MaxMessagesInTransaction_134203905398329
      
    
    
      MessageDrivenDescriptor_ConnectionFactoryJNDIName_134203905398330
      
    
    
      WeblogicEjbJar_WorkManagers_134203905398431
      
    
    
      SessionDescriptor_DebugEnabled_134203905400332
      
    
    
      SessionDescriptor_CookieMaxAgeSecs_134203905400333
      
    
    
      SessionDescriptor_InvalidationIntervalSecs_134203905400334
      
    
    
      SessionDescriptor_TimeoutSecs_134203905400435
      
    
    
      SessionDescriptor_MonitoringAttributeName_134203905400436
      
    
    
      SessionDescriptor_MaxInMemorySessions_134203905400437
      
    
    
      WeblogicApplication_FairShareRequests_134203905400438
      
    
    
      WeblogicApplication_ResponseTimeRequests_134203905400439
      
    
    
      WeblogicApplication_WorkManagers_134203905400440
      
    
    
      WeblogicApplication_ApplicationAdminModeTrigger_134203905400441
      
    
    
      WeblogicApplication_Capacities_134203905400442
      
    
    
      WeblogicApplication_ContextRequests_134203905400543
      
    
    
      WeblogicApplication_MinThreadsConstraints_134203905400544
      
    
    
      WeblogicApplication_ApplicationParams_134203905400545
      
    
    
      WeblogicApplication_MaxThreadsConstraints_134203905400546
      
    
    
      ApplicationParam_service-ref_ParamValue_134203905400547
      
    
    
      WLDFHarvester_null_Enabled_134203905401848
      
    
    
      WLDFHarvester_null_HarvestedTypes_134203905401849
      
    
    
      WLDFHarvester_null_SamplePeriod_134203905401850
      
    
    
      WLDFInstrumentation_null_Includes_134203905401951
      
    
    
      WLDFInstrumentation_null_Enabled_134203905401952
      
    
    
      WLDFInstrumentation_null_WLDFInstrumentationMonitors_134203905401953
      
    
    
      WLDFInstrumentation_null_Excludes_134203905401954
      
    
    
      WLDFWatchNotification_null_Enabled_134203905402155
      
    
    
      WLDFWatchNotification_null_Severity_134203905402156
      
    
    
      WLDFWatchNotification_null_SMTPNotifications_134203905402157
      
    
    
      WLDFWatchNotification_null_Watches_134203905402158
      
    
    
      WLDFWatchNotification_null_SNMPNotifications_134203905402159
      
    
    
      WLDFWatchNotification_null_JMSNotifications_134203905402160
      
    
    
      WLDFWatchNotification_null_ImageNotifications_134203905402161
      
    
    
      WLDFWatchNotification_null_LogWatchSeverity_134203905402262
      
    
    
      WLDFWatchNotification_null_JMXNotifications_134203905402263
      
    
  
  
    _ALSB_1342038918975.ear
    ear
    
      weblogic-application
      META-INF/weblogic-application.xml
      
        SessionDescriptor_DebugEnabled_134203905400332
        /weblogic-application/session-descriptor/debug-enabled
      
      
        SessionDescriptor_CookieMaxAgeSecs_134203905400333
        /weblogic-application/session-descriptor/cookie-max-age-secs
      
      
        SessionDescriptor_InvalidationIntervalSecs_134203905400334
        /weblogic-application/session-descriptor/invalidation-interval-secs
      
      
        SessionDescriptor_TimeoutSecs_134203905400435
        /weblogic-application/session-descriptor/timeout-secs
      
      
        SessionDescriptor_MonitoringAttributeName_134203905400436
        /weblogic-application/session-descriptor/monitoring-attribute-name
      
      
        SessionDescriptor_MaxInMemorySessions_134203905400437
        /weblogic-application/session-descriptor/max-in-memory-sessions
      
      
        WeblogicApplication_FairShareRequests_134203905400438
        /weblogic-application/fair-share-request
      
      
        WeblogicApplication_ResponseTimeRequests_134203905400439
        /weblogic-application/response-time-request
      
      
        WeblogicApplication_WorkManagers_134203905400440
        /weblogic-application/work-manager
      
      
        WeblogicApplication_ApplicationAdminModeTrigger_134203905400441
        /weblogic-application/application-admin-mode-trigger
      
      
        WeblogicApplication_Capacities_134203905400442
        /weblogic-application/capacity
      
      
        WeblogicApplication_ContextRequests_134203905400543
        /weblogic-application/context-request
      
      
        WeblogicApplication_MinThreadsConstraints_134203905400544
        /weblogic-application/min-threads-constraint
      
      
        WeblogicApplication_ApplicationParams_134203905400545
        /weblogic-application/application-param
      
      
        WeblogicApplication_MaxThreadsConstraints_134203905400546
        /weblogic-application/max-threads-constraint
      
      
        ApplicationParam_service-ref_ParamValue_134203905400547
        /weblogic-application/application-param/[param-name="service-ref"]/param-value
      
    
    
      application
      META-INF/application.xml
    
    
      wldf-resource
      META-INF/weblogic-diagnostics.xml
      
        WLDFHarvester_null_Enabled_134203905401848
        /wldf-resource/harvester/enabled
      
      
        WLDFHarvester_null_HarvestedTypes_134203905401849
        /wldf-resource/harvester/harvested-type
      
      
        WLDFHarvester_null_SamplePeriod_134203905401850
        /wldf-resource/harvester/sample-period
      
      
        WLDFInstrumentation_null_Includes_134203905401951
        /wldf-resource/instrumentation/include
      
      
        WLDFInstrumentation_null_Enabled_134203905401952
        /wldf-resource/instrumentation/enabled
      
      
        WLDFInstrumentation_null_WLDFInstrumentationMonitors_134203905401953
        /wldf-resource/instrumentation/wldf-instrumentation-monitor
      
      
        WLDFInstrumentation_null_Excludes_134203905401954
        /wldf-resource/instrumentation/exclude
      
      
        WLDFWatchNotification_null_Enabled_134203905402155
        /wldf-resource/watch-notification/enabled
      
      
        WLDFWatchNotification_null_Severity_134203905402156
        /wldf-resource/watch-notification/severity
      
      
        WLDFWatchNotification_null_SMTPNotifications_134203905402157
        /wldf-resource/watch-notification/smtp-notification
      
      
        WLDFWatchNotification_null_Watches_134203905402158
        /wldf-resource/watch-notification/watche
      
      
        WLDFWatchNotification_null_SNMPNotifications_134203905402159
        /wldf-resource/watch-notification/snmp-notification
      
      
        WLDFWatchNotification_null_JMSNotifications_134203905402160
        /wldf-resource/watch-notification/jms-notification
      
      
        WLDFWatchNotification_null_ImageNotifications_134203905402161
        /wldf-resource/watch-notification/image-notification
      
      
        WLDFWatchNotification_null_LogWatchSeverity_134203905402262
        /wldf-resource/watch-notification/log-watch-severity
      
      
        WLDFWatchNotification_null_JMXNotifications_134203905402263
        /wldf-resource/watch-notification/jmx-notification
      
    
  
  
    ejb.jar
    ejb
    
      weblogic-ejb-jar
      META-INF/weblogic-ejb-jar.xml
      
        ResourceDescription_jms/QueueName_ResourceLink_13420390539690
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/resource-description/[res-ref-name="jms/QueueName"]/resource-link
      
      
        ResourceDescription_jms/QueueName_JNDIName_13420390539711
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/resource-description/[res-ref-name="jms/QueueName"]/jndi-name
      
      
        WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_RunAsPrincipalName_13420390539712
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/run-as-principal-name
      
      
        WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_NetworkAccessPoint_13420390539723
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/network-access-point
      
      
        WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_DispatchPolicy_13420390539724
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/dispatch-policy
      
      
        WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_PassivateAsPrincipalName_13420390539725
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/passivate-as-principal-name
      
      
        WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_JNDIName_13420390539736
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/jndi-name
      
      
        WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_RemoveAsPrincipalName_13420390539737
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/remove-as-principal-name
      
      
        WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_LocalJNDIName_13420390539738
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/local-jndi-name
      
      
        WeblogicEnterpriseBean_RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7_CreateAsPrincipalName_13420390539739
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/create-as-principal-name
      
      
        Pool_MaxBeansInFreePool_134203905397410
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/message-driven-descriptor/pool/max-beans-in-free-pool
      
      
        Pool_IdleTimeoutSeconds_134203905397411
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/message-driven-descriptor/pool/idle-timeout-seconds
      
      
        TransactionDescriptor_TransTimeoutSeconds_134203905397412
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/transaction-descriptor/trans-timeout-seconds
      
      
        ResourceDescription_jms/ConnectionFactory_ResourceLink_134203905397413
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/resource-description/[res-ref-name="jms/ConnectionFactory"]/resource-link
      
      
        ResourceDescription_jms/ConnectionFactory_JNDIName_134203905397514
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/resource-description/[res-ref-name="jms/ConnectionFactory"]/jndi-name
      
      
        MessageDrivenDescriptor_ConnectionFactoryResourceLink_134203905397515
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/message-driven-descriptor/connection-factory-resource-link
      
      
        MessageDrivenDescriptor_DurableSubscriptionDeletion_134203905397516
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/message-driven-descriptor/durable-subscription-deletion
      
      
        MessageDrivenDescriptor_DistributedDestinationConnection_134203905397517
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/message-driven-descriptor/distributed-destination-connection
      
      
        MessageDrivenDescriptor_DestinationResourceLink_134203905397618
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/message-driven-descriptor/destination-resource-link
      
      
        MessageDrivenDescriptor_DestinationJNDIName_134203905398119
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/message-driven-descriptor/destination-jndi-name
      
      
        MessageDrivenDescriptor_JmsPollingIntervalSeconds_134203905398120
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/message-driven-descriptor/jms-polling-interval-seconds
      
      
        MessageDrivenDescriptor_MaxSuspendSeconds_134203905398121
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/message-driven-descriptor/max-suspend-seconds
      
      
        MessageDrivenDescriptor_ProviderUrl_134203905398222
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/message-driven-descriptor/provider-url
      
      
        MessageDrivenDescriptor_ResourceAdapterJNDIName_134203905398223
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/message-driven-descriptor/resource-adapter-jndi-name
      
      
        MessageDrivenDescriptor_Use81StylePolling_134203905398224
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/message-driven-descriptor/use81-style-polling
      
      
        MessageDrivenDescriptor_JmsClientId_134203905398225
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/message-driven-descriptor/jms-client-id
      
      
        MessageDrivenDescriptor_GenerateUniqueJmsClientId_134203905398226
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/message-driven-descriptor/generate-unique-jms-client-id
      
      
        MessageDrivenDescriptor_InitSuspendSeconds_134203905398327
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/message-driven-descriptor/init-suspend-seconds
      
      
        MessageDrivenDescriptor_InitialContextFactory_134203905398328
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/message-driven-descriptor/initial-context-factory
      
      
        MessageDrivenDescriptor_MaxMessagesInTransaction_134203905398329
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/message-driven-descriptor/max-messages-in-transaction
      
      
        MessageDrivenDescriptor_ConnectionFactoryJNDIName_134203905398330
        /weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="RequestEJB-8889852126214353195--458f8ecd.13877990470.-7fd7"]/message-driven-descriptor/connection-factory-jndi-name
      
      
        WeblogicEjbJar_WorkManagers_134203905398431
        /weblogic-ejb-jar/work-manager
      
    
    
      ejb-jar
      META-INF/ejb-jar.xml
    
  
  c:\Temp\pierre\.\config\deployments\_ALSB_1342038918975.ear\plan






Here the schema of application.xml http://java.sun.com/xml/ns/javaee/application_5.xsd
(namespace http://java.sun.com/xml/ns/javaee)
which includes http://java.sun.com/xml/ns/javaee/javaee_5.xsd

Here is the deployment plan XSD http://www.oracle.com/webfolder/technetwork/weblogic/deployment-plan/1.0/deployment-plan.xsd

The display-name in the application.xml is not used.
The application-name in the deployment plan is not considered... the XSD says "application-name: A name associated with the application. This value may be used as the application''s deployed name if not provided through deployment options."

(notice the MAY be used)

Finally the only way I managed to change the application name is hacking in the config.xml the deployment name (I wrote PICIONE instead of ALSB_1342038918975):


PICIONE
AdminServer
ear
sbgen\_ALSB_1342038918975.ear
osb\config\plan
Plan-_ALSB_1342038918975.ear.xml
DDOnly
nostage


and lo and behold:



One should investigate HOW OSB internally generates the deployment name for the Proxy Service.

You can deploy with WLST and choose a deployment name
http://docs.oracle.com/cd/E13222_01/wls/docs90/config_scripting/reference.html#1024285


in WLST:
cd AppDeployments
cd PICIONE
ls
-r-- ApplicationIdentifier PICIONE
-r-- ApplicationName PICIONE
-rw- Name PICIONE

if I do
edit()
startEdit()
cd AppDeployments/PICIONE
cmo.setName('FROCIONE')

I get:
javax.management.InvalidAttributeValueException: The Name attribute cannot be modified after the MBean dev_domain:Name=PICIONE,Type=AppDeployment has been created.

so I do
undeploy('PICIONE')
activate()

deploy('FROCIONE', 'C:/bea1035/user_projects/domains/dev_domain/sbgen/_ALSB_1342038918975.ear')

(I should still provide target and deployment plan - the staging mode for OSB projects is nostage)

and I have changed the Deployment Name!

Something like
deploy('CAZZONE', 'C:/bea1035/user_projects/domains/dev_domain/sbgen/_ALSB_1342067495702.ear', 'AdminServer', 'nostage', 'C:/bea1035/user_projects/domains/dev_domain/osb/config/plan/Plan-_ALSB_1342067495702.ear.xml')

is more complete

No comments: