Connect GraphQLModule in NestJs - graphql

I've read official doc , and I'm doing the same, but have an error in typescript generic, how can I fix it?
Dependencies :
"#nestjs/apollo": "^10.0.2",
"#nestjs/common": "^7.5.1",
"#nestjs/config": "^1.0.1",
"#nestjs/core": "^7.5.1",
"#nestjs/graphql": "^7.11.0",
"#nestjs/platform-express": "^7.5.1",
"#nestjs/typeorm": "^7.1.5",
"#tatumio/tatum": "^1.28.7",
"apollo-server-express": "^2.25.3",
"aws-sdk": "^2.1015.0",
"axios": "^0.24.0",
"bcrypt": "^5.0.1",
"class-transformer": "^0.4.0",
"class-validator": "^0.13.1",
"crypto-js": "^4.1.1",
"dotenv": "^8.2.0",
"graphql": "^15.8.0",

Related

I am trying to update React Native from 0.63.5 to 0.64.0.Everything works fine in debug config Xcode but changing to release results in white screen

"dependencies": {
"#invertase/react-native-apple-authentication": "^2.1.0",
"#react-native-community/async-storage": "^1.12.1",
"#react-native-community/cli": "^4.10.1",
"#react-native-community/datetimepicker": "^3.0.9",
"#react-native-community/masked-view": "^0.1.10",
"#react-native-community/netinfo": "^5.9.10",
"#react-native-community/picker": "^1.8.0",
"#react-native-community/push-notification-ios": "^1.8.0",
"#react-native-firebase/analytics": "^7.6.9",
"#react-native-firebase/app": "^8.4.7",
"#react-native-firebase/auth": "8.3.3",
"#react-native-firebase/crashlytics": "8.4.12",
"#react-native-firebase/dynamic-links": "^12.1.0",
"#react-native-firebase/messaging": "^7.9.2",
"#react-navigation/bottom-tabs": "^5.11.1",
"#react-navigation/drawer": "^5.8.4",
"#react-navigation/native": "^5.6.1",
"#react-navigation/stack": "^5.6.2",
"appcenter": "4.0.2",
"appcenter-analytics": "4.0.2",
"appcenter-crashes": "4.0.2",
"axios": "^0.21.0",
"clevertap-react-native": "^0.5.0",
"clone-deep": "^4.0.1",
"d3-shape": "^1.3.5",
"immutable": "^4.0.0-rc.12",
"lodash": "^4.17.19",
"lottie-react-native": "^3.5.0",
"mitt": "^2.1.0",
"moment": "^2.27.0",
"moment-timezone": "^0.5.32",
"opentok-react-native": "^0.18.0",
"paths-js": "^0.4.11",
"prop-types": "^15.7.2",
"react": "17.0.1",
"react-native": "0.64.1",
"react-native-animatable": "^1.3.3",
"react-native-camera": "^4.2.0",
"react-native-check-app-install": "0.0.5",
"react-native-code-push": "^7.0.4",
"react-native-collapsible": "^1.5.3",
"react-native-country-picker-modal": "^2.0.0",
"react-native-device-info": "^7.0.2",
"react-native-drax": "^0.7.2",
"react-native-element-dropdown": "^2.5.1",
"react-native-elevated-view": "0.0.6",
"react-native-fbsdk-next": "^4.2.0",
"react-native-gesture-handler": "^1.6.1",
"react-native-google-signin": "^2.1.1",
"react-native-iap": "^7.5.6",
"react-native-image-crop-picker": "^0.35.0",
"react-native-image-zoom-viewer": "^3.0.1",
"react-native-immersive": "^2.0.0",
"react-native-in-app-review": "^3.2.2",
"react-native-keep-awake": "^4.0.0",
"react-native-linear-gradient": "^2.5.6",
"react-native-mime-types": "^2.3.0",
"react-native-modal": "^11.5.6",
"react-native-moengage": "^7.3.0",
"react-native-motion": "^1.0.5",
"react-native-navbar-color": "^1.0.3",
"react-native-orientation": "^3.1.3",
"react-native-permissions": "^3.1.0",
"react-native-popup-menu": "^0.15.9",
"react-native-progress": "^4.1.2",
"react-native-public-ip": "^1.0.2",
"react-native-push-notification": "^8.1.1",
"react-native-ratings": "^8.1.0",
"react-native-reanimated": "^1.9.0",
"react-native-reconnecting-websocket": "^1.0.3",
"react-native-render-html": "^4.2.4",
"react-native-restart": "0.0.17",
"react-native-safe-area-context": "^3.0.7",
"react-native-screens": "^2.9.0",
"react-native-share": "^7.6.1",
"react-native-simple-toast": "^1.1.3",
"react-native-size-matters": "^0.3.1",
"react-native-snap-carousel": "^3.9.1",
"react-native-speedometer": "^1.0.5",
"react-native-speedometer-chart": "^0.7.5",
"react-native-splash-screen": "^3.2.0",
"react-native-svg": "^12.1.0",
"react-native-text-ticker": "^1.10.0",
"react-native-timer": "^1.3.6",
"react-native-translucent-modal": "^1.1.2",
"react-native-tts": "^3.2.0",
"react-native-typewriter": "^0.7.0",
"react-native-typing-animation": "^0.1.7",
"react-native-vector-icons": "^7.0.0",
"react-native-video": "^5.1.0-alpha8",
"react-native-view-shot": "^3.1.2",
"react-native-webview": "^10.9.3",
"react-native-youtube-iframe": "^2.2.1",
"react-redux": "^7.2.2",
"reanimated-bottom-sheet": "^1.0.0-alpha.22",
"redux": "^3.7.2",
"redux-persist": "^4.9.1",
"redux-persist-transform-immutable": "^4.3.0",
"reselect": "^4.0.0",
"rn-fetch-blob": "^0.12.0",
"styled-components": "^5.2.0",
"validator": "^13.1.17"
},
"devDependencies": {
"#react-native-community/eslint-config": "^1.1.0",
"appcenter-crashes": "^4.0.2",
"babel-plugin-transform-remove-console": "^6.9.4",
"easy-peasy": "^4.0.1",
"eslint": "^6.5.1",
"jest": "^25.1.0",
"jetifier": "^1.6.5",
"prettier-eslint": "^9.0.0",
"react-native-paper": "^4.6.0",
"react-test-renderer": "17.0.1",
"remote-redux-devtools": "^0.5.16"
},
Here is my package.json
Xcode version - 14.2
Node version - 16.15.1
I have tried multiple solutions from upgrading xcode to latest version and trying different scripts in Build phases -> Bundle React native code and images.I have also followed step by step guide from
https://react-native-community.github.io/upgrade-helper/?from=0.63.5&to=0.64.1

