void HospitalisationPay::print( QPrinter* printer ) { QPainter painter( printer ); int w = printer->pageRect().width(); int h = printer->pageRect().height(); QRect page( w/5, h/15-h/20, w, h ); QRect page2( w/9, h/9-h/20, w, h ); QRect page3( w/11, h/10-h/20, 5*w/6, h/8); QRect page4( w/11, 9*h/40-h/20, 5*w/6, h/16); QRect page5( w/9, 9*h/40-h/20, w, h/10); QRect page6( w/11, 23*h/80-h/20, 5*w/6, h/20); QRect page7( w/9, 24*h/80-h/20, w, h/10); QFont font = painter.font(); font.setPixelSize( (w+h) / 100 ); painter.setFont( font ); if (Isrefund) { painter.drawText( page, Qt::AlignTop | Qt::AlignLeft, QString::fromLocal8Bit(" 三河市燕郊镇卫生院退款单") ); double amount=ui.amountEdit->text().toDouble(); Capital*capital = new Capital; QString strcaptial =capital->NumToChineseStr(amount);//; QString str =QString::fromLocal8Bit("退款单号:")+ui.sheetNoEdit->text()+" "+QString::fromLocal8Bit("住院号:")+ui.hospitalNocomboBox->currentText()+" "+QString::fromLocal8Bit("退款日期:")+ui.dateTimeEdit->text()+" \n\n"+QString::fromLocal8Bit("姓名:")+ui.nameEdit->text()+" "+QString::fromLocal8Bit("票号:")+" "+QString::fromLocal8Bit("住院日期:")+ui.registrydateEdit->text()+"\n\n"+QString::fromLocal8Bit("退款方式:")+ui.chargemethodcomboBox->currentText()+" "+QString::fromLocal8Bit("金额:")+"-"+ui.amountEdit->text()+" "+QString::fromLocal8Bit("大写:")+QString::fromLocal8Bit("负")+strcaptial; painter.drawText( page2, Qt::AlignTop | Qt::AlignLeft, str); painter.drawText( page, Qt::AlignBottom | Qt::AlignLeft, QDateTime::currentDateTime().toString( Qt::DefaultLocaleShortDate ) ); painter.drawRect(page3); painter.drawRect(page4); str ="\n"+QString::fromLocal8Bit("制单:")+ui.sheetmakerEdit->text()+" "+QString::fromLocal8Bit("打印时间:")+QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss")+" "+QString::fromLocal8Bit("收款人:")+ui.payerEdit->text(); painter.drawText( page5, Qt::AlignTop | Qt::AlignLeft, str); painter.drawRect(page6); str =QString::fromLocal8Bit("此乃临时收据,不作报销凭证,请妥善保存,出院结算时交回。"); painter.drawText( page7, Qt::AlignTop | Qt::AlignLeft, str); page.adjust( w/20, h/20, -w/20, -h/20 ); return; } painter.drawText( page, Qt::AlignTop | Qt::AlignLeft, QString::fromLocal8Bit(" 三河市燕郊镇卫生院收款单") ); double amount=ui.amountEdit->text().toDouble(); //string strtemp=""; Capital*capital = new Capital; QString strcaptial =capital->NumToChineseStr(amount);//; QString str =QString::fromLocal8Bit("收款单号:")+ui.sheetNoEdit->text()+" "+QString::fromLocal8Bit("住院号:")+ui.hospitalNocomboBox->currentText()+" "+QString::fromLocal8Bit("收费日期:")+ui.dateTimeEdit->text()+" \n\n"+QString::fromLocal8Bit("姓名:")+ui.nameEdit->text()+" "+QString::fromLocal8Bit("票号:")+" "+QString::fromLocal8Bit("住院日期:")+ui.registrydateEdit->text()+"\n\n"+QString::fromLocal8Bit("收款方式:")+ui.chargemethodcomboBox->currentText()+" "+QString::fromLocal8Bit("金额:")+ui.amountEdit->text()+" "+QString::fromLocal8Bit("大写:")+strcaptial; painter.drawText( page2, Qt::AlignTop | Qt::AlignLeft, str); painter.drawText( page, Qt::AlignBottom | Qt::AlignLeft, QDateTime::currentDateTime().toString( Qt::DefaultLocaleShortDate ) ); painter.drawRect(page3); painter.drawRect(page4); str ="\n"+QString::fromLocal8Bit("制单:")+ui.sheetmakerEdit->text()+" "+QString::fromLocal8Bit("打印时间:")+QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss")+" "+QString::fromLocal8Bit("交款人:")+ui.payerEdit->text(); painter.drawText( page5, Qt::AlignTop | Qt::AlignLeft, str); painter.drawRect(page6); str =QString::fromLocal8Bit("此乃临时收据,不作报销凭证,请妥善保存,出院结算时交回。"); painter.drawText( page7, Qt::AlignTop | Qt::AlignLeft, str); page.adjust( w/20, h/20, -w/20, -h/20 ); }
void Hospitalisationprint::print( QPrinter* printer ) { QPainter painter( printer ); int w = printer->pageRect().width(); int h = printer->pageRect().height(); QRect page2( 36*w/210, 17*h/297, w, h ); QRect page3( 35*w/210, 23*h/297, w, h ); QRect page4( 34*w/210, 28*h/297, 5*w/6, h/8); QRect page5( 30*w/210, 35*h/297, 5*w/6, h/4); QRect page6(110*w/210, 35*h/297, 5*w/6, h/4); QRect page7( 42*w/210, 72*h/297, 5*w/6, h/8); QRect page8( 115*w/210, 98*h/297, 5*w/6, h/8); QFont font = painter.font(); font.setPointSize(8); painter.setFont( font ); QString str =QString::fromLocal8Bit("三河市燕郊镇卫生院")+" "+ui.departmentlabel->text()+" "+ui.sheetnolabel->text(); painter.drawText(page2, Qt::AlignTop | Qt::AlignLeft, str); str =ui.hospitalisationNolabel->text()+" "+ui.startyearlabel->text()+" "+ui.startmonthlabel->text()+" "+ui.startdaylabel->text() + " "+ui.endyearlabel->text()+" "+ui.endmonthlabel->text()+" "+ui.enddaylabel->text()+" "+ui.deltadaylabel->text(); painter.drawText( page3, Qt::AlignTop | Qt::AlignLeft, str); str =ui.namelabel->text()+" "+ui.genderlabel->text()+" "+ui.insurancetypelabel->text()+" "+ui.insurancenolabel->text(); painter.drawText( page4, Qt::AlignTop | Qt::AlignLeft, str); int row = ui.tableWidget->rowCount(); str=""; for (int i =0;i<row;i++) { str =str+ui.tableWidget->item(i,0)->text()+" "+ui.tableWidget->item(i,1)->text()+"\n"; } // str =ui.dueincomeEdit->text()+"\n"+ui.dateTimeEdit->time().toString(); painter.drawText( page5, Qt::AlignTop | Qt::AlignLeft, str); row = ui.tableWidget_2->rowCount(); str=""; for (int i =0;i<row;i++) { str =str+ui.tableWidget_2->item(i,0)->text()+" "+ui.tableWidget_2->item(i,1)->text()+"\n"; } // str =ui.dueincomeEdit->text()+"\n"+ui.dateTimeEdit->time().toString(); painter.drawText( page6, Qt::AlignTop | Qt::AlignLeft, str); double amount=ui.totalfeelabel->text().toDouble(); Capital*capital = new Capital; QString strcaptial=capital->NumToChineseStr(amount);//=QString::fromLocal8Bit(.c_str());; str=""; str=strcaptial+" "+ui.totalfeelabel->text(); painter.drawText( page7, Qt::AlignTop | Qt::AlignLeft, str); str=ui.sheetmakerlabel->text()+" "+ui.currentyearlabel->text()+" "+ui.currentmonthlabel->text()+" "+ui.currentdaylabel->text(); painter.drawText( page8, Qt::AlignTop | Qt::AlignLeft, str); }
wmMenuWidget::wmMenuWidget( QWidget *parent, const char *name ) : QWidget( parent, name ){ QPopupMenu *file = new QPopupMenu; CHECK_PTR( file ); file->insertItem( "Run", this, SLOT(run()) ); file->insertItem( "Restart", this, SLOT(restart()) ); file->insertItem( "Exit", kapp , SLOT(quit()) ); view = new QPopupMenu; CHECK_PTR( view ); view->insertItem( "Page 1", this, SLOT(page1()) ); view->insertItem( "Page 2", this, SLOT(page2()) ); view->insertItem( "Page 3", this, SLOT(page3()) ); view->insertItem( "Page 4", this, SLOT(page4()) ); QPopupMenu *help = new QPopupMenu; CHECK_PTR( help ); help->insertItem( "KWM Help", this, SLOT(kwmhelp()) ); help->insertSeparator(); help->insertItem( "About", this, SLOT(about()) ); windows = new QPopupMenu; CHECK_PTR( help ); QPopupMenu *options = new QPopupMenu; CHECK_PTR( help ); int checkT = options->insertItem( "Transparent Move", this, SLOT(transpMove()) ); options->setItemChecked(checkT,TRUE); int checkO = options->insertItem( "Opaque Move", this, SLOT(opaqueMove()) ); options->insertItem( "Titlebar", this, SLOT(changeTitlebar()) ); // options->insertSeparator(); // int enableSO = options->insertItem( "Save Options", kapp, SLOT(saveOptions()) ); // options->setItemEnabled( enableSO, FALSE); menu = new QMenuBar( this ); CHECK_PTR( menu ); menu->insertItem( "File", file ); menu->insertItem( "View", view ); menu->insertItem( "Windows", windows ); menu->insertItem( "Options", options ); menu->insertSeparator(); menu->insertItem( "Help", help ); menu->setGeometry( 0, 0, 300, 22); setGeometry(0,0,308,28); } /* end wmMenuWidget::wmMenuWidget */
void PharmacyReceipt::print( QPrinter* printer ) { //// 创建打印页面的绘制对象 QPainter painter( printer ); int w = printer->pageRect().width(); int h = printer->pageRect().height(); QRect page( w/5, h/15, w, h ); QRect page2( w/4, h/8, w, h ); QRect page3( w/4, h/6, w, h ); QRect page4( 0, h/10, w, h ); // 根据页面大小设置适当的字体大小 QFont font = painter.font(); font.setPixelSize( (w+h) / 100 ); painter.setFont( font ); // 在页面角落绘制标签 painter.drawText( page, Qt::AlignTop | Qt::AlignLeft, QString::fromLocal8Bit(" 三河市燕郊镇卫生院") ); /*painter.drawText( page2, Qt::AlignTop | Qt::AlignLeft, QString::fromLocal8Bit("周文军") ); painter.drawText( page3, Qt::AlignTop | Qt::AlignLeft, QString::fromLocal8Bit("一般针疗费 次 1 10.00") ); painter.drawText( page4, Qt::AlignTop | Qt::AlignLeft, QString::fromLocal8Bit("六十九元九角整")); painter.drawText( page, Qt::AlignBottom | Qt::AlignLeft, QDateTime::currentDateTime().toString( Qt::DefaultLocaleShortDate ) );*/ // 绘制模拟数据 page.adjust( w/20, h/20, -w/20, -h/20 ); //m_scene->render( &painter, page ); //表格 /* QWidget *myForm=new QWidget(this); myForm->setObjectName(QString::fromUtf8("Form")); myForm->resize(500, 500); QTableWidget *tableWidget; tableWidget = new QTableWidget(myForm); tableWidget->setColumnCount(3); tableWidget->setRowCount(4); tableWidget->setObjectName(QString::fromUtf8("tableWidget")); tableWidget->setGeometry(QRect(0, 0,500, 500)); tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch); tableWidget->horizontalHeader()->setStyleSheet("QHeaderView::section {background-color:white;color: black;padding-left: 4px;border: 1px solid #6c6c6c;};" "color: white;padding-left: 4px;border: 1px solid #6c6c6c;}" "QHeaderView::section:checked{background-color: red;}"); */ QPixmap image; image=image.grabWidget(ui.tableWidget,-35,0,900, 1000); painter.drawPixmap(page4,image); //printTableWidget(ui.tableWidget,"preview",printer); }
Control::Control(QWidget *parent) : QDialog(parent), ui(new Ui::Control) { ui->setupUi(this); setWindowTitle("GSM管理界面"); out = new Dataout(0,"0",this); in = new DataIn(); ui->stackedWidget->setCurrentIndex(0); ui->stackedWidget_2->setCurrentIndex(0); QRegExp regExp("0?[.][0-9]+$"); ui->lineEdit->setValidator(new QRegExpValidator(regExp,this)); initTime(); addBTSname(); addCellID(); connect(ui->confirm,SIGNAL(clicked()),this,SLOT(data_in())); connect(ui->confirm_2,SIGNAL(clicked()),this,SLOT(data_out())); connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(page1())); connect(ui->pushButton_2,SIGNAL(clicked()),this,SLOT(page2())); connect(ui->confirm_3,SIGNAL(clicked()),this,SLOT(queryBTS())); connect(ui->pushButton_3,SIGNAL(clicked()),this,SLOT(page3())); connect(ui->pushButton_4,SIGNAL(clicked()),this,SLOT(page4())); connect(ui->confirm_4,SIGNAL(clicked()),this,SLOT(queryCell())); connect(ui->pushButton_6,SIGNAL(clicked()),this,SLOT(bulkInsert())); connect(ui->pushButton_5,SIGNAL(clicked()),this,SLOT(page5())); connect(ui->pushButton_9,SIGNAL(clicked()),this,SLOT(reCalculateDatas())); connect(ui->pushButton_7,SIGNAL(clicked()),this,SLOT(page6())); connect(ui->pushButton_11,SIGNAL(clicked()),this,SLOT(printNeighbor())); connect(ui->pushButton_8,SIGNAL(clicked()),this,SLOT(page7())); connect(ui->pushButton_10,SIGNAL(clicked()),this,SLOT(findNeighbor())); connect(ui->pushButton_12,SIGNAL(clicked()),this,SLOT(findCellInfo())); connect(ui->pushButton_13,SIGNAL(clicked()),this,SLOT(page13())); connect(ui->pushButton_14,SIGNAL(clicked()),this,SLOT(page14())); connect(ui->pushButton_15,SIGNAL(clicked()),this,SLOT(page15())); connect(ui->pushButton_16,SIGNAL(clicked()),this,SLOT(page16())); connect(ui->pushButton_17,SIGNAL(clicked()),this,SLOT(page17())); connect(ui->pushButton_18,SIGNAL(clicked()),this,SLOT(page18())); connect(ui->pushButton_22,SIGNAL(clicked()),this,SLOT(action22())); connect(ui->pushButton_23,SIGNAL(clicked()),this,SLOT(action23())); }
int main(void) { uint8_t page = 100; system_init(); dog_Init(0); for(;;) { dog_StartPage(); do { switch(page) { case 100: page_intro(); break; case 0: page0(); break; case 1: page1(); break; case 2: page2(); break; case 3: page3(); break; case 4: page4(); break; case 5: page5(); break; } } while( dog_NextPage() ); dog_Delay(1500); page++; if ( page >= 6 ) page = 0; } }
VideoGeneralSettings::VideoGeneralSettings() { ConfigPage::PageList pages; VConfigPage page1(pages, false); page1->addChild(VideoStartupDirectory()); page1->addChild(TrailerDirectory()); page1->addChild(VideoArtworkDirectory()); page1->addChild(VideoScreenshotDirectory()); page1->addChild(VideoBannerDirectory()); page1->addChild(VideoFanartDirectory()); VConfigPage page2(pages, false); page2->addChild(SetOnInsertDVD()); page2->addChild(SetDVDDriveSpeed()); page2->addChild(VideoTreeRemember()); // page 3 VerticalConfigurationGroup *pctrl = new VerticalConfigurationGroup(true, false); pctrl->setLabel(QObject::tr("Parental Control Settings")); pctrl->addChild(VideoDefaultParentalLevel()); pctrl->addChild(VideoAdminPassword()); pctrl->addChild(VideoAdminPasswordThree()); pctrl->addChild(VideoAdminPasswordTwo()); pctrl->addChild(VideoAggressivePC()); VConfigPage page3(pages, false); page3->addChild(pctrl); VConfigPage page4(pages, false); page4->addChild(new RatingsToPL()); int page_num = 1; for (ConfigPage::PageList::const_iterator p = pages.begin(); p != pages.end(); ++p, ++page_num) { (*p)->setLabel(QObject::tr("General Settings (%1/%2)").arg(page_num) .arg(pages.size())); addChild(*p); } }
void Ruralcooperativequery::print( QPrinter* printer ) { QPainter painter( printer ); int w = printer->pageRect().width(); int h = printer->pageRect().height(); QRect page( w/50, h/50, w, h ); QRect page4( w/30, h/10, w, h ); QFont font = painter.font(); font.setPointSize(8); painter.setFont( font ); painter.drawText( page, Qt::AlignTop | Qt::AlignHCenter, QString::fromLocal8Bit(" 三河市燕郊镇卫生院农合对应关系") ); painter.begin(this); painter.setPen(QPen(Qt::black,4,Qt::SolidLine));//设置画笔形式 painter.setBrush(QBrush(Qt::white,Qt::SolidPattern));//设置画刷形式 int row = ui.tableView->model()->rowCount(); int col = ui.tableView->model()->columnCount(); double cellwidth = (w-40)/col; double cellheight = 160; double upmargin = 300; //计算总页数 int firstpagerow = (h-800)/160;//第一页上方空白为750,下方为50 int everypagerow = (h-100)/160;//后面每页的空白为100 int pagecount = 0; //xp系统 if(sql.windowsFlag==QSysInfo::WV_5_1||sql.windowsFlag==QSysInfo::WV_5_0||sql.windowsFlag==QSysInfo::WV_5_2||sql.windowsFlag==QSysInfo::WV_4_0)//判断当前系统 { cellwidth= (w-100)/col; cellheight=60; upmargin = 50; firstpagerow = (h-200)/cellheight; everypagerow = (h-20)/cellheight; } double leftmargin = (w-cellwidth*col)/2; if (row>firstpagerow) { pagecount = (row -firstpagerow)/everypagerow; int remain = (row -firstpagerow)%everypagerow; if (remain!=0) { pagecount+=2; } else { pagecount+=1; } } else { pagecount=1; } if (pagecount == 1) { QStringList list; for (int j =0;j<col;j++) { //list.append(ui.tableView->horizontalHeader(j)->text()); } if (col == 10) { list.append("id"); list.append(QString::fromLocal8Bit("农合编码")); list.append(QString::fromLocal8Bit("农合收费项目名称")); list.append(QString::fromLocal8Bit("医院编码")); list.append(QString::fromLocal8Bit("医院收费项目名称")); list.append(QString::fromLocal8Bit("剂型")); list.append(QString::fromLocal8Bit("单位")); list.append(QString::fromLocal8Bit("规格")); list.append(QString::fromLocal8Bit("生产厂家")); list.append(QString::fromLocal8Bit("备注")); } else if (col == 8) { list.append("id"); list.append(QString::fromLocal8Bit("农合编码")); list.append(QString::fromLocal8Bit("农合收费项目名称")); list.append(QString::fromLocal8Bit("医院编码")); list.append(QString::fromLocal8Bit("医院收费项目名称")); list.append(QString::fromLocal8Bit("计价单位")); list.append(QString::fromLocal8Bit("财务分类")); list.append(QString::fromLocal8Bit("编码")); } else if (col == 9) { list.append("id"); list.append(QString::fromLocal8Bit("农合编码")); list.append(QString::fromLocal8Bit("农合收费项目名称")); list.append(QString::fromLocal8Bit("医院编码")); list.append(QString::fromLocal8Bit("医院收费项目名称")); list.append(QString::fromLocal8Bit("单位")); list.append(QString::fromLocal8Bit("包装")); list.append(QString::fromLocal8Bit("规格、生产厂家")); list.append(QString::fromLocal8Bit("备注")); } for (int i=0;i<row;i++) { for (int j=0;j<col;j++) { if (ui.tableView->model()->index(i,j).data()==NULL) { list.append(""); continue; } list.append(ui.tableView->model()->index(i,j).data().toString()); } } for (int i=0;i<row+1;i++) { for (int j=0;j<col;j++) { painter.drawRect(leftmargin+j*cellwidth,upmargin+cellheight*(i+1),cellwidth,cellheight); QRect rect(leftmargin+j*cellwidth,upmargin+cellheight*(i+1),cellwidth,cellheight); painter.drawText( rect, Qt::AlignVCenter | Qt::AlignHCenter, list.at(i*col+j) );//ui.billtableWidget->item(i,j)->text() } } painter.end(); } else { //首页 QStringList list; for (int j =0;j<col;j++) { //list.append(ui.tableView->horizontalHeader(j)->text()); } if (col == 10) { list.append("id"); list.append(QString::fromLocal8Bit("农合编码")); list.append(QString::fromLocal8Bit("农合收费项目名称")); list.append(QString::fromLocal8Bit("医院编码")); list.append(QString::fromLocal8Bit("医院收费项目名称")); list.append(QString::fromLocal8Bit("剂型")); list.append(QString::fromLocal8Bit("单位")); list.append(QString::fromLocal8Bit("规格")); list.append(QString::fromLocal8Bit("生产厂家")); list.append(QString::fromLocal8Bit("备注")); } else if (col == 8) { list.append("id"); list.append(QString::fromLocal8Bit("农合编码")); list.append(QString::fromLocal8Bit("农合收费项目名称")); list.append(QString::fromLocal8Bit("医院编码")); list.append(QString::fromLocal8Bit("医院收费项目名称")); list.append(QString::fromLocal8Bit("计价单位")); list.append(QString::fromLocal8Bit("财务分类")); list.append(QString::fromLocal8Bit("编码")); } else if (col == 9) { list.append("id"); list.append(QString::fromLocal8Bit("农合编码")); list.append(QString::fromLocal8Bit("农合收费项目名称")); list.append(QString::fromLocal8Bit("医院编码")); list.append(QString::fromLocal8Bit("医院收费项目名称")); list.append(QString::fromLocal8Bit("单位")); list.append(QString::fromLocal8Bit("包装")); list.append(QString::fromLocal8Bit("规格、生产厂家")); list.append(QString::fromLocal8Bit("备注")); } for (int i=0;i<firstpagerow;i++) { for (int j=0;j<col;j++) { if (ui.tableView->model()->index(i,j).data()==NULL) { list.append(""); continue; } list.append(ui.tableView->model()->index(i,j).data().toString()); } } for (int i=0;i<firstpagerow+1;i++) { for (int j=0;j<col;j++) { painter.drawRect(leftmargin+j*cellwidth,upmargin+cellheight*(i+1),cellwidth,cellheight); QRect rect(leftmargin+j*cellwidth,upmargin+cellheight*(i+1),cellwidth,cellheight); painter.drawText( rect, Qt::AlignVCenter | Qt::AlignHCenter, list.at(i*col+j) );//ui.billtableWidget->item(i,j)->text() } } printer->newPage(); //占满的页面 for (int k = 0;k<pagecount-2;k++) { list.clear(); for (int i=firstpagerow+k*everypagerow;i<firstpagerow+(k+1)*everypagerow;i++) { for (int j=0;j<col;j++) { if (ui.tableView->model()->index(i,j).data()==NULL) { list.append(""); continue; } list.append(ui.tableView->model()->index(i,j).data().toString()); } } for (int i=0;i<everypagerow;i++) { for (int j=0;j<col;j++) { painter.drawRect(leftmargin+j*cellwidth,50+cellheight*(i),cellwidth,cellheight); QRect rect(leftmargin+j*cellwidth,50+cellheight*(i),cellwidth,cellheight); painter.drawText( rect, Qt::AlignVCenter | Qt::AlignHCenter, list.at(i*col+j) );//ui.billtableWidget->item(i,j)->text() } } printer->newPage(); } // list.clear(); for (int i=firstpagerow+(pagecount-2)*everypagerow;i<row;i++) { for (int j=0;j<col;j++) { if (ui.tableView->model()->index(i,j).data()==NULL) { list.append(""); continue; } list.append(ui.tableView->model()->index(i,j).data().toString()); } } for (int i=0;i<row-firstpagerow-(pagecount-2)*everypagerow-1;i++) { for (int j=0;j<col;j++) { painter.drawRect(leftmargin+j*cellwidth,50+cellheight*(i+1),cellwidth,cellheight); QRect rect(leftmargin+j*cellwidth,50+cellheight*(i+1),cellwidth,cellheight); painter.drawText( rect, Qt::AlignVCenter | Qt::AlignHCenter, list.at(i*col+j) );//ui.billtableWidget->item(i,j)->text() } } painter.end(); } }