0710 sync
This commit is contained in:
parent
611bca0e8b
commit
62314da2ad
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-api-common",
|
"name": "@ucap/ng-api-common",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-api-external",
|
"name": "@ucap/ng-api-external",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-api-message",
|
"name": "@ucap/ng-api-message",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-api-prompt",
|
"name": "@ucap/ng-api-prompt",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-api-public",
|
"name": "@ucap/ng-api-public",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-core",
|
"name": "@ucap/ng-core",
|
||||||
"version": "0.0.7",
|
"version": "0.0.7",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-i18n",
|
"name": "@ucap/ng-i18n",
|
||||||
"version": "0.0.6",
|
"version": "0.0.6",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.6",
|
"@angular/common": "^9.0.6",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-logger",
|
"name": "@ucap/ng-logger",
|
||||||
"version": "0.0.2",
|
"version": "0.0.2",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.1.0",
|
"@angular/common": "^9.1.0",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-native",
|
"name": "@ucap/ng-native",
|
||||||
"version": "0.0.5",
|
"version": "0.0.5",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-pi",
|
"name": "@ucap/ng-pi",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-protocol-authentication",
|
"name": "@ucap/ng-protocol-authentication",
|
||||||
"version": "0.0.3",
|
"version": "0.0.3",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-protocol-buddy",
|
"name": "@ucap/ng-protocol-buddy",
|
||||||
"version": "0.0.3",
|
"version": "0.0.3",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-protocol-event",
|
"name": "@ucap/ng-protocol-event",
|
||||||
"version": "0.0.3",
|
"version": "0.0.3",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-protocol-file",
|
"name": "@ucap/ng-protocol-file",
|
||||||
"version": "0.0.3",
|
"version": "0.0.3",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-protocol-group",
|
"name": "@ucap/ng-protocol-group",
|
||||||
"version": "0.0.3",
|
"version": "0.0.3",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-protocol-info",
|
"name": "@ucap/ng-protocol-info",
|
||||||
"version": "0.0.3",
|
"version": "0.0.3",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-protocol-inner",
|
"name": "@ucap/ng-protocol-inner",
|
||||||
"version": "0.0.3",
|
"version": "0.0.3",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-protocol-option",
|
"name": "@ucap/ng-protocol-option",
|
||||||
"version": "0.0.3",
|
"version": "0.0.3",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-protocol-ping",
|
"name": "@ucap/ng-protocol-ping",
|
||||||
"version": "0.0.3",
|
"version": "0.0.3",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-protocol-query",
|
"name": "@ucap/ng-protocol-query",
|
||||||
"version": "0.0.3",
|
"version": "0.0.3",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-protocol-room",
|
"name": "@ucap/ng-protocol-room",
|
||||||
"version": "0.0.3",
|
"version": "0.0.3",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-protocol-service",
|
"name": "@ucap/ng-protocol-service",
|
||||||
"version": "0.0.3",
|
"version": "0.0.3",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-protocol-status",
|
"name": "@ucap/ng-protocol-status",
|
||||||
"version": "0.0.3",
|
"version": "0.0.3",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-protocol-sync",
|
"name": "@ucap/ng-protocol-sync",
|
||||||
"version": "0.0.3",
|
"version": "0.0.3",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-protocol-umg",
|
"name": "@ucap/ng-protocol-umg",
|
||||||
"version": "0.0.3",
|
"version": "0.0.3",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-protocol",
|
"name": "@ucap/ng-protocol",
|
||||||
"version": "0.0.3",
|
"version": "0.0.3",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-store-authentication",
|
"name": "@ucap/ng-store-authentication",
|
||||||
"version": "0.0.14",
|
"version": "0.0.14",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-store-chat",
|
"name": "@ucap/ng-store-chat",
|
||||||
"version": "0.0.66",
|
"version": "0.0.66",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-store-group",
|
"name": "@ucap/ng-store-group",
|
||||||
"version": "0.0.22",
|
"version": "0.0.22",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-store-organization",
|
"name": "@ucap/ng-store-organization",
|
||||||
"version": "0.0.20",
|
"version": "0.0.20",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.0",
|
"@angular/common": "^9.0.0",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-ui-authentication",
|
"name": "@ucap/ng-ui-authentication",
|
||||||
"version": "0.0.29",
|
"version": "0.0.29",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/cdk": "^9.0.0",
|
"@angular/cdk": "^9.0.0",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-ui-group",
|
"name": "@ucap/ng-ui-group",
|
||||||
"version": "0.0.78",
|
"version": "0.0.78",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/cdk": "^9.0.0",
|
"@angular/cdk": "^9.0.0",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-ui-organization",
|
"name": "@ucap/ng-ui-organization",
|
||||||
"version": "0.0.202",
|
"version": "0.0.202",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/cdk": "^9.0.0",
|
"@angular/cdk": "^9.0.0",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-ui-skin-default",
|
"name": "@ucap/ng-ui-skin-default",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@ucap/ui-scss": "~0.0.1",
|
"@ucap/ui-scss": "~0.0.1",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-ui",
|
"name": "@ucap/ng-ui",
|
||||||
"version": "0.0.97",
|
"version": "0.0.97",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/cdk": "^9.0.0",
|
"@angular/cdk": "^9.0.0",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-web-socket",
|
"name": "@ucap/ng-web-socket",
|
||||||
"version": "0.0.2",
|
"version": "0.0.2",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "@ucap/ng-web-storage",
|
"name": "@ucap/ng-web-storage",
|
||||||
"version": "0.0.3",
|
"version": "0.0.3",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "http://10.81.13.229:8081/repository/npm-ucap/"
|
"registry": "https://nexus.loafle.net/repository/npm-ucap/"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^9.0.2",
|
"@angular/common": "^9.0.2",
|
||||||
|
|
Loading…
Reference in New Issue
Block a user