NX command to build NESTJS api, is not found if I set the NODE_ENV variable to production on Heroku

I am using an NX mono repository for my project. It contains the following three applications:
a web app (NextJS),
an API service (NestJS)
a mobile app (React Native)
I was trying to deploy the backend code to Heroku and I am facing the issue of it not finding the packages when I set the NODE_ENV variable to production. All of the NX packages are stored as the dev dependencies as default. It works fine if I set the NODE_ENV to development.
Question: What is the ideal way of solving the issue? I do not want to set NODE_ENV to development because otherwise, it will slow the deployments by installing useless packages from the devDependencies.
Any help will be appreciated.
This is what my package.json looks like.
"scripts": {
"api": "nx serve api",
"build:api": "nx build api",
"api:prod": "node dist/apps/api/main.js",
},
"dependencies": {
"#emotion/react": "^11.10.4",
"#emotion/styled": "^11.10.4",
"#hookform/resolvers": "^2.9.7",
"#mui/icons-material": "^5.10.3",
"#mui/material": "^5.10.4",
"#nestjs/common": "^9.0.0",
"#nestjs/config": "^2.2.0",
"#nestjs/core": "^9.0.0",
"#nestjs/jwt": "^9.0.0",
"#nestjs/mongoose": "^9.2.0",
"#nestjs/passport": "^9.0.0",
"#nestjs/platform-express": "^9.0.0",
"#react-native-community/clipboard": "^1.5.1",
"#react-navigation/bottom-tabs": "^6.3.3",
"#react-navigation/material-top-tabs": "^6.2.4",
"#react-navigation/native": "^6.0.11",
"#react-navigation/native-stack": "^6.7.0",
"#react-three/drei": "^9.34.3",
"#react-three/fiber": "^8.8.9",
"#tanstack/react-query": "^4.2.3",
"#trycourier/courier": "^3.15.0",
"#twotalltotems/react-native-otp-input": "^1.3.11",
"axios": "^0.27.2",
"bcryptjs": "^2.4.3",
"class-transformer": "^0.5.1",
"class-validator": "^0.13.2",
"cookies": "^0.8.0",
"core-js": "^3.6.5",
"http-proxy": "^1.18.1",
"jwt-decode": "^3.1.2",
"lodash": "^4.17.21",
"material-ui-phone-number": "^3.0.0",
"mongoose": "^6.5.2",
"mui-tel-input": "^2.0.1",
"native-base": "^3.4.13",
"next": "12.2.3",
"npm": "^8.19.2",
"passport": "^0.6.0",
"passport-jwt": "^4.0.0",
"passport-local": "^1.0.0",
"patch-package": "^6.4.7",
"react": "18.2.0",
"react-dom": "18.2.0",
"react-hook-form": "^7.34.2",
"react-is": "18.2.0",
"react-native": "0.69.3",
"react-native-gesture-handler": "^2.6.0",
"react-native-pager-view": "^6.0.1",
"react-native-phone-number-input": "^2.1.0",
"react-native-reanimated": "^2.10.0",
"react-native-safe-area-context": "^4.3.1",
"react-native-screens": "^3.15.0",
"react-native-snackbar": "^2.4.0",
"react-native-tab-view": "^3.2.1",
"react-native-vector-icons": "^9.2.0",
"react-native-webview": "^11.23.1",
"react-otp-input": "^2.4.0",
"reflect-metadata": "^0.1.13",
"regenerator-runtime": "0.13.7",
"rxjs": "^7.0.0",
"styled-components": "5.3.5",
"three": "^0.145.0",
"tslib": "^2.3.0",
"twilio": "^3.81.0",
"yup": "^0.32.11"
},
"devDependencies": {
"#commitlint/cli": "^17.0.3",
"#commitlint/config-conventional": "^17.0.3",
"#nestjs/schematics": "^9.0.0",
"#nestjs/testing": "^9.0.0",
"#nrwl/cli": "14.5.4",
"#nrwl/cypress": "14.5.4",
"#nrwl/detox": "14.5.6",
"#nrwl/eslint-plugin-nx": "14.5.4",
"#nrwl/jest": "14.5.4",
"#nrwl/linter": "14.5.4",
"#nrwl/nest": "14.5.4",
"#nrwl/next": "^14.5.4",
"#nrwl/node": "14.5.4",
"#nrwl/react": "14.5.4",
"#nrwl/react-native": "^14.5.6",
"#nrwl/web": "14.5.4",
"#nrwl/workspace": "14.5.4",
"#react-native-async-storage/async-storage": "1.17.7",
"#react-native-community/cli": "8.0.4",
"#react-native-community/cli-platform-android": "8.0.4",
"#react-native-community/cli-platform-ios": "8.0.4",
"#testing-library/dom": "^8.18.1",
"#testing-library/jest-dom": "5.16.4",
"#testing-library/jest-native": "4.0.5",
"#testing-library/react": "13.3.0",
"#testing-library/react-native": "11.0.0",
"#testing-library/user-event": "^14.4.3",
"#types/bcryptjs": "^2.4.2",
"#types/cookies": "^0.7.7",
"#types/jest": "27.4.1",
"#types/lodash": "^4.14.182",
"#types/node": "16.11.7",
"#types/passport-jwt": "^3.0.6",
"#types/passport-local": "^1.0.34",
"#types/react": "18.0.15",
"#types/react-dom": "18.0.6",
"#types/react-is": "17.0.3",
"#types/react-native": "0.69.3",
"#types/react-native-vector-icons": "^6.4.12",
"#types/styled-components": "5.1.25",
"#types/three": "^0.144.0",
"#typescript-eslint/eslint-plugin": "^5.29.0",
"#typescript-eslint/parser": "^5.29.0",
"babel-jest": "27.5.1",
"babel-plugin-styled-components": "1.10.7",
"cypress": "^10.2.0",
"detox": "19.7.1",
"eslint": "~8.15.0",
"eslint-config-next": "12.2.3",
"eslint-config-prettier": "8.1.0",
"eslint-plugin-cypress": "^2.10.3",
"eslint-plugin-import": "2.26.0",
"eslint-plugin-jsx-a11y": "6.6.1",
"eslint-plugin-react": "7.30.1",
"eslint-plugin-react-hooks": "4.6.0",
"husky": "^8.0.0",
"jest": "27.5.1",
"jest-circus": "27.5.1",
"jest-react-native": "18.0.0",
"lint-staged": "^13.0.3",
"metro": "0.71.3",
"metro-babel-register": "0.71.3",
"metro-react-native-babel-preset": "0.71.3",
"metro-resolver": "0.71.3",
"msw": "^0.47.2",
"nx": "14.5.4",
"prettier": "^2.6.2",
"prettier-plugin-organize-imports": "^3.1.0",
"react-devtools": "^4.26.0",
"react-native-config": "1.4.6",
"react-native-svg": "12.4.3",
"react-native-svg-transformer": "1.0.0",
"react-test-renderer": "18.2.0",
"ts-jest": "27.1.4",
"ts-node": "~10.8.0",
"typescript": "~4.7.2"
},
And this is my Procfile:
web: yarn build:api && yarn api:prod
Nx is installed as a devDependency. Heroku scrubs devDependencies after thebuild step so that you don't have extra dependencies for your final environment. What you should do is have a build script in your package.json that builds everything your server will need to start, and then have a start script that starts the application, or set the web property in the Procfile as you currently have done for the build:api && api:prod. However, this start script should not rely on any devDependencies. It should be able to run with just the production dependencies.

