diff --git a/src/pages/About/index.jsx b/src/pages/About/index.jsx
index 0b852d5..35c2480 100644
--- a/src/pages/About/index.jsx
+++ b/src/pages/About/index.jsx
@@ -1,3 +1,42 @@
+import css from './index.module.scss'
+import { Swiper, SwiperSlide } from 'swiper/react';
+// Import Swiper styles
+import 'swiper/css';
+import 'swiper/css/navigation';
+import 'swiper/css/pagination';
+// import required modules
+import { Navigation, Pagination, Mousewheel, Keyboard } from 'swiper/modules';
+const yaoa5 = 'https://omo-oss-image.thefastimg.com/portal-saas/new2022122617044678164/cms/image/855d519c-6d36-4de0-b9e1-72d90eee90a6.jpg_1920xaf.jpg'
+const loginImg = 'https://omo-oss-image.thefastimg.com/portal-saas/new2022122617044678164/cms/image/42f7910a-9205-4429-b89b-27d426bbe979.jpg'
export default function About(){
- return
@@ -116,191 +183,112 @@ export default function App(){
-
+
-
-
+
+
+
+ 延安嘉盛是中国石油天然气集团公司一级供应商,并且是一家进入中石油能源一 号网的民营企业合格供应商。产品主要销往中石油下属的长庆油田、新疆油田、川庆钻探 公司、延安石油天然气公司、中石油煤层气公司、苏里格油田,也是延长集团主要供应 商。同时还远销到吉尔吉斯斯坦、哈萨克斯坦等国家和地区。
+
+
-
+
-
-
+
+
+
延安嘉盛是西北地区一家生产气密封螺纹的民营企业。我公司现有特殊螺纹油套 管6类,已获专利5项,其中,XGC1特殊扣螺纹套管,XGT1特殊扣螺纹油管,TC-50套 管,XGL经济型特殊扣螺纹套管,JST4特殊扣油管,各系列产品质量性能可靠,市场占 有率高。
+
-
+
-
-
+
+
+
延安嘉盛已建立西北地区首个石油行业院士工作站。公司于2019年5月与工程院院士 李鹤林合作成立了“延安嘉盛院士工作站”,并与李鹤林院士所在的中国石油集团石油管 工程技术研究院,建立了长期战略合作关系。共同开展油田油气井管柱研究;围绕石油行 业发展急需解决的超深井、高温高压井况的材料选型等重大关键难题开展技术攻关、科技 成果转化和产业化发展。
+
+
+
+
+
+ {
+ newsList.map(item => {
+ return
navigate('news')}>
+ {
+ item.safe ?
:
+
+
{item.articleName}
+
{item.releaseTime.toString().split(' ')[0]}
+
+ }
+
+ })
+ }
+
+
+
+
+
+
+
+ {
+ videoList.map(item => {
+ return
navigate('video')}>
+ {
+ item.safe ?
:
+
+
{item.videoTittle}
+
{item.releaseTime.toString().split(' ')[0]}
+
+ }
+
+ })
+ }
+
+
+
>
}
-// 宏任务 和 微任务
-console.log(1)
-
-function a(){
- console.log(2)
-}
-
-(function autoRun(){
- return console.log(3)
-})()
-setTimeout(() => {
- console.log(4)
-})
-function b(){
- return new Promise((resolve, reject) =>{
- console.log(5)
- new Promise((res) => {
- console.log(6)
- res(7)
- })
- resolve(8)
- setTimeout(() => {
- reject(9)
- })
- })
-}
-a()
-b().then(
- res => {
- console.log(res)
- },
- e => {
- console.log(e)
- }
-)
-
-
-// this指向问题
-class A{
- constructor() {
- this.name = 'haha'
- }
- one(){
- return () => {
- console.log(this.name)
- }
-
- }
- two(){
- return function (){
- console.log(this?.name)
- }
- }
-}
-const aClass = new A()
-const one = aClass.one()
-const two = aClass.two()
-one()
-two()
-// two.call(aClass)
-// 打印结果是什么
-// 如何让输出都为name
-
-// 解构赋值
-let num1 = 99, num2 = 98;
-const str1 = 'World', str2 = 'Hello';
-[num1, num2] = [num2, num1];
-// [str1, str2] = [str2, str1];
-console.log(num1, num2);
-console.log(str1, str2);
-
-// 三点运算符
-const list1 = [1,2,3,4,5];
-const list2 = [6,7,8,9,10];
-let list = [];
-// 合并list1和list2
-// 方法1 list = [...list, ...list2]
-// 方法2 list = list1.concat(list2)
-// 排序list
-// list.sort((x,y)=> x - y)
-// 数组去重
-let arrNum = [1,1,3,4,4,9,1,4,6,8]
-// console.log(Array.from(new Set(arrNum)));
-
-
-// 基础数据类型和复杂数据类型
-function autoRun(){
- let name = 'Nier'
- let people = {
- age: 24,
- sex: 1,
- birthday: `991332`
- }
- function makeNewPeople(name, people){
- people.name = name
- name = 'Anto'
- console.log(name, people)
- }
- console.log(name, people)
- makeNewPeople(name, people)
- console.log(name, people)
-}
-autoRun()
-
-// 拷贝
-function autoRun2(){
- const CP1 = {
- cpu: 'i9 13900k',
- mem: '32GB 7600MHz DDR5',
- videoCard: 'RTX 4090'
- }
- const CP2 = {
- cpu: 'i5 8250U',
- mem: '8GB 3200MHz DDR4',
- videoCard: 'GTX 1050 MaxQ'
- }
-
- // 合并CP1和CP2
- // const CP = {...CP1, ...CP2}
- const CPList = [CP1, CP2]
- // 如何修改CP1而不导致CPList变化
-}
-
-
-// 格式化数据
-function autoRun3(){
- const resd = [
- { id: 32, name: 'a', fatherId: 0 },
- { id: 16, name:'b', fatherId: 32 },
- { id: 8, name: 'c', fatherId: 4 },
- { id: 7, name: 'c', fatherId: 8 },
- { id: 6, name: 'c', fatherId: 4 },
- { id: 5, name: 'c', fatherId: 4 },
- { id: 4, name: 'c', fatherId: 1 },
- { id: 3, name: 'c', fatherId: 16 },
- { id: 2, name: 'c', fatherId: 5 },
- { id: 1, name: 'c', fatherId: 0 }
- ]
-}
-// 将resd转化为树结构
-
-
-
-// sessionStorage和localStorage的区别,从页面A打开页面B sessionStorage会失效吗
-function autoRun5(){
- window.location.href = "http://www.baidu.com";
- window.history.go(-1);
- window.open('page.html');
- this.$router.push('/goods/add')
-//
点击跳转
- this.$router.replace({path:'/goods/add'});
- this.$router.go(-1)
-}
diff --git a/src/pages/Home/index.module.scss b/src/pages/Home/index.module.scss
index 8e0dab7..0c9da68 100644
--- a/src/pages/Home/index.module.scss
+++ b/src/pages/Home/index.module.scss
@@ -135,6 +135,8 @@
.power{
position: relative;
+ background-color: #f7f7f7;
+ margin: 40px 0;
& > div{
position: relative;
max-width: 1200px;
@@ -147,7 +149,7 @@
padding: 30px 0;
& > div{
position: relative;
- line-height: normal;
+ line-height: 60px;
font_radio: 2;
display-radio: 1;
font-size: 28px;
@@ -160,17 +162,187 @@
position: relative;
display: flex;
height: 450px;
+ overflow: hidden;
& > div{
position: relative;
margin: 0 10px;
cursor: pointer;
+ flex:1;
}
& > div:nth-child(1){
margin-left: 0;
}
& > div:nth-child(3){
+ margin-right: 0;
+ }
+ & > div.powerBox{
+ &:hover div.powerText{
+ height: 350px;
+ background: #187bc3;
+ color: #fefefe;
+ & > div.powerHeader{
+ margin-top: 50px;
+ height: 120px;
+ }
+ }
+ & > div{
+ position: relative;
+ height: 100%;
+ & > div.powerImg{
+ position: relative;
+ height: 300px;
+ overflow: hidden;
+ & > img {
+ width: 100%;
+ }
+ }
+ & > div.powerText{
+ position: absolute;
+ height: 150px;
+ width: 100%;
+ bottom: 0;
+ background-color: #fefefe;
+ transition: all cubic-bezier(0.25,0.1,0.25,1) 500ms;
+ & > div.powerHeader{
+ height: 150px;
+ margin-top: 0px;
+ position: relative;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ transition: margin-top cubic-bezier(0.25,0.1,0.25,1) 500ms;
+ & > div{
+ & > div{
+ font-weight: bold;
+ text-align: center;
+ }
+ & > div:nth-child(1){
+ font-size: 24px;
+ line-height: 48px;
+ }
+ & > div:nth-child(2){
+ font-size: 18px;
+ line-height: 36px;
+ }
+ }
+ }
+ & > div.powerBody{
+ position: relative;
+ text-indent: 2em;
+ width: 300px;
+ height: 150px;
+ margin: 0 auto;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ .newsAndVideo{
+ position: relative;
+ background-color: #fff;
+ padding: 40px 0;
+ & > div{
+ position: relative;
+ max-width: 1200px;
+ margin: 0 auto;
+ & > header{
+ position: relative;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding: 30px 0;
+ & > div{
+ position: relative;
+ line-height: 60px;
+ font_radio: 2;
+ display-radio: 1;
+ font-size: 28px;
+ letter-spacing: 5px;
+ font-family: Microsoft YaHei;
+ color: #333;
+ }
+ }
+ & > div{
+ position: relative;
+ display: flex;
+ height: 300px;
+ //overflow: hidden;
+ & > div:nth-child(1){
margin-left: 0;
}
+ & > div:nth-child(3){
+ margin-right: 0;
+ }
+ &>div.newsBox{
+ position: relative;
+ margin: 0 10px;
+ cursor: pointer;
+ display: flex;
+ width: 300px;
+ flex-direction: column;
+ flex: 1;
+ background-color: #f7f7f7;
+ padding: 5px;
+ //box-shadow: 2px 2px 10px 0 #33333311;
+ & > div.safe{
+ position: relative;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 100%;
+ text-align: center;
+ color: #666;
+ & > div{
+ position: relative;
+ height: 200px;
+ }
+ img{
+ height: 160px;
+ }
+ }
+ & > div.newsBBB{
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+ &:hover div:nth-child(1){
+ transform: scale(1.02);
+ box-shadow: 0px 23px 20px -20px #33333399;
+ }
+ & > div:nth-child(1){
+ position: relative;
+ flex: 1;
+ background-repeat:no-repeat;
+ background-size:cover;
+ background-position:center;
+ transition: all ease-in-out 200ms;
+ & > img{
+ width: 100%;
+ }
+ }
+ & > div:nth-child(2){
+ position: relative;
+ flex-shrink: 0;
+ height: 28px;
+ margin: 10px 0;
+ line-height: 28px;
+ }
+ & > div:nth-child(3){
+ position: relative;
+ flex-shrink: 0;
+ font-size: 14px;
+ color: #666;
+ margin-bottom: 5px;
+ }
+ }
+ }
}
}
}
diff --git a/src/pages/Home/photo.svg b/src/pages/Home/photo.svg
new file mode 100644
index 0000000..39452d5
--- /dev/null
+++ b/src/pages/Home/photo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/pages/Home/video.svg b/src/pages/Home/video.svg
new file mode 100644
index 0000000..05e13a5
--- /dev/null
+++ b/src/pages/Home/video.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/pages/News/index.jsx b/src/pages/News/index.jsx
index 39f1958..e6c2b8d 100644
--- a/src/pages/News/index.jsx
+++ b/src/pages/News/index.jsx
@@ -1,3 +1,120 @@
+import {useState, useEffect} from "react";
+import css from './index.module.scss'
+import { Swiper, SwiperSlide } from 'swiper/react';
+// Import Swiper styles
+import 'swiper/css';
+import 'swiper/css/navigation';
+import 'swiper/css/pagination';
+// import required modules
+import { Navigation, Pagination, Mousewheel, Keyboard } from 'swiper/modules';
+
+import {getGroupList, getNews} from "../../request/index.js";
+
+const yaoa5 = 'https://omo-oss-image.thefastimg.com/portal-saas/new2022122617044678164/cms/image/855d519c-6d36-4de0-b9e1-72d90eee90a6.jpg_1920xaf.jpg'
+const loginImg = 'https://omo-oss-image.thefastimg.com/portal-saas/new2022122617044678164/cms/image/42f7910a-9205-4429-b89b-27d426bbe979.jpg'
+
+
export default function News(){
- return
News
+ const [groupList, setGroupList] = useState([]);
+ const [newsList, setNewsList] = useState([]);
+ const [pageNum, setPageNum] = useState(1);
+ const [pageSize, setPageSize] = useState(10);
+ const [total, setTotal] = useState(0);
+ const [catState, setCatState] = useState(css.cat);
+ const [newsData, setNewsData] = useState(null)
+
+ useEffect(() => {
+ async function getGL(){
+ const resd = await getGroupList(0)
+ setGroupList(resd.data || [])
+ const newsListResd = await getNews({
+ pageNum,
+ pageSize,
+ status: 0,
+ order:0
+ })
+ setNewsList(newsListResd?.data?.rows)
+ setTotal(newsListResd?.data.total)
+ }
+ getGL()
+ },[pageNum])
+
+ function handleChangePage(turnSign){
+ turnSign === true? setPageNum(pageNum+1): '';
+ turnSign === false? setPageNum(pageNum-1): '';
+ (/^[0-9]+.?[0-9]*/).test(turnSign) ? setPageNum(turnSign):'';
+ }
+
+ function openCat(state, data = null){
+ state ? setCatState([css.cat, css.catOpen].join(' ')): setCatState(css.cat)
+ data && setNewsData(data)
+ }
+
+
+ return
+
+
+
+
+
+
+
+
+
+
+ {
+ groupList.map(i => {
+ return
{i.groupName}
+ })
+ }
+
+
+
+
+ {
+ newsList.map(i => {
+ return
{openCat(true, i)}}>
+
{i.articleName}
+
+
{i.releaseTime?.toString()?.split(' ')[0].split('-')[0]}
+
{i.releaseTime?.toString()?.split(' ')[0].split('-').slice(1,3).join('-')}
+
+
+ })
+ }
+
+
+
+
+
+
+ openCat(false)}>返回
+ 新闻详情
+
+
+
+ {
+ JSON.stringify(newsData)
+ }
+
+
+
+
}
diff --git a/src/pages/News/index.module.scss b/src/pages/News/index.module.scss
new file mode 100644
index 0000000..d4c77be
--- /dev/null
+++ b/src/pages/News/index.module.scss
@@ -0,0 +1,195 @@
+.News{
+ position: relative;
+ .SwiperContent{
+ position: relative;
+ height: 300px;
+ //min-width: 1000px;
+ //width: 100%;
+ overflow: hidden;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ & > img{
+ height: 100%;
+ }
+ & > div{
+ position: relative;
+ height: 100%;
+ width: 100%;
+ background-repeat:no-repeat;
+ background-size:cover;
+ background-position:center;
+ }
+ }
+ & > div.main{
+ position: relative;
+ max-width: 1200px;
+ min-width: 1000px;
+ margin: 20px auto;
+ display: flex;
+ & > div.menu{
+ position: relative;
+ flex-shrink: 0;
+ width: 221px;
+ & > div{
+ padding-left: 10px;
+ user-select: none;
+ }
+ & > div.menuTitle{
+ position: relative;
+ font-size: 18px;
+ line-height: 2.5em;
+ padding: 0;
+ line-height: 0;
+ border-bottom: 0;
+ }
+ & > div.menuList{
+ position: relative;
+ line-height: 2em;
+ margin: 1px 0;
+ transition: all ease-in-out 300ms;
+ &:hover{
+ cursor: pointer;
+ background-color: #e70012;
+ color: #fff;
+ }
+ }
+ }
+ & > div.body{
+ position: relative;
+ flex: 1;
+ margin-left: 10px;
+ overflow: hidden;
+ & > div.table{
+ position: relative;
+ & > div.newsBox{
+ position: relative;
+ border-bottom: 1px dashed rgba(218,218,218,1);
+ cursor: pointer;
+ display: flex;
+ height: 70px;
+ padding: 20px 30px;
+ transition: all cubic-bezier(0.25,0.1,0.25,1) 600ms;
+ left: 0;
+ &:hover{
+ background: #e7eaf4;
+ left: 5px;
+ div:last-child{
+ color: #173394 !important;
+ }
+ }
+ & > div:first-child{
+ position: relative;
+ flex: 1;
+ }
+ & > div:last-child{
+ position: relative;
+ flex-shrink: 0;
+ width: 80px;
+ color: rgba(153,153,153,1);
+ transition: all cubic-bezier(0.25,0.1,0.25,1) 600ms;
+ & > div:first-child{
+ min-height: 20px;
+ font_radio: 2;
+ font-size: 14px;
+ text-align: right;
+ line-height: 1;
+ }
+ & > div:last-child{
+ font-size: 34px;
+ font-family: Impact;
+ text-align: right;
+ line-height: 1.5;
+ }
+ }
+ }
+ }
+ & > footer{
+ position: relative;
+ display: flex;
+ //align-items: center;
+ justify-content: center;
+ margin-top: 20px;
+ & >div{
+ position: relative;
+ display: flex;
+ & > div{
+ position: relative;
+ margin: 0 5px;
+ border: 1px solid #33333333;
+ padding: 5px;
+ cursor: pointer;
+ border-radius: 3px;
+ transition: all cubic-bezier(0.25,0.1,0.25,1) 600ms;;
+ &:hover{
+ border: 1px solid #187bc3;
+ color: #187bc3;
+ }
+ }
+ &>div.page{
+ position: relative;
+ min-width: 20px;
+ text-align: center;
+ }
+ &>div.pageChoose{
+ border: 1px solid #187bc3;
+ background: #187bc3;
+ color: #fefefe;
+ }
+ & > div.unChoose{
+ border: 1px solid #33333333;
+ background: #33333311;
+ color: #333;
+ cursor: not-allowed;
+ }
+ }
+ }
+ }
+ }
+ .cat{
+ position: fixed;
+ height: 0;
+ width: 100%;
+ left: 0;
+ bottom: 0;
+ transition: height cubic-bezier(0.25,0.1,0.25,1) 600ms;;
+ background: #f7f7f7fc;
+ z-index: 999;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+ & > header{
+ position: relative;
+ height: 50px;
+ flex-shrink: 0;
+ border-bottom: 1px solid #99999999;
+ display: flex;
+ &>div:first-child{
+ position: relative;
+ flex-shrink: 0;
+ width: 100px;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ cursor: pointer;
+ }
+ }
+ & > div.catBody{
+ position: relative;
+ flex: 1;
+ overflow: hidden;
+ &>div{
+ position: relative;
+ min-width: 1000px;
+ max-width: 1200px;
+ overflow: auto;
+ margin: 0 auto;
+ }
+ }
+ }
+ .catOpen{
+ height: 100%;
+ width: 100%;
+ }
+}
diff --git a/src/pages/Video/index.jsx b/src/pages/Video/index.jsx
index d84d581..217dcef 100644
--- a/src/pages/Video/index.jsx
+++ b/src/pages/Video/index.jsx
@@ -1,3 +1,4 @@
+import css from './index.module.scss'
export default function Video(){
return
Video
}
diff --git a/src/pages/Video/index.module.scss b/src/pages/Video/index.module.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/pages/index.jsx b/src/pages/index.jsx
index e784b45..d54ecb6 100644
--- a/src/pages/index.jsx
+++ b/src/pages/index.jsx
@@ -1,7 +1,8 @@
import css from './index.module.scss'
-import {Outlet} from 'react-router-dom'
+import {Outlet, useNavigate} from 'react-router-dom'
import headerPng from './header.png'
export default function Index(){
+ const navigate = useNavigate()
return <>
@@ -9,14 +10,25 @@ export default function Index(){
+
>
}
diff --git a/src/pages/index.module.scss b/src/pages/index.module.scss
index 48681f4..a654dd9 100644
--- a/src/pages/index.module.scss
+++ b/src/pages/index.module.scss
@@ -27,6 +27,7 @@
position: relative;
margin: 0 20px;
cursor: pointer;
+ color: #333;
}
}
}
@@ -34,4 +35,41 @@
& > div{
position: relative;
}
+ & > footer{
+ position: relative;
+ background-color: rgba(26,26,26,1);
+ user-select: none;
+ & > div{
+ position: relative;
+ max-width: 1200px;
+ margin: 0 auto;
+ & > div:nth-child(1){}
+ & > div:nth-child(2){
+ position: relative;
+ color: #f2f2f2b3;
+ line-height: 5;
+ font-size: 14px;
+ display: flex;
+ & > div{
+ &>a{
+ all:unset;
+ cursor: pointer;
+ }
+ }
+ & >div:nth-child(1){
+ flex: 5;
+ }
+ & >div:nth-child(2){
+ user-select: auto;
+ flex: 5;
+ }
+ & >div:nth-child(3){
+ flex: 5;
+ }
+ & >div:nth-child(4){
+ flex: 5;
+ }
+ }
+ }
+ }
}
diff --git a/src/request/index.js b/src/request/index.js
new file mode 100644
index 0000000..ca9a1aa
--- /dev/null
+++ b/src/request/index.js
@@ -0,0 +1,33 @@
+import axios from "axios";
+
+const instance = axios.create({
+ timeout: 10000,
+ baseURL: "/api", // 服务器请求地址
+});
+
+instance.interceptors.response.use(
+ async (response) => {
+ const data = response.data;
+ if (data.status === 200 || data.code === 200) return data;
+ }
+);
+
+
+export const getNews = params => instance({
+ url: `/jiaSheng/civilization/article/getPage`,
+ method: 'get',
+ params
+})
+export const getVideo = params => instance({
+ url: `/jiaSheng/civilization/video/getPage`,
+ method: 'get',
+ params
+})
+
+export const getGroupList = type => instance({
+ url: `/jiaSheng/civilization/group/getGroupList`,
+ method: 'get',
+ params:{
+ groupType: type
+ },
+})
diff --git a/src/routes/index.jsx b/src/routes/index.jsx
index fe8b758..d1f2ffe 100644
--- a/src/routes/index.jsx
+++ b/src/routes/index.jsx
@@ -31,7 +31,7 @@ export default [
},
{
path: '/', //当路径的端口号后面没有地址时就渲染'
'
- element: //只要``组件被渲染,就会修改路径,切换视图
+ element: //只要``组件被渲染,就会修改路径,切换视图
}
// {
// path: '/home', //路径,这里式一级路由,所以在路径前要带上'/'
diff --git a/vite.config.js b/vite.config.js
index 5a33944..252232c 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -4,4 +4,28 @@ import react from '@vitejs/plugin-react'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [react()],
+ server: {
+ host: "0.0.0.0",
+ proxy: {
+ '/api': {
+ // target: "https://app.uair.cc/api",// 目标地址
+ // target: `http://10.10.10.168:8080`,// sar目标地址
+ target: `http://10.10.10.200/api/`,// 测试服务器址
+ // target: "http://10.10.10.146:9309",// Rock目标地址
+ // target: `http://togy.top:18080/api/`,// sar目标地址
+ ws: true,// 开始ws代理
+ changeOrigin: true, // 开发模式
+ rewrite: (path) => path.replace(/^\/api/, "")
+ },
+ '/statics': {
+ // target: "https://app.uair.cc/api",// 目标地址
+ target: `http://10.10.10.168:9300`,// sar目标地址
+ // target: `http://10.10.10.200/api/`,// 测试服务器址
+ // target: "http://10.10.10.146:9309",// Rock目标地址
+ // target: `http://togy.top:18080/api/`,// sar目标地址
+ ws: true,// 开始ws代理
+ changeOrigin: true, // 开发模式
+ },
+ }
+ },
})