From OpenSCADAWiki
Jump to: navigation, search

Enter a message name below to show all available translations.

Message

Found 2 translations.

NameCurrent message text
 h English (en){{CntHdr|{{Anch|BuildD12Qt6SSL3|CONCEPTUAL > Unification the building with adaption to Debian 12, Qt6, QtWebEngine, QtMultimediaEngine, OpenSSL3, MIPS}} }}
* FIX: Finished in true building with the core library only in static:
** configure.ac: the configuration option {{InLineCode|<nowiki>--enable-CoreLibStatic</nowiki>}} expanded for definition the AM_CONDITIONAL(CoreLibStatic) and the environment variable LIB_MOD;
** moduls/*/*/Makefile.am: appended by the option --tag=disable-shared and expanded by using the environment variable LIB_MOD;
** src_call/Makefile.am: expanded by the AM_CONDITIONAL(CoreLibStatic) specific processing for static linking the core library with all included modules.
* configure.ac,acinclude.m4: Cleaned from the deprecated macroses in AutoConf 2.70:
** AC_HELP_STRING renamed to AS_HELP_STRING;
** AM_CONFIG_HEADER renamed to AC_CONFIG_HEADER;
** AC_LIBTOOL_DLOPEN replaced by LT_INIT([dlopen]);
** AX_PTHREAD replaced by AC_SEARCH_LIBS(pthread, [pthread_create])
** commented for AC_PROG_LIBTOOL, AM_PROG_LIBTOOL, AC_HEADER_STDC, AC_HEADER_TIME, AC_TYPE_SIGNAL, AC_ISC_POSIX.
* acinclude.m4,DAQ.OPC_UA.libOPC_UA,Transport.SSL,Special.FLibSYS: Cleaned from deprecated functions in OpenSSL 1.1 (API 3.0):
** acinclude.m4: testing function of the macro AX_LIB_OpenSSL() and AX_LIB_OpenSSL_opt() for libcrypto replaced from MD5_Init() to BIO_new(); testing function of the macro AX_LIB_OpenSSL() for libssl replaced from SSL_free() to SSL_new();
** OPC_UA.libOPC_UA: UA::symmetricEncrypt() and UA::symmetricDecrypt() merged to UA::symmetricCrypt() and switched for using EVP_CipherInit() and EVP_CipherUpdate() instead AES_cbc_encrypt() for new versions;
*** using RSA_public_encrypt() moved to EVP_PKEY_encrypt() and RSA_private_decrypt() moved to EVP_PKEY_decrypt() for new versions.
** Transport.SSL,Special.FLibSYS: using of MD5() moved to EVP_DigestInit_ex(), EVP_DigestUpdate(), EVP_DigestFinal_ex() for new versions.
* configure.ac: In appending Qt6 that is appended by Qt6Sensors, Qt6WebEngineWidgets, Qt6MultimediaWidgets.
** Appended by checking Qt5WebEngineWidgets and Qt5MultimediaWidgets for support in UI.Vision.
** Appended by checking the declarations-functions clock_nanosleep, pthread_rwlock_timedwrlock, newlocale for very pure environments of MIPS with UCLibC.
** The parameters {{InLineCode|<nowiki>--disable-WebKit</nowiki>}} and {{InLineCode|<nowiki>--disable-Phonon</nowiki>}} renamed to {{InLineCode|<nowiki>--disable-QtWebEngine</nowiki>}} and {{InLineCode|<nowiki>--disable-QtMultimediaEngine</nowiki>}} respectively.
** The generic variables QtWebKit_{CFLAGS,LIBS} and phonon_{CFLAGS,LIBS} renamed to QtWebEngine_{CFLAGS,LIBS} and QtMultimediaEngine_{CFLAGS,LIBS} respectively.
** Most of the corresponding messages were improved.
** Appended by checking the header pthread.h.
* acinclude.m4: The AutoConf macro AX_LIB_Qt expanded by Qt6 support and improved in MOC and RCC detection for Qt5.
** Some messages improved.
* data/{debian,debian_mod}/compat: The level was risen up to 7 for default building at modern Debian distributives.
* data/{debian,debian_mod}/control: Appended by the dependency variants qt6-base-dev, qt6-webengine-dev, qt6-multimedia-dev and qtwebengine5-dev, qtmultimedia5-dev. Appended by the dependency variant libsensors-dev to libsensors4-dev.
* ResRW::{resRequestW,resRequestR}(): Appended of using the timed version at the definition HAVE_DECL_PTHREAD_RWLOCK_TIMEDWRLOCK.
* TSYS::atime2str(),SYS.strftime(): Appended of using the localized data at the definition HAVE_DECL_NEWLOCALE.
* TSYS::{sysSleep,taskSleep}(): Appended of using the clocked sleep at the definition HAVE_DECL_CLOCK_NANOSLEEP.
* Control Interface of the main page appended by hiding the tab "Translations" and the language fields at missing the internationalisation in whole.
* TMess,TModule: The HAVE_LIBINTL_H checking replaced by "#if HAVE_LIBINTL_H", that is checking for 1.
* Transports.SSL: Adapted to new functions of OpenSSL 1.1 (API 3.0) with treating deprecated ones.
* UI.{QTStarter,QTCfg,Vision}: Adapting for building with Qt6, including adapting to Qt6WebEngine and Qt6Multimedia:
** QLayout::{setMargin,margin}() replaced by QLayout::{setContentsMargins,getContentsMargins}();
** QVariant(char*) replaced by QVariant(QString);
** the QMouseEvent constructor replaced by one with the global position;
** QRegExp replaced by the OpenSCADA's variant TRegExp for functions of replacing and testing or by the direct checking;
** the QComboBox signal activated(const QString&), currentIndexChanged(const QString&) replaced by activated(int), currentIndexChanged(int) respectively;
** the QSignalMapper signal mapped(QWidget*) replaced by mappedObject(QObject*);
** QPalette::Background replaced by QPalette::Window and Qt::MidButton by Qt::MiddleButton;
** QFileDialog::setReadOnly() replaced by setOption();
** QApplication::desktop() replaced by QScreen;
** QAction::parentWidget() replaced by parent();
** QVariant::type() renamed to typeId(), QMouseEvent::{pos,globalPos}() renamed to {position,globalPosition}(), QDateTime::{setTime_t,fromTime_t,toTime_t}() renamed to {setSecsSinceEpoch,fromSecsSinceEpoch,toSecsSinceEpoch}();
** appended by renaming functions for different Qt versions with help the macro-definitions in different files and for: typeId() to type(), position() to pos(), globalPosition() to globalPos(), setSecsSinceEpoch() to setTime_t(), fromSecsSinceEpoch() to fromTime_t(), toSecsSinceEpoch() to toTime_t(), mappedObject() to mapped(), setSource() to setMedia(), setVolume() to audioOutput()->setVolume(), setMedia() to setSource(), state() to playbackState();
** appended for support QRegularExpression instead QRegExp in Qt6;
** the QMouseEvent property mouseBtHold splitted on two QPointF: mouseBtHoldPos, mouseBtHoldPosG;
** the keyboard combination separator "+" replaced by "|", that is "Qt::SHIFT|Qt::Key_F1";
** the event QEvent::KeyRelease in LineEdit apply replaced by QEvent::KeyPress;
** QTStarter: the generic library lib_qtgen appended by the function winFit() of specific windows fitting on mobile systems in common; appended by the attribute Qt::AA_ShareOpenGLContexts before the Qt application object for QtWebEngine work on Qt6;
** Vision: adaption to Qt WebEngineWidgets instead WebKit and to Qt MultimediaWidgets instead Phonon, and the primitive Document split for force using QTextBrowser in the development mode. Restored in new action items of the library widgets appearance by placing the new actions to Menu before ToolBar.
 h Ukrainian (uk){{CntHdr|{{Anch|BuildD12Qt6SSL3|袣袨袧笑袝袩孝校袗袥鞋袧袝 > 校薪褨褎褨泻邪褑褨褟 褋泻谢邪写邪薪薪褟 褨蟹 邪写邪锌褌邪褑褨褦褞 写芯 Debian 12, Qt6, QtWebEngine, QtMultimediaEngine, OpenSSL3, MIPS}} }}