Storybook ignores SCSS in Vue 3

I installed #storybook/preset-scss and added it to storybook/main.js, but SCSS in vue components is still ignored by storybook. No error message. CSS works fine (no lang="scss" tag).
"devDependencies": {
"#babel/core": "^7.14.6",
"#babel/preset-env": "^7.14.7",
"#rollup/plugin-alias": "^3.1.2",
"#rollup/plugin-babel": "^5.3.0",
"#rollup/plugin-commonjs": "^14.0.0",
"#rollup/plugin-image": "^2.1.1",
"#rollup/plugin-node-resolve": "^9.0.0",
"#rollup/plugin-replace": "^2.4.2",
"#storybook/addon-actions": "^6.5.12",
"#storybook/addon-essentials": "^6.5.12",
"#storybook/addon-interactions": "^6.5.12",
"#storybook/addon-links": "^6.5.12",
"#storybook/builder-webpack4": "^6.5.12",
"#storybook/manager-webpack4": "^6.5.12",
"#storybook/preset-scss": "^1.0.3",
"#storybook/testing-library": "^0.0.13",
"#storybook/vue3": "^6.5.12",
"#vue/cli-plugin-babel": "^4.5.13",
"#vue/cli-service": "^4.5.13",
"#vue/compiler-sfc": "^3.0.11",
"babel-loader": "^8.2.5",
"cross-env": "^7.0.3",
"css-loader": "^5.2.7",
"js-cookie": "^2.2.1",
"minimist": "^1.2.5",
"postcss": "^8.2.10",
"rimraf": "^3.0.2",
"rollup": "^2.52.8",
"rollup-plugin-postcss": "^4.0.0",
"rollup-plugin-terser": "^7.0.2",
"rollup-plugin-vue": "^6.0.0",
"sass": "^1.54.9",
"sass-loader": "^10.1.1",
"style-loader": "^2.0.0",
"vue": "^3.0.5",
"vue-loader": "^16.8.3",
"vue-marquee-text-component": "^2.0.1",
"vue-select": "^4.0.0-beta.3"
},

