- 2024年全国信息素养大赛图形化挑战赛国赛(决赛)真题——绘制20个多边形
嗨信奥
scratch青少年编程
绘制20个多边形编程任务从三角形开始,递增边数,一次画出20个多边形。参数说明:1.画笔初始位置(-25,180),粗细为2;2.每个多边形的边长都是50;3.每画一个多边形,画笔要改变颜色。完整题目可点击下方链接:绘制20个多边形_scratch_少儿编程题库学习中心-嗨信奥https://www.hixinao.com/tiku/scratch/show-3937.html程序演示及获取源码可
- 微服务架构的核心思想是什么?
破碎的天堂鸟
学习教程架构微服务云计算
微服务架构的核心思想是将一个大型、复杂的单体应用拆分成多个小型、独立且自治的服务,每个服务专注于单一的业务功能,通过轻量级通信机制(如HTTP/REST、gRPC等)进行交互。这种架构方式旨在提高系统的灵活性、可扩展性和可维护性,同时降低复杂性,适应快速变化的业务需求。以下是微服务架构核心思想的详细解释:业务解耦与模块化微服务架构强调将业务功能进行解耦,每个服务独立开发、部署和扩展,服务之间通过A
- Python: 修改源 知多少
技术探索者
#pythonpython开发语言
一.Windows源在Windows中使用Python修改源,需要通过修改pip配置文件或者使用pip命令直接指定源来实现。1.修改pip配置文件Windows用户通常在以下路径中找到pip配置文件%APPDATA%\pip\pip.ini注意:如果不存在的话,可以手动创建这个文件夹和文件。然后在pip.ini文件中添加以下内容,将源修改为你想要的源:[global]index-url=https
- Mac安装JDK
FINAL_NO
Java基础MacJDK
1.JDK地址下载https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=hotspot2.解决链接https://apple.stackexchange.com/questions/334384/how-can-i-install-java-openjdk-8-on-high-sierra3.方法安装最新版JDKbrewcaskinstalla
- 通用数字人系统--引领智能交互新时代
人工智能python
通用数字人系统:引领智能交互新时代项目地址:https://github.com/HansonJames/general_digital_human_system核心特点高性能实现视频帧率稳定30FPS+,支持1080P高清输出音视频延迟控制在200ms以内对话响应时间5秒以内支持横向扩展,满足高并发需求智能交互基于GPT的自然语言理解实时知识库检索与问答表情与语音情感同步多语言及方言支持快速上手
- 湖仓进化,极速统一|StarRocks 2024 社区年度报告
数据库
延伸阅读:Lakehouse白皮书|从理论到落地的现代数据架构升级指南StarRocks开源三周年:初心不忘,征程不止!StarRocksAwards2024年度贡献人物StarRocks培训课程重磅上线!专家出品,助你升级打怪不走弯路!更多交流,联系我们:https://wx.focussend.com/weComLink/mobileQrCodeLink/33412/515d5
- Windows系统SSH无法通过IPv6地址连接AWS EC2实例
Windows系统SSH无法通过IPv6地址连接AWSEC2实例源:https://blog.ximinghui.org/68d42d0a/index.html0.SSH无法通过IPv6地址连接EC2实例表现为ssh-i"D:/我的密钥.pem"root@2406:da1e:78d:e00:8634:fdd4:b5a0:aef4连接超时。1.使用tracert跟踪IPv6地址说明:我的EC2实例的
- Yii对接人大金仓
yii2数据库
人大金仓官方地址:https://www.kingbase.com.cn/一:composer包安装composerrequirehuaweichenai/kingbase二:php扩展要求需要安装pgsql,pdo_pgsql扩展(版本需要大于10)三:数据库配置'components'=>['db'=>['class'=>'huaweichenai\kingbase\table\db\Conn
- 深入理解 Go 高性能网络框架 nbio
程序员
本文深入探讨了高性能网络框架nbio在Golang中的应用,包括其架构、配置、事件处理机制、核心组件等,并与Evio做了比较。原文:AnalyzingHigh-PerformanceNetworkFrameworknbioinGo前言nbio项目还包括建立在nbio基础上的nbhttp,但这不在我们的讨论范围之内。与evio一样,nbio也采用经典的Reactor模式。事实上,Go中的许多异步网络
- JS工程化集锦
项目工具模块化JS模块规范CommonJS·AMD·CMD·UMD·ES6NPM版本NPM版本介绍打包构建polyfill工程化篇-JS兼容方案项目管理LintCodeReview效率工具ESLint方案官方:https://cn.eslint.org/docs/user-guide/configuringairbnb:https://github.com/airbnb/javascriptsta
- python中系统找不到指定文件怎么办,Python“系统找不到指定的文件”
许早早
我正在尝试编写一个OpenDyslexic字体的安装程序。我已经在https://github.com/kirbyfan64/OpenDyslexic-Installer上有一个Linux版本,但是Windows版本(显然)目前还不太好用。这是UAC问题吗?我想不出别的办法了。有两个奇怪的部分:程序正在通过else子句和filecmp找到了第一个文件。我有一种感觉,执行else是因为与filecm
- python获取当前文件路径
weixin_33877885
python
python获取当前文件路径学习了:https://www.cnblogs.com/strongYaYa/p/7200357.htmlhttps://blog.csdn.net/heatdeath/article/details/78070832https://www.cnblogs.com/WonderHow/p/4403727.htmlimportosprint(os.getcwd())#fo
- prometheus持久化到mysql_Prometheus的架构及持久化
CHM单
原文:https://my.oschina.net/go4it/blog/855598Prometheus是什么Prometheus是一个开源的系统监控和报警工具,特点是多维数据模型(时序列数据由metric名和一组key/value组成)在多维度上灵活的查询语言(PromQl)不依赖分布式存储,单主节点工作.通过基于HTTP的pull方式采集时序数据可以通过pushgateway进行时序列数据推
- MongoDB文档整理
白豆五
mongodb数据库
过往mongodb文档:https://blog.csdn.net/qq_46921028/article/details/123361633https://blog.csdn.net/qq_46921028/article/details/131136935https://blog.csdn.net/qq_46921028/article/details/1392478471.MongoDB前瞻
- linux安装mysql5.7
万猿丛中最秃的帅哥
linuxmysqllinuxmysql数据库
1、安装boost库boost_1_59_0连接:链接:https://pan.baidu.com/s/1sNY1niWTFjrLccPbMmcp5w提取码:pdj9在根目录的opt目录创建临时文件储存目录mkdir-p/opt/package进入临时目录cd/opt/package上传压缩包到服务器解压tar–xvzfboost_1_59_0.tar.gz进入boost目录cdboost_1_5
- Python 爬虫入门教程:从零构建你的第一个网络爬虫
m0_74825223
面试学习路线阿里巴巴python爬虫开发语言
网络爬虫是一种自动化程序,用于从网站抓取数据。Python凭借其丰富的库和简单的语法,是构建网络爬虫的理想语言。本文将带你从零开始学习Python爬虫的基本知识,并实现一个简单的爬虫项目。1.什么是网络爬虫?网络爬虫(WebCrawler)是一种通过网络协议(如HTTP/HTTPS)获取网页内容,并提取其中有用信息的程序。常见的爬虫用途包括:收集商品价格和评价。抓取新闻或博客内容。统计数据分析。爬
- JupyterLab Debugger 安装和配置指南
万毓璐
JupyterLabDebugger安装和配置指南debuggerAvisualdebuggerforJupyternotebooks,consoles,andsourcefiles项目地址:https://gitcode.com/gh_mirrors/de/debugger1.项目基础介绍和主要编程语言项目基础介绍JupyterLabDebugger是一个用于JupyterLab的视觉调试器扩展
- 使用Python进行后端开发
code_welike
python开发语言后端
在现代的Web应用程序中,后端开发扮演着至关重要的角色。后端是负责处理数据、逻辑和业务规则的部分,它与前端交互并提供必要的功能和服务。Python是一种广泛使用的编程语言,具有丰富的库和框架,非常适合用于后端开发。本文将介绍如何使用Python进行后端开发,并提供一些示例代码。安装Python和相关工具首先,我们需要安装Python和一些常用的后端开发工具。你可以从Python官方网站(https
- Golang 生态学习
蚂蚁在飞-
golang人工智能自然语言处理
1.Go语言基础在深入Go语言的生态之前,首先需要掌握Go语言本身的核心特性。•Go语言官方文档:https://golang.org/doc/Go官方文档是学习语言基础和标准库的首选资源。•学习内容:•基础语法:数据类型、控制流、函数、结构体、接口、错误处理等。•并发编程:Go的并发模型(goroutines和channels)是Go的强项,学习并发编程是使用Go的重要步骤。•内存管理:Go的垃
- 一文讲解常见API开发工具
蚂蚁在飞-
运维人工智能
1.Hoppscotch•简介:•Hoppscotch是一个开源的、基于浏览器的API请求工具。•设计简单轻量,适合快速测试和调试HTTP请求。•特点:•开源免费:基于Web的开源工具,可在浏览器中直接使用。•支持多种协议:包括REST、GraphQL、WebSocket、Socket.IO和MQTT。•实时调试:提供实时响应查看。•无需安装:无需安装客户端,只需打开浏览器即可。•适合团队协作:提
- Go Web 框架集合
蚂蚁在飞-
golang开发语言后端
1.Gin•简介:Gin是一个高性能的GoWeb框架,设计目标是提供速度和高效性。它是Go语言中最受欢迎的Web框架之一。•特点:•极高的性能,基于httprouter。•支持中间件、JSON渲染、路由分组等功能。•丰富的错误处理和请求验证功能。•良好的文档和社区支持。•适用场景:适合需要高性能和灵活性的Web服务或RESTfulAPI。官方网站:https://gin-gonic.com/2.E
- docker离线安装及部署各类中间件(x86系统架构)
m0_67403143
面试学习路线阿里巴巴docker中间件系统架构
前言:此文主要针对需要在x86内网服务器搭建系统的情况一、docker离线安装1、下载docker镜像https://download.docker.com/linux/static/stable/x86_64/版本:docker-23.0.6.tgz2、将docker-23.0.6.tgz文件上传到服务器上面,这里放在了/home下3、创建docker.service文件#进入/etc/syst
- vid2vid-zero:使用Stable Diffusion进行零样本视频编辑
ScienceLi1125
3D视觉stablediffusion
Paper:WangW,JiangY,XieK,etal.Zero-shotvideoeditingusingoff-the-shelfimagediffusionmodels[J].arXivpreprintarXiv:2303.17599,2023.Introduction:UnreleasedCode:https://github.com/baaivision/vid2vid-zero目录一
- golang基于gin框架的脚手架开发
少儿频道
Golanggingolang
文章目录仓库地址仓库地址https://gitee.com/wxd_ops/fast_gin.git具体功能见仓库Readme
- 在VScode设置R语言
weixin_39287540
Rwindowsmac
在VScode设置R语言1.下载R语言和VScode2.安装所需要的插件3.下载对接RLSP的R包3.下载Radian4.设置VScode中的路径1.下载R语言和VScodeR语言官网:https://www.r-project.orgVScode官网:https://code.visualstudio.com/2.安装所需要的插件必须的插件有2个:R和RLSPClient3.下载对接RLSP的R
- 单相计量芯片RN8209D使用经验分享(转)
weixin_30622107
大数据嵌入式
单相计量芯片RN8209D使用经验分享转载于:https://www.cnblogs.com/LittleTiger/p/10736060.html
- VMware ESXi 8.0U3c macOS Unlocker & OEM BIOS 标准版和厂商定制版,已适配主流品牌服务器
sysinside
VMwareESXiDellHPE联想华为浪潮
VMwareESXi8.0U3cmacOSUnlocker&OEMBIOS标准版和厂商定制版ESXi8.0U3c标准版,Dell(戴尔)、HPE(慧与)、Lenovo(联想)、Inspur(浪潮)、Cisco(思科)、Hitachi(日立)、Fujitsu(富士通)、NEC(日电)定制版、Huawei(华为)OEM定制版请访问原文链接:https://sysin.org/blog/vmware-e
- vscode accelerate deepspeed配置
Ctrl_Cver
vscodeide编辑器
accelerate训练{//UseIntelliSensetolearnaboutpossibleattributes.//Hovertoviewdescriptionsofexistingattributes.//Formoreinformation,visit:https://go.microsoft.com/fwlink/?linkid=830387"version":"0.2.0","c
- Python 打包成 EXE
luxiaoshuai
各种脚本pythonexe工具
py2exe好像从2.6版本以后就不再更新了。用下面这个工具吧。http://cx-freeze.sourceforge.net/
- IOS开发之沙盒机制和文件操作
liudongshizhang
IOS开发
引用于https://www.jianshu.com/p/d1715cad3d00沙盒也叫沙箱,英文standbox,其原理是通过重定向技术,把程序生成和修改的文件定向到自身文件夹中。每个iOS应用程序在安装时,都会创建属于自己的沙盒文件,应用程序不能直接访问其他应用程序的沙盒文件,当应用程序需要向外部请求或接收数据时,都需要经过权限认证,否则,无法获取到数据。即在沙盒机制下,每个程序之间的文件夹
- 安装数据库首次应用
Array_06
javaoraclesql
可是为什么再一次失败之后就变成直接跳过那个要求
enter full pathname of java.exe的界面
这个java.exe是你的Oracle 11g安装目录中例如:【F:\app\chen\product\11.2.0\dbhome_1\jdk\jre\bin】下的java.exe 。不是你的电脑安装的java jdk下的java.exe!
注意第一次,使用SQL D
- Weblogic Server Console密码修改和遗忘解决方法
bijian1013
Welogic
在工作中一同事将Weblogic的console的密码忘记了,通过网上查询资料解决,实践整理了一下。
一.修改Console密码
打开weblogic控制台,安全领域 --> myrealm -->&n
- IllegalStateException: Cannot forward a response that is already committed
Cwind
javaServlets
对于初学者来说,一个常见的误解是:当调用 forward() 或者 sendRedirect() 时控制流将会自动跳出原函数。标题所示错误通常是基于此误解而引起的。 示例代码:
protected void doPost() {
if (someCondition) {
sendRedirect();
}
forward(); // Thi
- 基于流的装饰设计模式
木zi_鸣
设计模式
当想要对已有类的对象进行功能增强时,可以定义一个类,将已有对象传入,基于已有的功能,并提供加强功能。
自定义的类成为装饰类
模仿BufferedReader,对Reader进行包装,体现装饰设计模式
装饰类通常会通过构造方法接受被装饰的对象,并基于被装饰的对象功能,提供更强的功能。
装饰模式比继承灵活,避免继承臃肿,降低了类与类之间的关系
装饰类因为增强已有对象,具备的功能该
- Linux中的uniq命令
被触发
linux
Linux命令uniq的作用是过滤重复部分显示文件内容,这个命令读取输入文件,并比较相邻的行。在正常情 况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如 果输入文件用“- ”表示,则从标准输入读取。
AD:
uniq [选项] 文件
说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个
- 正则表达式Pattern
肆无忌惮_
Pattern
正则表达式是符合一定规则的表达式,用来专门操作字符串,对字符创进行匹配,切割,替换,获取。
例如,我们需要对QQ号码格式进行检验
规则是长度6~12位 不能0开头 只能是数字,我们可以一位一位进行比较,利用parseLong进行判断,或者是用正则表达式来匹配[1-9][0-9]{4,14} 或者 [1-9]\d{4,14}
&nbs
- Oracle高级查询之OVER (PARTITION BY ..)
知了ing
oraclesql
一、rank()/dense_rank() over(partition by ...order by ...)
现在客户有这样一个需求,查询每个部门工资最高的雇员的信息,相信有一定oracle应用知识的同学都能写出下面的SQL语句:
select e.ename, e.job, e.sal, e.deptno
from scott.emp e,
(se
- Python调试
矮蛋蛋
pythonpdb
原文地址:
http://blog.csdn.net/xuyuefei1988/article/details/19399137
1、下面网上收罗的资料初学者应该够用了,但对比IBM的Python 代码调试技巧:
IBM:包括 pdb 模块、利用 PyDev 和 Eclipse 集成进行调试、PyCharm 以及 Debug 日志进行调试:
http://www.ibm.com/d
- webservice传递自定义对象时函数为空,以及boolean不对应的问题
alleni123
webservice
今天在客户端调用方法
NodeStatus status=iservice.getNodeStatus().
结果NodeStatus的属性都是null。
进行debug之后,发现服务器端返回的确实是有值的对象。
后来发现原来是因为在客户端,NodeStatus的setter全部被我删除了。
本来是因为逻辑上不需要在客户端使用setter, 结果改了之后竟然不能获取带属性值的
- java如何干掉指针,又如何巧妙的通过引用来操作指针————>说的就是java指针
百合不是茶
C语言的强大在于可以直接操作指针的地址,通过改变指针的地址指向来达到更改地址的目的,又是由于c语言的指针过于强大,初学者很难掌握, java的出现解决了c,c++中指针的问题 java将指针封装在底层,开发人员是不能够去操作指针的地址,但是可以通过引用来间接的操作:
定义一个指针p来指向a的地址(&是地址符号):
- Eclipse打不开,提示“An error has occurred.See the log file ***/.log”
bijian1013
eclipse
打开eclipse工作目录的\.metadata\.log文件,发现如下错误:
!ENTRY org.eclipse.osgi 4 0 2012-09-10 09:28:57.139
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContai
- spring aop实例annotation方法实现
bijian1013
javaspringAOPannotation
在spring aop实例中我们通过配置xml文件来实现AOP,这里学习使用annotation来实现,使用annotation其实就是指明具体的aspect,pointcut和advice。1.申明一个切面(用一个类来实现)在这个切面里,包括了advice和pointcut
AdviceMethods.jav
- [Velocity一]Velocity语法基础入门
bit1129
velocity
用户和开发人员参考文档
http://velocity.apache.org/engine/releases/velocity-1.7/developer-guide.html
注释
1.行级注释##
2.多行注释#* *#
变量定义
使用$开头的字符串是变量定义,例如$var1, $var2,
赋值
使用#set为变量赋值,例
- 【Kafka十一】关于Kafka的副本管理
bit1129
kafka
1. 关于request.required.acks
request.required.acks控制者Producer写请求的什么时候可以确认写成功,默认是0,
0表示即不进行确认即返回。
1表示Leader写成功即返回,此时还没有进行写数据同步到其它Follower Partition中
-1表示根据指定的最少Partition确认后才返回,这个在
Th
- lua统计nginx内部变量数据
ronin47
lua nginx 统计
server {
listen 80;
server_name photo.domain.com;
location /{set $str $uri;
content_by_lua '
local url = ngx.var.uri
local res = ngx.location.capture(
- java-11.二叉树中节点的最大距离
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class MaxLenInBinTree {
/*
a. 1
/ \
2 3
/ \ / \
4 5 6 7
max=4 pass "root"
- Netty源码学习-ReadTimeoutHandler
bylijinnan
javanetty
ReadTimeoutHandler的实现思路:
开启一个定时任务,如果在指定时间内没有接收到消息,则抛出ReadTimeoutException
这个异常的捕获,在开发中,交给跟在ReadTimeoutHandler后面的ChannelHandler,例如
private final ChannelHandler timeoutHandler =
new ReadTim
- jquery验证上传文件样式及大小(好用)
cngolon
文件上传jquery验证
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="jquery1.8/jquery-1.8.0.
- 浏览器兼容【转】
cuishikuan
css浏览器IE
浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同
问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。
碰到频率:100%
解决方案:CSS里 *{margin:0;padding:0;}
备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
daizj
shell$#$?特殊变量
前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:
$echo $$
运行结果
29949
特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个
- 程序设计KISS 原则-------KEEP IT SIMPLE, STUPID!
dcj3sjt126com
unix
翻到一本书,讲到编程一般原则是kiss:Keep It Simple, Stupid.对这个原则深有体会,其实不仅编程如此,而且系统架构也是如此。
KEEP IT SIMPLE, STUPID! 编写只做一件事情,并且要做好的程序;编写可以在一起工作的程序,编写处理文本流的程序,因为这是通用的接口。这就是UNIX哲学.所有的哲学真 正的浓缩为一个铁一样的定律,高明的工程师的神圣的“KISS 原
- android Activity间List传值
dcj3sjt126com
Activity
第一个Activity:
import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import a
- tomcat 设置java虚拟机内存
eksliang
tomcat 内存设置
转载请出自出处:http://eksliang.iteye.com/blog/2117772
http://eksliang.iteye.com/
常见的内存溢出有以下两种:
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: Java heap space
------------
- Android 数据库事务处理
gqdy365
android
使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,如果没有调用setTransactionSuccessful() 方法则回滚事务。事
- Java 打开浏览器
hw1287789687
打开网址open浏览器open browser打开url打开浏览器
使用java 语言如何打开浏览器呢?
我们先研究下在cmd窗口中,如何打开网址
使用IE 打开
D:\software\bin>cmd /c start iexplore http://hw1287789687.iteye.com/blog/2153709
使用火狐打开
D:\software\bin>cmd /c start firefox http://hw1287789
- ReplaceGoogleCDN:将 Google CDN 替换为国内的 Chrome 插件
justjavac
chromeGooglegoogle apichrome插件
Chrome Web Store 安装地址: https://chrome.google.com/webstore/detail/replace-google-cdn/kpampjmfiopfpkkepbllemkibefkiice
由于众所周知的原因,只需替换一个域名就可以继续使用Google提供的前端公共库了。 同样,通过script标记引用这些资源,让网站访问速度瞬间提速吧
- 进程VS.线程
m635674608
线程
资料来源:
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001397567993007df355a3394da48f0bf14960f0c78753f000 1、Apache最早就是采用多进程模式 2、IIS服务器默认采用多线程模式 3、多进程优缺点 优点:
多进程模式最大
- Linux下安装MemCached
字符串
memcached
前提准备:1. MemCached目前最新版本为:1.4.22,可以从官网下载到。2. MemCached依赖libevent,因此在安装MemCached之前需要先安装libevent。2.1 运行下面命令,查看系统是否已安装libevent。[root@SecurityCheck ~]# rpm -qa|grep libevent libevent-headers-1.4.13-4.el6.n
- java设计模式之--jdk动态代理(实现aop编程)
Supanccy2013
javaDAO设计模式AOP
与静态代理类对照的是动态代理类,动态代理类的字节码在程序运行时由Java反射机制动态生成,无需程序员手工编写它的源代码。动态代理类不仅简化了编程工作,而且提高了软件系统的可扩展性,因为Java 反射机制可以生成任意类型的动态代理类。java.lang.reflect 包中的Proxy类和InvocationHandler 接口提供了生成动态代理类的能力。
&
- Spring 4.2新特性-对java8默认方法(default method)定义Bean的支持
wiselyman
spring 4
2.1 默认方法(default method)
java8引入了一个default medthod;
用来扩展已有的接口,在对已有接口的使用不产生任何影响的情况下,添加扩展
使用default关键字
Spring 4.2支持加载在默认方法里声明的bean
2.2
将要被声明成bean的类
public class DemoService {