* FIX: 袟邪胁械褉褕械薪芯 锌褉邪胁懈谢褜薪械 褋泻谢邪写邪薪薪褟 褨蟹 斜褨斜谢褨芯褌械泻芯褞 褟写褉邪 谢懈褕械 褋褌邪褌懈褔薪芯:
** configure.ac: 泻芯薪褎褨谐褍褉邪褑褨泄薪懈泄 锌邪褉邪屑械褌褉 {{InLineCode|<nowiki>--enable-CoreLibStatic</nowiki>}} 褉芯蟹褕懈褉械薪芯 胁懈蟹薪邪褔械薪薪褟屑 AM_CONDITIONAL(CoreLibStatic) 褨 蟹屑褨薪薪芯褞 芯褌芯褔械薪薪褟 LIB_MOD;
** moduls/*/*/Makefile.am: 写芯锌芯胁薪械薪芯 锌邪褉邪屑械褌褉芯屑 {{InLineCode|<nowiki>--tag=disable-shared</nowiki>}} 褨 褉芯蟹褕懈褉械薪芯 胁懈泻芯褉懈褋褌邪薪薪褟屑 蟹屑褨薪薪芯褩 芯褌芯褔械薪薪褟 LIB_MOD;
** src_call/Makefile.am: 褉芯蟹褕懈褉械薪芯 褋锌械褑懈褎褨褔薪芯褞 芯斜褉芯斜泻芯褞 AM_CONDITIONAL(CoreLibStatic) 写谢褟 褋褌邪褌懈褔薪芯谐芯 蟹胁'褟蟹褍胁邪薪薪褟 斜褨斜谢褨芯褌械泻懈 褟写褉邪 褨蟹 褍褋褨屑邪 胁泻谢褞褔械薪懈屑懈 屑芯写褍谢褟屑懈.
* configure.ac,acinclude.m4: 袨褔懈褖械薪芯 胁褨写 蟹邪褋褌邪褉褨谢懈褏 屑邪泻褉芯褋褨胁 褍 AutoConf 2.70:
** AC_HELP_STRING 锌械褉械泄屑械薪芯胁邪薪芯 褍 AS_HELP_STRING;
** AM_CONFIG_HEADER 锌械褉械泄屑械薪芯胁邪薪芯 褍 AC_CONFIG_HEADER;
** AC_LIBTOOL_DLOPEN 蟹邪屑褨薪械薪芯 薪邪 LT_INIT([dlopen]);
** AX_PTHREAD 蟹邪屑褨薪械薪芯 薪邪 AC_SEARCH_LIBS(pthread, [pthread_create])
** 蟹邪泻芯屑械薪褌芯胁邪薪芯 AC_PROG_LIBTOOL, AM_PROG_LIBTOOL, AC_HEADER_STDC, AC_HEADER_TIME, AC_TYPE_SIGNAL, AC_ISC_POSIX.
* acinclude.m4,DAQ.OPC_UA.libOPC_UA,Transport.SSL,Special.FLibSYS: 袨褔懈褖械薪芯 胁褨写 蟹邪褋褌邪褉褨谢懈褏 褎褍薪泻褑褨泄 褍 OpenSSL 1.1 (API 3.0):
** acinclude.m4: 褎褍薪泻褑褨褩 褌械褋褌褍胁邪薪薪褟 屑邪泻褉芯褋褍 AX_LIB_OpenSSL() 褨 AX_LIB_OpenSSL_opt() 薪邪 libcrypto 蟹邪屑褨薪械薪芯 褨蟹 MD5_Init() 褍 BIO_new(); 褎褍薪泻褑褨褩 褌械褋褌褍胁邪薪薪褟 屑邪泻褉芯褋褍 AX_LIB_OpenSSL() 薪邪 libssl 蟹邪屑褨薪械薪芯 褨蟹 SSL_free() 褍 SSL_new();
** OPC_UA.libOPC_UA: UA::symmetricEncrypt() 褨 UA::symmetricDecrypt() 锌芯褦写薪邪薪芯 褍 UA::symmetricCrypt() 褨 锌械褉械泻谢褞褔械薪芯 薪邪 胁懈泻芯褉懈褋褌邪薪薪褟 EVP_CipherInit() 褨 EVP_CipherUpdate() 蟹邪屑褨褋褌褜 AES_cbc_encrypt() 写谢褟 薪芯胁懈褏 胁械褉褋褨泄;
*** 胁懈泻芯褉懈褋褌邪薪薪褟 RSA_public_encrypt() 锌械褉械胁械写械薪芯 薪邪 EVP_PKEY_encrypt() 褨 RSA_private_decrypt() 锌械褉械胁械写械薪芯 薪邪 EVP_PKEY_decrypt() 写谢褟 薪芯胁懈褏 胁械褉褋褨泄.
** Transport.SSL,Special.FLibSYS: 胁懈泻芯褉懈褋褌邪薪薪褟 MD5() 锌械褉械胁械写械薪芯 薪邪 EVP_DigestInit_ex(), EVP_DigestUpdate(), EVP_DigestFinal_ex() 写谢褟 薪芯胁懈褏 胁械褉褋褨泄.
* configure.ac: 袩褉懈 写芯写邪薪褨 Qt6 泄芯谐芯 写芯锌芯胁薪械薪芯 褖芯写芯 Qt6Sensors, Qt6WebEngineWidgets, Qt6MultimediaWidgets.
** 袛芯锌芯胁薪械薪芯 锌械褉械胁褨褉泻芯褞 Qt5WebEngineWidgets 褨 Qt5MultimediaWidgets 写谢褟 锌褨写褌褉懈屑泻懈 褍 UI.Vision.
** 袛芯锌芯胁薪械薪芯 锌械褉械胁褨褉泻芯褞 写械泻谢邪褉邪褑褨泄-褎褍薪泻褑褨泄 clock_nanosleep, pthread_rwlock_timedwrlock, newlocale 写谢褟 写褍卸械 锌褉芯褋褌懈褏 芯褌芯褔械薪褜 MIPS 褨蟹 UCLibC.
** 袩邪褉邪屑械褌褉懈 {{InLineCode|<nowiki>--disable-WebKit</nowiki>}} 褨 {{InLineCode|<nowiki>--disable-Phonon</nowiki>}} 锌械褉械泄屑械薪芯胁邪薪芯 褍 {{InLineCode|<nowiki>--disable-QtWebEngine</nowiki>}} 褨 {{InLineCode|<nowiki>--disable-QtMultimediaEngine</nowiki>}} 胁褨写锌芯胁褨写薪芯.
** 袟邪谐邪谢褜薪褨 蟹屑褨薪懈 QtWebKit_{CFLAGS,LIBS} 褨 phonon_{CFLAGS,LIBS} 锌械褉械泄屑械薪芯胁邪薪芯 褍 QtWebEngine_{CFLAGS,LIBS} 褨 QtMultimediaEngine_{CFLAGS,LIBS} 胁褨写锌芯胁褨写薪芯.
** 袩芯泻褉邪褖械薪芯 斜褨谢褜褕褨褋褌褜 胁褨写锌芯胁褨写薪懈褏 锌芯胁褨写芯屑谢械薪褜.
** 袛芯锌芯胁薪械薪芯 锌械褉械胁褨褉泻芯褞 蟹邪谐芯谢芯胁泻褍 pthread.h.
* acinclude.m4: AutoConf 屑邪泻褉芯褋 AX_LIB_Qt 褉芯蟹褕懈褉械薪芯 锌褨写褌褉懈屑泻芯褞 Qt6 褌邪 胁写芯褋泻芯薪邪谢械薪芯 胁懈褟胁谢械薪薪褟 MOC 褨 RCC 写谢褟 Qt5.
** 袩芯泻褉邪褖械薪芯 写械褟泻褨 锌芯胁褨写芯屑谢械薪薪褟.
* data/{debian,debian_mod}/compat: 袪褨胁械薪褜 蟹斜褨谢褜褕械薪芯 写芯 7 写谢褟 褋泻谢邪写邪薪薪褟 薪邪 褋褍褔邪褋薪懈泄 写懈褋褌褉懈斜褍褌懈胁邪褏 Debian 锌芯 蟹邪屑芯胁褔械薪薪褞.
* data/{debian,debian_mod}/control: 袛芯锌芯胁薪械薪芯 胁邪褉褨邪薪褌邪屑懈 蟹邪谢械卸薪芯褋褌械泄 qt6-base-dev, qt6-webengine-dev, qt6-multimedia-dev 褨 qtwebengine5-dev, qtmultimedia5-dev. 袛芯锌芯胁薪械薪芯 胁邪褉褨邪薪褌芯屑 蟹邪谢械卸薪芯褋褌褨 libsensors-dev 写芯 libsensors4-dev.
* ResRW::{resRequestW,resRequestR}(): 袛芯锌芯胁薪械薪芯 胁懈泻芯褉懈褋褌邪薪薪褟屑 胁械褉褋褨褩 蟹邪 褔邪褋芯屑 褨蟹 胁懈蟹薪邪褔械薪薪褟屑 HAVE_DECL_PTHREAD_RWLOCK_TIMEDWRLOCK.
* TSYS::atime2str(),SYS.strftime(): 袛芯锌芯胁薪械薪芯 胁懈泻芯褉懈褋褌邪薪薪褟屑 谢芯泻邪谢褨蟹芯胁邪薪芯褩 写邪褌懈 褨蟹 胁懈蟹薪邪褔械薪薪褟屑 HAVE_DECL_NEWLOCALE.
* TSYS::{sysSleep,taskSleep}(): 袛芯锌芯胁薪械薪芯 胁懈泻芯褉懈褋褌邪薪薪褟屑 褋薪褍 蟹邪 谐芯写懈薪薪懈泻芯屑 锌褉懈 胁懈蟹薪邪褔械薪褨 HAVE_DECL_CLOCK_NANOSLEEP.
* 袉薪褌械褉褎械泄褋 袣芯薪褌褉芯谢褞 芯褋薪芯胁薪芯褩 褋褌芯褉褨薪泻懈 写芯锌芯胁薪械薪芯 锌褉懈褏芯胁邪薪薪褟屑 胁泻谢邪写泻懈 "袩械褉械泻谢邪写懈" 褨 锌芯谢褨胁 屑芯胁懈 蟹邪 胁褨写褋褍褌薪芯褋褌褨 斜邪谐邪褌芯薪邪褑褨芯薪邪谢褜薪芯褋褌褨 胁蟹邪谐邪谢褨.
* TMess,TModule: 袩械褉械胁褨褉泻褍 HAVE_LIBINTL_H 蟹邪屑褨薪械薪芯 薪邪 "#if HAVE_LIBINTL_H", 褌芯斜褌芯 锌械褉械胁褨褉泻芯褞 薪邪 1.
* Transports.SSL: 袗写邪锌褌芯胁邪薪芯 写芯 薪芯胁懈褏 褎褍薪泻褑褨泄 OpenSSL 1.1 (API 3.0) 蟹 锌芯胁芯写卸械薪薪褟屑 褨蟹 蟹邪褋褌邪褉褨谢懈屑懈.
* UI.{QTStarter,QTCfg,Vision}: 袗写邪锌褌邪褑褨褟 写芯 褋泻谢邪写邪薪薪褟 褨蟹 Qt6, 胁泻谢褞褔薪芯 褨蟹 邪写邪锌褌邪褑褨褦褞 写芯 Qt6WebEngine 褨 Qt6Multimedia:
** QLayout::{setMargin,margin}() 蟹邪屑褨薪械薪芯 薪邪 QLayout::{setContentsMargins,getContentsMargins}();
** QVariant(char*) 蟹邪屑褨薪械薪芯 薪邪 QVariant(QString);
** 泻芯薪褋褌褉褍泻褌芯褉 QMouseEvent 蟹邪屑褨薪械薪芯 胁褨写锌芯胁褨写薪芯褞 褨蟹 谐谢芯斜邪谢褜薪芯褞 锌芯蟹懈褑褨褦褞;
** QRegExp 蟹邪屑褨薪械薪芯 薪邪 TRegExp 胁邪褉褨邪薪褌芯屑 OpenSCADA 写谢褟 褎褍薪泻褑褨泄 蟹邪屑褨薪懈 褨 褌械褋褌褍胁邪薪薪褟 邪斜芯 锌褉褟屑芯褩 锌械褉械胁褨褉泻懈;
** QComboBox 褋懈谐薪邪谢 activated(const QString&), currentIndexChanged(const QString&) 蟹邪屑褨薪械薪芯 薪邪 activated(int), currentIndexChanged(int) 胁褨写锌芯胁褨写薪芯;
** QSignalMapper 褋懈谐薪邪谢 mapped(QWidget*) 蟹邪屑褨薪械薪芯 薪邪 mappedObject(QObject*);
** QPalette::Background 蟹邪屑褨薪械薪芯 薪邪 QPalette::Window 褌邪 Qt::MidButton 薪邪 Qt::MiddleButton;
** QFileDialog::setReadOnly() 蟹邪屑褨薪械薪芯 薪邪 setOption();
** QApplication::desktop() 蟹邪屑褨薪械薪芯 薪邪 QScreen;
** QAction::parentWidget() 蟹邪屑褨薪械薪芯 薪邪 parent();
** QVariant::type() 锌械褉械泄屑械薪芯胁邪薪芯 褍 typeId(), QMouseEvent::{pos,globalPos}() 锌械褉械泄屑械薪芯胁邪薪芯 褍 {position,globalPosition}(), QDateTime::{setTime_t,fromTime_t,toTime_t}() 锌械褉械泄屑械薪芯胁邪薪芯 褍 {setSecsSinceEpoch,fromSecsSinceEpoch,toSecsSinceEpoch}();
** 写芯锌芯胁薪械薪芯 锌械褉械泄屑械薪褍胁邪薪薪褟屑 褎褍薪泻褑褨泄 写谢褟 褉褨蟹薪懈褏 胁械褉褋褨泄 Qt 蟹邪 写芯锌芯屑芯谐芯褞 屑邪泻褉芯-胁懈蟹薪邪褔械薪褜 褍 褉褨蟹薪懈褏 褎邪泄谢邪褏 褖芯写芯: typeId() 褍 type(), position() 褍 pos(), globalPosition() 褍 globalPos(), setSecsSinceEpoch() 褍 setTime_t(), fromSecsSinceEpoch() 褍 fromTime_t(), toSecsSinceEpoch() 褍 toTime_t(), mappedObject() 褍 mapped(), setSource() 褍 setMedia(), setVolume() 褍 audioOutput()->setVolume(), setMedia() 褍 setSource(), state() 褍 playbackState();
** 写芯锌芯胁薪械薪芯 锌褨写褌褉懈屑泻芯褞 QRegularExpression 蟹邪屑褨褋褌褜 QRegExp 褍 Qt6;
** QMouseEvent 胁谢邪褋褌懈胁褨褋褌褜 mouseBtHold 褉芯蟹写褨谢械薪芯 薪邪 写胁褨 QPointF: mouseBtHoldPos, mouseBtHoldPosG;
** 褉芯蟹写褨谢褞胁邪褔 泻芯屑斜褨薪邪褑褨泄 泻谢邪胁褨褕 "+" 蟹邪屑褨薪械薪芯 "|", 褌芯斜褌芯 "Qt::SHIFT|Qt::Key_F1";
** 锌芯写褨褟 QEvent::KeyRelease 褍 蟹邪褋褌芯褋褍胁邪薪薪褨 LineEdit 蟹邪屑褨薪械薪芯 薪邪 QEvent::KeyPress;
** QTStarter: 蟹邪谐邪谢褜薪褍 斜褨斜谢褨芯褌械泻褍 lib_qtgen 写芯锌芯胁薪械薪芯 褎褍薪泻褑褨褦褞 winFit() 蟹邪谐邪谢褜薪芯谐芯 锌褨写谢邪褕褌褍胁邪薪薪褟 褋锌械褑懈褎褨褔薪懈褏 胁褨泻芯薪 屑芯斜褨谢褜薪懈褏 褋懈褋褌械屑; 写芯锌芯胁薪械薪芯 邪褌褉懈斜褍褌芯屑 Qt::AA_ShareOpenGLContexts 锌械褉械写 芯斜'褦泻褌芯屑 写芯写邪褌泻褍 Qt 写谢褟 褎褍薪泻褑褨褞胁邪薪薪褟 QtWebEngine 薪邪 Qt6;
** Vision: 邪写邪锌褌邪褑褨褟 写芯 Qt WebEngineWidgets 蟹邪屑褨褋褌褜 WebKit 褌邪 写芯 Qt MultimediaWidgets 蟹邪屑褨褋褌褜 Phonon, 褨 锌褉懈屑褨褌懈胁 袛芯泻褍屑械薪褌 褉芯蟹写褨谢械薪芯 蟹邪写谢褟 锌褉懈屑褍褋芯胁芯谐芯 胁懈泻芯褉懈褋褌邪薪薪褟 QTextBrowser 褍 褉械卸懈屑褨 褉芯蟹褉芯斜泻懈. 袙褨写薪芯胁谢械薪芯 锌芯褟胁褍 薪芯胁懈褏 械谢械屑械薪褌褨胁 写褨泄 胁褨写卸械褌褨胁 斜褨斜谢褨芯褌械泻 褕谢褟褏芯屑 褉芯蟹褌邪褕褍胁邪薪薪褟 薪芯胁懈褏 写褨泄 褍 袦械薪褞 锌械褉械写 袩邪薪械谢谢褞 袉薪褋褌褉褍屑械薪褌褨胁.