Uncaught TypeError: Cannot read properties of undefined (reading 'document')

I am using nvd3 charts(nvd3-1.8.5, d3-3.5.17), facing the below issue after Upgrading from angular 12 to angular 14. When it was in angular 12 I didn't face any issues.
Uncaught TypeError: Cannot read properties of undefined (reading 'document')
at d3.js:8:26
at 83064 (d3.js:1:2)
at __webpack_require__ (bootstrap:19:1)
at 54058 (index.ts:8:44)
at __webpack_require__ (bootstrap:19:1)
at 84096 (settings.saveview.html:41:141)
at __webpack_require__ (bootstrap:19:1)
at 70299 (UserServiceResolver.ts:18:33)
at __webpack_require__ (bootstrap:19:1)
at 64349 (viewlogmessage.html:65:57)
Even I tried with nvd3 1.8.5 with d3 4.0.0(With Angular 14) getting the below issue.
core.mjs:6397 ERROR TypeError: nv.dispatch.render_start is not a function
at Object.render (nv.d3.js:93:17)
at nv.addGraph (nv.d3.js:145:12)
at ViewActionsComponent.ts:169:17
at Array.forEach (<anonymous>)
at ViewActionsComponent.onGetMessageSuccessCallback (ViewActionsComponent.ts:140:11)
at SafeSubscriber._next (ViewActionsComponent.ts:83:36)
at SafeSubscriber.__tryOrUnsub (Subscriber.js:183:16)
at SafeSubscriber.next (Subscriber.js:122:22)
at Subscriber._next (Subscriber.js:72:26)
at Subscriber.next (Subscriber.js:49:18)
Adding package.json configuration for reference.
"devDependencies": {
"#angular-devkit/build-angular": "^14.0.2",
"#angular/cli": "^14.0.2",
"#angular/compiler-cli": "^14.0.2",
"#types/ace": "0.0.32",
"#types/angular": "1.6.21",
"#types/argparse": "1.0.30",
"#types/ckeditor": "0.0.37",
"#types/core-js": "0.9.36",
"#types/d3": "^3.5.47",
"#types/d3pie": "^0.1.5",
"#types/glob": "5.0.30",
"#types/jasmine": "~3.6.0",
"#types/jasminewd2": "2.0.2",
"#types/jquery": "3.5.6",
"#types/lodash": "^4.14.182",
"#types/minimatch": "2.0.29",
"#types/node": "^12.20.50",
"#types/nvd3": "^1.8.42",
"#types/shelljs": "0.7.0",
"access-sniff": "2.4.61",
"angular2-template-loader": "0.6.2",
"argparse": "1.0.9",
"awesome-typescript-loader": "3.1.2",
"babel-preset-es2015": "6.18.0",
"bootstrap": "3.4.1",
"codelyzer": "^6.0.0",
"copy-webpack-plugin": "4.0.1",
"copyfiles": "1.0.0",
"cross-env": "^5.0.5",
"css-loader": "0.27.3",
"d3": "4.0.0",
"d3pie": "0.1.5",
"extract-text-webpack-plugin": "3.0.2",
"file-appender": "^1.1.0",
"fs": "0.0.1-security",
"fs-extra": "5.0.0",
"glob": "7.1.1",
"glob-concat": "^1.0.1",
"gnomon": "1.5.0",
"increase-memory-limit": "^1.0.3",
"jasmine-core": "~3.6.0",
"jasmine-spec-reporter": "~5.0.0",
"js-yaml": "^3.13.1",
"less": "2.7.1",
"less-loader": "4.0.5",
"less-plugin-clean-css": "1.5.1",
"lite-server": "^2.6.1",
"mkdirp": "^0.5.6",
"ncp": "2.0.0",
"npm-build-tools": "^2.2.5",
"nvd3": "1.8.5",
"perfect-scrollbar": "0.8.1",
"protractor": "~7.0.0",
"raw-loader": "0.5.1",
"remap-istanbul": "0.7.0",
"rimraf": "2.5.4",
"rollup-loader": "^0.3.0",
"shelljs": "0.7.5",
"style-loader": "0.16.1",
"systemjs": "^6.12.1",
"time-grunt": "^1.4.0",
"to-string-loader": "1.1.5",
"ts-helpers": "1.1.1",
"ts-node": "~3.2.0",
"tslint": "~6.1.0",
"typedoc": "0.5.7",
"typescript": "~4.6.4",
"uglify-js": "3.0.26",
"webpack-dev-server": "3.11.2"
},
"dependencies": {
"#angular/animations": "^14.0.2",
"#angular/common": "^14.0.2",
"#angular/compiler": "^14.0.2",
"#angular/core": "^14.0.2",
"#angular/forms": "^14.0.2",
"#angular/localize": "^14.0.2",
"#angular/platform-browser": "^14.0.2",
"#angular/platform-browser-dynamic": "^14.0.2",
"#angular/platform-server": "^14.0.2",
"#angular/router": "^14.0.2",
"#ng-bootstrap/ng-bootstrap": "^9.1.3",
"#ngx-translate/core": "^13.0.0",
"#ngx-translate/http-loader": "^6.0.0",
"#types/bootstrap": "^5.1.10",
"ace-builds": "^1.4.14",
"ag-grid-angular": "^26.1.0",
"ag-grid-community": "^26.1.0",
"circular-dependency-plugin": "^5.2.2",
"commonjs-require": "1.4.6",
"core-js": "^2.6.7",
"es6-collections": "0.5.6",
"es6-promise": "3.3.1",
"es6-shim": "0.34.1",
"fs": "0.0.1-security",
"jquery": "^3.6.0",
"moment": "^2.29.3",
"pdfjs-dist": "2.0.489",
"plotly.js": "2.12.1",
"plugin-typescript": "4.0.17",
"reflect-metadata": "0.1.9",
"rxjs": "^6.6.0",
"rxjs-compat": "^6.6.7",
"rxjs-tslint": "^0.1.8",
"ts-smart-logger": "0.0.4",
"tslib": "^2.4.0",
"webpack": "^5.73.0",
"zone.js": "^0.11.5"
}
Any idea how to fix this error?
I know it might be no a right fix, but
remove all import d3
use CDN link in your index.html file:
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.7/d3.min.js"
integrity="sha512-MbgT+83UxCH6sDPhdRyAqCvG+93y1xm6SIC/1T15gWsbkC2bjGqHVWepfhPMocnEOhgXBtZCOxHmwq0XPsqSGQ=="
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
I've faced same issue, so I took ^ actions.
Regarding types d3 js types, u can have it as dependecies.

Impossilbe to downgrade gradle version during build

As I was trying to provide fixes on our app developed with nativescript-vue 2.4 and nativescript 7.
The situation right now is gradle 7 no longer support some compiler features. For some obscure reason, I am unable to control which gradle version to use for compilation.
We have found solution for locking the gradle by specifing it in the build.gradle file.
I suspect there is a plugin currently overriding this to use the latest gradle version.
Here is the dependecies at play :
"dependencies": {
"axios": "0.19.2",
"lodash": "4.17.15",
"moment": "2.24.0",
"nativescript-cardview": "3.2.0",
"nativescript-clipboard": "1.2.0",
"nativescript-dev-version": "./custom-hooks/version",
"nativescript-fingerprint-auth": "7.0.2",
"nativescript-geolocation": "^5.1.0",
"nativescript-i18n": "0.4.1",
"nativescript-iqkeyboardmanager": "1.5.1",
"nativescript-keyboard-toolbar": "1.1.0",
"nativescript-loading-indicator": "2.5.2",
"nativescript-local-notifications": "4.2.1",
"nativescript-lottie": "3.0.3",
"nativescript-masked-text-field": "4.0.3",
"nativescript-pager": "11.0.11",
"nativescript-phone": "3.0.1",
"nativescript-platform-css": "1.6.10",
"nativescript-plugin-firebase": "10.6.3",
"nativescript-preferences": "1.1.2",
"nativescript-secure-storage": "2.6.0",
"nativescript-theme-core": "1.0.6",
"nativescript-toasty": "2.0.1",
"nativescript-ui-listview": "8.2.0",
"nativescript-vue": "2.4.0",
"node-email-validation": "1.0.4",
"tns-core-modules": "6.5.20",
"vue-currency-filter": "3.4.3",
"vue-i18n": "8.16.0",
"vuex": "3.1.3"
},
"devDependencies": {
"#babel/core": "7.9.0",
"#babel/preset-env": "7.9.0",
"babel-loader": "8.1.0",
"eslint": "3.19.0",
"eslint-config-airbnb-base": "11.3.2",
"eslint-config-prettier": "2.10.0",
"eslint-plugin-import": "2.20.1",
"eslint-plugin-prettier": "2.7.0",
"husky": "4.2.3",
"nativescript": "7.2.1",
"nativescript-dev-webpack": "1.5.1",
"nativescript-vue-template-compiler": "2.3.0",
"node-sass": "4.13.1",
"prettier": "1.19.1",
"tns-android": "6.5.3",
"tns-ios": "6.5.4",
"vue-loader": "15.9.1"
},
Thanks for you help.

Resources